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
Morrow A ShinkoSpainOnyama Limba PROPOSAL
Jeanfrancois E AlbaresItalyStephen Shaw NEGOTIATION
Wickens Y GarufiItalyAmy Elsner UNQUALIFIED
Darci P OldroydRussiaIvan Magalhaes NEW
Isabel K VenereUnited KingdomXuxue Feng NEW
Cody Y SchemmerAustraliaStephen Shaw NEW
Misaki W DarakjyCanadaAnna Fali UNQUALIFIED
Sinclair Q SaylorsRussiaElwin Sharvill NEW
Morrow Y BologniaItalyElwin Sharvill PROPOSAL
Morrow N MarrierBrazilAmy Elsner NEW
Juan U WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Izzy C SergiAustraliaIvan Magalhaes NEGOTIATION
Cody J GauchoGermanyOnyama Limba RENEWAL
Jones U PaprockiCanadaOnyama Limba PROPOSAL
Darci Z RoysterFranceElwin Sharvill NEW
Emily J SergiBrazilIvan Magalhaes PROPOSAL
Maisha L MaletAustraliaIvan Magalhaes NEGOTIATION
Smith U MaletBrazilIvan Magalhaes UNQUALIFIED
Johnson S BowleyGermanyStephen Shaw QUALIFIED
Ashley T GarufiAustraliaElwin Sharvill PROPOSAL
Leon V CampainFranceElwin Sharvill UNQUALIFIED
James N DarakjyRussiaStephen Shaw QUALIFIED
Claire T PaprockiFranceAmy Elsner NEW
Jennifer X GarufiSpainAnna Fali NEW
James O StockhamItalyIvan Magalhaes NEW
Jones A SlusarskiBrazilAmy Elsner NEGOTIATION
Francesco K GillianJapanAsiya Javayant UNQUALIFIED
Aika W TollnerAustraliaAmy Elsner NEGOTIATION
Alejandro M RutaArgentinaIvan Magalhaes NEGOTIATION
Francesco P BowleyIndiaStephen Shaw NEW
Aditya S GarufiUnited KingdomIoni Bowcher NEW
Leja E ButtBrazilAsiya Javayant RENEWAL
Stacey R AmigonItalyIoni Bowcher UNQUALIFIED
Jones Z FollerItalyXuxue Feng RENEWAL
Octavia A TollnerArgentinaAnna Fali UNQUALIFIED
Maisha W PoquetteGermanyAmy Elsner UNQUALIFIED
Mujtaba M RutaItalyIvan Magalhaes UNQUALIFIED
Juan L CaudyCanadaElwin Sharvill RENEWAL
Octavia M RutaFranceAnna Fali UNQUALIFIED
Jefferson P InouyeGermanyAsiya Javayant PROPOSAL
Leja N GauchoRussiaIoni Bowcher PROPOSAL
Kadeem I SaylorsAustraliaIoni Bowcher UNQUALIFIED
Munro B IturbideFranceOnyama Limba PROPOSAL
Jefferson U FigeroaGermanyElwin Sharvill NEGOTIATION
Ricardo M GarufiGermanyIoni Bowcher QUALIFIED
Jones S FerenczAustraliaIvan Magalhaes NEW
Mayumi Z GillianItalyOnyama Limba NEGOTIATION
Alejandro S DarakjyCanadaAnna Fali NEGOTIATION
Smith T MorascaJapanIvan Magalhaes NEGOTIATION
Maisha Z CaudyRussiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Juan I ButtUnited KingdomOnyama Limba RENEWAL
Isabel S RulapaughArgentinaIoni Bowcher NEGOTIATION
Ashley N MaletGermanyStephen Shaw PROPOSAL
Alejandro S StockhamArgentinaXuxue Feng PROPOSAL
Smith A ButtRussiaIvan Magalhaes QUALIFIED
Misaki B MarrierRussiaOnyama Limba QUALIFIED
Munro H FlosiBrazilStephen Shaw NEGOTIATION
Leon N FollerAustraliaBernardo Dominic UNQUALIFIED
Jennifer X PaprockiAustraliaBernardo Dominic RENEWAL
Antonio K MaletItalyElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams T BowleyItaly2026-07-05Chanay, Jeffrey A Esq NEW34Elwin Sharvill
1001Jefferson E NestleIndia2026-07-26Feltz Printing Service UNQUALIFIED92Anna Fali
1002Cody P BowleyJapan2026-07-28Feiner Bros RENEWAL63Ioni Bowcher
1003Munro R NestleCanada2026-07-12Printing Dimensions NEW98Ioni Bowcher
1004Sinclair H FollerAustralia2026-07-12Commercial Press QUALIFIED58Amy Elsner
1005David O SergiIndia2026-07-22Rangoni Of Florence NEGOTIATION25Amy Elsner
1006Faith G NickaArgentina2026-07-25Chapman, Ross E Esq RENEWAL99Stephen Shaw
1007Smith J KolmetzIndia2026-07-14Morlong Associates PROPOSAL56Anna Fali
1008Salvatore E BriddickSpain2026-07-17King, Christopher A Esq PROPOSAL50Onyama Limba
1009Leja Z SergiAustralia2026-07-12Rousseaux, Michael Esq QUALIFIED29Elwin Sharvill
1010Maria K GillianGermany2026-07-31Dorl, James J Esq PROPOSAL15Xuxue Feng
1011Ashley Y NestleIndia2026-07-10Chemel, James L Cpa NEW52Ivan Magalhaes
1012Rodrigues S GauchoAustralia2026-07-23Morlong Associates PROPOSAL55Anna Fali
1013Ivar R FollerFrance2026-07-20Benton, John B Jr RENEWAL63Anna Fali
1014Misaki C RulapaughGermany2026-07-06Chapman, Ross E Esq UNQUALIFIED79Asiya Javayant
1015Murillo Y KuskoSpain2026-07-10Benton, John B Jr RENEWAL82Anna Fali
1016Antonio B FerenczCanada2026-07-05Buckley Miller Wright NEW1Anna Fali
1017Mujtaba R ButtBrazil2026-07-19Feiner Bros PROPOSAL75Stephen Shaw
1018Maisha A FerenczFrance2026-07-15Rousseaux, Michael Esq RENEWAL5Stephen Shaw
1019Antonio A SergiAustralia2026-07-09Feltz Printing Service QUALIFIED45Ivan Magalhaes
1020Faith S WhobreyArgentina2026-07-14Rangoni Of Florence PROPOSAL4Onyama Limba
1021Ricardo G RulapaughAustralia2026-07-12Feltz Printing Service QUALIFIED75Ioni Bowcher
1022Deepesh P FerenczJapan2026-07-05Dorl, James J Esq PROPOSAL63Asiya Javayant
1023Ashley I SchemmerGermany2026-07-30Chemel, James L Cpa QUALIFIED97Xuxue Feng
1024Misaki F ChuiArgentina2026-07-26Feiner Bros UNQUALIFIED90Ivan Magalhaes
1025Darci A AmigonFrance2026-07-07Chapman, Ross E Esq NEW70Bernardo Dominic
1026Cody C RimGermany2026-07-17Benton, John B Jr NEW87Bernardo Dominic
1027Jennifer N RimIndia2026-07-24Commercial Press UNQUALIFIED3Elwin Sharvill
1028Nicolas U SchemmerCanada2026-07-16Buckley Miller Wright RENEWAL93Elwin Sharvill
1029Johnson P CaudyGermany2026-07-12Printing Dimensions QUALIFIED7Asiya Javayant
1030Juan D GillianIndia2026-07-13Rangoni Of Florence NEW84Amy Elsner
1031Wickens G RulapaughArgentina2026-07-28Commercial Press NEW36Onyama Limba
1032Munro R DilliardGermany2026-07-31Chapman, Ross E Esq RENEWAL41Amy Elsner
1033Silvio I SergiBrazil2026-07-24Feiner Bros PROPOSAL20Stephen Shaw
1034Emily W BowleyCanada2026-07-22Chemel, James L Cpa NEGOTIATION46Asiya Javayant
1035Costa U PerinFrance2026-07-10Printing Dimensions UNQUALIFIED32Bernardo Dominic
1036Tony A AmigonGermany2026-07-31Feltz Printing Service PROPOSAL57Ivan Magalhaes
1037Stacey G BologniaAustralia2026-07-08Feiner Bros NEW74Elwin Sharvill
1038Murillo Y ButtUnited Kingdom2026-07-13Commercial Press NEGOTIATION55Elwin Sharvill
1039Kaitlin S StensethSpain2026-07-08Morlong Associates NEW29Bernardo Dominic
1040Arvin U MaletRussia2026-07-11Chemel, James L Cpa NEGOTIATION53Onyama Limba
1041Costa M FerenczIndia2026-07-25Truhlar And Truhlar Attys QUALIFIED20Xuxue Feng
1042Leon P WhobreyJapan2026-07-03Feltz Printing Service PROPOSAL38Stephen Shaw
1043Greenwood A MorascaCanada2026-07-13Feiner Bros NEGOTIATION55Onyama Limba
1044Stacey B GarufiFrance2026-07-21Feiner Bros NEGOTIATION67Bernardo Dominic
1045Salvatore O RulapaughCanada2026-07-03Morlong Associates NEGOTIATION13Bernardo Dominic
1046Silvio W CaudyItaly2026-07-02Buckley Miller Wright NEGOTIATION84Onyama Limba
1047Kaitlin E DoeUnited Kingdom2026-07-05Truhlar And Truhlar Attys NEGOTIATION69Ivan Magalhaes
1048Antonio P GauchoIndia2026-07-30Rangoni Of Florence PROPOSAL48Onyama Limba
1049Darci B WieserUnited Kingdom2026-07-31Chapman, Ross E Esq QUALIFIED2Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Salvatore C OldroydItalyElwin Sharvill NEGOTIATION
Nicolas S VenereUnited KingdomStephen Shaw RENEWAL
Jennifer U MarrierGermanyStephen Shaw QUALIFIED
Rodrigues Z GillianBrazilOnyama Limba QUALIFIED
Maria M OldroydUnited KingdomStephen Shaw PROPOSAL
Alejandro W OldroydAustraliaElwin Sharvill PROPOSAL
David T SlusarskiAustraliaXuxue Feng QUALIFIED
Munro O BowleyAustraliaBernardo Dominic RENEWAL
Jeanfrancois F FollerCanadaIvan Magalhaes QUALIFIED
Arvin V BowleyUnited KingdomOnyama Limba NEW
Smith L MacleadAustraliaBernardo Dominic QUALIFIED
Kadeem K SchemmerAustraliaAmy Elsner RENEWAL
Ashley O GlickJapanOnyama Limba QUALIFIED
David X PerinCanadaXuxue Feng QUALIFIED
Emily P RulapaughSpainAmy Elsner UNQUALIFIED
Nicolas W SchemmerUnited KingdomAsiya Javayant RENEWAL
Morrow C StockhamJapanStephen Shaw NEGOTIATION
Tony P FerenczGermanyElwin Sharvill RENEWAL
Nicolas H DilliardAustraliaIoni Bowcher NEW
Salvatore U PerinRussiaAmy Elsner RENEWAL
Aditya M AmigonItalyIoni Bowcher QUALIFIED
Salvatore D CaudySpainElwin Sharvill QUALIFIED
Maisha I GauchoGermanyStephen Shaw QUALIFIED
Munro Y DilliardSpainBernardo Dominic UNQUALIFIED
James A GillianItalyIvan Magalhaes NEGOTIATION
Ricardo J RoysterItalyOnyama Limba NEW
Greenwood B PoquetteFranceBernardo Dominic RENEWAL
Antonio N CaudyGermanyXuxue Feng QUALIFIED
Claire D SchemmerUnited KingdomXuxue Feng PROPOSAL
Kaitlin A CaldareraItalyXuxue Feng UNQUALIFIED
Antonio H CaudyCanadaIvan Magalhaes RENEWAL
Cody T SaylorsAustraliaAnna Fali RENEWAL
Clifford B SlusarskiItalyAnna Fali NEGOTIATION
Costa J WhobreyIndiaStephen Shaw NEW
Leja M MacleadRussiaElwin Sharvill QUALIFIED
Deepesh C CampainSpainAmy Elsner UNQUALIFIED
Octavia Z CampainJapanIvan Magalhaes QUALIFIED
Jefferson H AlbaresUnited KingdomElwin Sharvill PROPOSAL
Francesco L ButtIndiaIvan Magalhaes UNQUALIFIED
David V VocelkaUnited KingdomAnna Fali RENEWAL
Adams Q VocelkaRussiaAsiya Javayant NEGOTIATION
Jefferson M DilliardItalyElwin Sharvill PROPOSAL
Rodrigues J FollerRussiaAsiya Javayant UNQUALIFIED
Arvin J ButtIndiaIvan Magalhaes QUALIFIED
Maria Z TollnerRussiaAmy Elsner QUALIFIED
Julie X MaletBrazilAnna Fali RENEWAL
Nicolas R WieserGermanyAmy Elsner RENEWAL
Maisha B ButtFranceAnna Fali NEW
Ricardo E RoysterBrazilStephen Shaw NEW
Morrow K ShinkoItalyXuxue Feng NEGOTIATION
Frozen Columns
Name
Greenwood Y Waycott
Darci E Nestle
Emily B Ostrosky
Murillo I Morasca
Antonio B Sergi
Jennifer H Ostrosky
Ashley Q Vocelka
Greenwood U Flosi
Chavez F Schemmer
Faith K Butt
Leon Z Shinko
Arvin Z Sergi
Smith J Doe
Kadeem Z Malet
Isabel B Oldroyd
Jennifer N Sergi
Emily A Ferencz
Misaki M Rulapaugh
Wickens Y Doe
Rodrigues P Amigon
Murillo J Iturbide
Nicolas B Kusko
Julie S Rim
Leja J Garufi
Jeanfrancois K Garufi
Misaki E Nestle
Cody T Royster
Munro G Nicka
Jones E Shinko
Kadeem T Schemmer
Isabel U Amigon
Cody J Caldarera
Salvatore V Waycott
Chavez C Inouye
Smith N Waycott
Aditya G Marrier
James V Campain
Leon V Royster
Rodrigues U Chui
Aruna A Wieser
Johnson Y Malet
Ashley Q Paprocki
Maisha T Gillian
Francesco G Poquette
Murillo N Iturbide
Silvio K Nestle
Mujtaba I Nestle
Deepesh B Inouye
Jefferson H Darakjy
Jefferson K Inouye
IdCountryDate
1000Russia2026-07-22
1001Italy2026-07-07
1002Spain2026-07-02
1003United Kingdom2026-07-22
1004Italy2026-07-18
1005Argentina2026-07-23
1006Russia2026-07-09
1007Japan2026-07-21
1008India2026-07-16
1009Brazil2026-07-03
1010Japan2026-07-22
1011Germany2026-07-15
1012Canada2026-07-25
1013United Kingdom2026-07-05
1014Argentina2026-07-24
1015Argentina2026-07-17
1016Australia2026-07-18
1017United Kingdom2026-07-17
1018Argentina2026-07-11
1019Germany2026-07-18
1020Russia2026-07-02
1021Australia2026-07-12
1022Brazil2026-07-16
1023Russia2026-07-03
1024Japan2026-07-07
1025France2026-07-23
1026India2026-07-27
1027Italy2026-07-21
1028Argentina2026-07-23
1029Japan2026-07-09
1030Spain2026-07-16
1031United Kingdom2026-07-05
1032Brazil2026-07-06
1033Italy2026-07-14
1034Spain2026-07-21
1035Japan2026-07-15
1036France2026-07-27
1037India2026-07-31
1038Australia2026-07-15
1039Spain2026-07-09
1040Spain2026-07-20
1041France2026-07-17
1042Argentina2026-07-26
1043Italy2026-07-23
1044India2026-07-21
1045France2026-07-05
1046Australia2026-07-21
1047Germany2026-07-27
1048Argentina2026-07-18
1049Canada2026-07-27

