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 E InouyeFranceBernardo Dominic QUALIFIED
Kaitlin R ButtArgentinaIvan Magalhaes UNQUALIFIED
Salvatore L BologniaCanadaAsiya Javayant NEW
Misaki V TollnerAustraliaAmy Elsner QUALIFIED
Arvin V CaldareraIndiaStephen Shaw QUALIFIED
David Q BologniaJapanBernardo Dominic RENEWAL
Ashley W ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Aruna X NestleJapanIvan Magalhaes NEGOTIATION
Silvio Q MorascaAustraliaIoni Bowcher NEGOTIATION
Silvio T StensethAustraliaXuxue Feng UNQUALIFIED
Clifford S IturbideCanadaBernardo Dominic NEGOTIATION
Kadeem B WieserIndiaIvan Magalhaes NEGOTIATION
Sinclair G BologniaIndiaStephen Shaw RENEWAL
Jennifer V MacleadAustraliaIvan Magalhaes PROPOSAL
Maisha L PerinJapanAmy Elsner NEW
Antonio K ButtArgentinaIoni Bowcher UNQUALIFIED
Juan M PaprockiFranceAmy Elsner NEGOTIATION
Greenwood X MaletArgentinaElwin Sharvill PROPOSAL
Deepesh N AlbaresItalyElwin Sharvill NEW
Smith G IturbideJapanIoni Bowcher UNQUALIFIED
Misaki F CaldareraAustraliaStephen Shaw NEGOTIATION
Darci D GauchoBrazilAsiya Javayant NEW
Arvin C VocelkaBrazilAmy Elsner UNQUALIFIED
Maria G OldroydUnited KingdomOnyama Limba UNQUALIFIED
Maisha O RimCanadaStephen Shaw UNQUALIFIED
Izzy W BologniaSpainXuxue Feng UNQUALIFIED
Aditya J GauchoIndiaElwin Sharvill NEGOTIATION
Juan H PoquetteUnited KingdomAmy Elsner PROPOSAL
Antonio O SchemmerRussiaStephen Shaw RENEWAL
Claire A ChuiCanadaIvan Magalhaes QUALIFIED
James U SlusarskiAustraliaIoni Bowcher NEGOTIATION
David K MorascaAustraliaAsiya Javayant NEGOTIATION
Kadeem L StockhamGermanyAmy Elsner NEGOTIATION
Ashley Y WaycottAustraliaOnyama Limba UNQUALIFIED
Francesco V SlusarskiSpainStephen Shaw UNQUALIFIED
Stacey M MacleadSpainAsiya Javayant RENEWAL
Deepesh P AlbaresFranceAmy Elsner QUALIFIED
Maisha O GarufiFranceElwin Sharvill UNQUALIFIED
Emily X DilliardCanadaAmy Elsner QUALIFIED
Tony J MacleadCanadaElwin Sharvill NEGOTIATION
Stacey H WaycottAustraliaAsiya Javayant NEGOTIATION
Chavez C DilliardBrazilAsiya Javayant PROPOSAL
Octavia C BowleyFranceIvan Magalhaes NEGOTIATION
Antonio F StensethRussiaAsiya Javayant NEGOTIATION
Munro N OldroydItalyIoni Bowcher UNQUALIFIED
Adams V BriddickRussiaXuxue Feng RENEWAL
Rodrigues G MaletCanadaXuxue Feng UNQUALIFIED
Sinclair V VocelkaCanadaStephen Shaw NEW
Sinclair F MorascaAustraliaAnna Fali PROPOSAL
Aika C GlickGermanyAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Maisha R NestleCanadaIoni Bowcher NEGOTIATION
Faith F MarrierGermanyAsiya Javayant RENEWAL
Aruna M GillianUnited KingdomStephen Shaw NEW
Leon F ChuiSpainIvan Magalhaes NEW
Aruna C NestleRussiaAnna Fali QUALIFIED
Maria W BriddickRussiaBernardo Dominic UNQUALIFIED
Kadeem U KolmetzCanadaStephen Shaw PROPOSAL
Jeanfrancois Y SlusarskiIndiaIvan Magalhaes RENEWAL
Rodrigues Z SlusarskiCanadaBernardo Dominic PROPOSAL
Mujtaba O MarrierRussiaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo T SchemmerArgentina2026-04-22Buckley Miller Wright NEGOTIATION17Amy Elsner
1001Munro T OldroydIndia2026-04-17Chapman, Ross E Esq PROPOSAL8Anna Fali
1002Misaki K MaletCanada2026-04-27King, Christopher A Esq QUALIFIED46Onyama Limba
1003Julie V SaylorsCanada2026-04-15Dorl, James J Esq QUALIFIED31Asiya Javayant
1004Murillo Q AmigonAustralia2026-05-10Benton, John B Jr RENEWAL99Amy Elsner
1005Aditya N KuskoBrazil2026-04-20Rousseaux, Michael Esq PROPOSAL96Amy Elsner
1006Chavez T DarakjyUnited Kingdom2026-04-28Rangoni Of Florence RENEWAL70Onyama Limba
1007Rodrigues D StockhamAustralia2026-04-17Chanay, Jeffrey A Esq UNQUALIFIED35Bernardo Dominic
1008Julie G DilliardSpain2026-04-29Chanay, Jeffrey A Esq QUALIFIED29Amy Elsner
1009Kaitlin A WieserFrance2026-04-16Rousseaux, Michael Esq UNQUALIFIED45Amy Elsner
1010Morrow Z SchemmerBrazil2026-05-04Buckley Miller Wright QUALIFIED12Anna Fali
1011Murillo C RoysterArgentina2026-05-13King, Christopher A Esq NEGOTIATION63Bernardo Dominic
1012Isabel F RimAustralia2026-05-12Commercial Press NEGOTIATION98Elwin Sharvill
1013Antonio B SaylorsIndia2026-04-19Buckley Miller Wright UNQUALIFIED3Bernardo Dominic
1014Alejandro X GlickArgentina2026-04-27Chemel, James L Cpa RENEWAL30Ioni Bowcher
1015Deepesh O SergiJapan2026-04-27Commercial Press NEGOTIATION86Ivan Magalhaes
1016Stacey W GauchoBrazil2026-05-12Chanay, Jeffrey A Esq QUALIFIED43Xuxue Feng
1017Aika A MaletCanada2026-05-13Feltz Printing Service QUALIFIED8Anna Fali
1018Jones O MarrierUnited Kingdom2026-05-13Morlong Associates QUALIFIED68Onyama Limba
1019Aruna P RulapaughGermany2026-04-28Dorl, James J Esq UNQUALIFIED99Asiya Javayant
1020Maria M WieserArgentina2026-04-17Printing Dimensions QUALIFIED88Asiya Javayant
1021Morrow P InouyeSpain2026-04-21Rangoni Of Florence UNQUALIFIED80Ivan Magalhaes
1022Isabel C DilliardAustralia2026-04-17Chanay, Jeffrey A Esq NEW16Anna Fali
1023Wickens C SaylorsItaly2026-04-29Rousseaux, Michael Esq NEW14Ioni Bowcher
1024Mayumi Y KolmetzGermany2026-05-10Rangoni Of Florence QUALIFIED92Ivan Magalhaes
1025Isabel C MaletJapan2026-05-07Rangoni Of Florence UNQUALIFIED49Xuxue Feng
1026Aditya S KuskoAustralia2026-04-25Feiner Bros NEGOTIATION38Elwin Sharvill
1027Izzy I PoquetteItaly2026-04-28Chapman, Ross E Esq NEW28Asiya Javayant
1028Kaitlin V RulapaughRussia2026-05-13Feiner Bros NEW84Ioni Bowcher
1029Alejandro C MaletFrance2026-04-16Chapman, Ross E Esq UNQUALIFIED96Xuxue Feng
1030Maisha B GauchoUnited Kingdom2026-04-29Morlong Associates NEGOTIATION35Elwin Sharvill
1031Octavia X GauchoRussia2026-04-26Feltz Printing Service UNQUALIFIED85Anna Fali
1032Alejandro Q VenereBrazil2026-05-08Printing Dimensions QUALIFIED72Onyama Limba
1033Izzy J DilliardUnited Kingdom2026-05-09Benton, John B Jr NEW67Asiya Javayant
1034Aditya M OstroskyIndia2026-05-11Dorl, James J Esq UNQUALIFIED33Amy Elsner
1035Chavez B FollerBrazil2026-04-27Dorl, James J Esq PROPOSAL80Elwin Sharvill
1036Francesco Q TollnerFrance2026-04-15Chapman, Ross E Esq PROPOSAL74Elwin Sharvill
1037Silvio H RimSpain2026-04-22Buckley Miller Wright QUALIFIED99Bernardo Dominic
1038Salvatore F DoeCanada2026-05-05Chapman, Ross E Esq RENEWAL17Ivan Magalhaes
1039Sinclair R OldroydArgentina2026-05-01King, Christopher A Esq RENEWAL20Ioni Bowcher
1040Emily Z SlusarskiJapan2026-05-09Truhlar And Truhlar Attys UNQUALIFIED60Ivan Magalhaes
1041Nicolas N FollerCanada2026-04-15Commercial Press UNQUALIFIED25Elwin Sharvill
1042Faith A GlickBrazil2026-04-28Chanay, Jeffrey A Esq RENEWAL76Stephen Shaw
1043Isabel L StockhamJapan2026-05-11Dorl, James J Esq RENEWAL63Asiya Javayant
1044Morrow S PaprockiJapan2026-04-21Rangoni Of Florence NEW65Bernardo Dominic
1045Deepesh N CaudyGermany2026-05-01Printing Dimensions QUALIFIED2Bernardo Dominic
1046Murillo X BologniaBrazil2026-04-17Truhlar And Truhlar Attys RENEWAL61Amy Elsner
1047Tony R StensethUnited Kingdom2026-05-12Commercial Press QUALIFIED72Bernardo Dominic
1048Jeanfrancois M InouyeArgentina2026-05-13Benton, John B Jr NEW97Amy Elsner
1049Morrow D SchemmerUnited Kingdom2026-04-23Chapman, Ross E Esq QUALIFIED18Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Clifford B VocelkaSpainIoni Bowcher RENEWAL
Mayumi G ShinkoCanadaAnna Fali NEW
Ivar J FerenczIndiaStephen Shaw NEW
Mujtaba R PerinItalyAmy Elsner RENEWAL
Claire P OstroskyIndiaStephen Shaw UNQUALIFIED
Murillo O VenereJapanXuxue Feng QUALIFIED
David J MaletRussiaIoni Bowcher NEGOTIATION
Jeanfrancois V KuskoItalyOnyama Limba RENEWAL
Claire J WieserJapanElwin Sharvill PROPOSAL
James C MorascaAustraliaStephen Shaw UNQUALIFIED
Darci Y ButtAustraliaOnyama Limba QUALIFIED
Alejandro C RulapaughItalyAsiya Javayant NEW
Juan F FigeroaArgentinaElwin Sharvill QUALIFIED
Arvin G FerenczSpainAnna Fali NEW
Jefferson E CaldareraGermanyIoni Bowcher QUALIFIED
Leon B IturbideArgentinaIoni Bowcher PROPOSAL
Murillo O FollerJapanBernardo Dominic PROPOSAL
Stacey M SergiJapanAnna Fali PROPOSAL
Isabel E SergiJapanIvan Magalhaes PROPOSAL
Greenwood U RimSpainAsiya Javayant PROPOSAL
Antonio L ShinkoBrazilXuxue Feng QUALIFIED
Francesco E VocelkaItalyElwin Sharvill NEGOTIATION
Izzy T MarrierItalyAsiya Javayant QUALIFIED
Salvatore O DarakjyGermanyAmy Elsner QUALIFIED
Leon H StensethJapanStephen Shaw PROPOSAL
Nicolas V WaycottGermanyAmy Elsner NEGOTIATION
Greenwood H FigeroaCanadaXuxue Feng UNQUALIFIED
Jennifer D ShinkoBrazilXuxue Feng UNQUALIFIED
Mujtaba C SlusarskiItalyBernardo Dominic NEGOTIATION
Johnson I ChuiFranceStephen Shaw NEGOTIATION
Leon N ShinkoSpainOnyama Limba RENEWAL
Juan I FerenczUnited KingdomAsiya Javayant NEW
Jones Y PerinGermanyXuxue Feng UNQUALIFIED
Emily S FlosiAustraliaIvan Magalhaes RENEWAL
Darci B OldroydFranceXuxue Feng NEGOTIATION
Chavez S MaletRussiaIvan Magalhaes NEGOTIATION
Ashley O TollnerCanadaElwin Sharvill PROPOSAL
Mujtaba C GarufiIndiaIoni Bowcher RENEWAL
Darci F DoeFranceIvan Magalhaes UNQUALIFIED
Arvin J CaudyCanadaIoni Bowcher RENEWAL
Aika I CaudyItalyElwin Sharvill UNQUALIFIED
Ricardo N AmigonRussiaXuxue Feng PROPOSAL
Jeanfrancois A GlickSpainStephen Shaw QUALIFIED
Smith B BowleyFranceAmy Elsner UNQUALIFIED
Jeanfrancois V AmigonGermanyXuxue Feng QUALIFIED
Greenwood T StensethUnited KingdomIvan Magalhaes UNQUALIFIED
Costa G IturbideBrazilIvan Magalhaes PROPOSAL
Leja K OstroskyJapanElwin Sharvill QUALIFIED
Leja H BriddickIndiaBernardo Dominic NEW
Murillo L MorascaUnited KingdomStephen Shaw PROPOSAL
Frozen Columns
Name
Greenwood F Saylors
Maria H Tollner
Salvatore N Stenseth
Morrow R Gaucho
David I Sergi
Rodrigues N Darakjy
Tony U Inouye
Clifford S Morasca
Wickens U Morasca
Aruna E Malet
Misaki X Marrier
Kaitlin I Nestle
Faith Y Dilliard
Munro V Garufi
Johnson I Bowley
Kaitlin B Darakjy
Aditya W Poquette
Munro V Perin
Jones H Shinko
Emily O Nestle
Salvatore W Shinko
Aruna W Venere
Stacey R Flosi
Morrow F Sergi
Emily G Bowley
Isabel H Venere
Faith Y Saylors
Jones O Perin
Leon N Waycott
Mujtaba E Ruta
Tony H Rim
Mujtaba W Paprocki
Deepesh X Gaucho
Munro E Albares
Clifford F Maclead
Julie E Albares
Adams Q Wieser
Isabel U Rulapaugh
Antonio O Royster
Isabel J Oldroyd
Arvin A Schemmer
Greenwood G Kolmetz
Stacey Z Glick
Izzy Z Inouye
Ashley A Morasca
Misaki M Malet
Kaitlin H Garufi
Adams G Nestle
Maisha L Dilliard
Costa Z Foller
IdCountryDate
1000Argentina2026-05-14
1001Argentina2026-04-18
1002Spain2026-04-22
1003Australia2026-04-19
1004India2026-04-27
1005Russia2026-04-22
1006Argentina2026-04-22
1007Spain2026-05-02
1008Spain2026-04-26
1009Canada2026-05-01
1010Germany2026-05-13
1011Russia2026-05-02
1012Spain2026-04-24
1013United Kingdom2026-04-28
1014Canada2026-05-06
1015Brazil2026-05-09
1016Italy2026-04-16
1017France2026-04-16
1018Spain2026-04-24
1019Argentina2026-04-28
1020Japan2026-05-10
1021India2026-05-10
1022United Kingdom2026-05-07
1023Japan2026-05-08
1024Spain2026-04-16
1025Argentina2026-05-06
1026Russia2026-05-11
1027France2026-05-13
1028Russia2026-05-03
1029United Kingdom2026-05-01
1030Brazil2026-04-21
1031Australia2026-04-25
1032Argentina2026-04-25
1033Australia2026-05-08
1034Germany2026-04-18
1035Spain2026-04-28
1036France2026-04-17
1037Germany2026-05-08
1038France2026-05-06
1039France2026-04-28
1040Argentina2026-05-09
1041Brazil2026-05-03
1042Argentina2026-05-13
1043Brazil2026-04-27
1044Germany2026-04-15
1045Canada2026-05-13
1046France2026-04-20
1047Japan2026-05-06
1048Russia2026-05-08
1049Japan2026-05-11

