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
Chavez D RimArgentinaAnna Fali NEGOTIATION
Kadeem W FigeroaIndiaIvan Magalhaes PROPOSAL
Jones B FlosiJapanAsiya Javayant QUALIFIED
Octavia G MarrierArgentinaAsiya Javayant PROPOSAL
Rodrigues Q GillianCanadaAsiya Javayant QUALIFIED
Aika T StockhamFranceIoni Bowcher NEGOTIATION
Aika D PerinSpainBernardo Dominic QUALIFIED
Greenwood K GauchoAustraliaAnna Fali NEW
Chavez N FollerBrazilAmy Elsner NEW
Leon Y KolmetzItalyAnna Fali PROPOSAL
Misaki T FerenczJapanIoni Bowcher UNQUALIFIED
Smith K GauchoAustraliaAsiya Javayant RENEWAL
Aruna B MaletJapanAnna Fali NEGOTIATION
Salvatore M AlbaresRussiaIvan Magalhaes RENEWAL
Clifford A DoeRussiaAnna Fali QUALIFIED
Nicolas W WhobreyJapanAsiya Javayant PROPOSAL
Chavez A CampainSpainXuxue Feng RENEWAL
Emily S RimUnited KingdomAsiya Javayant NEGOTIATION
Johnson X SchemmerBrazilXuxue Feng NEW
Izzy U AmigonGermanyOnyama Limba NEW
Costa P GauchoItalyBernardo Dominic RENEWAL
Morrow O StockhamItalyAnna Fali RENEWAL
Misaki B PerinCanadaAmy Elsner UNQUALIFIED
Ivar L KolmetzCanadaAsiya Javayant PROPOSAL
Claire K KuskoSpainAsiya Javayant QUALIFIED
Kaitlin B MarrierIndiaAmy Elsner UNQUALIFIED
Alejandro U RimCanadaBernardo Dominic NEW
Maisha E KuskoAustraliaIvan Magalhaes NEW
Kadeem G GillianCanadaElwin Sharvill PROPOSAL
Aika B FerenczArgentinaAnna Fali RENEWAL
Julie Q MorascaGermanyIoni Bowcher NEW
David M ChuiSpainAsiya Javayant PROPOSAL
Adams J AmigonGermanyOnyama Limba PROPOSAL
Jones T MacleadUnited KingdomStephen Shaw QUALIFIED
Sinclair I FollerUnited KingdomAsiya Javayant NEGOTIATION
Nicolas Q ButtItalyXuxue Feng NEW
Salvatore L NickaCanadaAnna Fali NEGOTIATION
Nicolas J SergiRussiaXuxue Feng RENEWAL
Mujtaba O MaletGermanyOnyama Limba NEGOTIATION
Aika Z KuskoCanadaStephen Shaw QUALIFIED
Cody P CaldareraFranceAnna Fali NEW
Mayumi G TollnerFranceAsiya Javayant NEW
Tony G PoquetteFranceStephen Shaw NEGOTIATION
Kadeem E BowleyJapanAnna Fali NEGOTIATION
Arvin K PerinBrazilIoni Bowcher NEW
Nicolas C GauchoCanadaOnyama Limba UNQUALIFIED
Cody J ChuiArgentinaOnyama Limba QUALIFIED
Alejandro V FigeroaItalyElwin Sharvill QUALIFIED
Julie Y MacleadFranceIoni Bowcher UNQUALIFIED
Mayumi U TollnerSpainStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin L BowleyGermanyIvan Magalhaes NEW
Stacey K CaldareraFranceIoni Bowcher NEGOTIATION
Kaitlin K RutaAustraliaXuxue Feng UNQUALIFIED
Faith T TollnerIndiaXuxue Feng PROPOSAL
Cody T StensethJapanXuxue Feng QUALIFIED
Julie O AmigonItalyOnyama Limba PROPOSAL
Isabel N VenereItalyXuxue Feng RENEWAL
Munro K RulapaughFranceIvan Magalhaes UNQUALIFIED
Maisha R DarakjyBrazilOnyama Limba RENEWAL
David S AmigonFranceAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba E FigeroaRussia2026-07-15Chanay, Jeffrey A Esq PROPOSAL8Amy Elsner
1001Wickens W SlusarskiFrance2026-07-16Feltz Printing Service NEW90Asiya Javayant
1002Ivar N PoquetteAustralia2026-07-12King, Christopher A Esq UNQUALIFIED65Bernardo Dominic
1003Munro W BriddickAustralia2026-06-25Feltz Printing Service RENEWAL65Stephen Shaw
1004Deepesh T PaprockiGermany2026-07-05Printing Dimensions NEGOTIATION95Onyama Limba
1005Silvio W VenereArgentina2026-07-08Benton, John B Jr NEGOTIATION72Onyama Limba
1006Nicolas B VocelkaGermany2026-07-15Chemel, James L Cpa PROPOSAL46Onyama Limba
1007Leja W SaylorsRussia2026-07-16Morlong Associates QUALIFIED15Onyama Limba
1008Silvio H PerinBrazil2026-07-11Morlong Associates PROPOSAL17Ioni Bowcher
1009Smith O PaprockiItaly2026-07-15Morlong Associates QUALIFIED8Asiya Javayant
1010Sinclair D MacleadArgentina2026-06-25King, Christopher A Esq PROPOSAL92Amy Elsner
1011Chavez A BriddickGermany2026-07-03Printing Dimensions NEGOTIATION54Onyama Limba
1012Octavia A CaldareraFrance2026-07-15Morlong Associates QUALIFIED41Bernardo Dominic
1013Izzy D VocelkaRussia2026-07-07Chapman, Ross E Esq PROPOSAL29Asiya Javayant
1014Alejandro D GarufiFrance2026-06-20Morlong Associates RENEWAL66Ioni Bowcher
1015Alejandro V SlusarskiBrazil2026-07-15Truhlar And Truhlar Attys UNQUALIFIED46Elwin Sharvill
1016Costa T FlosiItaly2026-07-14Printing Dimensions UNQUALIFIED5Amy Elsner
1017Cody O BriddickCanada2026-07-01Rangoni Of Florence NEW27Ioni Bowcher
1018Costa Y ButtRussia2026-07-02King, Christopher A Esq QUALIFIED53Amy Elsner
1019Wickens X FigeroaJapan2026-06-30Chanay, Jeffrey A Esq PROPOSAL40Anna Fali
1020Arvin V MorascaCanada2026-06-25Truhlar And Truhlar Attys PROPOSAL50Stephen Shaw
1021Morrow N RimGermany2026-07-09Buckley Miller Wright PROPOSAL44Stephen Shaw
1022Sinclair U DoeBrazil2026-07-11Chanay, Jeffrey A Esq NEGOTIATION74Ioni Bowcher
1023Francesco L NickaSpain2026-06-19Commercial Press RENEWAL15Asiya Javayant
1024Jefferson X StockhamArgentina2026-06-30Chanay, Jeffrey A Esq QUALIFIED24Bernardo Dominic
1025Izzy D StockhamUnited Kingdom2026-06-28King, Christopher A Esq QUALIFIED15Stephen Shaw
1026Emily Z TollnerIndia2026-07-04Chanay, Jeffrey A Esq PROPOSAL7Asiya Javayant
1027Jones B KolmetzAustralia2026-07-10Dorl, James J Esq UNQUALIFIED63Bernardo Dominic
1028Johnson J WieserArgentina2026-06-26Printing Dimensions QUALIFIED98Bernardo Dominic
1029Sinclair O StensethJapan2026-07-11Morlong Associates QUALIFIED47Ioni Bowcher
1030Costa U WieserGermany2026-07-06Dorl, James J Esq NEGOTIATION41Stephen Shaw
1031Munro O CaudyJapan2026-07-04Chemel, James L Cpa QUALIFIED22Asiya Javayant
1032Johnson P PerinJapan2026-07-16Morlong Associates NEGOTIATION80Bernardo Dominic
1033Ricardo E FerenczIndia2026-07-04Feltz Printing Service RENEWAL4Stephen Shaw
1034Antonio F CampainIndia2026-07-06Chanay, Jeffrey A Esq RENEWAL0Bernardo Dominic
1035Stacey R BowleyJapan2026-07-17Truhlar And Truhlar Attys NEGOTIATION73Asiya Javayant
1036Faith B AlbaresArgentina2026-06-27Benton, John B Jr QUALIFIED25Elwin Sharvill
1037Adams V ShinkoIndia2026-07-15Dorl, James J Esq NEW88Onyama Limba
1038James L StensethJapan2026-07-12Feltz Printing Service NEGOTIATION69Bernardo Dominic
1039Salvatore S CaldareraSpain2026-07-17Rangoni Of Florence UNQUALIFIED65Ioni Bowcher
1040Ricardo X NestleSpain2026-06-30Chapman, Ross E Esq RENEWAL71Asiya Javayant
1041Johnson D GauchoRussia2026-06-29Feltz Printing Service NEGOTIATION46Anna Fali
1042Aika T GauchoBrazil2026-07-02Commercial Press QUALIFIED26Stephen Shaw
1043Jennifer O MacleadJapan2026-06-22Truhlar And Truhlar Attys RENEWAL86Bernardo Dominic
1044Smith X VocelkaFrance2026-06-28Rousseaux, Michael Esq NEW2Asiya Javayant
1045Alejandro R FlosiAustralia2026-07-16King, Christopher A Esq NEW46Bernardo Dominic
1046Morrow V OldroydAustralia2026-06-20Rangoni Of Florence NEGOTIATION51Bernardo Dominic
1047Munro V IturbideSpain2026-06-20Chemel, James L Cpa NEGOTIATION1Ivan Magalhaes
1048Mayumi J RutaJapan2026-07-10Chemel, James L Cpa QUALIFIED3Amy Elsner
1049Mayumi C FigeroaJapan2026-07-15Chapman, Ross E Esq NEGOTIATION33Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Octavia N ButtRussiaStephen Shaw NEW
Costa Q KuskoAustraliaAnna Fali NEW
James I GarufiArgentinaAsiya Javayant RENEWAL
Ashley P NestleSpainIvan Magalhaes NEGOTIATION
Wickens H ChuiRussiaAsiya Javayant NEW
Ivar Y TollnerArgentinaOnyama Limba RENEWAL
Adams S NestleItalyAnna Fali NEGOTIATION
Francesco M GauchoArgentinaAsiya Javayant PROPOSAL
Clifford B BriddickBrazilAnna Fali PROPOSAL
Costa C OldroydRussiaAmy Elsner QUALIFIED
Johnson S PoquetteArgentinaAmy Elsner UNQUALIFIED
Emily Q DoeIndiaBernardo Dominic QUALIFIED
Jeanfrancois V FollerBrazilBernardo Dominic NEW
Jefferson J ChuiIndiaIvan Magalhaes QUALIFIED
Ivar X FlosiFranceXuxue Feng QUALIFIED
Johnson M IturbideAustraliaIoni Bowcher UNQUALIFIED
Ivar Y WaycottBrazilAnna Fali NEW
Leon B FerenczBrazilElwin Sharvill UNQUALIFIED
Rodrigues O RutaBrazilBernardo Dominic NEW
Wickens I SaylorsItalyXuxue Feng NEW
Kaitlin K KuskoCanadaAmy Elsner UNQUALIFIED
Wickens B RoysterRussiaIoni Bowcher NEGOTIATION
Aruna E MaletGermanyAnna Fali PROPOSAL
Ricardo J StockhamIndiaIoni Bowcher UNQUALIFIED
Alejandro R KuskoJapanAsiya Javayant RENEWAL
Darci L VenereSpainIoni Bowcher NEW
Leja H VocelkaIndiaBernardo Dominic NEW
Emily H BowleyGermanyStephen Shaw NEW
Leja O AmigonGermanyBernardo Dominic QUALIFIED
Maria O BologniaCanadaStephen Shaw NEW
Jeanfrancois A OstroskyAustraliaAnna Fali RENEWAL
Deepesh S DarakjyGermanyOnyama Limba QUALIFIED
Mujtaba T RulapaughBrazilAnna Fali NEGOTIATION
Ricardo C VocelkaBrazilIvan Magalhaes UNQUALIFIED
Murillo P DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Costa M AmigonFranceXuxue Feng NEW
Smith J KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Ivar T StockhamCanadaElwin Sharvill RENEWAL
Leon Q SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Aditya X ShinkoAustraliaAmy Elsner RENEWAL
Ashley Q MacleadItalyElwin Sharvill PROPOSAL
Ashley O WhobreyCanadaAnna Fali RENEWAL
David A OldroydFranceOnyama Limba QUALIFIED
Silvio B WieserSpainStephen Shaw QUALIFIED
Johnson F DoeCanadaAmy Elsner UNQUALIFIED
Julie G VocelkaGermanyXuxue Feng UNQUALIFIED
Clifford C DilliardRussiaXuxue Feng PROPOSAL
Stacey N FigeroaSpainOnyama Limba RENEWAL
Aditya T AlbaresRussiaAmy Elsner PROPOSAL
Morrow I GarufiItalyAnna Fali PROPOSAL
Frozen Columns
Name
David N Amigon
Rodrigues W Albares
James L Foller
Nicolas C Gillian
Rodrigues X Bolognia
Juan E Royster
Misaki Z Schemmer
Kaitlin O Oldroyd
Arvin F Tollner
Adams P Ferencz
Ricardo V Caudy
Darci X Nestle
Antonio F Morasca
Darci J Nestle
Ricardo R Morasca
Maria R Butt
Emily A Chui
Mujtaba Y Glick
Greenwood H Slusarski
Emily M Albares
Kaitlin S Flosi
Cody D Poquette
Murillo S Chui
Emily W Nestle
Adams S Albares
Mayumi N Waycott
Misaki I Sergi
Greenwood W Rim
Rodrigues M Paprocki
Faith A Albares
Ricardo R Bowley
Jennifer X Dilliard
Kaitlin N Ruta
Deepesh J Malet
Arvin S Gaucho
Greenwood R Schemmer
Aruna M Nicka
Mayumi L Venere
Emily S Saylors
Darci P Kolmetz
Ricardo J Kolmetz
Silvio V Albares
Darci Z Doe
Mujtaba K Shinko
Jeanfrancois K Ferencz
Darci H Tollner
Jones Y Whobrey
Mujtaba S Glick
Deepesh P Glick
Johnson O Garufi
IdCountryDate
1000Italy2026-07-14
1001Russia2026-06-29
1002India2026-07-10
1003Italy2026-07-04
1004Spain2026-07-01
1005Australia2026-07-03
1006Argentina2026-07-07
1007United Kingdom2026-06-27
1008United Kingdom2026-06-24
1009Brazil2026-06-24
1010Spain2026-07-11
1011Brazil2026-06-18
1012Russia2026-07-12
1013Canada2026-07-17
1014Australia2026-06-18
1015Canada2026-07-06
1016France2026-06-21
1017Japan2026-06-26
1018Russia2026-07-06
1019Argentina2026-06-26
1020Brazil2026-06-30
1021India2026-07-15
1022Japan2026-07-17
1023Italy2026-07-06
1024Spain2026-07-05
1025Australia2026-07-06
1026India2026-06-26
1027Italy2026-07-03
1028Argentina2026-06-19
1029Brazil2026-07-04
1030United Kingdom2026-07-03
1031Australia2026-06-27
1032Canada2026-06-21
1033Japan2026-06-27
1034Australia2026-07-01
1035Brazil2026-06-20
1036United Kingdom2026-06-18
1037Japan2026-07-01
1038Germany2026-06-27
1039Canada2026-06-25
1040Russia2026-07-04
1041United Kingdom2026-06-24
1042Spain2026-06-19
1043France2026-07-12
1044Japan2026-07-09
1045Brazil2026-06-28
1046Russia2026-07-03
1047Australia2026-07-10
1048France2026-07-01
1049France2026-06-23

