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 I OstroskyJapanBernardo Dominic QUALIFIED
Costa R GlickItalyElwin Sharvill UNQUALIFIED
Rodrigues R KuskoAustraliaAmy Elsner NEW
Arvin N ButtItalyAmy Elsner UNQUALIFIED
Emily D PerinIndiaOnyama Limba PROPOSAL
Kaitlin K MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Darci Q NestleItalyElwin Sharvill QUALIFIED
Ivar W FerenczAustraliaBernardo Dominic PROPOSAL
Leja S VocelkaBrazilAnna Fali QUALIFIED
Jennifer V WaycottCanadaXuxue Feng NEGOTIATION
Aika O OstroskyJapanElwin Sharvill QUALIFIED
Deepesh R NickaJapanBernardo Dominic QUALIFIED
Aditya A KuskoUnited KingdomIvan Magalhaes QUALIFIED
Alejandro X PoquetteIndiaIvan Magalhaes NEW
Izzy I MacleadItalyXuxue Feng QUALIFIED
Johnson J WhobreyRussiaXuxue Feng PROPOSAL
Smith K SaylorsAustraliaBernardo Dominic NEGOTIATION
Octavia S FlosiItalyXuxue Feng QUALIFIED
Chavez C MorascaRussiaIoni Bowcher NEW
Emily N NestleGermanyBernardo Dominic NEGOTIATION
Maria G KuskoRussiaOnyama Limba NEGOTIATION
Octavia V BologniaBrazilStephen Shaw PROPOSAL
Octavia N BologniaJapanAmy Elsner QUALIFIED
Aika A WaycottAustraliaIvan Magalhaes RENEWAL
Francesco D DilliardRussiaElwin Sharvill RENEWAL
Chavez X GarufiCanadaAmy Elsner UNQUALIFIED
Chavez S RutaUnited KingdomIvan Magalhaes NEW
Munro F WieserIndiaAmy Elsner NEGOTIATION
Jennifer I WieserBrazilXuxue Feng RENEWAL
Mujtaba G WaycottJapanIoni Bowcher NEW
Jeanfrancois U KuskoIndiaStephen Shaw NEGOTIATION
Murillo M MarrierArgentinaElwin Sharvill PROPOSAL
Claire P CaldareraGermanyIvan Magalhaes UNQUALIFIED
David E MacleadGermanyAmy Elsner QUALIFIED
Maria E GlickAustraliaOnyama Limba NEW
David A SergiUnited KingdomAnna Fali QUALIFIED
Kaitlin J StensethAustraliaXuxue Feng QUALIFIED
Mayumi G OldroydCanadaIvan Magalhaes RENEWAL
Misaki T IturbideJapanIvan Magalhaes PROPOSAL
Greenwood W IturbideItalyAsiya Javayant UNQUALIFIED
Kaitlin W SchemmerCanadaIoni Bowcher RENEWAL
Maria X GlickUnited KingdomAnna Fali QUALIFIED
Aditya D WieserIndiaOnyama Limba QUALIFIED
Faith Z FlosiAustraliaOnyama Limba RENEWAL
Alejandro D OstroskyBrazilXuxue Feng NEGOTIATION
Maisha Z KuskoGermanyIvan Magalhaes RENEWAL
Izzy F DarakjyFranceIoni Bowcher NEGOTIATION
Maisha O KolmetzItalyOnyama Limba UNQUALIFIED
Mayumi W MarrierCanadaAsiya Javayant QUALIFIED
Ivar G BriddickSpainXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire L WhobreySpainIoni Bowcher UNQUALIFIED
Deepesh U IturbideIndiaAnna Fali QUALIFIED
Darci Z RutaSpainOnyama Limba NEGOTIATION
Sinclair E GillianGermanyAsiya Javayant NEW
Arvin W WhobreyGermanyStephen Shaw NEW
Morrow H SlusarskiArgentinaStephen Shaw RENEWAL
Aika Z MaletUnited KingdomOnyama Limba NEGOTIATION
Leon Z OldroydAustraliaXuxue Feng NEW
Jeanfrancois D GlickRussiaBernardo Dominic RENEWAL
Aditya U TollnerBrazilOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco A OldroydAustralia2026-05-25Truhlar And Truhlar Attys QUALIFIED20Stephen Shaw
1001Tony W ButtUnited Kingdom2026-05-11Commercial Press QUALIFIED52Onyama Limba
1002Isabel F PerinAustralia2026-05-31Feiner Bros QUALIFIED51Ivan Magalhaes
1003Sinclair J CaldareraRussia2026-05-19Commercial Press QUALIFIED90Amy Elsner
1004Aruna B BologniaSpain2026-05-13Dorl, James J Esq NEW62Elwin Sharvill
1005Munro E GarufiFrance2026-05-21Rangoni Of Florence QUALIFIED81Bernardo Dominic
1006Isabel K OstroskyUnited Kingdom2026-05-12Dorl, James J Esq QUALIFIED0Onyama Limba
1007Aruna Y PoquetteJapan2026-05-19Rangoni Of Florence UNQUALIFIED78Stephen Shaw
1008Sinclair N CaudyFrance2026-06-04King, Christopher A Esq QUALIFIED7Bernardo Dominic
1009Munro H FerenczItaly2026-05-24Chapman, Ross E Esq UNQUALIFIED89Asiya Javayant
1010Clifford H GillianFrance2026-05-21Chapman, Ross E Esq QUALIFIED17Ivan Magalhaes
1011Isabel E GlickUnited Kingdom2026-05-22Feiner Bros RENEWAL30Stephen Shaw
1012Cody E KolmetzJapan2026-05-22Printing Dimensions NEW61Ivan Magalhaes
1013Morrow Y FigeroaArgentina2026-05-15Rousseaux, Michael Esq QUALIFIED68Xuxue Feng
1014Adams S RutaItaly2026-05-29Buckley Miller Wright UNQUALIFIED33Bernardo Dominic
1015Wickens V FerenczItaly2026-05-15Printing Dimensions UNQUALIFIED20Bernardo Dominic
1016Alejandro M AmigonGermany2026-05-15Feiner Bros QUALIFIED20Ioni Bowcher
1017Leon L NestleUnited Kingdom2026-05-28Benton, John B Jr PROPOSAL88Asiya Javayant
1018Aika B PerinUnited Kingdom2026-06-02Printing Dimensions QUALIFIED63Asiya Javayant
1019Isabel F BriddickArgentina2026-05-11Chemel, James L Cpa UNQUALIFIED50Elwin Sharvill
1020Leon B SlusarskiBrazil2026-05-29Feiner Bros PROPOSAL14Stephen Shaw
1021Antonio C GarufiFrance2026-05-14Chanay, Jeffrey A Esq NEGOTIATION41Bernardo Dominic
1022James R RutaSpain2026-05-29Buckley Miller Wright NEGOTIATION62Xuxue Feng
1023Ashley O IturbideArgentina2026-05-23Morlong Associates PROPOSAL96Amy Elsner
1024Ashley V BowleyJapan2026-05-29King, Christopher A Esq NEGOTIATION25Ivan Magalhaes
1025Kadeem S GlickFrance2026-06-02Chanay, Jeffrey A Esq UNQUALIFIED9Ivan Magalhaes
1026Faith J GlickIndia2026-05-11Commercial Press QUALIFIED27Onyama Limba
1027Ivar A VenereFrance2026-05-30Rousseaux, Michael Esq NEW63Ioni Bowcher
1028James O ShinkoSpain2026-05-17Benton, John B Jr NEGOTIATION55Onyama Limba
1029Octavia K MorascaGermany2026-05-29Chapman, Ross E Esq UNQUALIFIED47Asiya Javayant
1030Johnson Y BriddickAustralia2026-05-20Feiner Bros UNQUALIFIED15Elwin Sharvill
1031Juan B KuskoJapan2026-06-01King, Christopher A Esq RENEWAL25Onyama Limba
1032Munro D GlickSpain2026-05-09Rousseaux, Michael Esq QUALIFIED89Bernardo Dominic
1033Emily X FollerAustralia2026-06-02Benton, John B Jr RENEWAL43Stephen Shaw
1034Claire Z MorascaIndia2026-05-30Dorl, James J Esq QUALIFIED53Xuxue Feng
1035Octavia U InouyeArgentina2026-05-09Printing Dimensions UNQUALIFIED58Bernardo Dominic
1036Jennifer W SlusarskiCanada2026-05-15Rangoni Of Florence UNQUALIFIED25Asiya Javayant
1037Claire P OldroydIndia2026-05-07Morlong Associates NEGOTIATION60Elwin Sharvill
1038Leon E BowleyFrance2026-05-11Morlong Associates RENEWAL53Asiya Javayant
1039Darci H FigeroaFrance2026-05-30King, Christopher A Esq QUALIFIED20Bernardo Dominic
1040Wickens O DilliardFrance2026-05-29Chemel, James L Cpa NEGOTIATION8Amy Elsner
1041Kaitlin M RulapaughGermany2026-05-29King, Christopher A Esq PROPOSAL43Onyama Limba
1042Salvatore R CaldareraItaly2026-05-31Morlong Associates PROPOSAL92Xuxue Feng
1043Deepesh H MaletJapan2026-05-21Feiner Bros RENEWAL15Anna Fali
1044Silvio Y MacleadArgentina2026-05-28Commercial Press NEW85Elwin Sharvill
1045Cody T PaprockiSpain2026-05-26Dorl, James J Esq RENEWAL34Stephen Shaw
1046Claire Z AlbaresItaly2026-05-19Rousseaux, Michael Esq RENEWAL40Xuxue Feng
1047Costa D WieserBrazil2026-05-07Chapman, Ross E Esq UNQUALIFIED78Asiya Javayant
1048Ivar O WhobreyGermany2026-06-04Printing Dimensions UNQUALIFIED28Bernardo Dominic
1049Jones Z SaylorsCanada2026-06-03Buckley Miller Wright NEW23Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Salvatore J RulapaughIndiaIvan Magalhaes RENEWAL
Stacey M DoeUnited KingdomBernardo Dominic PROPOSAL
Adams N SaylorsIndiaXuxue Feng PROPOSAL
Mayumi P OldroydCanadaXuxue Feng NEGOTIATION
Ricardo Y KolmetzItalyAsiya Javayant QUALIFIED
Maisha Z DoeCanadaBernardo Dominic NEGOTIATION
Smith U BowleyItalyIoni Bowcher PROPOSAL
Mayumi Z WhobreyIndiaIvan Magalhaes UNQUALIFIED
Octavia X CaudySpainAmy Elsner RENEWAL
James F RimUnited KingdomBernardo Dominic RENEWAL
Julie S ButtJapanOnyama Limba NEGOTIATION
Tony Z MacleadArgentinaIoni Bowcher RENEWAL
Rodrigues F MarrierItalyElwin Sharvill NEW
Leon C CaldareraItalyAsiya Javayant PROPOSAL
Emily G BologniaRussiaIoni Bowcher RENEWAL
Deepesh O CampainSpainElwin Sharvill PROPOSAL
Faith M RulapaughFranceXuxue Feng RENEWAL
Smith T AmigonIndiaAmy Elsner NEW
Deepesh D ChuiRussiaXuxue Feng RENEWAL
Maria M PaprockiAustraliaStephen Shaw RENEWAL
Misaki I VenereJapanAnna Fali PROPOSAL
Faith C GillianItalyIoni Bowcher UNQUALIFIED
Mujtaba U WhobreyItalyAmy Elsner RENEWAL
Ivar O InouyeUnited KingdomAnna Fali RENEWAL
Adams N FollerGermanyAmy Elsner NEGOTIATION
Chavez V GillianFranceOnyama Limba NEGOTIATION
Munro R CampainJapanIvan Magalhaes UNQUALIFIED
Octavia C RulapaughArgentinaXuxue Feng QUALIFIED
Leon C FigeroaRussiaAnna Fali QUALIFIED
Stacey O MaletRussiaIoni Bowcher NEW
Ricardo U VenereJapanOnyama Limba PROPOSAL
Julie I RimUnited KingdomAsiya Javayant RENEWAL
Johnson Z ShinkoIndiaXuxue Feng UNQUALIFIED
Izzy K AlbaresArgentinaStephen Shaw QUALIFIED
Ivar A NickaBrazilStephen Shaw PROPOSAL
Mujtaba M FollerBrazilBernardo Dominic PROPOSAL
Costa S WieserAustraliaAnna Fali QUALIFIED
Costa N GlickJapanOnyama Limba UNQUALIFIED
Johnson Y MaletCanadaBernardo Dominic UNQUALIFIED
Greenwood N RoysterJapanBernardo Dominic RENEWAL
Leja R KuskoRussiaXuxue Feng NEW
Faith O PoquetteUnited KingdomAnna Fali UNQUALIFIED
Chavez S NickaFranceXuxue Feng PROPOSAL
Leon P MacleadArgentinaStephen Shaw NEW
Sinclair T DoeArgentinaAnna Fali NEW
Johnson T PoquetteIndiaIoni Bowcher PROPOSAL
Leon N StockhamArgentinaXuxue Feng RENEWAL
Maria A RulapaughItalyAmy Elsner UNQUALIFIED
Nicolas C MaletItalyIvan Magalhaes QUALIFIED
Mujtaba D PoquetteRussiaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Ricardo V Amigon
Aika J Wieser
Greenwood Z Malet
Chavez P Vocelka
Darci B Glick
Jennifer B Slusarski
Johnson R Wieser
Darci R Stenseth
Octavia X Doe
Greenwood X Wieser
Jones J Whobrey
Jefferson J Sergi
Chavez L Garufi
Silvio Y Stockham
Jennifer A Ferencz
Ivar G Dilliard
Morrow K Rim
Wickens A Nicka
Deepesh E Darakjy
Mujtaba S Perin
Cody E Morasca
Leja T Albares
Alejandro Y Perin
Emily G Malet
Maisha D Kolmetz
Nicolas I Amigon
Faith F Doe
Silvio D Campain
Antonio B Darakjy
Antonio S Caudy
Rodrigues T Garufi
Deepesh U Malet
Deepesh N Paprocki
Ricardo A Bolognia
Rodrigues W Whobrey
Silvio V Morasca
Greenwood U Flosi
Jones C Foller
Kadeem B Foller
Juan E Malet
David Y Perin
Octavia L Kusko
Jeanfrancois B Gaucho
Misaki H Albares
Silvio F Foller
Munro X Stenseth
Mayumi D Malet
Aruna N Gaucho
Faith O Schemmer
Salvatore J Dilliard
IdCountryDate
1000Japan2026-05-26
1001Brazil2026-05-18
1002Spain2026-05-15
1003Italy2026-05-14
1004India2026-05-12
1005Argentina2026-06-02
1006United Kingdom2026-05-09
1007Canada2026-05-21
1008India2026-06-02
1009France2026-05-30
1010India2026-05-22
1011France2026-05-27
1012Japan2026-06-01
1013India2026-05-29
1014India2026-05-26
1015Russia2026-05-21
1016France2026-05-11
1017Russia2026-05-24
1018Spain2026-05-21
1019Spain2026-06-01
1020Canada2026-05-20
1021Australia2026-05-18
1022France2026-05-13
1023Australia2026-05-16
1024Italy2026-05-24
1025Germany2026-06-05
1026Italy2026-05-31
1027France2026-05-21
1028Germany2026-05-29
1029Russia2026-05-08
1030Spain2026-05-11
1031Italy2026-05-24
1032Brazil2026-05-09
1033Spain2026-05-14
1034India2026-05-28
1035Germany2026-05-11
1036United Kingdom2026-06-04
1037Argentina2026-05-17
1038Australia2026-05-19
1039France2026-06-02
1040Japan2026-05-16
1041Russia2026-06-05
1042Japan2026-06-04
1043Spain2026-05-11
1044Spain2026-05-18
1045Russia2026-05-15
1046Argentina2026-05-09
1047India2026-05-24
1048Germany2026-05-27
1049Australia2026-05-23

