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 U StockhamBrazilOnyama Limba PROPOSAL
Stacey O DoeArgentinaIoni Bowcher UNQUALIFIED
Kaitlin Q ButtFranceBernardo Dominic NEW
Francesco K MorascaItalyAnna Fali PROPOSAL
Isabel H NestleGermanyAnna Fali NEGOTIATION
Ricardo K GlickCanadaIoni Bowcher NEGOTIATION
Sinclair J GarufiSpainElwin Sharvill PROPOSAL
Ricardo P ShinkoArgentinaIoni Bowcher RENEWAL
Jeanfrancois J NickaGermanyStephen Shaw UNQUALIFIED
David U NestleFranceAnna Fali RENEWAL
Maria L DoeItalyStephen Shaw UNQUALIFIED
Octavia S DoeSpainElwin Sharvill QUALIFIED
Murillo L SaylorsGermanyElwin Sharvill PROPOSAL
Kaitlin J VenereSpainXuxue Feng QUALIFIED
Izzy R SergiCanadaAnna Fali NEGOTIATION
Mujtaba I MarrierIndiaAmy Elsner UNQUALIFIED
Smith A AlbaresSpainBernardo Dominic RENEWAL
Wickens O ShinkoSpainAmy Elsner UNQUALIFIED
Murillo Y GarufiJapanStephen Shaw QUALIFIED
Deepesh Z PoquetteSpainOnyama Limba NEGOTIATION
Wickens D FigeroaItalyAmy Elsner PROPOSAL
Francesco H CaudyCanadaIvan Magalhaes NEGOTIATION
Octavia P RulapaughJapanIvan Magalhaes NEW
Emily U DilliardArgentinaBernardo Dominic PROPOSAL
Chavez P AmigonAustraliaIvan Magalhaes RENEWAL
Cody N MaletFranceIoni Bowcher RENEWAL
Tony L FerenczAustraliaIvan Magalhaes QUALIFIED
Misaki Z BowleyBrazilXuxue Feng NEW
Stacey D NickaAustraliaElwin Sharvill NEW
Aruna E PerinSpainBernardo Dominic NEW
Julie U FigeroaRussiaAsiya Javayant NEGOTIATION
Aruna E SaylorsBrazilXuxue Feng RENEWAL
Maisha T RimItalyBernardo Dominic UNQUALIFIED
Leon Y CaudyBrazilAnna Fali QUALIFIED
Johnson T TollnerAustraliaElwin Sharvill NEW
Morrow V SergiJapanElwin Sharvill RENEWAL
Wickens B VenereRussiaIvan Magalhaes UNQUALIFIED
Silvio Q GlickArgentinaOnyama Limba NEW
Kadeem F GauchoArgentinaOnyama Limba PROPOSAL
Murillo F OstroskyCanadaIoni Bowcher UNQUALIFIED
Costa E OstroskyAustraliaElwin Sharvill NEW
David O SergiAustraliaBernardo Dominic NEGOTIATION
Silvio E BowleyBrazilBernardo Dominic NEW
Clifford J RutaCanadaIvan Magalhaes NEW
Cody G InouyeItalyAmy Elsner NEW
Izzy U CampainBrazilBernardo Dominic NEGOTIATION
Kaitlin A RimUnited KingdomElwin Sharvill PROPOSAL
Jennifer H GlickGermanyAsiya Javayant QUALIFIED
Costa Q ButtIndiaIoni Bowcher PROPOSAL
Maisha W FigeroaGermanyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci B AlbaresIndiaIvan Magalhaes QUALIFIED
Darci H MacleadCanadaBernardo Dominic NEGOTIATION
James T GillianRussiaOnyama Limba RENEWAL
Faith M MacleadSpainAsiya Javayant QUALIFIED
Maisha F AmigonFranceXuxue Feng UNQUALIFIED
Maisha R SaylorsBrazilOnyama Limba PROPOSAL
Costa R GlickArgentinaAmy Elsner UNQUALIFIED
Maisha H ShinkoArgentinaBernardo Dominic RENEWAL
Salvatore K SaylorsRussiaBernardo Dominic UNQUALIFIED
Antonio P WieserSpainAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith G PaprockiUnited Kingdom2026-04-29Printing Dimensions RENEWAL15Elwin Sharvill
1001Julie L CaudyFrance2026-04-13Feltz Printing Service PROPOSAL53Onyama Limba
1002Ivar W FlosiItaly2026-05-03Chapman, Ross E Esq UNQUALIFIED94Xuxue Feng
1003Arvin X ChuiIndia2026-04-22Rangoni Of Florence NEW63Anna Fali
1004Jennifer P ShinkoJapan2026-04-06Feiner Bros UNQUALIFIED66Stephen Shaw
1005Darci G DilliardArgentina2026-04-12Morlong Associates PROPOSAL1Ivan Magalhaes
1006Silvio S IturbideCanada2026-04-11Printing Dimensions NEW11Ioni Bowcher
1007Tony H MacleadSpain2026-04-11Feltz Printing Service UNQUALIFIED37Xuxue Feng
1008Antonio D AlbaresGermany2026-04-28King, Christopher A Esq NEGOTIATION14Ioni Bowcher
1009Claire X RulapaughUnited Kingdom2026-04-22Benton, John B Jr UNQUALIFIED85Ivan Magalhaes
1010Silvio T DilliardSpain2026-04-27Benton, John B Jr UNQUALIFIED80Xuxue Feng
1011Jones U RimCanada2026-04-07Chemel, James L Cpa RENEWAL7Stephen Shaw
1012Mujtaba K AmigonIndia2026-04-17Feltz Printing Service UNQUALIFIED18Ioni Bowcher
1013Munro R OstroskyBrazil2026-04-25Dorl, James J Esq UNQUALIFIED82Onyama Limba
1014Nicolas X AmigonJapan2026-04-10Dorl, James J Esq UNQUALIFIED94Onyama Limba
1015Francesco F NickaAustralia2026-04-23Rangoni Of Florence NEGOTIATION52Ivan Magalhaes
1016Misaki U DarakjyRussia2026-04-14Buckley Miller Wright NEGOTIATION44Ioni Bowcher
1017Jones N BriddickAustralia2026-05-05Rangoni Of Florence PROPOSAL67Stephen Shaw
1018Jefferson Z KolmetzCanada2026-04-07Rangoni Of Florence QUALIFIED36Stephen Shaw
1019Alejandro L DoeArgentina2026-04-15Commercial Press PROPOSAL53Ivan Magalhaes
1020Morrow M StensethArgentina2026-04-10Feiner Bros UNQUALIFIED47Xuxue Feng
1021Leja I DilliardGermany2026-04-13Chapman, Ross E Esq RENEWAL17Anna Fali
1022Cody B CampainArgentina2026-04-29Rousseaux, Michael Esq UNQUALIFIED2Ivan Magalhaes
1023Emily V MorascaGermany2026-04-15Truhlar And Truhlar Attys PROPOSAL9Ivan Magalhaes
1024Arvin M WhobreyUnited Kingdom2026-04-21Rousseaux, Michael Esq NEGOTIATION97Bernardo Dominic
1025Sinclair E GlickJapan2026-04-13Truhlar And Truhlar Attys UNQUALIFIED87Xuxue Feng
1026Maria Q KolmetzArgentina2026-04-14Rousseaux, Michael Esq NEGOTIATION53Elwin Sharvill
1027Maria V SlusarskiItaly2026-04-19Chemel, James L Cpa PROPOSAL89Asiya Javayant
1028Greenwood G StensethUnited Kingdom2026-05-03Rangoni Of Florence UNQUALIFIED44Bernardo Dominic
1029Wickens D DoeAustralia2026-05-05Chemel, James L Cpa QUALIFIED0Onyama Limba
1030Deepesh W MacleadItaly2026-04-29Benton, John B Jr PROPOSAL12Stephen Shaw
1031Aditya P BologniaSpain2026-04-26Rousseaux, Michael Esq RENEWAL30Asiya Javayant
1032Cody E CampainSpain2026-04-17Chemel, James L Cpa NEGOTIATION28Elwin Sharvill
1033Smith G NestleCanada2026-05-02Feltz Printing Service QUALIFIED34Amy Elsner
1034Wickens W OstroskyItaly2026-04-15Benton, John B Jr UNQUALIFIED12Onyama Limba
1035Alejandro I WieserSpain2026-05-04King, Christopher A Esq NEW80Bernardo Dominic
1036Misaki C WhobreyFrance2026-04-25Chemel, James L Cpa QUALIFIED70Ivan Magalhaes
1037Jones Z AmigonCanada2026-04-28Benton, John B Jr NEGOTIATION16Asiya Javayant
1038Jones I PerinSpain2026-04-14Chanay, Jeffrey A Esq QUALIFIED16Ioni Bowcher
1039Darci J CaldareraRussia2026-04-28Chanay, Jeffrey A Esq RENEWAL60Bernardo Dominic
1040Aika D GlickFrance2026-04-11Buckley Miller Wright NEW97Onyama Limba
1041Francesco L RimJapan2026-04-11Printing Dimensions NEW77Anna Fali
1042Tony V CampainGermany2026-04-20Chapman, Ross E Esq RENEWAL22Onyama Limba
1043Jones W KuskoAustralia2026-04-10Dorl, James J Esq RENEWAL76Xuxue Feng
1044Sinclair O KolmetzItaly2026-04-30Printing Dimensions RENEWAL14Elwin Sharvill
1045Juan P WaycottSpain2026-04-14Chanay, Jeffrey A Esq QUALIFIED32Stephen Shaw
1046Adams K RulapaughFrance2026-04-21Rangoni Of Florence PROPOSAL61Xuxue Feng
1047Greenwood R VenereUnited Kingdom2026-04-16Dorl, James J Esq NEGOTIATION2Asiya Javayant
1048Chavez N MaletRussia2026-04-21Feltz Printing Service UNQUALIFIED0Anna Fali
1049Jones U WaycottCanada2026-04-18Feltz Printing Service NEGOTIATION20Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Morrow I InouyeFranceOnyama Limba UNQUALIFIED
Aruna P MaletJapanXuxue Feng QUALIFIED
Smith F TollnerIndiaAmy Elsner QUALIFIED
Ivar P SergiRussiaAmy Elsner NEGOTIATION
Maria R MorascaRussiaAmy Elsner NEGOTIATION
Rodrigues J MarrierGermanyBernardo Dominic NEGOTIATION
Silvio Y KolmetzBrazilIoni Bowcher PROPOSAL
Maisha G NestleJapanBernardo Dominic NEGOTIATION
Kaitlin E CaudyGermanyStephen Shaw PROPOSAL
Alejandro A CampainItalyAmy Elsner QUALIFIED
Ricardo Y BowleyJapanIvan Magalhaes NEGOTIATION
Ivar F SlusarskiGermanyAsiya Javayant RENEWAL
Jefferson P OstroskyRussiaBernardo Dominic NEW
Ivar K ShinkoCanadaAmy Elsner UNQUALIFIED
Deepesh A TollnerCanadaStephen Shaw NEW
Murillo T MarrierBrazilIvan Magalhaes QUALIFIED
Deepesh B GlickCanadaIvan Magalhaes QUALIFIED
Morrow V GarufiItalyIoni Bowcher NEW
Johnson T StockhamJapanStephen Shaw RENEWAL
Mayumi Y ButtGermanyAmy Elsner NEGOTIATION
Aika P GillianSpainBernardo Dominic RENEWAL
Francesco H VenereJapanAmy Elsner QUALIFIED
Tony H MarrierBrazilIoni Bowcher NEW
Ashley W ChuiIndiaXuxue Feng RENEWAL
Julie Y MorascaBrazilAnna Fali UNQUALIFIED
James H DilliardGermanyIvan Magalhaes NEW
Jefferson F FerenczSpainAmy Elsner NEGOTIATION
Maria S GauchoUnited KingdomXuxue Feng QUALIFIED
Jones J RoysterItalyBernardo Dominic PROPOSAL
Jones F MacleadGermanyBernardo Dominic UNQUALIFIED
Sinclair M MaletJapanAsiya Javayant NEW
Clifford W OstroskyJapanAmy Elsner UNQUALIFIED
Maria A KolmetzFranceAmy Elsner QUALIFIED
Faith M MacleadBrazilAmy Elsner NEW
Morrow L BowleyItalyIvan Magalhaes PROPOSAL
Juan B AmigonItalyStephen Shaw QUALIFIED
James V BriddickFranceXuxue Feng QUALIFIED
Izzy B PerinJapanStephen Shaw PROPOSAL
Chavez W GarufiAustraliaAmy Elsner PROPOSAL
Arvin Y KolmetzCanadaStephen Shaw UNQUALIFIED
Aditya F PaprockiRussiaAsiya Javayant NEGOTIATION
Johnson S MaletUnited KingdomOnyama Limba QUALIFIED
Chavez R ShinkoJapanAnna Fali UNQUALIFIED
Mujtaba O OstroskyAustraliaAnna Fali UNQUALIFIED
Greenwood Y SlusarskiUnited KingdomAnna Fali RENEWAL
Deepesh A WieserFranceAmy Elsner UNQUALIFIED
Jones B SergiIndiaIoni Bowcher RENEWAL
Leja P RoysterCanadaAsiya Javayant PROPOSAL
James T WieserRussiaAsiya Javayant PROPOSAL
Juan A MaletItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Juan A Figeroa
Maria J Paprocki
Aika J Nicka
Julie U Shinko
Greenwood P Caldarera
Aika D Inouye
Jeanfrancois G Morasca
Mayumi P Chui
Morrow A Garufi
Kadeem E Malet
Aika R Shinko
Ashley P Marrier
Tony B Dilliard
Aika P Doe
James C Maclead
Aruna P Caudy
Darci L Nestle
Jeanfrancois B Venere
Wickens F Saylors
Clifford X Paprocki
Jeanfrancois G Malet
Smith C Caldarera
Ivar V Schemmer
Izzy D Briddick
Cody O Shinko
Munro H Ostrosky
Faith Q Garufi
Mayumi X Flosi
Kadeem N Stockham
James Y Butt
James X Waycott
Darci L Doe
Mujtaba E Figeroa
Stacey A Albares
Sinclair P Poquette
Emily K Royster
Kaitlin Z Albares
Leon A Kusko
Wickens Y Royster
Isabel Y Sergi
Johnson Z Butt
Darci M Malet
Octavia F Slusarski
Jeanfrancois T Saylors
Leon K Stenseth
Francesco N Garufi
Kaitlin V Garufi
Chavez Y Bowley
Julie R Ferencz
Jones D Butt
IdCountryDate
1000Spain2026-04-29
1001Argentina2026-04-12
1002Spain2026-04-19
1003Australia2026-04-17
1004India2026-04-22
1005Spain2026-04-10
1006Brazil2026-04-22
1007Russia2026-04-23
1008Italy2026-04-29
1009Russia2026-04-18
1010United Kingdom2026-04-18
1011France2026-04-25
1012Russia2026-04-13
1013Italy2026-04-12
1014Australia2026-04-22
1015Australia2026-04-08
1016Spain2026-04-28
1017Spain2026-04-19
1018Spain2026-04-29
1019Russia2026-05-01
1020Russia2026-04-16
1021Spain2026-05-03
1022United Kingdom2026-04-25
1023Russia2026-04-12
1024Brazil2026-04-20
1025Brazil2026-04-25
1026Russia2026-04-21
1027Spain2026-04-30
1028Argentina2026-04-27
1029Canada2026-04-29
1030Australia2026-04-16
1031France2026-04-29
1032United Kingdom2026-05-01
1033Australia2026-04-20
1034Canada2026-05-01
1035Brazil2026-04-07
1036Australia2026-04-23
1037Germany2026-04-22
1038Canada2026-04-06
1039India2026-04-24
1040Spain2026-04-18
1041Japan2026-05-05
1042Argentina2026-04-29
1043Spain2026-04-19
1044Australia2026-04-27
1045India2026-04-08
1046Japan2026-04-15
1047France2026-04-15
1048Germany2026-04-12
1049Russia2026-04-21

