Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Jennifer E DarakjyCanadaIvan Magalhaes QUALIFIED
Aika F RulapaughFranceBernardo Dominic UNQUALIFIED
James C NickaUnited KingdomIoni Bowcher RENEWAL
Cody Q MaletGermanyXuxue Feng QUALIFIED
Emily M IturbideCanadaBernardo Dominic UNQUALIFIED
Wickens Y MaletCanadaOnyama Limba NEW
Aruna P WieserItalyStephen Shaw UNQUALIFIED
Darci X PerinFranceXuxue Feng PROPOSAL
Greenwood V BriddickAustraliaXuxue Feng RENEWAL
James S PaprockiFranceIoni Bowcher NEW
Emily C InouyeCanadaAsiya Javayant PROPOSAL
Rodrigues W WieserCanadaAnna Fali UNQUALIFIED
Misaki L StockhamItalyXuxue Feng PROPOSAL
Kadeem H NickaGermanyIoni Bowcher UNQUALIFIED
Izzy N MarrierJapanXuxue Feng NEW
Aditya A StensethItalyIvan Magalhaes NEW
Maisha L RimArgentinaAmy Elsner PROPOSAL
Cody N MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Faith P StensethArgentinaStephen Shaw NEW
Francesco K SergiRussiaStephen Shaw PROPOSAL
Smith M IturbideRussiaIvan Magalhaes RENEWAL
Juan Q KuskoBrazilIvan Magalhaes NEGOTIATION
Alejandro I GauchoUnited KingdomAnna Fali QUALIFIED
Tony G MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Chavez Z PoquetteItalyXuxue Feng NEW
Jefferson E DarakjyAustraliaAsiya Javayant UNQUALIFIED
Misaki A KolmetzItalyAsiya Javayant PROPOSAL
Salvatore I WhobreyRussiaIvan Magalhaes RENEWAL
Antonio U MorascaBrazilIvan Magalhaes RENEWAL
Leon O FigeroaGermanyAnna Fali NEW
Francesco W VenereSpainIvan Magalhaes PROPOSAL
Deepesh T DarakjyIndiaIoni Bowcher QUALIFIED
Sinclair K SlusarskiAustraliaStephen Shaw UNQUALIFIED
Ricardo N AmigonJapanBernardo Dominic PROPOSAL
Darci K DarakjyJapanBernardo Dominic UNQUALIFIED
Mayumi W KuskoGermanyIvan Magalhaes QUALIFIED
Silvio B MaletJapanAmy Elsner NEW
Stacey A SergiSpainIvan Magalhaes RENEWAL
Mayumi C SaylorsArgentinaOnyama Limba RENEWAL
Aruna V StensethUnited KingdomAsiya Javayant NEW
Octavia U DilliardUnited KingdomStephen Shaw NEW
Wickens E WieserUnited KingdomAmy Elsner QUALIFIED
Maisha B StockhamGermanyElwin Sharvill RENEWAL
Francesco V MaletItalyIoni Bowcher NEW
Adams C VenereIndiaStephen Shaw UNQUALIFIED
Ashley Y StockhamJapanAmy Elsner RENEWAL
David Z GillianItalyBernardo Dominic NEW
Greenwood S IturbideBrazilAsiya Javayant PROPOSAL
Mujtaba Y MaletJapanOnyama Limba NEW
Murillo U CaldareraSpainAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Clifford C DilliardRussiaXuxue Feng PROPOSAL
Smith P SergiItalyAsiya Javayant QUALIFIED
Johnson K OldroydGermanyIvan Magalhaes RENEWAL
Ashley G FerenczUnited KingdomIoni Bowcher NEGOTIATION
Leon W GlickIndiaXuxue Feng NEGOTIATION
David R CaldareraIndiaIvan Magalhaes NEGOTIATION
Arvin O DilliardFranceBernardo Dominic UNQUALIFIED
Isabel G BriddickRussiaAsiya Javayant QUALIFIED
Aika Y OldroydCanadaOnyama Limba UNQUALIFIED
Ashley A GarufiBrazilAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily Q ShinkoSpain2024-05-31Chapman, Ross E Esq NEW30Stephen Shaw
1001Izzy E SergiCanada2024-05-29Benton, John B Jr NEGOTIATION46Onyama Limba
1002Munro Y FlosiFrance2024-06-10Feltz Printing Service RENEWAL55Elwin Sharvill
1003Faith K KuskoFrance2024-06-12Feltz Printing Service QUALIFIED12Asiya Javayant
1004Julie V SlusarskiBrazil2024-05-31Dorl, James J Esq NEGOTIATION80Elwin Sharvill
1005Jones R TollnerUnited Kingdom2024-06-14Morlong Associates PROPOSAL34Elwin Sharvill
1006Antonio R SaylorsIndia2024-06-09Truhlar And Truhlar Attys NEGOTIATION40Ivan Magalhaes
1007Costa D KolmetzUnited Kingdom2024-06-17Chapman, Ross E Esq UNQUALIFIED8Stephen Shaw
1008Stacey B IturbideGermany2024-06-20Morlong Associates NEGOTIATION26Asiya Javayant
1009Aika J DoeBrazil2024-06-14Morlong Associates PROPOSAL19Ivan Magalhaes
1010Munro J KolmetzAustralia2024-06-02Commercial Press PROPOSAL42Bernardo Dominic
1011Ashley K RulapaughFrance2024-06-19Buckley Miller Wright RENEWAL69Ivan Magalhaes
1012Tony N CaldareraItaly2024-06-13Chapman, Ross E Esq UNQUALIFIED63Anna Fali
1013James E GlickAustralia2024-06-08Rangoni Of Florence UNQUALIFIED79Amy Elsner
1014Kadeem Y DarakjyUnited Kingdom2024-05-29Feltz Printing Service RENEWAL90Ivan Magalhaes
1015Morrow G PoquetteFrance2024-06-15Truhlar And Truhlar Attys UNQUALIFIED46Amy Elsner
1016Tony J SergiFrance2024-06-18Rousseaux, Michael Esq PROPOSAL8Ivan Magalhaes
1017Kadeem Z BriddickSpain2024-06-04Buckley Miller Wright PROPOSAL89Stephen Shaw
1018Antonio C RoysterBrazil2024-06-13Rangoni Of Florence PROPOSAL68Anna Fali
1019Aditya K VenereJapan2024-06-06Commercial Press QUALIFIED13Ioni Bowcher
1020Alejandro N FigeroaSpain2024-06-19Truhlar And Truhlar Attys RENEWAL83Bernardo Dominic
1021Maisha S ButtCanada2024-06-06Chemel, James L Cpa NEW98Stephen Shaw
1022Darci D OldroydUnited Kingdom2024-06-23Dorl, James J Esq UNQUALIFIED65Elwin Sharvill
1023Rodrigues M WaycottUnited Kingdom2024-06-15Printing Dimensions QUALIFIED47Xuxue Feng
1024Greenwood C BowleyAustralia2024-06-20Feiner Bros NEW93Asiya Javayant
1025Izzy W InouyeGermany2024-06-18Buckley Miller Wright UNQUALIFIED72Anna Fali
1026Arvin A BologniaItaly2024-05-28Commercial Press QUALIFIED84Bernardo Dominic
1027Isabel Y KolmetzSpain2024-05-29Truhlar And Truhlar Attys QUALIFIED15Elwin Sharvill
1028Antonio N CampainCanada2024-06-07Truhlar And Truhlar Attys PROPOSAL97Ivan Magalhaes
1029Arvin F AlbaresFrance2024-06-09Morlong Associates NEGOTIATION81Bernardo Dominic
1030Izzy I SaylorsIndia2024-06-10Dorl, James J Esq PROPOSAL41Anna Fali
1031Leon J SlusarskiBrazil2024-06-02King, Christopher A Esq UNQUALIFIED4Stephen Shaw
1032Morrow L FlosiCanada2024-06-02Chapman, Ross E Esq NEW70Asiya Javayant
1033Maisha J KolmetzBrazil2024-06-23Commercial Press NEW57Ivan Magalhaes
1034Faith B AmigonFrance2024-06-22Truhlar And Truhlar Attys RENEWAL32Asiya Javayant
1035Emily H StensethJapan2024-05-28Dorl, James J Esq QUALIFIED91Xuxue Feng
1036Stacey L RoysterUnited Kingdom2024-06-07Chapman, Ross E Esq QUALIFIED40Ioni Bowcher
1037Jeanfrancois R WieserUnited Kingdom2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED39Onyama Limba
1038Antonio N WhobreyJapan2024-06-11Dorl, James J Esq NEGOTIATION80Xuxue Feng
1039Octavia Q GarufiItaly2024-05-28Rangoni Of Florence PROPOSAL69Onyama Limba
1040James G GauchoRussia2024-06-17Rousseaux, Michael Esq RENEWAL79Asiya Javayant
1041Aika B ChuiAustralia2024-06-08Truhlar And Truhlar Attys RENEWAL52Xuxue Feng
1042Nicolas I PerinBrazil2024-06-11Dorl, James J Esq NEW37Elwin Sharvill
1043David S MorascaRussia2024-06-19Chemel, James L Cpa RENEWAL93Xuxue Feng
1044Antonio C NestleItaly2024-06-18Benton, John B Jr NEGOTIATION29Ioni Bowcher
1045Antonio S MarrierIndia2024-06-01Rangoni Of Florence NEW83Elwin Sharvill
1046Johnson R PaprockiUnited Kingdom2024-05-29Rousseaux, Michael Esq QUALIFIED74Asiya Javayant
1047Julie N DoeRussia2024-06-21Chemel, James L Cpa NEW83Amy Elsner
1048Mayumi J FigeroaFrance2024-06-10King, Christopher A Esq QUALIFIED53Ivan Magalhaes
1049Kadeem F BowleyIndia2024-06-04Rangoni Of Florence RENEWAL67Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mayumi I CaudyRussiaBernardo Dominic QUALIFIED
Murillo W MaletGermanyBernardo Dominic NEW
Murillo Z InouyeAustraliaAnna Fali NEW
Smith N KolmetzGermanyOnyama Limba QUALIFIED
Leja K ShinkoRussiaXuxue Feng RENEWAL
Clifford T WhobreyBrazilIvan Magalhaes PROPOSAL
Chavez E ButtUnited KingdomStephen Shaw NEGOTIATION
Ivar L FlosiFranceIoni Bowcher PROPOSAL
Mayumi F RimRussiaStephen Shaw NEGOTIATION
Sinclair Z AmigonSpainBernardo Dominic PROPOSAL
Aruna K OstroskyBrazilElwin Sharvill QUALIFIED
Jeanfrancois R MorascaSpainAmy Elsner RENEWAL
Wickens Z KuskoAustraliaBernardo Dominic NEW
Mayumi M ChuiBrazilXuxue Feng QUALIFIED
Munro V RulapaughCanadaAmy Elsner QUALIFIED
Jeanfrancois S TollnerCanadaIoni Bowcher PROPOSAL
Costa G StensethIndiaAsiya Javayant UNQUALIFIED
Leja H PerinGermanyIoni Bowcher NEW
Leon Q WhobreyIndiaOnyama Limba NEW
Smith W WieserUnited KingdomBernardo Dominic PROPOSAL
Wickens X WhobreyBrazilIvan Magalhaes PROPOSAL
Izzy B PerinUnited KingdomBernardo Dominic NEGOTIATION
Maisha P NestleCanadaAmy Elsner PROPOSAL
Adams B NestleBrazilBernardo Dominic RENEWAL
Jeanfrancois W TollnerJapanBernardo Dominic RENEWAL
James M NestleJapanIvan Magalhaes PROPOSAL
Leja C PoquetteBrazilElwin Sharvill PROPOSAL
Deepesh M RulapaughFranceBernardo Dominic UNQUALIFIED
Julie Z DilliardGermanyBernardo Dominic NEGOTIATION
Jeanfrancois F FollerSpainBernardo Dominic UNQUALIFIED
Leja O StockhamArgentinaAnna Fali NEW
Emily O VocelkaItalyElwin Sharvill NEW
Chavez J BowleyCanadaIvan Magalhaes RENEWAL
Alejandro O FigeroaGermanyXuxue Feng UNQUALIFIED
Isabel Z BriddickRussiaAmy Elsner RENEWAL
Faith Y RulapaughIndiaXuxue Feng PROPOSAL
Darci C FigeroaItalyAnna Fali RENEWAL
Jeanfrancois H BowleyItalyAnna Fali RENEWAL
Stacey W IturbideBrazilStephen Shaw RENEWAL
Jefferson Q NestleSpainAsiya Javayant QUALIFIED
Munro W NickaGermanyOnyama Limba QUALIFIED
Jefferson M CaudySpainOnyama Limba NEGOTIATION
Deepesh U WhobreyUnited KingdomBernardo Dominic UNQUALIFIED
Ivar G KolmetzGermanyStephen Shaw NEW
Clifford I SchemmerBrazilStephen Shaw QUALIFIED
Sinclair G NickaGermanyXuxue Feng NEW
Silvio Z CaudyItalyOnyama Limba PROPOSAL
Alejandro U BriddickSpainStephen Shaw UNQUALIFIED
Julie V WieserSpainAnna Fali QUALIFIED
Ivar I RutaItalyStephen Shaw RENEWAL
Frozen Columns
Name
Adams G Kolmetz
Alejandro W Bolognia
David W Dilliard
Stacey M Perin
Morrow P Kusko
Sinclair J Iturbide
Emily M Campain
Mayumi H Malet
Ricardo T Chui
James O Doe
Maria K Darakjy
Mujtaba N Vocelka
Morrow S Saylors
Maisha K Campain
Faith F Tollner
James X Vocelka
Aditya M Rim
Rodrigues I Stockham
Jeanfrancois C Schemmer
Darci U Stenseth
Maria I Briddick
Murillo J Ferencz
Jennifer D Tollner
Alejandro P Whobrey
Nicolas S Inouye
Octavia R Venere
Costa K Shinko
Jones C Vocelka
Misaki V Amigon
Jennifer J Vocelka
Octavia W Marrier
Emily W Kusko
Johnson O Inouye
Leja Y Paprocki
Clifford L Morasca
Aditya C Whobrey
Jeanfrancois A Bowley
David K Glick
Salvatore S Ferencz
Francesco O Briddick
Cody I Garufi
Leja G Perin
Maisha B Malet
Mayumi D Chui
Sinclair I Waycott
Chavez E Shinko
Munro G Malet
Morrow Q Chui
Tony I Malet
Aika N Bowley
IdCountryDate
1000Canada2024-05-27
1001Argentina2024-06-13
1002Germany2024-06-24
1003United Kingdom2024-06-10
1004Russia2024-06-12
1005Argentina2024-06-08
1006Canada2024-05-30
1007Italy2024-06-02
1008France2024-06-23
1009Russia2024-06-06
1010Spain2024-06-05
1011Italy2024-06-21
1012India2024-05-28
1013Japan2024-06-11
1014Russia2024-06-23
1015Argentina2024-06-01
1016Canada2024-06-02
1017Spain2024-06-02
1018Brazil2024-06-07
1019United Kingdom2024-06-24
1020Spain2024-06-01
1021Germany2024-06-24
1022Argentina2024-05-31
1023Germany2024-06-04
1024France2024-06-24
1025Brazil2024-06-05
1026Italy2024-06-06
1027Brazil2024-06-04
1028Australia2024-06-05
1029United Kingdom2024-06-21
1030Russia2024-06-03
1031Australia2024-06-06
1032Spain2024-06-19
1033Brazil2024-06-17
1034Spain2024-06-16
1035Russia2024-06-15
1036Argentina2024-06-06
1037Argentina2024-05-26
1038Japan2024-05-27
1039France2024-06-19
1040Japan2024-06-12
1041Brazil2024-06-24
1042Brazil2024-06-24
1043Canada2024-06-16
1044India2024-06-08
1045Japan2024-06-22
1046Russia2024-06-12
1047France2024-06-20
1048India2024-06-08
1049Argentina2024-05-28

