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
Kadeem V AlbaresItalyStephen Shaw UNQUALIFIED
Antonio R WaycottArgentinaAnna Fali UNQUALIFIED
Rodrigues E StensethFranceIoni Bowcher PROPOSAL
Isabel T OldroydJapanIoni Bowcher QUALIFIED
Chavez Z MorascaCanadaIvan Magalhaes RENEWAL
Nicolas H NestleIndiaAnna Fali PROPOSAL
Alejandro P GillianIndiaAmy Elsner NEW
Kadeem P CaldareraAustraliaStephen Shaw PROPOSAL
Isabel S RoysterFranceElwin Sharvill NEGOTIATION
Claire X WieserSpainAnna Fali RENEWAL
Jeanfrancois B KolmetzJapanAnna Fali RENEWAL
Octavia Y InouyeAustraliaStephen Shaw PROPOSAL
Leon Z StockhamItalyAmy Elsner NEGOTIATION
Munro E ButtSpainStephen Shaw QUALIFIED
Mayumi Q WhobreyJapanIoni Bowcher PROPOSAL
Munro M KolmetzItalyAsiya Javayant PROPOSAL
Arvin S DarakjyAustraliaAmy Elsner NEGOTIATION
Smith C AmigonArgentinaIoni Bowcher RENEWAL
Jeanfrancois K RulapaughCanadaAsiya Javayant NEW
James A OstroskyJapanBernardo Dominic NEW
Salvatore S AmigonRussiaOnyama Limba NEGOTIATION
Octavia F KuskoSpainAsiya Javayant PROPOSAL
Deepesh E MaletItalyIvan Magalhaes NEGOTIATION
Arvin H RutaRussiaAsiya Javayant RENEWAL
Sinclair F DoeJapanAmy Elsner NEGOTIATION
Faith A WhobreyItalyBernardo Dominic PROPOSAL
Julie I AlbaresCanadaIvan Magalhaes PROPOSAL
Ivar W DoeItalyAmy Elsner QUALIFIED
Arvin W GillianBrazilOnyama Limba UNQUALIFIED
Aditya N ButtAustraliaAsiya Javayant NEW
Ricardo T WhobreyGermanyStephen Shaw NEW
Ricardo V KuskoJapanAmy Elsner NEGOTIATION
Kaitlin Z RimCanadaAnna Fali NEW
Munro F FollerItalyXuxue Feng PROPOSAL
Misaki E GlickSpainAmy Elsner NEGOTIATION
Alejandro K TollnerItalyElwin Sharvill PROPOSAL
Leja R MarrierIndiaBernardo Dominic QUALIFIED
Jeanfrancois A TollnerFranceAmy Elsner NEGOTIATION
James R FerenczUnited KingdomOnyama Limba NEGOTIATION
Leon N VocelkaJapanBernardo Dominic NEGOTIATION
Munro N DilliardBrazilBernardo Dominic RENEWAL
Smith I WhobreyAustraliaStephen Shaw QUALIFIED
Nicolas F RimUnited KingdomAnna Fali NEW
Mujtaba W VenereArgentinaIoni Bowcher QUALIFIED
Faith W OstroskyGermanyAmy Elsner UNQUALIFIED
Greenwood K RoysterAustraliaStephen Shaw NEGOTIATION
Mujtaba L BologniaCanadaAsiya Javayant QUALIFIED
Rodrigues E PoquetteUnited KingdomAsiya Javayant UNQUALIFIED
Arvin R MacleadRussiaAmy Elsner NEGOTIATION
Jefferson J MarrierCanadaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar F RoysterRussiaXuxue Feng NEW
Maria P CampainGermanyStephen Shaw UNQUALIFIED
Izzy Y PoquetteIndiaIvan Magalhaes UNQUALIFIED
Jones N SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Johnson A CaudyRussiaAmy Elsner QUALIFIED
Costa Y NickaUnited KingdomOnyama Limba UNQUALIFIED
Adams E FollerIndiaBernardo Dominic UNQUALIFIED
Darci F KuskoRussiaOnyama Limba NEGOTIATION
Alejandro L ChuiUnited KingdomStephen Shaw RENEWAL
Smith L CampainFranceIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David H BologniaIndia2026-06-08Chanay, Jeffrey A Esq PROPOSAL28Xuxue Feng
1001Aditya U WhobreyAustralia2026-06-10Buckley Miller Wright NEW98Ivan Magalhaes
1002Jones Z MorascaIndia2026-06-09Buckley Miller Wright RENEWAL36Anna Fali
1003Chavez Z VenereArgentina2026-06-26Chanay, Jeffrey A Esq NEGOTIATION54Bernardo Dominic
1004Chavez J PaprockiSpain2026-06-20Rousseaux, Michael Esq UNQUALIFIED15Stephen Shaw
1005Francesco Q DilliardGermany2026-06-25Chanay, Jeffrey A Esq PROPOSAL18Amy Elsner
1006Kadeem G IturbideSpain2026-05-30Dorl, James J Esq NEW15Bernardo Dominic
1007Tony H ShinkoJapan2026-06-02King, Christopher A Esq PROPOSAL83Ivan Magalhaes
1008Johnson M DoeFrance2026-06-21Printing Dimensions RENEWAL4Amy Elsner
1009Izzy F ButtBrazil2026-06-12Benton, John B Jr RENEWAL19Ioni Bowcher
1010Isabel L MarrierSpain2026-06-03Commercial Press NEW70Anna Fali
1011Mujtaba X AmigonArgentina2026-05-31Chemel, James L Cpa QUALIFIED19Amy Elsner
1012Ricardo D IturbideGermany2026-06-15Rangoni Of Florence NEW4Amy Elsner
1013Francesco P NestleJapan2026-06-27King, Christopher A Esq UNQUALIFIED31Xuxue Feng
1014Emily C MarrierBrazil2026-05-29Chemel, James L Cpa QUALIFIED14Onyama Limba
1015Morrow S AmigonCanada2026-06-08Chemel, James L Cpa NEW58Asiya Javayant
1016Munro W DoeFrance2026-06-18Truhlar And Truhlar Attys UNQUALIFIED75Bernardo Dominic
1017Claire P StockhamJapan2026-06-09Feiner Bros NEGOTIATION5Amy Elsner
1018Maisha O SaylorsJapan2026-05-29Chemel, James L Cpa NEGOTIATION2Asiya Javayant
1019Wickens L DilliardFrance2026-06-25Buckley Miller Wright NEW81Onyama Limba
1020Octavia E VenereFrance2026-06-17Commercial Press PROPOSAL65Asiya Javayant
1021Sinclair K VocelkaIndia2026-06-16Rousseaux, Michael Esq QUALIFIED10Amy Elsner
1022Tony O ShinkoCanada2026-05-29King, Christopher A Esq PROPOSAL21Onyama Limba
1023Johnson L FlosiUnited Kingdom2026-06-12Rousseaux, Michael Esq NEW5Bernardo Dominic
1024Isabel C FollerArgentina2026-06-17Buckley Miller Wright RENEWAL53Bernardo Dominic
1025James F WieserRussia2026-06-23Chemel, James L Cpa PROPOSAL27Onyama Limba
1026Francesco F NickaBrazil2026-06-19Chapman, Ross E Esq PROPOSAL93Ivan Magalhaes
1027Ricardo R KolmetzJapan2026-06-20Rousseaux, Michael Esq NEGOTIATION83Xuxue Feng
1028Johnson C RulapaughJapan2026-06-27King, Christopher A Esq NEGOTIATION32Xuxue Feng
1029Murillo I SlusarskiJapan2026-06-09Feltz Printing Service NEGOTIATION12Asiya Javayant
1030Wickens H DoeItaly2026-06-14Printing Dimensions NEGOTIATION36Ioni Bowcher
1031Wickens U OstroskySpain2026-06-18King, Christopher A Esq UNQUALIFIED45Asiya Javayant
1032Chavez S FerenczArgentina2026-06-04Feiner Bros RENEWAL68Onyama Limba
1033Leja A BriddickJapan2026-06-25Benton, John B Jr PROPOSAL77Amy Elsner
1034Jeanfrancois F TollnerCanada2026-06-13Chanay, Jeffrey A Esq NEW86Anna Fali
1035Jefferson Q WaycottFrance2026-05-29Chemel, James L Cpa RENEWAL74Amy Elsner
1036Misaki E TollnerFrance2026-06-25Benton, John B Jr NEW25Amy Elsner
1037Juan Q SergiItaly2026-05-29Feiner Bros RENEWAL50Amy Elsner
1038Francesco I WhobreySpain2026-06-08Commercial Press QUALIFIED35Bernardo Dominic
1039Stacey J WaycottUnited Kingdom2026-06-18Buckley Miller Wright UNQUALIFIED45Ivan Magalhaes
1040Jefferson K RimUnited Kingdom2026-06-11Rousseaux, Michael Esq RENEWAL69Amy Elsner
1041Cody R DarakjyRussia2026-06-05Commercial Press NEW26Ioni Bowcher
1042Izzy R WhobreyAustralia2026-06-12Buckley Miller Wright NEW16Stephen Shaw
1043Leon M BologniaSpain2026-06-14Printing Dimensions NEGOTIATION51Elwin Sharvill
1044Maisha Q NickaCanada2026-06-01Feiner Bros NEGOTIATION12Ivan Magalhaes
1045James H RutaIndia2026-06-22Rousseaux, Michael Esq NEW13Xuxue Feng
1046Costa K GlickSpain2026-06-04King, Christopher A Esq NEGOTIATION95Xuxue Feng
1047Maria V KolmetzFrance2026-06-03Benton, John B Jr NEGOTIATION36Asiya Javayant
1048Maisha K FerenczBrazil2026-06-02Feltz Printing Service NEW71Anna Fali
1049Octavia G IturbideJapan2026-06-11Benton, John B Jr NEGOTIATION94Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Alejandro L BowleyBrazilStephen Shaw NEGOTIATION
Chavez R AlbaresSpainElwin Sharvill NEGOTIATION
Julie C CampainRussiaXuxue Feng QUALIFIED
Mujtaba Y BriddickJapanOnyama Limba UNQUALIFIED
Adams W SlusarskiJapanBernardo Dominic NEGOTIATION
Cody R CaldareraArgentinaOnyama Limba NEGOTIATION
Julie Q TollnerIndiaIvan Magalhaes NEGOTIATION
Darci E RoysterJapanBernardo Dominic QUALIFIED
Clifford I OldroydIndiaElwin Sharvill RENEWAL
Francesco T RulapaughJapanElwin Sharvill NEW
Rodrigues P StensethIndiaOnyama Limba NEGOTIATION
Smith I MaletFranceStephen Shaw RENEWAL
Chavez I AmigonArgentinaIvan Magalhaes UNQUALIFIED
Jennifer F OldroydCanadaStephen Shaw QUALIFIED
Darci A PaprockiIndiaAsiya Javayant RENEWAL
Deepesh P ShinkoCanadaElwin Sharvill NEW
Johnson X FollerIndiaStephen Shaw PROPOSAL
Jones D OldroydFranceAnna Fali UNQUALIFIED
Emily A RoysterItalyAsiya Javayant PROPOSAL
Cody I DarakjyJapanElwin Sharvill NEGOTIATION
Murillo B SaylorsBrazilIoni Bowcher NEW
Jennifer C VenereItalyIvan Magalhaes NEGOTIATION
Cody J DilliardRussiaAmy Elsner UNQUALIFIED
Wickens N BriddickGermanyIoni Bowcher QUALIFIED
Sinclair T GillianItalyIvan Magalhaes PROPOSAL
Clifford H VenereIndiaAnna Fali QUALIFIED
Maisha U TollnerAustraliaIoni Bowcher NEW
Jones O SchemmerJapanIvan Magalhaes UNQUALIFIED
James I RutaFranceAnna Fali NEW
Izzy U CampainArgentinaOnyama Limba RENEWAL
David K MaletItalyOnyama Limba NEW
Johnson D MaletSpainStephen Shaw UNQUALIFIED
Kaitlin F MaletJapanIoni Bowcher PROPOSAL
Antonio N WaycottBrazilIoni Bowcher RENEWAL
Izzy W FollerRussiaElwin Sharvill PROPOSAL
Greenwood J StensethRussiaBernardo Dominic PROPOSAL
Jones F DoeIndiaBernardo Dominic QUALIFIED
Leon X RutaIndiaBernardo Dominic PROPOSAL
Claire I DoeFranceBernardo Dominic NEW
Misaki M TollnerCanadaAsiya Javayant UNQUALIFIED
Murillo I NickaIndiaAmy Elsner PROPOSAL
Aika Q SaylorsFranceIoni Bowcher NEW
Julie Q NestleItalyBernardo Dominic PROPOSAL
Leon V RimRussiaElwin Sharvill UNQUALIFIED
Julie Y WaycottFranceAmy Elsner UNQUALIFIED
Salvatore N FigeroaBrazilBernardo Dominic RENEWAL
Claire L CampainIndiaElwin Sharvill NEGOTIATION
Adams H ButtFranceBernardo Dominic NEW
Cody M VocelkaGermanyIvan Magalhaes PROPOSAL
Deepesh O CaudyArgentinaBernardo Dominic QUALIFIED
Frozen Columns
Name
Isabel J Campain
Kaitlin Q Kusko
Mayumi W Butt
Maisha L Maclead
Izzy W Caldarera
Octavia F Kusko
Silvio D Figeroa
Stacey U Venere
Leja E Stenseth
Cody O Campain
Leja B Oldroyd
Kadeem B Malet
Misaki S Caudy
Morrow R Foller
Cody Y Briddick
Jefferson V Nicka
Maisha D Albares
Salvatore F Ostrosky
Antonio R Gaucho
Jefferson U Poquette
Ashley E Saylors
Claire Z Slusarski
Nicolas V Darakjy
Kadeem C Rim
Emily L Albares
Maria Z Maclead
Izzy O Perin
Mayumi Y Amigon
Tony J Marrier
Isabel K Kolmetz
Octavia U Shinko
Greenwood U Schemmer
Octavia P Caudy
Munro B Caudy
Izzy A Gaucho
Jennifer V Chui
Julie B Flosi
Jones F Caldarera
Juan U Morasca
Nicolas F Caudy
Costa I Chui
Greenwood Q Figeroa
Faith X Gaucho
Wickens P Schemmer
Francesco X Kolmetz
Kaitlin B Paprocki
Salvatore N Bowley
Jeanfrancois K Ferencz
Salvatore Y Chui
Juan B Perin
IdCountryDate
1000Brazil2026-06-05
1001Germany2026-06-16
1002Australia2026-05-30
1003United Kingdom2026-06-17
1004France2026-06-22
1005Brazil2026-06-04
1006Italy2026-06-09
1007India2026-06-26
1008India2026-06-18
1009Australia2026-06-21
1010Argentina2026-06-26
1011Japan2026-06-24
1012France2026-06-02
1013United Kingdom2026-06-06
1014Italy2026-06-08
1015Russia2026-05-30
1016Brazil2026-06-14
1017Argentina2026-06-10
1018India2026-06-08
1019Argentina2026-06-16
1020Germany2026-06-15
1021United Kingdom2026-06-24
1022Japan2026-06-03
1023Russia2026-06-03
1024Brazil2026-06-06
1025Russia2026-06-19
1026Argentina2026-06-26
1027Brazil2026-06-22
1028Russia2026-06-04
1029Australia2026-06-23
1030France2026-06-10
1031Italy2026-06-08
1032Japan2026-06-22
1033Brazil2026-06-25
1034Italy2026-06-19
1035India2026-06-02
1036Canada2026-06-25
1037Argentina2026-06-19
1038Germany2026-06-22
1039Russia2026-06-02
1040Canada2026-05-29
1041United Kingdom2026-06-18
1042Brazil2026-06-10
1043Brazil2026-06-09
1044Germany2026-06-18
1045Italy2026-06-04
1046Spain2026-06-17
1047France2026-06-18
1048Australia2026-06-03
1049India2026-06-27