On-Demand Data

NameIdCountryDate
Munro B Amigon1000United Kingdom2026-07-15
Deepesh B Briddick1001Australia2026-07-05
Wickens G Figeroa1002Argentina2026-07-15
Nicolas D Nicka1003Brazil2026-07-05
Kadeem P Briddick1004Argentina2026-06-21
Octavia Z Butt1005Canada2026-07-16
Francesco Q Foller1006France2026-07-16
Silvio Z Darakjy1007India2026-07-02
Munro W Gaucho1008Canada2026-07-05
Ashley G Kolmetz1009United Kingdom2026-07-01
Ashley B Shinko1010United Kingdom2026-06-24
Francesco R Wieser1011Canada2026-07-04
Maria V Amigon1012Canada2026-06-24
Ashley F Briddick1013Spain2026-07-13
Darci Q Morasca1014Canada2026-06-30
Murillo L Inouye1015Argentina2026-07-01
Arvin I Iturbide1016Italy2026-07-06
Aika C Paprocki1017India2026-07-14
Aruna L Doe1018Japan2026-07-06
Leon N Iturbide1019India2026-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams Z RoysterItalyAnna Fali UNQUALIFIED
Isabel K RoysterJapanStephen Shaw NEW
Antonio R PoquetteRussiaBernardo Dominic NEGOTIATION
Mujtaba V MarrierJapanAsiya Javayant UNQUALIFIED
Jeanfrancois J FerenczAustraliaElwin Sharvill UNQUALIFIED
Aditya P PaprockiIndiaStephen Shaw RENEWAL
Julie R GillianAustraliaIvan Magalhaes PROPOSAL
Misaki M ChuiArgentinaAnna Fali PROPOSAL
Jennifer E WieserArgentinaAnna Fali QUALIFIED
Deepesh O CampainCanadaAmy Elsner PROPOSAL
Julie F MarrierAustraliaIvan Magalhaes NEGOTIATION
Mayumi U OstroskyRussiaOnyama Limba UNQUALIFIED
Darci Y WieserItalyXuxue Feng UNQUALIFIED
Munro Y GlickArgentinaStephen Shaw PROPOSAL
Aditya G SaylorsAustraliaBernardo Dominic QUALIFIED
Nicolas N IturbideBrazilXuxue Feng UNQUALIFIED
Johnson T CaudyArgentinaAsiya Javayant QUALIFIED
Greenwood I GillianIndiaBernardo Dominic PROPOSAL
Jennifer Q BologniaBrazilStephen Shaw PROPOSAL
Izzy F RoysterJapanXuxue Feng QUALIFIED
Aika N InouyeUnited KingdomIvan Magalhaes NEGOTIATION
Murillo F CaldareraRussiaXuxue Feng NEGOTIATION
Maisha G SaylorsGermanyIoni Bowcher UNQUALIFIED
Misaki Q VenereFranceIoni Bowcher RENEWAL
Jones X KolmetzGermanyElwin Sharvill QUALIFIED
Wickens R StockhamFranceStephen Shaw NEW
Aika A GlickJapanXuxue Feng QUALIFIED
Antonio X OstroskyUnited KingdomOnyama Limba NEGOTIATION
Misaki L DoeArgentinaXuxue Feng UNQUALIFIED
Silvio G StensethRussiaElwin Sharvill RENEWAL
Salvatore M RutaFranceBernardo Dominic QUALIFIED
James V MarrierRussiaAsiya Javayant PROPOSAL
Nicolas V TollnerIndiaAnna Fali UNQUALIFIED
Johnson G PaprockiCanadaAsiya Javayant RENEWAL
Julie I MacleadItalyAsiya Javayant PROPOSAL
Claire P OstroskyJapanIvan Magalhaes NEGOTIATION
Morrow M WaycottArgentinaAmy Elsner PROPOSAL
Leon M SchemmerJapanElwin Sharvill QUALIFIED
Leja X RulapaughBrazilBernardo Dominic PROPOSAL
Salvatore F IturbideJapanElwin Sharvill 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>