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
Smith G WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Stacey P ChuiIndiaOnyama Limba UNQUALIFIED
Cody D VocelkaRussiaIvan Magalhaes NEGOTIATION
Leon A BriddickFranceAnna Fali PROPOSAL
Johnson D BowleyArgentinaIoni Bowcher NEW
Alejandro T FlosiArgentinaIvan Magalhaes QUALIFIED
Cody B VenereCanadaAmy Elsner NEW
Deepesh H MacleadBrazilAnna Fali NEGOTIATION
Darci J SergiJapanXuxue Feng RENEWAL
Chavez U VocelkaSpainIoni Bowcher QUALIFIED
David T OldroydJapanAnna Fali NEGOTIATION
Julie U SergiGermanyXuxue Feng RENEWAL
Rodrigues M FlosiJapanXuxue Feng RENEWAL
Ivar F SchemmerCanadaIoni Bowcher PROPOSAL
Cody X KolmetzAustraliaXuxue Feng NEGOTIATION
Silvio E CaldareraAustraliaOnyama Limba UNQUALIFIED
Isabel J MacleadArgentinaAnna Fali NEGOTIATION
Stacey D PaprockiGermanyIoni Bowcher NEW
Maisha H CaudyAustraliaOnyama Limba QUALIFIED
Julie N BriddickIndiaAsiya Javayant QUALIFIED
Nicolas B ShinkoUnited KingdomElwin Sharvill PROPOSAL
Cody K KuskoIndiaIvan Magalhaes RENEWAL
James G OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Aditya K CaldareraCanadaAnna Fali PROPOSAL
Jeanfrancois C WaycottGermanyXuxue Feng RENEWAL
Greenwood Q SergiSpainStephen Shaw UNQUALIFIED
Ricardo P CaldareraSpainXuxue Feng UNQUALIFIED
Ashley B CampainJapanIvan Magalhaes QUALIFIED
Silvio S TollnerRussiaAmy Elsner UNQUALIFIED
Munro T DilliardSpainAnna Fali PROPOSAL
Adams N TollnerAustraliaOnyama Limba RENEWAL
Ashley P PaprockiAustraliaXuxue Feng NEW
Maisha U VocelkaSpainIvan Magalhaes NEW
Johnson G SchemmerSpainBernardo Dominic NEW
Octavia G FigeroaRussiaIvan Magalhaes UNQUALIFIED
Silvio U DoeBrazilOnyama Limba PROPOSAL
Antonio D OstroskyBrazilAmy Elsner PROPOSAL
Emily F BowleyArgentinaAnna Fali RENEWAL
Aruna E ShinkoJapanBernardo Dominic PROPOSAL
Jefferson I OstroskyUnited KingdomStephen Shaw PROPOSAL
Mayumi G SlusarskiBrazilAnna Fali QUALIFIED
Jefferson Y IturbideFranceIvan Magalhaes QUALIFIED
Faith Y SergiUnited KingdomOnyama Limba UNQUALIFIED
Stacey T SlusarskiJapanXuxue Feng PROPOSAL
Julie K VenereAustraliaOnyama Limba QUALIFIED
Greenwood M GillianIndiaAsiya Javayant RENEWAL
Leja H IturbideUnited KingdomIoni Bowcher NEGOTIATION
Isabel P InouyeRussiaAsiya Javayant QUALIFIED
Leja R KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Costa Z ShinkoArgentinaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James T WieserArgentinaAmy Elsner NEGOTIATION
Arvin D MaletJapanStephen Shaw RENEWAL
Emily Z BriddickUnited KingdomIoni Bowcher RENEWAL
Ivar A GlickCanadaXuxue Feng NEW
Deepesh O FlosiBrazilBernardo Dominic PROPOSAL
Maisha B SaylorsIndiaAsiya Javayant UNQUALIFIED
Misaki O FigeroaJapanElwin Sharvill QUALIFIED
Arvin O DarakjyArgentinaXuxue Feng PROPOSAL
Wickens S WaycottBrazilIoni Bowcher RENEWAL
Kaitlin T InouyeBrazilStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh S MorascaUnited Kingdom2026-05-31Feltz Printing Service QUALIFIED78Stephen Shaw
1001Johnson Y GillianUnited Kingdom2026-06-10Rousseaux, Michael Esq QUALIFIED91Xuxue Feng
1002Jennifer X StockhamJapan2026-06-19Printing Dimensions QUALIFIED25Anna Fali
1003James Y InouyeUnited Kingdom2026-06-19Benton, John B Jr RENEWAL48Onyama Limba
1004Nicolas Z WhobreyUnited Kingdom2026-06-15Feiner Bros RENEWAL72Anna Fali
1005Smith Q DilliardCanada2026-06-22Commercial Press UNQUALIFIED49Xuxue Feng
1006Sinclair J TollnerRussia2026-06-02Chemel, James L Cpa UNQUALIFIED21Asiya Javayant
1007Wickens W MaletIndia2026-05-30Chapman, Ross E Esq PROPOSAL14Elwin Sharvill
1008Munro N CaldareraRussia2026-06-10Feiner Bros RENEWAL37Ivan Magalhaes
1009Octavia I AmigonIndia2026-06-19Rousseaux, Michael Esq QUALIFIED62Amy Elsner
1010David L FerenczAustralia2026-06-22King, Christopher A Esq PROPOSAL53Stephen Shaw
1011James F FerenczGermany2026-05-26Benton, John B Jr NEW2Asiya Javayant
1012Wickens F NestleGermany2026-06-18Rangoni Of Florence PROPOSAL0Xuxue Feng
1013Ashley K BologniaArgentina2026-06-15Benton, John B Jr PROPOSAL78Bernardo Dominic
1014Clifford J RoysterGermany2026-06-14Feltz Printing Service QUALIFIED55Xuxue Feng
1015Aditya G GarufiBrazil2026-06-18Benton, John B Jr NEGOTIATION23Anna Fali
1016Francesco C KuskoIndia2026-06-02Benton, John B Jr UNQUALIFIED61Ivan Magalhaes
1017Munro A MaletArgentina2026-06-15Printing Dimensions RENEWAL33Xuxue Feng
1018Morrow I DarakjyRussia2026-06-02Chanay, Jeffrey A Esq UNQUALIFIED53Asiya Javayant
1019Stacey T SlusarskiBrazil2026-06-12Feltz Printing Service RENEWAL27Stephen Shaw
1020Costa R KolmetzFrance2026-06-08Rangoni Of Florence NEGOTIATION58Asiya Javayant
1021Misaki B TollnerFrance2026-06-12Chanay, Jeffrey A Esq NEW19Ivan Magalhaes
1022Maisha A OstroskyItaly2026-06-21King, Christopher A Esq PROPOSAL27Amy Elsner
1023Maisha M WhobreySpain2026-05-30Printing Dimensions NEW22Ivan Magalhaes
1024Silvio Q PoquetteGermany2026-06-10Dorl, James J Esq RENEWAL31Bernardo Dominic
1025Isabel T SlusarskiIndia2026-06-07Printing Dimensions NEGOTIATION16Xuxue Feng
1026Cody U CaldareraArgentina2026-05-31Rousseaux, Michael Esq NEGOTIATION86Stephen Shaw
1027Leon H WieserRussia2026-06-12King, Christopher A Esq NEW29Bernardo Dominic
1028Nicolas J MaletGermany2026-06-11King, Christopher A Esq PROPOSAL17Stephen Shaw
1029Octavia C NestleJapan2026-06-18Buckley Miller Wright NEGOTIATION90Stephen Shaw
1030Silvio N MarrierRussia2026-05-27King, Christopher A Esq RENEWAL62Ioni Bowcher
1031Darci Z DilliardItaly2026-06-03Feiner Bros PROPOSAL98Stephen Shaw
1032Costa B FollerAustralia2026-06-05Rangoni Of Florence RENEWAL75Asiya Javayant
1033Rodrigues X SchemmerSpain2026-06-18Truhlar And Truhlar Attys QUALIFIED27Elwin Sharvill
1034Murillo A MorascaIndia2026-06-12Chemel, James L Cpa NEW27Ivan Magalhaes
1035Jefferson W CaldareraAustralia2026-06-19Chapman, Ross E Esq NEW18Elwin Sharvill
1036Aruna J PoquetteRussia2026-06-10Morlong Associates RENEWAL71Anna Fali
1037Johnson R GlickSpain2026-06-18Chapman, Ross E Esq UNQUALIFIED50Onyama Limba
1038Johnson F MarrierCanada2026-06-10Buckley Miller Wright QUALIFIED40Xuxue Feng
1039Ricardo I SergiJapan2026-06-21Feiner Bros PROPOSAL78Asiya Javayant
1040Tony D GarufiFrance2026-06-14Commercial Press PROPOSAL23Bernardo Dominic
1041Salvatore B FerenczFrance2026-06-20Rangoni Of Florence NEGOTIATION20Ioni Bowcher
1042Ricardo Y SergiSpain2026-06-14Feltz Printing Service UNQUALIFIED45Xuxue Feng
1043Munro J CaldareraCanada2026-06-21Rangoni Of Florence RENEWAL13Anna Fali
1044Maria M StockhamRussia2026-05-29Morlong Associates PROPOSAL99Onyama Limba
1045Darci Q WaycottArgentina2026-06-20Dorl, James J Esq PROPOSAL66Onyama Limba
1046Munro J AlbaresItaly2026-05-31Feiner Bros NEGOTIATION75Asiya Javayant
1047Johnson Q ChuiGermany2026-06-04Printing Dimensions QUALIFIED35Anna Fali
1048David J BowleySpain2026-06-23Printing Dimensions UNQUALIFIED18Stephen Shaw
1049Chavez Q RoysterRussia2026-06-21Rousseaux, Michael Esq RENEWAL64Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues E GlickIndiaStephen Shaw UNQUALIFIED
Julie M OstroskyCanadaBernardo Dominic UNQUALIFIED
Jeanfrancois W SlusarskiGermanyIvan Magalhaes NEGOTIATION
Jones G PerinItalyIvan Magalhaes UNQUALIFIED
Stacey H StockhamFranceStephen Shaw NEGOTIATION
Salvatore Q ChuiBrazilStephen Shaw UNQUALIFIED
David U KolmetzIndiaStephen Shaw UNQUALIFIED
Rodrigues S MaletAustraliaStephen Shaw RENEWAL
Aditya A GlickUnited KingdomAsiya Javayant QUALIFIED
Izzy U MaletGermanyOnyama Limba UNQUALIFIED
Johnson P NickaCanadaOnyama Limba NEGOTIATION
Emily L OldroydFranceAsiya Javayant QUALIFIED
Salvatore S InouyeGermanyAmy Elsner QUALIFIED
Chavez Q AmigonUnited KingdomStephen Shaw NEW
Jennifer A RimBrazilAsiya Javayant QUALIFIED
Adams F FollerRussiaOnyama Limba NEGOTIATION
Maria P StensethJapanOnyama Limba NEW
Juan H AmigonGermanyBernardo Dominic NEW
Isabel B InouyeFranceAsiya Javayant RENEWAL
Deepesh I GauchoCanadaAnna Fali NEW
Aruna Z SchemmerGermanyXuxue Feng NEW
Deepesh X BowleyRussiaAmy Elsner UNQUALIFIED
Adams E CaldareraIndiaIvan Magalhaes RENEWAL
Aika W KuskoAustraliaOnyama Limba NEGOTIATION
Stacey Q FollerRussiaAsiya Javayant RENEWAL
Misaki W KuskoAustraliaOnyama Limba RENEWAL
Kaitlin I PaprockiItalyIvan Magalhaes NEGOTIATION
Aditya U CaldareraJapanStephen Shaw PROPOSAL
Antonio Q MaletArgentinaAmy Elsner QUALIFIED
Salvatore K IturbideRussiaOnyama Limba PROPOSAL
Costa O SlusarskiItalyElwin Sharvill UNQUALIFIED
Adams S AmigonBrazilElwin Sharvill QUALIFIED
Morrow J IturbideUnited KingdomOnyama Limba NEW
Aika E StockhamArgentinaOnyama Limba QUALIFIED
Leja X MaletArgentinaAsiya Javayant RENEWAL
Aika G StockhamJapanXuxue Feng NEW
Julie O BriddickItalyIoni Bowcher QUALIFIED
Sinclair E StockhamIndiaAsiya Javayant UNQUALIFIED
Mayumi E GillianAustraliaIoni Bowcher QUALIFIED
Silvio W KolmetzFranceIvan Magalhaes NEGOTIATION
Julie Y StensethRussiaElwin Sharvill QUALIFIED
Johnson Q WaycottJapanBernardo Dominic RENEWAL
Ashley N CampainIndiaIoni Bowcher RENEWAL
Murillo Y GlickSpainAnna Fali PROPOSAL
Adams N VocelkaAustraliaAmy Elsner UNQUALIFIED
Ivar W FlosiAustraliaAsiya Javayant QUALIFIED
Cody Z PerinFranceXuxue Feng QUALIFIED
Cody Y CampainArgentinaAnna Fali QUALIFIED
Jefferson G GauchoFranceIvan Magalhaes NEW
Wickens W SchemmerBrazilAsiya Javayant QUALIFIED
Frozen Columns
Name
Stacey J Butt
Octavia G Slusarski
Maria J Paprocki
Munro P Briddick
Ricardo M Ferencz
Misaki U Figeroa
Jones T Bowley
Smith A Butt
Aika V Marrier
Rodrigues G Wieser
Johnson P Inouye
Munro F Waycott
Ricardo T Gillian
Greenwood H Iturbide
Sinclair L Inouye
Jennifer H Morasca
Stacey O Stenseth
Cody G Waycott
Johnson K Doe
James D Venere
Misaki I Glick
Chavez Q Iturbide
Morrow R Marrier
Greenwood N Flosi
Jennifer N Gaucho
Octavia G Campain
Emily T Maclead
Nicolas K Stenseth
Mujtaba Z Vocelka
Emily P Garufi
Ashley O Whobrey
Cody N Maclead
Sinclair H Amigon
Maria T Briddick
Deepesh O Ruta
Kadeem V Wieser
Misaki R Marrier
Clifford B Rim
Wickens K Kusko
Chavez I Bowley
Isabel F Sergi
Nicolas C Darakjy
Costa I Gaucho
Aditya Y Inouye
Claire F Darakjy
Maisha X Gillian
Mujtaba J Perin
Murillo D Inouye
Chavez K Poquette
Antonio I Tollner
IdCountryDate
1000Australia2026-06-01
1001Argentina2026-06-16
1002Spain2026-06-17
1003Russia2026-06-08
1004Germany2026-06-14
1005Germany2026-06-18
1006Japan2026-06-13
1007Spain2026-05-29
1008Brazil2026-06-09
1009Australia2026-06-13
1010Australia2026-06-09
1011Argentina2026-06-15
1012Argentina2026-06-06
1013Australia2026-06-07
1014France2026-06-23
1015United Kingdom2026-06-21
1016Spain2026-06-17
1017United Kingdom2026-06-14
1018Japan2026-06-02
1019Argentina2026-05-31
1020India2026-06-10
1021United Kingdom2026-06-09
1022Brazil2026-06-10
1023Australia2026-06-23
1024Brazil2026-06-15
1025Australia2026-06-20
1026Spain2026-06-16
1027France2026-06-07
1028Italy2026-06-15
1029Argentina2026-06-06
1030Russia2026-06-04
1031India2026-06-04
1032Argentina2026-06-01
1033Italy2026-06-01
1034Canada2026-05-30
1035Italy2026-06-13
1036Germany2026-05-28
1037France2026-06-17
1038India2026-06-18
1039Russia2026-06-07
1040Spain2026-05-29
1041France2026-06-05
1042Spain2026-06-18
1043Argentina2026-05-31
1044Japan2026-06-04
1045Italy2026-06-15
1046Brazil2026-06-08
1047Canada2026-06-08
1048Canada2026-05-29
1049Russia2026-05-29

