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
Cody R NestleArgentinaOnyama Limba NEGOTIATION
Ivar I MaletGermanyAsiya Javayant NEW
Stacey Z MorascaCanadaAmy Elsner NEW
Aruna A GauchoItalyXuxue Feng QUALIFIED
Jeanfrancois H AmigonItalyIoni Bowcher PROPOSAL
Ivar C NestleSpainBernardo Dominic UNQUALIFIED
Greenwood P PerinCanadaBernardo Dominic UNQUALIFIED
Aruna J ChuiRussiaXuxue Feng PROPOSAL
Cody L StensethItalyOnyama Limba NEGOTIATION
Francesco J SchemmerCanadaXuxue Feng QUALIFIED
Leon U SlusarskiSpainXuxue Feng QUALIFIED
Chavez J MacleadRussiaAmy Elsner NEGOTIATION
Jennifer L SchemmerFranceAnna Fali RENEWAL
Costa N GlickIndiaIvan Magalhaes RENEWAL
Greenwood E ButtFranceStephen Shaw UNQUALIFIED
Octavia E DoeIndiaBernardo Dominic PROPOSAL
Juan I BriddickIndiaAsiya Javayant NEGOTIATION
Maisha N IturbideArgentinaIvan Magalhaes UNQUALIFIED
Salvatore B RutaFranceStephen Shaw QUALIFIED
Murillo P MaletFranceIvan Magalhaes QUALIFIED
Jeanfrancois N TollnerCanadaIoni Bowcher QUALIFIED
Chavez Y RoysterFranceAsiya Javayant QUALIFIED
James V WhobreyArgentinaXuxue Feng NEGOTIATION
Jennifer E VenereUnited KingdomIoni Bowcher UNQUALIFIED
Cody H DilliardGermanyAnna Fali UNQUALIFIED
Mayumi E RimBrazilXuxue Feng PROPOSAL
Clifford K BowleyItalyAnna Fali NEGOTIATION
Adams M BriddickGermanyAmy Elsner QUALIFIED
Jefferson P BowleyIndiaIvan Magalhaes NEGOTIATION
Aditya O NickaCanadaAmy Elsner NEGOTIATION
Aika G DoeArgentinaBernardo Dominic NEW
Sinclair B BologniaGermanyIoni Bowcher NEW
Francesco F AmigonItalyStephen Shaw QUALIFIED
Ivar R RutaArgentinaBernardo Dominic UNQUALIFIED
Johnson B RulapaughArgentinaAmy Elsner UNQUALIFIED
Johnson S NestleRussiaIvan Magalhaes NEW
Octavia G BologniaIndiaElwin Sharvill RENEWAL
James Y MarrierAustraliaElwin Sharvill UNQUALIFIED
Greenwood N OstroskyIndiaAmy Elsner QUALIFIED
James T MarrierSpainAmy Elsner PROPOSAL
Greenwood S StensethSpainXuxue Feng PROPOSAL
Murillo Q MaletSpainElwin Sharvill QUALIFIED
Johnson S PoquetteIndiaBernardo Dominic QUALIFIED
Sinclair N IturbideIndiaAnna Fali NEW
Juan A PaprockiArgentinaAnna Fali UNQUALIFIED
Aika W BologniaIndiaStephen Shaw PROPOSAL
Morrow S MaletJapanBernardo Dominic QUALIFIED
James O MarrierItalyOnyama Limba NEW
Leon N MaletJapanBernardo Dominic NEW
Nicolas J RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody K ChuiItalyBernardo Dominic NEW
Nicolas O RoysterFranceIvan Magalhaes PROPOSAL
Costa H RutaJapanElwin Sharvill RENEWAL
Aditya P MarrierCanadaAmy Elsner PROPOSAL
Kadeem Q FerenczItalyStephen Shaw PROPOSAL
Mujtaba A MacleadBrazilStephen Shaw UNQUALIFIED
Nicolas Q IturbideRussiaElwin Sharvill QUALIFIED
Deepesh C DarakjyRussiaIoni Bowcher PROPOSAL
Stacey A VenereUnited KingdomOnyama Limba NEW
Maisha G DilliardItalyAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey U GarufiIndia2026-06-06Rangoni Of Florence RENEWAL63Bernardo Dominic
1001Isabel I MacleadBrazil2026-06-10Commercial Press RENEWAL70Bernardo Dominic
1002Cody Z IturbideArgentina2026-06-18Feiner Bros PROPOSAL48Ivan Magalhaes
1003Chavez R PoquetteGermany2026-06-21Truhlar And Truhlar Attys PROPOSAL77Asiya Javayant
1004Ricardo T BowleyJapan2026-06-07Feiner Bros UNQUALIFIED63Ivan Magalhaes
1005Jones U GlickIndia2026-05-31Buckley Miller Wright NEGOTIATION49Stephen Shaw
1006Jones X MarrierFrance2026-06-24Feltz Printing Service NEGOTIATION47Onyama Limba
1007Kaitlin G ButtGermany2026-06-15Printing Dimensions RENEWAL42Xuxue Feng
1008Claire D GillianRussia2026-06-15Commercial Press NEGOTIATION66Xuxue Feng
1009Maria Y AmigonFrance2026-05-28Chemel, James L Cpa UNQUALIFIED59Xuxue Feng
1010Nicolas F SaylorsSpain2026-06-18Dorl, James J Esq QUALIFIED68Onyama Limba
1011Ricardo M CaldareraBrazil2026-06-19Commercial Press PROPOSAL0Onyama Limba
1012Silvio P WaycottJapan2026-05-30Morlong Associates PROPOSAL67Ioni Bowcher
1013Julie E ChuiAustralia2026-06-06Rangoni Of Florence PROPOSAL79Bernardo Dominic
1014Munro N FigeroaAustralia2026-05-27Buckley Miller Wright UNQUALIFIED45Bernardo Dominic
1015Johnson W AlbaresUnited Kingdom2026-06-13Dorl, James J Esq NEW31Amy Elsner
1016Leon P WaycottAustralia2026-06-20Truhlar And Truhlar Attys UNQUALIFIED73Ivan Magalhaes
1017Kaitlin U MacleadRussia2026-05-30Buckley Miller Wright UNQUALIFIED46Bernardo Dominic
1018Smith N CaudyAustralia2026-06-18Chanay, Jeffrey A Esq RENEWAL76Onyama Limba
1019Chavez X GarufiAustralia2026-06-20Chapman, Ross E Esq QUALIFIED62Onyama Limba
1020Maria L BriddickBrazil2026-06-18Feiner Bros NEGOTIATION2Anna Fali
1021Jeanfrancois X SergiSpain2026-06-01Dorl, James J Esq RENEWAL77Ivan Magalhaes
1022Ashley D MarrierRussia2026-06-05Morlong Associates UNQUALIFIED31Bernardo Dominic
1023Cody Q StensethJapan2026-06-11Chapman, Ross E Esq RENEWAL77Stephen Shaw
1024Aruna K WhobreySpain2026-06-24King, Christopher A Esq PROPOSAL18Bernardo Dominic
1025Antonio W BologniaFrance2026-05-31Chemel, James L Cpa QUALIFIED13Xuxue Feng
1026Wickens E VenereItaly2026-06-03Benton, John B Jr NEW68Bernardo Dominic
1027Jeanfrancois Y SaylorsGermany2026-05-29Commercial Press RENEWAL91Stephen Shaw
1028Stacey Z GauchoJapan2026-05-28Buckley Miller Wright RENEWAL96Anna Fali
1029Maisha G MaletArgentina2026-06-21Chemel, James L Cpa QUALIFIED56Anna Fali
1030Cody R SlusarskiItaly2026-06-02Dorl, James J Esq RENEWAL35Ivan Magalhaes
1031Kadeem H DarakjyAustralia2026-06-16Benton, John B Jr UNQUALIFIED54Onyama Limba
1032Mujtaba A DarakjySpain2026-05-31Feltz Printing Service NEW55Ioni Bowcher
1033Kadeem B MaletIndia2026-05-31Chemel, James L Cpa RENEWAL55Ivan Magalhaes
1034Wickens R KolmetzCanada2026-05-29Chanay, Jeffrey A Esq PROPOSAL55Ivan Magalhaes
1035Salvatore F GillianIndia2026-05-31Buckley Miller Wright NEW33Asiya Javayant
1036Ivar W KuskoIndia2026-06-04Buckley Miller Wright PROPOSAL71Elwin Sharvill
1037Ivar R WhobreyArgentina2026-06-05King, Christopher A Esq NEGOTIATION81Anna Fali
1038Costa V CaldareraFrance2026-06-11Feltz Printing Service RENEWAL90Elwin Sharvill
1039Jefferson R GlickJapan2026-06-19Buckley Miller Wright RENEWAL7Onyama Limba
1040Rodrigues I IturbideRussia2026-06-22Feiner Bros NEGOTIATION68Amy Elsner
1041Costa F BriddickSpain2026-06-24Feiner Bros NEGOTIATION71Bernardo Dominic
1042Mujtaba U TollnerAustralia2026-06-23King, Christopher A Esq PROPOSAL83Bernardo Dominic
1043Adams Q FollerJapan2026-06-10Printing Dimensions QUALIFIED74Onyama Limba
1044Claire N GillianItaly2026-06-25Chemel, James L Cpa PROPOSAL72Anna Fali
1045Johnson D SergiAustralia2026-05-31King, Christopher A Esq NEW44Onyama Limba
1046Misaki O AlbaresFrance2026-06-09Feltz Printing Service PROPOSAL50Ivan Magalhaes
1047Leon Y GillianSpain2026-05-28King, Christopher A Esq NEW46Elwin Sharvill
1048Julie H VocelkaArgentina2026-06-12Feiner Bros PROPOSAL54Ivan Magalhaes
1049Claire N RulapaughCanada2026-06-23King, Christopher A Esq UNQUALIFIED42Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues Z PoquetteIndiaIoni Bowcher UNQUALIFIED
Adams B AlbaresIndiaIvan Magalhaes NEW
Octavia R VocelkaRussiaElwin Sharvill QUALIFIED
Adams T ShinkoBrazilOnyama Limba NEGOTIATION
Johnson H RutaJapanIoni Bowcher RENEWAL
Ricardo A MarrierBrazilXuxue Feng RENEWAL
Ricardo G MacleadArgentinaAmy Elsner UNQUALIFIED
Maria Z KuskoIndiaIvan Magalhaes RENEWAL
Nicolas I MacleadGermanyIoni Bowcher UNQUALIFIED
Darci D ChuiArgentinaElwin Sharvill NEGOTIATION
Izzy N PaprockiGermanyXuxue Feng UNQUALIFIED
Aika G MorascaGermanyStephen Shaw PROPOSAL
Faith P SchemmerItalyIoni Bowcher NEW
Alejandro E AmigonGermanyOnyama Limba UNQUALIFIED
Julie O MorascaBrazilAnna Fali RENEWAL
Ivar P KolmetzAustraliaAmy Elsner UNQUALIFIED
Arvin Y VocelkaCanadaBernardo Dominic RENEWAL
Cody A KolmetzRussiaAmy Elsner PROPOSAL
Munro J IturbideJapanXuxue Feng NEW
Jones Q SlusarskiGermanyIvan Magalhaes NEW
Ricardo F MaletSpainBernardo Dominic QUALIFIED
Aruna D WieserJapanIvan Magalhaes PROPOSAL
Clifford B DilliardAustraliaStephen Shaw PROPOSAL
David P GarufiArgentinaXuxue Feng NEW
James V SaylorsJapanIoni Bowcher NEW
Francesco F FlosiJapanIoni Bowcher PROPOSAL
Murillo U BowleySpainAnna Fali NEGOTIATION
Cody Y CaudyCanadaElwin Sharvill NEGOTIATION
Maria V WaycottIndiaAnna Fali RENEWAL
Sinclair C IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh X StensethRussiaAsiya Javayant NEW
Johnson Q StensethUnited KingdomIoni Bowcher UNQUALIFIED
Wickens G SlusarskiIndiaBernardo Dominic NEW
Salvatore R GarufiSpainElwin Sharvill NEW
David E FigeroaRussiaOnyama Limba QUALIFIED
Mujtaba N MacleadIndiaIvan Magalhaes NEGOTIATION
David E VenereJapanXuxue Feng RENEWAL
Maria S InouyeArgentinaElwin Sharvill RENEWAL
Adams A InouyeCanadaIvan Magalhaes NEW
Arvin D VocelkaSpainAmy Elsner RENEWAL
Darci U WhobreyJapanXuxue Feng RENEWAL
Costa S KuskoSpainElwin Sharvill QUALIFIED
Tony I PerinFranceBernardo Dominic NEW
Costa U ChuiSpainAnna Fali NEGOTIATION
Salvatore Q MorascaUnited KingdomIoni Bowcher NEGOTIATION
Mayumi I AlbaresUnited KingdomBernardo Dominic UNQUALIFIED
Murillo R InouyeRussiaAmy Elsner PROPOSAL
Julie X MacleadRussiaBernardo Dominic NEW
Costa Y ButtJapanElwin Sharvill NEGOTIATION
Aditya E CaldareraUnited KingdomIoni Bowcher QUALIFIED
Frozen Columns
Name
Jeanfrancois R Campain
Julie R Dilliard
Juan R Bowley
Leon B Rulapaugh
Izzy K Poquette
Claire N Slusarski
Jeanfrancois X Doe
Jeanfrancois E Bolognia
Cody Q Dilliard
Mayumi O Bolognia
Clifford W Stenseth
Jefferson D Albares
James C Venere
Emily N Morasca
Kadeem J Waycott
Emily Q Stockham
Morrow X Doe
Claire R Iturbide
Leon T Morasca
Mayumi J Inouye
Jones D Glick
Johnson E Flosi
Salvatore S Foller
Cody F Royster
Greenwood O Schemmer
Antonio K Darakjy
Clifford T Dilliard
Kaitlin P Albares
Murillo O Kolmetz
Murillo S Waycott
Aika N Oldroyd
Ivar B Ostrosky
Maisha Q Albares
Murillo W Waycott
Aruna B Glick
Murillo I Ostrosky
Sinclair Y Chui
Rodrigues D Sergi
Nicolas B Caldarera
Smith F Perin
Antonio A Ruta
Faith T Waycott
Ricardo O Kusko
Costa P Marrier
Tony I Gaucho
Ashley C Doe
Salvatore T Ostrosky
Kadeem W Oldroyd
Kaitlin X Ostrosky
Ricardo Y Gillian
IdCountryDate
1000Canada2026-06-17
1001United Kingdom2026-06-16
1002France2026-06-14
1003India2026-06-22
1004United Kingdom2026-06-02
1005Italy2026-06-21
1006Japan2026-06-21
1007France2026-05-31
1008Germany2026-06-25
1009Japan2026-06-03
1010Japan2026-06-15
1011Argentina2026-06-05
1012Japan2026-06-13
1013Spain2026-06-21
1014Brazil2026-06-18
1015Argentina2026-06-24
1016Russia2026-06-16
1017United Kingdom2026-06-05
1018France2026-05-29
1019France2026-06-12
1020Italy2026-06-14
1021Brazil2026-06-11
1022India2026-06-18
1023Japan2026-06-22
1024France2026-05-28
1025Canada2026-05-29
1026Japan2026-06-11
1027United Kingdom2026-05-30
1028France2026-06-22
1029Spain2026-06-01
1030United Kingdom2026-06-11
1031India2026-06-10
1032France2026-06-23
1033Argentina2026-06-25
1034Japan2026-06-02
1035Brazil2026-06-09
1036Italy2026-06-12
1037Brazil2026-05-27
1038India2026-06-12
1039France2026-05-29
1040Australia2026-06-16
1041Brazil2026-05-28
1042Japan2026-06-24
1043Russia2026-06-07
1044United Kingdom2026-06-09
1045Australia2026-06-06
1046Germany2026-06-21
1047India2026-06-11
1048Russia2026-05-27
1049France2026-06-03

