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
Darci W PaprockiIndiaAsiya Javayant PROPOSAL
Tony V FlosiFranceIoni Bowcher QUALIFIED
Aika W WhobreyItalyIoni Bowcher QUALIFIED
Jeanfrancois D CaldareraCanadaAmy Elsner RENEWAL
Clifford Q FigeroaGermanyAmy Elsner RENEWAL
David V SergiBrazilAnna Fali PROPOSAL
Morrow K StockhamUnited KingdomBernardo Dominic UNQUALIFIED
Isabel A IturbideItalyElwin Sharvill PROPOSAL
Clifford O AlbaresBrazilAsiya Javayant UNQUALIFIED
Jefferson P MorascaArgentinaAnna Fali NEW
Rodrigues H IturbideSpainIoni Bowcher PROPOSAL
Ricardo I DarakjyCanadaAnna Fali PROPOSAL
Wickens Y BologniaItalyBernardo Dominic NEW
Leja Y RutaBrazilBernardo Dominic UNQUALIFIED
Wickens D KolmetzFranceXuxue Feng NEW
Kaitlin M StensethIndiaIvan Magalhaes RENEWAL
Maria J MacleadGermanyAmy Elsner QUALIFIED
Jones Q SergiJapanElwin Sharvill PROPOSAL
Jefferson U MarrierUnited KingdomAnna Fali PROPOSAL
Deepesh S SergiBrazilStephen Shaw NEW
Munro D WaycottCanadaElwin Sharvill NEW
Clifford X WieserSpainAnna Fali PROPOSAL
Kaitlin M StensethCanadaOnyama Limba PROPOSAL
Misaki N BowleyAustraliaAsiya Javayant NEW
Munro G AmigonCanadaAnna Fali PROPOSAL
Aruna B CampainGermanyIvan Magalhaes RENEWAL
Leon Q MorascaAustraliaStephen Shaw UNQUALIFIED
Chavez S ChuiAustraliaOnyama Limba PROPOSAL
James L GauchoSpainAmy Elsner NEGOTIATION
Juan T GlickAustraliaAnna Fali NEW
Costa U OstroskyBrazilStephen Shaw NEW
Jennifer V BowleyRussiaOnyama Limba QUALIFIED
Emily H IturbideAustraliaAsiya Javayant PROPOSAL
Clifford K GlickSpainIvan Magalhaes NEGOTIATION
Wickens I PoquetteArgentinaBernardo Dominic NEW
Cody N ShinkoRussiaStephen Shaw QUALIFIED
Wickens I GarufiRussiaStephen Shaw NEW
Leja Z TollnerIndiaBernardo Dominic QUALIFIED
Jennifer V DoeArgentinaIvan Magalhaes RENEWAL
David Y BowleyArgentinaBernardo Dominic RENEWAL
Mayumi W ChuiCanadaAnna Fali QUALIFIED
Francesco U NestleArgentinaAsiya Javayant PROPOSAL
Julie V VenereUnited KingdomAmy Elsner NEGOTIATION
Misaki J KuskoArgentinaElwin Sharvill UNQUALIFIED
Chavez U MaletItalyAnna Fali RENEWAL
Deepesh D MaletRussiaIvan Magalhaes NEGOTIATION
Johnson C CampainFranceAsiya Javayant NEW
Silvio Y PoquetteGermanyAmy Elsner NEW
Aditya N PoquetteItalyAnna Fali QUALIFIED
David M PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo E VocelkaFranceIvan Magalhaes UNQUALIFIED
Ricardo H RulapaughAustraliaAmy Elsner UNQUALIFIED
Julie J FollerUnited KingdomIoni Bowcher NEGOTIATION
Maria Y VocelkaSpainIoni Bowcher NEGOTIATION
Ivar V GlickArgentinaIvan Magalhaes QUALIFIED
Greenwood V RutaAustraliaIvan Magalhaes NEGOTIATION
Darci A MorascaArgentinaStephen Shaw RENEWAL
Mujtaba W NestleJapanBernardo Dominic RENEWAL
Leja A MarrierItalyIvan Magalhaes QUALIFIED
Morrow C StockhamSpainBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon A DoeBrazil2025-06-05Feltz Printing Service NEGOTIATION55Asiya Javayant
1001Chavez A BriddickFrance2025-05-21Buckley Miller Wright NEGOTIATION86Ivan Magalhaes
1002James H MaletIndia2025-06-14Commercial Press RENEWAL74Elwin Sharvill
1003Silvio M NickaJapan2025-06-01Printing Dimensions NEW7Amy Elsner
1004Ivar D TollnerBrazil2025-05-26Rangoni Of Florence UNQUALIFIED83Amy Elsner
1005Munro V GauchoArgentina2025-05-18Printing Dimensions NEGOTIATION22Elwin Sharvill
1006Julie O MaletSpain2025-06-03Dorl, James J Esq QUALIFIED22Ioni Bowcher
1007Ashley X StensethAustralia2025-05-18Feltz Printing Service NEW52Xuxue Feng
1008Alejandro L MorascaRussia2025-05-20Chanay, Jeffrey A Esq PROPOSAL27Ioni Bowcher
1009Stacey Y StensethJapan2025-05-21Buckley Miller Wright RENEWAL81Ivan Magalhaes
1010Francesco Y DarakjyArgentina2025-06-11Rangoni Of Florence QUALIFIED85Bernardo Dominic
1011Darci L DoeIndia2025-05-25Rangoni Of Florence NEW82Ioni Bowcher
1012Nicolas H GillianFrance2025-05-26Chapman, Ross E Esq NEGOTIATION64Ivan Magalhaes
1013Costa Y TollnerIndia2025-05-31King, Christopher A Esq RENEWAL54Elwin Sharvill
1014Jefferson W DarakjyAustralia2025-06-03Chanay, Jeffrey A Esq UNQUALIFIED58Ioni Bowcher
1015Sinclair N GlickArgentina2025-06-16Rangoni Of Florence QUALIFIED7Elwin Sharvill
1016James L OldroydIndia2025-06-05Commercial Press RENEWAL90Anna Fali
1017James L BowleyGermany2025-06-16Chapman, Ross E Esq RENEWAL50Xuxue Feng
1018Maria O FollerGermany2025-06-05King, Christopher A Esq NEW77Bernardo Dominic
1019Silvio U KuskoIndia2025-06-11Commercial Press NEGOTIATION7Ivan Magalhaes
1020Francesco S FollerSpain2025-05-19Buckley Miller Wright UNQUALIFIED57Asiya Javayant
1021Costa A BologniaJapan2025-06-05Printing Dimensions UNQUALIFIED73Ioni Bowcher
1022Julie D SergiGermany2025-06-08Feiner Bros QUALIFIED70Anna Fali
1023Chavez V DoeArgentina2025-05-18Buckley Miller Wright PROPOSAL85Ivan Magalhaes
1024Faith J KuskoItaly2025-05-29Buckley Miller Wright QUALIFIED32Stephen Shaw
1025Leja C GarufiIndia2025-06-02Feltz Printing Service NEW85Asiya Javayant
1026Munro X VenereAustralia2025-06-07Benton, John B Jr PROPOSAL25Amy Elsner
1027Octavia W FerenczItaly2025-05-20King, Christopher A Esq NEW50Bernardo Dominic
1028Kaitlin J RimUnited Kingdom2025-06-02Chapman, Ross E Esq QUALIFIED89Ivan Magalhaes
1029Cody K SergiAustralia2025-05-28Feiner Bros PROPOSAL78Bernardo Dominic
1030Francesco N GillianCanada2025-05-30Truhlar And Truhlar Attys QUALIFIED25Anna Fali
1031Nicolas T FlosiRussia2025-05-22King, Christopher A Esq PROPOSAL31Xuxue Feng
1032Murillo L KolmetzSpain2025-06-16Chemel, James L Cpa PROPOSAL40Ivan Magalhaes
1033Adams E WieserJapan2025-06-03Chemel, James L Cpa NEW30Amy Elsner
1034Costa C NickaBrazil2025-05-28King, Christopher A Esq PROPOSAL72Xuxue Feng
1035Jefferson O NestleUnited Kingdom2025-05-20King, Christopher A Esq UNQUALIFIED44Xuxue Feng
1036Costa Q SlusarskiItaly2025-06-07Morlong Associates PROPOSAL61Ivan Magalhaes
1037Deepesh X NickaSpain2025-05-20Truhlar And Truhlar Attys RENEWAL63Onyama Limba
1038Ashley Z ChuiRussia2025-06-10Dorl, James J Esq NEGOTIATION57Stephen Shaw
1039Leja M ButtJapan2025-05-27Buckley Miller Wright QUALIFIED33Ioni Bowcher
1040Nicolas I VocelkaGermany2025-05-20Chapman, Ross E Esq NEW60Asiya Javayant
1041Maria G GillianBrazil2025-06-03Feltz Printing Service PROPOSAL88Xuxue Feng
1042Sinclair S VocelkaSpain2025-06-13Feltz Printing Service UNQUALIFIED18Onyama Limba
1043Maisha I FigeroaJapan2025-06-12Dorl, James J Esq UNQUALIFIED3Xuxue Feng
1044Smith W ShinkoFrance2025-05-23Commercial Press RENEWAL82Ivan Magalhaes
1045Faith N CaudyIndia2025-06-02Printing Dimensions UNQUALIFIED45Bernardo Dominic
1046Mujtaba G DoeItaly2025-05-20Printing Dimensions UNQUALIFIED62Ioni Bowcher
1047Smith Y MaletFrance2025-06-16Feiner Bros UNQUALIFIED90Bernardo Dominic
1048Silvio N IturbideUnited Kingdom2025-06-10Feiner Bros QUALIFIED23Bernardo Dominic
1049Juan B WieserBrazil2025-06-01Commercial Press PROPOSAL96Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aruna X VenereSpainIvan Magalhaes NEW
Mujtaba B DilliardRussiaOnyama Limba RENEWAL
Maria H KuskoItalyAmy Elsner RENEWAL
Juan D MaletBrazilOnyama Limba NEW
Costa T CampainGermanyXuxue Feng PROPOSAL
Jennifer X MorascaIndiaAmy Elsner UNQUALIFIED
Arvin P GauchoCanadaAnna Fali PROPOSAL
Claire F GlickRussiaBernardo Dominic RENEWAL
Jeanfrancois M SchemmerRussiaAnna Fali QUALIFIED
Izzy Z GillianIndiaAnna Fali UNQUALIFIED
Arvin Z MarrierGermanyIoni Bowcher RENEWAL
Rodrigues H CaldareraAustraliaAmy Elsner NEW
Claire Y BologniaGermanyXuxue Feng PROPOSAL
Deepesh E FollerCanadaElwin Sharvill RENEWAL
Antonio M ChuiFranceAsiya Javayant PROPOSAL
Jefferson C CampainCanadaAmy Elsner RENEWAL
Smith J VocelkaSpainIvan Magalhaes NEW
Alejandro J StockhamCanadaAmy Elsner QUALIFIED
Chavez C FerenczUnited KingdomAmy Elsner QUALIFIED
Leja G GlickAustraliaBernardo Dominic NEW
Smith Y GauchoFranceAnna Fali RENEWAL
Munro B ButtItalyAsiya Javayant RENEWAL
Ricardo D DarakjyUnited KingdomAsiya Javayant NEW
Claire J KolmetzItalyAnna Fali RENEWAL
Misaki Z PerinAustraliaIoni Bowcher NEGOTIATION
Silvio N TollnerUnited KingdomAsiya Javayant NEGOTIATION
Misaki Z InouyeCanadaAmy Elsner PROPOSAL
Salvatore D SaylorsCanadaElwin Sharvill QUALIFIED
Costa M RoysterFranceIoni Bowcher RENEWAL
Morrow D PerinJapanOnyama Limba NEGOTIATION
Darci F CampainIndiaAmy Elsner RENEWAL
Wickens D WaycottAustraliaBernardo Dominic PROPOSAL
Aika F VocelkaFranceElwin Sharvill NEGOTIATION
Jones Z GlickJapanOnyama Limba RENEWAL
Faith L SlusarskiJapanAsiya Javayant NEGOTIATION
Maisha Y DarakjyItalyOnyama Limba NEW
Misaki L RoysterItalyBernardo Dominic UNQUALIFIED
Munro Y NestleJapanAnna Fali NEW
Tony F ButtArgentinaStephen Shaw RENEWAL
Maria M MaletJapanBernardo Dominic PROPOSAL
Francesco Q InouyeArgentinaAmy Elsner UNQUALIFIED
Adams B MaletUnited KingdomIoni Bowcher NEW
Alejandro Q SergiRussiaIoni Bowcher NEW
Octavia Z CaudyItalyAsiya Javayant RENEWAL
Mujtaba X BowleyBrazilXuxue Feng QUALIFIED
Francesco U CaldareraCanadaAnna Fali RENEWAL
Ashley F MaletRussiaElwin Sharvill NEW
Sinclair Q GlickBrazilOnyama Limba PROPOSAL
Murillo A GillianIndiaAmy Elsner QUALIFIED
Clifford K TollnerBrazilBernardo Dominic QUALIFIED
Frozen Columns
Name
Johnson D Bowley
Deepesh H Glick
Nicolas J Vocelka
Maria X Flosi
Mayumi I Ferencz
David C Caudy
Isabel T Glick
Cody D Stockham
Johnson J Poquette
Kadeem C Foller
Nicolas L Darakjy
Tony H Saylors
Greenwood W Glick
Isabel M Maclead
Aruna P Waycott
Jennifer C Slusarski
Misaki O Saylors
Johnson Z Maclead
Ricardo B Foller
Jeanfrancois Z Stenseth
Antonio B Garufi
Maisha J Caudy
Ashley D Saylors
Jefferson T Schemmer
Morrow X Kolmetz
Aditya H Caldarera
James J Gillian
Salvatore E Stockham
Nicolas N Paprocki
Morrow T Ostrosky
Smith A Foller
Maria Q Gillian
Morrow K Caudy
Mujtaba V Nestle
James Y Whobrey
Mujtaba X Campain
Ricardo G Malet
Darci U Ferencz
Faith M Flosi
Emily G Darakjy
Greenwood H Briddick
Mayumi P Darakjy
Arvin G Dilliard
Aika H Oldroyd
Tony K Nicka
Sinclair T Vocelka
Julie S Shinko
Misaki S Briddick
Alejandro J Kusko
Faith T Maclead
IdCountryDate
1000Canada2025-05-25
1001United Kingdom2025-05-31
1002Russia2025-05-29
1003United Kingdom2025-05-28
1004Russia2025-06-13
1005United Kingdom2025-06-06
1006Italy2025-05-25
1007Japan2025-06-10
1008Italy2025-06-13
1009Argentina2025-05-18
1010Italy2025-06-10
1011Japan2025-05-30
1012Spain2025-06-14
1013France2025-05-21
1014Canada2025-05-20
1015Brazil2025-06-13
1016United Kingdom2025-06-08
1017Australia2025-06-07
1018Japan2025-06-07
1019Spain2025-05-20
1020Argentina2025-05-18
1021India2025-05-22
1022India2025-05-19
1023United Kingdom2025-06-15
1024India2025-05-29
1025Australia2025-05-31
1026Italy2025-06-07
1027Brazil2025-06-08
1028India2025-06-07
1029Brazil2025-05-22
1030Russia2025-06-14
1031Russia2025-06-12
1032Italy2025-05-29
1033India2025-06-09
1034India2025-06-08
1035Canada2025-05-24
1036United Kingdom2025-05-18
1037India2025-06-01
1038United Kingdom2025-06-08
1039France2025-05-21
1040India2025-06-15
1041Spain2025-06-03
1042France2025-05-31
1043Germany2025-05-28
1044Japan2025-05-24
1045Italy2025-05-28
1046France2025-06-02
1047Australia2025-05-18
1048Germany2025-05-26
1049Canada2025-06-12

