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
Alejandro A AmigonRussiaIoni Bowcher NEW
Adams L SaylorsJapanElwin Sharvill QUALIFIED
Aruna H DoeArgentinaIoni Bowcher NEGOTIATION
Juan G WhobreyRussiaBernardo Dominic NEW
Chavez T InouyeGermanyIvan Magalhaes QUALIFIED
Munro O BologniaIndiaStephen Shaw QUALIFIED
Misaki V MaletUnited KingdomAmy Elsner PROPOSAL
Adams X InouyeFranceBernardo Dominic RENEWAL
Salvatore J AmigonIndiaAsiya Javayant PROPOSAL
Jeanfrancois R FlosiAustraliaIvan Magalhaes UNQUALIFIED
David G BologniaJapanAmy Elsner NEW
Maisha O CaudyBrazilIoni Bowcher RENEWAL
Antonio Y VenereBrazilAsiya Javayant UNQUALIFIED
Smith L BowleyJapanAmy Elsner PROPOSAL
Leon Y InouyeRussiaAnna Fali UNQUALIFIED
Leon K BologniaArgentinaIvan Magalhaes NEW
Wickens Z KuskoCanadaXuxue Feng PROPOSAL
Arvin E RimRussiaOnyama Limba QUALIFIED
Ivar S KolmetzBrazilElwin Sharvill NEW
Jeanfrancois S ChuiIndiaElwin Sharvill PROPOSAL
Antonio Z GlickCanadaBernardo Dominic NEGOTIATION
Silvio Z CampainCanadaIvan Magalhaes RENEWAL
Misaki E RutaUnited KingdomIvan Magalhaes NEGOTIATION
Izzy R AmigonUnited KingdomIvan Magalhaes PROPOSAL
Ricardo F BologniaJapanXuxue Feng UNQUALIFIED
Jennifer E PerinArgentinaIvan Magalhaes UNQUALIFIED
Arvin X NestleCanadaIvan Magalhaes QUALIFIED
Silvio T InouyeIndiaElwin Sharvill PROPOSAL
Chavez Z BowleyRussiaOnyama Limba UNQUALIFIED
Kaitlin Z SergiBrazilElwin Sharvill NEW
Rodrigues S CampainAustraliaIoni Bowcher UNQUALIFIED
Ashley U ChuiArgentinaElwin Sharvill NEGOTIATION
Mujtaba R MorascaRussiaIvan Magalhaes UNQUALIFIED
Jones L WaycottArgentinaElwin Sharvill UNQUALIFIED
Aditya C OstroskyFranceStephen Shaw QUALIFIED
Francesco F BologniaAustraliaBernardo Dominic NEGOTIATION
Aruna I FigeroaCanadaAsiya Javayant PROPOSAL
Smith A MorascaIndiaIvan Magalhaes NEGOTIATION
Ashley W KolmetzCanadaIoni Bowcher PROPOSAL
Mayumi V SergiUnited KingdomXuxue Feng PROPOSAL
Emily L IturbideJapanAnna Fali RENEWAL
Ashley L CaudyBrazilAsiya Javayant RENEWAL
Chavez J DoeJapanAmy Elsner QUALIFIED
Maria H KuskoAustraliaAmy Elsner UNQUALIFIED
Murillo M StensethSpainAmy Elsner NEW
Antonio A WaycottIndiaAnna Fali PROPOSAL
Aditya L PerinFranceAmy Elsner QUALIFIED
Emily S OstroskyItalyAnna Fali QUALIFIED
Octavia B FollerArgentinaIoni Bowcher RENEWAL
Murillo N NickaBrazilStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Rodrigues D SaylorsItalyXuxue Feng NEGOTIATION
Isabel S DoeAustraliaXuxue Feng NEGOTIATION
Isabel X CampainSpainAmy Elsner QUALIFIED
Darci V OldroydIndiaBernardo Dominic QUALIFIED
Salvatore M SchemmerGermanyIvan Magalhaes NEW
Smith H MaletJapanIvan Magalhaes NEW
Tony M CampainIndiaAnna Fali PROPOSAL
Maisha Z CaldareraBrazilAsiya Javayant NEW
Aruna F WieserArgentinaAsiya Javayant PROPOSAL
Antonio F GlickBrazilXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa R RoysterFrance2026-06-13Rangoni Of Florence RENEWAL49Asiya Javayant
1001Jones Q MorascaUnited Kingdom2026-06-04Buckley Miller Wright UNQUALIFIED61Amy Elsner
1002Stacey L FollerItaly2026-06-01Buckley Miller Wright PROPOSAL36Elwin Sharvill
1003Misaki I CaudyFrance2026-06-03Chanay, Jeffrey A Esq QUALIFIED99Anna Fali
1004Murillo I FlosiItaly2026-06-14Truhlar And Truhlar Attys RENEWAL3Ivan Magalhaes
1005Costa Q StensethBrazil2026-06-17Chanay, Jeffrey A Esq NEGOTIATION68Bernardo Dominic
1006Deepesh B InouyeSpain2026-06-19Benton, John B Jr QUALIFIED5Ivan Magalhaes
1007Aika Q WhobreyCanada2026-06-01Buckley Miller Wright PROPOSAL20Amy Elsner
1008Leon C ShinkoRussia2026-06-17Truhlar And Truhlar Attys UNQUALIFIED75Anna Fali
1009Antonio T PaprockiFrance2026-06-19Feiner Bros UNQUALIFIED56Elwin Sharvill
1010Isabel D MaletBrazil2026-06-13Morlong Associates NEW86Bernardo Dominic
1011Jones G WhobreyUnited Kingdom2026-06-25Feiner Bros QUALIFIED47Stephen Shaw
1012David Y OldroydBrazil2026-06-11Chemel, James L Cpa NEW98Stephen Shaw
1013Wickens F ChuiBrazil2026-06-05Commercial Press NEW43Asiya Javayant
1014Aika F DarakjyJapan2026-06-11Rousseaux, Michael Esq QUALIFIED65Asiya Javayant
1015Izzy Y FigeroaItaly2026-05-28Rangoni Of Florence PROPOSAL88Ioni Bowcher
1016Octavia Y MarrierAustralia2026-06-06Feiner Bros QUALIFIED97Ioni Bowcher
1017Jones U VocelkaJapan2026-06-22Rousseaux, Michael Esq PROPOSAL34Ivan Magalhaes
1018Alejandro I WaycottItaly2026-06-26Chapman, Ross E Esq UNQUALIFIED55Onyama Limba
1019Darci D CampainRussia2026-06-26King, Christopher A Esq NEGOTIATION60Stephen Shaw
1020Juan M ShinkoFrance2026-06-14Buckley Miller Wright RENEWAL80Anna Fali
1021David X WieserCanada2026-06-05Chapman, Ross E Esq QUALIFIED82Xuxue Feng
1022Jeanfrancois O WieserGermany2026-06-05Benton, John B Jr PROPOSAL72Anna Fali
1023Emily V NickaBrazil2026-06-13Rousseaux, Michael Esq NEGOTIATION90Bernardo Dominic
1024Silvio V PoquetteAustralia2026-06-06Feiner Bros QUALIFIED15Asiya Javayant
1025Ricardo U VenereGermany2026-06-17Rangoni Of Florence NEGOTIATION69Asiya Javayant
1026Ricardo T OstroskyIndia2026-05-30Truhlar And Truhlar Attys UNQUALIFIED21Amy Elsner
1027Antonio P RoysterUnited Kingdom2026-06-13Chemel, James L Cpa RENEWAL21Asiya Javayant
1028Arvin Q ChuiRussia2026-05-31King, Christopher A Esq NEGOTIATION12Elwin Sharvill
1029Isabel Q OldroydBrazil2026-06-09Rousseaux, Michael Esq UNQUALIFIED35Ivan Magalhaes
1030Misaki L IturbideItaly2026-06-14Chanay, Jeffrey A Esq PROPOSAL29Elwin Sharvill
1031Ashley N PerinFrance2026-06-22Rangoni Of Florence UNQUALIFIED42Bernardo Dominic
1032Cody J FollerArgentina2026-06-03Feltz Printing Service NEGOTIATION27Amy Elsner
1033Maisha L SaylorsIndia2026-06-16Dorl, James J Esq NEGOTIATION59Onyama Limba
1034Ricardo T MacleadGermany2026-06-01Chanay, Jeffrey A Esq PROPOSAL31Ivan Magalhaes
1035Maisha S KolmetzArgentina2026-06-21Truhlar And Truhlar Attys NEW15Elwin Sharvill
1036Juan J GillianBrazil2026-06-26Benton, John B Jr QUALIFIED17Stephen Shaw
1037Isabel C WhobreyUnited Kingdom2026-06-18Rousseaux, Michael Esq NEW58Amy Elsner
1038Ivar T RoysterUnited Kingdom2026-06-07Printing Dimensions NEGOTIATION91Ioni Bowcher
1039Mayumi Y ShinkoItaly2026-06-09Chemel, James L Cpa UNQUALIFIED81Stephen Shaw
1040Salvatore O KuskoIndia2026-06-21Chemel, James L Cpa PROPOSAL92Asiya Javayant
1041Arvin J MarrierItaly2026-06-13Morlong Associates RENEWAL54Ioni Bowcher
1042Isabel E FlosiIndia2026-06-12Rangoni Of Florence RENEWAL76Elwin Sharvill
1043Mujtaba E MorascaArgentina2026-06-25King, Christopher A Esq NEW98Anna Fali
1044Emily D PerinJapan2026-06-03Benton, John B Jr QUALIFIED64Ivan Magalhaes
1045Isabel T WieserSpain2026-06-04Dorl, James J Esq NEW72Xuxue Feng
1046Antonio J KuskoGermany2026-06-17Rangoni Of Florence UNQUALIFIED25Xuxue Feng
1047Costa U SlusarskiArgentina2026-06-05Truhlar And Truhlar Attys NEGOTIATION79Anna Fali
1048James U PoquetteArgentina2026-05-29King, Christopher A Esq NEGOTIATION91Ioni Bowcher
1049Stacey V RulapaughSpain2026-05-30Chemel, James L Cpa QUALIFIED14Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Z MorascaBrazilOnyama Limba NEGOTIATION
Octavia Y SaylorsSpainAnna Fali PROPOSAL
Nicolas K TollnerSpainIvan Magalhaes QUALIFIED
Cody E WaycottIndiaIvan Magalhaes PROPOSAL
Silvio P WieserRussiaAmy Elsner PROPOSAL
Murillo D VenereBrazilXuxue Feng UNQUALIFIED
Claire A ButtSpainStephen Shaw QUALIFIED
Maisha F DoeGermanyIoni Bowcher UNQUALIFIED
Johnson R MaletJapanBernardo Dominic NEW
Costa O AlbaresArgentinaStephen Shaw UNQUALIFIED
Wickens B SergiItalyIoni Bowcher NEW
Jeanfrancois X BowleyAustraliaStephen Shaw NEGOTIATION
Morrow Y GauchoRussiaStephen Shaw NEW
Salvatore M OldroydRussiaIoni Bowcher QUALIFIED
Julie B VocelkaGermanyIoni Bowcher QUALIFIED
Aruna A CaudyGermanyAmy Elsner RENEWAL
Smith F GarufiJapanAsiya Javayant NEW
Cody B RutaArgentinaIoni Bowcher NEW
Aika S MarrierSpainIvan Magalhaes NEGOTIATION
Leon K OstroskyUnited KingdomAmy Elsner NEGOTIATION
Morrow O GillianItalyOnyama Limba NEW
Juan K OstroskyGermanyStephen Shaw RENEWAL
David I BriddickJapanElwin Sharvill RENEWAL
Maisha H AlbaresItalyStephen Shaw PROPOSAL
Maria L OldroydAustraliaIoni Bowcher QUALIFIED
Rodrigues N WhobreySpainXuxue Feng NEGOTIATION
Kadeem E BowleyBrazilElwin Sharvill QUALIFIED
Darci F OldroydUnited KingdomXuxue Feng QUALIFIED
Munro C ShinkoSpainBernardo Dominic NEGOTIATION
Silvio Z PoquetteItalyStephen Shaw RENEWAL
Maisha V PerinRussiaAmy Elsner QUALIFIED
Clifford B FigeroaRussiaBernardo Dominic NEW
Rodrigues C BriddickItalyElwin Sharvill QUALIFIED
Julie B FlosiUnited KingdomAnna Fali UNQUALIFIED
Arvin P GarufiSpainStephen Shaw RENEWAL
Cody B PaprockiRussiaElwin Sharvill PROPOSAL
Greenwood O MorascaFranceElwin Sharvill NEGOTIATION
Clifford T NestleBrazilOnyama Limba PROPOSAL
Silvio N SchemmerIndiaBernardo Dominic PROPOSAL
Ivar Q OstroskyIndiaAmy Elsner RENEWAL
Ashley X FollerGermanyOnyama Limba PROPOSAL
Aditya A PoquetteSpainElwin Sharvill NEW
Sinclair T RulapaughRussiaStephen Shaw NEW
Leja T MacleadGermanyStephen Shaw QUALIFIED
Misaki R PerinIndiaOnyama Limba RENEWAL
Aruna D BologniaArgentinaXuxue Feng PROPOSAL
Jefferson I DarakjyArgentinaXuxue Feng RENEWAL
Francesco A KuskoItalyXuxue Feng PROPOSAL
Leja B PerinRussiaElwin Sharvill QUALIFIED
Emily X GillianJapanBernardo Dominic QUALIFIED
Frozen Columns
Name
Smith T Rim
Clifford Y Kusko
Mujtaba U Dilliard
James R Figeroa
Leon V Paprocki
Greenwood G Garufi
James D Glick
David F Bolognia
Kadeem D Wieser
Johnson G Maclead
Aruna L Inouye
Chavez D Sergi
Emily R Rim
Tony A Malet
Emily J Stockham
Ashley W Iturbide
Julie W Bowley
Aruna R Garufi
Tony B Malet
Leon Z Tollner
Tony B Iturbide
Morrow Z Wieser
Leon C Gillian
Rodrigues T Oldroyd
Sinclair X Rim
Maria K Dilliard
Juan I Kusko
Arvin H Darakjy
Juan Z Morasca
Nicolas B Malet
Rodrigues L Marrier
Julie G Amigon
Izzy V Saylors
Wickens B Stockham
Jennifer N Caldarera
Maisha Q Darakjy
Deepesh W Malet
Maria D Stockham
Aruna R Nestle
Jefferson A Rim
Maria T Butt
Claire O Perin
Mujtaba C Inouye
Jefferson B Doe
Murillo Q Albares
Rodrigues I Chui
Jefferson U Nicka
Aika R Caldarera
Smith N Vocelka
Octavia K Nicka
IdCountryDate
1000India2026-06-09
1001Australia2026-06-21
1002Italy2026-06-15
1003Brazil2026-06-05
1004Canada2026-06-14
1005Argentina2026-06-17
1006Russia2026-06-14
1007Japan2026-05-31
1008Germany2026-05-31
1009Brazil2026-06-19
1010India2026-06-19
1011France2026-06-11
1012Germany2026-06-03
1013India2026-06-02
1014Canada2026-06-19
1015France2026-06-24
1016Spain2026-06-19
1017Russia2026-06-06
1018France2026-06-13
1019Spain2026-06-05
1020France2026-06-10
1021Brazil2026-05-28
1022France2026-06-26
1023Argentina2026-06-10
1024Brazil2026-06-19
1025Russia2026-05-30
1026Spain2026-06-15
1027Australia2026-06-03
1028Canada2026-05-30
1029Canada2026-06-14
1030India2026-06-12
1031Russia2026-06-26
1032Australia2026-06-09
1033Argentina2026-06-25
1034United Kingdom2026-06-21
1035Australia2026-06-25
1036Italy2026-06-10
1037Russia2026-06-26
1038Brazil2026-06-06
1039India2026-06-17
1040India2026-06-26
1041India2026-05-29
1042India2026-06-18
1043France2026-06-19
1044India2026-06-03
1045Spain2026-06-12
1046Spain2026-06-17
1047Japan2026-05-31
1048India2026-06-18
1049Germany2026-06-26

