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
Nicolas I IturbideBrazilIoni Bowcher QUALIFIED
Aruna M BologniaAustraliaElwin Sharvill PROPOSAL
Rodrigues B WhobreyArgentinaAsiya Javayant NEW
Mujtaba N GauchoIndiaIvan Magalhaes PROPOSAL
Aruna D SchemmerCanadaAmy Elsner PROPOSAL
Jennifer E AmigonUnited KingdomAnna Fali PROPOSAL
Sinclair V SaylorsUnited KingdomAnna Fali UNQUALIFIED
Julie K BriddickRussiaOnyama Limba NEGOTIATION
Aruna C FerenczIndiaStephen Shaw UNQUALIFIED
Adams A BowleyRussiaIvan Magalhaes RENEWAL
Aruna X SergiAustraliaAmy Elsner PROPOSAL
Octavia D TollnerGermanyBernardo Dominic NEGOTIATION
Mayumi T RoysterJapanBernardo Dominic NEW
Juan Y OldroydGermanyAmy Elsner PROPOSAL
Adams M FigeroaBrazilAmy Elsner NEW
Arvin B IturbideJapanElwin Sharvill PROPOSAL
Chavez Z CaldareraBrazilAnna Fali NEGOTIATION
Rodrigues X CampainBrazilAnna Fali UNQUALIFIED
Stacey H FigeroaBrazilAmy Elsner RENEWAL
Antonio W SergiIndiaAnna Fali NEW
Jennifer S FlosiJapanOnyama Limba QUALIFIED
Arvin T DilliardFranceAsiya Javayant PROPOSAL
Izzy M OstroskyUnited KingdomAmy Elsner UNQUALIFIED
David R MorascaSpainXuxue Feng PROPOSAL
Francesco I SlusarskiBrazilAnna Fali PROPOSAL
Ivar B GlickUnited KingdomStephen Shaw NEGOTIATION
Cody B SaylorsUnited KingdomOnyama Limba QUALIFIED
Francesco A BriddickGermanyIoni Bowcher PROPOSAL
Murillo A GlickFranceAnna Fali NEW
Mayumi E SlusarskiSpainXuxue Feng PROPOSAL
Greenwood C MaletFranceBernardo Dominic NEW
Antonio M SlusarskiIndiaXuxue Feng QUALIFIED
Claire U SergiArgentinaAsiya Javayant QUALIFIED
Mujtaba F GarufiBrazilAmy Elsner NEW
Misaki W WaycottGermanyIoni Bowcher NEGOTIATION
Johnson G FerenczJapanElwin Sharvill NEGOTIATION
Juan T WaycottUnited KingdomAsiya Javayant UNQUALIFIED
Chavez L PerinItalyAmy Elsner RENEWAL
Stacey A OldroydGermanyIvan Magalhaes NEW
Emily Y WaycottCanadaElwin Sharvill NEGOTIATION
Smith M OstroskyCanadaAnna Fali RENEWAL
Smith E GauchoIndiaBernardo Dominic RENEWAL
Maisha Z WieserGermanyAsiya Javayant NEW
Izzy X KolmetzItalyIoni Bowcher QUALIFIED
Jeanfrancois X SaylorsIndiaIvan Magalhaes QUALIFIED
Antonio L OstroskyBrazilOnyama Limba UNQUALIFIED
Leon T ShinkoBrazilIoni Bowcher NEW
Jennifer K MaletCanadaElwin Sharvill NEGOTIATION
Darci N ShinkoAustraliaBernardo Dominic QUALIFIED
Mujtaba O RulapaughIndiaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco Q KuskoAustraliaStephen Shaw QUALIFIED
Costa O VocelkaUnited KingdomXuxue Feng PROPOSAL
Darci L KuskoItalyAnna Fali PROPOSAL
Ricardo Y RulapaughBrazilIoni Bowcher PROPOSAL
Juan K GillianCanadaStephen Shaw QUALIFIED
Isabel X MarrierRussiaAsiya Javayant QUALIFIED
Adams F CaldareraFranceIoni Bowcher QUALIFIED
Wickens E ButtItalyBernardo Dominic NEW
Maisha H GarufiCanadaBernardo Dominic QUALIFIED
James X GillianJapanXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire H CaldareraUnited Kingdom2026-08-06Chanay, Jeffrey A Esq RENEWAL97Stephen Shaw
1001James C ChuiUnited Kingdom2026-08-02Feiner Bros PROPOSAL29Ioni Bowcher
1002Sinclair O SchemmerFrance2026-07-28Printing Dimensions NEW39Bernardo Dominic
1003Greenwood R KuskoUnited Kingdom2026-08-04Feiner Bros NEGOTIATION28Onyama Limba
1004Salvatore P IturbideRussia2026-08-03Feiner Bros PROPOSAL65Xuxue Feng
1005Faith B WieserIndia2026-07-30Rousseaux, Michael Esq NEW73Amy Elsner
1006Johnson Q RoysterArgentina2026-07-25Truhlar And Truhlar Attys PROPOSAL44Onyama Limba
1007Morrow G RimUnited Kingdom2026-08-04Chapman, Ross E Esq RENEWAL95Amy Elsner
1008Leon Q CampainFrance2026-08-05Rousseaux, Michael Esq RENEWAL18Bernardo Dominic
1009Greenwood Q FerenczRussia2026-08-11Buckley Miller Wright QUALIFIED84Onyama Limba
1010Silvio C MarrierGermany2026-08-10Rousseaux, Michael Esq NEGOTIATION21Xuxue Feng
1011Cody K WieserAustralia2026-08-07Buckley Miller Wright QUALIFIED99Ioni Bowcher
1012Costa Z VenereAustralia2026-08-02Benton, John B Jr UNQUALIFIED41Onyama Limba
1013Johnson Q DarakjyRussia2026-08-11Truhlar And Truhlar Attys PROPOSAL11Bernardo Dominic
1014Silvio V NickaBrazil2026-07-31Feltz Printing Service NEGOTIATION40Stephen Shaw
1015Rodrigues U WaycottRussia2026-08-07King, Christopher A Esq UNQUALIFIED99Anna Fali
1016Maria X NestleAustralia2026-07-22Benton, John B Jr PROPOSAL16Elwin Sharvill
1017Cody J RoysterUnited Kingdom2026-07-16Chapman, Ross E Esq RENEWAL83Anna Fali
1018Rodrigues H InouyeItaly2026-08-12Feltz Printing Service NEGOTIATION39Onyama Limba
1019Cody A GarufiArgentina2026-08-08Truhlar And Truhlar Attys PROPOSAL75Amy Elsner
1020Cody Q CaudyUnited Kingdom2026-08-09Printing Dimensions PROPOSAL37Asiya Javayant
1021Costa X WhobreyJapan2026-08-08Morlong Associates QUALIFIED70Ivan Magalhaes
1022Kadeem F KolmetzGermany2026-07-23Benton, John B Jr NEW57Amy Elsner
1023Leja M MaletJapan2026-07-15Feltz Printing Service RENEWAL29Asiya Javayant
1024Munro V RulapaughSpain2026-07-19Chemel, James L Cpa RENEWAL91Bernardo Dominic
1025Kaitlin V StockhamUnited Kingdom2026-08-11Chanay, Jeffrey A Esq QUALIFIED79Anna Fali
1026Wickens S FigeroaAustralia2026-07-27Truhlar And Truhlar Attys NEGOTIATION95Xuxue Feng
1027Ricardo H CaudyFrance2026-07-20Chanay, Jeffrey A Esq QUALIFIED88Stephen Shaw
1028Jefferson P PoquetteArgentina2026-07-29Truhlar And Truhlar Attys NEGOTIATION82Ioni Bowcher
1029Stacey N SergiRussia2026-08-10Morlong Associates QUALIFIED99Ivan Magalhaes
1030Maria I IturbideGermany2026-08-04Rangoni Of Florence QUALIFIED28Asiya Javayant
1031Aika Y MaletGermany2026-08-11Truhlar And Truhlar Attys PROPOSAL38Onyama Limba
1032Izzy O InouyeArgentina2026-08-12Printing Dimensions RENEWAL8Amy Elsner
1033Smith C FigeroaCanada2026-08-10Rangoni Of Florence QUALIFIED45Asiya Javayant
1034Arvin D BowleyIndia2026-08-03Benton, John B Jr NEW99Elwin Sharvill
1035Ashley R TollnerGermany2026-07-27Morlong Associates QUALIFIED90Asiya Javayant
1036Johnson C RulapaughCanada2026-07-26Chemel, James L Cpa PROPOSAL46Amy Elsner
1037Ricardo E BologniaSpain2026-07-18Dorl, James J Esq NEW62Asiya Javayant
1038Ivar U FerenczArgentina2026-07-17Feltz Printing Service NEW55Ivan Magalhaes
1039Faith U FigeroaCanada2026-07-30Rousseaux, Michael Esq QUALIFIED82Bernardo Dominic
1040Mujtaba X NestleUnited Kingdom2026-07-27Morlong Associates NEW70Anna Fali
1041Ashley J BowleyIndia2026-07-27Benton, John B Jr NEW96Amy Elsner
1042Smith Y FlosiCanada2026-07-24Feltz Printing Service PROPOSAL90Asiya Javayant
1043Alejandro H RimItaly2026-07-18Morlong Associates QUALIFIED34Elwin Sharvill
1044Faith L WaycottArgentina2026-07-24Buckley Miller Wright QUALIFIED44Anna Fali
1045Darci W DoeRussia2026-07-23Buckley Miller Wright NEW24Ioni Bowcher
1046Cody Y KolmetzFrance2026-08-08Rousseaux, Michael Esq QUALIFIED57Amy Elsner
1047Faith B GillianArgentina2026-07-15Rousseaux, Michael Esq PROPOSAL57Stephen Shaw
1048Isabel W VenereIndia2026-07-24Feltz Printing Service PROPOSAL86Amy Elsner
1049Maria G PerinJapan2026-07-23Rousseaux, Michael Esq QUALIFIED57Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba F OldroydFranceIoni Bowcher QUALIFIED
Kadeem O GlickItalyAmy Elsner UNQUALIFIED
Jefferson U GarufiAustraliaElwin Sharvill NEGOTIATION
Julie W MorascaFranceIvan Magalhaes QUALIFIED
Jefferson X SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
Kaitlin G WaycottUnited KingdomIvan Magalhaes PROPOSAL
Nicolas F GauchoAustraliaElwin Sharvill PROPOSAL
Tony F RutaSpainIoni Bowcher RENEWAL
Francesco R PaprockiCanadaStephen Shaw NEGOTIATION
Johnson O PerinItalyAnna Fali UNQUALIFIED
Stacey X SlusarskiGermanyXuxue Feng QUALIFIED
Mayumi W FerenczUnited KingdomBernardo Dominic QUALIFIED
David N NickaIndiaElwin Sharvill NEGOTIATION
Octavia C PerinRussiaStephen Shaw NEGOTIATION
Antonio H DilliardArgentinaBernardo Dominic QUALIFIED
Morrow T RimSpainOnyama Limba NEGOTIATION
Misaki C RimItalyAnna Fali UNQUALIFIED
Mujtaba J ButtGermanyAsiya Javayant PROPOSAL
Munro C CaldareraItalyStephen Shaw PROPOSAL
Morrow M CaudyIndiaAmy Elsner NEW
Ivar G GillianBrazilBernardo Dominic PROPOSAL
Misaki F MarrierRussiaOnyama Limba QUALIFIED
Murillo T StensethRussiaIvan Magalhaes RENEWAL
Julie G DoeUnited KingdomOnyama Limba NEGOTIATION
Adams L SaylorsUnited KingdomIoni Bowcher NEW
Francesco R OstroskyArgentinaIoni Bowcher RENEWAL
Kaitlin V KolmetzBrazilXuxue Feng PROPOSAL
Leja M PaprockiItalyIoni Bowcher NEGOTIATION
Jefferson Q BowleySpainAnna Fali NEGOTIATION
Clifford C AmigonFranceElwin Sharvill UNQUALIFIED
Rodrigues Q WaycottBrazilXuxue Feng NEGOTIATION
Julie K AmigonIndiaAsiya Javayant UNQUALIFIED
Ricardo U OldroydItalyAnna Fali QUALIFIED
Smith K BowleyAustraliaBernardo Dominic QUALIFIED
Mujtaba I ChuiJapanAsiya Javayant PROPOSAL
Jeanfrancois I DarakjyUnited KingdomOnyama Limba QUALIFIED
Rodrigues P NestleFranceOnyama Limba PROPOSAL
Murillo N RoysterRussiaElwin Sharvill NEW
Aika D FigeroaSpainXuxue Feng QUALIFIED
Alejandro A IturbideFranceXuxue Feng PROPOSAL
Kaitlin B WaycottItalyIoni Bowcher NEW
Greenwood E GarufiGermanyXuxue Feng UNQUALIFIED
Ricardo P PerinSpainAsiya Javayant NEW
Tony V GarufiRussiaStephen Shaw NEGOTIATION
Mujtaba Y ShinkoSpainXuxue Feng RENEWAL
Julie D SlusarskiRussiaIvan Magalhaes QUALIFIED
Greenwood N VocelkaCanadaIvan Magalhaes PROPOSAL
Octavia Y FlosiIndiaAmy Elsner NEGOTIATION
Stacey B SaylorsFranceElwin Sharvill UNQUALIFIED
Greenwood G PerinJapanAnna Fali PROPOSAL
Frozen Columns
Name
Maisha U Ruta
Rodrigues C Marrier
Deepesh C Poquette
Julie S Flosi
Alejandro X Malet
Francesco Y Bolognia
Morrow V Garufi
Cody Y Rulapaugh
Izzy Y Caudy
Kadeem U Malet
Leon C Caldarera
Aditya D Iturbide
Emily G Gaucho
Aditya K Malet
Tony Y Malet
Antonio N Gillian
Misaki Z Morasca
Salvatore Y Wieser
Morrow D Nicka
Ashley T Gaucho
Mujtaba F Perin
Faith N Garufi
Rodrigues K Malet
Adams F Marrier
Ricardo N Wieser
Maisha X Campain
Nicolas K Waycott
Johnson H Garufi
Jefferson E Maclead
Kaitlin K Ostrosky
Misaki K Morasca
Nicolas J Iturbide
Tony F Bowley
Arvin W Darakjy
Johnson Z Venere
Ashley N Figeroa
Misaki S Perin
Wickens C Butt
Costa L Chui
Smith U Albares
Maria N Royster
Julie N Butt
Aika D Maclead
Sinclair A Stenseth
Antonio Y Wieser
James H Saylors
Julie D Doe
Cody T Bolognia
Nicolas Y Nestle
Leon X Garufi
IdCountryDate
1000India2026-08-01
1001Russia2026-08-05
1002Brazil2026-08-02
1003France2026-08-11
1004France2026-08-03
1005Canada2026-08-01
1006Canada2026-07-19
1007Spain2026-07-26
1008Canada2026-07-22
1009Japan2026-08-08
1010Japan2026-07-31
1011France2026-07-21
1012France2026-07-27
1013Spain2026-07-27
1014India2026-08-07
1015Russia2026-08-11
1016Australia2026-07-15
1017Germany2026-08-12
1018Japan2026-07-25
1019Japan2026-07-24
1020Spain2026-07-20
1021Australia2026-07-16
1022Italy2026-07-30
1023Japan2026-08-09
1024United Kingdom2026-07-21
1025India2026-07-31
1026Germany2026-08-02
1027Argentina2026-08-07
1028India2026-08-05
1029United Kingdom2026-07-24
1030Canada2026-07-24
1031France2026-07-14
1032Italy2026-07-17
1033India2026-08-04
1034Germany2026-07-26
1035Argentina2026-08-08
1036Germany2026-07-25
1037Japan2026-07-25
1038Spain2026-08-11
1039Australia2026-07-16
1040United Kingdom2026-07-20
1041Germany2026-07-27
1042Germany2026-08-07
1043India2026-07-17
1044Germany2026-07-19
1045India2026-07-27
1046Russia2026-07-20
1047Spain2026-07-21
1048Brazil2026-07-20
1049Germany2026-07-18

