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
Munro V AlbaresSpainXuxue Feng QUALIFIED
Deepesh D CaldareraItalyXuxue Feng RENEWAL
Maisha J WaycottCanadaOnyama Limba RENEWAL
Julie R SergiIndiaXuxue Feng NEGOTIATION
Wickens P FerenczFranceElwin Sharvill UNQUALIFIED
Kadeem I SergiRussiaBernardo Dominic NEGOTIATION
Juan S RoysterGermanyAnna Fali RENEWAL
Maria N RoysterIndiaStephen Shaw PROPOSAL
Antonio O FollerRussiaAsiya Javayant NEGOTIATION
Octavia Q RoysterRussiaXuxue Feng NEGOTIATION
Kadeem F CampainArgentinaAsiya Javayant PROPOSAL
Maisha Q RulapaughSpainBernardo Dominic NEGOTIATION
Salvatore U DilliardIndiaBernardo Dominic NEGOTIATION
Octavia I VocelkaGermanyAmy Elsner NEW
Jefferson H RimFranceBernardo Dominic UNQUALIFIED
Emily U WhobreyGermanyXuxue Feng QUALIFIED
Jones J PerinRussiaAnna Fali NEW
Sinclair N KuskoCanadaXuxue Feng NEGOTIATION
Julie Z CampainBrazilAnna Fali UNQUALIFIED
Isabel N StensethCanadaStephen Shaw RENEWAL
Claire K OldroydGermanyElwin Sharvill NEGOTIATION
Octavia H GlickFranceAnna Fali QUALIFIED
Misaki V StensethUnited KingdomElwin Sharvill QUALIFIED
Greenwood E FerenczArgentinaIvan Magalhaes PROPOSAL
Chavez W TollnerIndiaAsiya Javayant NEGOTIATION
Smith R ButtIndiaAnna Fali QUALIFIED
Adams U MacleadAustraliaOnyama Limba NEW
Murillo Z RutaFranceAnna Fali QUALIFIED
Maisha A PaprockiFranceElwin Sharvill QUALIFIED
Greenwood B PaprockiGermanyAmy Elsner UNQUALIFIED
Isabel D ChuiArgentinaIoni Bowcher RENEWAL
Izzy O GillianBrazilIvan Magalhaes PROPOSAL
Johnson I SergiUnited KingdomOnyama Limba PROPOSAL
Morrow I BologniaJapanElwin Sharvill RENEWAL
Tony S RimIndiaIvan Magalhaes NEW
Julie J FollerCanadaElwin Sharvill NEW
Smith M WhobreyAustraliaAmy Elsner UNQUALIFIED
Izzy A ShinkoGermanyElwin Sharvill QUALIFIED
Darci A NestleCanadaAnna Fali PROPOSAL
Maria O PoquetteSpainBernardo Dominic NEGOTIATION
Mayumi O AlbaresBrazilAnna Fali PROPOSAL
Morrow M DilliardFranceElwin Sharvill NEW
Antonio B ChuiIndiaBernardo Dominic NEGOTIATION
Johnson U VenereSpainIoni Bowcher NEW
Deepesh G StockhamArgentinaStephen Shaw PROPOSAL
Mujtaba O WaycottCanadaIvan Magalhaes NEW
Nicolas L RoysterFranceBernardo Dominic UNQUALIFIED
Ricardo A SchemmerJapanAmy Elsner RENEWAL
Cody J BowleyArgentinaOnyama Limba PROPOSAL
David O RoysterItalyAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin A StockhamFranceElwin Sharvill QUALIFIED
Smith R CaudyJapanIoni Bowcher RENEWAL
Isabel B NestleArgentinaOnyama Limba RENEWAL
Maisha I MarrierItalyIoni Bowcher QUALIFIED
Jennifer M FigeroaBrazilOnyama Limba PROPOSAL
James K PaprockiAustraliaBernardo Dominic QUALIFIED
Cody J WaycottUnited KingdomIvan Magalhaes QUALIFIED
Misaki D CaldareraGermanyStephen Shaw NEGOTIATION
Morrow J BriddickIndiaXuxue Feng NEW
Wickens H GarufiRussiaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi J FigeroaItaly2026-06-30Chemel, James L Cpa QUALIFIED42Amy Elsner
1001Ivar S GlickBrazil2026-06-28Chanay, Jeffrey A Esq NEGOTIATION7Bernardo Dominic
1002Costa Z MorascaAustralia2026-07-10Chemel, James L Cpa NEW22Xuxue Feng
1003Julie M RulapaughGermany2026-07-05Feiner Bros UNQUALIFIED48Xuxue Feng
1004Chavez A PaprockiArgentina2026-07-09Benton, John B Jr UNQUALIFIED88Stephen Shaw
1005Stacey O MarrierBrazil2026-07-19Benton, John B Jr PROPOSAL59Xuxue Feng
1006Greenwood L FigeroaRussia2026-07-17Feltz Printing Service PROPOSAL62Anna Fali
1007Salvatore J RimAustralia2026-07-07Dorl, James J Esq UNQUALIFIED33Xuxue Feng
1008James Q GauchoJapan2026-07-21Commercial Press RENEWAL82Ioni Bowcher
1009Munro Y VenereRussia2026-07-18Rangoni Of Florence RENEWAL71Ivan Magalhaes
1010Salvatore C ButtItaly2026-07-25Rangoni Of Florence UNQUALIFIED26Anna Fali
1011Mujtaba Z OldroydIndia2026-07-01Rousseaux, Michael Esq UNQUALIFIED58Stephen Shaw
1012Maria D PoquetteRussia2026-07-21Chemel, James L Cpa NEGOTIATION3Asiya Javayant
1013Smith P RutaFrance2026-07-26Morlong Associates RENEWAL8Asiya Javayant
1014Murillo S WhobreyIndia2026-07-09Morlong Associates UNQUALIFIED51Bernardo Dominic
1015Julie Z GlickCanada2026-07-19Printing Dimensions QUALIFIED84Bernardo Dominic
1016Jones E KuskoUnited Kingdom2026-07-22King, Christopher A Esq UNQUALIFIED17Asiya Javayant
1017Leon I GillianBrazil2026-07-03Feltz Printing Service UNQUALIFIED94Ivan Magalhaes
1018Smith J FollerAustralia2026-07-13Rousseaux, Michael Esq NEGOTIATION71Asiya Javayant
1019Morrow M RulapaughJapan2026-07-12Benton, John B Jr NEW95Asiya Javayant
1020Maria D CaldareraCanada2026-07-13Feltz Printing Service NEW43Elwin Sharvill
1021Clifford S VocelkaAustralia2026-06-28Rousseaux, Michael Esq UNQUALIFIED28Anna Fali
1022Morrow M FigeroaJapan2026-07-14Chemel, James L Cpa RENEWAL44Amy Elsner
1023Alejandro G ChuiArgentina2026-07-23Chapman, Ross E Esq NEW84Anna Fali
1024Mayumi F AmigonFrance2026-07-12Dorl, James J Esq NEW82Ivan Magalhaes
1025Clifford W WaycottJapan2026-07-06Feiner Bros UNQUALIFIED7Ioni Bowcher
1026Morrow Y FigeroaSpain2026-07-13Feiner Bros QUALIFIED65Elwin Sharvill
1027Adams S KuskoArgentina2026-07-07Benton, John B Jr NEGOTIATION85Bernardo Dominic
1028Aditya Z StensethAustralia2026-07-22Chemel, James L Cpa NEW11Xuxue Feng
1029Tony Z OstroskyIndia2026-07-15Rousseaux, Michael Esq NEW97Asiya Javayant
1030Julie N CampainBrazil2026-06-28Printing Dimensions QUALIFIED36Ioni Bowcher
1031Clifford P StockhamSpain2026-06-30Morlong Associates QUALIFIED10Asiya Javayant
1032Antonio M PerinAustralia2026-07-02Chemel, James L Cpa NEGOTIATION50Stephen Shaw
1033Leon L WhobreyFrance2026-07-09Rangoni Of Florence RENEWAL97Ioni Bowcher
1034Maisha V ShinkoItaly2026-07-11Feiner Bros NEGOTIATION60Elwin Sharvill
1035Costa U CampainCanada2026-07-27Benton, John B Jr RENEWAL88Ivan Magalhaes
1036Isabel B CaldareraIndia2026-07-09Rangoni Of Florence NEW42Xuxue Feng
1037Sinclair F ButtAustralia2026-07-02Dorl, James J Esq RENEWAL0Xuxue Feng
1038Leon G BologniaFrance2026-07-08Benton, John B Jr PROPOSAL58Elwin Sharvill
1039Misaki M VenereBrazil2026-07-05Commercial Press NEW51Ioni Bowcher
1040Darci G TollnerFrance2026-07-22Chanay, Jeffrey A Esq NEW49Amy Elsner
1041Kaitlin P AmigonUnited Kingdom2026-07-15Feltz Printing Service NEGOTIATION89Xuxue Feng
1042Murillo S BowleyBrazil2026-07-16Dorl, James J Esq RENEWAL51Ioni Bowcher
1043Ricardo G SchemmerUnited Kingdom2026-07-03Dorl, James J Esq QUALIFIED44Ioni Bowcher
1044Izzy S BriddickSpain2026-07-21Dorl, James J Esq UNQUALIFIED38Stephen Shaw
1045Antonio C FerenczItaly2026-07-24Commercial Press NEGOTIATION16Ioni Bowcher
1046Smith Y VenereAustralia2026-07-19Truhlar And Truhlar Attys QUALIFIED24Ivan Magalhaes
1047Ashley M IturbideBrazil2026-07-04Feltz Printing Service NEW83Onyama Limba
1048Leon H VenereRussia2026-07-27Benton, John B Jr UNQUALIFIED96Amy Elsner
1049Costa O CaudyArgentina2026-07-20Feltz Printing Service UNQUALIFIED99Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Q DilliardItalyAmy Elsner UNQUALIFIED
Leon O KuskoArgentinaIoni Bowcher PROPOSAL
Claire P SchemmerAustraliaBernardo Dominic NEW
Costa A InouyeAustraliaXuxue Feng QUALIFIED
Mujtaba B FlosiArgentinaXuxue Feng QUALIFIED
Munro B RulapaughItalyXuxue Feng PROPOSAL
Faith M WhobreyItalyAnna Fali QUALIFIED
Antonio R MaletSpainOnyama Limba PROPOSAL
Munro U BriddickUnited KingdomOnyama Limba RENEWAL
Antonio U ShinkoAustraliaBernardo Dominic NEGOTIATION
Antonio N StockhamUnited KingdomStephen Shaw QUALIFIED
Alejandro C WaycottUnited KingdomAnna Fali RENEWAL
Adams V DarakjyUnited KingdomIoni Bowcher RENEWAL
Jones X SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Salvatore G InouyeGermanyElwin Sharvill QUALIFIED
Adams A PerinSpainIvan Magalhaes NEW
Izzy C AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh J RutaBrazilOnyama Limba QUALIFIED
Isabel J NestleSpainAnna Fali QUALIFIED
Maria L AmigonBrazilIoni Bowcher NEGOTIATION
Misaki Q KolmetzArgentinaStephen Shaw QUALIFIED
Kaitlin I ShinkoRussiaBernardo Dominic NEGOTIATION
Adams W PaprockiAustraliaIvan Magalhaes NEW
Greenwood P GarufiIndiaIvan Magalhaes RENEWAL
Kadeem P TollnerFranceElwin Sharvill UNQUALIFIED
Octavia G SlusarskiSpainAnna Fali PROPOSAL
Mujtaba B RoysterSpainBernardo Dominic NEW
Greenwood N PaprockiAustraliaIoni Bowcher NEW
Deepesh M GillianSpainXuxue Feng NEW
Silvio E SergiBrazilStephen Shaw NEGOTIATION
Jeanfrancois K GillianBrazilStephen Shaw NEW
Jennifer O ButtUnited KingdomAsiya Javayant RENEWAL
Cody V PoquetteFranceAsiya Javayant RENEWAL
Johnson W RutaSpainIoni Bowcher QUALIFIED
Leja W PerinItalyXuxue Feng UNQUALIFIED
Aika S RutaIndiaElwin Sharvill NEW
Munro L OldroydCanadaAsiya Javayant PROPOSAL
Silvio D RulapaughCanadaIoni Bowcher NEW
Izzy L SaylorsItalyXuxue Feng RENEWAL
Costa B WhobreyUnited KingdomAmy Elsner RENEWAL
David H WaycottUnited KingdomIvan Magalhaes NEW
Alejandro C MacleadSpainElwin Sharvill PROPOSAL
Ivar N RutaFranceIoni Bowcher QUALIFIED
Juan Z RulapaughUnited KingdomXuxue Feng PROPOSAL
Mujtaba P StockhamItalyXuxue Feng RENEWAL
Jeanfrancois W MarrierCanadaAsiya Javayant RENEWAL
Darci Y WieserIndiaAmy Elsner NEW
Izzy T CaudyAustraliaAnna Fali QUALIFIED
Emily B SaylorsItalyElwin Sharvill NEGOTIATION
Izzy N CaudyIndiaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Cody Q Malet
Mujtaba N Tollner
Mujtaba S Royster
Jones F Briddick
David V Oldroyd
Clifford I Chui
Munro C Waycott
Mayumi F Doe
Sinclair R Sergi
Jefferson T Saylors
Mujtaba V Morasca
Jones T Rulapaugh
Francesco X Gaucho
Maisha Z Malet
Isabel D Caldarera
Mujtaba T Shinko
David O Marrier
Maria C Stockham
Aditya E Glick
Jefferson U Gillian
James R Poquette
Mayumi W Shinko
Munro C Whobrey
Jones S Shinko
Maria Y Gaucho
Kadeem F Gaucho
Costa K Nicka
Ivar Y Morasca
Mayumi W Rim
Jones R Garufi
Faith W Figeroa
Mayumi H Whobrey
Adams H Caudy
Jefferson V Rulapaugh
Claire O Bowley
Chavez N Tollner
Claire J Inouye
Rodrigues X Rulapaugh
Antonio S Whobrey
Leon D Morasca
Jefferson U Chui
Faith Q Flosi
Ricardo O Flosi
Maisha R Paprocki
Salvatore E Perin
Munro D Briddick
Jefferson X Venere
Stacey V Kusko
Maisha R Shinko
Emily F Royster
IdCountryDate
1000Spain2026-07-15
1001Italy2026-07-03
1002Argentina2026-06-30
1003Spain2026-07-15
1004France2026-06-28
1005Russia2026-07-16
1006United Kingdom2026-07-16
1007Germany2026-07-23
1008Russia2026-07-27
1009Italy2026-07-27
1010Argentina2026-06-29
1011Argentina2026-07-25
1012Brazil2026-06-30
1013Australia2026-07-12
1014Italy2026-07-06
1015France2026-07-27
1016Germany2026-07-15
1017United Kingdom2026-07-11
1018United Kingdom2026-07-13
1019India2026-07-16
1020Spain2026-07-11
1021Argentina2026-07-08
1022Australia2026-07-06
1023Brazil2026-06-29
1024Canada2026-07-12
1025India2026-07-08
1026Brazil2026-07-19
1027Spain2026-07-27
1028Germany2026-06-29
1029France2026-07-15
1030France2026-07-18
1031Italy2026-07-14
1032Italy2026-07-21
1033Argentina2026-07-16
1034India2026-07-20
1035Australia2026-07-10
1036Japan2026-07-21
1037Spain2026-07-03
1038Brazil2026-07-25
1039Spain2026-07-09
1040France2026-07-12
1041Canada2026-07-12
1042Brazil2026-07-24
1043France2026-07-09
1044Spain2026-07-12
1045Spain2026-07-27
1046Japan2026-07-21
1047Russia2026-07-12
1048Spain2026-06-30
1049Japan2026-06-28

