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
Izzy Q GlickRussiaAsiya Javayant PROPOSAL
Juan H VocelkaGermanyIvan Magalhaes NEGOTIATION
Misaki V NickaJapanIoni Bowcher NEGOTIATION
Francesco P OstroskyBrazilOnyama Limba UNQUALIFIED
Aruna D ButtFranceAsiya Javayant QUALIFIED
Leon Z BowleyArgentinaOnyama Limba NEW
Kaitlin V SchemmerFranceIvan Magalhaes UNQUALIFIED
Clifford M WieserItalyOnyama Limba NEW
Maisha E OstroskyFranceAmy Elsner NEW
Maisha X SaylorsAustraliaAsiya Javayant PROPOSAL
James U StockhamCanadaBernardo Dominic RENEWAL
Johnson U FerenczUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues A RulapaughArgentinaAnna Fali PROPOSAL
Emily O TollnerIndiaIvan Magalhaes RENEWAL
Rodrigues B BriddickItalyXuxue Feng PROPOSAL
Rodrigues D PaprockiFranceIvan Magalhaes RENEWAL
Faith N GarufiArgentinaElwin Sharvill UNQUALIFIED
Claire Y WaycottItalyAmy Elsner UNQUALIFIED
Jefferson J IturbideArgentinaIvan Magalhaes PROPOSAL
Izzy H TollnerUnited KingdomElwin Sharvill NEGOTIATION
Francesco Y NickaJapanStephen Shaw QUALIFIED
Alejandro I DoeRussiaIoni Bowcher NEW
Francesco E MorascaAustraliaBernardo Dominic UNQUALIFIED
Nicolas F ChuiJapanOnyama Limba NEW
Mujtaba F PoquetteRussiaElwin Sharvill QUALIFIED
Darci N AmigonJapanElwin Sharvill PROPOSAL
Leon H WhobreyItalyBernardo Dominic UNQUALIFIED
Costa F FigeroaGermanyIoni Bowcher NEW
Alejandro Z OstroskyItalyBernardo Dominic UNQUALIFIED
Isabel Y VenereUnited KingdomOnyama Limba NEGOTIATION
Kadeem Y CampainUnited KingdomIvan Magalhaes RENEWAL
Salvatore B TollnerCanadaAmy Elsner PROPOSAL
Silvio K KuskoFranceOnyama Limba UNQUALIFIED
Maria K InouyeGermanyElwin Sharvill UNQUALIFIED
Aruna G AmigonIndiaStephen Shaw NEW
Silvio K DoeAustraliaAnna Fali QUALIFIED
Smith B BriddickFranceAnna Fali NEGOTIATION
Mujtaba I DarakjyBrazilIoni Bowcher UNQUALIFIED
Ivar Z SaylorsCanadaIvan Magalhaes NEGOTIATION
Mujtaba G OldroydGermanyXuxue Feng QUALIFIED
Maria A WieserGermanyIvan Magalhaes RENEWAL
Izzy Z DoeUnited KingdomStephen Shaw NEGOTIATION
Rodrigues Y GarufiBrazilIoni Bowcher UNQUALIFIED
Munro U FlosiJapanBernardo Dominic RENEWAL
Murillo J VenereFranceElwin Sharvill QUALIFIED
Rodrigues Q ChuiSpainAnna Fali NEGOTIATION
Tony S GarufiUnited KingdomStephen Shaw QUALIFIED
Emily G GarufiAustraliaElwin Sharvill NEW
Mujtaba J PoquetteBrazilIvan Magalhaes NEW
Julie K WieserUnited KingdomElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maria D VenereCanadaElwin Sharvill UNQUALIFIED
Jones F BologniaJapanXuxue Feng PROPOSAL
Ricardo X AmigonIndiaAmy Elsner NEGOTIATION
Isabel U StockhamArgentinaXuxue Feng NEW
Arvin I CaldareraJapanElwin Sharvill NEGOTIATION
Julie K NestleCanadaXuxue Feng QUALIFIED
David J CaldareraItalyIoni Bowcher PROPOSAL
Aika C WhobreyUnited KingdomAnna Fali RENEWAL
Clifford B GlickItalyAmy Elsner NEW
Ricardo L FlosiSpainIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow H ChuiJapan2024-06-04Chapman, Ross E Esq NEW68Xuxue Feng
1001Maria Y IturbideJapan2024-06-14Commercial Press QUALIFIED45Xuxue Feng
1002Nicolas Y BriddickGermany2024-06-11Chapman, Ross E Esq UNQUALIFIED38Amy Elsner
1003Morrow J PaprockiCanada2024-05-23King, Christopher A Esq UNQUALIFIED57Anna Fali
1004Kaitlin X DilliardUnited Kingdom2024-06-03Dorl, James J Esq UNQUALIFIED10Elwin Sharvill
1005Julie O RutaFrance2024-05-21Chapman, Ross E Esq NEW23Onyama Limba
1006Cody A IturbideRussia2024-06-18Dorl, James J Esq UNQUALIFIED80Xuxue Feng
1007Alejandro X FollerCanada2024-06-09Dorl, James J Esq QUALIFIED76Anna Fali
1008Julie D SlusarskiAustralia2024-05-27Chapman, Ross E Esq RENEWAL89Amy Elsner
1009Alejandro Y PerinJapan2024-05-31Feiner Bros PROPOSAL99Amy Elsner
1010Ashley R StockhamFrance2024-05-22Dorl, James J Esq PROPOSAL73Asiya Javayant
1011Claire H RoysterUnited Kingdom2024-05-24Dorl, James J Esq RENEWAL65Ivan Magalhaes
1012Johnson C OldroydRussia2024-06-14Printing Dimensions UNQUALIFIED89Xuxue Feng
1013Adams X GauchoSpain2024-05-22Feltz Printing Service QUALIFIED34Onyama Limba
1014Munro Q FollerBrazil2024-06-01Dorl, James J Esq PROPOSAL77Anna Fali
1015Julie U GauchoArgentina2024-06-15Rangoni Of Florence PROPOSAL13Ivan Magalhaes
1016Ricardo H DoeBrazil2024-05-27Truhlar And Truhlar Attys QUALIFIED26Asiya Javayant
1017Costa R KuskoJapan2024-06-09Chanay, Jeffrey A Esq PROPOSAL43Ivan Magalhaes
1018Aruna G ChuiAustralia2024-06-13Dorl, James J Esq NEW80Ivan Magalhaes
1019Antonio T MorascaCanada2024-05-21Truhlar And Truhlar Attys PROPOSAL32Onyama Limba
1020James L SaylorsArgentina2024-06-11Benton, John B Jr PROPOSAL25Bernardo Dominic
1021Kaitlin Q DoeUnited Kingdom2024-05-23Rangoni Of Florence NEGOTIATION66Onyama Limba
1022Isabel N MacleadGermany2024-06-14Commercial Press QUALIFIED25Ioni Bowcher
1023Emily N ButtArgentina2024-06-17Buckley Miller Wright RENEWAL65Stephen Shaw
1024Darci K KolmetzArgentina2024-06-17Truhlar And Truhlar Attys NEGOTIATION36Asiya Javayant
1025Alejandro N MarrierUnited Kingdom2024-05-28Rangoni Of Florence UNQUALIFIED59Elwin Sharvill
1026Jefferson U FigeroaJapan2024-06-09Truhlar And Truhlar Attys UNQUALIFIED8Elwin Sharvill
1027Arvin C StockhamUnited Kingdom2024-05-27Rousseaux, Michael Esq PROPOSAL54Bernardo Dominic
1028David Z GarufiGermany2024-06-03Benton, John B Jr RENEWAL76Onyama Limba
1029Ivar L SergiFrance2024-06-18Truhlar And Truhlar Attys RENEWAL14Xuxue Feng
1030Maria X AlbaresItaly2024-06-13Chanay, Jeffrey A Esq PROPOSAL21Asiya Javayant
1031Murillo Z MacleadIndia2024-06-10Benton, John B Jr RENEWAL80Amy Elsner
1032Aika N AlbaresJapan2024-06-03Morlong Associates UNQUALIFIED69Amy Elsner
1033Silvio F CampainCanada2024-06-08Buckley Miller Wright NEGOTIATION96Bernardo Dominic
1034Aditya T TollnerFrance2024-05-23Rousseaux, Michael Esq NEGOTIATION69Bernardo Dominic
1035Smith N MaletItaly2024-05-31Truhlar And Truhlar Attys UNQUALIFIED19Ivan Magalhaes
1036Leon Y OstroskyCanada2024-05-24Chapman, Ross E Esq NEGOTIATION29Onyama Limba
1037Julie H FollerBrazil2024-05-25Chapman, Ross E Esq UNQUALIFIED17Xuxue Feng
1038Deepesh A TollnerJapan2024-06-10Morlong Associates QUALIFIED93Amy Elsner
1039Emily X GauchoGermany2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED1Elwin Sharvill
1040Johnson K FigeroaRussia2024-05-21Buckley Miller Wright RENEWAL13Elwin Sharvill
1041Maisha C GillianCanada2024-05-26Commercial Press NEW42Elwin Sharvill
1042Jennifer W RutaJapan2024-06-12Truhlar And Truhlar Attys NEGOTIATION77Asiya Javayant
1043Antonio U KuskoArgentina2024-05-30Dorl, James J Esq PROPOSAL32Xuxue Feng
1044Jones J GillianItaly2024-05-30Truhlar And Truhlar Attys RENEWAL39Asiya Javayant
1045Jennifer P RoysterArgentina2024-06-18Rangoni Of Florence QUALIFIED56Ioni Bowcher
1046Octavia O IturbideArgentina2024-05-28Feiner Bros UNQUALIFIED7Bernardo Dominic
1047Munro C FigeroaBrazil2024-05-27Rangoni Of Florence NEGOTIATION83Stephen Shaw
1048Morrow X RoysterArgentina2024-05-25Buckley Miller Wright UNQUALIFIED82Xuxue Feng
1049Juan C OldroydJapan2024-06-14Buckley Miller Wright QUALIFIED41Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Darci Z FollerUnited KingdomAnna Fali NEGOTIATION
David D FollerAustraliaAmy Elsner RENEWAL
Sinclair K MacleadSpainIvan Magalhaes RENEWAL
Stacey J TollnerItalyXuxue Feng UNQUALIFIED
Jeanfrancois E FlosiArgentinaStephen Shaw RENEWAL
Munro J MarrierCanadaIoni Bowcher QUALIFIED
Aika B VocelkaAustraliaAsiya Javayant QUALIFIED
Octavia Y SlusarskiGermanyAnna Fali NEW
Leja N FerenczItalyIoni Bowcher RENEWAL
Emily Q RimRussiaXuxue Feng NEGOTIATION
Leon N RimBrazilOnyama Limba UNQUALIFIED
Arvin R ShinkoFranceOnyama Limba NEW
Cody H ButtJapanStephen Shaw NEW
Wickens K RutaArgentinaIoni Bowcher NEGOTIATION
Morrow O FlosiCanadaAsiya Javayant QUALIFIED
Darci T GauchoBrazilXuxue Feng RENEWAL
Jennifer M KuskoBrazilBernardo Dominic NEGOTIATION
Kaitlin B MaletFranceElwin Sharvill NEW
Misaki I CaldareraCanadaXuxue Feng PROPOSAL
Morrow R GauchoCanadaElwin Sharvill NEGOTIATION
Chavez R ShinkoUnited KingdomAsiya Javayant NEW
Rodrigues O StockhamItalyAmy Elsner UNQUALIFIED
Julie Q FlosiGermanyAnna Fali RENEWAL
Jeanfrancois R KuskoIndiaIoni Bowcher NEW
Isabel F SaylorsRussiaBernardo Dominic QUALIFIED
Tony B GlickRussiaBernardo Dominic PROPOSAL
Alejandro N RutaArgentinaElwin Sharvill QUALIFIED
Francesco N KuskoJapanAmy Elsner NEGOTIATION
Kaitlin U WhobreyAustraliaAsiya Javayant UNQUALIFIED
Octavia Q CampainJapanAmy Elsner NEW
Munro X InouyeBrazilBernardo Dominic QUALIFIED
Murillo F DarakjyIndiaStephen Shaw PROPOSAL
Leja T GlickSpainBernardo Dominic NEW
Tony B SaylorsFranceIoni Bowcher RENEWAL
Tony Z IturbideCanadaAnna Fali QUALIFIED
Izzy A CaldareraRussiaXuxue Feng NEGOTIATION
Morrow Q SchemmerAustraliaAnna Fali RENEWAL
Jones V NickaArgentinaAsiya Javayant QUALIFIED
Darci G GauchoGermanyElwin Sharvill NEGOTIATION
Kadeem D IturbideAustraliaXuxue Feng NEW
Jefferson S StockhamIndiaXuxue Feng NEGOTIATION
Mujtaba I PoquetteSpainElwin Sharvill NEW
Leja N SlusarskiJapanStephen Shaw UNQUALIFIED
Kadeem W PaprockiFranceIvan Magalhaes NEW
Leon L GlickBrazilXuxue Feng RENEWAL
Jefferson S SaylorsCanadaAmy Elsner RENEWAL
Isabel P RutaAustraliaAnna Fali UNQUALIFIED
Jennifer O RulapaughBrazilAnna Fali NEGOTIATION
Cody W PaprockiBrazilAmy Elsner NEW
Tony B SaylorsArgentinaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Murillo Q Perin
Arvin E Vocelka
Aruna R Malet
Costa W Tollner
Greenwood O Shinko
Izzy C Slusarski
Silvio K Briddick
Maisha R Flosi
Sinclair M Maclead
David L Marrier
Smith F Malet
Kadeem M Rim
Wickens F Campain
Deepesh V Iturbide
Jones D Nestle
Jennifer M Nicka
Aika U Rim
Claire Q Wieser
Tony U Nicka
Jones C Caudy
Rodrigues L Briddick
Claire W Iturbide
Jeanfrancois S Albares
James G Glick
Kaitlin Y Darakjy
Jeanfrancois B Kolmetz
Nicolas N Schemmer
Arvin D Glick
Murillo X Schemmer
Maria Z Slusarski
Darci R Kusko
Ashley H Maclead
Mujtaba O Oldroyd
Clifford F Amigon
Emily S Inouye
Octavia P Royster
Munro K Iturbide
Ricardo R Chui
Munro F Paprocki
Cody K Bolognia
Morrow R Stenseth
Jeanfrancois S Inouye
Francesco M Morasca
Misaki Q Flosi
Munro C Saylors
Deepesh N Briddick
Izzy H Gaucho
Maria E Dilliard
Sinclair Z Ruta
Clifford E Kolmetz
IdCountryDate
1000Spain2024-06-03
1001Japan2024-06-08
1002Australia2024-05-24
1003Canada2024-06-11
1004United Kingdom2024-06-16
1005Germany2024-06-16
1006Italy2024-05-29
1007Brazil2024-06-12
1008United Kingdom2024-06-12
1009France2024-05-20
1010Australia2024-06-17
1011Argentina2024-05-28
1012United Kingdom2024-06-18
1013France2024-05-20
1014Canada2024-06-06
1015Germany2024-06-02
1016Canada2024-06-06
1017Italy2024-05-22
1018Italy2024-05-30
1019Brazil2024-05-24
1020Japan2024-05-22
1021Russia2024-06-04
1022Russia2024-06-07
1023France2024-05-28
1024Australia2024-06-18
1025Italy2024-06-01
1026Russia2024-06-09
1027Japan2024-06-10
1028United Kingdom2024-05-26
1029Spain2024-06-18
1030Brazil2024-06-15
1031Spain2024-05-22
1032Germany2024-06-07
1033India2024-06-16
1034Brazil2024-05-21
1035Japan2024-05-25
1036France2024-06-04
1037Canada2024-06-01
1038Brazil2024-05-22
1039Canada2024-06-12
1040India2024-06-13
1041Brazil2024-05-28
1042Germany2024-06-05
1043Canada2024-06-01
1044Canada2024-06-05
1045Germany2024-06-15
1046Canada2024-05-25
1047Argentina2024-05-23
1048Spain2024-05-21
1049India2024-05-25