On-Demand Data

NameIdCountryDate
Ricardo G Doe1000France2026-04-19
Rodrigues J Ostrosky1001Japan2026-04-08
Kaitlin M Inouye1002Russia2026-04-22
Munro F Iturbide1003Japan2026-04-07
Ashley D Vocelka1004Canada2026-04-12
Isabel Y Stockham1005Japan2026-05-02
Greenwood O Morasca1006Brazil2026-04-14
Kadeem Q Shinko1007Japan2026-04-13
Murillo Y Wieser1008Argentina2026-04-30
Johnson X Whobrey1009Russia2026-04-19
Emily R Glick1010Canada2026-04-14
Salvatore Z Iturbide1011Germany2026-04-09
Adams Z Nicka1012Australia2026-04-12
Antonio Z Foller1013Russia2026-04-27
Nicolas O Butt1014Canada2026-04-15
Aruna L Stenseth1015Germany2026-05-03
Adams B Poquette1016Japan2026-04-18
Wickens O Chui1017Brazil2026-04-28
Ashley H Nicka1018Brazil2026-05-04
Clifford L Whobrey1019Brazil2026-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem C ChuiBrazilAmy Elsner PROPOSAL
Adams I KolmetzBrazilOnyama Limba UNQUALIFIED
Aditya J GauchoArgentinaIoni Bowcher NEGOTIATION
Aruna N MacleadSpainBernardo Dominic NEW
Francesco O VenereGermanyAnna Fali PROPOSAL
Maisha M SchemmerArgentinaAsiya Javayant RENEWAL
James S DilliardGermanyElwin Sharvill PROPOSAL
Aditya R VenereIndiaAmy Elsner NEGOTIATION
Sinclair M CampainGermanyIoni Bowcher NEGOTIATION
Silvio W RimRussiaAmy Elsner NEW
Nicolas J PaprockiUnited KingdomAmy Elsner QUALIFIED
Isabel Z GlickFranceStephen Shaw NEW
James W DarakjyFranceAnna Fali NEW
Silvio F BowleyRussiaStephen Shaw RENEWAL
Maisha G IturbideRussiaStephen Shaw RENEWAL
Clifford M MarrierRussiaAnna Fali PROPOSAL
Ivar C RoysterJapanElwin Sharvill UNQUALIFIED
Darci L BologniaIndiaBernardo Dominic NEGOTIATION
Nicolas P KuskoSpainIvan Magalhaes NEW
Jennifer V SaylorsIndiaAsiya Javayant UNQUALIFIED
Cody Y NestleCanadaStephen Shaw UNQUALIFIED
Salvatore K MarrierIndiaXuxue Feng QUALIFIED
Misaki I WhobreyCanadaIvan Magalhaes PROPOSAL
Cody I RimArgentinaElwin Sharvill QUALIFIED
Sinclair I ButtArgentinaIvan Magalhaes UNQUALIFIED
Francesco L StockhamUnited KingdomStephen Shaw NEGOTIATION
Octavia V PoquetteItalyOnyama Limba QUALIFIED
Isabel O PaprockiSpainOnyama Limba UNQUALIFIED
Faith L DoeCanadaStephen Shaw NEW
Leja F GlickIndiaAsiya Javayant RENEWAL
David E KolmetzIndiaIoni Bowcher UNQUALIFIED
Maria D MaletJapanXuxue Feng QUALIFIED
Julie J FlosiIndiaIvan Magalhaes UNQUALIFIED
Octavia Y AmigonItalyIvan Magalhaes RENEWAL
Clifford D StockhamGermanyAnna Fali RENEWAL
Sinclair G WieserBrazilAmy Elsner QUALIFIED
Alejandro F RimBrazilElwin Sharvill NEGOTIATION
Claire G FigeroaIndiaXuxue Feng UNQUALIFIED
Deepesh I WieserUnited KingdomIvan Magalhaes NEGOTIATION
Isabel W VocelkaRussiaAsiya Javayant 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.