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
Deepesh C PerinIndiaIoni Bowcher NEW
Francesco J WhobreyArgentinaAnna Fali QUALIFIED
Jefferson H FigeroaRussiaAmy Elsner NEW
James X AlbaresCanadaElwin Sharvill UNQUALIFIED
Sinclair I InouyeSpainAnna Fali UNQUALIFIED
Juan L VenereAustraliaIoni Bowcher PROPOSAL
Jennifer L VocelkaRussiaAsiya Javayant QUALIFIED
Arvin U FerenczRussiaAsiya Javayant PROPOSAL
Sinclair Y OstroskyFranceIvan Magalhaes NEW
Maisha B SlusarskiSpainAmy Elsner NEW
Claire H MaletAustraliaStephen Shaw NEW
Arvin N StockhamArgentinaAsiya Javayant UNQUALIFIED
Greenwood C WaycottBrazilAnna Fali NEW
Greenwood S VenereAustraliaBernardo Dominic NEGOTIATION
Deepesh S NickaSpainIoni Bowcher RENEWAL
Isabel L SergiAustraliaIvan Magalhaes NEW
Isabel K ChuiAustraliaElwin Sharvill UNQUALIFIED
Salvatore G InouyeAustraliaAmy Elsner NEW
Nicolas P RimUnited KingdomAsiya Javayant NEW
Emily W VenereIndiaIvan Magalhaes NEW
Francesco V RoysterArgentinaStephen Shaw UNQUALIFIED
Munro T RutaUnited KingdomAnna Fali NEGOTIATION
Leon C ChuiAustraliaElwin Sharvill PROPOSAL
Aika Q NestleBrazilAmy Elsner QUALIFIED
Juan V CampainSpainAnna Fali QUALIFIED
Misaki V ShinkoJapanAsiya Javayant UNQUALIFIED
Jeanfrancois U PaprockiGermanyStephen Shaw PROPOSAL
Kaitlin E OldroydGermanyStephen Shaw PROPOSAL
Kadeem S DarakjyJapanElwin Sharvill NEW
Tony Y MaletSpainStephen Shaw NEGOTIATION
Kaitlin T BologniaIndiaXuxue Feng QUALIFIED
Darci W RimFranceStephen Shaw QUALIFIED
Murillo B NestleIndiaAnna Fali UNQUALIFIED
Mujtaba V TollnerJapanElwin Sharvill NEGOTIATION
David F WieserSpainStephen Shaw PROPOSAL
Smith C BowleyItalyIoni Bowcher RENEWAL
Rodrigues Y FigeroaGermanyAnna Fali RENEWAL
Arvin C CaudyFranceElwin Sharvill QUALIFIED
Cody A AmigonArgentinaXuxue Feng QUALIFIED
Octavia G WhobreyIndiaAnna Fali PROPOSAL
Munro G GauchoAustraliaAsiya Javayant UNQUALIFIED
Ivar R GauchoAustraliaElwin Sharvill NEW
Greenwood M KolmetzJapanBernardo Dominic NEW
David Q BologniaAustraliaIvan Magalhaes RENEWAL
Jefferson O PaprockiCanadaXuxue Feng RENEWAL
Mujtaba A FollerIndiaAsiya Javayant QUALIFIED
Kadeem Z InouyeGermanyStephen Shaw UNQUALIFIED
David H CaldareraItalyStephen Shaw PROPOSAL
James J NickaRussiaAsiya Javayant NEW
Jones X MaletCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Stacey X GarufiIndiaBernardo Dominic PROPOSAL
Cody C DarakjyCanadaAmy Elsner PROPOSAL
Jeanfrancois X VocelkaArgentinaAnna Fali QUALIFIED
Leon V MaletJapanAsiya Javayant UNQUALIFIED
Sinclair A KuskoItalyElwin Sharvill PROPOSAL
Izzy U DilliardArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois E NestleRussiaIoni Bowcher UNQUALIFIED
Octavia G FigeroaArgentinaXuxue Feng RENEWAL
Juan X ButtJapanStephen Shaw UNQUALIFIED
Smith U AmigonGermanyElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria W FollerFrance2024-06-22Buckley Miller Wright RENEWAL91Bernardo Dominic
1001Smith E OstroskyAustralia2024-06-09Benton, John B Jr RENEWAL90Elwin Sharvill
1002Aruna G PerinRussia2024-06-12Rangoni Of Florence NEW41Asiya Javayant
1003Jeanfrancois A DilliardIndia2024-06-16Rousseaux, Michael Esq RENEWAL95Asiya Javayant
1004Leja L SchemmerIndia2024-06-21Buckley Miller Wright RENEWAL11Xuxue Feng
1005Izzy X OldroydFrance2024-06-17King, Christopher A Esq PROPOSAL37Anna Fali
1006Cody D CaudySpain2024-06-09King, Christopher A Esq RENEWAL67Onyama Limba
1007Kadeem M PerinItaly2024-06-03Truhlar And Truhlar Attys QUALIFIED8Ivan Magalhaes
1008Mujtaba S PerinFrance2024-06-05Feiner Bros RENEWAL39Onyama Limba
1009Costa Z MacleadGermany2024-05-28King, Christopher A Esq PROPOSAL67Amy Elsner
1010Stacey A OstroskyAustralia2024-06-02Rangoni Of Florence QUALIFIED23Anna Fali
1011Leon H PoquetteSpain2024-06-17Commercial Press QUALIFIED40Ivan Magalhaes
1012Tony Y AmigonJapan2024-06-11Rangoni Of Florence RENEWAL34Amy Elsner
1013Emily J PoquetteAustralia2024-06-20Truhlar And Truhlar Attys NEGOTIATION66Stephen Shaw
1014Maisha D MacleadGermany2024-05-29Chanay, Jeffrey A Esq QUALIFIED35Ivan Magalhaes
1015Rodrigues R BologniaGermany2024-06-20Benton, John B Jr RENEWAL90Ioni Bowcher
1016Maisha J DilliardCanada2024-06-02Benton, John B Jr NEW15Onyama Limba
1017Kadeem N WhobreyJapan2024-06-03Feltz Printing Service RENEWAL1Xuxue Feng
1018Jones U NestleRussia2024-06-13King, Christopher A Esq NEGOTIATION87Elwin Sharvill
1019Kadeem T VocelkaItaly2024-06-22Chemel, James L Cpa QUALIFIED0Elwin Sharvill
1020Deepesh K GillianGermany2024-05-29Rousseaux, Michael Esq PROPOSAL7Ioni Bowcher
1021Maisha B SchemmerItaly2024-05-29Rangoni Of Florence UNQUALIFIED43Stephen Shaw
1022Stacey I MarrierItaly2024-05-27Commercial Press RENEWAL80Bernardo Dominic
1023Octavia I SaylorsUnited Kingdom2024-06-19Rangoni Of Florence UNQUALIFIED94Elwin Sharvill
1024Cody L DilliardItaly2024-06-05Truhlar And Truhlar Attys RENEWAL88Xuxue Feng
1025Tony K MaletGermany2024-06-02Feltz Printing Service RENEWAL13Asiya Javayant
1026Ashley M MaletRussia2024-06-18Printing Dimensions PROPOSAL19Amy Elsner
1027Cody X PoquetteFrance2024-06-18Rousseaux, Michael Esq NEW44Bernardo Dominic
1028Aruna C StockhamRussia2024-06-11Rangoni Of Florence RENEWAL30Ivan Magalhaes
1029Chavez B WhobreyJapan2024-06-15King, Christopher A Esq UNQUALIFIED55Elwin Sharvill
1030Jones E AmigonUnited Kingdom2024-06-07Truhlar And Truhlar Attys NEGOTIATION23Ioni Bowcher
1031Maria B StockhamBrazil2024-06-05Feltz Printing Service PROPOSAL59Xuxue Feng
1032Ricardo Z StensethSpain2024-06-03King, Christopher A Esq NEGOTIATION53Xuxue Feng
1033Nicolas Z GlickIndia2024-06-20Rousseaux, Michael Esq PROPOSAL93Ivan Magalhaes
1034Aika J SaylorsIndia2024-06-03Rousseaux, Michael Esq NEW99Elwin Sharvill
1035Stacey Z AlbaresIndia2024-06-12Dorl, James J Esq PROPOSAL81Ioni Bowcher
1036Alejandro M PoquetteArgentina2024-05-31Commercial Press PROPOSAL91Onyama Limba
1037Greenwood B BologniaCanada2024-06-24Truhlar And Truhlar Attys PROPOSAL32Ioni Bowcher
1038Tony M CampainJapan2024-06-02Rangoni Of Florence UNQUALIFIED5Stephen Shaw
1039Smith M MaletBrazil2024-05-27Buckley Miller Wright NEW64Ioni Bowcher
1040Octavia J GillianItaly2024-06-20Buckley Miller Wright NEW16Amy Elsner
1041Kaitlin Y DoeSpain2024-06-20Rousseaux, Michael Esq NEW95Xuxue Feng
1042Leja Y GarufiCanada2024-06-12Rangoni Of Florence RENEWAL93Bernardo Dominic
1043Sinclair M InouyeGermany2024-06-22Dorl, James J Esq UNQUALIFIED39Stephen Shaw
1044Silvio A VenereFrance2024-06-22Printing Dimensions UNQUALIFIED89Ioni Bowcher
1045Stacey A ButtJapan2024-06-18Truhlar And Truhlar Attys RENEWAL75Anna Fali
1046Johnson B OldroydIndia2024-06-18Printing Dimensions QUALIFIED24Asiya Javayant
1047Faith J MaletUnited Kingdom2024-06-14Dorl, James J Esq UNQUALIFIED61Elwin Sharvill
1048Misaki Y KuskoSpain2024-06-20Commercial Press RENEWAL94Amy Elsner
1049Chavez E StensethSpain2024-06-18Commercial Press NEGOTIATION48Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan C AlbaresJapanOnyama Limba PROPOSAL
Isabel R RoysterJapanStephen Shaw NEGOTIATION
James K BriddickGermanyAnna Fali RENEWAL
Maria Z MaletItalyAmy Elsner PROPOSAL
Clifford F StockhamFranceIoni Bowcher RENEWAL
Clifford R WieserUnited KingdomStephen Shaw PROPOSAL
Izzy C VocelkaArgentinaElwin Sharvill NEW
Claire N WhobreyAustraliaIoni Bowcher QUALIFIED
Leon H RoysterItalyStephen Shaw QUALIFIED
Arvin G SchemmerGermanyElwin Sharvill UNQUALIFIED
Sinclair U NestleAustraliaAsiya Javayant RENEWAL
Maria F BriddickJapanIoni Bowcher QUALIFIED
Jeanfrancois C RutaCanadaBernardo Dominic PROPOSAL
Jennifer Y VenereIndiaAsiya Javayant QUALIFIED
Johnson Z MorascaJapanIoni Bowcher NEGOTIATION
James U PaprockiRussiaIoni Bowcher PROPOSAL
Nicolas Z CaldareraItalyIvan Magalhaes PROPOSAL
Darci W NickaRussiaBernardo Dominic QUALIFIED
Ivar S GauchoAustraliaAmy Elsner RENEWAL
Murillo R BowleyAustraliaOnyama Limba PROPOSAL
Clifford Z ChuiUnited KingdomIvan Magalhaes NEW
Aditya I BowleyJapanStephen Shaw NEW
Jennifer V ShinkoItalyStephen Shaw QUALIFIED
Smith T DilliardRussiaOnyama Limba PROPOSAL
Salvatore O ChuiCanadaStephen Shaw RENEWAL
Jeanfrancois M NickaIndiaStephen Shaw PROPOSAL
James P MarrierFranceAnna Fali NEW
Ivar F FerenczAustraliaXuxue Feng UNQUALIFIED
Morrow H WaycottGermanyAmy Elsner PROPOSAL
Morrow U BologniaBrazilAsiya Javayant QUALIFIED
Munro N PerinJapanOnyama Limba RENEWAL
Ricardo N StockhamItalyIoni Bowcher QUALIFIED
Wickens R VenereRussiaAnna Fali UNQUALIFIED
Faith R DilliardUnited KingdomStephen Shaw UNQUALIFIED
Darci M MarrierBrazilBernardo Dominic QUALIFIED
Juan X PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Johnson F VenereItalyAsiya Javayant PROPOSAL
Silvio D DarakjyIndiaXuxue Feng QUALIFIED
Alejandro B SaylorsUnited KingdomXuxue Feng QUALIFIED
Ivar U SchemmerRussiaIoni Bowcher QUALIFIED
Costa G ShinkoUnited KingdomStephen Shaw UNQUALIFIED
Leon Z CaudyFranceXuxue Feng RENEWAL
Sinclair Q VocelkaAustraliaStephen Shaw NEGOTIATION
Aditya M IturbideUnited KingdomIoni Bowcher NEGOTIATION
Francesco A WhobreyJapanXuxue Feng UNQUALIFIED
Deepesh X FlosiAustraliaAsiya Javayant NEW
Smith A GillianIndiaXuxue Feng NEW
Jeanfrancois I DarakjyAustraliaAmy Elsner PROPOSAL
Murillo O KuskoBrazilStephen Shaw NEW
Nicolas E RimFranceAmy Elsner RENEWAL
Frozen Columns
Name
Darci I Kolmetz
Mayumi O Caudy
Maisha B Malet
Munro K Briddick
Alejandro H Amigon
Jones P Perin
Kaitlin U Nicka
Sinclair Z Caldarera
Jennifer P Morasca
Ashley G Chui
Aruna U Schemmer
Silvio H Butt
Isabel D Butt
Octavia R Bolognia
Aditya O Stockham
Costa R Saylors
Ricardo O Gillian
Mujtaba K Sergi
Maisha D Royster
Isabel M Bowley
Alejandro A Perin
Leon W Slusarski
Clifford T Waycott
Kadeem Z Inouye
Johnson M Wieser
Arvin N Malet
Claire J Morasca
Isabel C Rim
Stacey K Royster
Silvio R Campain
Clifford U Garufi
Ivar K Tollner
Jefferson V Whobrey
Faith B Venere
Claire G Waycott
Leja E Nestle
Isabel U Maclead
Deepesh V Malet
Leja S Sergi
Claire A Malet
Morrow B Bowley
Arvin I Glick
Jones X Marrier
Leon W Inouye
Aika J Rulapaugh
Aruna K Paprocki
Alejandro X Tollner
Claire I Venere
Kaitlin K Wieser
Izzy E Campain
IdCountryDate
1000Australia2024-06-11
1001Russia2024-06-09
1002Russia2024-06-20
1003Japan2024-05-31
1004Japan2024-06-14
1005India2024-05-29
1006Italy2024-06-15
1007Argentina2024-06-15
1008France2024-05-31
1009Spain2024-05-29
1010India2024-06-18
1011Spain2024-06-06
1012India2024-06-13
1013Australia2024-06-20
1014Japan2024-06-08
1015United Kingdom2024-06-20
1016India2024-06-11
1017Argentina2024-06-06
1018Italy2024-06-13
1019Germany2024-06-10
1020France2024-06-22
1021Italy2024-06-03
1022Spain2024-06-04
1023Japan2024-06-23
1024Argentina2024-06-16
1025Germany2024-06-06
1026France2024-05-29
1027Brazil2024-06-08
1028Russia2024-06-10
1029Canada2024-06-12
1030Argentina2024-06-18
1031Canada2024-06-13
1032France2024-06-18
1033Russia2024-06-04
1034Japan2024-05-27
1035Australia2024-06-06
1036Brazil2024-06-03
1037Japan2024-06-19
1038United Kingdom2024-06-12
1039France2024-06-05
1040Spain2024-06-06
1041Australia2024-06-07
1042Argentina2024-06-14
1043Canada2024-06-21
1044United Kingdom2024-06-05
1045India2024-06-10
1046Brazil2024-06-16
1047Brazil2024-05-30
1048Brazil2024-05-27
1049Italy2024-06-07