On-Demand Data

NameIdCountryDate
Kaitlin K Doe1000France2024-06-14
Tony I Perin1001Russia2024-06-02
Clifford M Kolmetz1002Italy2024-06-05
Izzy K Malet1003Canada2024-06-07
Clifford J Stenseth1004France2024-05-22
Darci Z Oldroyd1005Brazil2024-06-10
Isabel G Maclead1006Australia2024-05-31
Wickens N Ruta1007Australia2024-05-20
Smith T Vocelka1008Argentina2024-05-28
James U Malet1009United Kingdom2024-05-28
Izzy Q Foller1010India2024-06-16
Murillo A Caldarera1011Russia2024-06-01
Antonio B Ferencz1012Australia2024-06-17
Murillo T Nestle1013Argentina2024-05-28
Deepesh G Caudy1014Japan2024-05-31
Rodrigues L Whobrey1015Spain2024-06-14
Adams A Stenseth1016Italy2024-05-25
Silvio M Perin1017Argentina2024-05-21
Mujtaba M Vocelka1018United Kingdom2024-06-04
Izzy S Inouye1019Japan2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow U GarufiGermanyStephen Shaw NEW
Ashley E MaletFranceIoni Bowcher NEGOTIATION
Mujtaba U NestleFranceAsiya Javayant UNQUALIFIED
Izzy C WhobreyBrazilAnna Fali UNQUALIFIED
Adams S AmigonRussiaIvan Magalhaes PROPOSAL
Cody G FlosiGermanyBernardo Dominic NEW
Jefferson Y StensethRussiaXuxue Feng UNQUALIFIED
Jefferson M BowleyArgentinaIoni Bowcher PROPOSAL
Jennifer S FerenczCanadaIoni Bowcher UNQUALIFIED
Claire N GillianGermanyXuxue Feng QUALIFIED
Munro W CaldareraSpainBernardo Dominic UNQUALIFIED
Costa J TollnerItalyStephen Shaw PROPOSAL
Octavia W ButtIndiaIvan Magalhaes RENEWAL
Jefferson G InouyeRussiaAsiya Javayant UNQUALIFIED
Francesco J DilliardFranceStephen Shaw RENEWAL
Leja X VenereFranceBernardo Dominic NEGOTIATION
Faith Z DarakjyRussiaIvan Magalhaes NEW
Maria N OldroydFranceBernardo Dominic PROPOSAL
Francesco X ButtSpainBernardo Dominic PROPOSAL
Francesco F DoeItalyIvan Magalhaes PROPOSAL
Johnson U ButtCanadaStephen Shaw QUALIFIED
Greenwood L CaldareraUnited KingdomIoni Bowcher NEW
Mayumi H StockhamJapanAnna Fali RENEWAL
Kadeem A SchemmerCanadaStephen Shaw QUALIFIED
Izzy E CampainJapanStephen Shaw UNQUALIFIED
Francesco H FlosiUnited KingdomElwin Sharvill QUALIFIED
Aruna X PaprockiRussiaStephen Shaw NEW
Greenwood F OldroydCanadaStephen Shaw QUALIFIED
Isabel L WieserCanadaIvan Magalhaes RENEWAL
Costa V InouyeCanadaAnna Fali QUALIFIED
Mujtaba H WhobreyUnited KingdomElwin Sharvill NEW
David U SchemmerIndiaIoni Bowcher RENEWAL
Alejandro H StockhamCanadaElwin Sharvill QUALIFIED
Francesco S MarrierBrazilIoni Bowcher RENEWAL
Murillo Z MacleadUnited KingdomAnna Fali NEW
Ricardo H SchemmerIndiaElwin Sharvill NEGOTIATION
Claire E KolmetzRussiaIoni Bowcher UNQUALIFIED
Mayumi Y PoquetteIndiaIoni Bowcher NEW
Jefferson E FlosiBrazilStephen Shaw NEGOTIATION
Smith B IturbideJapanStephen Shaw NEW

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