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
Jefferson K FerenczItalyElwin Sharvill QUALIFIED
Stacey R InouyeSpainXuxue Feng RENEWAL
Deepesh U IturbideSpainXuxue Feng NEW
Murillo P CaudyArgentinaElwin Sharvill PROPOSAL
Johnson J FlosiGermanyOnyama Limba UNQUALIFIED
Darci P RoysterBrazilStephen Shaw UNQUALIFIED
Sinclair J FigeroaArgentinaAsiya Javayant NEGOTIATION
Costa I CampainArgentinaIoni Bowcher PROPOSAL
Deepesh R NestleArgentinaAsiya Javayant NEW
Jeanfrancois Y FigeroaCanadaOnyama Limba NEGOTIATION
Mujtaba M MaletCanadaStephen Shaw RENEWAL
Aditya V WhobreyUnited KingdomElwin Sharvill PROPOSAL
Antonio Y CaldareraArgentinaIoni Bowcher NEW
Cody O MaletGermanyBernardo Dominic QUALIFIED
Sinclair Z PaprockiItalyIoni Bowcher QUALIFIED
Antonio I MacleadBrazilAsiya Javayant NEW
Ivar H MacleadCanadaBernardo Dominic RENEWAL
Wickens Y StockhamBrazilIvan Magalhaes NEGOTIATION
Clifford C MarrierFranceBernardo Dominic NEW
Murillo C CampainIndiaOnyama Limba NEW
Ricardo E StockhamBrazilBernardo Dominic RENEWAL
Arvin R AlbaresJapanOnyama Limba PROPOSAL
Julie B FigeroaSpainStephen Shaw RENEWAL
Murillo X BowleyFranceAsiya Javayant NEW
Isabel U DoeCanadaOnyama Limba QUALIFIED
Darci E ChuiIndiaIoni Bowcher QUALIFIED
Isabel B BowleyGermanyBernardo Dominic RENEWAL
Ricardo K RimIndiaElwin Sharvill QUALIFIED
Ivar W MorascaRussiaAmy Elsner UNQUALIFIED
Salvatore V PoquetteJapanBernardo Dominic NEGOTIATION
Aruna S DoeGermanyOnyama Limba UNQUALIFIED
Jeanfrancois A FigeroaUnited KingdomAmy Elsner QUALIFIED
Stacey Q SaylorsCanadaStephen Shaw NEW
Kadeem M SaylorsItalyXuxue Feng QUALIFIED
Munro G CaudyCanadaAsiya Javayant UNQUALIFIED
Jeanfrancois L IturbideCanadaOnyama Limba QUALIFIED
Darci A OldroydCanadaStephen Shaw UNQUALIFIED
Stacey R GlickIndiaOnyama Limba QUALIFIED
Claire W SaylorsItalyAnna Fali NEGOTIATION
Jennifer G DilliardBrazilIvan Magalhaes UNQUALIFIED
Sinclair L AmigonUnited KingdomAmy Elsner UNQUALIFIED
Jones H TollnerRussiaAnna Fali NEGOTIATION
Adams K WhobreyBrazilOnyama Limba RENEWAL
Jones P OldroydItalyOnyama Limba PROPOSAL
Kadeem F MarrierBrazilIoni Bowcher RENEWAL
Mujtaba C SchemmerRussiaXuxue Feng UNQUALIFIED
Stacey U WaycottAustraliaAmy Elsner PROPOSAL
Jennifer D SchemmerItalyIvan Magalhaes NEGOTIATION
Cody E RimGermanyAnna Fali NEGOTIATION
Murillo T FerenczRussiaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo F ButtFranceStephen Shaw PROPOSAL
Costa C OstroskyGermanyAsiya Javayant NEW
Wickens Q GauchoAustraliaAsiya Javayant NEW
Stacey L WaycottArgentinaBernardo Dominic NEGOTIATION
Arvin O SchemmerCanadaAmy Elsner UNQUALIFIED
Darci S ButtSpainBernardo Dominic NEGOTIATION
Costa N BologniaJapanIvan Magalhaes NEGOTIATION
Julie S AlbaresJapanAmy Elsner PROPOSAL
Mujtaba A NestleGermanyBernardo Dominic NEW
Francesco C CaldareraFranceAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony N OldroydCanada2026-02-22Truhlar And Truhlar Attys NEGOTIATION55Ioni Bowcher
1001Octavia G DilliardBrazil2026-02-27Chapman, Ross E Esq NEGOTIATION69Amy Elsner
1002Jefferson M FigeroaFrance2026-03-13Printing Dimensions RENEWAL49Elwin Sharvill
1003Darci L PaprockiIndia2026-03-15King, Christopher A Esq QUALIFIED54Bernardo Dominic
1004Stacey H VenereRussia2026-03-04Rangoni Of Florence QUALIFIED9Anna Fali
1005Wickens A MorascaRussia2026-03-10Benton, John B Jr PROPOSAL16Onyama Limba
1006Emily Q MorascaRussia2026-02-26King, Christopher A Esq UNQUALIFIED2Ioni Bowcher
1007Murillo S IturbideCanada2026-02-27Truhlar And Truhlar Attys QUALIFIED1Xuxue Feng
1008Deepesh C WieserFrance2026-02-28Chapman, Ross E Esq RENEWAL10Ivan Magalhaes
1009Octavia V PaprockiJapan2026-02-21Truhlar And Truhlar Attys NEW66Ivan Magalhaes
1010Antonio A CaldareraUnited Kingdom2026-02-22King, Christopher A Esq UNQUALIFIED46Amy Elsner
1011Sinclair T FollerRussia2026-03-02King, Christopher A Esq RENEWAL77Ioni Bowcher
1012Emily Q GauchoBrazil2026-03-12Buckley Miller Wright QUALIFIED27Ivan Magalhaes
1013Leja X IturbideIndia2026-02-23Dorl, James J Esq PROPOSAL32Xuxue Feng
1014Kadeem R WhobreyUnited Kingdom2026-02-19Feiner Bros QUALIFIED63Onyama Limba
1015Tony I BowleyFrance2026-02-20Buckley Miller Wright QUALIFIED60Anna Fali
1016Deepesh S MorascaAustralia2026-03-12Rangoni Of Florence NEW35Anna Fali
1017David Y DoeJapan2026-02-18Chanay, Jeffrey A Esq UNQUALIFIED22Anna Fali
1018Aditya S DoeItaly2026-02-21Printing Dimensions NEW97Amy Elsner
1019Jeanfrancois A GarufiIndia2026-02-14Chanay, Jeffrey A Esq RENEWAL3Stephen Shaw
1020Salvatore O ButtCanada2026-02-27Printing Dimensions NEW20Ivan Magalhaes
1021Maisha P RutaAustralia2026-03-10Feiner Bros PROPOSAL47Onyama Limba
1022Wickens C MaletBrazil2026-02-19Feltz Printing Service PROPOSAL97Ioni Bowcher
1023David W WhobreySpain2026-03-05Commercial Press NEGOTIATION37Stephen Shaw
1024Maisha A InouyeBrazil2026-02-19Printing Dimensions PROPOSAL93Anna Fali
1025David A PoquetteJapan2026-03-04Dorl, James J Esq NEW16Bernardo Dominic
1026Misaki S CaudyGermany2026-03-07Chemel, James L Cpa QUALIFIED44Anna Fali
1027Francesco F SaylorsSpain2026-03-06Rousseaux, Michael Esq QUALIFIED6Ioni Bowcher
1028Kaitlin H BologniaGermany2026-03-10Feiner Bros NEGOTIATION43Xuxue Feng
1029Ivar L ChuiSpain2026-03-07Benton, John B Jr NEW60Ioni Bowcher
1030Morrow A MarrierFrance2026-03-14Printing Dimensions UNQUALIFIED45Elwin Sharvill
1031Sinclair Y GarufiIndia2026-02-16Chemel, James L Cpa PROPOSAL60Ivan Magalhaes
1032Kadeem O KuskoIndia2026-03-10Rangoni Of Florence NEGOTIATION7Elwin Sharvill
1033Jones T InouyeBrazil2026-02-23Buckley Miller Wright NEW85Asiya Javayant
1034Aika C NestleBrazil2026-02-27Dorl, James J Esq PROPOSAL43Onyama Limba
1035Johnson P BriddickRussia2026-02-22Chemel, James L Cpa PROPOSAL59Asiya Javayant
1036Johnson V FlosiItaly2026-02-15Chapman, Ross E Esq UNQUALIFIED48Anna Fali
1037Ashley K MaletCanada2026-03-10Rousseaux, Michael Esq NEW59Ivan Magalhaes
1038Francesco I StockhamFrance2026-02-14Truhlar And Truhlar Attys NEW39Ivan Magalhaes
1039Ashley N SaylorsAustralia2026-03-04Printing Dimensions NEGOTIATION80Anna Fali
1040Ivar V SergiAustralia2026-03-14Printing Dimensions NEW16Amy Elsner
1041Leja U WhobreyRussia2026-02-19Feiner Bros QUALIFIED41Stephen Shaw
1042Francesco U RulapaughCanada2026-03-12Printing Dimensions PROPOSAL82Onyama Limba
1043Chavez I FerenczIndia2026-02-14Feltz Printing Service PROPOSAL60Stephen Shaw
1044Julie Z KuskoSpain2026-02-27Dorl, James J Esq NEGOTIATION44Bernardo Dominic
1045Jeanfrancois F RutaUnited Kingdom2026-02-16Morlong Associates NEGOTIATION71Asiya Javayant
1046Salvatore P MaletJapan2026-02-21King, Christopher A Esq PROPOSAL63Asiya Javayant
1047Maisha D MaletFrance2026-02-25Chapman, Ross E Esq UNQUALIFIED93Xuxue Feng
1048Emily Q CampainItaly2026-02-18Feiner Bros UNQUALIFIED4Ioni Bowcher
1049Rodrigues O CaudyUnited Kingdom2026-03-15Buckley Miller Wright RENEWAL33Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Alejandro B SaylorsBrazilStephen Shaw UNQUALIFIED
Arvin R PerinIndiaAnna Fali RENEWAL
Darci Y ShinkoUnited KingdomIoni Bowcher NEW
Clifford N GarufiFranceAsiya Javayant PROPOSAL
Ashley R FlosiUnited KingdomIvan Magalhaes RENEWAL
Jones B MaletItalyOnyama Limba NEGOTIATION
Faith Q InouyeUnited KingdomAnna Fali NEGOTIATION
Arvin G AmigonSpainElwin Sharvill QUALIFIED
Kaitlin H InouyeArgentinaElwin Sharvill QUALIFIED
Maisha E BowleyRussiaOnyama Limba RENEWAL
Wickens R MaletItalyAmy Elsner NEW
James H CaudyCanadaXuxue Feng PROPOSAL
Munro B GauchoGermanyAsiya Javayant NEGOTIATION
Aditya A MaletUnited KingdomAmy Elsner UNQUALIFIED
Sinclair V SlusarskiIndiaElwin Sharvill RENEWAL
Murillo X RutaSpainXuxue Feng RENEWAL
Murillo N MaletBrazilStephen Shaw QUALIFIED
Johnson K MaletUnited KingdomAmy Elsner QUALIFIED
Jones E OldroydItalyElwin Sharvill QUALIFIED
Chavez C BologniaBrazilAsiya Javayant NEGOTIATION
Munro N CaldareraArgentinaXuxue Feng RENEWAL
Claire G OldroydSpainIoni Bowcher UNQUALIFIED
Maisha X GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Tony F GillianRussiaStephen Shaw NEGOTIATION
Leja C MaletBrazilIoni Bowcher UNQUALIFIED
Mujtaba T DarakjyFranceIoni Bowcher UNQUALIFIED
Costa K OldroydBrazilAmy Elsner RENEWAL
Smith P PoquetteCanadaXuxue Feng QUALIFIED
Juan J AlbaresArgentinaAnna Fali QUALIFIED
Costa J FlosiSpainAnna Fali NEGOTIATION
Deepesh Q NickaCanadaStephen Shaw QUALIFIED
Aditya D FlosiAustraliaXuxue Feng RENEWAL
James F GillianIndiaBernardo Dominic QUALIFIED
Kadeem V ChuiArgentinaAsiya Javayant PROPOSAL
Jefferson S MaletUnited KingdomIoni Bowcher RENEWAL
Chavez U DoeArgentinaXuxue Feng PROPOSAL
Julie W TollnerArgentinaStephen Shaw RENEWAL
Faith M GauchoRussiaIvan Magalhaes PROPOSAL
Greenwood T CaldareraSpainAmy Elsner RENEWAL
Ivar J ButtFranceBernardo Dominic QUALIFIED
Johnson V MorascaFranceAmy Elsner QUALIFIED
Ricardo M SlusarskiItalyBernardo Dominic RENEWAL
Ivar D OstroskyItalyElwin Sharvill NEW
Rodrigues X RimCanadaOnyama Limba PROPOSAL
Cody Z AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin L IturbideUnited KingdomAmy Elsner NEW
Tony D ChuiJapanStephen Shaw RENEWAL
Nicolas X StensethSpainIoni Bowcher RENEWAL
Darci O TollnerBrazilAsiya Javayant QUALIFIED
Murillo A CaldareraGermanyAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Faith T Figeroa
Munro B Oldroyd
Ivar H Malet
Isabel T Perin
Ashley E Royster
Stacey K Ferencz
Costa W Inouye
Jones Z Caudy
Mujtaba V Chui
David N Royster
Cody R Flosi
Faith A Foller
James P Briddick
Leja P Wieser
Faith Z Stenseth
Antonio R Venere
Leon P Royster
Mayumi E Bowley
Chavez N Kolmetz
Aruna K Slusarski
Mujtaba N Slusarski
Antonio W Doe
Nicolas B Iturbide
Misaki R Amigon
Chavez G Sergi
Johnson G Ostrosky
Darci Z Darakjy
James U Glick
Silvio T Sergi
Smith Q Shinko
Johnson N Bowley
Leja K Kusko
Smith Q Campain
Smith P Darakjy
Aditya C Inouye
Sinclair B Maclead
Cody F Chui
Tony N Vocelka
Silvio Q Figeroa
James E Amigon
Kaitlin V Venere
Deepesh D Slusarski
Ivar Y Perin
Maisha M Maclead
Kadeem H Waycott
Rodrigues Q Foller
Johnson G Flosi
Salvatore Q Nicka
Faith I Foller
Leon Y Briddick
IdCountryDate
1000Australia2026-03-10
1001Australia2026-03-11
1002Brazil2026-03-10
1003Argentina2026-03-12
1004Argentina2026-03-12
1005Italy2026-02-14
1006Canada2026-02-28
1007France2026-02-20
1008Argentina2026-02-24
1009Argentina2026-03-07
1010France2026-03-10
1011Canada2026-02-26
1012Germany2026-03-03
1013India2026-02-28
1014Brazil2026-02-27
1015India2026-02-26
1016Australia2026-03-10
1017United Kingdom2026-03-05
1018Australia2026-03-15
1019India2026-02-28
1020Japan2026-03-15
1021United Kingdom2026-03-09
1022Germany2026-02-25
1023Canada2026-02-25
1024Russia2026-03-03
1025Canada2026-03-06
1026Brazil2026-03-02
1027United Kingdom2026-03-15
1028India2026-02-19
1029Argentina2026-03-08
1030Argentina2026-03-14
1031Russia2026-02-24
1032Canada2026-02-23
1033Japan2026-03-12
1034United Kingdom2026-03-08
1035Spain2026-03-12
1036India2026-03-07
1037France2026-02-28
1038Germany2026-03-11
1039Canada2026-02-24
1040Spain2026-03-09
1041Australia2026-02-27
1042Brazil2026-02-17
1043Japan2026-03-06
1044Italy2026-02-26
1045India2026-03-04
1046Russia2026-02-20
1047United Kingdom2026-03-08
1048Argentina2026-03-04
1049France2026-03-13

