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
Deepesh W KuskoRussiaOnyama Limba NEGOTIATION
Ashley U FerenczBrazilBernardo Dominic NEW
Wickens G SlusarskiAustraliaBernardo Dominic PROPOSAL
David Q SlusarskiIndiaBernardo Dominic RENEWAL
Cody U GillianUnited KingdomXuxue Feng PROPOSAL
David C DarakjyUnited KingdomXuxue Feng NEW
Faith F SlusarskiItalyXuxue Feng RENEWAL
Isabel J BologniaArgentinaAsiya Javayant RENEWAL
Cody J SlusarskiFranceBernardo Dominic NEGOTIATION
Faith J MaletItalyStephen Shaw NEW
Octavia C CampainFranceOnyama Limba NEGOTIATION
James G FollerAustraliaIoni Bowcher QUALIFIED
Mujtaba Y IturbideIndiaElwin Sharvill QUALIFIED
Sinclair F CaudyRussiaOnyama Limba PROPOSAL
Morrow D ShinkoSpainXuxue Feng QUALIFIED
Jefferson Y GarufiUnited KingdomAsiya Javayant QUALIFIED
Darci M ShinkoArgentinaIoni Bowcher NEW
Clifford E SaylorsAustraliaIoni Bowcher UNQUALIFIED
Mayumi M MaletBrazilIvan Magalhaes NEGOTIATION
Antonio N VenereBrazilElwin Sharvill PROPOSAL
Antonio G WaycottRussiaOnyama Limba NEW
Jones W DarakjyUnited KingdomOnyama Limba NEW
Jefferson Y MaletBrazilStephen Shaw NEGOTIATION
Kaitlin U OldroydItalyAsiya Javayant PROPOSAL
Aika R CaudyAustraliaAsiya Javayant NEW
Kaitlin J NestleItalyXuxue Feng NEGOTIATION
Nicolas Z SaylorsArgentinaIvan Magalhaes RENEWAL
Costa Y KuskoJapanAnna Fali PROPOSAL
Deepesh J OstroskyIndiaIvan Magalhaes UNQUALIFIED
Izzy L CaldareraItalyAnna Fali PROPOSAL
Arvin R OstroskyItalyOnyama Limba NEW
Leja E AmigonSpainElwin Sharvill PROPOSAL
Maisha Y MorascaIndiaOnyama Limba QUALIFIED
Silvio T SaylorsJapanIvan Magalhaes NEGOTIATION
Isabel A WaycottAustraliaBernardo Dominic PROPOSAL
Jefferson L FollerUnited KingdomElwin Sharvill NEW
Johnson A DarakjyAustraliaAnna Fali PROPOSAL
Maisha Z PaprockiRussiaAsiya Javayant RENEWAL
Tony G PerinRussiaAmy Elsner NEW
Deepesh D StockhamRussiaOnyama Limba RENEWAL
Mujtaba I GlickGermanyAsiya Javayant QUALIFIED
Johnson J InouyeCanadaXuxue Feng PROPOSAL
Clifford F OldroydFranceIoni Bowcher QUALIFIED
Julie C StockhamFranceAsiya Javayant NEW
Leon G NestleSpainBernardo Dominic PROPOSAL
Salvatore E NickaJapanXuxue Feng NEW
Jennifer H DilliardGermanyOnyama Limba NEGOTIATION
Jefferson V CampainFranceAsiya Javayant RENEWAL
Octavia B WaycottUnited KingdomIvan Magalhaes NEW
Juan C BologniaArgentinaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi O BologniaFranceAnna Fali RENEWAL
Francesco F BowleyIndiaAmy Elsner QUALIFIED
Juan R RulapaughGermanyIvan Magalhaes RENEWAL
Maisha M GlickBrazilIvan Magalhaes RENEWAL
Adams B FlosiSpainAsiya Javayant QUALIFIED
Wickens O WieserUnited KingdomIvan Magalhaes UNQUALIFIED
Jones D RoysterUnited KingdomXuxue Feng PROPOSAL
Ricardo S KolmetzJapanIvan Magalhaes UNQUALIFIED
Murillo J SchemmerJapanStephen Shaw NEGOTIATION
Maria V RulapaughJapanBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria U GauchoSpain2026-06-01King, Christopher A Esq UNQUALIFIED95Elwin Sharvill
1001Greenwood F BriddickSpain2026-06-18King, Christopher A Esq PROPOSAL95Stephen Shaw
1002Isabel I WieserSpain2026-06-26Benton, John B Jr NEGOTIATION18Bernardo Dominic
1003Rodrigues Y ButtFrance2026-06-01Chanay, Jeffrey A Esq RENEWAL33Asiya Javayant
1004Faith R GauchoGermany2026-06-17Feiner Bros NEGOTIATION55Xuxue Feng
1005Jeanfrancois D MaletBrazil2026-06-22Morlong Associates QUALIFIED82Stephen Shaw
1006Isabel S ShinkoGermany2026-06-02Benton, John B Jr UNQUALIFIED69Anna Fali
1007Ricardo C AmigonIndia2026-06-20Rousseaux, Michael Esq QUALIFIED48Stephen Shaw
1008Julie W VocelkaBrazil2026-06-05Truhlar And Truhlar Attys UNQUALIFIED78Elwin Sharvill
1009Ashley I CaudyIndia2026-06-23Dorl, James J Esq NEGOTIATION0Xuxue Feng
1010Chavez C StockhamJapan2026-06-29Benton, John B Jr NEW78Ivan Magalhaes
1011Mujtaba I AlbaresItaly2026-06-10Rangoni Of Florence RENEWAL36Stephen Shaw
1012Chavez P PaprockiRussia2026-06-20Printing Dimensions NEW75Amy Elsner
1013Isabel X CaudyRussia2026-06-27Rousseaux, Michael Esq UNQUALIFIED40Ivan Magalhaes
1014Francesco Y CampainJapan2026-06-03Dorl, James J Esq UNQUALIFIED27Amy Elsner
1015Adams A SergiSpain2026-06-30Feltz Printing Service NEW77Ioni Bowcher
1016Emily U ShinkoCanada2026-06-09Benton, John B Jr QUALIFIED87Elwin Sharvill
1017Emily O InouyeCanada2026-06-10Dorl, James J Esq NEGOTIATION86Stephen Shaw
1018Maria Y SaylorsGermany2026-06-12Rangoni Of Florence UNQUALIFIED18Elwin Sharvill
1019Kadeem L ButtCanada2026-06-21Feltz Printing Service QUALIFIED81Bernardo Dominic
1020Leon K OldroydBrazil2026-06-11Dorl, James J Esq UNQUALIFIED59Xuxue Feng
1021Octavia E FollerBrazil2026-06-06Feltz Printing Service NEW81Amy Elsner
1022Jones U WaycottBrazil2026-06-03Rousseaux, Michael Esq UNQUALIFIED11Xuxue Feng
1023Chavez O CaldareraSpain2026-06-26Printing Dimensions UNQUALIFIED94Asiya Javayant
1024David L FollerAustralia2026-06-17Rangoni Of Florence PROPOSAL55Asiya Javayant
1025Rodrigues M DilliardSpain2026-06-10Chemel, James L Cpa NEGOTIATION43Amy Elsner
1026Jefferson N TollnerUnited Kingdom2026-06-30Rangoni Of Florence RENEWAL15Stephen Shaw
1027Misaki N WieserRussia2026-06-11Buckley Miller Wright NEGOTIATION78Ioni Bowcher
1028Maisha P BriddickRussia2026-06-20Rousseaux, Michael Esq PROPOSAL2Stephen Shaw
1029Aruna U InouyeArgentina2026-06-30Chanay, Jeffrey A Esq NEW12Ioni Bowcher
1030Clifford R DoeRussia2026-06-03Feiner Bros RENEWAL22Anna Fali
1031Antonio T GillianRussia2026-06-25Feiner Bros QUALIFIED51Ioni Bowcher
1032Jefferson T IturbideJapan2026-06-04Benton, John B Jr UNQUALIFIED0Stephen Shaw
1033Jennifer R PoquetteCanada2026-06-28King, Christopher A Esq QUALIFIED45Stephen Shaw
1034Izzy R AmigonArgentina2026-06-19Buckley Miller Wright UNQUALIFIED62Amy Elsner
1035Juan Q CampainItaly2026-06-03Morlong Associates UNQUALIFIED80Elwin Sharvill
1036Murillo S MacleadSpain2026-06-15Benton, John B Jr NEW47Ioni Bowcher
1037Juan Q RimGermany2026-06-21Printing Dimensions NEW44Elwin Sharvill
1038Tony J VenereItaly2026-06-07Rousseaux, Michael Esq PROPOSAL44Stephen Shaw
1039Salvatore J MarrierSpain2026-06-06Dorl, James J Esq UNQUALIFIED60Amy Elsner
1040Murillo Q GauchoIndia2026-06-02King, Christopher A Esq UNQUALIFIED91Ivan Magalhaes
1041Mayumi K RimArgentina2026-06-16Commercial Press QUALIFIED92Ioni Bowcher
1042Darci H MacleadCanada2026-06-25Truhlar And Truhlar Attys UNQUALIFIED38Ioni Bowcher
1043Jones V GauchoJapan2026-06-18Commercial Press NEW66Anna Fali
1044Aditya H PoquetteArgentina2026-06-18Benton, John B Jr NEGOTIATION11Anna Fali
1045Misaki Q MorascaJapan2026-06-25Rangoni Of Florence RENEWAL31Anna Fali
1046Jones T ButtCanada2026-06-28Benton, John B Jr NEGOTIATION63Ivan Magalhaes
1047Octavia H KuskoFrance2026-06-01Commercial Press UNQUALIFIED4Ioni Bowcher
1048Jefferson O ShinkoGermany2026-06-08Morlong Associates RENEWAL47Asiya Javayant
1049Ashley U FigeroaBrazil2026-06-05Rangoni Of Florence NEW96Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Stacey K GarufiUnited KingdomAnna Fali RENEWAL
Jeanfrancois S RimCanadaAsiya Javayant UNQUALIFIED
Stacey N CaudyRussiaIoni Bowcher NEGOTIATION
Mujtaba O RulapaughFranceStephen Shaw PROPOSAL
Clifford V ButtSpainOnyama Limba UNQUALIFIED
Aika B VenereAustraliaAsiya Javayant RENEWAL
Maria D PerinGermanyAmy Elsner RENEWAL
Clifford K MorascaAustraliaElwin Sharvill NEW
Claire Z StockhamIndiaIvan Magalhaes NEW
Sinclair Z PoquetteArgentinaOnyama Limba NEGOTIATION
Maisha K VenereArgentinaBernardo Dominic UNQUALIFIED
Chavez N ButtBrazilAnna Fali QUALIFIED
Mujtaba D AmigonIndiaXuxue Feng QUALIFIED
Izzy Y MarrierSpainIoni Bowcher NEW
Mujtaba A GillianBrazilBernardo Dominic QUALIFIED
Alejandro E AlbaresSpainIoni Bowcher NEGOTIATION
Rodrigues E RutaItalyAmy Elsner UNQUALIFIED
Aika T ShinkoSpainAnna Fali PROPOSAL
Smith D GillianSpainAnna Fali QUALIFIED
Aditya Y SlusarskiJapanXuxue Feng NEGOTIATION
Mujtaba J VenereJapanIoni Bowcher RENEWAL
Aditya B FollerBrazilStephen Shaw UNQUALIFIED
Maisha K StensethJapanXuxue Feng PROPOSAL
Silvio N WieserBrazilAsiya Javayant RENEWAL
Ashley C StensethGermanyXuxue Feng RENEWAL
Mayumi Q MacleadAustraliaXuxue Feng RENEWAL
Aditya D MacleadItalyStephen Shaw PROPOSAL
Ricardo R PaprockiRussiaXuxue Feng QUALIFIED
Faith Q IturbideCanadaXuxue Feng RENEWAL
Juan Z CampainFranceElwin Sharvill NEGOTIATION
Isabel F DilliardItalyAsiya Javayant RENEWAL
Aruna Y DoeArgentinaAmy Elsner NEGOTIATION
Claire F AmigonAustraliaXuxue Feng UNQUALIFIED
Wickens A SlusarskiGermanyAnna Fali NEGOTIATION
Octavia G GauchoUnited KingdomElwin Sharvill NEGOTIATION
Murillo H AlbaresSpainStephen Shaw PROPOSAL
Antonio U RutaFranceAnna Fali QUALIFIED
Darci X MacleadItalyAsiya Javayant NEW
Octavia B ChuiFranceElwin Sharvill RENEWAL
Jefferson Y PaprockiArgentinaOnyama Limba PROPOSAL
Arvin F FigeroaUnited KingdomIoni Bowcher RENEWAL
Leon I NestleBrazilAmy Elsner RENEWAL
Morrow A CaldareraIndiaIoni Bowcher NEGOTIATION
Leja Y MarrierItalyAmy Elsner QUALIFIED
Octavia H OstroskyArgentinaElwin Sharvill QUALIFIED
David G NickaBrazilBernardo Dominic NEW
Wickens Q PoquetteAustraliaAnna Fali NEGOTIATION
Stacey V KuskoItalyIoni Bowcher QUALIFIED
Deepesh E ShinkoSpainStephen Shaw RENEWAL
Julie N ShinkoJapanXuxue Feng UNQUALIFIED
Frozen Columns
Name
Aditya S Marrier
Kadeem E Royster
Costa X Kusko
Ricardo O Waycott
Faith M Oldroyd
Smith U Poquette
Darci Y Marrier
Aditya K Paprocki
Emily M Gaucho
Rodrigues I Schemmer
Julie F Wieser
Francesco W Briddick
Smith F Doe
Arvin B Poquette
Claire O Paprocki
Murillo F Paprocki
Izzy Q Figeroa
Chavez B Whobrey
Claire M Ruta
Faith G Sergi
Costa J Schemmer
Kaitlin U Royster
Morrow Y Royster
Leja W Foller
Francesco X Perin
Aika I Sergi
Maisha K Schemmer
David Q Maclead
Rodrigues H Campain
Chavez T Marrier
Johnson W Slusarski
Emily W Shinko
Aruna M Paprocki
Octavia B Morasca
Misaki W Stockham
Claire N Nestle
Jennifer D Morasca
Jeanfrancois Q Maclead
Murillo F Stenseth
Misaki S Stenseth
Leja A Briddick
Jeanfrancois N Ostrosky
David Q Chui
Alejandro V Marrier
Julie Z Malet
Tony C Morasca
Stacey O Tollner
Francesco L Perin
Jennifer C Whobrey
Misaki E Maclead
IdCountryDate
1000Japan2026-06-17
1001Japan2026-06-11
1002Germany2026-06-24
1003Russia2026-06-09
1004Russia2026-06-03
1005Italy2026-06-15
1006Spain2026-06-11
1007Spain2026-06-12
1008Russia2026-06-07
1009Italy2026-06-02
1010Russia2026-06-27
1011India2026-06-27
1012Germany2026-06-15
1013Australia2026-06-25
1014Germany2026-06-08
1015Japan2026-06-09
1016Spain2026-06-04
1017Argentina2026-06-14
1018United Kingdom2026-06-23
1019Canada2026-06-22
1020Brazil2026-06-19
1021Spain2026-06-11
1022Germany2026-06-23
1023Brazil2026-06-08
1024France2026-06-11
1025Canada2026-06-28
1026Germany2026-06-06
1027United Kingdom2026-06-24
1028United Kingdom2026-06-02
1029United Kingdom2026-06-02
1030Russia2026-06-02
1031France2026-06-09
1032Germany2026-06-05
1033Brazil2026-06-24
1034Spain2026-06-02
1035Spain2026-06-12
1036Russia2026-06-19
1037Brazil2026-06-29
1038Australia2026-06-15
1039Italy2026-06-15
1040Australia2026-06-04
1041Brazil2026-06-03
1042Russia2026-06-21
1043Argentina2026-06-18
1044Italy2026-06-23
1045India2026-06-26
1046Russia2026-06-17
1047Italy2026-06-16
1048Russia2026-06-10
1049United Kingdom2026-06-17

