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
Leon Z BologniaUnited KingdomElwin Sharvill QUALIFIED
Chavez T KuskoSpainStephen Shaw PROPOSAL
Costa K StockhamCanadaStephen Shaw UNQUALIFIED
Maisha Y GauchoFranceIoni Bowcher PROPOSAL
Ashley O RulapaughJapanIoni Bowcher QUALIFIED
Alejandro B FlosiArgentinaOnyama Limba UNQUALIFIED
Aditya T InouyeArgentinaAnna Fali PROPOSAL
Murillo Z CampainSpainElwin Sharvill PROPOSAL
Kaitlin L OldroydAustraliaAnna Fali NEW
Stacey D SaylorsUnited KingdomAmy Elsner NEGOTIATION
Ivar L FigeroaJapanXuxue Feng QUALIFIED
Kadeem J NestleAustraliaBernardo Dominic UNQUALIFIED
Alejandro L VenereSpainAnna Fali QUALIFIED
Johnson T WaycottCanadaXuxue Feng QUALIFIED
David M MaletUnited KingdomAmy Elsner UNQUALIFIED
Morrow R SaylorsArgentinaAsiya Javayant NEW
Faith Z BriddickAustraliaIoni Bowcher RENEWAL
David D BologniaGermanyOnyama Limba NEW
Sinclair B GarufiUnited KingdomBernardo Dominic PROPOSAL
Mayumi C SchemmerFranceIoni Bowcher NEW
Wickens W RutaCanadaAmy Elsner PROPOSAL
Darci S BriddickIndiaElwin Sharvill UNQUALIFIED
Leja P GarufiItalyAnna Fali NEW
Ashley X MarrierBrazilStephen Shaw UNQUALIFIED
Aruna E TollnerGermanyBernardo Dominic QUALIFIED
Alejandro N MarrierRussiaStephen Shaw UNQUALIFIED
James G GarufiJapanIvan Magalhaes NEW
Rodrigues Z RimAustraliaStephen Shaw PROPOSAL
Mayumi G TollnerBrazilBernardo Dominic NEGOTIATION
Greenwood Y WhobreyRussiaElwin Sharvill NEW
Kadeem V WaycottAustraliaIvan Magalhaes NEW
Sinclair M WhobreyBrazilAmy Elsner RENEWAL
Ricardo R GauchoSpainIvan Magalhaes NEGOTIATION
Emily C BologniaSpainStephen Shaw PROPOSAL
Smith X CampainJapanIoni Bowcher PROPOSAL
Misaki B VocelkaIndiaIvan Magalhaes QUALIFIED
Costa M BologniaGermanyAnna Fali UNQUALIFIED
Kaitlin G PoquetteAustraliaIvan Magalhaes PROPOSAL
Emily J IturbideAustraliaIvan Magalhaes UNQUALIFIED
Jefferson M KolmetzFranceIoni Bowcher QUALIFIED
Wickens Q VenereGermanyElwin Sharvill QUALIFIED
Jeanfrancois M IturbideFranceOnyama Limba QUALIFIED
Emily D NestleIndiaBernardo Dominic RENEWAL
Maisha J RimItalyAmy Elsner NEGOTIATION
Izzy W FerenczUnited KingdomOnyama Limba NEGOTIATION
Clifford R MarrierArgentinaElwin Sharvill QUALIFIED
Julie N PaprockiItalyOnyama Limba PROPOSAL
Murillo F BowleyBrazilAsiya Javayant QUALIFIED
Leja H SchemmerRussiaAnna Fali NEGOTIATION
Leon Q OstroskyGermanyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens Q CaldareraSpainAmy Elsner UNQUALIFIED
Isabel P ShinkoBrazilBernardo Dominic RENEWAL
Silvio V NestleArgentinaBernardo Dominic PROPOSAL
Faith F MorascaUnited KingdomStephen Shaw NEW
Izzy J NestleGermanyIoni Bowcher NEGOTIATION
Aika K MaletItalyStephen Shaw NEGOTIATION
Jones B NestleBrazilStephen Shaw QUALIFIED
Francesco D VocelkaJapanAsiya Javayant UNQUALIFIED
Smith H CampainItalyXuxue Feng PROPOSAL
Ivar I GarufiGermanyOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow Z IturbideArgentina2026-07-18Commercial Press PROPOSAL35Bernardo Dominic
1001Emily R MacleadCanada2026-07-13Benton, John B Jr NEW20Bernardo Dominic
1002Arvin I MarrierRussia2026-07-12Feiner Bros QUALIFIED71Ivan Magalhaes
1003Faith Q MacleadItaly2026-07-14Dorl, James J Esq QUALIFIED29Onyama Limba
1004Greenwood F FerenczFrance2026-07-20Feltz Printing Service UNQUALIFIED17Ioni Bowcher
1005Kadeem O GillianItaly2026-06-21Benton, John B Jr NEW76Onyama Limba
1006Julie J WaycottUnited Kingdom2026-07-05Morlong Associates RENEWAL78Asiya Javayant
1007Octavia T GauchoArgentina2026-07-13King, Christopher A Esq NEGOTIATION35Onyama Limba
1008Julie O VocelkaUnited Kingdom2026-07-13Chanay, Jeffrey A Esq NEGOTIATION15Xuxue Feng
1009Salvatore Q RutaGermany2026-06-26Morlong Associates PROPOSAL97Stephen Shaw
1010Costa I NickaAustralia2026-07-05Rousseaux, Michael Esq NEGOTIATION31Stephen Shaw
1011Leon C DilliardAustralia2026-07-11Feiner Bros UNQUALIFIED93Xuxue Feng
1012Costa P MorascaRussia2026-07-17Rousseaux, Michael Esq NEW82Amy Elsner
1013Francesco M DilliardRussia2026-07-11Buckley Miller Wright NEGOTIATION35Bernardo Dominic
1014Misaki D GarufiIndia2026-07-10Feiner Bros NEGOTIATION24Asiya Javayant
1015Salvatore E FlosiItaly2026-07-09Rangoni Of Florence NEGOTIATION61Anna Fali
1016Silvio J IturbideArgentina2026-07-03Chanay, Jeffrey A Esq UNQUALIFIED58Anna Fali
1017Deepesh F WieserGermany2026-06-27Morlong Associates PROPOSAL7Ivan Magalhaes
1018Jeanfrancois L AmigonRussia2026-07-19King, Christopher A Esq NEW90Anna Fali
1019Chavez B GlickGermany2026-06-30Chemel, James L Cpa UNQUALIFIED52Anna Fali
1020Sinclair K RutaAustralia2026-07-19Printing Dimensions NEW92Ioni Bowcher
1021Cody W StensethFrance2026-07-07King, Christopher A Esq NEGOTIATION57Elwin Sharvill
1022Juan H BologniaCanada2026-07-02Buckley Miller Wright QUALIFIED50Bernardo Dominic
1023Deepesh Y DoeBrazil2026-06-25Morlong Associates UNQUALIFIED89Ivan Magalhaes
1024James E AmigonItaly2026-07-15Chemel, James L Cpa NEW28Stephen Shaw
1025Chavez B AlbaresJapan2026-07-11Morlong Associates NEGOTIATION52Xuxue Feng
1026Julie B WaycottGermany2026-07-04Truhlar And Truhlar Attys QUALIFIED93Xuxue Feng
1027Morrow I OldroydFrance2026-07-12Benton, John B Jr NEW98Anna Fali
1028Arvin V WieserIndia2026-06-27Morlong Associates UNQUALIFIED12Elwin Sharvill
1029Morrow A BowleyJapan2026-06-27Dorl, James J Esq RENEWAL30Asiya Javayant
1030Francesco N AmigonAustralia2026-07-03Buckley Miller Wright QUALIFIED80Elwin Sharvill
1031Sinclair F RimAustralia2026-06-26Benton, John B Jr PROPOSAL19Ivan Magalhaes
1032Nicolas E ShinkoBrazil2026-07-15Benton, John B Jr PROPOSAL54Stephen Shaw
1033Rodrigues E MaletArgentina2026-07-02Chanay, Jeffrey A Esq PROPOSAL29Amy Elsner
1034Darci Z CaldareraIndia2026-07-08Rousseaux, Michael Esq PROPOSAL83Asiya Javayant
1035Jones A BologniaArgentina2026-07-18Dorl, James J Esq UNQUALIFIED18Xuxue Feng
1036Sinclair B SlusarskiJapan2026-07-05Printing Dimensions RENEWAL46Bernardo Dominic
1037Jeanfrancois R FollerBrazil2026-06-28Feiner Bros NEW8Bernardo Dominic
1038Leon X CaldareraUnited Kingdom2026-07-19Morlong Associates NEW65Asiya Javayant
1039Arvin A KolmetzRussia2026-07-02Chapman, Ross E Esq RENEWAL67Anna Fali
1040Francesco B VocelkaCanada2026-06-27Morlong Associates RENEWAL59Elwin Sharvill
1041Isabel K GlickGermany2026-07-01Commercial Press RENEWAL53Amy Elsner
1042Aika Y VocelkaSpain2026-07-20Rousseaux, Michael Esq QUALIFIED61Amy Elsner
1043David A GlickArgentina2026-07-06Rousseaux, Michael Esq NEW18Bernardo Dominic
1044Antonio Q KolmetzCanada2026-07-09Morlong Associates QUALIFIED88Bernardo Dominic
1045Mayumi D NestleSpain2026-06-26Morlong Associates PROPOSAL43Elwin Sharvill
1046Munro Y BologniaArgentina2026-07-01Printing Dimensions PROPOSAL7Ioni Bowcher
1047Claire O BowleyCanada2026-07-20Feiner Bros QUALIFIED1Onyama Limba
1048Misaki Y AlbaresSpain2026-07-09Dorl, James J Esq NEW20Elwin Sharvill
1049Ashley H VenereCanada2026-06-26Dorl, James J Esq RENEWAL4Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Antonio E MarrierCanadaAnna Fali QUALIFIED
Jeanfrancois F ChuiAustraliaAmy Elsner UNQUALIFIED
Jefferson S ChuiAustraliaAsiya Javayant RENEWAL
Aditya C NickaBrazilBernardo Dominic UNQUALIFIED
Smith Y FollerArgentinaXuxue Feng PROPOSAL
Francesco C ButtRussiaAnna Fali QUALIFIED
Aruna F FigeroaCanadaIvan Magalhaes QUALIFIED
Kadeem X DoeRussiaIoni Bowcher UNQUALIFIED
Jefferson D MorascaAustraliaAmy Elsner QUALIFIED
Ashley Y DarakjyBrazilStephen Shaw PROPOSAL
Aditya V ShinkoRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois V RimCanadaOnyama Limba QUALIFIED
Nicolas J FlosiSpainIoni Bowcher UNQUALIFIED
Octavia B NickaIndiaXuxue Feng NEW
David Y IturbideArgentinaElwin Sharvill NEGOTIATION
Mujtaba S MacleadIndiaBernardo Dominic NEGOTIATION
Tony R ShinkoGermanyAnna Fali NEGOTIATION
Aruna V StensethJapanStephen Shaw RENEWAL
Aditya I PoquetteJapanStephen Shaw RENEWAL
Sinclair K BriddickBrazilBernardo Dominic NEGOTIATION
Alejandro D PoquetteRussiaStephen Shaw NEW
Leja D CampainBrazilStephen Shaw NEW
Munro U MacleadFranceAmy Elsner QUALIFIED
Maria A BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson B GauchoRussiaIvan Magalhaes QUALIFIED
Darci Q StensethUnited KingdomAsiya Javayant PROPOSAL
Emily A OldroydGermanyElwin Sharvill NEGOTIATION
Salvatore L DilliardItalyIoni Bowcher NEGOTIATION
Maisha N PoquetteSpainOnyama Limba UNQUALIFIED
Juan H ChuiAustraliaIoni Bowcher RENEWAL
Smith A RutaItalyAsiya Javayant NEGOTIATION
Greenwood L SaylorsArgentinaElwin Sharvill NEW
Jeanfrancois V MarrierRussiaOnyama Limba QUALIFIED
Rodrigues R AmigonFranceIvan Magalhaes RENEWAL
Murillo M OstroskyAustraliaOnyama Limba NEW
Leon X MaletJapanStephen Shaw NEW
Julie U RulapaughRussiaAsiya Javayant PROPOSAL
Chavez K VocelkaItalyBernardo Dominic PROPOSAL
Faith O MaletItalyOnyama Limba NEW
Chavez R AmigonGermanyIoni Bowcher NEGOTIATION
Juan W TollnerRussiaIoni Bowcher QUALIFIED
Nicolas J StockhamRussiaIvan Magalhaes NEGOTIATION
Silvio I StockhamJapanStephen Shaw QUALIFIED
Mujtaba X StensethJapanIvan Magalhaes UNQUALIFIED
Clifford O MaletItalyAnna Fali RENEWAL
Leja J BowleyAustraliaElwin Sharvill PROPOSAL
Claire B BologniaJapanBernardo Dominic NEW
James M BriddickGermanyIvan Magalhaes UNQUALIFIED
Johnson G ShinkoItalyXuxue Feng QUALIFIED
Kaitlin H MorascaBrazilAnna Fali NEGOTIATION
Frozen Columns
Name
Francesco G Saylors
Clifford F Gillian
Smith V Figeroa
Izzy T Briddick
Kadeem O Ruta
Chavez C Poquette
Leon K Amigon
Maria C Inouye
Isabel H Wieser
Maria S Marrier
Isabel I Doe
Ivar B Malet
Isabel R Royster
Aruna I Figeroa
Leja Z Slusarski
Stacey Y Kusko
Juan Z Malet
Mujtaba S Butt
Jeanfrancois B Shinko
Julie A Nicka
Costa J Rulapaugh
Alejandro U Ruta
Julie K Dilliard
Juan T Briddick
Maisha O Tollner
Francesco V Kusko
Morrow G Briddick
Aditya J Tollner
Costa T Nicka
Aika H Royster
Maria D Schemmer
David D Whobrey
Aruna W Perin
Juan S Campain
Julie V Shinko
Octavia Q Malet
James Z Glick
Ricardo Q Morasca
Arvin Z Shinko
Wickens S Albares
Jeanfrancois Y Stenseth
Munro V Darakjy
Jennifer R Slusarski
Kaitlin F Whobrey
Mayumi Y Butt
Kaitlin V Kolmetz
Wickens Q Bowley
Sinclair Z Stenseth
Jennifer N Campain
Sinclair X Nicka
IdCountryDate
1000Argentina2026-07-19
1001Japan2026-07-08
1002Germany2026-07-07
1003Spain2026-07-16
1004Spain2026-06-27
1005Spain2026-07-16
1006Brazil2026-07-19
1007India2026-07-11
1008Italy2026-07-19
1009Australia2026-06-22
1010Japan2026-06-25
1011Spain2026-06-24
1012Italy2026-06-26
1013Brazil2026-07-14
1014Australia2026-06-23
1015Japan2026-07-05
1016Italy2026-07-07
1017India2026-06-24
1018Russia2026-07-08
1019Germany2026-07-12
1020Italy2026-06-28
1021United Kingdom2026-07-02
1022Spain2026-06-29
1023Argentina2026-07-03
1024India2026-07-09
1025Japan2026-06-26
1026United Kingdom2026-06-29
1027Japan2026-07-17
1028Italy2026-07-18
1029France2026-06-29
1030Brazil2026-06-28
1031Argentina2026-06-30
1032Australia2026-06-27
1033France2026-07-20
1034Canada2026-06-28
1035Japan2026-07-19
1036United Kingdom2026-07-12
1037Germany2026-06-22
1038Italy2026-07-20
1039Brazil2026-07-10
1040Germany2026-07-18
1041France2026-07-06
1042Canada2026-07-08
1043United Kingdom2026-07-20
1044Brazil2026-07-07
1045Russia2026-07-05
1046Russia2026-06-29
1047Argentina2026-06-24
1048Japan2026-06-30
1049Russia2026-07-11

