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
Munro R StensethFranceXuxue Feng QUALIFIED
Octavia P FigeroaJapanBernardo Dominic UNQUALIFIED
Mujtaba A ButtItalyAmy Elsner UNQUALIFIED
Juan I ButtFranceBernardo Dominic RENEWAL
Rodrigues A MaletRussiaStephen Shaw NEGOTIATION
Misaki G PoquetteBrazilIvan Magalhaes NEGOTIATION
Claire P CampainUnited KingdomOnyama Limba NEW
Aruna G PaprockiGermanyAnna Fali NEGOTIATION
Emily W RutaIndiaAsiya Javayant UNQUALIFIED
Ashley Z VocelkaGermanyAsiya Javayant UNQUALIFIED
Johnson U NickaArgentinaStephen Shaw RENEWAL
Ashley L BriddickItalyIvan Magalhaes QUALIFIED
Sinclair D VocelkaUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois H ChuiBrazilAmy Elsner UNQUALIFIED
Darci H MaletFranceIoni Bowcher UNQUALIFIED
Izzy X RulapaughAustraliaIvan Magalhaes NEGOTIATION
Ashley N InouyeBrazilElwin Sharvill RENEWAL
Aditya J RulapaughGermanyAsiya Javayant NEGOTIATION
Faith L AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues N MaletRussiaOnyama Limba NEW
Murillo D GillianRussiaStephen Shaw UNQUALIFIED
Faith K DarakjyJapanElwin Sharvill UNQUALIFIED
Kaitlin B ChuiAustraliaIvan Magalhaes UNQUALIFIED
James W OldroydIndiaXuxue Feng NEW
Octavia D VocelkaCanadaElwin Sharvill NEGOTIATION
Deepesh M SergiArgentinaStephen Shaw NEGOTIATION
Isabel G InouyeGermanyAsiya Javayant RENEWAL
Alejandro M SergiAustraliaAsiya Javayant PROPOSAL
Ivar R MorascaUnited KingdomXuxue Feng RENEWAL
Johnson B AlbaresUnited KingdomXuxue Feng QUALIFIED
Rodrigues U IturbideRussiaIvan Magalhaes PROPOSAL
Leja F SaylorsJapanStephen Shaw NEW
Salvatore G StockhamBrazilAsiya Javayant RENEWAL
Octavia M WhobreyGermanyBernardo Dominic PROPOSAL
Kadeem Y AlbaresGermanyElwin Sharvill PROPOSAL
Johnson C GauchoBrazilOnyama Limba QUALIFIED
Jones K MorascaGermanyIoni Bowcher PROPOSAL
Francesco L MarrierUnited KingdomAsiya Javayant PROPOSAL
Nicolas A ShinkoSpainAmy Elsner UNQUALIFIED
Aika O PaprockiRussiaStephen Shaw NEGOTIATION
Jeanfrancois G StockhamSpainBernardo Dominic NEW
Morrow F FerenczIndiaAnna Fali PROPOSAL
Salvatore E MorascaAustraliaAmy Elsner NEGOTIATION
Leja U CaldareraJapanAmy Elsner UNQUALIFIED
Francesco I ShinkoIndiaOnyama Limba QUALIFIED
Cody F MorascaItalyAnna Fali PROPOSAL
Maisha E CaldareraUnited KingdomOnyama Limba NEW
Juan L DoeJapanAmy Elsner QUALIFIED
Jeanfrancois T RutaRussiaIvan Magalhaes PROPOSAL
Salvatore L VocelkaFranceStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily N NestleFranceAmy Elsner QUALIFIED
Smith E GarufiGermanyOnyama Limba PROPOSAL
Smith M TollnerAustraliaOnyama Limba RENEWAL
David F BologniaAustraliaBernardo Dominic NEW
Cody J MacleadFranceIvan Magalhaes QUALIFIED
Aditya B BologniaJapanAnna Fali UNQUALIFIED
Kadeem P SaylorsRussiaAnna Fali UNQUALIFIED
Izzy Q MarrierAustraliaStephen Shaw RENEWAL
Claire S RulapaughIndiaAmy Elsner PROPOSAL
Claire K CaldareraRussiaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson S WaycottUnited Kingdom2026-06-04Rousseaux, Michael Esq UNQUALIFIED18Amy Elsner
1001James Y GillianItaly2026-06-09Commercial Press PROPOSAL83Asiya Javayant
1002Faith G FlosiJapan2026-06-04Feiner Bros RENEWAL67Onyama Limba
1003David E PerinArgentina2026-06-03Feiner Bros PROPOSAL73Asiya Javayant
1004Aika T SlusarskiUnited Kingdom2026-06-05Feiner Bros RENEWAL26Amy Elsner
1005Costa L KolmetzIndia2026-06-10Chapman, Ross E Esq NEW70Ivan Magalhaes
1006Misaki I CampainUnited Kingdom2026-06-19Rangoni Of Florence NEW7Asiya Javayant
1007Izzy Y TollnerGermany2026-06-06King, Christopher A Esq NEGOTIATION32Ioni Bowcher
1008Stacey R VocelkaUnited Kingdom2026-06-29Truhlar And Truhlar Attys PROPOSAL54Bernardo Dominic
1009Maria P SaylorsFrance2026-06-18Feltz Printing Service NEGOTIATION51Onyama Limba
1010Nicolas R GarufiGermany2026-06-12Rangoni Of Florence NEGOTIATION55Ivan Magalhaes
1011Adams N CaldareraSpain2026-06-17Chemel, James L Cpa NEGOTIATION3Anna Fali
1012Tony N IturbideIndia2026-06-19King, Christopher A Esq QUALIFIED58Amy Elsner
1013Chavez R SaylorsCanada2026-06-09Chapman, Ross E Esq NEW45Amy Elsner
1014Greenwood S RoysterFrance2026-05-31Chanay, Jeffrey A Esq PROPOSAL88Anna Fali
1015Ashley H SergiFrance2026-06-18King, Christopher A Esq PROPOSAL18Stephen Shaw
1016Cody Y BriddickItaly2026-05-31Morlong Associates UNQUALIFIED78Elwin Sharvill
1017Jennifer G StockhamJapan2026-06-02Benton, John B Jr QUALIFIED38Amy Elsner
1018Emily F BowleyRussia2026-06-01Truhlar And Truhlar Attys RENEWAL8Elwin Sharvill
1019Murillo J KuskoCanada2026-06-14Chanay, Jeffrey A Esq UNQUALIFIED75Elwin Sharvill
1020Murillo L BriddickIndia2026-06-19Chapman, Ross E Esq PROPOSAL94Anna Fali
1021Wickens D KolmetzFrance2026-06-05Buckley Miller Wright QUALIFIED20Anna Fali
1022Munro J CaudyIndia2026-06-03Feiner Bros UNQUALIFIED40Bernardo Dominic
1023Jennifer O MacleadUnited Kingdom2026-06-28Truhlar And Truhlar Attys QUALIFIED89Stephen Shaw
1024Ashley W WaycottSpain2026-06-14Feltz Printing Service NEGOTIATION46Ioni Bowcher
1025Francesco I ButtJapan2026-06-11Chapman, Ross E Esq NEW18Bernardo Dominic
1026Ricardo G MaletIndia2026-06-24Chemel, James L Cpa RENEWAL57Asiya Javayant
1027Sinclair Q PoquetteBrazil2026-06-06Buckley Miller Wright NEGOTIATION98Onyama Limba
1028James J MarrierIndia2026-06-12Dorl, James J Esq QUALIFIED62Ioni Bowcher
1029Clifford N RutaArgentina2026-06-27Rousseaux, Michael Esq QUALIFIED49Amy Elsner
1030Francesco Z DarakjyRussia2026-06-24Chapman, Ross E Esq UNQUALIFIED64Anna Fali
1031Leon O PoquetteIndia2026-06-03Chemel, James L Cpa NEGOTIATION40Xuxue Feng
1032Ashley H MarrierArgentina2026-06-16Rousseaux, Michael Esq UNQUALIFIED30Elwin Sharvill
1033David R ChuiSpain2026-06-27Morlong Associates RENEWAL22Elwin Sharvill
1034Kadeem O ButtUnited Kingdom2026-06-01Dorl, James J Esq NEGOTIATION74Stephen Shaw
1035Silvio S RimSpain2026-06-09Rangoni Of Florence NEGOTIATION46Onyama Limba
1036Maisha K OstroskyRussia2026-06-01Chemel, James L Cpa NEGOTIATION51Ioni Bowcher
1037Emily X SlusarskiJapan2026-05-31Chemel, James L Cpa RENEWAL65Bernardo Dominic
1038Aruna R RimJapan2026-06-21Chapman, Ross E Esq RENEWAL47Bernardo Dominic
1039Ashley V ChuiFrance2026-06-07King, Christopher A Esq RENEWAL40Elwin Sharvill
1040Kadeem W IturbideUnited Kingdom2026-06-12Dorl, James J Esq QUALIFIED33Xuxue Feng
1041Sinclair H RutaCanada2026-06-14Chapman, Ross E Esq NEW92Asiya Javayant
1042Adams B BologniaAustralia2026-06-19Feltz Printing Service PROPOSAL71Onyama Limba
1043Adams B WieserJapan2026-06-01King, Christopher A Esq NEW87Amy Elsner
1044Costa Y CaldareraGermany2026-06-02Benton, John B Jr UNQUALIFIED14Asiya Javayant
1045Leja Q RimFrance2026-06-27Truhlar And Truhlar Attys RENEWAL43Asiya Javayant
1046Maisha S VenereItaly2026-06-29Dorl, James J Esq PROPOSAL72Ivan Magalhaes
1047Morrow A SlusarskiItaly2026-06-07Buckley Miller Wright RENEWAL62Amy Elsner
1048Sinclair K VocelkaUnited Kingdom2026-06-11Buckley Miller Wright NEW47Ivan Magalhaes
1049Smith I StensethAustralia2026-06-15Morlong Associates NEW2Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois W StockhamRussiaIvan Magalhaes NEW
Leon L TollnerGermanyAmy Elsner NEGOTIATION
Aruna I StockhamUnited KingdomStephen Shaw NEW
Claire B MarrierFranceStephen Shaw NEGOTIATION
Jeanfrancois O MorascaRussiaAnna Fali RENEWAL
Ivar M StensethCanadaIvan Magalhaes QUALIFIED
James C CaudyFranceIvan Magalhaes UNQUALIFIED
Chavez K KolmetzJapanXuxue Feng QUALIFIED
Faith Z SergiAustraliaAmy Elsner RENEWAL
Emily I WieserSpainAsiya Javayant NEW
Leon Y SaylorsBrazilAmy Elsner QUALIFIED
Sinclair C SergiIndiaOnyama Limba PROPOSAL
Jones K ChuiIndiaIvan Magalhaes QUALIFIED
Stacey P DarakjySpainOnyama Limba RENEWAL
Jones I ShinkoSpainAsiya Javayant QUALIFIED
Adams R WaycottJapanElwin Sharvill PROPOSAL
Ivar T AmigonIndiaIvan Magalhaes PROPOSAL
Rodrigues K CaldareraCanadaElwin Sharvill QUALIFIED
Adams C OldroydIndiaIvan Magalhaes RENEWAL
Misaki B GillianSpainAmy Elsner PROPOSAL
Mujtaba I DilliardAustraliaOnyama Limba RENEWAL
Arvin U ChuiAustraliaElwin Sharvill NEW
Ricardo S MarrierAustraliaIvan Magalhaes PROPOSAL
Ashley B ButtItalyXuxue Feng RENEWAL
Francesco R RoysterBrazilAmy Elsner NEW
Leon Z StensethFranceBernardo Dominic QUALIFIED
Salvatore E RimArgentinaOnyama Limba NEW
Antonio P DarakjyRussiaStephen Shaw NEW
Clifford G ChuiSpainIoni Bowcher UNQUALIFIED
Jeanfrancois A FerenczAustraliaOnyama Limba NEGOTIATION
Jeanfrancois R RimGermanyAmy Elsner QUALIFIED
Juan Y PoquetteBrazilAsiya Javayant NEW
Mujtaba I DilliardItalyBernardo Dominic RENEWAL
Emily J PaprockiAustraliaAnna Fali NEW
Smith L BologniaIndiaStephen Shaw NEGOTIATION
Izzy F GlickJapanXuxue Feng NEGOTIATION
Wickens Q IturbideFranceAnna Fali NEGOTIATION
Jefferson O KuskoAustraliaBernardo Dominic QUALIFIED
Ricardo O FerenczItalyOnyama Limba PROPOSAL
Izzy K ButtSpainIvan Magalhaes PROPOSAL
David B BowleyBrazilElwin Sharvill QUALIFIED
Mayumi S OstroskyJapanElwin Sharvill QUALIFIED
Ashley T PerinBrazilIvan Magalhaes PROPOSAL
Isabel N WieserBrazilStephen Shaw NEW
Emily P WhobreyRussiaAsiya Javayant UNQUALIFIED
Leon S ButtArgentinaElwin Sharvill RENEWAL
Cody U StockhamRussiaOnyama Limba UNQUALIFIED
Tony U ButtRussiaIvan Magalhaes RENEWAL
Sinclair O RoysterItalyIvan Magalhaes QUALIFIED
Munro M OstroskyFranceAmy Elsner PROPOSAL
Frozen Columns
Name
James O Slusarski
Munro X Schemmer
Arvin H Iturbide
Jefferson D Bowley
Octavia G Iturbide
Sinclair L Foller
Darci C Foller
Mayumi H Doe
Rodrigues D Briddick
Murillo D Butt
Greenwood L Dilliard
Munro P Stenseth
Tony G Poquette
Misaki K Ostrosky
Wickens E Sergi
Johnson H Whobrey
Sinclair Y Bowley
James Y Rulapaugh
Ivar O Ostrosky
Murillo I Bowley
Ashley M Briddick
Salvatore V Campain
Ricardo K Schemmer
Tony F Stockham
Aika K Gillian
Ivar E Ruta
Rodrigues D Venere
Clifford I Doe
Murillo W Maclead
Chavez G Waycott
Izzy Q Foller
Juan D Nestle
Costa R Doe
Julie M Whobrey
Salvatore C Schemmer
Silvio J Sergi
Jeanfrancois R Albares
Aditya L Nicka
Nicolas W Amigon
Claire B Inouye
Antonio T Doe
Jennifer P Gaucho
Leon M Amigon
Morrow C Tollner
Octavia L Bowley
Johnson U Morasca
Jefferson D Caldarera
Mujtaba M Sergi
Darci U Kolmetz
Leja U Iturbide
IdCountryDate
1000Italy2026-06-07
1001Australia2026-06-06
1002Italy2026-06-01
1003Russia2026-06-25
1004Italy2026-06-12
1005India2026-06-20
1006Canada2026-06-17
1007Australia2026-06-09
1008Germany2026-06-26
1009United Kingdom2026-06-05
1010Canada2026-06-02
1011Russia2026-06-20
1012Brazil2026-06-24
1013Spain2026-06-22
1014Australia2026-06-01
1015United Kingdom2026-06-16
1016Australia2026-06-04
1017Russia2026-06-15
1018Russia2026-06-21
1019France2026-06-23
1020Spain2026-06-08
1021Japan2026-06-10
1022Russia2026-06-08
1023Argentina2026-06-10
1024Spain2026-06-27
1025Russia2026-06-15
1026Canada2026-05-31
1027Canada2026-06-08
1028Spain2026-06-05
1029Japan2026-06-07
1030Australia2026-06-01
1031Argentina2026-06-15
1032India2026-06-28
1033Spain2026-06-02
1034Spain2026-06-13
1035United Kingdom2026-06-18
1036United Kingdom2026-06-03
1037India2026-06-23
1038Canada2026-06-26
1039France2026-06-19
1040France2026-06-23
1041Italy2026-06-09
1042Canada2026-06-27
1043Spain2026-06-01
1044Canada2026-06-06
1045Australia2026-06-27
1046Canada2026-06-19
1047United Kingdom2026-06-25
1048France2026-06-09
1049India2026-06-25