On-Demand Data

NameIdCountryDate
Darci V Butt1000Spain2026-07-22
Darci L Nestle1001Australia2026-07-09
Kadeem E Oldroyd1002France2026-07-08
Nicolas S Foller1003Germany2026-07-21
Adams A Doe1004United Kingdom2026-07-02
Julie S Campain1005Spain2026-07-07
Julie K Paprocki1006Russia2026-07-15
Adams A Foller1007Russia2026-07-20
Julie L Gillian1008Germany2026-07-09
Adams V Iturbide1009France2026-07-23
Emily Y Paprocki1010Argentina2026-07-04
Octavia N Figeroa1011Canada2026-07-04
Tony F Stenseth1012Australia2026-07-05
Stacey Z Saylors1013France2026-06-29
Mujtaba H Kolmetz1014India2026-07-02
Faith N Glick1015Argentina2026-07-10
Deepesh W Kusko1016Canada2026-07-16
Ricardo B Butt1017Brazil2026-07-16
Deepesh I Vocelka1018Argentina2026-07-08
Francesco Z Schemmer1019Spain2026-07-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson Y GillianUnited KingdomElwin Sharvill PROPOSAL
Antonio D FlosiCanadaAmy Elsner PROPOSAL
Mayumi T DilliardBrazilBernardo Dominic NEGOTIATION
Leja I VocelkaRussiaAnna Fali RENEWAL
Arvin M GillianRussiaAmy Elsner NEGOTIATION
Cody Y GarufiIndiaOnyama Limba PROPOSAL
Arvin L WhobreyCanadaElwin Sharvill PROPOSAL
Antonio V FollerArgentinaBernardo Dominic RENEWAL
Alejandro Y BriddickArgentinaAsiya Javayant RENEWAL
Leon O BowleyArgentinaAnna Fali NEGOTIATION
Aditya O AmigonBrazilOnyama Limba NEW
Mayumi A ChuiJapanBernardo Dominic UNQUALIFIED
Francesco Y PaprockiJapanBernardo Dominic QUALIFIED
Aika E RulapaughUnited KingdomAsiya Javayant QUALIFIED
Mayumi A RulapaughUnited KingdomStephen Shaw PROPOSAL
Costa R OldroydIndiaAnna Fali UNQUALIFIED
Claire V DoeSpainOnyama Limba NEW
James Z PaprockiCanadaXuxue Feng RENEWAL
Julie M MaletBrazilBernardo Dominic NEW
Octavia C KuskoJapanAsiya Javayant PROPOSAL
Ivar C KuskoCanadaAsiya Javayant RENEWAL
Misaki R OldroydSpainAnna Fali QUALIFIED
Greenwood D SchemmerIndiaXuxue Feng NEGOTIATION
David Y DilliardSpainBernardo Dominic UNQUALIFIED
Silvio R WieserBrazilOnyama Limba RENEWAL
Wickens I ShinkoJapanElwin Sharvill QUALIFIED
Deepesh G NestleJapanElwin Sharvill PROPOSAL
Morrow X GillianRussiaBernardo Dominic UNQUALIFIED
Maisha Q VocelkaArgentinaAsiya Javayant QUALIFIED
Adams I SchemmerJapanElwin Sharvill NEW
David N DarakjyIndiaIvan Magalhaes UNQUALIFIED
Chavez F OstroskyJapanElwin Sharvill UNQUALIFIED
Mayumi U RimCanadaBernardo Dominic NEW
Ricardo X GarufiAustraliaBernardo Dominic NEGOTIATION
David H CampainFranceXuxue Feng RENEWAL
Mayumi S DilliardArgentinaIoni Bowcher NEW
Kaitlin G CaudyUnited KingdomAnna Fali RENEWAL
Ivar B RutaIndiaStephen Shaw NEGOTIATION
Aika G BriddickFranceIoni Bowcher NEGOTIATION
Clifford T SlusarskiSpainAsiya Javayant 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>