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
Morrow A MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Ricardo T VenereIndiaElwin Sharvill RENEWAL
Munro J VenereAustraliaStephen Shaw NEW
Darci N WhobreyJapanOnyama Limba RENEWAL
Mujtaba Y SergiFranceBernardo Dominic UNQUALIFIED
Francesco P VenereBrazilAsiya Javayant NEW
Nicolas X DoeGermanyStephen Shaw NEW
Nicolas S CampainGermanyAsiya Javayant NEW
Arvin E TollnerSpainAnna Fali QUALIFIED
Juan I GlickFranceIvan Magalhaes NEW
Jones W VocelkaCanadaXuxue Feng PROPOSAL
Deepesh I PerinCanadaIvan Magalhaes PROPOSAL
Ricardo Y FollerUnited KingdomBernardo Dominic PROPOSAL
Smith T StensethGermanyIvan Magalhaes NEGOTIATION
Julie N SchemmerIndiaXuxue Feng QUALIFIED
Greenwood D GauchoCanadaAmy Elsner NEGOTIATION
Antonio Q BriddickSpainAsiya Javayant QUALIFIED
Ivar H StensethGermanyElwin Sharvill NEW
Octavia B MaletArgentinaAsiya Javayant QUALIFIED
Silvio T MarrierRussiaOnyama Limba PROPOSAL
Mujtaba N NickaCanadaAnna Fali UNQUALIFIED
Jeanfrancois N RimSpainXuxue Feng RENEWAL
Mujtaba R KuskoItalyAmy Elsner PROPOSAL
Leon J KolmetzRussiaIoni Bowcher NEGOTIATION
Adams V MarrierGermanyOnyama Limba NEGOTIATION
Jones H NestleCanadaAsiya Javayant NEGOTIATION
Costa F SaylorsCanadaXuxue Feng NEGOTIATION
Adams C FerenczFranceIoni Bowcher NEW
Faith M StockhamFranceAnna Fali QUALIFIED
Ashley F OldroydAustraliaAnna Fali NEW
Darci N WaycottFranceXuxue Feng QUALIFIED
Wickens E GlickGermanyAnna Fali QUALIFIED
Kaitlin P OldroydRussiaAmy Elsner QUALIFIED
Antonio A ButtArgentinaXuxue Feng QUALIFIED
Misaki M RulapaughRussiaStephen Shaw NEGOTIATION
Mayumi M MarrierFranceAnna Fali QUALIFIED
Jeanfrancois O GauchoRussiaIoni Bowcher UNQUALIFIED
Tony K MaletArgentinaAsiya Javayant NEGOTIATION
Aika V MaletItalyIoni Bowcher QUALIFIED
Kaitlin B CaldareraUnited KingdomAnna Fali NEW
Isabel V VenereIndiaBernardo Dominic NEGOTIATION
Nicolas Q GarufiItalyBernardo Dominic NEW
Adams D OldroydRussiaIoni Bowcher UNQUALIFIED
Jeanfrancois T CaldareraArgentinaIvan Magalhaes QUALIFIED
Kaitlin L DoeRussiaXuxue Feng NEGOTIATION
Emily Z SchemmerJapanStephen Shaw PROPOSAL
Aruna F ButtItalyAnna Fali NEGOTIATION
Sinclair B ChuiBrazilIoni Bowcher NEW
Salvatore S MarrierRussiaIvan Magalhaes QUALIFIED
Costa T MaletItalyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mayumi M BriddickUnited KingdomXuxue Feng PROPOSAL
Silvio X MarrierRussiaBernardo Dominic NEW
Murillo X BriddickBrazilOnyama Limba RENEWAL
Misaki X RimJapanAnna Fali QUALIFIED
David J NickaCanadaXuxue Feng UNQUALIFIED
Tony P MaletFranceAnna Fali NEGOTIATION
Kaitlin Y BriddickGermanyBernardo Dominic UNQUALIFIED
Rodrigues N MorascaUnited KingdomIoni Bowcher QUALIFIED
Francesco B ShinkoCanadaElwin Sharvill NEW
Greenwood G SaylorsFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey Q StensethArgentina2024-05-27Commercial Press PROPOSAL6Ioni Bowcher
1001Maisha E MaletJapan2024-05-20Chapman, Ross E Esq NEW96Ioni Bowcher
1002Jefferson P ShinkoIndia2024-04-29Dorl, James J Esq NEGOTIATION48Amy Elsner
1003Jefferson F MaletSpain2024-05-25Truhlar And Truhlar Attys QUALIFIED81Bernardo Dominic
1004Darci M ChuiGermany2024-04-28Rousseaux, Michael Esq NEW65Amy Elsner
1005James M InouyeCanada2024-05-15Feltz Printing Service UNQUALIFIED82Ioni Bowcher
1006Kaitlin B PerinItaly2024-05-08Feltz Printing Service PROPOSAL0Onyama Limba
1007Octavia E PerinBrazil2024-05-20Buckley Miller Wright NEW16Xuxue Feng
1008Murillo H MaletItaly2024-05-16Dorl, James J Esq RENEWAL12Onyama Limba
1009Emily P FollerItaly2024-05-07Buckley Miller Wright QUALIFIED2Amy Elsner
1010Maisha C VenereUnited Kingdom2024-05-08Chapman, Ross E Esq NEW78Asiya Javayant
1011Misaki S StensethBrazil2024-05-13Morlong Associates QUALIFIED1Asiya Javayant
1012Murillo F RutaUnited Kingdom2024-05-19Benton, John B Jr NEGOTIATION54Asiya Javayant
1013Juan L VenereBrazil2024-05-02Commercial Press PROPOSAL80Anna Fali
1014David H CaudyBrazil2024-05-24Buckley Miller Wright UNQUALIFIED16Asiya Javayant
1015Silvio L TollnerAustralia2024-05-13Morlong Associates NEW97Ivan Magalhaes
1016Kadeem C FigeroaCanada2024-05-16Printing Dimensions NEW28Stephen Shaw
1017Deepesh A SergiSpain2024-05-11Rangoni Of Florence UNQUALIFIED93Bernardo Dominic
1018Costa E DilliardCanada2024-05-08Truhlar And Truhlar Attys NEW87Onyama Limba
1019Jeanfrancois O OstroskyJapan2024-05-25Dorl, James J Esq QUALIFIED44Asiya Javayant
1020Smith I DoeItaly2024-05-21Rousseaux, Michael Esq QUALIFIED47Xuxue Feng
1021Nicolas A AmigonItaly2024-05-04Benton, John B Jr PROPOSAL99Anna Fali
1022Antonio A GillianAustralia2024-05-26Truhlar And Truhlar Attys UNQUALIFIED85Asiya Javayant
1023Aditya I CampainAustralia2024-05-07Morlong Associates NEW17Stephen Shaw
1024David J DoeGermany2024-05-04Benton, John B Jr UNQUALIFIED44Ivan Magalhaes
1025Leon E ShinkoGermany2024-05-26Chapman, Ross E Esq PROPOSAL22Onyama Limba
1026Jones C KuskoJapan2024-05-12Benton, John B Jr PROPOSAL41Elwin Sharvill
1027Chavez D NestleJapan2024-05-08Dorl, James J Esq RENEWAL44Anna Fali
1028Greenwood K InouyeAustralia2024-05-07Chemel, James L Cpa NEGOTIATION78Xuxue Feng
1029Smith A VenereJapan2024-05-16Chanay, Jeffrey A Esq QUALIFIED23Onyama Limba
1030Juan E DilliardItaly2024-05-21Feltz Printing Service UNQUALIFIED92Ioni Bowcher
1031Aditya Y PerinJapan2024-05-14Chanay, Jeffrey A Esq PROPOSAL29Ivan Magalhaes
1032Francesco Q GarufiGermany2024-05-23Rangoni Of Florence NEW65Elwin Sharvill
1033Maisha R MaletSpain2024-05-03King, Christopher A Esq NEGOTIATION36Ioni Bowcher
1034Octavia S FigeroaFrance2024-05-14Commercial Press RENEWAL13Ivan Magalhaes
1035Mayumi V FigeroaGermany2024-05-06Printing Dimensions UNQUALIFIED33Asiya Javayant
1036Aruna D MorascaArgentina2024-05-09Dorl, James J Esq NEW9Asiya Javayant
1037Emily H RulapaughItaly2024-05-16Feiner Bros QUALIFIED68Stephen Shaw
1038Ricardo V MaletJapan2024-05-05Chanay, Jeffrey A Esq PROPOSAL67Ioni Bowcher
1039Leon F StensethArgentina2024-04-29Feiner Bros PROPOSAL35Ioni Bowcher
1040Jeanfrancois M CaudyBrazil2024-05-26Feiner Bros QUALIFIED38Xuxue Feng
1041Jones H InouyeSpain2024-05-19Buckley Miller Wright NEW54Ioni Bowcher
1042Leja W MorascaFrance2024-05-14Commercial Press RENEWAL35Ivan Magalhaes
1043Adams W RulapaughAustralia2024-05-25Feltz Printing Service PROPOSAL15Bernardo Dominic
1044Mayumi U DarakjyUnited Kingdom2024-05-10Rangoni Of Florence NEGOTIATION23Onyama Limba
1045Maria N CaldareraRussia2024-05-23Rangoni Of Florence NEW79Elwin Sharvill
1046Faith K PaprockiCanada2024-05-25Feiner Bros QUALIFIED70Bernardo Dominic
1047Smith P SlusarskiAustralia2024-05-19King, Christopher A Esq NEGOTIATION12Bernardo Dominic
1048Leja F RimSpain2024-05-03Printing Dimensions UNQUALIFIED79Stephen Shaw
1049Salvatore A SaylorsUnited Kingdom2024-05-17Commercial Press NEGOTIATION10Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois D MaletRussiaElwin Sharvill NEGOTIATION
Faith E SaylorsSpainOnyama Limba UNQUALIFIED
Claire U IturbideArgentinaAmy Elsner NEGOTIATION
Greenwood F MorascaFranceAmy Elsner QUALIFIED
Jeanfrancois V FlosiItalyElwin Sharvill NEGOTIATION
Arvin B WieserBrazilOnyama Limba RENEWAL
Sinclair M AlbaresAustraliaXuxue Feng NEW
Ricardo E ChuiJapanBernardo Dominic RENEWAL
Ivar H StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Munro G MorascaBrazilIvan Magalhaes NEGOTIATION
Claire D GlickArgentinaElwin Sharvill UNQUALIFIED
Rodrigues A ChuiIndiaElwin Sharvill QUALIFIED
Ivar T VenereRussiaIvan Magalhaes PROPOSAL
James W FlosiSpainIoni Bowcher NEGOTIATION
Jeanfrancois I InouyeItalyOnyama Limba QUALIFIED
Maisha X ShinkoAustraliaElwin Sharvill QUALIFIED
Aika Y VenereBrazilElwin Sharvill NEW
Maisha I VocelkaItalyOnyama Limba NEGOTIATION
Kadeem X AlbaresCanadaElwin Sharvill PROPOSAL
Sinclair V BriddickArgentinaBernardo Dominic UNQUALIFIED
Aika Q PerinRussiaBernardo Dominic RENEWAL
Maria N DarakjyAustraliaIvan Magalhaes NEW
Maria S OstroskyFranceIoni Bowcher PROPOSAL
Izzy H InouyeRussiaAmy Elsner UNQUALIFIED
Chavez A NickaIndiaElwin Sharvill QUALIFIED
Leon G DarakjyArgentinaAsiya Javayant NEGOTIATION
Isabel M FollerItalyStephen Shaw RENEWAL
Jones C PoquetteJapanAsiya Javayant RENEWAL
Misaki A BriddickCanadaAsiya Javayant NEGOTIATION
Smith J SchemmerBrazilElwin Sharvill UNQUALIFIED
Greenwood H RutaGermanyStephen Shaw PROPOSAL
Arvin R KolmetzGermanyAmy Elsner RENEWAL
Darci A RoysterJapanElwin Sharvill UNQUALIFIED
James W CaldareraItalyElwin Sharvill NEGOTIATION
Ivar S FlosiUnited KingdomOnyama Limba RENEWAL
Wickens G FlosiFranceOnyama Limba QUALIFIED
Maisha U CaldareraUnited KingdomAmy Elsner QUALIFIED
Cody O WaycottAustraliaAsiya Javayant NEW
Salvatore A TollnerFranceXuxue Feng NEGOTIATION
Deepesh O SchemmerSpainAsiya Javayant NEGOTIATION
Jefferson Y StensethFranceAnna Fali UNQUALIFIED
Stacey E BriddickItalyAnna Fali PROPOSAL
Aika W DoeGermanyAmy Elsner QUALIFIED
Salvatore C GauchoFranceOnyama Limba RENEWAL
Rodrigues M CaldareraAustraliaAmy Elsner NEGOTIATION
Misaki O WieserBrazilIvan Magalhaes RENEWAL
Jones T GillianBrazilStephen Shaw NEGOTIATION
Alejandro T TollnerItalyAmy Elsner QUALIFIED
Greenwood G FlosiCanadaAsiya Javayant QUALIFIED
Rodrigues G WhobreyIndiaStephen Shaw QUALIFIED
Frozen Columns
Name
Nicolas G Doe
Jennifer K Inouye
Ivar R Bolognia
Ashley Y Iturbide
Ricardo V Whobrey
Aruna U Slusarski
Stacey O Vocelka
Octavia Y Gaucho
Julie X Ostrosky
Munro R Nestle
Morrow L Maclead
Cody T Nestle
Maisha J Chui
Jeanfrancois E Rulapaugh
Deepesh E Venere
Ricardo E Vocelka
Alejandro G Dilliard
Misaki J Stenseth
Sinclair F Bolognia
Aruna U Ostrosky
Ashley M Waycott
Ivar R Iturbide
Ashley S Amigon
Maria F Bowley
Octavia P Inouye
Munro Q Garufi
Jefferson M Dilliard
Murillo H Schemmer
Maisha A Marrier
Ashley A Figeroa
Claire Q Inouye
Francesco N Ferencz
Francesco Z Caudy
Juan D Paprocki
Francesco R Ostrosky
Murillo G Dilliard
Maria S Slusarski
Murillo S Paprocki
Maria A Stenseth
Ivar T Darakjy
Morrow A Butt
Claire T Amigon
Silvio L Campain
Salvatore I Venere
Ashley E Kusko
Salvatore Y Malet
Aika J Marrier
Jennifer V Malet
Aika T Wieser
Juan O Tollner
IdCountryDate
1000Brazil2024-04-29
1001Argentina2024-04-28
1002France2024-04-28
1003Japan2024-05-07
1004Australia2024-05-10
1005Spain2024-05-22
1006France2024-04-30
1007Canada2024-05-15
1008Japan2024-05-13
1009Germany2024-05-19
1010Spain2024-05-27
1011Italy2024-05-02
1012Spain2024-05-27
1013Canada2024-05-17
1014United Kingdom2024-05-15
1015France2024-05-09
1016Argentina2024-04-30
1017Russia2024-05-21
1018Canada2024-05-18
1019France2024-05-06
1020Australia2024-05-04
1021United Kingdom2024-05-20
1022Canada2024-05-23
1023Australia2024-05-09
1024Brazil2024-05-04
1025Germany2024-04-28
1026Germany2024-05-02
1027Japan2024-04-28
1028Argentina2024-05-27
1029Russia2024-04-29
1030Brazil2024-04-28
1031Canada2024-04-29
1032India2024-05-16
1033France2024-05-06
1034Italy2024-05-09
1035Germany2024-05-22
1036Germany2024-04-30
1037Australia2024-05-05
1038France2024-05-24
1039Argentina2024-05-27
1040Argentina2024-05-05
1041Brazil2024-05-12
1042Italy2024-05-19
1043India2024-05-03
1044Germany2024-05-24
1045United Kingdom2024-05-15
1046Argentina2024-05-02
1047Brazil2024-05-20
1048Brazil2024-05-02
1049India2024-04-29