On-Demand Data

NameIdCountryDate
Smith N Chui1000Germany2026-05-14
Jefferson Q Tollner1001France2026-05-10
Jennifer Q Whobrey1002Brazil2026-05-27
Jeanfrancois N Briddick1003Canada2026-06-04
Adams N Butt1004United Kingdom2026-05-22
Clifford W Schemmer1005Canada2026-05-27
Jefferson F Garufi1006Australia2026-05-18
James B Wieser1007Japan2026-05-10
Munro I Whobrey1008Japan2026-05-07
Arvin K Butt1009Australia2026-05-31
Arvin G Venere1010Brazil2026-05-08
Claire U Bowley1011Australia2026-05-22
James N Butt1012Argentina2026-05-07
Aruna Z Garufi1013Germany2026-06-03
Ashley A Garufi1014Brazil2026-05-27
Jennifer Y Kolmetz1015United Kingdom2026-06-02
Claire S Oldroyd1016India2026-05-13
Munro I Rulapaugh1017Russia2026-06-03
Alejandro U Malet1018Brazil2026-06-02
Munro M Kolmetz1019Russia2026-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia L TollnerCanadaIvan Magalhaes PROPOSAL
Salvatore S AmigonArgentinaAnna Fali UNQUALIFIED
Misaki G GauchoItalyIoni Bowcher PROPOSAL
Faith D BowleyUnited KingdomAnna Fali NEW
Julie K CaudySpainXuxue Feng NEW
Juan J RimCanadaElwin Sharvill RENEWAL
Aika W NickaGermanyElwin Sharvill QUALIFIED
Smith R InouyeFranceXuxue Feng UNQUALIFIED
Maisha R GarufiUnited KingdomAsiya Javayant RENEWAL
Arvin O VocelkaCanadaAsiya Javayant QUALIFIED
Julie P TollnerItalyElwin Sharvill QUALIFIED
Isabel U AlbaresCanadaIvan Magalhaes PROPOSAL
Deepesh J PerinAustraliaElwin Sharvill UNQUALIFIED
Jones Z AmigonUnited KingdomAmy Elsner RENEWAL
Ivar C RoysterRussiaElwin Sharvill UNQUALIFIED
Faith M BowleyFranceBernardo Dominic QUALIFIED
Rodrigues J SergiAustraliaAmy Elsner NEGOTIATION
Murillo L NestleBrazilAmy Elsner NEW
Jones V DoeSpainIoni Bowcher UNQUALIFIED
Mayumi C StockhamSpainAmy Elsner UNQUALIFIED
Deepesh M WaycottItalyElwin Sharvill UNQUALIFIED
Julie O PaprockiAustraliaOnyama Limba NEW
Cody O ShinkoFranceIoni Bowcher QUALIFIED
Stacey M MaletAustraliaAmy Elsner NEW
Arvin D GillianCanadaXuxue Feng UNQUALIFIED
Smith U DoeSpainAsiya Javayant NEW
Johnson E GauchoFranceBernardo Dominic QUALIFIED
Izzy S RulapaughAustraliaXuxue Feng PROPOSAL
Octavia K TollnerJapanBernardo Dominic NEGOTIATION
Jeanfrancois W PaprockiGermanyElwin Sharvill UNQUALIFIED
Emily K PaprockiUnited KingdomIoni Bowcher NEW
Darci T SergiCanadaAmy Elsner NEGOTIATION
Leja G TollnerFranceElwin Sharvill RENEWAL
Munro I GlickFranceIvan Magalhaes NEGOTIATION
Morrow A BriddickGermanyIoni Bowcher QUALIFIED
Sinclair Y GauchoCanadaBernardo Dominic UNQUALIFIED
Jennifer P MaletSpainXuxue Feng PROPOSAL
Johnson M ShinkoRussiaAnna Fali NEGOTIATION
Juan R BriddickItalyElwin Sharvill NEGOTIATION
Alejandro D MaletUnited KingdomBernardo Dominic 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>

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.