On-Demand Data

NameIdCountryDate
David L Paprocki1000Spain2024-06-07
Faith U Ruta1001Argentina2024-05-26
Izzy P Rim1002Spain2024-06-04
Faith Y Chui1003Spain2024-06-09
Kaitlin H Shinko1004United Kingdom2024-05-30
Francesco K Amigon1005Canada2024-06-13
Misaki Y Garufi1006Russia2024-05-28
Maria P Gillian1007Russia2024-06-13
Silvio Q Caldarera1008India2024-05-26
David M Chui1009Germany2024-06-22
Rodrigues W Butt1010Japan2024-05-26
James R Bowley1011Japan2024-05-27
Kaitlin B Tollner1012Japan2024-06-08
Adams B Stockham1013India2024-06-08
Smith M Shinko1014Australia2024-06-22
Jeanfrancois L Poquette1015United Kingdom2024-06-14
Munro S Tollner1016Australia2024-06-11
Kaitlin U Campain1017Australia2024-06-17
Leja Z Malet1018Germany2024-06-23
Jones I Whobrey1019Brazil2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey G GillianFranceElwin Sharvill PROPOSAL
Julie D FigeroaUnited KingdomIoni Bowcher RENEWAL
Smith V FlosiFranceBernardo Dominic NEW
Jeanfrancois V FollerRussiaElwin Sharvill RENEWAL
Munro U DilliardJapanAmy Elsner UNQUALIFIED
Kaitlin T BriddickUnited KingdomAmy Elsner QUALIFIED
Salvatore X RimIndiaStephen Shaw UNQUALIFIED
Claire J ShinkoGermanyElwin Sharvill NEGOTIATION
Julie D MarrierGermanyOnyama Limba QUALIFIED
Arvin C FlosiItalyAmy Elsner UNQUALIFIED
Salvatore D DarakjyBrazilAsiya Javayant UNQUALIFIED
Darci F FlosiRussiaStephen Shaw NEGOTIATION
Salvatore Y DoeItalyAsiya Javayant RENEWAL
Maria B SaylorsGermanyAsiya Javayant NEGOTIATION
Kaitlin T MorascaItalyElwin Sharvill PROPOSAL
Munro W SergiJapanStephen Shaw PROPOSAL
Jefferson L RoysterArgentinaStephen Shaw QUALIFIED
Juan A ShinkoArgentinaAmy Elsner UNQUALIFIED
Johnson Z WhobreyFranceXuxue Feng PROPOSAL
Tony T FigeroaSpainIvan Magalhaes NEW
Octavia A GarufiBrazilXuxue Feng NEGOTIATION
Aika W ButtIndiaAsiya Javayant QUALIFIED
Ashley J SchemmerItalyElwin Sharvill RENEWAL
Aruna I RutaIndiaAnna Fali PROPOSAL
Jefferson A GarufiGermanyOnyama Limba NEGOTIATION
Cody Q RoysterBrazilAmy Elsner UNQUALIFIED
Sinclair G GauchoGermanyAnna Fali RENEWAL
David F CaudyItalyElwin Sharvill PROPOSAL
Kaitlin O FigeroaBrazilOnyama Limba NEGOTIATION
Ivar T StensethArgentinaElwin Sharvill QUALIFIED
Ricardo T GarufiRussiaOnyama Limba NEW
Jefferson C WaycottFranceIoni Bowcher NEGOTIATION
Chavez L VenereArgentinaBernardo Dominic RENEWAL
Jeanfrancois G GillianItalyOnyama Limba UNQUALIFIED
Kaitlin O TollnerFranceXuxue Feng NEGOTIATION
Isabel G NickaBrazilBernardo Dominic RENEWAL
Alejandro E CaudyIndiaIoni Bowcher QUALIFIED
Alejandro F IturbideFranceOnyama Limba NEW
Rodrigues K StockhamItalyBernardo Dominic PROPOSAL
Cody Z DarakjyBrazilOnyama Limba NEGOTIATION

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>