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
Octavia D GillianAustraliaAsiya Javayant NEW
Cody I SlusarskiJapanElwin Sharvill PROPOSAL
Cody I FigeroaCanadaOnyama Limba QUALIFIED
Leon Z GillianFranceIoni Bowcher NEGOTIATION
Sinclair D BowleyIndiaAnna Fali PROPOSAL
Wickens X DilliardArgentinaXuxue Feng NEGOTIATION
Kadeem B WieserGermanyAnna Fali NEGOTIATION
David G GlickRussiaAsiya Javayant UNQUALIFIED
Jefferson R IturbideCanadaXuxue Feng NEGOTIATION
Darci M KuskoRussiaIoni Bowcher NEW
Sinclair U TollnerBrazilIoni Bowcher PROPOSAL
Clifford Y OstroskyUnited KingdomXuxue Feng PROPOSAL
Maisha O KolmetzSpainElwin Sharvill RENEWAL
Johnson C WhobreyBrazilElwin Sharvill QUALIFIED
Smith S DoeJapanAnna Fali RENEWAL
Rodrigues J WieserRussiaAmy Elsner UNQUALIFIED
Nicolas L BowleyIndiaOnyama Limba NEGOTIATION
Arvin Q CaldareraRussiaIvan Magalhaes NEGOTIATION
Arvin N SchemmerCanadaBernardo Dominic RENEWAL
Jeanfrancois G BowleySpainBernardo Dominic UNQUALIFIED
Jefferson I AlbaresItalyAmy Elsner QUALIFIED
Julie T MarrierGermanyAmy Elsner NEW
Adams C ButtJapanOnyama Limba NEGOTIATION
Wickens A ShinkoArgentinaXuxue Feng PROPOSAL
Clifford D IturbideArgentinaIvan Magalhaes QUALIFIED
Greenwood B OldroydBrazilStephen Shaw QUALIFIED
Claire G KuskoUnited KingdomIvan Magalhaes PROPOSAL
Faith C DarakjyUnited KingdomBernardo Dominic PROPOSAL
Jefferson D GauchoAustraliaAmy Elsner PROPOSAL
Adams M OldroydGermanyIoni Bowcher NEGOTIATION
Juan G SlusarskiBrazilBernardo Dominic NEGOTIATION
Ivar B MaletUnited KingdomIvan Magalhaes PROPOSAL
Smith R StockhamGermanyBernardo Dominic NEGOTIATION
Costa A MarrierItalyAmy Elsner QUALIFIED
Ivar N NestleRussiaXuxue Feng RENEWAL
Leja N DarakjyUnited KingdomAnna Fali NEGOTIATION
Jones K TollnerAustraliaElwin Sharvill PROPOSAL
Misaki X ButtFranceOnyama Limba QUALIFIED
Kaitlin Y FollerUnited KingdomIoni Bowcher RENEWAL
Deepesh D NestleGermanyBernardo Dominic NEGOTIATION
James E InouyeRussiaXuxue Feng UNQUALIFIED
Munro K RutaGermanyAnna Fali RENEWAL
Maisha P DoeJapanIoni Bowcher PROPOSAL
Faith U StensethArgentinaIoni Bowcher NEGOTIATION
Jefferson T VocelkaRussiaIvan Magalhaes QUALIFIED
Ivar D AmigonRussiaAsiya Javayant QUALIFIED
Johnson U RoysterArgentinaStephen Shaw QUALIFIED
Emily J ButtItalyElwin Sharvill NEW
Jennifer E SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Stacey B IturbideArgentinaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki D AlbaresArgentinaIvan Magalhaes NEGOTIATION
Ricardo Y OldroydSpainAnna Fali RENEWAL
Mujtaba U DilliardGermanyElwin Sharvill UNQUALIFIED
Adams V RulapaughFranceBernardo Dominic NEGOTIATION
Cody K VenereItalyStephen Shaw NEGOTIATION
Stacey V PerinBrazilIoni Bowcher NEGOTIATION
Isabel N GauchoSpainOnyama Limba NEGOTIATION
Smith U AlbaresSpainXuxue Feng NEGOTIATION
Clifford Y PerinItalyOnyama Limba NEW
Jeanfrancois L FollerGermanyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy Y AlbaresUnited Kingdom2024-05-22Buckley Miller Wright NEGOTIATION35Anna Fali
1001Mayumi L VocelkaFrance2024-06-06King, Christopher A Esq NEGOTIATION30Bernardo Dominic
1002Kaitlin A GauchoGermany2024-06-12Morlong Associates PROPOSAL44Bernardo Dominic
1003Silvio W MorascaFrance2024-05-26Chapman, Ross E Esq QUALIFIED14Stephen Shaw
1004Leon N SlusarskiGermany2024-05-24Chemel, James L Cpa RENEWAL95Ioni Bowcher
1005Darci T FerenczSpain2024-05-19Feltz Printing Service QUALIFIED53Ivan Magalhaes
1006Munro W StensethIndia2024-05-26Feiner Bros UNQUALIFIED22Ivan Magalhaes
1007Wickens T WhobreyCanada2024-05-20Buckley Miller Wright RENEWAL0Ivan Magalhaes
1008Kadeem Q ChuiRussia2024-06-02Printing Dimensions UNQUALIFIED31Amy Elsner
1009Mujtaba U CaldareraSpain2024-06-10Benton, John B Jr NEGOTIATION3Anna Fali
1010Misaki S KuskoArgentina2024-06-03Feiner Bros QUALIFIED64Ivan Magalhaes
1011Emily H NestleCanada2024-05-29King, Christopher A Esq RENEWAL27Xuxue Feng
1012Ricardo C FollerGermany2024-06-14Chemel, James L Cpa QUALIFIED63Asiya Javayant
1013Misaki Y AmigonItaly2024-06-13Dorl, James J Esq RENEWAL68Amy Elsner
1014Salvatore F CampainItaly2024-06-12Morlong Associates NEGOTIATION49Anna Fali
1015Morrow M CaldareraUnited Kingdom2024-06-07King, Christopher A Esq NEW16Ioni Bowcher
1016Francesco S NestleArgentina2024-05-22Morlong Associates QUALIFIED58Elwin Sharvill
1017Juan M OstroskyAustralia2024-06-08Printing Dimensions RENEWAL30Anna Fali
1018Aruna Z BologniaGermany2024-05-26Chapman, Ross E Esq PROPOSAL49Amy Elsner
1019Adams Z WieserSpain2024-05-31Rangoni Of Florence NEW60Ivan Magalhaes
1020Salvatore G InouyeGermany2024-06-08Rangoni Of Florence QUALIFIED26Amy Elsner
1021David Q MorascaArgentina2024-06-11Truhlar And Truhlar Attys QUALIFIED52Elwin Sharvill
1022Maria Z GlickUnited Kingdom2024-05-16Feltz Printing Service PROPOSAL52Asiya Javayant
1023Octavia J FlosiAustralia2024-05-19Commercial Press UNQUALIFIED81Anna Fali
1024Darci S BriddickBrazil2024-05-16Chanay, Jeffrey A Esq RENEWAL45Bernardo Dominic
1025Claire B SlusarskiRussia2024-06-03Chemel, James L Cpa RENEWAL61Amy Elsner
1026Emily H TollnerGermany2024-05-26King, Christopher A Esq UNQUALIFIED51Stephen Shaw
1027Morrow T GauchoUnited Kingdom2024-06-04Buckley Miller Wright UNQUALIFIED38Onyama Limba
1028Johnson M ShinkoFrance2024-05-29Printing Dimensions NEW5Anna Fali
1029Faith W MaletCanada2024-05-29Commercial Press NEGOTIATION46Bernardo Dominic
1030Isabel P KuskoJapan2024-05-26Rousseaux, Michael Esq QUALIFIED58Stephen Shaw
1031Octavia P ButtUnited Kingdom2024-06-03Chapman, Ross E Esq UNQUALIFIED53Ioni Bowcher
1032Aditya A FigeroaBrazil2024-05-21Dorl, James J Esq QUALIFIED57Ioni Bowcher
1033Mayumi B GauchoAustralia2024-06-02Dorl, James J Esq PROPOSAL90Elwin Sharvill
1034Emily L MacleadAustralia2024-06-09Truhlar And Truhlar Attys QUALIFIED65Xuxue Feng
1035Antonio I SlusarskiRussia2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED77Stephen Shaw
1036Tony J AmigonArgentina2024-05-30King, Christopher A Esq RENEWAL5Asiya Javayant
1037Maisha Z IturbideItaly2024-05-28Chapman, Ross E Esq QUALIFIED48Xuxue Feng
1038Ricardo C WhobreyGermany2024-05-27King, Christopher A Esq NEW70Stephen Shaw
1039Morrow E RoysterJapan2024-05-20Truhlar And Truhlar Attys NEGOTIATION55Stephen Shaw
1040Munro V RimRussia2024-05-19Feltz Printing Service UNQUALIFIED40Amy Elsner
1041Maria N GillianAustralia2024-05-30Rangoni Of Florence RENEWAL91Anna Fali
1042Tony J BologniaAustralia2024-06-06Benton, John B Jr NEGOTIATION52Bernardo Dominic
1043Tony R RoysterFrance2024-06-12Buckley Miller Wright RENEWAL46Xuxue Feng
1044Sinclair E RoysterRussia2024-05-27Buckley Miller Wright RENEWAL0Elwin Sharvill
1045Mujtaba K VocelkaJapan2024-05-31Chemel, James L Cpa RENEWAL2Ioni Bowcher
1046Mujtaba D PaprockiItaly2024-06-12Truhlar And Truhlar Attys RENEWAL51Onyama Limba
1047Ricardo N RimFrance2024-05-25Commercial Press QUALIFIED1Amy Elsner
1048Claire I MaletIndia2024-06-05Buckley Miller Wright NEGOTIATION68Amy Elsner
1049Mayumi N MaletUnited Kingdom2024-06-03Morlong Associates NEGOTIATION16Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maisha D SchemmerAustraliaAnna Fali UNQUALIFIED
Faith C MorascaBrazilOnyama Limba QUALIFIED
Morrow T SchemmerSpainAnna Fali UNQUALIFIED
Izzy R OstroskySpainStephen Shaw NEGOTIATION
Ashley A RutaArgentinaAsiya Javayant NEGOTIATION
David N RutaJapanAnna Fali NEW
Costa O BologniaArgentinaAnna Fali PROPOSAL
Aika Q PaprockiBrazilOnyama Limba PROPOSAL
Antonio J MarrierAustraliaAsiya Javayant PROPOSAL
Octavia L VocelkaIndiaAmy Elsner NEGOTIATION
Mujtaba D WhobreyAustraliaAsiya Javayant NEGOTIATION
Francesco Y NickaCanadaStephen Shaw NEW
Misaki A StensethSpainAnna Fali NEGOTIATION
Ricardo X FerenczGermanyAsiya Javayant NEW
Antonio T DarakjyJapanXuxue Feng PROPOSAL
Antonio P RoysterRussiaXuxue Feng NEGOTIATION
Maisha M StockhamIndiaAnna Fali RENEWAL
Antonio Y SaylorsIndiaAsiya Javayant NEW
Munro U BriddickFranceIoni Bowcher NEW
Izzy N FerenczIndiaOnyama Limba NEGOTIATION
Leja Y FigeroaRussiaIoni Bowcher RENEWAL
Tony N DilliardUnited KingdomAsiya Javayant PROPOSAL
Munro Y WhobreyCanadaAsiya Javayant UNQUALIFIED
Misaki H GauchoJapanIvan Magalhaes UNQUALIFIED
Ricardo Z SlusarskiUnited KingdomStephen Shaw PROPOSAL
Aditya W CaldareraFranceIoni Bowcher RENEWAL
Juan R CaldareraUnited KingdomStephen Shaw NEW
Sinclair R GarufiItalyAsiya Javayant QUALIFIED
Smith F BriddickRussiaAnna Fali NEW
Darci B CaldareraItalyXuxue Feng NEGOTIATION
James X KuskoCanadaBernardo Dominic NEW
Nicolas D SergiBrazilIvan Magalhaes NEW
Ashley Z CaudyGermanyStephen Shaw UNQUALIFIED
Kaitlin M DilliardRussiaIvan Magalhaes PROPOSAL
Juan W SaylorsFranceStephen Shaw RENEWAL
Aditya P BologniaGermanyAnna Fali NEGOTIATION
Rodrigues N SergiItalyIoni Bowcher NEW
Smith U MacleadItalyOnyama Limba QUALIFIED
Ivar U WieserIndiaOnyama Limba RENEWAL
Isabel K MarrierArgentinaIvan Magalhaes NEGOTIATION
Clifford N RimArgentinaOnyama Limba QUALIFIED
Jefferson M DilliardJapanXuxue Feng NEGOTIATION
Costa C NickaUnited KingdomOnyama Limba PROPOSAL
Mujtaba H ChuiRussiaElwin Sharvill PROPOSAL
Francesco G OldroydRussiaIvan Magalhaes PROPOSAL
Isabel W CampainGermanyElwin Sharvill NEGOTIATION
Jones T ButtItalyIvan Magalhaes RENEWAL
David T FigeroaArgentinaBernardo Dominic PROPOSAL
Leja O SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Faith N StensethFranceAmy Elsner QUALIFIED
Frozen Columns
Name
Jefferson C Dilliard
Sinclair Q Tollner
Leon V Rim
Ivar L Whobrey
Isabel F Caudy
Wickens Z Briddick
David C Iturbide
Leon C Kusko
Leon V Caudy
Ricardo B Caudy
Leon H Amigon
Maria J Caldarera
Jeanfrancois E Chui
Stacey A Rim
Arvin M Sergi
Adams S Nestle
Antonio I Rulapaugh
Clifford D Darakjy
Deepesh A Inouye
Maria Q Shinko
Adams Q Kusko
Francesco C Perin
Izzy B Morasca
Nicolas L Gillian
Chavez G Bowley
Emily I Stenseth
Clifford X Campain
Alejandro Q Iturbide
Antonio G Kolmetz
Mayumi R Albares
Mayumi P Venere
Ivar D Dilliard
Faith V Flosi
Leon F Saylors
Maria X Kolmetz
Francesco D Slusarski
Juan G Caudy
Maria I Vocelka
David I Malet
Silvio E Slusarski
Jefferson V Paprocki
Kaitlin O Doe
Stacey O Stenseth
Ricardo T Oldroyd
Morrow O Sergi
Chavez U Morasca
Johnson D Garufi
Izzy D Oldroyd
Ivar C Royster
Leja Y Gillian
IdCountryDate
1000Russia2024-05-17
1001Italy2024-05-18
1002Italy2024-05-21
1003Argentina2024-05-22
1004Argentina2024-06-09
1005Canada2024-05-25
1006India2024-06-08
1007Australia2024-05-24
1008Brazil2024-05-25
1009Japan2024-06-06
1010France2024-06-06
1011Argentina2024-06-08
1012Australia2024-05-19
1013Russia2024-05-25
1014Brazil2024-05-20
1015Brazil2024-06-14
1016United Kingdom2024-06-01
1017Canada2024-06-02
1018Italy2024-05-20
1019Australia2024-05-24
1020Italy2024-05-25
1021India2024-05-22
1022Germany2024-06-02
1023Argentina2024-05-20
1024Spain2024-06-12
1025India2024-06-09
1026France2024-05-20
1027Argentina2024-06-12
1028Spain2024-06-12
1029Argentina2024-05-30
1030Spain2024-06-05
1031Russia2024-06-11
1032Japan2024-05-19
1033Italy2024-06-02
1034Australia2024-05-22
1035Japan2024-05-31
1036India2024-06-07
1037Russia2024-05-21
1038Italy2024-05-26
1039Spain2024-06-06
1040Japan2024-05-23
1041Canada2024-06-08
1042Japan2024-06-09
1043India2024-05-23
1044Japan2024-06-01
1045United Kingdom2024-05-21
1046France2024-05-28
1047Japan2024-06-05
1048Japan2024-05-28
1049Brazil2024-05-24

