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
James F VenereBrazilIoni Bowcher UNQUALIFIED
Antonio L IturbideArgentinaOnyama Limba QUALIFIED
Kadeem K RoysterBrazilBernardo Dominic QUALIFIED
Morrow F FlosiJapanStephen Shaw NEW
Murillo G NestleCanadaAsiya Javayant QUALIFIED
Juan M BowleyArgentinaOnyama Limba NEGOTIATION
Kadeem V MaletCanadaXuxue Feng NEGOTIATION
Aika X DoeAustraliaStephen Shaw QUALIFIED
Clifford V PerinRussiaElwin Sharvill PROPOSAL
Mayumi C MaletGermanyAsiya Javayant QUALIFIED
Rodrigues Z DilliardJapanElwin Sharvill UNQUALIFIED
Leja M RulapaughAustraliaAnna Fali PROPOSAL
Julie A VenereRussiaIoni Bowcher PROPOSAL
Alejandro B VocelkaBrazilAsiya Javayant PROPOSAL
Aditya O TollnerBrazilElwin Sharvill QUALIFIED
Leon G TollnerSpainXuxue Feng NEGOTIATION
Kadeem U FlosiAustraliaAsiya Javayant UNQUALIFIED
Tony U RoysterSpainIvan Magalhaes NEW
Antonio Q RulapaughBrazilElwin Sharvill UNQUALIFIED
Leja G FerenczFranceAmy Elsner NEGOTIATION
Claire P DoeCanadaAmy Elsner PROPOSAL
Tony W NestleCanadaElwin Sharvill RENEWAL
Isabel M RoysterJapanXuxue Feng QUALIFIED
Deepesh Q StensethUnited KingdomStephen Shaw NEGOTIATION
Kadeem N VenereIndiaAsiya Javayant NEGOTIATION
Murillo T ChuiAustraliaXuxue Feng PROPOSAL
Cody D MarrierGermanyXuxue Feng QUALIFIED
Clifford P MorascaJapanAmy Elsner QUALIFIED
Faith A RutaBrazilAmy Elsner UNQUALIFIED
Darci F VenereBrazilAnna Fali NEW
Murillo F WieserItalyElwin Sharvill NEW
Ivar Z SergiGermanyStephen Shaw NEW
Claire V FollerUnited KingdomAmy Elsner QUALIFIED
Juan Z SlusarskiBrazilBernardo Dominic PROPOSAL
Ashley O ShinkoItalyBernardo Dominic UNQUALIFIED
Murillo J FerenczSpainXuxue Feng UNQUALIFIED
Antonio X GillianBrazilXuxue Feng NEW
Mujtaba E GarufiCanadaAmy Elsner UNQUALIFIED
Costa F InouyeUnited KingdomStephen Shaw NEGOTIATION
Maria M DarakjyCanadaIoni Bowcher NEGOTIATION
Francesco S KuskoSpainIoni Bowcher RENEWAL
Ivar P FollerUnited KingdomAnna Fali NEW
Aika A StensethFranceAsiya Javayant RENEWAL
Cody W NestleFranceAnna Fali NEGOTIATION
Leja L DarakjyBrazilAmy Elsner NEW
David M GauchoAustraliaBernardo Dominic NEW
Isabel D WaycottRussiaAnna Fali RENEWAL
Jeanfrancois C RimAustraliaElwin Sharvill NEW
Leon K StensethGermanyStephen Shaw PROPOSAL
Aika T SaylorsArgentinaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa M RimUnited KingdomIoni Bowcher RENEWAL
Rodrigues T VenereRussiaOnyama Limba RENEWAL
Kadeem Y RulapaughItalyOnyama Limba RENEWAL
Murillo E GillianIndiaElwin Sharvill UNQUALIFIED
Stacey S NestleAustraliaOnyama Limba RENEWAL
Aika A FerenczArgentinaAmy Elsner UNQUALIFIED
Arvin P GauchoSpainIoni Bowcher PROPOSAL
Misaki W GauchoArgentinaAmy Elsner PROPOSAL
Aditya X BowleyFranceIoni Bowcher RENEWAL
Jefferson R FollerSpainAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro S BriddickGermany2026-07-15Feltz Printing Service QUALIFIED18Onyama Limba
1001Murillo M MarrierJapan2026-07-27Morlong Associates QUALIFIED79Bernardo Dominic
1002Rodrigues L MorascaArgentina2026-07-21Commercial Press NEW11Amy Elsner
1003Silvio E CaudyGermany2026-07-24Dorl, James J Esq RENEWAL8Asiya Javayant
1004Julie P ButtIndia2026-07-06Chemel, James L Cpa UNQUALIFIED41Onyama Limba
1005Adams F BowleyJapan2026-07-20King, Christopher A Esq UNQUALIFIED84Anna Fali
1006Jennifer L MacleadSpain2026-07-27Feltz Printing Service NEGOTIATION68Anna Fali
1007Leja Q ShinkoCanada2026-08-02King, Christopher A Esq NEW7Elwin Sharvill
1008Ashley W GarufiArgentina2026-07-19Dorl, James J Esq NEGOTIATION81Stephen Shaw
1009Johnson O VocelkaArgentina2026-07-14Printing Dimensions QUALIFIED54Ivan Magalhaes
1010Izzy O OldroydSpain2026-07-17Chemel, James L Cpa NEW94Ioni Bowcher
1011Antonio U AmigonCanada2026-07-18Feiner Bros PROPOSAL14Xuxue Feng
1012Greenwood O KolmetzCanada2026-07-10Buckley Miller Wright NEGOTIATION3Onyama Limba
1013Isabel Q CampainBrazil2026-07-15King, Christopher A Esq RENEWAL48Onyama Limba
1014Leja O WhobreyRussia2026-07-24Commercial Press QUALIFIED95Stephen Shaw
1015Misaki Z GauchoSpain2026-07-31Rousseaux, Michael Esq PROPOSAL16Stephen Shaw
1016Emily G NestleIndia2026-07-25Morlong Associates NEW81Anna Fali
1017Izzy R MarrierBrazil2026-07-30Buckley Miller Wright PROPOSAL34Elwin Sharvill
1018Greenwood M CaldareraFrance2026-07-17Chemel, James L Cpa NEGOTIATION26Stephen Shaw
1019Jennifer J SchemmerItaly2026-07-21Chapman, Ross E Esq NEGOTIATION73Amy Elsner
1020Aika H InouyeItaly2026-07-30Feiner Bros NEGOTIATION12Bernardo Dominic
1021Murillo O MaletUnited Kingdom2026-07-31Truhlar And Truhlar Attys NEW45Elwin Sharvill
1022Jefferson K VocelkaIndia2026-07-15Truhlar And Truhlar Attys NEGOTIATION61Amy Elsner
1023Smith R SlusarskiFrance2026-07-16Buckley Miller Wright UNQUALIFIED48Onyama Limba
1024Leja A BowleyBrazil2026-07-18Chapman, Ross E Esq PROPOSAL16Bernardo Dominic
1025Cody Q KolmetzArgentina2026-07-28Rousseaux, Michael Esq NEW37Elwin Sharvill
1026Isabel N MaletArgentina2026-07-15Chanay, Jeffrey A Esq UNQUALIFIED7Anna Fali
1027Claire E DilliardUnited Kingdom2026-07-06Rousseaux, Michael Esq NEW9Asiya Javayant
1028Antonio M VocelkaUnited Kingdom2026-07-09Morlong Associates NEW76Amy Elsner
1029Leja T InouyeSpain2026-07-27Rangoni Of Florence QUALIFIED14Elwin Sharvill
1030Johnson X FollerJapan2026-07-11Feltz Printing Service UNQUALIFIED34Stephen Shaw
1031Mayumi X WieserRussia2026-07-28King, Christopher A Esq QUALIFIED4Asiya Javayant
1032Greenwood A ShinkoGermany2026-07-26Morlong Associates NEGOTIATION32Anna Fali
1033Chavez D NestleFrance2026-07-17Morlong Associates QUALIFIED62Stephen Shaw
1034Smith O RoysterGermany2026-07-15Dorl, James J Esq UNQUALIFIED50Stephen Shaw
1035Stacey U CampainJapan2026-07-29Rangoni Of Florence RENEWAL31Stephen Shaw
1036Arvin R NickaSpain2026-07-26Morlong Associates NEGOTIATION34Amy Elsner
1037Darci G NickaGermany2026-07-09Chemel, James L Cpa PROPOSAL28Asiya Javayant
1038Mujtaba U SlusarskiIndia2026-08-03Printing Dimensions UNQUALIFIED38Elwin Sharvill
1039Smith F RutaJapan2026-07-12Commercial Press NEW97Bernardo Dominic
1040Costa P DarakjyRussia2026-07-22Rousseaux, Michael Esq UNQUALIFIED26Elwin Sharvill
1041Antonio H GauchoFrance2026-08-02Chemel, James L Cpa RENEWAL19Ivan Magalhaes
1042Alejandro E SlusarskiSpain2026-07-28Chemel, James L Cpa NEW99Ioni Bowcher
1043Maisha T CaldareraSpain2026-07-07Benton, John B Jr QUALIFIED37Ioni Bowcher
1044Mujtaba S MarrierSpain2026-07-17Feiner Bros QUALIFIED21Bernardo Dominic
1045Johnson E SaylorsArgentina2026-08-01Printing Dimensions NEGOTIATION1Asiya Javayant
1046Antonio L VenereCanada2026-07-30Buckley Miller Wright RENEWAL93Stephen Shaw
1047Aruna K SaylorsSpain2026-07-19Commercial Press QUALIFIED17Asiya Javayant
1048Maisha J CampainGermany2026-07-11Feiner Bros QUALIFIED69Amy Elsner
1049Ricardo R ShinkoIndia2026-07-13Feiner Bros QUALIFIED75Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Darci G WaycottUnited KingdomIvan Magalhaes NEW
Octavia T AmigonArgentinaBernardo Dominic QUALIFIED
Alejandro L OldroydFranceStephen Shaw QUALIFIED
Jefferson O PerinJapanElwin Sharvill QUALIFIED
Chavez L FerenczBrazilBernardo Dominic NEGOTIATION
Leon B WhobreyUnited KingdomElwin Sharvill NEW
Jefferson U FlosiAustraliaIoni Bowcher PROPOSAL
Ricardo A RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Chavez Z StensethSpainOnyama Limba QUALIFIED
Stacey U IturbideRussiaStephen Shaw RENEWAL
Mayumi S ShinkoBrazilStephen Shaw PROPOSAL
Silvio Y BologniaJapanBernardo Dominic QUALIFIED
Octavia L SlusarskiBrazilStephen Shaw NEGOTIATION
Adams O RutaIndiaIoni Bowcher NEGOTIATION
Jeanfrancois I NestleIndiaStephen Shaw NEGOTIATION
Cody X FlosiUnited KingdomAnna Fali PROPOSAL
Morrow C PoquetteGermanyOnyama Limba PROPOSAL
David L RimGermanyIoni Bowcher NEW
Greenwood Y GillianArgentinaAnna Fali QUALIFIED
Salvatore A WhobreyAustraliaStephen Shaw PROPOSAL
Aditya N AlbaresCanadaXuxue Feng UNQUALIFIED
Ricardo J KuskoRussiaStephen Shaw RENEWAL
Salvatore F WaycottBrazilAmy Elsner PROPOSAL
Mayumi X ShinkoArgentinaIoni Bowcher RENEWAL
Stacey K StockhamArgentinaAsiya Javayant UNQUALIFIED
Salvatore B TollnerRussiaStephen Shaw NEGOTIATION
Cody Q StensethJapanOnyama Limba QUALIFIED
Aditya E MaletArgentinaIvan Magalhaes NEGOTIATION
Kadeem V WieserBrazilAnna Fali UNQUALIFIED
Ricardo D TollnerAustraliaOnyama Limba NEW
Jeanfrancois R VocelkaArgentinaXuxue Feng NEW
Julie F NestleBrazilStephen Shaw PROPOSAL
Adams J DoeUnited KingdomStephen Shaw UNQUALIFIED
Stacey V ButtJapanElwin Sharvill NEW
Kaitlin T ShinkoRussiaStephen Shaw UNQUALIFIED
Jefferson F DarakjyCanadaAsiya Javayant RENEWAL
Faith R RimRussiaBernardo Dominic NEGOTIATION
Alejandro L ButtItalyAmy Elsner PROPOSAL
Munro B TollnerJapanBernardo Dominic NEGOTIATION
David Y GlickUnited KingdomIvan Magalhaes UNQUALIFIED
Murillo P NickaFranceIoni Bowcher NEGOTIATION
Aditya C VenereUnited KingdomStephen Shaw PROPOSAL
Nicolas N BriddickSpainIoni Bowcher RENEWAL
Munro E WhobreyFranceStephen Shaw PROPOSAL
Greenwood L FerenczIndiaStephen Shaw QUALIFIED
Ashley N GillianAustraliaAnna Fali UNQUALIFIED
Murillo N NestleRussiaAnna Fali NEW
Rodrigues M OldroydGermanyXuxue Feng UNQUALIFIED
Emily O ButtJapanAmy Elsner PROPOSAL
Salvatore T MaletUnited KingdomIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Francesco W Perin
Jeanfrancois W Malet
Chavez V Wieser
Sinclair K Saylors
Mujtaba D Malet
Chavez B Kusko
Jefferson I Tollner
Silvio L Sergi
Emily Y Royster
Cody R Flosi
Smith N Venere
Izzy S Waycott
Alejandro H Oldroyd
Johnson H Royster
Francesco S Amigon
Costa V Malet
Jones C Kusko
Greenwood L Kolmetz
Aruna F Maclead
Ashley V Kolmetz
Aditya R Bolognia
Claire H Ferencz
Darci Q Oldroyd
Aruna B Nicka
Johnson W Shinko
Izzy A Ruta
Aika H Kolmetz
Aditya D Slusarski
Jennifer W Gillian
Wickens Z Kolmetz
Deepesh T Iturbide
Salvatore W Ruta
Silvio R Inouye
Silvio L Perin
Ricardo T Doe
Sinclair O Nicka
Jennifer W Shinko
Maria S Campain
Emily P Malet
Leon D Dilliard
Jones E Foller
Smith N Caldarera
Smith P Glick
Misaki F Nestle
Nicolas A Wieser
Ricardo Z Vocelka
Francesco T Doe
Emily J Vocelka
Smith H Sergi
Kaitlin B Nicka
IdCountryDate
1000France2026-08-02
1001Australia2026-07-14
1002India2026-07-20
1003France2026-07-21
1004India2026-07-27
1005Italy2026-07-28
1006Canada2026-07-15
1007France2026-08-01
1008Japan2026-07-30
1009Australia2026-07-16
1010United Kingdom2026-07-13
1011France2026-07-13
1012Germany2026-07-28
1013Argentina2026-07-13
1014Canada2026-07-19
1015France2026-07-14
1016Russia2026-07-27
1017Russia2026-07-15
1018Japan2026-07-20
1019Russia2026-07-22
1020Spain2026-07-10
1021Australia2026-07-26
1022Brazil2026-07-12
1023Spain2026-07-21
1024India2026-07-16
1025Germany2026-07-25
1026Brazil2026-07-14
1027United Kingdom2026-07-11
1028Germany2026-07-22
1029Japan2026-07-23
1030France2026-07-30
1031Argentina2026-07-29
1032Italy2026-07-09
1033Russia2026-07-29
1034Japan2026-07-09
1035India2026-07-15
1036Spain2026-08-04
1037United Kingdom2026-07-29
1038Australia2026-07-29
1039Italy2026-07-12
1040United Kingdom2026-08-04
1041Brazil2026-07-26
1042Canada2026-07-19
1043Australia2026-07-19
1044Japan2026-07-18
1045Canada2026-07-07
1046Germany2026-08-01
1047Russia2026-07-11
1048United Kingdom2026-08-03
1049Japan2026-07-29