On-Demand Data

NameIdCountryDate
Jones K Ruta1000United Kingdom2026-06-10
Leon E Malet1001Japan2026-06-21
Isabel W Dilliard1002Japan2026-06-06
Chavez T Briddick1003Argentina2026-06-18
Alejandro M Shinko1004Japan2026-06-19
Maisha E Nestle1005Spain2026-05-31
Aruna G Slusarski1006Canada2026-06-20
Juan G Stenseth1007Russia2026-06-08
Jones Y Poquette1008Russia2026-06-08
Kadeem T Malet1009India2026-05-29
David Z Stockham1010Spain2026-06-22
Rodrigues J Malet1011Canada2026-06-04
Leja X Vocelka1012Italy2026-06-14
Salvatore D Dilliard1013France2026-06-19
Kaitlin D Wieser1014Australia2026-06-14
Wickens N Whobrey1015Italy2026-06-02
Arvin F Foller1016Russia2026-06-17
Jeanfrancois Z Dilliard1017Japan2026-06-12
Izzy V Figeroa1018Russia2026-06-06
Adams Y Rim1019Brazil2026-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria A MorascaCanadaXuxue Feng QUALIFIED
Johnson O PaprockiAustraliaAnna Fali UNQUALIFIED
Jeanfrancois V WaycottRussiaAsiya Javayant UNQUALIFIED
Antonio P BriddickBrazilXuxue Feng PROPOSAL
Kadeem A AmigonItalyAnna Fali NEGOTIATION
Mujtaba V AlbaresJapanXuxue Feng UNQUALIFIED
Leja I PerinAustraliaAmy Elsner UNQUALIFIED
Ricardo F PoquetteFranceStephen Shaw UNQUALIFIED
Darci Z ShinkoItalyIvan Magalhaes NEGOTIATION
Deepesh C VocelkaUnited KingdomXuxue Feng NEGOTIATION
Darci O WhobreyAustraliaAsiya Javayant UNQUALIFIED
Aditya N TollnerUnited KingdomStephen Shaw PROPOSAL
Morrow V BowleyRussiaXuxue Feng QUALIFIED
Juan I BriddickRussiaElwin Sharvill NEGOTIATION
Octavia W OstroskyArgentinaStephen Shaw UNQUALIFIED
Aditya Q GlickCanadaXuxue Feng NEW
Faith V PoquetteItalyOnyama Limba UNQUALIFIED
Mujtaba G VocelkaArgentinaElwin Sharvill UNQUALIFIED
James O StockhamSpainStephen Shaw NEGOTIATION
Francesco U KuskoSpainAmy Elsner QUALIFIED
Ashley V FerenczArgentinaElwin Sharvill QUALIFIED
Aika N CaldareraGermanyAnna Fali UNQUALIFIED
Johnson F FlosiAustraliaElwin Sharvill NEW
Johnson K IturbideItalyAsiya Javayant QUALIFIED
Leon W FlosiSpainAsiya Javayant UNQUALIFIED
Darci C SlusarskiArgentinaAmy Elsner PROPOSAL
Wickens C FollerRussiaIvan Magalhaes PROPOSAL
Stacey D KuskoJapanBernardo Dominic RENEWAL
Maisha O MacleadUnited KingdomXuxue Feng RENEWAL
Morrow V SergiSpainStephen Shaw QUALIFIED
Izzy K StensethFranceStephen Shaw RENEWAL
Munro D MarrierBrazilAsiya Javayant NEGOTIATION
Aruna F WieserRussiaAnna Fali QUALIFIED
Mujtaba A WaycottBrazilAnna Fali UNQUALIFIED
Mujtaba N RutaAustraliaAnna Fali PROPOSAL
Johnson T GillianItalyAmy Elsner NEW
Julie B NickaCanadaIvan Magalhaes NEW
Francesco L FollerCanadaAsiya Javayant NEW
Greenwood A KolmetzFranceStephen Shaw UNQUALIFIED
Costa R SergiSpainElwin Sharvill UNQUALIFIED

<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.