On-Demand Data

NameIdCountryDate
Francesco B Inouye1000United Kingdom2024-06-17
Faith I Chui1001Brazil2024-05-27
Tony Y Morasca1002Spain2024-06-01
Darci K Gaucho1003France2024-06-19
David U Oldroyd1004Japan2024-06-09
Costa W Saylors1005Russia2024-06-05
Juan C Caldarera1006France2024-05-26
Izzy A Gillian1007Japan2024-06-18
Jones R Doe1008Italy2024-06-16
Ivar P Kusko1009Germany2024-05-28
Aika K Gillian1010Russia2024-06-13
Mujtaba H Flosi1011France2024-06-14
Izzy P Maclead1012Germany2024-06-20
James Z Rulapaugh1013Brazil2024-06-16
Aruna U Stenseth1014Argentina2024-06-02
Deepesh K Ruta1015Italy2024-06-04
Antonio Q Poquette1016France2024-06-17
Rodrigues Y Ostrosky1017Russia2024-06-15
Mayumi F Rulapaugh1018France2024-06-15
Misaki Z Garufi1019Argentina2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo Z GlickIndiaIvan Magalhaes PROPOSAL
Mujtaba Z ShinkoAustraliaAnna Fali UNQUALIFIED
Adams H GarufiGermanyElwin Sharvill NEW
Cody J FerenczGermanyIoni Bowcher RENEWAL
Arvin P VenereArgentinaAnna Fali RENEWAL
Morrow V FlosiBrazilElwin Sharvill NEGOTIATION
Johnson H OldroydCanadaAsiya Javayant NEW
Adams G OldroydCanadaIvan Magalhaes UNQUALIFIED
Costa Q WhobreySpainElwin Sharvill QUALIFIED
Emily Z SlusarskiArgentinaOnyama Limba RENEWAL
Faith B VenereGermanyAnna Fali UNQUALIFIED
Wickens N AmigonCanadaAsiya Javayant PROPOSAL
Ricardo R VocelkaSpainAmy Elsner QUALIFIED
Leja V AmigonArgentinaAnna Fali NEGOTIATION
Leja F FigeroaGermanyBernardo Dominic NEGOTIATION
Faith N SaylorsRussiaAmy Elsner QUALIFIED
Darci I NestleBrazilAsiya Javayant UNQUALIFIED
Kadeem V GauchoIndiaXuxue Feng RENEWAL
Silvio E FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin L StensethRussiaAsiya Javayant NEW
Alejandro Z ShinkoIndiaStephen Shaw NEW
Rodrigues K BriddickGermanyXuxue Feng QUALIFIED
Aditya H SlusarskiFranceElwin Sharvill NEGOTIATION
Jeanfrancois N RutaJapanAmy Elsner NEGOTIATION
Deepesh M FlosiGermanyAnna Fali UNQUALIFIED
Darci Y BologniaRussiaAsiya Javayant NEW
Jeanfrancois N ButtAustraliaOnyama Limba NEGOTIATION
Kadeem L WhobreyFranceElwin Sharvill RENEWAL
Johnson Y DarakjySpainAsiya Javayant QUALIFIED
Emily V VocelkaSpainElwin Sharvill QUALIFIED
Deepesh C BowleyCanadaXuxue Feng RENEWAL
Maria F RimGermanyBernardo Dominic RENEWAL
Arvin K FigeroaJapanStephen Shaw RENEWAL
Adams U NickaJapanAnna Fali QUALIFIED
Aditya M CaldareraRussiaIvan Magalhaes UNQUALIFIED
Ivar T WhobreySpainElwin Sharvill UNQUALIFIED
Octavia A SchemmerIndiaIvan Magalhaes NEW
Maria U CampainBrazilElwin Sharvill UNQUALIFIED
Wickens M RulapaughUnited KingdomXuxue Feng NEGOTIATION
David A NickaItalyBernardo Dominic RENEWAL

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