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
Aruna A RoysterCanadaXuxue Feng NEGOTIATION
Darci J CaldareraJapanAmy Elsner RENEWAL
Salvatore Y TollnerFranceElwin Sharvill NEW
Alejandro I StensethBrazilAmy Elsner UNQUALIFIED
Arvin L MaletUnited KingdomAsiya Javayant RENEWAL
Mujtaba P CaudyUnited KingdomAnna Fali UNQUALIFIED
Clifford V ButtCanadaIoni Bowcher NEGOTIATION
Greenwood C RulapaughUnited KingdomStephen Shaw PROPOSAL
Octavia Q DilliardIndiaOnyama Limba NEW
Jeanfrancois S GarufiFranceBernardo Dominic UNQUALIFIED
Sinclair H RulapaughCanadaOnyama Limba QUALIFIED
Alejandro F KolmetzItalyBernardo Dominic UNQUALIFIED
Johnson D BowleyBrazilStephen Shaw UNQUALIFIED
Ivar A SergiIndiaIvan Magalhaes NEW
Munro E StensethItalyAsiya Javayant UNQUALIFIED
Jeanfrancois A RoysterAustraliaElwin Sharvill UNQUALIFIED
Chavez A SaylorsFranceIoni Bowcher QUALIFIED
Leja W CaudyItalyAnna Fali QUALIFIED
Mujtaba B OstroskyGermanyAmy Elsner QUALIFIED
Smith Y VocelkaIndiaBernardo Dominic NEW
Claire U MorascaFranceAsiya Javayant RENEWAL
Deepesh J SergiBrazilAmy Elsner UNQUALIFIED
Chavez N RoysterIndiaAmy Elsner NEW
Silvio M DilliardAustraliaIoni Bowcher RENEWAL
Octavia F PoquetteGermanyXuxue Feng PROPOSAL
Antonio X CaudyCanadaIoni Bowcher QUALIFIED
Deepesh E RimCanadaIoni Bowcher PROPOSAL
Maisha S ShinkoFranceOnyama Limba UNQUALIFIED
Misaki Y WaycottAustraliaIvan Magalhaes NEGOTIATION
Wickens Z SergiGermanyAnna Fali PROPOSAL
Francesco V GauchoCanadaAmy Elsner NEGOTIATION
Antonio H NestleItalyElwin Sharvill RENEWAL
Clifford I ShinkoFranceAmy Elsner RENEWAL
Izzy Q FlosiIndiaAsiya Javayant NEW
Johnson X GarufiFranceAnna Fali PROPOSAL
Ashley W SaylorsGermanyXuxue Feng NEW
Maisha F FlosiCanadaAsiya Javayant QUALIFIED
Kadeem J FigeroaArgentinaAmy Elsner QUALIFIED
Maisha W WhobreyGermanyIvan Magalhaes NEGOTIATION
Greenwood J IturbideArgentinaElwin Sharvill RENEWAL
Salvatore F KolmetzAustraliaAmy Elsner NEW
Julie U InouyeIndiaAmy Elsner UNQUALIFIED
Darci K RoysterSpainIoni Bowcher PROPOSAL
Octavia W StockhamUnited KingdomXuxue Feng PROPOSAL
Darci T DilliardBrazilIoni Bowcher RENEWAL
Jennifer L SergiRussiaXuxue Feng NEGOTIATION
Silvio F BriddickJapanStephen Shaw QUALIFIED
Octavia U WhobreyFranceIoni Bowcher UNQUALIFIED
James X InouyeIndiaIvan Magalhaes QUALIFIED
Adams S AmigonCanadaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
James S ChuiArgentinaIoni Bowcher NEGOTIATION
Ivar V IturbideGermanyIoni Bowcher QUALIFIED
Jeanfrancois W FigeroaAustraliaAnna Fali QUALIFIED
Isabel H ChuiCanadaBernardo Dominic NEGOTIATION
David B CaldareraSpainAsiya Javayant UNQUALIFIED
Arvin U KolmetzItalyIoni Bowcher RENEWAL
Isabel B IturbideCanadaXuxue Feng RENEWAL
James V SergiFranceXuxue Feng NEGOTIATION
Mayumi G WieserUnited KingdomIoni Bowcher RENEWAL
Leon W RulapaughJapanIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith M AlbaresAustralia2026-05-08Morlong Associates RENEWAL97Amy Elsner
1001Ashley M GarufiIndia2026-04-12Morlong Associates PROPOSAL53Anna Fali
1002Murillo Y VocelkaArgentina2026-05-05Commercial Press QUALIFIED46Onyama Limba
1003David O VenereJapan2026-05-02Chapman, Ross E Esq QUALIFIED90Anna Fali
1004Munro U OstroskyUnited Kingdom2026-04-25Chanay, Jeffrey A Esq NEW83Ivan Magalhaes
1005Jefferson X GillianIndia2026-04-16Dorl, James J Esq UNQUALIFIED44Anna Fali
1006Clifford T WieserIndia2026-04-24Chemel, James L Cpa NEW85Stephen Shaw
1007Arvin R ChuiBrazil2026-04-15Rousseaux, Michael Esq NEGOTIATION90Xuxue Feng
1008James B OstroskyJapan2026-04-27Feltz Printing Service UNQUALIFIED71Ioni Bowcher
1009Salvatore G MaletAustralia2026-05-04Rangoni Of Florence UNQUALIFIED83Amy Elsner
1010Alejandro S InouyeGermany2026-04-18Feiner Bros QUALIFIED54Bernardo Dominic
1011Maisha S SaylorsIndia2026-05-03Feltz Printing Service UNQUALIFIED67Xuxue Feng
1012Ashley L ChuiCanada2026-05-07King, Christopher A Esq UNQUALIFIED43Xuxue Feng
1013Sinclair V SchemmerBrazil2026-04-23Buckley Miller Wright UNQUALIFIED55Ioni Bowcher
1014Rodrigues F FlosiGermany2026-04-26Buckley Miller Wright NEW17Ioni Bowcher
1015Jeanfrancois D MorascaGermany2026-04-25Benton, John B Jr QUALIFIED60Anna Fali
1016David T FollerSpain2026-04-19Chemel, James L Cpa QUALIFIED53Ioni Bowcher
1017Munro P MaletBrazil2026-04-15Truhlar And Truhlar Attys QUALIFIED1Stephen Shaw
1018Adams W SchemmerGermany2026-05-02Feiner Bros NEGOTIATION97Onyama Limba
1019Kaitlin Y FerenczSpain2026-04-12Buckley Miller Wright UNQUALIFIED7Ioni Bowcher
1020Arvin Z SaylorsBrazil2026-05-09Chanay, Jeffrey A Esq PROPOSAL44Stephen Shaw
1021Salvatore I OstroskyArgentina2026-05-09Commercial Press QUALIFIED51Stephen Shaw
1022David J ChuiJapan2026-04-24Chemel, James L Cpa PROPOSAL22Asiya Javayant
1023Maria E BologniaJapan2026-04-23Commercial Press NEGOTIATION15Bernardo Dominic
1024Clifford L SlusarskiFrance2026-05-01Dorl, James J Esq QUALIFIED83Asiya Javayant
1025Alejandro X ButtIndia2026-04-13Rangoni Of Florence NEW16Bernardo Dominic
1026Rodrigues S FigeroaArgentina2026-04-15Chemel, James L Cpa UNQUALIFIED3Asiya Javayant
1027Stacey M SlusarskiGermany2026-04-14Rangoni Of Florence QUALIFIED77Elwin Sharvill
1028Ivar B SlusarskiFrance2026-05-04King, Christopher A Esq NEW58Asiya Javayant
1029Izzy L SchemmerSpain2026-05-01Rangoni Of Florence UNQUALIFIED39Amy Elsner
1030Misaki H GarufiArgentina2026-04-14King, Christopher A Esq UNQUALIFIED36Bernardo Dominic
1031Greenwood T BowleyRussia2026-04-20Dorl, James J Esq PROPOSAL39Ivan Magalhaes
1032Ivar R AmigonCanada2026-05-08Rangoni Of Florence UNQUALIFIED41Elwin Sharvill
1033Adams T WaycottGermany2026-04-12Rangoni Of Florence NEGOTIATION56Xuxue Feng
1034Chavez W PoquetteGermany2026-04-12King, Christopher A Esq QUALIFIED59Onyama Limba
1035Cody Q SlusarskiIndia2026-04-17King, Christopher A Esq NEW72Ivan Magalhaes
1036James M GillianRussia2026-04-16Rangoni Of Florence PROPOSAL58Onyama Limba
1037Murillo P TollnerSpain2026-04-12Truhlar And Truhlar Attys PROPOSAL0Ivan Magalhaes
1038Tony L SergiFrance2026-04-15Truhlar And Truhlar Attys RENEWAL92Bernardo Dominic
1039Adams H GarufiJapan2026-04-13King, Christopher A Esq NEW70Ioni Bowcher
1040Johnson V CaldareraJapan2026-04-26Printing Dimensions QUALIFIED58Onyama Limba
1041Jones R WhobreyArgentina2026-05-08Printing Dimensions NEGOTIATION50Asiya Javayant
1042Faith M BologniaCanada2026-05-01Benton, John B Jr QUALIFIED29Ioni Bowcher
1043Mujtaba P SergiUnited Kingdom2026-05-02Buckley Miller Wright UNQUALIFIED4Ioni Bowcher
1044Johnson P NestleArgentina2026-05-09Feiner Bros PROPOSAL45Xuxue Feng
1045Stacey A KolmetzAustralia2026-04-29Chapman, Ross E Esq NEW16Stephen Shaw
1046Nicolas B GauchoGermany2026-04-29Commercial Press QUALIFIED0Xuxue Feng
1047Antonio M RulapaughUnited Kingdom2026-05-05Rousseaux, Michael Esq NEW97Onyama Limba
1048Smith Y DilliardJapan2026-04-17Benton, John B Jr PROPOSAL29Onyama Limba
1049Mujtaba J WhobreySpain2026-05-05Morlong Associates QUALIFIED26Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aruna Q ButtGermanyBernardo Dominic QUALIFIED
Julie E SergiIndiaAmy Elsner QUALIFIED
Jennifer D PerinFranceOnyama Limba PROPOSAL
Julie F CaudyAustraliaElwin Sharvill RENEWAL
Isabel T SergiGermanyElwin Sharvill UNQUALIFIED
Maria U VenereGermanyIvan Magalhaes QUALIFIED
Tony G CaudyRussiaAmy Elsner RENEWAL
Leja P DoeItalyAmy Elsner NEGOTIATION
Kadeem O ShinkoRussiaAsiya Javayant PROPOSAL
Aruna G MarrierArgentinaAmy Elsner RENEWAL
Nicolas J KolmetzItalyXuxue Feng RENEWAL
Jefferson Y KolmetzGermanyIvan Magalhaes NEW
Leja Z DarakjyBrazilOnyama Limba PROPOSAL
Faith D ChuiUnited KingdomIoni Bowcher RENEWAL
Johnson K MarrierUnited KingdomXuxue Feng NEW
Aditya T AlbaresRussiaStephen Shaw PROPOSAL
Misaki K RimItalyAsiya Javayant PROPOSAL
Tony T SaylorsGermanyAnna Fali NEGOTIATION
Claire D GarufiIndiaXuxue Feng NEW
Kaitlin R KolmetzCanadaBernardo Dominic RENEWAL
Kadeem H RutaItalyAnna Fali PROPOSAL
Claire S KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Francesco Z RulapaughSpainBernardo Dominic QUALIFIED
Jones I FollerRussiaIoni Bowcher NEGOTIATION
Salvatore N OldroydIndiaBernardo Dominic QUALIFIED
Sinclair Z NickaFranceIoni Bowcher NEW
Claire D RutaCanadaIvan Magalhaes PROPOSAL
Leon X RulapaughBrazilIvan Magalhaes QUALIFIED
Aruna H SaylorsCanadaStephen Shaw NEW
Cody G IturbideRussiaAmy Elsner UNQUALIFIED
Greenwood H DoeArgentinaAsiya Javayant PROPOSAL
Arvin U GillianBrazilIoni Bowcher PROPOSAL
Johnson A FerenczSpainAmy Elsner PROPOSAL
Sinclair A FlosiBrazilStephen Shaw QUALIFIED
Adams B MarrierFranceIvan Magalhaes NEGOTIATION
Antonio B InouyeRussiaOnyama Limba PROPOSAL
Ashley Z SchemmerUnited KingdomXuxue Feng PROPOSAL
Misaki T PerinSpainAsiya Javayant RENEWAL
Claire N MorascaAustraliaIvan Magalhaes NEW
Costa X GauchoAustraliaIoni Bowcher NEGOTIATION
Smith Z FlosiFranceAnna Fali RENEWAL
Cody J FigeroaRussiaIoni Bowcher NEGOTIATION
David E GarufiArgentinaAsiya Javayant UNQUALIFIED
Mujtaba W PaprockiArgentinaAsiya Javayant NEGOTIATION
Aika Z DarakjyBrazilAsiya Javayant RENEWAL
Maria I DarakjyFranceAsiya Javayant QUALIFIED
Ashley C PoquetteSpainXuxue Feng PROPOSAL
Johnson C OldroydItalyOnyama Limba NEGOTIATION
Sinclair B DilliardSpainElwin Sharvill NEGOTIATION
Izzy W MaletGermanyIoni Bowcher PROPOSAL
Frozen Columns
Name
Smith R Whobrey
Smith R Whobrey
Arvin J Saylors
Arvin I Rulapaugh
Leon V Glick
Sinclair E Ruta
Kadeem Y Darakjy
Stacey P Nicka
Cody J Foller
Morrow T Caudy
Johnson X Maclead
Jeanfrancois Q Perin
Octavia M Flosi
Nicolas B Waycott
Ricardo X Kusko
Aruna M Albares
Maisha E Inouye
David E Oldroyd
Izzy C Dilliard
Arvin D Butt
Aruna U Sergi
Aika W Butt
Maisha Q Stenseth
Wickens M Venere
Adams W Chui
David I Shinko
Jeanfrancois C Campain
Costa J Maclead
Rodrigues M Rulapaugh
Mayumi C Rulapaugh
Leja G Ostrosky
Isabel O Malet
Rodrigues D Chui
Adams D Oldroyd
Rodrigues M Saylors
Jennifer V Chui
Aditya P Royster
Jefferson X Whobrey
Aditya N Wieser
Murillo M Ostrosky
Smith C Ferencz
Darci P Whobrey
Jones U Ostrosky
Ashley T Sergi
Johnson T Ferencz
Deepesh D Wieser
James X Caldarera
Leon B Campain
Jefferson E Campain
Murillo R Tollner
IdCountryDate
1000Spain2026-05-08
1001Spain2026-05-10
1002Spain2026-05-01
1003United Kingdom2026-04-13
1004Italy2026-05-01
1005Brazil2026-04-17
1006Japan2026-05-07
1007Japan2026-05-03
1008Canada2026-04-17
1009India2026-04-26
1010Australia2026-05-01
1011Canada2026-05-07
1012Argentina2026-04-29
1013India2026-04-13
1014Russia2026-05-11
1015Germany2026-04-22
1016Australia2026-05-01
1017Australia2026-05-03
1018Italy2026-05-09
1019Russia2026-04-15
1020Brazil2026-04-25
1021Germany2026-04-22
1022Brazil2026-04-12
1023France2026-04-23
1024Germany2026-05-11
1025Russia2026-04-16
1026Russia2026-04-22
1027India2026-04-18
1028Germany2026-05-11
1029Japan2026-04-29
1030India2026-04-18
1031Australia2026-04-25
1032Argentina2026-04-25
1033Japan2026-05-09
1034Germany2026-04-18
1035Argentina2026-04-28
1036United Kingdom2026-05-05
1037Argentina2026-04-19
1038Argentina2026-04-18
1039Italy2026-04-14
1040United Kingdom2026-05-01
1041Russia2026-04-24
1042India2026-04-23
1043Japan2026-05-07
1044Japan2026-05-08
1045Canada2026-04-18
1046United Kingdom2026-05-09
1047Canada2026-04-12
1048Brazil2026-04-16
1049Brazil2026-04-24

