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
Greenwood N VocelkaIndiaIoni Bowcher NEW
Darci Y AlbaresCanadaElwin Sharvill RENEWAL
Mujtaba F MaletSpainBernardo Dominic PROPOSAL
Mujtaba M GlickArgentinaXuxue Feng NEGOTIATION
Leon L PaprockiCanadaIvan Magalhaes UNQUALIFIED
Smith F GillianAustraliaAsiya Javayant QUALIFIED
Aruna N VocelkaArgentinaBernardo Dominic RENEWAL
Clifford B FollerArgentinaAmy Elsner UNQUALIFIED
Misaki T BriddickRussiaIvan Magalhaes PROPOSAL
Aika M RutaFranceIvan Magalhaes RENEWAL
Darci M KuskoBrazilXuxue Feng UNQUALIFIED
Alejandro V FigeroaCanadaIoni Bowcher NEW
Juan G SaylorsRussiaBernardo Dominic UNQUALIFIED
Stacey T GarufiUnited KingdomAsiya Javayant PROPOSAL
Ivar O WhobreyItalyStephen Shaw NEW
Misaki P NestleItalyElwin Sharvill NEW
Aruna C PaprockiIndiaIvan Magalhaes PROPOSAL
Leon E GlickItalyStephen Shaw PROPOSAL
Jennifer Y GarufiSpainXuxue Feng UNQUALIFIED
David E SaylorsCanadaIvan Magalhaes NEGOTIATION
Ivar V MaletCanadaXuxue Feng NEGOTIATION
Smith B KolmetzGermanyIoni Bowcher PROPOSAL
Arvin V CaldareraJapanAnna Fali NEW
Wickens K MorascaJapanXuxue Feng QUALIFIED
Wickens X BologniaRussiaStephen Shaw RENEWAL
Isabel N ButtFranceIvan Magalhaes PROPOSAL
Octavia V BriddickBrazilBernardo Dominic UNQUALIFIED
Izzy I DilliardBrazilOnyama Limba PROPOSAL
Adams M SaylorsArgentinaAnna Fali QUALIFIED
Antonio F RimIndiaAmy Elsner NEGOTIATION
Octavia W MarrierGermanyIvan Magalhaes UNQUALIFIED
Maisha Q FlosiRussiaElwin Sharvill QUALIFIED
Stacey D PerinBrazilAsiya Javayant NEW
Leon C StockhamGermanyStephen Shaw PROPOSAL
Arvin F DoeJapanIvan Magalhaes NEGOTIATION
Jones S IturbideItalyStephen Shaw QUALIFIED
Cody E ButtIndiaAsiya Javayant NEW
Jeanfrancois R CaldareraGermanyAnna Fali RENEWAL
Mujtaba E ShinkoCanadaAnna Fali QUALIFIED
Aditya A ShinkoGermanyStephen Shaw PROPOSAL
Smith H GarufiFranceIvan Magalhaes UNQUALIFIED
Stacey W RoysterUnited KingdomOnyama Limba NEGOTIATION
Arvin O OstroskyFranceElwin Sharvill QUALIFIED
Francesco Q GillianArgentinaXuxue Feng QUALIFIED
Jefferson I GauchoRussiaStephen Shaw RENEWAL
Ivar M DilliardGermanyAmy Elsner PROPOSAL
Adams A ButtRussiaIoni Bowcher PROPOSAL
Darci X VenereCanadaElwin Sharvill QUALIFIED
Leja V MorascaRussiaXuxue Feng RENEWAL
Jeanfrancois B MarrierArgentinaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Morrow Z CaldareraUnited KingdomAnna Fali NEGOTIATION
Leja V CaldareraArgentinaOnyama Limba NEW
Isabel X VocelkaIndiaXuxue Feng RENEWAL
Cody B CampainFranceIvan Magalhaes NEGOTIATION
Octavia X GlickIndiaElwin Sharvill UNQUALIFIED
Morrow I FigeroaJapanElwin Sharvill RENEWAL
Jeanfrancois A StensethGermanyAsiya Javayant RENEWAL
Aditya Q BowleyGermanyAmy Elsner UNQUALIFIED
Jefferson T VocelkaItalyIvan Magalhaes NEW
Darci J MorascaFranceElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh E ShinkoGermany2026-04-18Chemel, James L Cpa PROPOSAL91Anna Fali
1001Kadeem B NestleAustralia2026-04-07Truhlar And Truhlar Attys UNQUALIFIED72Stephen Shaw
1002Octavia K KolmetzCanada2026-04-09Rousseaux, Michael Esq NEGOTIATION98Amy Elsner
1003Johnson T VenereCanada2026-03-27Printing Dimensions NEW85Ioni Bowcher
1004Mujtaba N VenereIndia2026-03-31Chemel, James L Cpa NEGOTIATION83Stephen Shaw
1005Kadeem X RoysterGermany2026-04-14Buckley Miller Wright NEGOTIATION12Elwin Sharvill
1006Mayumi H FigeroaArgentina2026-04-11Printing Dimensions NEW94Asiya Javayant
1007Wickens E WaycottAustralia2026-03-25Dorl, James J Esq PROPOSAL60Xuxue Feng
1008Rodrigues W StensethJapan2026-04-20Commercial Press NEGOTIATION25Anna Fali
1009Antonio H BowleyJapan2026-03-31Printing Dimensions UNQUALIFIED31Xuxue Feng
1010Tony Q RutaSpain2026-03-26Feiner Bros RENEWAL33Anna Fali
1011Emily N CaudyBrazil2026-04-16Rangoni Of Florence QUALIFIED62Elwin Sharvill
1012Mujtaba Y FollerArgentina2026-04-10Printing Dimensions QUALIFIED33Elwin Sharvill
1013Leon S FerenczJapan2026-03-27King, Christopher A Esq NEGOTIATION10Elwin Sharvill
1014Leon O VenereJapan2026-04-13Truhlar And Truhlar Attys PROPOSAL84Anna Fali
1015Morrow M GlickArgentina2026-04-13Chanay, Jeffrey A Esq QUALIFIED44Onyama Limba
1016Antonio K WieserItaly2026-03-27Chanay, Jeffrey A Esq PROPOSAL27Bernardo Dominic
1017Rodrigues E CaudyUnited Kingdom2026-04-06Rangoni Of Florence NEW99Asiya Javayant
1018Faith T PoquetteRussia2026-04-17Printing Dimensions NEGOTIATION48Elwin Sharvill
1019Jennifer M VocelkaSpain2026-03-28Truhlar And Truhlar Attys PROPOSAL33Amy Elsner
1020Jones G DoeUnited Kingdom2026-04-11Dorl, James J Esq QUALIFIED6Anna Fali
1021Claire F KolmetzItaly2026-04-13Chemel, James L Cpa NEGOTIATION3Ivan Magalhaes
1022Izzy R IturbideIndia2026-04-13Dorl, James J Esq PROPOSAL96Amy Elsner
1023Salvatore O RimGermany2026-03-31Dorl, James J Esq NEW95Xuxue Feng
1024Cody H FigeroaCanada2026-04-05Chemel, James L Cpa NEW36Xuxue Feng
1025Alejandro W RimRussia2026-04-13Dorl, James J Esq RENEWAL94Amy Elsner
1026Aditya Q TollnerCanada2026-03-23Dorl, James J Esq RENEWAL10Stephen Shaw
1027Mayumi Q BologniaSpain2026-04-02Buckley Miller Wright RENEWAL29Ivan Magalhaes
1028Murillo F MaletRussia2026-04-08Chanay, Jeffrey A Esq QUALIFIED20Amy Elsner
1029Jennifer B TollnerUnited Kingdom2026-04-10Chanay, Jeffrey A Esq RENEWAL48Stephen Shaw
1030Darci O SlusarskiItaly2026-03-25Rangoni Of Florence NEW26Stephen Shaw
1031Leja F KuskoSpain2026-04-17Buckley Miller Wright NEW1Amy Elsner
1032Adams V ShinkoArgentina2026-03-31Chapman, Ross E Esq NEGOTIATION17Stephen Shaw
1033Arvin R DarakjyGermany2026-03-31Dorl, James J Esq UNQUALIFIED53Amy Elsner
1034Leon N DilliardGermany2026-04-13Morlong Associates QUALIFIED3Anna Fali
1035Munro G AmigonGermany2026-04-20Feltz Printing Service NEW17Ioni Bowcher
1036Aruna P FlosiCanada2026-03-30Feltz Printing Service PROPOSAL39Stephen Shaw
1037Kaitlin Y OldroydIndia2026-04-18King, Christopher A Esq NEW3Stephen Shaw
1038Nicolas D DarakjyUnited Kingdom2026-03-26Rangoni Of Florence NEW40Asiya Javayant
1039Rodrigues N CaldareraCanada2026-03-29Printing Dimensions NEGOTIATION5Asiya Javayant
1040Rodrigues W SchemmerFrance2026-04-09Feiner Bros PROPOSAL69Anna Fali
1041Jefferson V DoeItaly2026-03-31Morlong Associates NEGOTIATION25Ivan Magalhaes
1042Cody P MaletIndia2026-04-14Printing Dimensions UNQUALIFIED6Elwin Sharvill
1043Isabel H CampainJapan2026-04-18Benton, John B Jr QUALIFIED64Asiya Javayant
1044Izzy Q GarufiRussia2026-03-28Buckley Miller Wright NEW15Asiya Javayant
1045Aika X VenereUnited Kingdom2026-03-26Truhlar And Truhlar Attys PROPOSAL92Ivan Magalhaes
1046Jefferson U FlosiBrazil2026-04-17King, Christopher A Esq NEW26Anna Fali
1047Nicolas K RimJapan2026-04-09Dorl, James J Esq PROPOSAL81Ivan Magalhaes
1048Jefferson J MaletGermany2026-04-08Chapman, Ross E Esq QUALIFIED58Ivan Magalhaes
1049Francesco G KolmetzFrance2026-04-05Buckley Miller Wright PROPOSAL88Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Leja W IturbideSpainElwin Sharvill NEW
Julie X DoeJapanAnna Fali PROPOSAL
Antonio R StensethSpainAnna Fali NEW
Juan R NickaJapanOnyama Limba RENEWAL
David Q AmigonCanadaIvan Magalhaes QUALIFIED
Leon X WhobreyJapanStephen Shaw PROPOSAL
Murillo H BologniaAustraliaIoni Bowcher NEGOTIATION
Claire G OldroydIndiaAnna Fali RENEWAL
Stacey N RulapaughAustraliaIoni Bowcher UNQUALIFIED
Kaitlin I IturbideSpainOnyama Limba NEGOTIATION
Ashley O MacleadSpainElwin Sharvill NEGOTIATION
Wickens T StockhamCanadaElwin Sharvill NEGOTIATION
Octavia W RulapaughRussiaOnyama Limba NEW
Clifford I StensethItalyIvan Magalhaes QUALIFIED
Rodrigues K StensethGermanyAnna Fali UNQUALIFIED
Deepesh D CampainItalyXuxue Feng PROPOSAL
Kaitlin Y PoquetteItalyBernardo Dominic UNQUALIFIED
Adams R ChuiIndiaIoni Bowcher PROPOSAL
Morrow V MaletUnited KingdomBernardo Dominic NEGOTIATION
Arvin T SlusarskiSpainAmy Elsner RENEWAL
Clifford J AlbaresFranceAnna Fali UNQUALIFIED
Kadeem Z GauchoBrazilIoni Bowcher NEW
Greenwood C BologniaItalyXuxue Feng QUALIFIED
Leja Q AmigonCanadaElwin Sharvill QUALIFIED
James A RulapaughRussiaStephen Shaw PROPOSAL
Aruna I VenereAustraliaOnyama Limba UNQUALIFIED
Leja L PaprockiArgentinaOnyama Limba NEGOTIATION
Kadeem W WieserRussiaIvan Magalhaes NEGOTIATION
Kadeem O StensethSpainOnyama Limba UNQUALIFIED
Kaitlin N PaprockiFranceIoni Bowcher QUALIFIED
Maisha M AlbaresIndiaAsiya Javayant NEW
Octavia O OldroydSpainXuxue Feng RENEWAL
Nicolas M GillianCanadaAmy Elsner UNQUALIFIED
Clifford N DoeArgentinaElwin Sharvill PROPOSAL
Emily S ChuiSpainStephen Shaw NEW
Chavez Z AlbaresAustraliaAnna Fali QUALIFIED
Munro W StensethArgentinaStephen Shaw UNQUALIFIED
Ashley M WhobreyJapanIoni Bowcher PROPOSAL
Adams F GauchoCanadaBernardo Dominic UNQUALIFIED
Salvatore S FollerAustraliaAnna Fali NEW
Leja R GlickBrazilAnna Fali NEGOTIATION
Chavez H BologniaAustraliaXuxue Feng QUALIFIED
Mujtaba J RulapaughSpainXuxue Feng NEGOTIATION
Salvatore O GauchoAustraliaElwin Sharvill NEW
David D RoysterRussiaIoni Bowcher NEGOTIATION
Smith G BologniaIndiaBernardo Dominic NEGOTIATION
Isabel S SchemmerCanadaIoni Bowcher RENEWAL
Wickens E OldroydBrazilIoni Bowcher NEW
Ricardo R PaprockiFranceAmy Elsner QUALIFIED
Leon S GlickArgentinaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Antonio B Caldarera
Ricardo B Flosi
Munro B Ruta
Rodrigues U Caldarera
Aruna B Briddick
Tony E Caudy
Munro E Glick
Faith O Poquette
Juan V Kusko
Murillo Q Nestle
Salvatore U Ferencz
Salvatore V Malet
Alejandro G Oldroyd
Kaitlin F Nestle
Antonio O Marrier
Greenwood Z Stockham
Jennifer T Maclead
Johnson D Ruta
Greenwood V Nestle
Isabel L Garufi
Smith K Flosi
Francesco X Iturbide
James C Nestle
Johnson N Whobrey
Leon C Stenseth
Aika J Bowley
Munro T Chui
Wickens E Saylors
Stacey H Shinko
Juan E Vocelka
Salvatore C Kusko
Arvin E Kolmetz
Arvin J Bowley
Darci X Wieser
Morrow U Perin
Adams V Saylors
Greenwood D Inouye
Izzy W Tollner
Juan T Stenseth
Stacey C Iturbide
Ricardo D Bolognia
Izzy O Tollner
Ivar T Schemmer
Leja F Stockham
Greenwood J Albares
Chavez I Royster
Antonio C Perin
Mayumi L Whobrey
Jeanfrancois S Waycott
Deepesh L Nicka
IdCountryDate
1000Japan2026-03-25
1001Spain2026-04-02
1002United Kingdom2026-03-22
1003Japan2026-03-30
1004Russia2026-04-10
1005Australia2026-04-16
1006Canada2026-04-09
1007Germany2026-03-27
1008Argentina2026-04-10
1009Spain2026-04-04
1010Germany2026-04-17
1011Argentina2026-04-14
1012Canada2026-04-18
1013Spain2026-04-01
1014Brazil2026-04-11
1015France2026-03-25
1016Japan2026-04-05
1017Argentina2026-04-17
1018France2026-03-22
1019Russia2026-04-11
1020Brazil2026-03-22
1021Japan2026-03-24
1022Russia2026-04-09
1023Italy2026-04-06
1024Italy2026-04-20
1025Italy2026-04-15
1026India2026-03-29
1027Canada2026-04-04
1028Spain2026-04-12
1029Japan2026-04-04
1030United Kingdom2026-04-13
1031France2026-04-14
1032Canada2026-04-17
1033United Kingdom2026-04-19
1034Italy2026-04-06
1035Italy2026-04-10
1036Argentina2026-03-24
1037Russia2026-04-07
1038Australia2026-04-10
1039Spain2026-03-26
1040Argentina2026-04-14
1041Australia2026-03-27
1042Brazil2026-04-07
1043United Kingdom2026-03-25
1044Spain2026-04-10
1045France2026-03-31
1046Spain2026-04-12
1047Australia2026-04-19
1048Brazil2026-04-19
1049Brazil2026-04-07