On-Demand Data

NameIdCountryDate
Adams P Whobrey1000Australia2026-06-19
Murillo X Briddick1001United Kingdom2026-06-14
Tony M Dilliard1002Germany2026-06-22
Darci A Albares1003Brazil2026-06-20
Tony U Foller1004Spain2026-06-20
Claire O Gillian1005Spain2026-06-04
Jones S Morasca1006United Kingdom2026-06-15
Ashley R Saylors1007Australia2026-06-07
Misaki E Dilliard1008United Kingdom2026-06-21
Mujtaba N Briddick1009France2026-06-09
Adams Y Iturbide1010France2026-06-06
Wickens C Oldroyd1011Argentina2026-06-05
Jeanfrancois Q Nicka1012Brazil2026-06-01
Darci P Malet1013Italy2026-06-17
Stacey N Caldarera1014Spain2026-06-15
Kadeem U Slusarski1015United Kingdom2026-06-06
Silvio N Kolmetz1016United Kingdom2026-06-26
Morrow X Vocelka1017India2026-06-03
Leja E Iturbide1018India2026-06-14
Faith H Bolognia1019Italy2026-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James E RoysterRussiaIvan Magalhaes QUALIFIED
Smith H FerenczItalyAmy Elsner RENEWAL
Deepesh R SergiJapanElwin Sharvill UNQUALIFIED
Faith K MacleadGermanyXuxue Feng NEW
Cody S RoysterIndiaIoni Bowcher PROPOSAL
Clifford K BologniaJapanIoni Bowcher NEGOTIATION
Ivar C IturbideIndiaAnna Fali RENEWAL
Silvio E IturbideUnited KingdomStephen Shaw QUALIFIED
Leon K KolmetzCanadaStephen Shaw RENEWAL
Murillo X WhobreyBrazilStephen Shaw NEW
Isabel J IturbideArgentinaIoni Bowcher NEGOTIATION
Jones U DilliardIndiaElwin Sharvill QUALIFIED
Aika R CampainIndiaIoni Bowcher NEGOTIATION
Antonio S MacleadRussiaBernardo Dominic RENEWAL
Kaitlin L SaylorsFranceAmy Elsner PROPOSAL
Stacey G DoeAustraliaIvan Magalhaes QUALIFIED
Emily G MarrierSpainAnna Fali NEW
Johnson D GauchoJapanStephen Shaw PROPOSAL
Smith W CaudyArgentinaIvan Magalhaes PROPOSAL
Antonio A WaycottItalyElwin Sharvill UNQUALIFIED
Emily G OldroydUnited KingdomBernardo Dominic PROPOSAL
Munro Y GauchoCanadaAnna Fali UNQUALIFIED
Ivar E PoquetteSpainOnyama Limba NEW
Wickens E MacleadCanadaStephen Shaw NEW
Deepesh U SaylorsUnited KingdomIvan Magalhaes RENEWAL
Clifford E CaudySpainOnyama Limba QUALIFIED
Mujtaba Q StockhamFranceIvan Magalhaes PROPOSAL
Antonio P PerinRussiaXuxue Feng NEW
Morrow Y ChuiAustraliaElwin Sharvill NEGOTIATION
Kaitlin T SaylorsJapanAmy Elsner QUALIFIED
Alejandro C InouyeCanadaAmy Elsner RENEWAL
Silvio E GauchoGermanyAnna Fali QUALIFIED
Salvatore P AmigonArgentinaAmy Elsner QUALIFIED
Johnson E PerinSpainAmy Elsner RENEWAL
Johnson C GillianGermanyStephen Shaw QUALIFIED
Mayumi P CaudyBrazilIoni Bowcher QUALIFIED
Isabel L DoeRussiaIoni Bowcher PROPOSAL
Faith Y SaylorsRussiaAnna Fali PROPOSAL
Munro V BowleyFranceAnna Fali PROPOSAL
Ivar P MaletFranceAmy Elsner NEW

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