On-Demand Data

NameIdCountryDate
Misaki O Caudy1000Argentina2026-05-06
Mujtaba S Briddick1001United Kingdom2026-04-26
Octavia I Royster1002Argentina2026-04-21
Nicolas D Flosi1003Canada2026-04-26
Julie U Stenseth1004United Kingdom2026-05-11
Costa J Bolognia1005India2026-05-02
Antonio U Venere1006Canada2026-05-09
Murillo N Kolmetz1007Germany2026-05-01
Ashley B Inouye1008Argentina2026-05-05
Emily B Kolmetz1009India2026-04-15
Jennifer F Figeroa1010Japan2026-05-01
Darci X Malet1011Russia2026-04-18
Octavia D Gaucho1012Brazil2026-05-04
Aruna E Iturbide1013Canada2026-04-14
Silvio O Rim1014Italy2026-04-15
Aruna F Gaucho1015Japan2026-04-27
Francesco G Slusarski1016Japan2026-04-14
Jefferson I Malet1017France2026-04-28
Greenwood R Campain1018Japan2026-04-12
Clifford Z Figeroa1019India2026-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem X GarufiJapanBernardo Dominic NEGOTIATION
Sinclair Z WieserUnited KingdomAmy Elsner NEGOTIATION
Juan G MorascaBrazilXuxue Feng NEGOTIATION
Rodrigues M KolmetzRussiaAmy Elsner NEW
Aruna U BologniaItalyIoni Bowcher UNQUALIFIED
Maisha T RulapaughBrazilAsiya Javayant QUALIFIED
Misaki M SergiBrazilAnna Fali QUALIFIED
Aditya A FerenczRussiaIoni Bowcher PROPOSAL
Rodrigues R MacleadUnited KingdomAnna Fali UNQUALIFIED
Aditya G IturbideIndiaBernardo Dominic UNQUALIFIED
Juan E WaycottBrazilIvan Magalhaes RENEWAL
Ashley Y SchemmerCanadaIvan Magalhaes PROPOSAL
Octavia P BowleyBrazilIoni Bowcher RENEWAL
Munro A SaylorsIndiaIvan Magalhaes RENEWAL
Stacey E MorascaSpainStephen Shaw QUALIFIED
Greenwood U GauchoArgentinaStephen Shaw NEW
Munro T IturbideItalyAsiya Javayant QUALIFIED
Kadeem J VenereSpainElwin Sharvill NEGOTIATION
Mayumi J MarrierFranceIoni Bowcher QUALIFIED
Sinclair C RoysterGermanyElwin Sharvill NEW
Aditya S WaycottIndiaIvan Magalhaes PROPOSAL
Jones I KolmetzBrazilIvan Magalhaes UNQUALIFIED
Ricardo I SlusarskiBrazilOnyama Limba NEW
Deepesh N OldroydArgentinaAsiya Javayant QUALIFIED
Silvio X GillianJapanBernardo Dominic NEW
Misaki K FollerAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin F BriddickArgentinaOnyama Limba NEGOTIATION
Smith F AmigonJapanIoni Bowcher NEGOTIATION
Morrow I NickaArgentinaAsiya Javayant NEGOTIATION
Munro I PerinArgentinaOnyama Limba NEW
Cody S RoysterUnited KingdomOnyama Limba UNQUALIFIED
Tony A KuskoFranceXuxue Feng PROPOSAL
Ricardo X VenereUnited KingdomIvan Magalhaes PROPOSAL
Clifford L WaycottJapanIoni Bowcher NEGOTIATION
Leja R BowleyJapanXuxue Feng UNQUALIFIED
Ashley R FollerBrazilAnna Fali NEGOTIATION
Silvio J OstroskyJapanElwin Sharvill PROPOSAL
Costa A RulapaughAustraliaStephen Shaw UNQUALIFIED
Isabel C CampainJapanAsiya Javayant QUALIFIED
Juan M FigeroaArgentinaIvan Magalhaes 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.