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
Ivar T PerinCanadaOnyama Limba NEW
Nicolas O GillianIndiaElwin Sharvill RENEWAL
Deepesh R CampainRussiaElwin Sharvill UNQUALIFIED
Sinclair O FerenczIndiaBernardo Dominic NEGOTIATION
Antonio M GillianUnited KingdomBernardo Dominic QUALIFIED
Smith G KuskoFranceStephen Shaw PROPOSAL
Misaki J TollnerItalyIvan Magalhaes NEW
Aditya O SlusarskiGermanyElwin Sharvill NEW
Stacey G FigeroaSpainIvan Magalhaes QUALIFIED
Ivar N OldroydGermanyIvan Magalhaes NEW
Antonio Y PoquetteGermanyStephen Shaw NEW
Stacey M GarufiSpainIoni Bowcher NEGOTIATION
Chavez M FlosiUnited KingdomStephen Shaw QUALIFIED
Mujtaba Z KuskoGermanyAnna Fali NEGOTIATION
Greenwood L NickaUnited KingdomXuxue Feng PROPOSAL
Munro F WaycottIndiaIoni Bowcher PROPOSAL
Faith P CaudyUnited KingdomAmy Elsner UNQUALIFIED
Mayumi K RoysterAustraliaAmy Elsner NEW
Cody S RulapaughArgentinaIoni Bowcher NEGOTIATION
Misaki N RoysterGermanyAnna Fali RENEWAL
Tony Y WieserJapanXuxue Feng QUALIFIED
Salvatore N FerenczJapanBernardo Dominic PROPOSAL
Costa N MorascaGermanyStephen Shaw UNQUALIFIED
Juan A MacleadIndiaAsiya Javayant UNQUALIFIED
Aika D KuskoFranceStephen Shaw RENEWAL
Alejandro H NestleGermanyAnna Fali NEGOTIATION
Faith Y FlosiUnited KingdomAmy Elsner RENEWAL
Kaitlin E OldroydGermanyAsiya Javayant NEGOTIATION
Emily O PoquetteGermanyIvan Magalhaes UNQUALIFIED
Maisha L CaudyRussiaStephen Shaw NEGOTIATION
Mayumi B PoquetteRussiaXuxue Feng QUALIFIED
Kaitlin K FigeroaArgentinaAsiya Javayant RENEWAL
Leon V NestleBrazilOnyama Limba UNQUALIFIED
Aditya N SergiRussiaAsiya Javayant UNQUALIFIED
Maria O StensethAustraliaIoni Bowcher PROPOSAL
Kadeem T AmigonBrazilAmy Elsner RENEWAL
Izzy W AmigonGermanyAsiya Javayant PROPOSAL
Smith D StensethItalyOnyama Limba QUALIFIED
Francesco J DarakjyAustraliaStephen Shaw RENEWAL
Arvin K GillianIndiaIvan Magalhaes NEW
Cody X ButtJapanStephen Shaw NEGOTIATION
Nicolas X PoquetteAustraliaIoni Bowcher UNQUALIFIED
Arvin T BriddickArgentinaAmy Elsner PROPOSAL
Francesco D KolmetzSpainBernardo Dominic QUALIFIED
Munro V FerenczFranceAnna Fali NEW
Ricardo E ButtIndiaIoni Bowcher PROPOSAL
Juan C CaudyArgentinaIoni Bowcher NEW
Izzy S PoquetteAustraliaAnna Fali UNQUALIFIED
Aika K ShinkoArgentinaXuxue Feng NEW
Kaitlin D MorascaFranceIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Munro X PoquetteFranceBernardo Dominic RENEWAL
Julie Y SchemmerItalyStephen Shaw NEW
Jones E MorascaUnited KingdomXuxue Feng RENEWAL
Isabel C WhobreyAustraliaBernardo Dominic NEW
Nicolas B FerenczJapanAsiya Javayant UNQUALIFIED
Jennifer A GillianJapanAsiya Javayant NEGOTIATION
Julie Y MaletIndiaIvan Magalhaes NEW
Adams N FerenczIndiaStephen Shaw NEW
Greenwood D BowleyJapanAsiya Javayant UNQUALIFIED
Jones J KolmetzBrazilElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez I RutaBrazil2026-06-22Chapman, Ross E Esq PROPOSAL7Elwin Sharvill
1001Stacey I KolmetzGermany2026-06-22Dorl, James J Esq PROPOSAL43Amy Elsner
1002Jones C FigeroaUnited Kingdom2026-07-02Buckley Miller Wright PROPOSAL74Xuxue Feng
1003Adams R AlbaresBrazil2026-07-16Feiner Bros UNQUALIFIED85Bernardo Dominic
1004Munro C WieserGermany2026-07-17Rousseaux, Michael Esq NEW32Amy Elsner
1005Maria P BriddickIndia2026-06-27Printing Dimensions PROPOSAL88Bernardo Dominic
1006Jennifer V SlusarskiAustralia2026-06-21Rangoni Of Florence UNQUALIFIED35Stephen Shaw
1007Deepesh X NestleIndia2026-07-12Chapman, Ross E Esq UNQUALIFIED51Amy Elsner
1008Clifford Q OstroskyGermany2026-07-07King, Christopher A Esq NEGOTIATION8Asiya Javayant
1009Jeanfrancois Z GarufiJapan2026-06-25Feiner Bros QUALIFIED23Amy Elsner
1010Rodrigues N CaldareraBrazil2026-07-20Printing Dimensions NEW36Bernardo Dominic
1011Ricardo L RutaIndia2026-07-20Feltz Printing Service NEGOTIATION78Bernardo Dominic
1012Rodrigues L PaprockiRussia2026-07-11Chapman, Ross E Esq QUALIFIED98Ioni Bowcher
1013Munro Q SergiGermany2026-06-30Chanay, Jeffrey A Esq RENEWAL74Xuxue Feng
1014Emily H NestleItaly2026-06-22Feltz Printing Service NEW75Stephen Shaw
1015Maisha O NickaIndia2026-06-22Rousseaux, Michael Esq NEGOTIATION59Ioni Bowcher
1016Mayumi O AmigonCanada2026-07-08Truhlar And Truhlar Attys QUALIFIED42Ivan Magalhaes
1017Aditya O MarrierIndia2026-07-11Morlong Associates NEW80Onyama Limba
1018Kadeem T SaylorsItaly2026-07-05Benton, John B Jr PROPOSAL61Elwin Sharvill
1019Mujtaba K SaylorsCanada2026-07-17King, Christopher A Esq NEGOTIATION86Ivan Magalhaes
1020Faith R BologniaArgentina2026-07-03Benton, John B Jr NEW81Elwin Sharvill
1021Aditya G OldroydArgentina2026-07-11Rousseaux, Michael Esq QUALIFIED8Amy Elsner
1022Aika G GauchoItaly2026-07-12Morlong Associates NEGOTIATION80Bernardo Dominic
1023Cody Y AmigonArgentina2026-06-24Printing Dimensions NEW78Asiya Javayant
1024Juan K BologniaBrazil2026-07-08Morlong Associates NEGOTIATION81Ivan Magalhaes
1025James G CaudyFrance2026-06-30Feltz Printing Service NEGOTIATION19Asiya Javayant
1026Francesco F CaudyItaly2026-07-08Dorl, James J Esq PROPOSAL38Asiya Javayant
1027Ricardo M BriddickSpain2026-07-06Dorl, James J Esq RENEWAL82Anna Fali
1028Faith Z MarrierGermany2026-07-05Chanay, Jeffrey A Esq NEGOTIATION47Stephen Shaw
1029Clifford Q AlbaresJapan2026-07-14Morlong Associates NEGOTIATION34Bernardo Dominic
1030Isabel V SchemmerItaly2026-07-08Truhlar And Truhlar Attys NEGOTIATION51Elwin Sharvill
1031Aditya V WaycottBrazil2026-07-19Rousseaux, Michael Esq NEW99Amy Elsner
1032Darci X SaylorsArgentina2026-06-25Feiner Bros PROPOSAL30Anna Fali
1033Maisha W FigeroaIndia2026-07-03Chemel, James L Cpa RENEWAL2Bernardo Dominic
1034James S GillianRussia2026-06-28Buckley Miller Wright RENEWAL28Onyama Limba
1035Chavez C ButtUnited Kingdom2026-07-15Rousseaux, Michael Esq NEGOTIATION90Amy Elsner
1036Misaki L WieserArgentina2026-07-04Chemel, James L Cpa RENEWAL34Ioni Bowcher
1037Antonio N FlosiCanada2026-07-15Morlong Associates NEW1Xuxue Feng
1038Stacey P GillianItaly2026-06-21Feiner Bros NEW55Xuxue Feng
1039Adams G MaletBrazil2026-07-10Feltz Printing Service QUALIFIED9Ivan Magalhaes
1040Leon V KuskoIndia2026-06-21Feiner Bros NEW97Bernardo Dominic
1041Emily Q DoeItaly2026-06-21Truhlar And Truhlar Attys UNQUALIFIED33Asiya Javayant
1042Alejandro W RimUnited Kingdom2026-07-05Rousseaux, Michael Esq UNQUALIFIED51Xuxue Feng
1043Antonio N StockhamAustralia2026-06-30Dorl, James J Esq RENEWAL49Elwin Sharvill
1044Mujtaba V GlickIndia2026-06-25Rousseaux, Michael Esq RENEWAL1Onyama Limba
1045Deepesh F WieserUnited Kingdom2026-06-29Benton, John B Jr NEGOTIATION37Amy Elsner
1046Greenwood W InouyeJapan2026-06-29Buckley Miller Wright NEW43Bernardo Dominic
1047Deepesh U ButtBrazil2026-07-03Morlong Associates NEGOTIATION89Stephen Shaw
1048Izzy C AmigonFrance2026-07-08Commercial Press UNQUALIFIED64Bernardo Dominic
1049Tony B ChuiRussia2026-07-03Truhlar And Truhlar Attys QUALIFIED40Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Stacey J ShinkoItalyAsiya Javayant UNQUALIFIED
Cody N VenereJapanStephen Shaw RENEWAL
David P SergiFranceAsiya Javayant NEGOTIATION
Julie C FerenczCanadaBernardo Dominic UNQUALIFIED
Octavia I IturbideRussiaAnna Fali NEGOTIATION
Deepesh R CampainIndiaXuxue Feng RENEWAL
Octavia R WhobreyGermanyBernardo Dominic PROPOSAL
Adams H ButtCanadaAmy Elsner NEGOTIATION
Silvio K PerinIndiaElwin Sharvill NEW
Ricardo T RimSpainStephen Shaw NEGOTIATION
Morrow K ShinkoGermanyAmy Elsner NEW
Arvin U MorascaGermanyAnna Fali RENEWAL
Alejandro X CaudyIndiaIoni Bowcher RENEWAL
Claire V BriddickIndiaIvan Magalhaes NEGOTIATION
Chavez W CaldareraBrazilIvan Magalhaes NEGOTIATION
Mayumi N IturbideUnited KingdomBernardo Dominic QUALIFIED
Morrow T ButtRussiaElwin Sharvill PROPOSAL
Smith R CaldareraJapanStephen Shaw NEW
Clifford J VenereBrazilIoni Bowcher PROPOSAL
Jones M CaudySpainBernardo Dominic NEGOTIATION
Kaitlin G DoeUnited KingdomAsiya Javayant RENEWAL
Ricardo X BologniaCanadaElwin Sharvill NEW
James G BowleyBrazilOnyama Limba QUALIFIED
Smith Z KolmetzSpainElwin Sharvill PROPOSAL
Jefferson F KolmetzFranceElwin Sharvill UNQUALIFIED
Emily N ChuiJapanXuxue Feng NEW
Stacey H StockhamIndiaStephen Shaw PROPOSAL
Munro Z MorascaArgentinaAmy Elsner NEGOTIATION
Stacey I PerinSpainBernardo Dominic QUALIFIED
Chavez S BowleySpainIvan Magalhaes RENEWAL
Aruna M AmigonUnited KingdomStephen Shaw NEGOTIATION
Adams D WieserRussiaIoni Bowcher NEW
Smith D PoquetteIndiaBernardo Dominic RENEWAL
Murillo M AmigonSpainAnna Fali QUALIFIED
Munro Z WhobreyAustraliaElwin Sharvill PROPOSAL
Ivar J CampainJapanOnyama Limba NEW
Greenwood V FollerRussiaOnyama Limba QUALIFIED
Francesco J KolmetzIndiaAsiya Javayant QUALIFIED
Francesco Q CaldareraSpainAmy Elsner QUALIFIED
Aditya T FigeroaJapanElwin Sharvill RENEWAL
Jeanfrancois G StensethUnited KingdomAnna Fali UNQUALIFIED
David S StensethBrazilXuxue Feng NEGOTIATION
Aditya I BologniaFranceBernardo Dominic PROPOSAL
Jennifer N OstroskyItalyAnna Fali QUALIFIED
Julie F RulapaughCanadaOnyama Limba QUALIFIED
Juan Q WieserGermanyElwin Sharvill QUALIFIED
Arvin F SlusarskiAustraliaBernardo Dominic QUALIFIED
Julie G VocelkaRussiaAnna Fali NEW
Cody L WaycottBrazilAsiya Javayant PROPOSAL
Claire X ButtRussiaStephen Shaw NEGOTIATION
Frozen Columns
Name
Ashley A Amigon
Kaitlin U Paprocki
Leja U Malet
Aruna D Rulapaugh
Mayumi E Stockham
Leon H Caudy
Adams F Royster
Kadeem P Dilliard
Juan M Figeroa
Greenwood B Inouye
Wickens I Venere
Kaitlin C Paprocki
Ricardo P Foller
Ricardo T Briddick
Jones X Ruta
Mujtaba P Ferencz
Mayumi C Caudy
Aditya C Bowley
Jefferson M Bowley
Sinclair W Ostrosky
Kaitlin O Briddick
Murillo F Caldarera
Isabel G Doe
Misaki R Saylors
Jeanfrancois Z Royster
Cody A Chui
Murillo B Schemmer
Julie L Iturbide
Octavia N Flosi
Ricardo F Bolognia
James H Sergi
Johnson L Butt
Aika F Figeroa
Cody P Darakjy
Clifford L Gaucho
Alejandro Z Morasca
Aruna X Vocelka
Morrow J Kolmetz
Isabel K Flosi
Tony L Amigon
Smith T Darakjy
Cody O Kolmetz
Aruna Y Dilliard
Izzy H Butt
Izzy T Inouye
Deepesh G Waycott
Salvatore R Bowley
Leja J Ferencz
Antonio M Morasca
Misaki I Nicka
IdCountryDate
1000India2026-06-22
1001Argentina2026-07-02
1002India2026-07-13
1003Australia2026-07-07
1004Brazil2026-07-07
1005Russia2026-07-18
1006Argentina2026-07-18
1007Japan2026-07-18
1008Canada2026-07-01
1009Canada2026-07-15
1010Brazil2026-07-03
1011Spain2026-07-02
1012Brazil2026-07-04
1013Spain2026-07-02
1014Japan2026-06-27
1015India2026-07-06
1016Japan2026-06-26
1017Canada2026-06-26
1018Japan2026-07-13
1019India2026-07-05
1020Germany2026-06-24
1021Japan2026-06-27
1022France2026-06-24
1023France2026-06-28
1024India2026-07-10
1025Canada2026-06-27
1026Japan2026-07-12
1027Australia2026-07-08
1028India2026-06-30
1029United Kingdom2026-07-20
1030Russia2026-07-15
1031Australia2026-07-01
1032Australia2026-07-12
1033Brazil2026-07-11
1034France2026-07-05
1035Australia2026-07-07
1036United Kingdom2026-07-15
1037Australia2026-06-26
1038Japan2026-07-19
1039Canada2026-07-15
1040Japan2026-07-08
1041Germany2026-07-18
1042Spain2026-07-11
1043Brazil2026-07-02
1044Spain2026-07-11
1045Australia2026-07-02
1046Italy2026-07-15
1047Spain2026-07-08
1048Argentina2026-07-11
1049Brazil2026-07-02