On-Demand Data

NameIdCountryDate
Aruna J Paprocki1000Australia2026-06-15
Kadeem W Malet1001Canada2026-06-20
Darci J Saylors1002India2026-06-15
Chavez J Dilliard1003Brazil2026-06-13
Leon V Oldroyd1004Germany2026-06-23
Ashley B Nestle1005Brazil2026-06-11
Munro M Schemmer1006India2026-06-09
Julie C Stenseth1007France2026-06-20
David D Darakjy1008Canada2026-06-27
Jeanfrancois I Flosi1009Japan2026-06-20
Mujtaba P Doe1010Argentina2026-06-01
Leon A Kusko1011Spain2026-06-17
Tony Y Darakjy1012Brazil2026-06-01
Julie N Briddick1013United Kingdom2026-06-07
Aditya P Albares1014Argentina2026-06-08
Johnson C Slusarski1015Spain2026-06-19
Misaki C Foller1016Australia2026-06-02
Greenwood S Perin1017Italy2026-06-27
Jones O Campain1018Canada2026-06-08
Maria N Rulapaugh1019Russia2026-06-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Y BowleyAustraliaIoni Bowcher QUALIFIED
Rodrigues I AmigonGermanyIvan Magalhaes UNQUALIFIED
Claire E SchemmerJapanAsiya Javayant NEGOTIATION
Jones H AlbaresBrazilAnna Fali QUALIFIED
Aruna B ChuiItalyXuxue Feng UNQUALIFIED
Wickens H NickaUnited KingdomStephen Shaw RENEWAL
Claire X SergiBrazilAsiya Javayant UNQUALIFIED
Ricardo D GarufiFranceElwin Sharvill QUALIFIED
Tony V SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Munro Y WhobreyUnited KingdomAsiya Javayant NEW
Arvin V PerinFranceXuxue Feng QUALIFIED
Cody M KolmetzItalyAmy Elsner UNQUALIFIED
Izzy L AmigonRussiaStephen Shaw RENEWAL
Kadeem I NestleIndiaBernardo Dominic RENEWAL
Darci A CampainUnited KingdomAsiya Javayant UNQUALIFIED
Alejandro X DilliardUnited KingdomIoni Bowcher PROPOSAL
Wickens B FigeroaArgentinaIvan Magalhaes QUALIFIED
Murillo F SaylorsAustraliaElwin Sharvill QUALIFIED
Isabel H GauchoItalyBernardo Dominic PROPOSAL
Arvin Y SergiIndiaIoni Bowcher NEGOTIATION
Faith G MacleadFranceAnna Fali QUALIFIED
Aditya Y StensethIndiaIoni Bowcher UNQUALIFIED
Ashley L PerinIndiaOnyama Limba NEW
Silvio M StockhamAustraliaAmy Elsner RENEWAL
Jefferson X MaletIndiaBernardo Dominic RENEWAL
Emily X CampainUnited KingdomElwin Sharvill PROPOSAL
Ivar D StockhamSpainOnyama Limba QUALIFIED
Aika Q AlbaresFranceAsiya Javayant PROPOSAL
Ashley S GillianItalyElwin Sharvill PROPOSAL
Morrow F MaletRussiaIvan Magalhaes QUALIFIED
Stacey C ChuiFranceOnyama Limba PROPOSAL
Murillo Q OstroskyRussiaElwin Sharvill RENEWAL
Wickens I SergiArgentinaBernardo Dominic NEW
Aditya C MaletItalyElwin Sharvill NEGOTIATION
Adams F CampainAustraliaElwin Sharvill NEGOTIATION
Johnson C ShinkoRussiaStephen Shaw NEW
Darci A StensethIndiaAmy Elsner NEW
Octavia E RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Adams G InouyeAustraliaIoni Bowcher NEGOTIATION
Murillo F RimGermanyOnyama Limba 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>