On-Demand Data

NameIdCountryDate
Wickens S Ruta1000Brazil2026-07-12
Isabel H Caldarera1001Japan2026-06-23
Sinclair L Bowley1002India2026-06-25
Emily Z Schemmer1003Canada2026-07-19
Aruna F Rulapaugh1004Spain2026-07-10
Leja E Ruta1005Canada2026-07-18
Mujtaba A Kusko1006Germany2026-07-07
Maria Q Morasca1007Italy2026-06-21
Deepesh X Figeroa1008Japan2026-07-10
Octavia F Maclead1009Brazil2026-07-08
Julie V Morasca1010Brazil2026-06-30
Octavia L Briddick1011Italy2026-07-06
Aika M Kusko1012Argentina2026-07-08
Maria N Flosi1013Canada2026-07-04
Jeanfrancois U Waycott1014Brazil2026-07-05
Izzy T Gaucho1015Russia2026-06-28
Leon O Wieser1016Argentina2026-06-25
Jennifer I Albares1017Russia2026-07-16
Mujtaba J Poquette1018Argentina2026-07-20
Isabel P Malet1019Brazil2026-07-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio M CampainCanadaOnyama Limba NEGOTIATION
Aruna S GauchoJapanOnyama Limba RENEWAL
Jennifer R StensethUnited KingdomXuxue Feng RENEWAL
Aika O BriddickSpainXuxue Feng NEW
Silvio K RoysterBrazilAnna Fali NEW
Isabel O SergiSpainAnna Fali NEGOTIATION
Ricardo U AmigonRussiaIvan Magalhaes QUALIFIED
Aruna E SchemmerCanadaIoni Bowcher PROPOSAL
Emily F VenereArgentinaAsiya Javayant RENEWAL
Silvio Q RutaJapanBernardo Dominic NEGOTIATION
Alejandro Y CampainFranceXuxue Feng NEGOTIATION
Clifford X ShinkoSpainOnyama Limba PROPOSAL
Leon R StensethAustraliaIvan Magalhaes QUALIFIED
Chavez W FollerItalyAsiya Javayant NEGOTIATION
Maisha U SaylorsRussiaBernardo Dominic PROPOSAL
Mujtaba D RimItalyIvan Magalhaes NEGOTIATION
Maisha M ChuiArgentinaStephen Shaw NEW
Julie G KuskoItalyBernardo Dominic NEW
Isabel T InouyeIndiaIoni Bowcher UNQUALIFIED
Wickens T WhobreyItalyBernardo Dominic QUALIFIED
Kaitlin J KuskoIndiaIvan Magalhaes NEGOTIATION
Mayumi C FerenczUnited KingdomBernardo Dominic QUALIFIED
Adams F FollerArgentinaAnna Fali QUALIFIED
Aruna A WhobreyFranceIoni Bowcher QUALIFIED
Jones V BologniaUnited KingdomIoni Bowcher QUALIFIED
Aditya Y StockhamItalyAsiya Javayant RENEWAL
Francesco M KuskoGermanyAmy Elsner NEW
Jennifer A RulapaughItalyAsiya Javayant UNQUALIFIED
Arvin F WaycottBrazilXuxue Feng NEW
Izzy K StensethAustraliaIvan Magalhaes UNQUALIFIED
Sinclair L DoeRussiaOnyama Limba NEW
Sinclair V MarrierJapanAnna Fali UNQUALIFIED
Emily B AlbaresGermanyStephen Shaw UNQUALIFIED
Nicolas X KolmetzFranceBernardo Dominic PROPOSAL
Greenwood K DarakjyJapanElwin Sharvill NEGOTIATION
Murillo M OstroskyIndiaAnna Fali NEW
Claire L DarakjySpainXuxue Feng UNQUALIFIED
Tony G WieserFranceStephen Shaw NEW
Julie G VenereRussiaStephen Shaw UNQUALIFIED
Kaitlin Y CaldareraItalyOnyama Limba NEW

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