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
Darci S VenereCanadaXuxue Feng QUALIFIED
Ivar D SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
Octavia P ChuiJapanAnna Fali NEW
Adams K DilliardRussiaOnyama Limba UNQUALIFIED
Francesco Q DilliardIndiaElwin Sharvill PROPOSAL
Nicolas V GarufiIndiaElwin Sharvill NEGOTIATION
Arvin W NestleRussiaIoni Bowcher QUALIFIED
Rodrigues Z BologniaBrazilAnna Fali NEW
Ashley K GarufiUnited KingdomStephen Shaw PROPOSAL
Silvio G ChuiSpainIvan Magalhaes NEGOTIATION
Ashley U ShinkoFranceBernardo Dominic PROPOSAL
Ashley C CaudyFranceAsiya Javayant RENEWAL
Nicolas Z BowleyGermanyAnna Fali RENEWAL
Francesco M PaprockiRussiaAnna Fali NEW
Ricardo J CaldareraItalyAsiya Javayant RENEWAL
Clifford H FigeroaGermanyBernardo Dominic RENEWAL
Francesco W DilliardRussiaBernardo Dominic PROPOSAL
Faith X NickaArgentinaAsiya Javayant NEGOTIATION
Leja T FigeroaFranceAsiya Javayant QUALIFIED
Octavia K FollerGermanyAmy Elsner RENEWAL
Ashley K ChuiItalyAmy Elsner UNQUALIFIED
Ricardo J MacleadUnited KingdomIvan Magalhaes PROPOSAL
Tony C NickaUnited KingdomBernardo Dominic UNQUALIFIED
Octavia F FlosiArgentinaAnna Fali QUALIFIED
Izzy I KuskoJapanIvan Magalhaes NEW
Emily R GillianJapanBernardo Dominic QUALIFIED
Silvio G MaletAustraliaIvan Magalhaes PROPOSAL
Misaki D FollerUnited KingdomElwin Sharvill NEW
Aika Y NestleUnited KingdomAmy Elsner NEGOTIATION
Rodrigues U PerinItalyStephen Shaw UNQUALIFIED
Jones U RutaBrazilElwin Sharvill QUALIFIED
Smith A BriddickArgentinaAnna Fali RENEWAL
Jones O RoysterFranceIoni Bowcher RENEWAL
Julie E BowleyIndiaElwin Sharvill QUALIFIED
Adams S IturbideUnited KingdomBernardo Dominic PROPOSAL
Salvatore S MorascaItalyAmy Elsner RENEWAL
Izzy V WieserSpainBernardo Dominic QUALIFIED
Smith H VocelkaUnited KingdomIvan Magalhaes NEW
Isabel P OstroskyArgentinaAmy Elsner QUALIFIED
Ricardo B ChuiFranceElwin Sharvill NEGOTIATION
Kadeem N GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Emily F TollnerFranceElwin Sharvill UNQUALIFIED
Cody E WhobreyJapanXuxue Feng PROPOSAL
Misaki F CaldareraItalyBernardo Dominic QUALIFIED
Julie Q FerenczFranceAnna Fali UNQUALIFIED
Jones E FollerItalyStephen Shaw NEGOTIATION
Jeanfrancois G TollnerGermanyElwin Sharvill UNQUALIFIED
Francesco E CampainAustraliaAnna Fali UNQUALIFIED
Rodrigues L FerenczItalyAnna Fali PROPOSAL
Maisha V MacleadGermanyAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Sinclair Y RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas R SaylorsSpainAsiya Javayant RENEWAL
Juan R OstroskyGermanyBernardo Dominic PROPOSAL
Morrow Q DarakjyItalyIvan Magalhaes UNQUALIFIED
Costa P StockhamGermanyAnna Fali UNQUALIFIED
Leon X WhobreyJapanAsiya Javayant NEW
Juan D FerenczIndiaAnna Fali UNQUALIFIED
Silvio A KolmetzGermanyAnna Fali RENEWAL
James U FerenczUnited KingdomIvan Magalhaes NEW
Isabel W IturbideSpainBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh U ShinkoCanada2026-04-24Rousseaux, Michael Esq UNQUALIFIED19Ioni Bowcher
1001David P CaudySpain2026-04-14King, Christopher A Esq QUALIFIED65Amy Elsner
1002Emily M GarufiArgentina2026-04-22Rousseaux, Michael Esq NEW90Elwin Sharvill
1003Arvin S AmigonJapan2026-04-24Feiner Bros RENEWAL1Ioni Bowcher
1004Salvatore S WaycottFrance2026-04-07Benton, John B Jr RENEWAL15Elwin Sharvill
1005Emily A InouyeRussia2026-04-19King, Christopher A Esq QUALIFIED74Asiya Javayant
1006Morrow J WaycottItaly2026-04-22Benton, John B Jr PROPOSAL90Onyama Limba
1007Faith Y InouyeArgentina2026-04-10Rangoni Of Florence RENEWAL97Asiya Javayant
1008Adams G GillianGermany2026-04-10Rangoni Of Florence QUALIFIED61Stephen Shaw
1009Claire Q AlbaresArgentina2026-03-28Feltz Printing Service QUALIFIED99Ioni Bowcher
1010Leon Q CampainIndia2026-04-11Chanay, Jeffrey A Esq QUALIFIED13Asiya Javayant
1011Deepesh Y DoeAustralia2026-04-14Buckley Miller Wright PROPOSAL98Xuxue Feng
1012Mujtaba Q WhobreySpain2026-04-07Chemel, James L Cpa QUALIFIED40Ivan Magalhaes
1013Leon T NickaIndia2026-04-18Rousseaux, Michael Esq NEW14Xuxue Feng
1014Maisha I GillianJapan2026-04-23Feiner Bros PROPOSAL91Stephen Shaw
1015Arvin P WaycottArgentina2026-04-06Buckley Miller Wright RENEWAL73Anna Fali
1016Leja X WaycottCanada2026-04-06Rangoni Of Florence NEW93Ioni Bowcher
1017Stacey P SaylorsJapan2026-04-09Feiner Bros RENEWAL96Stephen Shaw
1018David D VocelkaArgentina2026-04-01Dorl, James J Esq RENEWAL22Stephen Shaw
1019Isabel X DoeFrance2026-04-16Chemel, James L Cpa NEW64Bernardo Dominic
1020Tony Y BowleyFrance2026-04-17Buckley Miller Wright NEW45Onyama Limba
1021Juan E StensethIndia2026-04-04Rangoni Of Florence NEW16Anna Fali
1022Antonio C RutaGermany2026-03-29Chapman, Ross E Esq RENEWAL81Ioni Bowcher
1023Antonio Y SergiArgentina2026-04-15Printing Dimensions NEW89Onyama Limba
1024Smith B MorascaIndia2026-04-16Chapman, Ross E Esq PROPOSAL9Amy Elsner
1025Francesco L RulapaughGermany2026-03-27Buckley Miller Wright QUALIFIED93Ioni Bowcher
1026Leon O CampainFrance2026-04-09Commercial Press RENEWAL15Amy Elsner
1027Maisha V GarufiArgentina2026-03-28Chemel, James L Cpa NEGOTIATION49Amy Elsner
1028Julie D KuskoItaly2026-04-13Rousseaux, Michael Esq PROPOSAL16Stephen Shaw
1029Silvio T RulapaughUnited Kingdom2026-04-14Printing Dimensions RENEWAL51Onyama Limba
1030Jennifer E GauchoIndia2026-04-05Dorl, James J Esq UNQUALIFIED98Stephen Shaw
1031Maria U FerenczFrance2026-04-07Chapman, Ross E Esq QUALIFIED1Stephen Shaw
1032Leja M RutaFrance2026-03-31Chemel, James L Cpa NEW69Ioni Bowcher
1033Wickens W IturbideArgentina2026-04-05Feltz Printing Service PROPOSAL85Ioni Bowcher
1034Arvin Y TollnerArgentina2026-04-04Morlong Associates QUALIFIED77Amy Elsner
1035Arvin N GlickItaly2026-04-12King, Christopher A Esq QUALIFIED33Onyama Limba
1036Antonio W DarakjyArgentina2026-04-23Truhlar And Truhlar Attys RENEWAL29Stephen Shaw
1037Tony S VocelkaGermany2026-04-03Chanay, Jeffrey A Esq UNQUALIFIED46Ivan Magalhaes
1038Aruna G BowleyItaly2026-04-06Commercial Press RENEWAL35Ioni Bowcher
1039Darci Q GauchoItaly2026-04-19Benton, John B Jr UNQUALIFIED35Amy Elsner
1040Kaitlin Y KolmetzAustralia2026-04-11Rangoni Of Florence PROPOSAL15Bernardo Dominic
1041Deepesh B TollnerSpain2026-04-09Feiner Bros RENEWAL78Elwin Sharvill
1042Octavia S CampainCanada2026-04-23Printing Dimensions RENEWAL36Ioni Bowcher
1043Emily H WieserAustralia2026-04-19Feiner Bros QUALIFIED73Anna Fali
1044Jennifer A RutaItaly2026-04-24Rousseaux, Michael Esq PROPOSAL52Stephen Shaw
1045Leon V MarrierBrazil2026-03-29Commercial Press NEW82Elwin Sharvill
1046Maisha W MorascaSpain2026-04-04Chanay, Jeffrey A Esq NEGOTIATION50Amy Elsner
1047Leon Q RoysterCanada2026-04-24Printing Dimensions NEW10Elwin Sharvill
1048Adams M WieserRussia2026-04-07Chapman, Ross E Esq NEGOTIATION97Ivan Magalhaes
1049Salvatore J StockhamGermany2026-04-01Printing Dimensions NEGOTIATION6Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Claire F NickaBrazilIoni Bowcher QUALIFIED
Francesco J FlosiCanadaElwin Sharvill QUALIFIED
Aruna E FollerJapanIoni Bowcher UNQUALIFIED
Jeanfrancois R FigeroaSpainOnyama Limba PROPOSAL
Mujtaba V CaudyAustraliaOnyama Limba NEGOTIATION
Isabel A KolmetzGermanyIvan Magalhaes UNQUALIFIED
Mujtaba J OldroydBrazilOnyama Limba UNQUALIFIED
Arvin D BologniaCanadaIvan Magalhaes QUALIFIED
Deepesh Y PoquetteJapanIoni Bowcher RENEWAL
Murillo U SergiSpainOnyama Limba QUALIFIED
Claire Z WhobreyJapanXuxue Feng UNQUALIFIED
Clifford M ButtArgentinaXuxue Feng RENEWAL
Kaitlin V PoquetteItalyOnyama Limba PROPOSAL
Jones Q RutaBrazilAmy Elsner QUALIFIED
Francesco I GauchoIndiaIvan Magalhaes NEW
James K StockhamJapanAsiya Javayant RENEWAL
Maria V BowleySpainAmy Elsner NEGOTIATION
Munro I WhobreyRussiaIoni Bowcher PROPOSAL
Alejandro Q RutaGermanyAmy Elsner PROPOSAL
David T RutaCanadaOnyama Limba RENEWAL
Murillo Z SaylorsItalyXuxue Feng PROPOSAL
Aditya W NickaSpainAsiya Javayant NEW
Kadeem K GauchoIndiaIoni Bowcher UNQUALIFIED
Darci G GarufiCanadaAmy Elsner PROPOSAL
Leja S OstroskyIndiaAsiya Javayant NEGOTIATION
Mayumi K InouyeJapanAmy Elsner RENEWAL
Claire V OldroydFranceOnyama Limba RENEWAL
Alejandro U GillianGermanyElwin Sharvill UNQUALIFIED
Juan E SergiIndiaBernardo Dominic NEW
James P FollerItalyAsiya Javayant RENEWAL
Aruna F AlbaresBrazilAnna Fali NEGOTIATION
Maisha L OldroydArgentinaAmy Elsner RENEWAL
Leon U DarakjyBrazilIoni Bowcher PROPOSAL
Isabel E VocelkaBrazilAnna Fali PROPOSAL
Kadeem C PoquetteGermanyIvan Magalhaes NEGOTIATION
Mujtaba E RimArgentinaIoni Bowcher NEW
Deepesh S CampainSpainAmy Elsner RENEWAL
Mujtaba R KuskoItalyBernardo Dominic UNQUALIFIED
Stacey K CaudyArgentinaIoni Bowcher QUALIFIED
Murillo R WhobreyAustraliaIvan Magalhaes RENEWAL
Clifford Y RutaCanadaStephen Shaw PROPOSAL
Smith Z TollnerBrazilIoni Bowcher PROPOSAL
Adams J TollnerIndiaXuxue Feng NEGOTIATION
Francesco L VenereFranceOnyama Limba PROPOSAL
Isabel X ButtJapanBernardo Dominic UNQUALIFIED
Aika S RimGermanyIoni Bowcher QUALIFIED
Alejandro H MorascaSpainIoni Bowcher QUALIFIED
Aika Q RoysterArgentinaAmy Elsner UNQUALIFIED
Deepesh M KuskoAustraliaIoni Bowcher UNQUALIFIED
Antonio J FollerBrazilOnyama Limba PROPOSAL
Frozen Columns
Name
Clifford D Rulapaugh
Murillo A Nestle
Darci J Maclead
Julie C Vocelka
Johnson C Royster
Aruna U Foller
Johnson I Doe
Aditya W Paprocki
Clifford I Poquette
Wickens X Rim
Costa S Saylors
Adams Y Butt
Munro V Tollner
Greenwood F Butt
Chavez P Paprocki
Ashley Z Gaucho
Leon S Iturbide
Jeanfrancois S Oldroyd
David V Gaucho
Aditya H Doe
Tony Q Foller
Aruna P Caldarera
Alejandro B Nestle
Chavez V Rulapaugh
Leja E Nicka
Antonio H Nestle
Maria D Nicka
Stacey V Venere
Mayumi F Kolmetz
Mujtaba A Ostrosky
Chavez K Waycott
Mujtaba L Whobrey
Claire O Dilliard
Cody N Malet
Octavia S Caldarera
Aditya H Campain
Morrow H Caudy
Aika V Schemmer
Emily D Malet
Faith N Vocelka
James F Morasca
James A Whobrey
Chavez O Campain
Aruna E Vocelka
Ricardo S Waycott
Kadeem F Nestle
Jeanfrancois V Malet
Alejandro H Schemmer
Silvio I Caudy
Faith O Maclead
IdCountryDate
1000Brazil2026-04-02
1001Argentina2026-04-13
1002Italy2026-04-02
1003India2026-03-28
1004United Kingdom2026-04-21
1005Argentina2026-04-05
1006Japan2026-03-26
1007France2026-03-28
1008Australia2026-03-30
1009Argentina2026-04-23
1010Spain2026-04-17
1011United Kingdom2026-04-06
1012Canada2026-04-11
1013Canada2026-04-17
1014Russia2026-04-12
1015Italy2026-03-31
1016Spain2026-04-04
1017United Kingdom2026-03-27
1018United Kingdom2026-04-17
1019Russia2026-04-16
1020Brazil2026-03-30
1021Argentina2026-04-09
1022Germany2026-04-05
1023Brazil2026-04-11
1024Germany2026-04-08
1025Italy2026-04-10
1026Argentina2026-03-30
1027United Kingdom2026-03-30
1028Brazil2026-04-23
1029Italy2026-03-28
1030Germany2026-04-01
1031United Kingdom2026-03-29
1032United Kingdom2026-04-12
1033Spain2026-04-24
1034Brazil2026-04-16
1035Italy2026-03-30
1036Italy2026-04-14
1037Canada2026-04-16
1038Spain2026-04-13
1039Australia2026-04-09
1040Japan2026-03-27
1041Germany2026-04-07
1042Canada2026-04-05
1043France2026-04-02
1044Canada2026-04-14
1045United Kingdom2026-04-13
1046Russia2026-03-26
1047France2026-04-15
1048United Kingdom2026-04-15
1049Australia2026-04-15

