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
Salvatore X NickaRussiaElwin Sharvill NEW
Alejandro F CaldareraBrazilElwin Sharvill PROPOSAL
Octavia B DilliardArgentinaAnna Fali NEGOTIATION
Aruna C MorascaItalyAnna Fali RENEWAL
Aruna P DarakjySpainBernardo Dominic NEGOTIATION
Murillo Y PoquetteRussiaXuxue Feng RENEWAL
Greenwood Z FollerUnited KingdomBernardo Dominic PROPOSAL
Aika Q NickaIndiaXuxue Feng NEW
Jones S InouyeBrazilBernardo Dominic NEGOTIATION
Julie F ChuiJapanAsiya Javayant UNQUALIFIED
Deepesh T MarrierArgentinaAnna Fali RENEWAL
James T OstroskyGermanyAmy Elsner NEGOTIATION
Ivar E VenereArgentinaElwin Sharvill PROPOSAL
Costa E GlickArgentinaElwin Sharvill RENEWAL
Darci F VenereAustraliaOnyama Limba NEGOTIATION
Misaki E ShinkoSpainElwin Sharvill PROPOSAL
Jones R RutaCanadaIvan Magalhaes QUALIFIED
Costa S NestleRussiaAmy Elsner QUALIFIED
Wickens R GarufiFranceIvan Magalhaes UNQUALIFIED
Salvatore H SlusarskiSpainIoni Bowcher UNQUALIFIED
Maisha W OldroydItalyIoni Bowcher NEW
Alejandro U AmigonItalyStephen Shaw QUALIFIED
Arvin H CaldareraGermanyAnna Fali UNQUALIFIED
Stacey C FlosiArgentinaOnyama Limba RENEWAL
Mujtaba K WhobreyIndiaElwin Sharvill PROPOSAL
David L BologniaBrazilBernardo Dominic PROPOSAL
Leon D TollnerCanadaXuxue Feng NEGOTIATION
Jeanfrancois M VenereAustraliaIvan Magalhaes PROPOSAL
Ashley D WaycottRussiaIvan Magalhaes NEW
Johnson E VocelkaUnited KingdomXuxue Feng NEW
Silvio J SchemmerCanadaAnna Fali NEW
Misaki U RimArgentinaBernardo Dominic NEGOTIATION
Tony S SergiGermanyAnna Fali UNQUALIFIED
Izzy X PaprockiRussiaIvan Magalhaes NEW
Ricardo R FlosiCanadaIvan Magalhaes RENEWAL
Faith Q MaletItalyXuxue Feng NEW
Izzy S FigeroaFranceAmy Elsner RENEWAL
Emily X NickaArgentinaElwin Sharvill NEW
Greenwood V CampainBrazilElwin Sharvill QUALIFIED
Stacey R BowleyItalyOnyama Limba QUALIFIED
Leon U CaldareraCanadaStephen Shaw NEGOTIATION
Claire D DoeGermanyStephen Shaw RENEWAL
Isabel C PerinRussiaBernardo Dominic RENEWAL
Maria V RimUnited KingdomStephen Shaw NEGOTIATION
Silvio X AmigonArgentinaStephen Shaw UNQUALIFIED
Jefferson N SergiSpainIoni Bowcher NEW
Antonio A MaletUnited KingdomXuxue Feng QUALIFIED
Antonio B GlickArgentinaBernardo Dominic RENEWAL
Alejandro I FollerIndiaElwin Sharvill PROPOSAL
Maria Z AlbaresRussiaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria I RulapaughItalyStephen Shaw RENEWAL
Murillo S OldroydIndiaAnna Fali NEW
Juan Q GlickFranceAsiya Javayant PROPOSAL
Wickens H AmigonIndiaAsiya Javayant NEW
Antonio C ShinkoFranceStephen Shaw PROPOSAL
Julie P BologniaIndiaElwin Sharvill NEW
Kadeem Z ChuiCanadaIvan Magalhaes QUALIFIED
Wickens X RulapaughUnited KingdomIoni Bowcher QUALIFIED
Aditya E BriddickSpainStephen Shaw PROPOSAL
Emily U ButtIndiaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem Z ChuiAustralia2026-08-05Rangoni Of Florence NEW8Anna Fali
1001Kaitlin X WaycottCanada2026-08-12Chanay, Jeffrey A Esq QUALIFIED15Ioni Bowcher
1002Greenwood P ButtUnited Kingdom2026-08-18Dorl, James J Esq PROPOSAL94Onyama Limba
1003James Y GillianCanada2026-08-05King, Christopher A Esq QUALIFIED60Elwin Sharvill
1004Misaki B SchemmerSpain2026-08-25Feltz Printing Service PROPOSAL32Bernardo Dominic
1005Octavia Y TollnerItaly2026-08-04Rangoni Of Florence PROPOSAL76Bernardo Dominic
1006Murillo F FollerFrance2026-08-21Chanay, Jeffrey A Esq UNQUALIFIED62Amy Elsner
1007Ivar T FigeroaJapan2026-08-11Feltz Printing Service NEW30Asiya Javayant
1008Maisha Z CaldareraUnited Kingdom2026-08-31Feiner Bros RENEWAL60Amy Elsner
1009Kadeem V ChuiRussia2026-08-23Chapman, Ross E Esq NEGOTIATION83Anna Fali
1010Leon U SchemmerSpain2026-08-21Truhlar And Truhlar Attys PROPOSAL49Xuxue Feng
1011Jones D PerinBrazil2026-08-25Chapman, Ross E Esq PROPOSAL48Anna Fali
1012Aditya F TollnerArgentina2026-09-02Morlong Associates UNQUALIFIED11Bernardo Dominic
1013Jeanfrancois G DoeAustralia2026-08-08Feltz Printing Service NEGOTIATION19Amy Elsner
1014Clifford Y BowleyFrance2026-08-23Printing Dimensions NEGOTIATION30Ivan Magalhaes
1015David J MaletFrance2026-08-26Morlong Associates QUALIFIED78Ivan Magalhaes
1016Isabel R GauchoBrazil2026-08-28Printing Dimensions NEW41Anna Fali
1017Alejandro A SlusarskiCanada2026-08-11Feltz Printing Service RENEWAL4Ioni Bowcher
1018Leja Y WhobreySpain2026-08-15King, Christopher A Esq QUALIFIED90Anna Fali
1019Jefferson Z RimAustralia2026-08-28Rousseaux, Michael Esq NEGOTIATION49Stephen Shaw
1020Chavez K ButtUnited Kingdom2026-08-21Chemel, James L Cpa QUALIFIED8Xuxue Feng
1021Deepesh K PoquetteJapan2026-08-28Rangoni Of Florence RENEWAL25Xuxue Feng
1022Ricardo I BowleySpain2026-08-19Chanay, Jeffrey A Esq NEW72Ivan Magalhaes
1023Jefferson I RimSpain2026-08-14Benton, John B Jr UNQUALIFIED84Ioni Bowcher
1024Jones K CampainIndia2026-09-01Morlong Associates NEW13Ioni Bowcher
1025Misaki Q AlbaresAustralia2026-08-17Truhlar And Truhlar Attys QUALIFIED59Xuxue Feng
1026Juan R InouyeBrazil2026-08-13Morlong Associates QUALIFIED43Amy Elsner
1027Sinclair O GauchoUnited Kingdom2026-08-18Morlong Associates NEW67Onyama Limba
1028Leon E CampainJapan2026-08-31Chanay, Jeffrey A Esq NEW2Onyama Limba
1029Sinclair U VocelkaCanada2026-08-30Buckley Miller Wright NEW3Amy Elsner
1030Johnson Z OstroskyArgentina2026-08-07Rousseaux, Michael Esq RENEWAL72Ioni Bowcher
1031Ricardo Y BowleyCanada2026-08-06Truhlar And Truhlar Attys NEW13Asiya Javayant
1032Aruna G CampainArgentina2026-08-27Buckley Miller Wright UNQUALIFIED26Ioni Bowcher
1033Francesco H TollnerRussia2026-08-07Commercial Press RENEWAL18Amy Elsner
1034Adams V RulapaughRussia2026-08-16Chemel, James L Cpa NEW1Onyama Limba
1035Octavia B WieserJapan2026-08-14Chanay, Jeffrey A Esq PROPOSAL74Asiya Javayant
1036Ricardo P GillianIndia2026-08-30Feltz Printing Service QUALIFIED51Bernardo Dominic
1037Aika M DarakjyItaly2026-08-15Morlong Associates QUALIFIED94Asiya Javayant
1038Juan Y RutaUnited Kingdom2026-08-13Truhlar And Truhlar Attys RENEWAL99Anna Fali
1039Jefferson A FlosiAustralia2026-08-21Buckley Miller Wright QUALIFIED12Asiya Javayant
1040Smith E WieserGermany2026-08-07Rousseaux, Michael Esq PROPOSAL79Amy Elsner
1041Francesco Y ButtAustralia2026-08-07Rousseaux, Michael Esq UNQUALIFIED44Stephen Shaw
1042James B ShinkoItaly2026-08-08Chanay, Jeffrey A Esq NEGOTIATION63Elwin Sharvill
1043Costa N MaletSpain2026-08-06Chemel, James L Cpa UNQUALIFIED82Ivan Magalhaes
1044Chavez O MacleadJapan2026-08-29Morlong Associates UNQUALIFIED3Ioni Bowcher
1045Arvin V FollerBrazil2026-08-31Printing Dimensions RENEWAL75Ivan Magalhaes
1046David X CampainCanada2026-08-23Chemel, James L Cpa RENEWAL42Anna Fali
1047Francesco F VenereSpain2026-08-12Benton, John B Jr RENEWAL24Anna Fali
1048Munro K CampainGermany2026-08-23Buckley Miller Wright NEW79Asiya Javayant
1049Faith S MarrierAustralia2026-08-14Feiner Bros NEW91Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Chavez O VenereAustraliaElwin Sharvill QUALIFIED
Greenwood U MorascaSpainAmy Elsner UNQUALIFIED
Johnson C ButtBrazilAnna Fali UNQUALIFIED
Julie M OldroydCanadaBernardo Dominic QUALIFIED
Jeanfrancois K MacleadArgentinaOnyama Limba PROPOSAL
Smith G BowleyIndiaStephen Shaw UNQUALIFIED
Alejandro M RimJapanOnyama Limba QUALIFIED
Sinclair S BowleyIndiaXuxue Feng NEW
Jefferson K RutaIndiaIvan Magalhaes QUALIFIED
Stacey R NestleGermanyAnna Fali UNQUALIFIED
Silvio Q BowleyRussiaElwin Sharvill RENEWAL
Adams W ShinkoJapanStephen Shaw PROPOSAL
Deepesh S MarrierUnited KingdomOnyama Limba PROPOSAL
Julie Q StensethRussiaBernardo Dominic NEW
Stacey H NestleIndiaStephen Shaw RENEWAL
Jefferson R ChuiItalyBernardo Dominic UNQUALIFIED
Alejandro S IturbideItalyAmy Elsner NEGOTIATION
Misaki G ChuiGermanyXuxue Feng RENEWAL
Leja Z GlickBrazilIvan Magalhaes UNQUALIFIED
Ricardo Y InouyeBrazilOnyama Limba NEW
David F RulapaughBrazilIvan Magalhaes QUALIFIED
Cody V StensethUnited KingdomAsiya Javayant RENEWAL
Sinclair H PoquetteAustraliaAmy Elsner PROPOSAL
Nicolas O StockhamArgentinaBernardo Dominic PROPOSAL
Johnson H NickaFranceAnna Fali QUALIFIED
Claire P WieserAustraliaAsiya Javayant UNQUALIFIED
Cody K DoeAustraliaXuxue Feng QUALIFIED
Costa T OstroskyAustraliaAsiya Javayant PROPOSAL
Ivar F GillianUnited KingdomAmy Elsner PROPOSAL
Aruna B RulapaughBrazilAnna Fali PROPOSAL
Rodrigues Q OldroydArgentinaXuxue Feng QUALIFIED
Mujtaba L PerinArgentinaElwin Sharvill NEW
Darci X GarufiJapanElwin Sharvill PROPOSAL
Stacey L RutaUnited KingdomIvan Magalhaes NEGOTIATION
Munro T CampainRussiaBernardo Dominic NEW
Cody P DoeAustraliaStephen Shaw RENEWAL
Maria Q WhobreyArgentinaAnna Fali UNQUALIFIED
Antonio O FollerUnited KingdomStephen Shaw NEGOTIATION
Aditya B CampainCanadaBernardo Dominic PROPOSAL
Adams V CampainFranceStephen Shaw PROPOSAL
Chavez L StockhamItalyElwin Sharvill QUALIFIED
Jeanfrancois E RimGermanyAmy Elsner NEW
Ivar L CaldareraArgentinaAsiya Javayant NEW
David H PoquetteBrazilIoni Bowcher RENEWAL
Mujtaba M AmigonItalyXuxue Feng PROPOSAL
Francesco J OstroskyAustraliaElwin Sharvill PROPOSAL
Ashley O PaprockiItalyIoni Bowcher RENEWAL
Aruna R MarrierIndiaAsiya Javayant NEGOTIATION
Murillo V SaylorsArgentinaIoni Bowcher NEGOTIATION
Clifford W MarrierUnited KingdomAnna Fali NEGOTIATION
Frozen Columns
Name
Ivar C Tollner
Munro K Caldarera
Salvatore I Kolmetz
Morrow C Iturbide
David K Gaucho
Jennifer K Dilliard
Kadeem T Perin
Sinclair H Caudy
Adams D Malet
David N Doe
Claire Q Tollner
Francesco H Garufi
Costa O Venere
Kadeem A Sergi
Morrow G Tollner
Faith V Malet
Silvio C Paprocki
Munro Q Rim
Ricardo E Vocelka
Aruna S Gillian
Leon Z Gaucho
Cody E Royster
Greenwood B Darakjy
Chavez B Ferencz
Ivar L Perin
Tony D Doe
Arvin Y Caudy
Mujtaba D Caldarera
Emily D Campain
Darci I Glick
Juan K Venere
Cody P Oldroyd
Emily J Gillian
Stacey V Venere
Clifford G Oldroyd
Ashley H Ruta
David Z Sergi
David Y Oldroyd
Maria H Ostrosky
Salvatore I Whobrey
Morrow O Nestle
Aika S Glick
Isabel O Paprocki
Darci K Slusarski
Morrow F Royster
Kadeem M Maclead
Ivar V Garufi
Maria X Oldroyd
Ivar D Figeroa
Mujtaba T Nestle
IdCountryDate
1000Italy2026-08-18
1001Germany2026-08-27
1002Australia2026-08-10
1003Brazil2026-08-31
1004Argentina2026-08-29
1005Japan2026-08-17
1006Brazil2026-08-24
1007Japan2026-08-08
1008Italy2026-08-20
1009Japan2026-08-14
1010Italy2026-08-26
1011Australia2026-08-25
1012Italy2026-08-30
1013Spain2026-08-15
1014France2026-08-30
1015Argentina2026-08-21
1016Argentina2026-08-27
1017Australia2026-08-21
1018France2026-08-07
1019Japan2026-08-26
1020Argentina2026-08-21
1021Italy2026-08-28
1022Japan2026-08-09
1023France2026-08-13
1024United Kingdom2026-08-11
1025United Kingdom2026-08-31
1026Canada2026-08-14
1027India2026-08-04
1028Spain2026-08-08
1029Australia2026-08-12
1030Japan2026-08-14
1031Italy2026-08-09
1032Spain2026-08-15
1033France2026-08-29
1034Argentina2026-08-30
1035Italy2026-08-27
1036Japan2026-08-18
1037Brazil2026-08-17
1038Italy2026-08-12
1039Canada2026-08-12
1040Germany2026-08-20
1041Brazil2026-08-13
1042Russia2026-08-22
1043Italy2026-08-23
1044Spain2026-08-31
1045India2026-08-10
1046Brazil2026-08-09
1047Canada2026-08-25
1048Brazil2026-08-16
1049Japan2026-08-26