On-Demand Data

NameIdCountryDate
Faith A Campain1000Brazil2026-05-04
Chavez C Morasca1001United Kingdom2026-04-22
Costa F Royster1002United Kingdom2026-05-03
Clifford V Rim1003Brazil2026-05-03
Greenwood B Flosi1004United Kingdom2026-05-10
Wickens O Chui1005Canada2026-05-03
Sinclair L Ferencz1006Italy2026-04-21
Aditya R Nicka1007United Kingdom2026-05-03
Jefferson A Saylors1008Argentina2026-04-28
Nicolas V Rim1009France2026-04-19
Antonio Z Kolmetz1010Italy2026-04-16
Murillo V Kusko1011Japan2026-04-20
David T Inouye1012Japan2026-04-15
Izzy O Caudy1013India2026-04-20
Darci C Wieser1014Argentina2026-04-25
Jeanfrancois M Bolognia1015Brazil2026-04-21
Maisha O Stockham1016Australia2026-04-20
Alejandro G Malet1017Japan2026-04-28
Murillo B Waycott1018Japan2026-05-02
Aruna D Maclead1019India2026-05-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily W ChuiFranceAsiya Javayant UNQUALIFIED
Misaki I BriddickSpainIoni Bowcher NEGOTIATION
Francesco G BriddickAustraliaAnna Fali QUALIFIED
Aika A FigeroaArgentinaOnyama Limba NEW
Izzy B RutaSpainElwin Sharvill RENEWAL
Ashley O PerinAustraliaIoni Bowcher QUALIFIED
Juan T RutaItalyXuxue Feng NEGOTIATION
Costa Z GlickIndiaIoni Bowcher PROPOSAL
Deepesh V DarakjyJapanOnyama Limba PROPOSAL
Silvio B WieserArgentinaAsiya Javayant UNQUALIFIED
Wickens N WhobreyArgentinaBernardo Dominic NEGOTIATION
Izzy N MaletUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro R DoeIndiaAnna Fali UNQUALIFIED
Johnson T RulapaughRussiaAmy Elsner QUALIFIED
Kaitlin X WaycottCanadaAmy Elsner NEW
Kadeem Q PaprockiJapanStephen Shaw NEGOTIATION
Claire E AlbaresSpainOnyama Limba UNQUALIFIED
Deepesh F SlusarskiFranceBernardo Dominic RENEWAL
Munro B MorascaCanadaAsiya Javayant RENEWAL
Izzy T GarufiRussiaAsiya Javayant UNQUALIFIED
Tony K NestleArgentinaAnna Fali NEW
Arvin B PaprockiFranceAmy Elsner UNQUALIFIED
Jeanfrancois R MaletFranceOnyama Limba NEW
Antonio V SaylorsCanadaOnyama Limba PROPOSAL
Ricardo D WaycottArgentinaElwin Sharvill PROPOSAL
Chavez Z BowleyFranceStephen Shaw NEW
Munro X ShinkoAustraliaBernardo Dominic NEW
Munro I NickaJapanAmy Elsner UNQUALIFIED
Nicolas P OldroydBrazilIoni Bowcher RENEWAL
James E ShinkoIndiaXuxue Feng PROPOSAL
Salvatore T PaprockiFranceIvan Magalhaes UNQUALIFIED
Ivar J DilliardIndiaAnna Fali NEGOTIATION
Faith G GarufiFranceAmy Elsner QUALIFIED
Aditya A FollerArgentinaOnyama Limba QUALIFIED
Izzy Y StockhamRussiaBernardo Dominic QUALIFIED
Rodrigues O FigeroaGermanyAsiya Javayant QUALIFIED
Costa O KuskoSpainElwin Sharvill PROPOSAL
Murillo X FlosiBrazilXuxue Feng NEGOTIATION
Julie F DarakjySpainOnyama Limba QUALIFIED
Claire W OstroskyAustraliaIoni Bowcher 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.