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
Izzy S CampainAustraliaBernardo Dominic NEGOTIATION
Aditya U VenereBrazilElwin Sharvill NEGOTIATION
Jefferson W SergiJapanAmy Elsner RENEWAL
Silvio K WieserItalyAmy Elsner UNQUALIFIED
James A DoeJapanBernardo Dominic UNQUALIFIED
Johnson S FlosiFranceElwin Sharvill RENEWAL
Murillo N SlusarskiCanadaAmy Elsner UNQUALIFIED
Octavia D RutaCanadaBernardo Dominic QUALIFIED
Jefferson W RimAustraliaElwin Sharvill QUALIFIED
Rodrigues G InouyeItalyElwin Sharvill UNQUALIFIED
Antonio W PerinSpainOnyama Limba NEGOTIATION
Antonio N CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Aditya O VocelkaCanadaAsiya Javayant QUALIFIED
Alejandro R BriddickBrazilAsiya Javayant NEW
Leja F RoysterIndiaAnna Fali NEGOTIATION
Leon G ChuiArgentinaIvan Magalhaes UNQUALIFIED
Aditya B AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Mujtaba F CaudyItalyXuxue Feng QUALIFIED
Johnson W RoysterItalyBernardo Dominic RENEWAL
Chavez X CaudyArgentinaAsiya Javayant NEW
Aruna X SchemmerItalyIoni Bowcher UNQUALIFIED
Maisha O NestleFranceIoni Bowcher RENEWAL
Murillo G StockhamBrazilXuxue Feng NEGOTIATION
Adams O VenereSpainIoni Bowcher QUALIFIED
Mujtaba V KuskoAustraliaIvan Magalhaes RENEWAL
Rodrigues R WhobreyFranceXuxue Feng RENEWAL
Cody X OldroydRussiaAsiya Javayant PROPOSAL
Nicolas L SergiAustraliaIoni Bowcher NEW
Jefferson Z OldroydRussiaOnyama Limba QUALIFIED
Jefferson K FollerGermanyIvan Magalhaes RENEWAL
Nicolas C KolmetzUnited KingdomIvan Magalhaes NEW
Antonio C AlbaresBrazilXuxue Feng UNQUALIFIED
Aruna K InouyeJapanXuxue Feng RENEWAL
Mujtaba S SchemmerAustraliaXuxue Feng NEGOTIATION
Darci X RimAustraliaIvan Magalhaes RENEWAL
Faith R IturbideCanadaIoni Bowcher QUALIFIED
Arvin Z SaylorsItalyAnna Fali UNQUALIFIED
Arvin H WhobreyUnited KingdomIvan Magalhaes NEW
Maria O PoquetteIndiaAmy Elsner QUALIFIED
Nicolas A KuskoCanadaStephen Shaw UNQUALIFIED
Antonio X CampainItalyXuxue Feng RENEWAL
Ricardo E BriddickBrazilXuxue Feng RENEWAL
Izzy C SaylorsArgentinaXuxue Feng NEGOTIATION
Maria M KuskoFranceBernardo Dominic UNQUALIFIED
Greenwood C SlusarskiIndiaXuxue Feng UNQUALIFIED
Juan W BologniaFranceXuxue Feng QUALIFIED
Jeanfrancois E GauchoArgentinaAsiya Javayant QUALIFIED
Adams B OstroskyIndiaElwin Sharvill RENEWAL
Darci C CaldareraGermanyAmy Elsner NEGOTIATION
Misaki V MaletItalyIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith N SaylorsFranceIvan Magalhaes NEW
James H KuskoAustraliaOnyama Limba QUALIFIED
Leon J RimIndiaBernardo Dominic QUALIFIED
Murillo Z RutaCanadaBernardo Dominic NEW
Maria T FigeroaItalyOnyama Limba PROPOSAL
Izzy Z AlbaresBrazilOnyama Limba NEW
David Z ButtGermanyXuxue Feng NEGOTIATION
Clifford W VenereJapanIvan Magalhaes QUALIFIED
Rodrigues T BriddickJapanIvan Magalhaes RENEWAL
Claire W KolmetzRussiaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez G StockhamSpain2026-06-04King, Christopher A Esq NEGOTIATION65Anna Fali
1001Murillo P CaudyItaly2026-06-02Chemel, James L Cpa NEW57Ivan Magalhaes
1002Maria R BriddickGermany2026-05-31Rangoni Of Florence NEGOTIATION60Asiya Javayant
1003Smith Z MorascaCanada2026-05-20Dorl, James J Esq RENEWAL75Onyama Limba
1004Isabel J PerinAustralia2026-06-02Commercial Press PROPOSAL0Elwin Sharvill
1005Stacey Q RoysterRussia2026-06-07Chapman, Ross E Esq UNQUALIFIED1Ivan Magalhaes
1006Mujtaba H ShinkoSpain2026-05-30Buckley Miller Wright NEGOTIATION22Asiya Javayant
1007Jeanfrancois V PoquetteIndia2026-06-07Rousseaux, Michael Esq RENEWAL58Amy Elsner
1008Octavia L WhobreyGermany2026-06-10Benton, John B Jr RENEWAL73Ivan Magalhaes
1009Silvio A VocelkaItaly2026-05-31Chapman, Ross E Esq PROPOSAL53Bernardo Dominic
1010Maria Z MaletBrazil2026-06-08Morlong Associates PROPOSAL31Amy Elsner
1011James F WhobreyIndia2026-05-20Commercial Press NEW4Anna Fali
1012Kadeem F RulapaughArgentina2026-05-27Printing Dimensions PROPOSAL34Xuxue Feng
1013Jones H NickaSpain2026-06-06Benton, John B Jr NEW88Xuxue Feng
1014Rodrigues U OldroydUnited Kingdom2026-05-23Dorl, James J Esq NEGOTIATION64Onyama Limba
1015Adams E DilliardUnited Kingdom2026-05-19Truhlar And Truhlar Attys RENEWAL3Anna Fali
1016Cody U RutaJapan2026-06-07Chemel, James L Cpa NEW52Asiya Javayant
1017Greenwood O DarakjyAustralia2026-06-07Commercial Press NEGOTIATION95Bernardo Dominic
1018Jennifer G MacleadArgentina2026-06-09Printing Dimensions NEW26Elwin Sharvill
1019Mujtaba X BriddickUnited Kingdom2026-06-07Commercial Press NEGOTIATION52Elwin Sharvill
1020Kaitlin R OstroskySpain2026-06-09Truhlar And Truhlar Attys PROPOSAL0Elwin Sharvill
1021Munro U BriddickSpain2026-05-28Dorl, James J Esq RENEWAL30Bernardo Dominic
1022Mayumi R CaldareraArgentina2026-05-20Printing Dimensions PROPOSAL39Ioni Bowcher
1023Salvatore A TollnerUnited Kingdom2026-06-09Commercial Press UNQUALIFIED35Ioni Bowcher
1024Francesco B NickaBrazil2026-05-25Chanay, Jeffrey A Esq RENEWAL13Ioni Bowcher
1025Murillo L CaudyItaly2026-06-05Printing Dimensions NEW5Amy Elsner
1026David G RimFrance2026-06-11Feltz Printing Service RENEWAL95Anna Fali
1027Morrow S NestleIndia2026-05-24Chemel, James L Cpa PROPOSAL26Ioni Bowcher
1028Clifford E BriddickGermany2026-05-26Benton, John B Jr RENEWAL88Anna Fali
1029Maisha E PoquetteGermany2026-06-02Feiner Bros QUALIFIED1Ioni Bowcher
1030James W DarakjyArgentina2026-06-06Printing Dimensions QUALIFIED93Asiya Javayant
1031Johnson D TollnerArgentina2026-05-24Benton, John B Jr NEGOTIATION36Bernardo Dominic
1032Deepesh F RimBrazil2026-06-01Printing Dimensions PROPOSAL88Ivan Magalhaes
1033Izzy Y PaprockiGermany2026-05-20Truhlar And Truhlar Attys QUALIFIED49Elwin Sharvill
1034Juan A IturbideCanada2026-05-31Chemel, James L Cpa UNQUALIFIED27Elwin Sharvill
1035Leon K PaprockiAustralia2026-05-27Chanay, Jeffrey A Esq QUALIFIED72Onyama Limba
1036Ashley W OstroskyArgentina2026-06-07Chanay, Jeffrey A Esq QUALIFIED72Stephen Shaw
1037David L GauchoFrance2026-06-13Commercial Press PROPOSAL10Bernardo Dominic
1038Ricardo R KuskoAustralia2026-05-28Feltz Printing Service NEGOTIATION67Anna Fali
1039Greenwood E DarakjySpain2026-05-28Commercial Press PROPOSAL88Xuxue Feng
1040Jefferson O KuskoArgentina2026-06-12Chanay, Jeffrey A Esq NEGOTIATION54Stephen Shaw
1041Juan U NickaIndia2026-06-07Morlong Associates PROPOSAL7Ivan Magalhaes
1042Wickens V MorascaSpain2026-05-29Commercial Press PROPOSAL21Ioni Bowcher
1043Leon I FollerBrazil2026-06-13King, Christopher A Esq QUALIFIED54Bernardo Dominic
1044Leon R OstroskySpain2026-06-08Chemel, James L Cpa NEW57Ivan Magalhaes
1045Murillo G SchemmerCanada2026-05-29King, Christopher A Esq UNQUALIFIED61Bernardo Dominic
1046Misaki X NickaBrazil2026-05-19Feiner Bros NEGOTIATION2Ioni Bowcher
1047Salvatore Y PoquetteGermany2026-06-04Dorl, James J Esq QUALIFIED58Bernardo Dominic
1048Octavia K SchemmerCanada2026-05-29Chapman, Ross E Esq QUALIFIED20Onyama Limba
1049Adams R CaudyFrance2026-06-10Morlong Associates QUALIFIED92Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Murillo R NestleFranceIoni Bowcher NEGOTIATION
Nicolas S GlickUnited KingdomIvan Magalhaes NEGOTIATION
Francesco T GauchoItalyIoni Bowcher NEGOTIATION
Adams G KuskoJapanIvan Magalhaes NEW
Aika B RimSpainOnyama Limba QUALIFIED
Jeanfrancois P KuskoAustraliaIoni Bowcher NEW
Maria G TollnerRussiaAsiya Javayant PROPOSAL
David V PerinCanadaAsiya Javayant NEW
Alejandro E MarrierAustraliaAnna Fali RENEWAL
Smith E ShinkoRussiaAmy Elsner NEGOTIATION
Maisha I GlickArgentinaOnyama Limba NEGOTIATION
Munro G BowleyGermanyAmy Elsner NEGOTIATION
Sinclair K DilliardGermanyStephen Shaw NEGOTIATION
Juan K SchemmerSpainIvan Magalhaes NEW
Sinclair N FigeroaAustraliaXuxue Feng NEW
Maisha T TollnerBrazilOnyama Limba NEGOTIATION
Alejandro S RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore S KolmetzJapanIvan Magalhaes UNQUALIFIED
Ashley C VenereFranceIvan Magalhaes PROPOSAL
Aika J MacleadGermanyXuxue Feng NEW
Wickens P AmigonGermanyBernardo Dominic RENEWAL
Deepesh L StockhamJapanBernardo Dominic UNQUALIFIED
Isabel E GillianIndiaXuxue Feng NEGOTIATION
Tony P MacleadFranceElwin Sharvill UNQUALIFIED
Octavia U DilliardRussiaOnyama Limba UNQUALIFIED
Rodrigues J VenereSpainElwin Sharvill RENEWAL
Darci Q PoquetteJapanXuxue Feng QUALIFIED
Juan D WieserRussiaElwin Sharvill RENEWAL
Kaitlin H ButtCanadaIoni Bowcher QUALIFIED
Julie V FollerCanadaStephen Shaw RENEWAL
Claire S NickaArgentinaIoni Bowcher UNQUALIFIED
Juan X NickaBrazilAsiya Javayant NEW
Jeanfrancois N KolmetzIndiaElwin Sharvill NEGOTIATION
Ashley A WieserArgentinaXuxue Feng NEGOTIATION
Julie K InouyeCanadaAnna Fali NEGOTIATION
Leja P CaldareraItalyIvan Magalhaes PROPOSAL
Jefferson F IturbideSpainOnyama Limba NEW
Rodrigues B MorascaAustraliaElwin Sharvill RENEWAL
Deepesh X NestleBrazilElwin Sharvill NEGOTIATION
Silvio I SlusarskiItalyElwin Sharvill UNQUALIFIED
Emily M IturbideRussiaIvan Magalhaes NEGOTIATION
Silvio L BologniaAustraliaAsiya Javayant NEGOTIATION
Murillo F FlosiUnited KingdomAmy Elsner PROPOSAL
Deepesh K BologniaItalyAmy Elsner QUALIFIED
Izzy G MarrierArgentinaIvan Magalhaes PROPOSAL
Ricardo O WieserJapanXuxue Feng NEW
Izzy U ButtGermanyIoni Bowcher PROPOSAL
Jeanfrancois W GlickUnited KingdomAsiya Javayant QUALIFIED
Wickens P IturbideGermanyBernardo Dominic NEGOTIATION
Aruna D BriddickCanadaIvan Magalhaes NEW
Frozen Columns
Name
Wickens W Shinko
Stacey T Gaucho
Cody T Kusko
Izzy I Bowley
Deepesh V Poquette
Darci M Gillian
Isabel K Waycott
Juan Z Caudy
Cody O Wieser
Maisha K Maclead
Faith Q Glick
James J Figeroa
Stacey S Vocelka
Jennifer U Glick
Stacey Q Maclead
Jones Y Bolognia
Mayumi Q Oldroyd
Arvin T Bowley
Ricardo U Foller
Francesco A Kolmetz
Jeanfrancois N Butt
Jeanfrancois A Dilliard
Nicolas O Caldarera
Julie H Royster
Kaitlin X Dilliard
Adams U Malet
Tony M Flosi
Stacey L Sergi
Morrow K Perin
Deepesh M Royster
Silvio R Flosi
Silvio C Schemmer
Adams Y Vocelka
Munro P Darakjy
Kaitlin U Kusko
James X Glick
David Y Iturbide
Francesco E Nestle
Ivar V Iturbide
Cody J Caldarera
Leja C Wieser
Maisha I Chui
Claire U Royster
Aika W Gillian
Adams U Bolognia
David V Inouye
Salvatore A Garufi
Jones W Perin
Smith L Sergi
Aika B Saylors
IdCountryDate
1000Russia2026-06-11
1001Germany2026-06-01
1002Spain2026-05-30
1003Japan2026-06-08
1004Russia2026-05-17
1005India2026-06-07
1006United Kingdom2026-05-15
1007Italy2026-05-30
1008Brazil2026-06-07
1009United Kingdom2026-06-09
1010India2026-05-25
1011France2026-05-17
1012India2026-06-07
1013Italy2026-05-20
1014India2026-05-25
1015Germany2026-05-20
1016Argentina2026-06-02
1017Canada2026-05-16
1018Canada2026-06-05
1019Spain2026-05-25
1020Australia2026-05-23
1021India2026-06-06
1022Russia2026-05-18
1023Brazil2026-06-09
1024Canada2026-05-30
1025Argentina2026-05-25
1026India2026-05-22
1027United Kingdom2026-05-18
1028Italy2026-05-22
1029Italy2026-05-20
1030Germany2026-06-13
1031Brazil2026-06-08
1032Japan2026-06-13
1033Russia2026-05-20
1034Australia2026-05-20
1035Canada2026-05-29
1036Italy2026-05-26
1037France2026-05-18
1038Russia2026-06-04
1039Australia2026-05-30
1040Australia2026-05-23
1041Japan2026-05-27
1042Argentina2026-05-28
1043Russia2026-06-08
1044United Kingdom2026-05-28
1045Italy2026-06-06
1046Russia2026-06-11
1047Japan2026-05-21
1048Italy2026-05-21
1049Japan2026-06-13