On-Demand Data

NameIdCountryDate
Maria C Perin1000Russia2026-05-29
Jefferson D Waycott1001India2026-06-01
Antonio S Bolognia1002United Kingdom2026-06-12
Silvio M Rim1003Argentina2026-06-19
Adams N Rim1004Japan2026-06-12
Misaki W Caldarera1005Spain2026-06-21
Greenwood A Stockham1006France2026-06-01
Isabel N Gaucho1007Spain2026-06-20
Leon O Rim1008United Kingdom2026-06-26
Nicolas Y Venere1009Germany2026-06-15
Arvin A Gaucho1010Germany2026-06-05
Darci B Whobrey1011Italy2026-06-27
Arvin E Caldarera1012Argentina2026-06-02
Claire K Paprocki1013Italy2026-06-16
Ivar W Royster1014France2026-06-12
James S Figeroa1015Canada2026-06-17
Faith U Bolognia1016Australia2026-06-12
Ashley M Perin1017Canada2026-06-05
Faith Y Dilliard1018Argentina2026-06-04
Darci N Kolmetz1019Japan2026-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro T SlusarskiCanadaOnyama Limba QUALIFIED
Salvatore D KuskoRussiaIoni Bowcher NEW
Morrow T RoysterAustraliaAsiya Javayant RENEWAL
Maisha W VenereIndiaAnna Fali NEGOTIATION
Maisha A PerinItalyXuxue Feng RENEWAL
Juan H KolmetzFranceAsiya Javayant QUALIFIED
Octavia I PoquetteJapanElwin Sharvill QUALIFIED
Francesco I MacleadBrazilIoni Bowcher NEW
Maisha X FlosiAustraliaStephen Shaw UNQUALIFIED
Ivar P RoysterBrazilElwin Sharvill UNQUALIFIED
Jennifer U RoysterJapanIoni Bowcher PROPOSAL
Ashley P BowleyGermanyIoni Bowcher PROPOSAL
Arvin K StensethAustraliaIvan Magalhaes NEW
Mujtaba L FollerIndiaIvan Magalhaes QUALIFIED
Rodrigues F ButtItalyAmy Elsner PROPOSAL
Ashley D GillianJapanStephen Shaw RENEWAL
Alejandro I StockhamCanadaIoni Bowcher PROPOSAL
Alejandro L WaycottCanadaBernardo Dominic PROPOSAL
Faith G PoquetteUnited KingdomStephen Shaw RENEWAL
Ashley W AmigonGermanyXuxue Feng NEGOTIATION
Clifford K IturbideJapanOnyama Limba QUALIFIED
Claire E TollnerRussiaAsiya Javayant PROPOSAL
Jones V PerinSpainIoni Bowcher RENEWAL
Maria Z GillianJapanIoni Bowcher NEW
Octavia R PaprockiIndiaXuxue Feng UNQUALIFIED
Rodrigues H OldroydIndiaIvan Magalhaes NEW
Nicolas J GarufiFranceAnna Fali UNQUALIFIED
Antonio O SlusarskiGermanyElwin Sharvill NEW
Adams I CaldareraAustraliaStephen Shaw PROPOSAL
Ivar P NickaBrazilOnyama Limba PROPOSAL
Darci B NestleCanadaAnna Fali PROPOSAL
David W AmigonSpainElwin Sharvill NEW
Wickens I CaldareraRussiaAsiya Javayant QUALIFIED
Greenwood M SergiCanadaBernardo Dominic PROPOSAL
Aika I WieserGermanyIoni Bowcher NEGOTIATION
Morrow E ButtArgentinaAmy Elsner PROPOSAL
Jennifer K GarufiBrazilAmy Elsner UNQUALIFIED
Aika E PerinSpainBernardo Dominic QUALIFIED
Greenwood B WhobreyCanadaIoni Bowcher PROPOSAL
Mayumi E WhobreyRussiaAnna Fali 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.