On-Demand Data

NameIdCountryDate
Ashley S Tollner1000Japan2026-07-12
Aditya M Rulapaugh1001Italy2026-07-19
Aika P Dilliard1002Germany2026-07-06
David H Albares1003India2026-07-31
Leon J Garufi1004Argentina2026-07-12
Alejandro B Ruta1005Australia2026-07-07
Deepesh P Kusko1006Russia2026-07-19
Kadeem G Waycott1007India2026-07-31
Octavia H Ferencz1008Italy2026-08-03
Wickens N Bolognia1009Spain2026-07-15
Leja O Whobrey1010India2026-07-16
Isabel U Caudy1011India2026-07-29
Leon X Glick1012Germany2026-07-22
Tony U Malet1013Argentina2026-08-01
Deepesh H Chui1014Brazil2026-07-19
James L Gaucho1015Japan2026-07-30
Antonio B Doe1016Russia2026-07-18
Ivar T Paprocki1017Australia2026-07-23
Smith Y Wieser1018India2026-07-18
Maria U Slusarski1019Brazil2026-07-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo F BowleyBrazilOnyama Limba PROPOSAL
Jones M WaycottIndiaIoni Bowcher NEGOTIATION
Greenwood X MorascaBrazilStephen Shaw NEGOTIATION
James F KuskoFranceOnyama Limba QUALIFIED
Alejandro X NestleAustraliaStephen Shaw UNQUALIFIED
Faith U InouyeUnited KingdomAmy Elsner QUALIFIED
Mujtaba H MaletRussiaStephen Shaw PROPOSAL
Greenwood F FlosiSpainAmy Elsner PROPOSAL
Aditya O PerinItalyStephen Shaw NEGOTIATION
Leon K InouyeRussiaAnna Fali QUALIFIED
Sinclair Z VenereAustraliaStephen Shaw UNQUALIFIED
Salvatore C StockhamJapanAmy Elsner UNQUALIFIED
Isabel Z RulapaughAustraliaAnna Fali UNQUALIFIED
Clifford Z InouyeCanadaAnna Fali UNQUALIFIED
Tony U DilliardBrazilBernardo Dominic UNQUALIFIED
Mujtaba X RimCanadaOnyama Limba QUALIFIED
Adams E BowleyAustraliaAsiya Javayant RENEWAL
Juan C SergiGermanyAsiya Javayant RENEWAL
Darci W PerinFranceIvan Magalhaes UNQUALIFIED
Jennifer X ButtFranceBernardo Dominic NEW
Emily E MaletBrazilIoni Bowcher QUALIFIED
Faith C DoeFranceStephen Shaw RENEWAL
David W RoysterSpainAnna Fali QUALIFIED
Antonio L TollnerSpainStephen Shaw RENEWAL
Rodrigues J CaudyFranceAmy Elsner QUALIFIED
Juan U MaletJapanXuxue Feng PROPOSAL
Juan N MacleadArgentinaElwin Sharvill PROPOSAL
Darci K AmigonUnited KingdomOnyama Limba NEW
Chavez V OstroskyArgentinaAsiya Javayant UNQUALIFIED
Nicolas Z ShinkoIndiaXuxue Feng RENEWAL
Smith G StensethGermanyStephen Shaw QUALIFIED
Jones N RutaGermanyStephen Shaw QUALIFIED
Ivar W StockhamArgentinaStephen Shaw RENEWAL
Chavez S ShinkoSpainIvan Magalhaes QUALIFIED
Misaki X SergiIndiaOnyama Limba PROPOSAL
Maria F InouyeJapanXuxue Feng PROPOSAL
Costa P FigeroaSpainStephen Shaw UNQUALIFIED
Clifford I GillianIndiaAmy Elsner QUALIFIED
Mayumi O RimJapanIvan Magalhaes NEGOTIATION
Julie Y StensethFranceAsiya Javayant PROPOSAL

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