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
Julie W FollerFranceXuxue Feng PROPOSAL
David V DilliardRussiaAnna Fali NEW
Greenwood M OstroskyGermanyBernardo Dominic PROPOSAL
Darci O MaletItalyXuxue Feng NEW
Juan F CaudyBrazilOnyama Limba RENEWAL
Aika E WhobreyGermanyOnyama Limba PROPOSAL
Misaki I PaprockiSpainOnyama Limba QUALIFIED
Aruna M ShinkoFranceOnyama Limba RENEWAL
Aika E RulapaughIndiaBernardo Dominic NEW
Mujtaba S TollnerBrazilAsiya Javayant RENEWAL
Faith N WhobreyCanadaBernardo Dominic PROPOSAL
Jennifer P WieserBrazilOnyama Limba NEGOTIATION
Morrow P DarakjyGermanyXuxue Feng NEGOTIATION
Aika M NestleIndiaElwin Sharvill NEGOTIATION
Smith Z RimSpainAmy Elsner PROPOSAL
Chavez V AmigonGermanyStephen Shaw NEW
Faith B RulapaughAustraliaAmy Elsner QUALIFIED
Isabel U BriddickFranceOnyama Limba UNQUALIFIED
Aika U GlickUnited KingdomAsiya Javayant PROPOSAL
Wickens R MaletSpainAmy Elsner RENEWAL
Clifford R StockhamArgentinaIoni Bowcher PROPOSAL
Johnson J GarufiItalyAnna Fali RENEWAL
Leon X IturbideRussiaAsiya Javayant NEW
Maria Z FollerGermanyStephen Shaw UNQUALIFIED
Rodrigues L RutaIndiaIoni Bowcher NEGOTIATION
Isabel H SaylorsFranceXuxue Feng UNQUALIFIED
Adams L VenereGermanyStephen Shaw QUALIFIED
Faith R VenereRussiaIvan Magalhaes QUALIFIED
Jones V OldroydGermanyAnna Fali UNQUALIFIED
Julie R SchemmerAustraliaAsiya Javayant QUALIFIED
Ricardo V InouyeFranceXuxue Feng UNQUALIFIED
Chavez D DarakjyUnited KingdomAmy Elsner NEW
Greenwood D WhobreyIndiaAnna Fali NEW
Johnson B AlbaresFranceStephen Shaw UNQUALIFIED
Jones X IturbideSpainBernardo Dominic QUALIFIED
Octavia Q OstroskyIndiaElwin Sharvill NEW
Leja P MacleadIndiaStephen Shaw RENEWAL
James W FollerJapanStephen Shaw PROPOSAL
Tony B VocelkaUnited KingdomAnna Fali RENEWAL
Nicolas B SaylorsGermanyAnna Fali RENEWAL
Smith N GauchoRussiaAsiya Javayant NEGOTIATION
Leja N WieserBrazilXuxue Feng NEW
Kaitlin Q PoquetteIndiaStephen Shaw UNQUALIFIED
Emily U DilliardAustraliaIvan Magalhaes NEW
Arvin A ChuiJapanElwin Sharvill RENEWAL
Smith B DoeUnited KingdomAnna Fali UNQUALIFIED
Leon O SlusarskiArgentinaXuxue Feng UNQUALIFIED
Johnson U ChuiAustraliaElwin Sharvill RENEWAL
Alejandro K OldroydGermanyBernardo Dominic PROPOSAL
Smith J RulapaughIndiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Johnson U PaprockiItalyOnyama Limba UNQUALIFIED
Stacey V WaycottRussiaElwin Sharvill PROPOSAL
Chavez M ChuiUnited KingdomBernardo Dominic NEGOTIATION
Jefferson M NestleIndiaElwin Sharvill QUALIFIED
Aika U MarrierRussiaAnna Fali NEW
Faith W IturbideCanadaAmy Elsner UNQUALIFIED
Tony D TollnerArgentinaElwin Sharvill QUALIFIED
Munro K MorascaItalyElwin Sharvill QUALIFIED
Faith Y IturbideRussiaIoni Bowcher UNQUALIFIED
Sinclair O WhobreyItalyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie L PerinGermany2026-02-25Printing Dimensions UNQUALIFIED99Onyama Limba
1001Ashley N NestleAustralia2026-02-24Morlong Associates QUALIFIED37Amy Elsner
1002Leja H KolmetzFrance2026-02-20Dorl, James J Esq QUALIFIED44Stephen Shaw
1003Antonio R NestleFrance2026-02-20King, Christopher A Esq NEGOTIATION56Ivan Magalhaes
1004Leja F NestleFrance2026-03-01King, Christopher A Esq RENEWAL73Amy Elsner
1005James X MorascaUnited Kingdom2026-02-28Chemel, James L Cpa PROPOSAL84Amy Elsner
1006Aika Q MaletFrance2026-03-13Feiner Bros PROPOSAL25Asiya Javayant
1007Ashley T KuskoJapan2026-02-19Morlong Associates QUALIFIED38Bernardo Dominic
1008Leja T NestleUnited Kingdom2026-02-27Buckley Miller Wright RENEWAL94Xuxue Feng
1009Kaitlin E CaudyFrance2026-03-11Chemel, James L Cpa NEW5Elwin Sharvill
1010Kadeem I SaylorsCanada2026-03-02Buckley Miller Wright NEGOTIATION35Xuxue Feng
1011Costa E SchemmerUnited Kingdom2026-02-23Commercial Press UNQUALIFIED41Ivan Magalhaes
1012Antonio X PaprockiUnited Kingdom2026-03-10Morlong Associates NEGOTIATION60Amy Elsner
1013Julie S BologniaCanada2026-02-13Commercial Press PROPOSAL89Onyama Limba
1014Ashley W DoeGermany2026-02-25Morlong Associates UNQUALIFIED97Stephen Shaw
1015Salvatore T ShinkoCanada2026-02-16Buckley Miller Wright UNQUALIFIED26Bernardo Dominic
1016Julie X FerenczArgentina2026-03-04Dorl, James J Esq RENEWAL19Stephen Shaw
1017Clifford J InouyeArgentina2026-02-18King, Christopher A Esq RENEWAL3Ivan Magalhaes
1018Nicolas P PoquetteUnited Kingdom2026-02-24Rangoni Of Florence RENEWAL29Ioni Bowcher
1019Aruna U MarrierFrance2026-02-21Printing Dimensions NEGOTIATION47Bernardo Dominic
1020Clifford I ChuiIndia2026-02-22Chemel, James L Cpa NEGOTIATION51Stephen Shaw
1021Morrow F OstroskyGermany2026-03-06Feiner Bros NEW26Amy Elsner
1022James O WhobreyRussia2026-02-18Feiner Bros PROPOSAL39Amy Elsner
1023Emily J SaylorsUnited Kingdom2026-02-27Rousseaux, Michael Esq NEGOTIATION60Amy Elsner
1024Silvio L MorascaBrazil2026-02-24Feiner Bros UNQUALIFIED50Ivan Magalhaes
1025Jeanfrancois N GauchoFrance2026-03-07Rangoni Of Florence UNQUALIFIED67Elwin Sharvill
1026Jennifer K VocelkaSpain2026-02-13Printing Dimensions PROPOSAL66Stephen Shaw
1027Ashley B MorascaArgentina2026-03-08Dorl, James J Esq NEW37Onyama Limba
1028Darci W DarakjyRussia2026-02-15Rangoni Of Florence UNQUALIFIED19Ivan Magalhaes
1029Clifford D MorascaItaly2026-02-22Feltz Printing Service UNQUALIFIED56Bernardo Dominic
1030Nicolas V FigeroaSpain2026-03-08Truhlar And Truhlar Attys PROPOSAL41Anna Fali
1031Alejandro P RutaAustralia2026-03-01Chemel, James L Cpa UNQUALIFIED16Ioni Bowcher
1032Stacey Q CaldareraJapan2026-03-04Morlong Associates PROPOSAL99Xuxue Feng
1033Mujtaba C RoysterFrance2026-03-13Rousseaux, Michael Esq NEW6Amy Elsner
1034Octavia M VenereSpain2026-02-16Printing Dimensions NEW88Onyama Limba
1035Leja S FlosiRussia2026-02-19Chanay, Jeffrey A Esq NEW68Bernardo Dominic
1036Francesco L ShinkoGermany2026-03-09Rangoni Of Florence NEGOTIATION76Ivan Magalhaes
1037Jones I NestleGermany2026-02-19Chapman, Ross E Esq UNQUALIFIED23Xuxue Feng
1038Smith H FollerRussia2026-02-22Rousseaux, Michael Esq RENEWAL84Elwin Sharvill
1039Ashley R BologniaBrazil2026-02-17Printing Dimensions PROPOSAL85Asiya Javayant
1040Isabel T OstroskyArgentina2026-03-13Morlong Associates PROPOSAL43Onyama Limba
1041Ricardo V IturbideUnited Kingdom2026-02-18Feiner Bros NEGOTIATION60Stephen Shaw
1042Aditya F RulapaughCanada2026-02-23Benton, John B Jr NEGOTIATION64Asiya Javayant
1043Ivar N GlickArgentina2026-02-25Feiner Bros NEGOTIATION75Elwin Sharvill
1044Misaki B NickaBrazil2026-02-26Truhlar And Truhlar Attys PROPOSAL48Anna Fali
1045Chavez X AmigonIndia2026-02-28Chapman, Ross E Esq PROPOSAL43Ivan Magalhaes
1046Smith O SlusarskiAustralia2026-02-14Printing Dimensions RENEWAL40Amy Elsner
1047Juan M AmigonCanada2026-02-18Feltz Printing Service NEW75Ivan Magalhaes
1048Faith V DoeFrance2026-02-21Chemel, James L Cpa NEW33Xuxue Feng
1049Claire O BowleyJapan2026-02-23Commercial Press QUALIFIED99Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aika D MaletItalyAnna Fali UNQUALIFIED
Maria T VenereIndiaStephen Shaw RENEWAL
Deepesh Q CaudyItalyIvan Magalhaes RENEWAL
Jeanfrancois T VocelkaFranceXuxue Feng NEW
Jones Z OldroydJapanAsiya Javayant UNQUALIFIED
Mayumi I StensethSpainOnyama Limba UNQUALIFIED
Maria C InouyeFranceIoni Bowcher PROPOSAL
Kaitlin G SergiIndiaIoni Bowcher NEGOTIATION
Kaitlin V SchemmerItalyIoni Bowcher UNQUALIFIED
Faith U PerinCanadaXuxue Feng UNQUALIFIED
Jennifer L GlickIndiaIvan Magalhaes NEW
Darci D CaldareraArgentinaBernardo Dominic RENEWAL
Salvatore F GillianCanadaOnyama Limba UNQUALIFIED
Salvatore L OldroydItalyXuxue Feng RENEWAL
Izzy O InouyeBrazilAnna Fali QUALIFIED
Wickens W SergiSpainAmy Elsner NEW
Octavia U DilliardGermanyIoni Bowcher NEGOTIATION
Johnson M StensethUnited KingdomOnyama Limba RENEWAL
Clifford K AlbaresBrazilStephen Shaw NEGOTIATION
Morrow L MaletUnited KingdomXuxue Feng NEW
Johnson A ButtRussiaIvan Magalhaes NEGOTIATION
Ashley B PerinSpainAsiya Javayant UNQUALIFIED
Claire Y IturbideIndiaIvan Magalhaes UNQUALIFIED
Jefferson A OstroskyIndiaElwin Sharvill PROPOSAL
Alejandro N DoeRussiaAsiya Javayant UNQUALIFIED
Aika M BologniaItalyAnna Fali QUALIFIED
Chavez V DilliardJapanElwin Sharvill PROPOSAL
Arvin Q MaletIndiaIvan Magalhaes PROPOSAL
Nicolas R RulapaughArgentinaAnna Fali QUALIFIED
Clifford S DarakjyAustraliaOnyama Limba NEW
Wickens L RimArgentinaAnna Fali UNQUALIFIED
Kaitlin J ChuiJapanIvan Magalhaes NEW
Rodrigues L WieserAustraliaAnna Fali UNQUALIFIED
Francesco S AmigonSpainAnna Fali NEW
Morrow A FerenczCanadaStephen Shaw UNQUALIFIED
Clifford L FollerItalyElwin Sharvill UNQUALIFIED
Salvatore F KolmetzFranceXuxue Feng RENEWAL
Costa Q MaletItalyIvan Magalhaes QUALIFIED
Morrow Z MorascaJapanElwin Sharvill PROPOSAL
Greenwood H StensethGermanyAmy Elsner UNQUALIFIED
Smith L ShinkoGermanyXuxue Feng NEW
Sinclair V AlbaresArgentinaIvan Magalhaes NEW
Kadeem X ChuiBrazilIvan Magalhaes RENEWAL
Darci N MacleadArgentinaIvan Magalhaes PROPOSAL
Maria E GarufiFranceElwin Sharvill QUALIFIED
Claire D ChuiItalyXuxue Feng PROPOSAL
Maria S FlosiArgentinaIvan Magalhaes PROPOSAL
Greenwood T GlickArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois B PaprockiArgentinaOnyama Limba UNQUALIFIED
Wickens Z GlickFranceBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Chavez B Perin
Deepesh L Rulapaugh
Ivar P Butt
Ricardo M Tollner
Johnson E Doe
Johnson T Malet
Costa V Nestle
Silvio B Malet
Isabel X Stockham
David X Bowley
Izzy O Poquette
Clifford V Venere
Nicolas W Whobrey
Antonio V Gillian
Leon G Doe
Smith Q Darakjy
Kaitlin L Perin
Octavia W Butt
Costa G Albares
James H Bolognia
Arvin Y Foller
Tony B Morasca
Maria F Rim
Jennifer S Chui
Antonio R Rim
Kadeem D Caudy
Johnson Z Vocelka
Francesco B Briddick
Claire I Kolmetz
Maisha J Ostrosky
Antonio Y Glick
Morrow L Stockham
Julie X Caudy
Aditya S Oldroyd
Jennifer P Sergi
Chavez S Iturbide
Izzy Z Kusko
Silvio Q Wieser
Deepesh C Iturbide
Ricardo U Nestle
Mayumi O Rim
Izzy C Foller
David B Kusko
Misaki A Caldarera
Johnson Q Ferencz
Leon J Caudy
Aditya C Vocelka
Ricardo H Venere
Antonio Z Kusko
Ivar S Saylors
IdCountryDate
1000Italy2026-03-12
1001France2026-02-27
1002United Kingdom2026-02-17
1003India2026-03-01
1004Brazil2026-02-25
1005Brazil2026-02-13
1006Germany2026-03-03
1007Australia2026-03-13
1008Canada2026-03-04
1009Spain2026-03-08
1010Canada2026-03-13
1011Spain2026-02-17
1012Australia2026-03-05
1013United Kingdom2026-03-09
1014India2026-02-25
1015Germany2026-03-14
1016Russia2026-02-17
1017Japan2026-03-14
1018Australia2026-02-14
1019France2026-02-19
1020Brazil2026-02-17
1021Canada2026-03-07
1022Italy2026-03-08
1023France2026-03-08
1024Spain2026-02-14
1025Japan2026-03-02
1026Italy2026-02-19
1027Germany2026-02-15
1028Australia2026-03-14
1029Japan2026-02-16
1030Spain2026-03-10
1031Spain2026-03-11
1032Canada2026-03-07
1033France2026-02-24
1034Argentina2026-02-18
1035Canada2026-02-23
1036Australia2026-03-07
1037Germany2026-02-21
1038Japan2026-03-05
1039Spain2026-02-25
1040Germany2026-02-20
1041Germany2026-02-15
1042France2026-02-24
1043India2026-02-20
1044France2026-02-24
1045Germany2026-03-02
1046France2026-03-07
1047France2026-02-23
1048Brazil2026-02-17
1049Japan2026-03-09

