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
Munro A NickaUnited KingdomBernardo Dominic QUALIFIED
Leja L MacleadItalyXuxue Feng RENEWAL
Sinclair G AmigonArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois N PaprockiArgentinaBernardo Dominic NEGOTIATION
Silvio D NestleJapanXuxue Feng RENEWAL
Julie L MaletSpainElwin Sharvill PROPOSAL
Morrow A AlbaresArgentinaStephen Shaw NEW
Aditya A NickaJapanStephen Shaw NEW
Sinclair M StensethItalyIvan Magalhaes RENEWAL
Leon E AmigonArgentinaOnyama Limba NEGOTIATION
Nicolas G RimFranceAmy Elsner UNQUALIFIED
Claire P InouyeAustraliaAnna Fali QUALIFIED
Leon O BologniaBrazilXuxue Feng QUALIFIED
Munro U TollnerItalyIvan Magalhaes PROPOSAL
Mayumi N IturbideCanadaAsiya Javayant NEW
Sinclair Y MaletIndiaIvan Magalhaes NEGOTIATION
Deepesh G InouyeJapanAsiya Javayant QUALIFIED
Jennifer T VenereAustraliaElwin Sharvill QUALIFIED
Misaki L DilliardBrazilBernardo Dominic QUALIFIED
Ashley Q FollerSpainBernardo Dominic NEGOTIATION
Misaki D InouyeAustraliaXuxue Feng QUALIFIED
David V MaletSpainAnna Fali RENEWAL
Claire R IturbideRussiaXuxue Feng QUALIFIED
Stacey E BriddickJapanOnyama Limba UNQUALIFIED
Morrow L OldroydRussiaStephen Shaw RENEWAL
Johnson X NickaFranceElwin Sharvill UNQUALIFIED
Costa M SchemmerIndiaIoni Bowcher UNQUALIFIED
Chavez R SaylorsCanadaAmy Elsner UNQUALIFIED
Aditya S MorascaGermanyElwin Sharvill UNQUALIFIED
Octavia S MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Stacey K RutaUnited KingdomIvan Magalhaes NEGOTIATION
Sinclair Z StockhamItalyAnna Fali QUALIFIED
Wickens F BologniaJapanOnyama Limba NEW
James N SchemmerItalyXuxue Feng UNQUALIFIED
Jeanfrancois X PerinCanadaAnna Fali NEGOTIATION
Adams R GauchoGermanyAmy Elsner NEGOTIATION
Salvatore U RoysterFranceIoni Bowcher UNQUALIFIED
Tony S DoeBrazilStephen Shaw RENEWAL
Nicolas C MorascaBrazilBernardo Dominic NEW
Emily P FerenczUnited KingdomStephen Shaw NEW
Mayumi U SchemmerItalyXuxue Feng NEW
Maisha U InouyeBrazilStephen Shaw UNQUALIFIED
Wickens N KuskoBrazilAmy Elsner UNQUALIFIED
Francesco K SaylorsItalyAnna Fali NEGOTIATION
Leon O RulapaughFranceElwin Sharvill PROPOSAL
Leon X SaylorsBrazilStephen Shaw PROPOSAL
Mujtaba R RoysterBrazilIoni Bowcher NEW
Mujtaba M RulapaughBrazilOnyama Limba QUALIFIED
Francesco A SergiUnited KingdomAmy Elsner NEW
Francesco W BriddickAustraliaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Munro V PerinRussiaAmy Elsner NEGOTIATION
Maria U DarakjyBrazilElwin Sharvill PROPOSAL
Smith T SlusarskiUnited KingdomStephen Shaw NEGOTIATION
Izzy F BriddickSpainOnyama Limba QUALIFIED
James A RimAustraliaAnna Fali NEGOTIATION
Salvatore Q SchemmerArgentinaXuxue Feng NEGOTIATION
Kadeem X CaudySpainOnyama Limba RENEWAL
Mujtaba E ShinkoGermanyAmy Elsner PROPOSAL
Aika O CaudyUnited KingdomAnna Fali NEGOTIATION
Murillo W MaletGermanyOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem X PerinGermany2026-06-06Chanay, Jeffrey A Esq NEGOTIATION17Ivan Magalhaes
1001Silvio A GarufiIndia2026-06-14Morlong Associates PROPOSAL93Xuxue Feng
1002Salvatore W BowleyRussia2026-05-27King, Christopher A Esq NEGOTIATION21Anna Fali
1003Greenwood J ButtCanada2026-06-10Printing Dimensions NEW77Ioni Bowcher
1004Smith U MarrierRussia2026-06-06Commercial Press PROPOSAL7Anna Fali
1005Emily K IturbideIndia2026-05-30Feltz Printing Service PROPOSAL87Ivan Magalhaes
1006Misaki E MaletArgentina2026-06-07Commercial Press PROPOSAL58Asiya Javayant
1007Emily Z RulapaughGermany2026-06-17Chanay, Jeffrey A Esq NEW69Elwin Sharvill
1008Ricardo G CaudyArgentina2026-06-06Feltz Printing Service UNQUALIFIED52Onyama Limba
1009Morrow Q ButtCanada2026-06-10Truhlar And Truhlar Attys NEGOTIATION53Onyama Limba
1010Juan V InouyeGermany2026-06-11Commercial Press NEGOTIATION46Elwin Sharvill
1011Emily E VenereFrance2026-06-01King, Christopher A Esq QUALIFIED77Stephen Shaw
1012Wickens B GauchoFrance2026-06-06Chemel, James L Cpa RENEWAL2Ioni Bowcher
1013Aruna K OldroydGermany2026-06-05Buckley Miller Wright UNQUALIFIED81Amy Elsner
1014Antonio X MorascaUnited Kingdom2026-06-15Rousseaux, Michael Esq QUALIFIED19Amy Elsner
1015Aruna U AmigonSpain2026-06-17Buckley Miller Wright UNQUALIFIED61Elwin Sharvill
1016Johnson N VocelkaCanada2026-06-21Rousseaux, Michael Esq NEGOTIATION84Stephen Shaw
1017Izzy R RoysterSpain2026-05-30Buckley Miller Wright NEGOTIATION76Ioni Bowcher
1018Misaki E GauchoBrazil2026-05-28Chapman, Ross E Esq NEGOTIATION25Xuxue Feng
1019Octavia A GlickAustralia2026-05-30Commercial Press NEGOTIATION4Onyama Limba
1020James A TollnerArgentina2026-06-16Truhlar And Truhlar Attys PROPOSAL23Ivan Magalhaes
1021Darci D FigeroaCanada2026-06-02Chanay, Jeffrey A Esq UNQUALIFIED44Amy Elsner
1022Clifford U BowleyIndia2026-06-10Rangoni Of Florence RENEWAL26Asiya Javayant
1023Murillo B SaylorsItaly2026-06-19Rangoni Of Florence PROPOSAL70Ioni Bowcher
1024Wickens R ShinkoRussia2026-06-11Rangoni Of Florence RENEWAL92Ioni Bowcher
1025Silvio P KolmetzArgentina2026-06-21Rousseaux, Michael Esq UNQUALIFIED53Amy Elsner
1026Chavez N IturbideJapan2026-05-29Buckley Miller Wright RENEWAL72Amy Elsner
1027Sinclair J WieserUnited Kingdom2026-06-21Chanay, Jeffrey A Esq QUALIFIED49Ioni Bowcher
1028Johnson S VocelkaCanada2026-06-02Chanay, Jeffrey A Esq UNQUALIFIED15Asiya Javayant
1029Juan I FollerIndia2026-06-11Morlong Associates QUALIFIED82Amy Elsner
1030Ricardo K NestleArgentina2026-06-25Commercial Press QUALIFIED17Xuxue Feng
1031Juan S TollnerAustralia2026-06-21Dorl, James J Esq RENEWAL64Bernardo Dominic
1032Leja Q RulapaughAustralia2026-06-06Printing Dimensions RENEWAL27Asiya Javayant
1033Smith I FollerRussia2026-06-19Truhlar And Truhlar Attys NEW48Anna Fali
1034Nicolas R DoeArgentina2026-06-24King, Christopher A Esq UNQUALIFIED24Onyama Limba
1035Murillo B GauchoUnited Kingdom2026-06-14Rousseaux, Michael Esq PROPOSAL44Elwin Sharvill
1036Sinclair G FollerItaly2026-06-08Rousseaux, Michael Esq RENEWAL17Stephen Shaw
1037Maria F CampainFrance2026-06-18Chanay, Jeffrey A Esq PROPOSAL56Amy Elsner
1038Stacey A IturbideArgentina2026-06-10Dorl, James J Esq UNQUALIFIED99Ivan Magalhaes
1039Deepesh G FlosiBrazil2026-06-14Chanay, Jeffrey A Esq NEW92Stephen Shaw
1040Tony Q AlbaresUnited Kingdom2026-06-04Feltz Printing Service NEW4Stephen Shaw
1041Claire G SaylorsItaly2026-05-30Chanay, Jeffrey A Esq NEGOTIATION76Ioni Bowcher
1042Jeanfrancois D WaycottBrazil2026-06-02Rangoni Of Florence NEGOTIATION44Xuxue Feng
1043Jones C SlusarskiFrance2026-06-13Chanay, Jeffrey A Esq RENEWAL39Bernardo Dominic
1044Faith X VocelkaItaly2026-06-06Chanay, Jeffrey A Esq UNQUALIFIED26Amy Elsner
1045Morrow K DoeArgentina2026-06-24Dorl, James J Esq RENEWAL30Ioni Bowcher
1046Maisha X MacleadGermany2026-06-18Chemel, James L Cpa RENEWAL35Bernardo Dominic
1047Sinclair O VocelkaArgentina2026-06-08Chanay, Jeffrey A Esq UNQUALIFIED88Onyama Limba
1048Misaki Q WhobreyIndia2026-06-12King, Christopher A Esq PROPOSAL38Asiya Javayant
1049Chavez B CampainBrazil2026-05-28Rangoni Of Florence RENEWAL31Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maisha N WieserAustraliaAnna Fali NEGOTIATION
Aika A BologniaGermanyAmy Elsner UNQUALIFIED
Kaitlin O SchemmerRussiaOnyama Limba RENEWAL
Stacey D TollnerBrazilOnyama Limba QUALIFIED
Aika M NestleRussiaElwin Sharvill RENEWAL
Emily H NestleFranceElwin Sharvill RENEWAL
Antonio I SergiAustraliaOnyama Limba NEW
Murillo D StensethIndiaAsiya Javayant PROPOSAL
Julie V MacleadJapanStephen Shaw QUALIFIED
Arvin J MaletRussiaAmy Elsner RENEWAL
Greenwood S BologniaItalyIvan Magalhaes RENEWAL
Kadeem N SlusarskiGermanyElwin Sharvill QUALIFIED
Leon M OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Arvin P RutaCanadaIvan Magalhaes PROPOSAL
Ricardo B SlusarskiArgentinaOnyama Limba NEW
Juan P VenereRussiaAnna Fali PROPOSAL
Greenwood O DilliardGermanyStephen Shaw RENEWAL
Aruna F ShinkoBrazilIoni Bowcher RENEWAL
Aruna U SlusarskiBrazilIoni Bowcher UNQUALIFIED
Adams A CaldareraAustraliaAnna Fali UNQUALIFIED
Ashley Z DarakjyJapanAmy Elsner PROPOSAL
Murillo J SchemmerSpainAsiya Javayant PROPOSAL
Wickens S RutaBrazilStephen Shaw NEW
Claire R CaudyRussiaAsiya Javayant QUALIFIED
Smith Q WieserIndiaOnyama Limba NEGOTIATION
David Z BowleyGermanyStephen Shaw PROPOSAL
Emily H CaldareraItalyIvan Magalhaes NEW
Silvio G MacleadJapanAnna Fali UNQUALIFIED
Misaki N RoysterCanadaBernardo Dominic QUALIFIED
Sinclair K SergiSpainOnyama Limba PROPOSAL
Leja U IturbideCanadaIoni Bowcher UNQUALIFIED
Adams Y AmigonRussiaAmy Elsner QUALIFIED
Salvatore B AlbaresJapanBernardo Dominic RENEWAL
Tony L GauchoFranceIoni Bowcher UNQUALIFIED
David V CaudyJapanIoni Bowcher PROPOSAL
Nicolas B SergiUnited KingdomOnyama Limba NEGOTIATION
Johnson E TollnerRussiaIvan Magalhaes UNQUALIFIED
Silvio L StensethFranceIoni Bowcher NEGOTIATION
Rodrigues W DarakjyIndiaXuxue Feng QUALIFIED
Wickens G MaletSpainStephen Shaw UNQUALIFIED
Misaki F RutaFranceIvan Magalhaes NEW
Leon X ButtBrazilIvan Magalhaes QUALIFIED
Aditya Z TollnerIndiaAmy Elsner NEW
Julie G FerenczAustraliaOnyama Limba NEGOTIATION
Ashley I VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
Arvin S WaycottBrazilAnna Fali NEGOTIATION
David K VenereUnited KingdomXuxue Feng NEW
Alejandro V OldroydCanadaStephen Shaw RENEWAL
Arvin M DoeAustraliaAnna Fali PROPOSAL
Smith F OstroskyBrazilOnyama Limba NEW
Frozen Columns
Name
Jefferson L Poquette
Rodrigues M Nestle
Mujtaba D Poquette
Rodrigues P Stockham
James M Bolognia
Nicolas S Venere
Smith E Amigon
Jeanfrancois O Doe
Antonio U Stenseth
Stacey N Flosi
Aditya I Caudy
Faith X Figeroa
Izzy C Kolmetz
Ivar G Schemmer
David J Poquette
Aruna D Sergi
Ivar E Malet
Chavez L Flosi
Arvin N Bolognia
Izzy I Schemmer
Misaki J Malet
James L Stenseth
Adams J Campain
Julie A Stenseth
Jones F Ruta
Kadeem M Briddick
Antonio L Marrier
Nicolas V Dilliard
Jefferson W Oldroyd
Sinclair L Bolognia
Greenwood C Amigon
Mujtaba Z Inouye
Claire R Ruta
Munro B Whobrey
Rodrigues T Ostrosky
Morrow S Butt
Johnson Y Marrier
Mujtaba Y Poquette
Juan H Rim
Leja C Whobrey
Munro Y Inouye
Claire K Malet
Octavia M Marrier
Arvin E Inouye
Julie C Chui
Isabel M Butt
Munro L Marrier
Jones S Perin
Octavia X Tollner
Greenwood O Amigon
IdCountryDate
1000United Kingdom2026-06-03
1001Brazil2026-06-16
1002United Kingdom2026-06-07
1003Brazil2026-06-15
1004Italy2026-06-09
1005France2026-06-16
1006Japan2026-06-18
1007Japan2026-06-18
1008Russia2026-06-21
1009France2026-06-14
1010France2026-05-27
1011India2026-06-04
1012United Kingdom2026-06-05
1013Spain2026-06-08
1014Australia2026-06-11
1015Brazil2026-06-20
1016Argentina2026-06-22
1017India2026-06-11
1018Brazil2026-06-08
1019Australia2026-06-10
1020Russia2026-06-01
1021Russia2026-06-21
1022France2026-06-20
1023Germany2026-06-09
1024India2026-06-19
1025Germany2026-06-19
1026India2026-06-04
1027Spain2026-06-05
1028Russia2026-06-06
1029United Kingdom2026-06-22
1030Germany2026-06-01
1031Germany2026-06-14
1032Australia2026-06-02
1033Japan2026-05-30
1034Canada2026-06-23
1035Russia2026-06-03
1036Germany2026-06-25
1037Germany2026-05-28
1038Brazil2026-05-28
1039Japan2026-06-19
1040Spain2026-06-10
1041Canada2026-06-24
1042France2026-06-08
1043Canada2026-05-29
1044Brazil2026-06-02
1045Australia2026-06-02
1046Germany2026-06-16
1047Spain2026-06-15
1048Brazil2026-06-11
1049Brazil2026-06-12