On-Demand Data

NameIdCountryDate
Misaki Q Kusko1000Argentina2026-06-26
Maisha W Rulapaugh1001Brazil2026-06-23
Tony K Kolmetz1002United Kingdom2026-06-22
Octavia Y Iturbide1003Argentina2026-06-11
Greenwood R Flosi1004Germany2026-06-06
Jefferson O Slusarski1005Italy2026-06-22
Maria B Whobrey1006Argentina2026-06-18
Francesco Z Slusarski1007Australia2026-06-29
Maria I Perin1008Argentina2026-06-04
Adams V Flosi1009Argentina2026-06-04
Wickens C Ostrosky1010Australia2026-06-29
Greenwood H Kolmetz1011Japan2026-06-22
Faith X Perin1012Argentina2026-06-26
Misaki G Flosi1013Italy2026-05-31
Julie Z Bowley1014Japan2026-06-15
Chavez X Inouye1015Argentina2026-06-04
Silvio D Dilliard1016Spain2026-06-01
Jones H Vocelka1017Australia2026-06-04
Aika E Darakjy1018France2026-06-19
Rodrigues D Albares1019Argentina2026-06-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna O CaldareraAustraliaIvan Magalhaes NEW
Alejandro A FlosiIndiaIoni Bowcher NEW
Silvio C GauchoFranceAmy Elsner NEW
Jones U DilliardJapanElwin Sharvill PROPOSAL
Kaitlin L StensethCanadaStephen Shaw RENEWAL
Juan K VocelkaJapanBernardo Dominic UNQUALIFIED
Mujtaba B MorascaItalyAmy Elsner PROPOSAL
Tony X AmigonUnited KingdomAnna Fali NEW
Claire D PoquetteSpainIoni Bowcher RENEWAL
Julie C ShinkoItalyIvan Magalhaes QUALIFIED
Leon N FollerAustraliaAnna Fali NEW
Mujtaba C MaletSpainOnyama Limba RENEWAL
Johnson J GarufiCanadaElwin Sharvill UNQUALIFIED
Deepesh K VenereArgentinaXuxue Feng NEGOTIATION
James J OstroskyGermanyElwin Sharvill NEW
Francesco L SlusarskiIndiaStephen Shaw NEGOTIATION
Jefferson O CaudyCanadaElwin Sharvill RENEWAL
Jeanfrancois P FlosiIndiaStephen Shaw QUALIFIED
Jones H WaycottSpainAmy Elsner NEW
Sinclair Y FerenczIndiaAnna Fali NEGOTIATION
Maria H StockhamUnited KingdomIoni Bowcher NEW
Stacey W RulapaughBrazilBernardo Dominic NEGOTIATION
Sinclair I ButtGermanyStephen Shaw RENEWAL
Aruna W AmigonBrazilAnna Fali QUALIFIED
Morrow K FigeroaBrazilBernardo Dominic PROPOSAL
Cody E RutaIndiaAnna Fali NEGOTIATION
David T PoquetteBrazilIoni Bowcher QUALIFIED
Izzy C GarufiAustraliaIvan Magalhaes UNQUALIFIED
Aruna P WaycottGermanyOnyama Limba RENEWAL
Stacey A StockhamFranceIvan Magalhaes NEGOTIATION
David M SergiGermanyAsiya Javayant PROPOSAL
Octavia O DarakjyArgentinaAsiya Javayant QUALIFIED
Smith W BriddickJapanBernardo Dominic QUALIFIED
Izzy Z NickaIndiaOnyama Limba UNQUALIFIED
Smith X VenereBrazilOnyama Limba PROPOSAL
Silvio Y MarrierCanadaIoni Bowcher QUALIFIED
Juan M SaylorsArgentinaBernardo Dominic NEW
Jeanfrancois T GauchoGermanyAmy Elsner PROPOSAL
Aruna K DilliardSpainIoni Bowcher RENEWAL
Silvio H BowleyFranceBernardo Dominic 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.