On-Demand Data

NameIdCountryDate
Maisha G Campain1000Italy2026-08-30
Johnson P Caldarera1001France2026-08-08
Faith F Bowley1002Italy2026-08-27
Kaitlin G Inouye1003United Kingdom2026-08-23
Ivar U Figeroa1004Japan2026-08-06
Jones G Amigon1005Russia2026-08-31
Octavia K Shinko1006Italy2026-08-12
Isabel M Vocelka1007United Kingdom2026-08-27
Jeanfrancois R Rulapaugh1008Australia2026-08-25
Mujtaba B Marrier1009Canada2026-08-15
Arvin D Schemmer1010Italy2026-08-05
Izzy Y Wieser1011Australia2026-08-31
Nicolas J Perin1012France2026-08-04
Ricardo E Darakjy1013Brazil2026-08-28
Wickens C Darakjy1014Russia2026-08-21
Murillo T Malet1015India2026-08-08
Jennifer A Rim1016United Kingdom2026-08-14
Ricardo R Schemmer1017Japan2026-08-09
Mujtaba I Caldarera1018Argentina2026-08-06
James J Tollner1019France2026-08-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro T CaldareraJapanStephen Shaw RENEWAL
Johnson K WieserUnited KingdomBernardo Dominic PROPOSAL
Aika D FigeroaAustraliaStephen Shaw QUALIFIED
Chavez E MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Julie X VenereAustraliaAmy Elsner NEW
Mayumi V SaylorsSpainAmy Elsner NEW
Juan E CaldareraGermanyXuxue Feng NEW
Francesco D BowleyItalyAmy Elsner NEGOTIATION
Rodrigues M PerinFranceAnna Fali NEW
Kadeem G MacleadArgentinaStephen Shaw UNQUALIFIED
Juan Y CampainAustraliaAnna Fali PROPOSAL
Maria Q BriddickRussiaXuxue Feng NEGOTIATION
Nicolas Q MaletSpainAnna Fali NEW
Clifford Q OstroskyBrazilIvan Magalhaes QUALIFIED
Aditya A RutaIndiaStephen Shaw QUALIFIED
Chavez W BowleyGermanyBernardo Dominic UNQUALIFIED
Arvin U CaudyItalyIoni Bowcher NEW
Sinclair K KuskoBrazilXuxue Feng NEGOTIATION
Aika R KuskoSpainAmy Elsner NEW
Clifford K WaycottArgentinaAnna Fali RENEWAL
Johnson L BologniaBrazilAnna Fali NEW
Cody M SlusarskiItalyIoni Bowcher UNQUALIFIED
Sinclair I NickaAustraliaXuxue Feng NEGOTIATION
Octavia I DoeSpainXuxue Feng PROPOSAL
Tony P ShinkoItalyOnyama Limba NEW
Jones W SchemmerAustraliaOnyama Limba UNQUALIFIED
Ashley E KolmetzGermanyOnyama Limba NEW
Rodrigues R KuskoIndiaAmy Elsner NEW
Juan B MorascaRussiaAsiya Javayant QUALIFIED
Chavez E OldroydAustraliaIoni Bowcher PROPOSAL
Aditya C GauchoUnited KingdomXuxue Feng NEW
Leon G OldroydAustraliaIoni Bowcher RENEWAL
Wickens V OstroskyBrazilAmy Elsner PROPOSAL
Salvatore S DilliardItalyIvan Magalhaes NEW
Wickens H PaprockiGermanyIvan Magalhaes NEW
Mujtaba W MorascaCanadaAsiya Javayant UNQUALIFIED
Munro G GlickItalyIvan Magalhaes NEGOTIATION
Aika N BriddickUnited KingdomIoni Bowcher NEW
Johnson C FlosiArgentinaStephen Shaw PROPOSAL
Faith S SlusarskiItalyXuxue Feng 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>