On-Demand Data

NameIdCountryDate
Maisha N Campain1000France2026-06-14
Greenwood X Morasca1001Japan2026-06-25
Deepesh Q Stockham1002Australia2026-06-04
Ivar B Maclead1003France2026-06-07
Johnson X Waycott1004India2026-06-13
David O Doe1005Argentina2026-06-24
Jennifer G Gillian1006Australia2026-06-18
Mayumi G Maclead1007Germany2026-06-02
Tony D Perin1008Argentina2026-06-23
Maria Q Schemmer1009France2026-06-01
Nicolas J Caudy1010Germany2026-06-11
Wickens V Bowley1011India2026-06-03
Misaki B Vocelka1012Russia2026-06-06
Chavez J Bolognia1013France2026-06-13
Leja E Whobrey1014Japan2026-06-05
Misaki L Briddick1015United Kingdom2026-06-06
Nicolas B Amigon1016Italy2026-06-09
Maria K Foller1017India2026-06-24
Murillo Q Garufi1018Japan2026-06-01
Rodrigues L Inouye1019Argentina2026-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow X RoysterRussiaBernardo Dominic RENEWAL
Ivar O RulapaughJapanAmy Elsner NEW
Isabel O FollerRussiaAsiya Javayant UNQUALIFIED
David C BowleyRussiaOnyama Limba PROPOSAL
Chavez Z OldroydAustraliaIoni Bowcher QUALIFIED
Stacey D DilliardAustraliaXuxue Feng UNQUALIFIED
Ashley J TollnerAustraliaStephen Shaw RENEWAL
Leja A ShinkoFranceIvan Magalhaes PROPOSAL
Chavez Y OldroydJapanAmy Elsner QUALIFIED
Kadeem G FerenczUnited KingdomAmy Elsner UNQUALIFIED
David N AmigonCanadaOnyama Limba QUALIFIED
Murillo K NestleRussiaAnna Fali UNQUALIFIED
Antonio K GauchoArgentinaAnna Fali PROPOSAL
Tony L NickaRussiaBernardo Dominic UNQUALIFIED
Darci F DilliardAustraliaStephen Shaw NEGOTIATION
Aika R MorascaGermanyXuxue Feng UNQUALIFIED
Claire B RulapaughSpainOnyama Limba UNQUALIFIED
Isabel S InouyeCanadaIoni Bowcher UNQUALIFIED
Arvin R SlusarskiGermanyBernardo Dominic NEW
Izzy R FollerRussiaXuxue Feng RENEWAL
Chavez A SlusarskiSpainElwin Sharvill QUALIFIED
Arvin I OstroskyBrazilIvan Magalhaes QUALIFIED
Ashley X BowleyBrazilAnna Fali RENEWAL
Clifford E DarakjyArgentinaElwin Sharvill NEGOTIATION
Adams C FlosiSpainElwin Sharvill QUALIFIED
Jennifer H FigeroaFranceXuxue Feng PROPOSAL
Jones I StensethAustraliaBernardo Dominic QUALIFIED
Nicolas S RulapaughJapanElwin Sharvill QUALIFIED
Faith A WieserCanadaOnyama Limba NEW
Kadeem K RimArgentinaAmy Elsner QUALIFIED
Julie P WhobreySpainAnna Fali UNQUALIFIED
Clifford B StockhamItalyIoni Bowcher NEGOTIATION
Cody M KuskoUnited KingdomAsiya Javayant PROPOSAL
Izzy M WaycottBrazilAsiya Javayant NEW
James W VocelkaAustraliaAmy Elsner QUALIFIED
Morrow K TollnerCanadaAsiya Javayant RENEWAL
Leon F CaudySpainOnyama Limba NEW
Cody U OldroydCanadaXuxue Feng RENEWAL
Kadeem C RulapaughRussiaOnyama Limba QUALIFIED
Jennifer Q CaldareraSpainXuxue Feng 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>

You are using an LTS version of PrimeFaces with an invalid license, you may either switch back to a non-LTS version or purchase a license at PrimeStore.