On-Demand Data

NameIdCountryDate
Isabel H Flosi1000Spain2026-07-28
Aika V Doe1001United Kingdom2026-07-30
Greenwood C Iturbide1002Japan2026-07-16
Salvatore I Glick1003United Kingdom2026-07-23
Jefferson P Venere1004Australia2026-07-16
Aruna U Kusko1005Japan2026-07-04
Silvio P Oldroyd1006Argentina2026-07-12
Adams U Darakjy1007Italy2026-07-14
Johnson A Schemmer1008Italy2026-07-03
Ashley Q Doe1009Italy2026-07-08
Morrow D Flosi1010Germany2026-07-12
Mayumi D Rim1011Russia2026-07-08
Ashley K Amigon1012Australia2026-07-28
Aika K Glick1013Spain2026-07-06
James N Malet1014United Kingdom2026-07-09
Ivar V Bowley1015India2026-07-18
Deepesh U Royster1016Brazil2026-07-11
Ivar A Campain1017Italy2026-07-19
Isabel Y Albares1018France2026-07-07
Arvin B Ostrosky1019Canada2026-07-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens H CaldareraUnited KingdomOnyama Limba RENEWAL
Jefferson T RimRussiaBernardo Dominic UNQUALIFIED
Isabel W WhobreyFranceAmy Elsner NEGOTIATION
Jeanfrancois Z GlickAustraliaIvan Magalhaes NEGOTIATION
Ivar C AmigonSpainXuxue Feng NEW
Aika T ButtItalyOnyama Limba NEGOTIATION
Mayumi A IturbideArgentinaOnyama Limba NEGOTIATION
Jones K WaycottSpainXuxue Feng NEW
Octavia K StockhamIndiaAsiya Javayant PROPOSAL
Isabel X InouyeItalyElwin Sharvill QUALIFIED
Misaki I MarrierGermanyBernardo Dominic RENEWAL
Maria G KolmetzUnited KingdomAsiya Javayant RENEWAL
Sinclair Z SlusarskiAustraliaBernardo Dominic NEGOTIATION
Ricardo O CaudyItalyElwin Sharvill PROPOSAL
Antonio J VocelkaRussiaOnyama Limba NEGOTIATION
Darci D CampainSpainBernardo Dominic RENEWAL
Leja W MaletJapanAsiya Javayant NEGOTIATION
Jefferson M WieserIndiaOnyama Limba RENEWAL
Isabel T GauchoBrazilStephen Shaw NEGOTIATION
Jeanfrancois O RulapaughBrazilAmy Elsner NEW
Misaki E DilliardRussiaAsiya Javayant NEGOTIATION
Stacey N RulapaughGermanyAnna Fali QUALIFIED
Izzy R FigeroaItalyStephen Shaw NEW
Deepesh E OstroskyItalyAnna Fali QUALIFIED
David L RimUnited KingdomAnna Fali RENEWAL
Isabel R BowleyItalyOnyama Limba QUALIFIED
Ricardo L SchemmerJapanIoni Bowcher PROPOSAL
Munro H MarrierUnited KingdomStephen Shaw NEGOTIATION
Leon T ButtJapanBernardo Dominic UNQUALIFIED
Ricardo R ButtAustraliaXuxue Feng RENEWAL
Jones C VenereCanadaIoni Bowcher UNQUALIFIED
Chavez E WieserAustraliaIoni Bowcher NEW
Jeanfrancois A BologniaBrazilAsiya Javayant NEW
Jennifer T OstroskyBrazilAnna Fali RENEWAL
Ricardo O GarufiUnited KingdomStephen Shaw QUALIFIED
Sinclair O ButtJapanOnyama Limba NEW
Arvin U BologniaBrazilIoni Bowcher RENEWAL
Smith G OstroskyCanadaXuxue Feng RENEWAL
Kadeem S GillianArgentinaIvan Magalhaes PROPOSAL
Aditya B ChuiIndiaBernardo 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>