On-Demand Data

NameIdCountryDate
Morrow W Gaucho1000United Kingdom2026-02-23
James B Amigon1001Germany2026-02-27
Kadeem M Foller1002Japan2026-03-11
Silvio B Flosi1003Germany2026-03-14
Leon G Bowley1004Canada2026-03-05
Silvio J Nestle1005Russia2026-02-23
Juan G Kusko1006Brazil2026-02-18
Tony D Nicka1007Brazil2026-03-12
Darci H Ostrosky1008Italy2026-03-07
Tony X Caudy1009United Kingdom2026-02-25
Nicolas I Perin1010Japan2026-02-18
Greenwood A Flosi1011Brazil2026-02-14
Claire W Inouye1012Australia2026-03-15
Jefferson A Maclead1013United Kingdom2026-03-06
Rodrigues Y Waycott1014Brazil2026-03-06
Maisha I Bolognia1015Spain2026-02-14
Deepesh K Iturbide1016Australia2026-03-04
Johnson O Gillian1017Italy2026-03-11
Morrow A Flosi1018Germany2026-02-18
Faith W Schemmer1019United Kingdom2026-03-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez O StensethArgentinaAmy Elsner NEW
David U BologniaFranceBernardo Dominic PROPOSAL
David H AmigonArgentinaElwin Sharvill UNQUALIFIED
Wickens D SergiUnited KingdomAnna Fali NEGOTIATION
Arvin G MaletCanadaOnyama Limba UNQUALIFIED
Kaitlin D OldroydBrazilAnna Fali QUALIFIED
Maisha J ChuiSpainAmy Elsner QUALIFIED
Maisha W BologniaRussiaAsiya Javayant NEW
Maria X CaudyGermanyXuxue Feng NEW
Smith N CampainRussiaAmy Elsner QUALIFIED
Murillo B VenereJapanAmy Elsner QUALIFIED
Adams R FlosiFranceAnna Fali PROPOSAL
Maisha P PoquetteArgentinaIoni Bowcher NEGOTIATION
Morrow P PaprockiCanadaBernardo Dominic UNQUALIFIED
Sinclair G MarrierBrazilAnna Fali PROPOSAL
David L SaylorsJapanOnyama Limba QUALIFIED
Julie N StockhamSpainAnna Fali UNQUALIFIED
Ashley M WhobreyUnited KingdomStephen Shaw NEGOTIATION
Johnson C GauchoUnited KingdomStephen Shaw UNQUALIFIED
Ivar R SchemmerCanadaBernardo Dominic PROPOSAL
David J PoquetteRussiaIvan Magalhaes UNQUALIFIED
Kaitlin Y GauchoJapanBernardo Dominic UNQUALIFIED
Misaki L MaletBrazilIvan Magalhaes PROPOSAL
Aruna Y SergiGermanyXuxue Feng NEW
Kadeem A PaprockiBrazilIoni Bowcher UNQUALIFIED
Claire X ShinkoItalyXuxue Feng NEW
Ricardo P DilliardJapanOnyama Limba RENEWAL
Mayumi U MorascaIndiaAsiya Javayant PROPOSAL
Cody A KolmetzItalyAsiya Javayant NEW
Aika L MorascaJapanIvan Magalhaes UNQUALIFIED
Darci F GarufiSpainOnyama Limba UNQUALIFIED
Jennifer A FlosiUnited KingdomOnyama Limba QUALIFIED
Francesco R BologniaCanadaAsiya Javayant NEGOTIATION
Juan D RoysterUnited KingdomOnyama Limba UNQUALIFIED
Jennifer U AlbaresUnited KingdomStephen Shaw PROPOSAL
Cody C MacleadSpainIvan Magalhaes UNQUALIFIED
Jennifer R GillianRussiaIoni Bowcher QUALIFIED
Aika P ChuiRussiaStephen Shaw QUALIFIED
Kadeem B ButtRussiaAsiya Javayant PROPOSAL
Aditya Q CampainArgentinaAnna Fali 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.