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
Clifford H BologniaSpainXuxue Feng PROPOSAL
Greenwood Z KuskoArgentinaAmy Elsner PROPOSAL
Murillo P NickaSpainElwin Sharvill PROPOSAL
Alejandro E FlosiFranceAsiya Javayant PROPOSAL
Claire O DoeAustraliaBernardo Dominic QUALIFIED
Stacey P PaprockiArgentinaOnyama Limba UNQUALIFIED
James S InouyeGermanyIoni Bowcher RENEWAL
Salvatore K NestleGermanyIoni Bowcher PROPOSAL
Isabel U AlbaresArgentinaStephen Shaw UNQUALIFIED
Aruna I NickaRussiaOnyama Limba QUALIFIED
Alejandro I StensethAustraliaBernardo Dominic QUALIFIED
Deepesh V GlickJapanAsiya Javayant NEGOTIATION
Misaki O FerenczBrazilAmy Elsner RENEWAL
Julie B VenereRussiaAmy Elsner QUALIFIED
Aika M FerenczJapanAnna Fali QUALIFIED
Jennifer E PerinItalyOnyama Limba QUALIFIED
Ricardo C RoysterGermanyAmy Elsner RENEWAL
Tony Y WhobreyAustraliaAmy Elsner NEW
Munro M VocelkaUnited KingdomXuxue Feng QUALIFIED
Jones Y FollerJapanXuxue Feng RENEWAL
Juan P GillianSpainAsiya Javayant QUALIFIED
Ricardo V SaylorsSpainAmy Elsner RENEWAL
Ashley X SlusarskiJapanBernardo Dominic NEW
Arvin D KuskoFranceAmy Elsner UNQUALIFIED
Adams Z KolmetzGermanyIoni Bowcher RENEWAL
Silvio R SlusarskiFranceElwin Sharvill NEW
Jones J RoysterArgentinaIvan Magalhaes NEGOTIATION
Sinclair G KuskoUnited KingdomAsiya Javayant NEW
Nicolas L PerinCanadaAsiya Javayant QUALIFIED
Kaitlin T MorascaGermanyXuxue Feng NEW
Jeanfrancois X MacleadUnited KingdomIoni Bowcher NEGOTIATION
Clifford O PaprockiGermanyIoni Bowcher UNQUALIFIED
Greenwood Q AlbaresSpainAsiya Javayant NEW
Jeanfrancois R DarakjyFranceAnna Fali UNQUALIFIED
Juan I OstroskyItalyAmy Elsner NEW
Julie J SchemmerRussiaBernardo Dominic QUALIFIED
Silvio J CaldareraCanadaBernardo Dominic UNQUALIFIED
Greenwood B NickaUnited KingdomBernardo Dominic RENEWAL
Ricardo R VenereItalyAnna Fali NEW
Costa U PoquetteSpainAmy Elsner PROPOSAL
Silvio O GauchoArgentinaIvan Magalhaes NEGOTIATION
Ricardo O OldroydIndiaIoni Bowcher UNQUALIFIED
Deepesh U MacleadSpainBernardo Dominic RENEWAL
Murillo E RutaCanadaAnna Fali NEW
Claire E SchemmerCanadaIvan Magalhaes NEGOTIATION
Stacey W TollnerFranceBernardo Dominic UNQUALIFIED
Silvio O GauchoRussiaIvan Magalhaes RENEWAL
Greenwood X FerenczUnited KingdomXuxue Feng UNQUALIFIED
Jennifer A MaletFranceBernardo Dominic QUALIFIED
Leon B WieserRussiaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin X NickaItalyStephen Shaw NEGOTIATION
Johnson O RoysterArgentinaElwin Sharvill RENEWAL
Jefferson N NickaJapanIvan Magalhaes NEW
Leja B ChuiUnited KingdomBernardo Dominic NEW
Juan V GlickIndiaOnyama Limba UNQUALIFIED
Rodrigues O ShinkoRussiaElwin Sharvill NEGOTIATION
Antonio R SlusarskiJapanElwin Sharvill QUALIFIED
Jefferson X MarrierGermanyStephen Shaw QUALIFIED
Antonio B TollnerItalyIoni Bowcher UNQUALIFIED
Munro L FollerFranceIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow T InouyeJapan2026-05-07Truhlar And Truhlar Attys UNQUALIFIED16Amy Elsner
1001Chavez S ShinkoRussia2026-04-15Feltz Printing Service NEW11Anna Fali
1002Kaitlin R WhobreyFrance2026-05-05Buckley Miller Wright NEGOTIATION3Onyama Limba
1003Kaitlin P VocelkaAustralia2026-04-27Feltz Printing Service NEW54Bernardo Dominic
1004Francesco J MorascaBrazil2026-05-09Morlong Associates UNQUALIFIED34Anna Fali
1005David Y CampainAustralia2026-05-01Rangoni Of Florence PROPOSAL14Xuxue Feng
1006Izzy J TollnerUnited Kingdom2026-05-04Commercial Press QUALIFIED95Stephen Shaw
1007Octavia F KolmetzUnited Kingdom2026-04-16Chanay, Jeffrey A Esq QUALIFIED25Elwin Sharvill
1008Clifford Q ChuiItaly2026-04-26Feiner Bros NEGOTIATION0Ivan Magalhaes
1009Maisha T AmigonJapan2026-05-03Rangoni Of Florence UNQUALIFIED1Xuxue Feng
1010Izzy F SaylorsGermany2026-04-19Rangoni Of Florence NEW66Amy Elsner
1011Kaitlin E NickaUnited Kingdom2026-05-01Dorl, James J Esq NEW38Stephen Shaw
1012Mayumi B FigeroaArgentina2026-04-20Benton, John B Jr PROPOSAL12Ivan Magalhaes
1013Aika L OldroydFrance2026-05-09Chanay, Jeffrey A Esq NEW37Ivan Magalhaes
1014Ricardo F MaletAustralia2026-04-15Truhlar And Truhlar Attys NEGOTIATION6Ivan Magalhaes
1015Mujtaba F PerinUnited Kingdom2026-05-04Buckley Miller Wright QUALIFIED88Ioni Bowcher
1016Leja X DilliardAustralia2026-05-05King, Christopher A Esq PROPOSAL56Amy Elsner
1017Smith L BowleyIndia2026-04-30Feltz Printing Service NEGOTIATION69Amy Elsner
1018Salvatore K FerenczArgentina2026-05-06Printing Dimensions QUALIFIED9Asiya Javayant
1019Tony B ButtCanada2026-05-03Truhlar And Truhlar Attys NEW23Stephen Shaw
1020Faith L MaletIndia2026-04-20Rousseaux, Michael Esq PROPOSAL8Xuxue Feng
1021Jennifer L SaylorsIndia2026-04-30Truhlar And Truhlar Attys UNQUALIFIED36Stephen Shaw
1022Salvatore U ShinkoBrazil2026-04-22Feiner Bros QUALIFIED94Onyama Limba
1023Salvatore Q TollnerFrance2026-05-01Benton, John B Jr UNQUALIFIED36Ioni Bowcher
1024Mayumi D GillianIndia2026-05-07Chanay, Jeffrey A Esq NEGOTIATION17Ioni Bowcher
1025Silvio O MacleadRussia2026-05-04Truhlar And Truhlar Attys QUALIFIED73Bernardo Dominic
1026James X InouyeAustralia2026-04-22King, Christopher A Esq NEW27Onyama Limba
1027Salvatore M InouyeFrance2026-04-30Morlong Associates QUALIFIED49Elwin Sharvill
1028Kaitlin T PaprockiBrazil2026-05-06Commercial Press NEGOTIATION24Bernardo Dominic
1029Deepesh K FollerFrance2026-04-25Rousseaux, Michael Esq NEGOTIATION3Stephen Shaw
1030Sinclair F DarakjyUnited Kingdom2026-04-26Truhlar And Truhlar Attys QUALIFIED12Amy Elsner
1031Juan A NickaRussia2026-04-14Commercial Press NEW30Asiya Javayant
1032Deepesh A GlickItaly2026-05-04Benton, John B Jr QUALIFIED46Ivan Magalhaes
1033Clifford N KolmetzBrazil2026-04-21Commercial Press QUALIFIED19Anna Fali
1034Morrow S SlusarskiJapan2026-04-29Printing Dimensions PROPOSAL11Elwin Sharvill
1035Salvatore C FlosiRussia2026-05-05Chemel, James L Cpa RENEWAL19Elwin Sharvill
1036Octavia W AlbaresCanada2026-04-23Chapman, Ross E Esq NEGOTIATION1Ioni Bowcher
1037Jones R SergiJapan2026-04-16Printing Dimensions NEGOTIATION3Stephen Shaw
1038Leja Y VenereUnited Kingdom2026-04-10Commercial Press PROPOSAL19Ioni Bowcher
1039Maisha Y DoeJapan2026-04-18Feiner Bros PROPOSAL37Ivan Magalhaes
1040Adams A ButtBrazil2026-05-07Feltz Printing Service UNQUALIFIED97Xuxue Feng
1041Darci I RimAustralia2026-04-25Dorl, James J Esq RENEWAL21Xuxue Feng
1042Darci E SlusarskiBrazil2026-05-05Morlong Associates QUALIFIED35Ivan Magalhaes
1043Deepesh L MaletBrazil2026-04-20Chemel, James L Cpa RENEWAL70Elwin Sharvill
1044Clifford S DilliardArgentina2026-04-19Chanay, Jeffrey A Esq QUALIFIED97Onyama Limba
1045Jefferson P KolmetzIndia2026-04-26Chapman, Ross E Esq QUALIFIED84Ivan Magalhaes
1046Cody A NickaSpain2026-04-21Truhlar And Truhlar Attys PROPOSAL30Xuxue Feng
1047Rodrigues I RulapaughGermany2026-04-10Morlong Associates NEGOTIATION58Asiya Javayant
1048Rodrigues P StensethUnited Kingdom2026-05-05Buckley Miller Wright UNQUALIFIED8Onyama Limba
1049Smith Y BologniaSpain2026-05-05Buckley Miller Wright RENEWAL12Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jennifer L RulapaughUnited KingdomElwin Sharvill NEW
Julie L SchemmerAustraliaIoni Bowcher PROPOSAL
Kaitlin D FigeroaGermanyElwin Sharvill QUALIFIED
Rodrigues A MaletJapanBernardo Dominic NEW
Salvatore S BologniaGermanyElwin Sharvill PROPOSAL
Alejandro M BowleyArgentinaAnna Fali NEW
Mayumi H GlickSpainBernardo Dominic NEGOTIATION
Julie C DoeFranceIoni Bowcher UNQUALIFIED
Julie V OstroskyRussiaXuxue Feng UNQUALIFIED
Kadeem L RutaArgentinaAsiya Javayant PROPOSAL
Antonio K FerenczGermanyIvan Magalhaes QUALIFIED
Ashley Q FlosiCanadaXuxue Feng UNQUALIFIED
Ricardo R SaylorsAustraliaXuxue Feng NEW
Misaki P FlosiCanadaIvan Magalhaes NEW
Tony H RulapaughJapanElwin Sharvill PROPOSAL
Juan F GlickItalyAsiya Javayant RENEWAL
Greenwood Z MarrierBrazilOnyama Limba QUALIFIED
Salvatore K SchemmerIndiaOnyama Limba NEW
Tony C CaudyRussiaStephen Shaw NEGOTIATION
Emily V GauchoIndiaAmy Elsner PROPOSAL
Jones H AmigonIndiaAsiya Javayant NEGOTIATION
Jennifer F ChuiIndiaAnna Fali NEW
Greenwood L DoeAustraliaAmy Elsner NEW
Jennifer B SergiAustraliaBernardo Dominic PROPOSAL
Chavez S BowleyItalyIoni Bowcher PROPOSAL
Juan U IturbideUnited KingdomStephen Shaw PROPOSAL
Munro Y CaudyCanadaStephen Shaw PROPOSAL
Stacey X CampainUnited KingdomAsiya Javayant NEGOTIATION
Murillo S RulapaughFranceAsiya Javayant RENEWAL
Julie Z VocelkaJapanAsiya Javayant RENEWAL
David E BologniaFranceElwin Sharvill UNQUALIFIED
Jeanfrancois L ChuiUnited KingdomXuxue Feng NEGOTIATION
Kadeem G BriddickBrazilIvan Magalhaes PROPOSAL
Jefferson Z IturbideFranceIvan Magalhaes RENEWAL
Morrow Q SlusarskiCanadaAmy Elsner QUALIFIED
Francesco Z PerinCanadaOnyama Limba NEW
Morrow K SlusarskiRussiaElwin Sharvill UNQUALIFIED
Murillo I NickaFranceIoni Bowcher PROPOSAL
Misaki D GlickRussiaAnna Fali NEGOTIATION
Antonio P GlickBrazilAmy Elsner NEGOTIATION
Julie Q VenereRussiaStephen Shaw UNQUALIFIED
Nicolas I MorascaItalyXuxue Feng NEGOTIATION
Mujtaba J GauchoFranceIoni Bowcher UNQUALIFIED
Aruna J GlickGermanyBernardo Dominic NEW
Silvio P WhobreyCanadaAnna Fali RENEWAL
Silvio C CaudyIndiaIoni Bowcher UNQUALIFIED
Aika E BowleyUnited KingdomBernardo Dominic NEW
James O IturbideItalyAmy Elsner UNQUALIFIED
Aditya Q RutaGermanyOnyama Limba NEGOTIATION
Ivar J PaprockiArgentinaBernardo Dominic PROPOSAL
Frozen Columns
Name
Izzy Q Iturbide
Ashley Q Stockham
Greenwood S Caldarera
Jefferson D Nestle
Deepesh V Tollner
Mujtaba F Malet
Ricardo M Slusarski
Sinclair Q Dilliard
Emily M Campain
Aika E Wieser
Izzy S Malet
Murillo A Caldarera
Silvio N Malet
Isabel X Poquette
Murillo R Flosi
Johnson X Albares
Cody X Slusarski
Alejandro X Dilliard
Sinclair O Kusko
Juan F Caudy
Jefferson J Schemmer
Antonio T Wieser
Arvin G Schemmer
Tony E Briddick
Aditya Q Ostrosky
Ivar K Bowley
Murillo Y Caudy
Clifford L Malet
James H Gillian
Jeanfrancois V Kusko
Stacey G Ferencz
James M Poquette
Izzy A Oldroyd
Ivar S Wieser
Jones H Bolognia
Jeanfrancois H Briddick
Ivar K Ruta
Aruna W Paprocki
Alejandro F Sergi
Aruna F Iturbide
Smith X Darakjy
Munro R Malet
Johnson P Dilliard
Octavia S Stenseth
Rodrigues P Poquette
Emily M Stenseth
Silvio H Darakjy
Salvatore S Dilliard
Deepesh V Glick
Mujtaba N Venere
IdCountryDate
1000France2026-05-05
1001United Kingdom2026-04-18
1002Japan2026-05-01
1003India2026-05-01
1004Spain2026-04-25
1005United Kingdom2026-04-15
1006Australia2026-04-13
1007Spain2026-05-02
1008Germany2026-05-06
1009Canada2026-05-05
1010Italy2026-05-04
1011India2026-04-27
1012France2026-05-04
1013France2026-04-14
1014France2026-05-06
1015Italy2026-05-04
1016Italy2026-05-04
1017Spain2026-05-05
1018Russia2026-04-16
1019Japan2026-05-01
1020Spain2026-04-18
1021Italy2026-04-16
1022Germany2026-05-05
1023Russia2026-04-11
1024Germany2026-04-23
1025Canada2026-04-13
1026Spain2026-04-19
1027Italy2026-05-06
1028Japan2026-04-20
1029Italy2026-04-10
1030Canada2026-04-23
1031Australia2026-04-12
1032Argentina2026-04-24
1033Germany2026-04-15
1034United Kingdom2026-04-13
1035Brazil2026-04-12
1036India2026-05-07
1037United Kingdom2026-04-24
1038Italy2026-05-09
1039Italy2026-04-25
1040Italy2026-04-23
1041Russia2026-04-15
1042Argentina2026-04-11
1043Brazil2026-04-14
1044France2026-04-28
1045India2026-05-02
1046United Kingdom2026-05-04
1047France2026-04-17
1048France2026-04-10
1049Canada2026-04-16