On-Demand Data

NameIdCountryDate
Johnson G Vocelka1000Japan2026-06-24
Julie K Perin1001Italy2026-05-31
Murillo V Slusarski1002Germany2026-06-05
David G Inouye1003France2026-06-14
Leon D Doe1004Spain2026-05-26
Izzy R Garufi1005France2026-06-05
Mayumi K Nicka1006Australia2026-06-09
Jones P Wieser1007United Kingdom2026-06-17
Tony Q Gillian1008Japan2026-06-04
Jeanfrancois G Schemmer1009Canada2026-06-11
James Y Malet1010Australia2026-06-14
Isabel Q Malet1011France2026-05-26
Jefferson H Ruta1012Russia2026-06-24
Leon S Paprocki1013Russia2026-06-12
Morrow X Kusko1014Italy2026-06-10
Jones H Bowley1015Australia2026-06-13
Aruna L Darakjy1016Brazil2026-05-29
Jennifer T Poquette1017France2026-06-16
Wickens S Amigon1018Japan2026-06-16
Maria Q Dilliard1019Canada2026-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia I SergiArgentinaBernardo Dominic QUALIFIED
Johnson O GauchoSpainElwin Sharvill RENEWAL
Murillo W PoquetteArgentinaOnyama Limba NEW
Isabel H PaprockiBrazilAnna Fali NEGOTIATION
Ashley S PoquetteBrazilXuxue Feng QUALIFIED
Nicolas R AmigonAustraliaElwin Sharvill RENEWAL
Mayumi M OldroydAustraliaBernardo Dominic QUALIFIED
Darci P WhobreyFranceBernardo Dominic RENEWAL
David J WhobreyCanadaAnna Fali NEW
Johnson A ButtAustraliaStephen Shaw PROPOSAL
Ashley Z BowleyJapanAnna Fali QUALIFIED
Stacey E MacleadRussiaIoni Bowcher PROPOSAL
Darci J GlickSpainIoni Bowcher RENEWAL
Silvio S GarufiFranceIvan Magalhaes RENEWAL
Smith I SchemmerRussiaAsiya Javayant NEW
Ivar P AmigonJapanOnyama Limba PROPOSAL
Maria A FigeroaItalyIoni Bowcher NEGOTIATION
Sinclair X VenereUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin G BowleyAustraliaAsiya Javayant UNQUALIFIED
Faith H VenereUnited KingdomElwin Sharvill NEGOTIATION
Nicolas P GarufiFranceAsiya Javayant NEGOTIATION
Wickens M WhobreyJapanElwin Sharvill PROPOSAL
Alejandro J FerenczArgentinaAnna Fali PROPOSAL
Julie D RulapaughBrazilIoni Bowcher PROPOSAL
Costa I TollnerRussiaBernardo Dominic PROPOSAL
Morrow Z CampainUnited KingdomAnna Fali UNQUALIFIED
Jones C PaprockiCanadaStephen Shaw NEW
Izzy E NickaAustraliaAsiya Javayant NEW
Aika A RulapaughBrazilBernardo Dominic NEW
Ivar Q SergiAustraliaAmy Elsner NEGOTIATION
Ashley X BologniaBrazilStephen Shaw UNQUALIFIED
Cody D FollerCanadaOnyama Limba QUALIFIED
Deepesh X MarrierJapanAnna Fali NEW
Jefferson C VocelkaGermanyIvan Magalhaes UNQUALIFIED
Juan L BologniaSpainIvan Magalhaes PROPOSAL
Smith B OstroskyUnited KingdomAsiya Javayant PROPOSAL
Maisha Q StockhamAustraliaAsiya Javayant UNQUALIFIED
Emily D OldroydIndiaXuxue Feng QUALIFIED
Sinclair S FollerRussiaAnna Fali UNQUALIFIED
Claire O InouyeSpainElwin Sharvill 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.