On-Demand Data

NameIdCountryDate
Emily S Schemmer1000France2026-06-06
Leja A Gaucho1001France2026-06-13
Alejandro H Whobrey1002India2026-05-24
Aruna M Figeroa1003Italy2026-06-11
Ricardo W Darakjy1004India2026-05-24
Costa V Amigon1005Brazil2026-05-23
Leja R Stenseth1006Japan2026-05-29
Cody J Doe1007Argentina2026-06-13
Ashley N Slusarski1008United Kingdom2026-06-03
Ashley U Butt1009Italy2026-05-15
Jeanfrancois E Saylors1010Russia2026-05-15
Aruna J Schemmer1011Italy2026-06-10
Isabel T Inouye1012Brazil2026-06-08
Misaki J Paprocki1013Argentina2026-05-24
Ricardo K Sergi1014Argentina2026-06-12
Aruna P Stockham1015Italy2026-05-24
Johnson N Garufi1016Germany2026-05-20
Greenwood V Tollner1017Brazil2026-06-05
Adams L Stockham1018Russia2026-05-19
Ivar X Doe1019India2026-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio K MorascaAustraliaAmy Elsner UNQUALIFIED
Clifford J OstroskySpainStephen Shaw UNQUALIFIED
Maisha A RutaArgentinaBernardo Dominic NEW
Claire W StensethSpainAnna Fali NEGOTIATION
Jones Z NickaSpainElwin Sharvill NEGOTIATION
Arvin I NestleFranceAsiya Javayant NEGOTIATION
Isabel Q FlosiSpainOnyama Limba NEGOTIATION
David R CampainFranceBernardo Dominic UNQUALIFIED
Faith E MorascaBrazilAsiya Javayant QUALIFIED
Leja E StockhamArgentinaAsiya Javayant PROPOSAL
Aditya P RoysterJapanIoni Bowcher RENEWAL
Leja U GlickFranceIvan Magalhaes UNQUALIFIED
Emily G DilliardRussiaElwin Sharvill UNQUALIFIED
Alejandro N FigeroaRussiaAsiya Javayant QUALIFIED
David Q GarufiIndiaXuxue Feng NEW
Morrow H CampainCanadaElwin Sharvill UNQUALIFIED
Emily K PaprockiRussiaIoni Bowcher UNQUALIFIED
Julie W CampainArgentinaAsiya Javayant PROPOSAL
Aika R ButtAustraliaElwin Sharvill NEGOTIATION
Wickens E ShinkoBrazilXuxue Feng UNQUALIFIED
Ivar V BologniaBrazilIoni Bowcher NEW
Costa N MacleadCanadaAmy Elsner RENEWAL
James K FollerItalyAmy Elsner UNQUALIFIED
Claire V RulapaughSpainAnna Fali PROPOSAL
Julie D StensethAustraliaOnyama Limba QUALIFIED
Arvin H RulapaughIndiaOnyama Limba NEGOTIATION
Jeanfrancois U StensethRussiaElwin Sharvill UNQUALIFIED
Salvatore V BriddickItalyAnna Fali UNQUALIFIED
David D CaldareraFranceAsiya Javayant PROPOSAL
David I OstroskyAustraliaAnna Fali QUALIFIED
Deepesh D AmigonSpainBernardo Dominic UNQUALIFIED
Wickens A SergiGermanyAnna Fali QUALIFIED
Kaitlin I DarakjyJapanOnyama Limba UNQUALIFIED
Clifford O OldroydFranceIvan Magalhaes RENEWAL
Antonio M DilliardCanadaOnyama Limba UNQUALIFIED
Aika G AmigonCanadaXuxue Feng NEGOTIATION
Wickens W NestleGermanyAmy Elsner UNQUALIFIED
Wickens F BriddickFranceAmy Elsner UNQUALIFIED
Johnson Z NickaArgentinaAmy Elsner UNQUALIFIED
Kaitlin C FigeroaGermanyAsiya Javayant RENEWAL

<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.