On-Demand Data

NameIdCountryDate
Izzy Q Poquette1000United Kingdom2024-06-05
Wickens R Campain1001Canada2024-06-11
Leon L Campain1002Brazil2024-06-06
Juan O Foller1003Canada2024-06-07
Claire F Stenseth1004Australia2024-05-16
Chavez U Nicka1005Argentina2024-05-29
Emily S Briddick1006Spain2024-05-28
Kadeem O Stenseth1007United Kingdom2024-05-24
Octavia V Darakjy1008Italy2024-05-17
Aruna U Venere1009Germany2024-06-04
Francesco B Waycott1010United Kingdom2024-06-06
Salvatore V Whobrey1011Spain2024-05-27
Faith L Sergi1012United Kingdom2024-05-23
Nicolas D Whobrey1013Spain2024-06-03
Silvio E Garufi1014Spain2024-05-30
Murillo K Schemmer1015Italy2024-05-19
Francesco N Darakjy1016United Kingdom2024-05-17
Darci I Stenseth1017France2024-05-31
Leja H Butt1018Argentina2024-06-07
Tony E Sergi1019India2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson Q NickaGermanyIvan Magalhaes NEGOTIATION
Murillo I NickaUnited KingdomOnyama Limba RENEWAL
Munro F GillianCanadaAnna Fali QUALIFIED
Clifford F VocelkaItalyXuxue Feng PROPOSAL
Deepesh P DarakjyBrazilOnyama Limba UNQUALIFIED
Maisha U MaletRussiaBernardo Dominic NEW
Leja I SchemmerGermanyXuxue Feng NEW
Arvin W OldroydAustraliaAnna Fali PROPOSAL
Leon V StensethCanadaIoni Bowcher UNQUALIFIED
Chavez S WieserAustraliaElwin Sharvill RENEWAL
Kadeem U NestleSpainAmy Elsner NEW
Jones M FigeroaFranceAsiya Javayant NEW
Tony N ButtAustraliaOnyama Limba PROPOSAL
Darci S CampainRussiaOnyama Limba QUALIFIED
Costa Y MaletArgentinaAnna Fali PROPOSAL
Rodrigues K BowleyArgentinaAnna Fali PROPOSAL
Tony E FigeroaJapanIvan Magalhaes NEW
Isabel V RimIndiaIoni Bowcher RENEWAL
Smith C PoquetteSpainXuxue Feng UNQUALIFIED
Johnson W MarrierJapanBernardo Dominic RENEWAL
Adams U MaletFranceAmy Elsner NEW
Wickens H FlosiIndiaIvan Magalhaes NEW
Wickens L OldroydSpainOnyama Limba QUALIFIED
Smith Y SlusarskiUnited KingdomStephen Shaw NEGOTIATION
Darci H MorascaBrazilOnyama Limba QUALIFIED
Maria I BriddickSpainAsiya Javayant UNQUALIFIED
James X GarufiItalyAmy Elsner PROPOSAL
Stacey K MacleadBrazilXuxue Feng UNQUALIFIED
Arvin U DarakjyIndiaIoni Bowcher QUALIFIED
Francesco I BowleyIndiaAnna Fali UNQUALIFIED
Sinclair C FlosiIndiaIoni Bowcher PROPOSAL
Mayumi Z NestleBrazilStephen Shaw UNQUALIFIED
Aika C InouyeSpainStephen Shaw UNQUALIFIED
Silvio U SaylorsRussiaElwin Sharvill RENEWAL
Octavia E KolmetzIndiaBernardo Dominic NEW
Munro W FlosiFranceAnna Fali NEGOTIATION
Cody A WaycottFranceStephen Shaw NEW
Munro E MaletCanadaElwin Sharvill QUALIFIED
Smith R WieserCanadaIvan Magalhaes QUALIFIED
Silvio N GauchoIndiaOnyama Limba 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>