On-Demand Data

NameIdCountryDate
Sinclair N Gaucho1000Russia2026-04-06
Adams L Amigon1001Argentina2026-04-19
Antonio A Stockham1002United Kingdom2026-04-10
Silvio V Malet1003Japan2026-04-01
Francesco D Darakjy1004Canada2026-04-16
Maria A Malet1005Spain2026-04-14
Ashley D Ruta1006Australia2026-03-24
Jennifer X Morasca1007France2026-03-23
Leon W Garufi1008India2026-04-03
Munro C Slusarski1009Germany2026-04-13
Alejandro A Kusko1010Spain2026-04-14
Tony S Marrier1011Argentina2026-03-30
Claire Y Sergi1012Italy2026-04-03
Aditya T Kusko1013Brazil2026-04-12
Rodrigues B Stenseth1014Brazil2026-03-27
Ashley W Kusko1015Germany2026-04-11
Wickens D Kusko1016Brazil2026-03-31
Arvin U Darakjy1017Argentina2026-04-10
Claire Y Chui1018India2026-03-24
Cody V Bolognia1019Australia2026-04-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya O CaldareraGermanyOnyama Limba NEGOTIATION
Francesco P IturbideJapanAnna Fali PROPOSAL
Maisha N InouyeArgentinaAmy Elsner RENEWAL
Stacey J OstroskyArgentinaBernardo Dominic PROPOSAL
Rodrigues Y AmigonBrazilAsiya Javayant UNQUALIFIED
Ashley L FigeroaFranceStephen Shaw UNQUALIFIED
Izzy Q BologniaGermanyAnna Fali PROPOSAL
Kaitlin R SaylorsSpainBernardo Dominic NEW
Aruna R RulapaughAustraliaElwin Sharvill NEW
Chavez B NestleFranceBernardo Dominic UNQUALIFIED
Aika I StensethGermanyAnna Fali NEW
Kadeem Q MaletGermanyXuxue Feng PROPOSAL
Francesco N WaycottIndiaOnyama Limba NEW
Costa B MorascaIndiaStephen Shaw PROPOSAL
Jones J OstroskyFranceAmy Elsner QUALIFIED
Sinclair K OstroskyIndiaOnyama Limba NEGOTIATION
Ashley X GillianJapanIoni Bowcher UNQUALIFIED
Julie J CaudyGermanyElwin Sharvill PROPOSAL
Juan O ButtUnited KingdomIoni Bowcher PROPOSAL
Ashley J TollnerGermanyIoni Bowcher PROPOSAL
Antonio J NestleArgentinaElwin Sharvill NEW
Nicolas D GauchoIndiaAmy Elsner UNQUALIFIED
Emily O AmigonSpainXuxue Feng QUALIFIED
Ashley X KolmetzGermanyOnyama Limba RENEWAL
Salvatore L BriddickArgentinaAsiya Javayant PROPOSAL
Leja F WhobreyUnited KingdomXuxue Feng QUALIFIED
James O SlusarskiJapanBernardo Dominic NEW
Juan J OldroydFranceStephen Shaw NEGOTIATION
Maisha Y InouyeJapanIvan Magalhaes NEW
Claire W SlusarskiFranceAsiya Javayant RENEWAL
Arvin H BriddickIndiaElwin Sharvill RENEWAL
Misaki D StockhamGermanyBernardo Dominic QUALIFIED
Maisha Q GarufiAustraliaIvan Magalhaes NEGOTIATION
Izzy B MarrierCanadaOnyama Limba PROPOSAL
Darci D SlusarskiItalyXuxue Feng QUALIFIED
Julie N ButtFranceAnna Fali RENEWAL
Smith C KolmetzJapanAnna Fali RENEWAL
Jeanfrancois C PerinCanadaIoni Bowcher RENEWAL
Faith B WieserAustraliaOnyama Limba NEW
Alejandro L BologniaBrazilAsiya Javayant 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>

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.