On-Demand Data

NameIdCountryDate
Darci V Paprocki1000Brazil2026-03-29
Maria C Caudy1001Argentina2026-04-19
Deepesh O Amigon1002Brazil2026-04-07
Mujtaba F Kolmetz1003Japan2026-04-14
Leja D Malet1004Brazil2026-04-10
Isabel E Amigon1005Japan2026-04-02
Smith U Venere1006Canada2026-03-28
Alejandro W Shinko1007India2026-04-09
Arvin L Nicka1008United Kingdom2026-03-27
Salvatore S Saylors1009Australia2026-04-04
Nicolas U Slusarski1010Japan2026-03-26
Salvatore C Caudy1011Russia2026-04-07
Jeanfrancois I Perin1012Brazil2026-03-27
Claire F Chui1013Brazil2026-04-04
Sinclair X Schemmer1014Germany2026-04-16
Faith I Sergi1015France2026-04-20
Francesco J Nicka1016United Kingdom2026-04-19
Sinclair U Kusko1017Australia2026-04-23
Francesco Y Malet1018Russia2026-03-26
Jeanfrancois M Ruta1019France2026-03-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin P BologniaRussiaElwin Sharvill UNQUALIFIED
Wickens S PaprockiArgentinaAmy Elsner UNQUALIFIED
Antonio U KolmetzItalyAsiya Javayant NEGOTIATION
Maria F KolmetzGermanyAmy Elsner RENEWAL
Mayumi D VenereAustraliaBernardo Dominic PROPOSAL
Mujtaba T WieserJapanStephen Shaw NEW
Antonio V PerinUnited KingdomBernardo Dominic PROPOSAL
Aruna N IturbideItalyOnyama Limba NEW
Jefferson L SchemmerCanadaXuxue Feng PROPOSAL
Jeanfrancois V KolmetzSpainAsiya Javayant UNQUALIFIED
Deepesh D RimFranceAnna Fali QUALIFIED
Silvio L NickaArgentinaAsiya Javayant RENEWAL
Wickens R CaudyGermanyIvan Magalhaes RENEWAL
Faith G RutaCanadaBernardo Dominic UNQUALIFIED
Tony Z FlosiBrazilXuxue Feng PROPOSAL
Munro B FigeroaBrazilElwin Sharvill NEW
Maisha T MaletFranceAnna Fali PROPOSAL
Isabel W ShinkoUnited KingdomIoni Bowcher NEW
Stacey N VenereArgentinaElwin Sharvill PROPOSAL
Greenwood A BologniaArgentinaBernardo Dominic UNQUALIFIED
Rodrigues L OldroydArgentinaIoni Bowcher NEGOTIATION
Misaki D RimJapanXuxue Feng PROPOSAL
Jennifer E DilliardGermanyStephen Shaw QUALIFIED
Cody E MacleadRussiaOnyama Limba QUALIFIED
Ricardo P ButtAustraliaOnyama Limba NEGOTIATION
Jones M GlickItalyAnna Fali PROPOSAL
Antonio P DoeArgentinaAsiya Javayant NEGOTIATION
Maisha D MorascaBrazilIoni Bowcher RENEWAL
Faith S DoeAustraliaElwin Sharvill NEGOTIATION
Jennifer S MorascaIndiaAmy Elsner UNQUALIFIED
Kadeem W RulapaughGermanyBernardo Dominic QUALIFIED
Jeanfrancois B SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Maria R IturbideAustraliaBernardo Dominic UNQUALIFIED
Johnson B SchemmerItalyAmy Elsner RENEWAL
Costa P StensethCanadaAnna Fali NEW
Octavia Q MaletGermanyIvan Magalhaes NEW
Aditya I AlbaresSpainIoni Bowcher NEGOTIATION
Jennifer B RimIndiaOnyama Limba RENEWAL
Misaki T OldroydItalyAsiya Javayant UNQUALIFIED
Tony F CaldareraGermanyAnna Fali NEGOTIATION

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