On-Demand Data

NameIdCountryDate
Ricardo K Flosi1000France2024-05-27
Faith G Stenseth1001India2024-04-28
Izzy T Malet1002Spain2024-05-04
Adams L Flosi1003Spain2024-05-05
Ricardo P Malet1004Brazil2024-05-19
Cody U Butt1005Canada2024-05-16
Munro U Garufi1006Italy2024-04-28
Alejandro V Ostrosky1007Brazil2024-05-05
Aditya H Perin1008Argentina2024-05-15
Smith F Doe1009Canada2024-05-09
Deepesh Y Ferencz1010Russia2024-05-26
Izzy U Ferencz1011Japan2024-05-11
Sinclair V Rulapaugh1012India2024-05-21
Isabel I Waycott1013Argentina2024-05-01
Adams W Dilliard1014United Kingdom2024-05-18
Johnson F Schemmer1015India2024-05-19
Maria R Campain1016Spain2024-05-07
Smith W Wieser1017Russia2024-04-30
Emily E Kolmetz1018Australia2024-05-15
Claire O Kolmetz1019Canada2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith W StockhamCanadaAnna Fali NEW
Greenwood H FerenczSpainAnna Fali NEGOTIATION
Wickens L KuskoArgentinaBernardo Dominic NEGOTIATION
Ricardo H RoysterBrazilAnna Fali QUALIFIED
Alejandro D FlosiIndiaStephen Shaw QUALIFIED
Rodrigues V PoquetteIndiaAnna Fali PROPOSAL
Stacey K SaylorsFranceOnyama Limba PROPOSAL
Jefferson P KuskoGermanyIvan Magalhaes RENEWAL
Nicolas X OldroydItalyAsiya Javayant UNQUALIFIED
Maisha G VenereArgentinaBernardo Dominic QUALIFIED
Antonio H FollerFranceStephen Shaw NEGOTIATION
Faith U WieserAustraliaAnna Fali QUALIFIED
Munro K MacleadAustraliaBernardo Dominic PROPOSAL
Ashley P FigeroaGermanyIvan Magalhaes NEW
Aika T MarrierItalyXuxue Feng RENEWAL
Jones B KuskoCanadaIvan Magalhaes RENEWAL
Aruna A PaprockiRussiaStephen Shaw RENEWAL
Morrow X SchemmerSpainIoni Bowcher UNQUALIFIED
Salvatore L GauchoFranceBernardo Dominic PROPOSAL
Adams E NickaCanadaIvan Magalhaes NEGOTIATION
Ashley H FerenczItalyAmy Elsner NEGOTIATION
Morrow S WhobreyJapanIoni Bowcher RENEWAL
Adams W WieserFranceOnyama Limba QUALIFIED
Cody U StockhamArgentinaStephen Shaw UNQUALIFIED
Clifford E VenereItalyIoni Bowcher NEGOTIATION
James X StensethCanadaAmy Elsner RENEWAL
Isabel E MaletArgentinaOnyama Limba PROPOSAL
Silvio S InouyeRussiaAsiya Javayant QUALIFIED
Deepesh F RulapaughBrazilAmy Elsner NEW
Murillo M SlusarskiGermanyIoni Bowcher NEGOTIATION
Misaki I MorascaJapanOnyama Limba UNQUALIFIED
Mujtaba Z WaycottGermanyIvan Magalhaes RENEWAL
Clifford O AlbaresGermanyStephen Shaw PROPOSAL
Julie S StockhamUnited KingdomBernardo Dominic RENEWAL
Ashley V DilliardIndiaIvan Magalhaes NEGOTIATION
Murillo Q InouyeIndiaIvan Magalhaes NEGOTIATION
Leon J BriddickGermanyIvan Magalhaes QUALIFIED
Arvin K NestleSpainBernardo Dominic NEGOTIATION
Ricardo V OstroskyRussiaBernardo Dominic RENEWAL
Darci F VenereSpainXuxue Feng QUALIFIED

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