On-Demand Data

NameIdCountryDate
Murillo L Waycott1000Russia2026-03-03
Julie J Gaucho1001Spain2026-03-14
Munro S Chui1002Russia2026-03-13
Aruna E Stockham1003Brazil2026-02-27
Jefferson Y Schemmer1004France2026-03-01
Kaitlin U Slusarski1005Russia2026-02-17
Maisha J Kolmetz1006United Kingdom2026-03-10
Ricardo X Malet1007Spain2026-03-08
Mujtaba P Glick1008Japan2026-03-09
Murillo J Royster1009France2026-03-13
Silvio P Bowley1010India2026-02-24
Claire Y Schemmer1011Spain2026-02-26
Munro E Albares1012Brazil2026-02-21
Kadeem Z Gaucho1013Germany2026-03-07
Morrow V Garufi1014France2026-03-10
James O Tollner1015India2026-03-06
Isabel Z Gillian1016Russia2026-03-02
Julie U Waycott1017Canada2026-02-18
Morrow Q Maclead1018Japan2026-03-01
Jefferson N Nestle1019India2026-02-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja Z InouyeIndiaXuxue Feng UNQUALIFIED
Adams R OstroskyBrazilBernardo Dominic RENEWAL
Ivar R SergiBrazilIvan Magalhaes PROPOSAL
Stacey G SaylorsItalyAmy Elsner NEW
Aditya M WaycottRussiaIoni Bowcher PROPOSAL
Morrow S VenereFranceXuxue Feng NEW
Kaitlin C SlusarskiIndiaAsiya Javayant PROPOSAL
Ashley W BriddickArgentinaIvan Magalhaes NEGOTIATION
Kadeem X TollnerRussiaStephen Shaw RENEWAL
Leon C ShinkoItalyXuxue Feng UNQUALIFIED
Munro W StockhamCanadaElwin Sharvill NEGOTIATION
Ashley C VocelkaFranceIvan Magalhaes PROPOSAL
Darci Q BriddickCanadaIvan Magalhaes QUALIFIED
Jones G ButtRussiaIvan Magalhaes QUALIFIED
Costa W GlickAustraliaAnna Fali RENEWAL
Arvin A SchemmerCanadaIvan Magalhaes QUALIFIED
Jeanfrancois M DoeBrazilIoni Bowcher PROPOSAL
Francesco P CaudyAustraliaIoni Bowcher NEW
David B RutaIndiaAmy Elsner UNQUALIFIED
Jeanfrancois W WieserAustraliaStephen Shaw QUALIFIED
Murillo V MaletJapanAsiya Javayant RENEWAL
Octavia S NickaJapanIoni Bowcher NEW
Leja R CampainCanadaXuxue Feng NEW
Leja H AlbaresItalyIoni Bowcher PROPOSAL
Izzy G PoquetteFranceOnyama Limba NEGOTIATION
Nicolas Z GillianRussiaOnyama Limba QUALIFIED
Francesco U OstroskyGermanyIvan Magalhaes QUALIFIED
Munro U ShinkoIndiaStephen Shaw NEGOTIATION
Stacey J PaprockiItalyOnyama Limba UNQUALIFIED
Izzy F SchemmerRussiaIvan Magalhaes RENEWAL
Jennifer L ChuiArgentinaIvan Magalhaes PROPOSAL
Deepesh Y VenereItalyIoni Bowcher QUALIFIED
Rodrigues Y MacleadIndiaStephen Shaw NEGOTIATION
Maisha V WaycottItalyBernardo Dominic UNQUALIFIED
Deepesh W WaycottArgentinaBernardo Dominic QUALIFIED
Aditya R SlusarskiFranceOnyama Limba UNQUALIFIED
James A WaycottItalyOnyama Limba QUALIFIED
Murillo Q SlusarskiSpainElwin Sharvill QUALIFIED
Juan J RoysterIndiaAmy Elsner UNQUALIFIED
Jeanfrancois E PaprockiJapanIoni Bowcher 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.