On-Demand Data

NameIdCountryDate
Kaitlin E Malet1000Australia2026-07-31
Kadeem P Waycott1001Germany2026-07-24
Antonio J Bolognia1002Argentina2026-07-31
Leja I Vocelka1003Japan2026-08-07
Maria Y Saylors1004Spain2026-07-18
Jones L Royster1005Spain2026-07-30
Misaki E Malet1006India2026-07-22
James I Campain1007Spain2026-07-27
Darci X Ruta1008Italy2026-08-06
Aditya J Briddick1009Spain2026-08-10
Jefferson I Oldroyd1010Brazil2026-07-25
Sinclair I Flosi1011Brazil2026-07-20
Tony G Wieser1012Japan2026-07-19
Juan M Maclead1013Russia2026-08-07
Sinclair F Chui1014Italy2026-07-15
Morrow X Bowley1015India2026-08-09
Costa O Venere1016Australia2026-08-05
Cody G Poquette1017Brazil2026-08-01
Jefferson Q Iturbide1018Canada2026-07-15
Mayumi U Sergi1019Australia2026-07-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore R MacleadBrazilAnna Fali UNQUALIFIED
Leja F FigeroaIndiaIvan Magalhaes NEW
David I CampainRussiaStephen Shaw QUALIFIED
Morrow P CampainItalyStephen Shaw UNQUALIFIED
Kadeem Z OstroskyBrazilIoni Bowcher NEGOTIATION
Rodrigues K FlosiRussiaAnna Fali PROPOSAL
Juan O ButtJapanXuxue Feng NEGOTIATION
Silvio F FigeroaFranceXuxue Feng NEGOTIATION
Isabel L DoeBrazilXuxue Feng PROPOSAL
Misaki E KuskoFranceXuxue Feng UNQUALIFIED
Nicolas C MaletJapanStephen Shaw UNQUALIFIED
Francesco F WhobreyArgentinaBernardo Dominic UNQUALIFIED
Kadeem Y GlickItalyElwin Sharvill QUALIFIED
Ashley A FigeroaBrazilIoni Bowcher PROPOSAL
Stacey T ChuiCanadaStephen Shaw NEW
Mujtaba T DarakjyFranceStephen Shaw UNQUALIFIED
Leon N TollnerSpainBernardo Dominic RENEWAL
Jones S SaylorsArgentinaOnyama Limba QUALIFIED
Juan O BologniaJapanAsiya Javayant UNQUALIFIED
Costa C NestleJapanXuxue Feng NEGOTIATION
Darci D PoquetteSpainOnyama Limba UNQUALIFIED
Juan K VocelkaBrazilOnyama Limba QUALIFIED
Salvatore Y WieserBrazilAsiya Javayant NEGOTIATION
Arvin K BowleyItalyBernardo Dominic RENEWAL
Leon O CaudyAustraliaIoni Bowcher QUALIFIED
Salvatore P RutaIndiaOnyama Limba PROPOSAL
Murillo N ButtSpainIvan Magalhaes NEGOTIATION
Clifford E ButtArgentinaAmy Elsner PROPOSAL
Tony O GarufiJapanOnyama Limba NEGOTIATION
Misaki K SchemmerRussiaAnna Fali NEGOTIATION
Adams M VocelkaArgentinaAnna Fali UNQUALIFIED
James D PoquetteGermanyAmy Elsner RENEWAL
Julie Q StockhamArgentinaAmy Elsner NEGOTIATION
Maria Z SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Isabel R RoysterSpainBernardo Dominic PROPOSAL
Adams M StensethUnited KingdomXuxue Feng NEGOTIATION
Francesco W FlosiUnited KingdomElwin Sharvill RENEWAL
Julie Y RulapaughGermanyStephen Shaw NEGOTIATION
Aruna C KuskoSpainAnna Fali UNQUALIFIED
Jefferson W GillianRussiaBernardo Dominic 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>