On-Demand Data

NameIdCountryDate
Adams V Malet1000India2026-06-29
Emily X Campain1001Australia2026-07-20
Sinclair P Inouye1002Canada2026-07-05
Kaitlin J Marrier1003Russia2026-07-13
Misaki K Campain1004Russia2026-07-03
Morrow I Amigon1005Russia2026-07-10
Aika U Rim1006Germany2026-07-14
Maria M Shinko1007Italy2026-07-04
Ivar R Doe1008France2026-07-09
Antonio L Waycott1009United Kingdom2026-07-10
Cody U Gillian1010Italy2026-06-22
Wickens L Stockham1011Italy2026-07-10
Johnson B Rulapaugh1012Spain2026-06-25
Jones J Ostrosky1013France2026-07-03
Julie A Ostrosky1014Russia2026-07-16
Jones U Marrier1015Italy2026-06-29
Munro C Slusarski1016India2026-07-19
Jennifer V Albares1017Germany2026-07-17
Kaitlin O Garufi1018Germany2026-06-27
Antonio M Iturbide1019India2026-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson M MaletCanadaAsiya Javayant QUALIFIED
Morrow C AmigonRussiaOnyama Limba QUALIFIED
Deepesh X RimFranceXuxue Feng NEW
Greenwood D FerenczBrazilIvan Magalhaes UNQUALIFIED
Ivar U AlbaresCanadaBernardo Dominic RENEWAL
Leja Y NestleAustraliaOnyama Limba UNQUALIFIED
Cody K BriddickSpainIoni Bowcher RENEWAL
Adams A SaylorsJapanAnna Fali RENEWAL
Johnson E RimFranceXuxue Feng QUALIFIED
Tony Z MarrierCanadaIoni Bowcher QUALIFIED
Mujtaba J PerinBrazilIvan Magalhaes RENEWAL
Mujtaba Q WieserGermanyElwin Sharvill RENEWAL
Salvatore H CaldareraRussiaElwin Sharvill QUALIFIED
Aditya U CampainIndiaAnna Fali NEGOTIATION
Misaki C FlosiAustraliaAnna Fali NEW
Johnson V FigeroaGermanyAnna Fali QUALIFIED
Murillo B MaletItalyStephen Shaw NEGOTIATION
Maria A WaycottArgentinaAnna Fali NEGOTIATION
Mayumi G FerenczUnited KingdomAnna Fali PROPOSAL
Costa X BologniaJapanIoni Bowcher QUALIFIED
Antonio W SaylorsJapanAsiya Javayant NEGOTIATION
Cody U VenereBrazilBernardo Dominic RENEWAL
Smith M TollnerBrazilAnna Fali QUALIFIED
Smith T WaycottGermanyBernardo Dominic RENEWAL
Tony A BowleyArgentinaIvan Magalhaes RENEWAL
Kadeem Q FigeroaRussiaOnyama Limba NEW
Greenwood Q MarrierCanadaAsiya Javayant NEGOTIATION
David P CampainArgentinaAnna Fali RENEWAL
Leja Y MaletAustraliaBernardo Dominic PROPOSAL
Isabel Y BriddickGermanyOnyama Limba UNQUALIFIED
Sinclair J VocelkaItalyXuxue Feng NEGOTIATION
Ricardo S RutaRussiaElwin Sharvill UNQUALIFIED
Munro K OstroskyArgentinaBernardo Dominic QUALIFIED
Octavia G StensethRussiaAnna Fali NEW
Stacey J GauchoGermanyAmy Elsner NEW
Cody X MarrierIndiaStephen Shaw PROPOSAL
Ricardo S WhobreyAustraliaXuxue Feng UNQUALIFIED
Maisha P MorascaGermanyStephen Shaw NEGOTIATION
Ashley I OldroydRussiaAsiya Javayant QUALIFIED
Francesco H GillianItalyIoni Bowcher PROPOSAL

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