On-Demand Data

NameIdCountryDate
Arvin I Iturbide1000Argentina2025-05-24
Alejandro G Chui1001Germany2025-05-27
Murillo V Whobrey1002France2025-06-07
Maria W Butt1003Australia2025-06-13
Ashley Y Kolmetz1004Russia2025-05-26
Kaitlin Z Glick1005Spain2025-06-01
Murillo E Malet1006Argentina2025-05-27
Ivar U Garufi1007United Kingdom2025-06-09
Cody B Schemmer1008France2025-05-29
Aika O Tollner1009Spain2025-06-12
Murillo J Waycott1010India2025-06-03
Murillo E Amigon1011Australia2025-06-01
Isabel Y Gillian1012Italy2025-06-13
Aika R Perin1013Italy2025-05-29
Octavia V Ferencz1014India2025-06-16
Munro W Stenseth1015Argentina2025-06-01
Jeanfrancois M Bolognia1016Italy2025-05-31
Jones Q Waycott1017Germany2025-06-11
Alejandro L Dilliard1018Japan2025-06-05
Smith D Ruta1019Germany2025-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon C CaudyAustraliaIoni Bowcher UNQUALIFIED
Isabel C MaletJapanElwin Sharvill NEW
Aika U IturbideFranceStephen Shaw NEGOTIATION
Mayumi O PoquetteUnited KingdomAnna Fali UNQUALIFIED
Deepesh F MaletUnited KingdomAnna Fali RENEWAL
Jennifer B FerenczItalyElwin Sharvill PROPOSAL
Clifford E DilliardCanadaAsiya Javayant RENEWAL
Chavez B DarakjyFranceIoni Bowcher NEW
Maria P SaylorsAustraliaBernardo Dominic RENEWAL
Isabel I CaudySpainAmy Elsner RENEWAL
Jeanfrancois M KuskoJapanAnna Fali PROPOSAL
Mayumi A InouyeJapanIvan Magalhaes RENEWAL
Salvatore W PaprockiSpainIvan Magalhaes NEW
Misaki R GarufiIndiaStephen Shaw NEW
Mujtaba B GauchoCanadaOnyama Limba RENEWAL
David I MorascaIndiaIoni Bowcher RENEWAL
Izzy R VocelkaArgentinaXuxue Feng RENEWAL
Isabel Q BologniaJapanOnyama Limba NEW
Julie U NestleRussiaIvan Magalhaes PROPOSAL
Isabel J WieserAustraliaBernardo Dominic RENEWAL
Isabel E GillianCanadaIoni Bowcher NEW
Morrow N MaletBrazilElwin Sharvill RENEWAL
Aruna N CaudySpainAmy Elsner QUALIFIED
Maria H FigeroaJapanAsiya Javayant QUALIFIED
Ricardo Q WhobreyRussiaAsiya Javayant UNQUALIFIED
Maisha J DilliardSpainOnyama Limba NEW
Darci D DarakjyItalyElwin Sharvill PROPOSAL
Aruna D CaudyGermanyXuxue Feng RENEWAL
Kaitlin O VocelkaBrazilIoni Bowcher NEGOTIATION
Kaitlin Z RoysterIndiaOnyama Limba NEGOTIATION
Ashley B IturbideCanadaOnyama Limba NEGOTIATION
Kaitlin H BowleyItalyAmy Elsner UNQUALIFIED
Stacey T SchemmerAustraliaOnyama Limba NEGOTIATION
Jefferson C KuskoUnited KingdomXuxue Feng UNQUALIFIED
Misaki O FlosiRussiaOnyama Limba QUALIFIED
Silvio R VenereArgentinaAmy Elsner RENEWAL
Ashley A WhobreyCanadaIvan Magalhaes UNQUALIFIED
Ivar E WaycottFranceIvan Magalhaes NEGOTIATION
Kadeem C KolmetzArgentinaAnna Fali QUALIFIED
Munro B MorascaItalyBernardo Dominic UNQUALIFIED

<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>