On-Demand Data

NameIdCountryDate
Octavia I Paprocki1000Germany2026-04-23
Alejandro C Nicka1001Italy2026-04-28
Clifford C Nicka1002France2026-04-16
Juan W Garufi1003Italy2026-04-27
Ashley F Wieser1004Spain2026-04-21
Aika J Ruta1005Japan2026-05-02
Cody C Iturbide1006Spain2026-05-02
Maria E Garufi1007Argentina2026-05-07
Isabel X Ferencz1008Argentina2026-05-04
Misaki R Albares1009Italy2026-04-22
Wickens V Ostrosky1010United Kingdom2026-04-28
Francesco P Tollner1011Canada2026-04-20
Maria Q Slusarski1012Spain2026-04-17
Salvatore L Malet1013Spain2026-05-03
Jeanfrancois X Caudy1014Brazil2026-04-29
Francesco O Tollner1015India2026-04-29
Kadeem E Wieser1016Japan2026-04-26
Sinclair H Glick1017France2026-04-26
Jefferson U Morasca1018Brazil2026-05-03
Aruna S Flosi1019Australia2026-04-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya D DoeFranceIoni Bowcher NEGOTIATION
Wickens Z StensethItalyIoni Bowcher NEGOTIATION
Smith P BriddickGermanyBernardo Dominic PROPOSAL
Isabel X SchemmerCanadaOnyama Limba UNQUALIFIED
Leon L RoysterFranceIvan Magalhaes UNQUALIFIED
Ricardo M WaycottBrazilIvan Magalhaes QUALIFIED
Jefferson U NestleFranceAmy Elsner PROPOSAL
Jennifer E GauchoItalyAmy Elsner NEGOTIATION
Jefferson O OstroskyAustraliaAmy Elsner UNQUALIFIED
Ricardo W CampainJapanStephen Shaw UNQUALIFIED
Cody M CaudyArgentinaStephen Shaw PROPOSAL
Sinclair V DilliardIndiaBernardo Dominic UNQUALIFIED
Stacey Z InouyeRussiaAnna Fali NEW
Clifford G GillianItalyOnyama Limba NEW
Leja I MaletItalyElwin Sharvill UNQUALIFIED
Greenwood V StensethBrazilXuxue Feng NEGOTIATION
Maria M RulapaughGermanyOnyama Limba PROPOSAL
Rodrigues E PaprockiFranceOnyama Limba NEGOTIATION
Mayumi K SlusarskiRussiaBernardo Dominic QUALIFIED
Sinclair R BowleyRussiaStephen Shaw NEGOTIATION
Mayumi W MaletAustraliaElwin Sharvill PROPOSAL
Johnson S CaudyRussiaAsiya Javayant NEW
Aika B PaprockiFranceAnna Fali PROPOSAL
Ashley Z SchemmerAustraliaAnna Fali RENEWAL
Julie T AlbaresAustraliaElwin Sharvill NEGOTIATION
Arvin P RimBrazilOnyama Limba NEW
Stacey U DarakjySpainAnna Fali UNQUALIFIED
Clifford T AlbaresRussiaBernardo Dominic QUALIFIED
David C GauchoUnited KingdomXuxue Feng UNQUALIFIED
Munro S WaycottSpainAmy Elsner QUALIFIED
Ricardo V TollnerAustraliaIoni Bowcher RENEWAL
Faith V MaletJapanAnna Fali PROPOSAL
Jefferson Q VocelkaGermanyStephen Shaw NEW
Claire D PerinRussiaAsiya Javayant PROPOSAL
Jones T CampainFranceAsiya Javayant NEW
Sinclair X FigeroaSpainBernardo Dominic NEW
Mayumi P NickaFranceOnyama Limba QUALIFIED
Wickens L ButtJapanAmy Elsner PROPOSAL
Murillo S SergiAustraliaXuxue Feng QUALIFIED
Kaitlin P OstroskyIndiaIvan Magalhaes RENEWAL

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