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
Jeanfrancois H BologniaFranceAmy Elsner PROPOSAL
Munro X VocelkaSpainAmy Elsner NEGOTIATION
Chavez O ShinkoSpainXuxue Feng RENEWAL
Chavez E ButtSpainAnna Fali RENEWAL
Juan P StockhamIndiaAsiya Javayant PROPOSAL
Nicolas B AmigonRussiaAnna Fali PROPOSAL
Leon H BriddickUnited KingdomBernardo Dominic QUALIFIED
Greenwood C RulapaughFranceAsiya Javayant NEW
James V GarufiSpainIvan Magalhaes NEGOTIATION
Faith T AmigonIndiaIoni Bowcher NEGOTIATION
Octavia R RoysterFranceStephen Shaw PROPOSAL
Cody R VocelkaUnited KingdomOnyama Limba RENEWAL
Cody B NestleBrazilBernardo Dominic NEGOTIATION
Aditya K SergiIndiaXuxue Feng NEGOTIATION
Darci R OldroydSpainBernardo Dominic NEW
Salvatore P FerenczIndiaOnyama Limba NEW
Munro N WieserUnited KingdomElwin Sharvill NEW
Cody C PoquetteArgentinaStephen Shaw NEGOTIATION
Morrow A MorascaAustraliaOnyama Limba UNQUALIFIED
Greenwood B PaprockiGermanyStephen Shaw PROPOSAL
Maria D PoquetteBrazilAnna Fali UNQUALIFIED
Jefferson H AmigonSpainOnyama Limba QUALIFIED
Ashley P DarakjyArgentinaStephen Shaw PROPOSAL
Darci A RulapaughJapanElwin Sharvill QUALIFIED
Isabel I OldroydIndiaStephen Shaw PROPOSAL
Alejandro D InouyeAustraliaStephen Shaw QUALIFIED
Deepesh M RimSpainXuxue Feng NEW
Maisha S ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Smith C DilliardCanadaStephen Shaw UNQUALIFIED
David Q VocelkaGermanyElwin Sharvill NEGOTIATION
Jones S PerinCanadaAmy Elsner NEW
Tony H PoquetteUnited KingdomXuxue Feng NEW
Alejandro K GlickAustraliaOnyama Limba PROPOSAL
Leja B IturbideItalyIoni Bowcher NEGOTIATION
Darci P NestleArgentinaIvan Magalhaes QUALIFIED
Arvin A BologniaSpainIvan Magalhaes PROPOSAL
Nicolas J BowleyRussiaElwin Sharvill RENEWAL
Nicolas I BologniaBrazilXuxue Feng UNQUALIFIED
Deepesh P GarufiAustraliaIoni Bowcher UNQUALIFIED
Deepesh E NestleSpainXuxue Feng QUALIFIED
Aika S OstroskyItalyIvan Magalhaes QUALIFIED
Rodrigues H SlusarskiFranceXuxue Feng QUALIFIED
Antonio O KuskoIndiaStephen Shaw UNQUALIFIED
Sinclair O SaylorsJapanAnna Fali NEW
Antonio T ShinkoCanadaIvan Magalhaes NEGOTIATION
Arvin X NestleGermanyIvan Magalhaes PROPOSAL
Costa L CaudyIndiaAsiya Javayant RENEWAL
Silvio A OldroydUnited KingdomXuxue Feng UNQUALIFIED
Maisha J OstroskyJapanIvan Magalhaes RENEWAL
Alejandro J MorascaCanadaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia R RimFranceStephen Shaw UNQUALIFIED
Nicolas W WieserSpainAmy Elsner NEGOTIATION
Aika N ButtSpainAmy Elsner PROPOSAL
Adams U KuskoGermanyIvan Magalhaes UNQUALIFIED
Jefferson Z DoeFranceOnyama Limba QUALIFIED
Mayumi W StensethSpainOnyama Limba UNQUALIFIED
Salvatore P MorascaArgentinaElwin Sharvill RENEWAL
Leon K KolmetzRussiaOnyama Limba PROPOSAL
Mayumi T FollerBrazilAsiya Javayant PROPOSAL
Cody S MaletIndiaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem D MorascaCanada2026-06-16Benton, John B Jr NEW65Stephen Shaw
1001Julie C SchemmerCanada2026-06-24Chemel, James L Cpa PROPOSAL66Anna Fali
1002Aditya T BowleyBrazil2026-06-14Printing Dimensions RENEWAL32Stephen Shaw
1003David C PaprockiUnited Kingdom2026-06-02Rousseaux, Michael Esq PROPOSAL46Xuxue Feng
1004Clifford O VocelkaCanada2026-06-07Rangoni Of Florence RENEWAL49Onyama Limba
1005Tony I OstroskyArgentina2026-06-07Buckley Miller Wright NEGOTIATION6Xuxue Feng
1006Deepesh H AmigonAustralia2026-06-05Truhlar And Truhlar Attys NEW18Bernardo Dominic
1007Jennifer B KolmetzUnited Kingdom2026-06-24Dorl, James J Esq UNQUALIFIED78Bernardo Dominic
1008Francesco J VocelkaArgentina2026-06-22King, Christopher A Esq PROPOSAL73Amy Elsner
1009Octavia N OldroydRussia2026-06-01Commercial Press QUALIFIED74Ioni Bowcher
1010Maria M TollnerUnited Kingdom2026-06-26Chemel, James L Cpa NEGOTIATION71Stephen Shaw
1011Salvatore T BriddickAustralia2026-06-14Rangoni Of Florence QUALIFIED34Xuxue Feng
1012Kaitlin A BriddickIndia2026-06-09Chanay, Jeffrey A Esq NEW7Elwin Sharvill
1013Ivar Q MorascaJapan2026-06-13Feiner Bros QUALIFIED35Elwin Sharvill
1014Faith G FerenczGermany2026-06-25Rousseaux, Michael Esq UNQUALIFIED12Stephen Shaw
1015Maria C RutaGermany2026-06-04Printing Dimensions NEGOTIATION2Stephen Shaw
1016Maisha K DarakjySpain2026-05-30Chemel, James L Cpa RENEWAL36Anna Fali
1017Silvio S PaprockiBrazil2026-06-23Feiner Bros PROPOSAL31Ioni Bowcher
1018Smith Y MaletIndia2026-06-26King, Christopher A Esq QUALIFIED76Ivan Magalhaes
1019Aika L NickaSpain2026-06-02King, Christopher A Esq NEW34Elwin Sharvill
1020Ivar N SaylorsGermany2026-05-30Feiner Bros PROPOSAL51Xuxue Feng
1021Kadeem M FlosiSpain2026-06-23Morlong Associates QUALIFIED94Ioni Bowcher
1022James E PaprockiGermany2026-06-19Commercial Press NEW88Ivan Magalhaes
1023Leja C SergiCanada2026-06-01Feiner Bros QUALIFIED22Amy Elsner
1024Costa V GillianUnited Kingdom2026-05-30Truhlar And Truhlar Attys NEW95Ivan Magalhaes
1025Arvin X BologniaFrance2026-05-31Feltz Printing Service UNQUALIFIED59Anna Fali
1026Faith A RulapaughArgentina2026-06-27Dorl, James J Esq NEGOTIATION19Stephen Shaw
1027Costa C KolmetzUnited Kingdom2026-06-20Commercial Press QUALIFIED31Anna Fali
1028Mayumi N TollnerCanada2026-06-16Buckley Miller Wright RENEWAL57Ivan Magalhaes
1029Julie I VenereUnited Kingdom2026-06-17Commercial Press QUALIFIED39Amy Elsner
1030Darci E IturbideAustralia2026-06-17Morlong Associates QUALIFIED25Amy Elsner
1031Aruna G OldroydItaly2026-06-27Feltz Printing Service NEW48Anna Fali
1032Sinclair Q GarufiUnited Kingdom2026-06-25Rousseaux, Michael Esq QUALIFIED96Xuxue Feng
1033Ricardo G DarakjyIndia2026-06-25Dorl, James J Esq PROPOSAL78Bernardo Dominic
1034Munro M KuskoArgentina2026-06-16Chanay, Jeffrey A Esq UNQUALIFIED60Bernardo Dominic
1035Deepesh S CaldareraArgentina2026-06-15Rangoni Of Florence NEGOTIATION25Xuxue Feng
1036Kadeem F WhobreyGermany2026-06-19Commercial Press NEW22Bernardo Dominic
1037Arvin D DilliardUnited Kingdom2026-06-04Chanay, Jeffrey A Esq QUALIFIED95Asiya Javayant
1038Octavia J SchemmerIndia2026-06-09Buckley Miller Wright QUALIFIED7Onyama Limba
1039Aruna P WhobreyFrance2026-06-04Printing Dimensions RENEWAL28Elwin Sharvill
1040James T MaletSpain2026-06-11Morlong Associates NEGOTIATION82Xuxue Feng
1041Sinclair F MacleadSpain2026-06-15King, Christopher A Esq QUALIFIED25Bernardo Dominic
1042Jefferson V SergiFrance2026-06-12Commercial Press NEW52Stephen Shaw
1043Stacey D ShinkoIndia2026-06-13Printing Dimensions RENEWAL52Amy Elsner
1044Alejandro M RutaBrazil2026-06-08Truhlar And Truhlar Attys QUALIFIED0Onyama Limba
1045Antonio Z SergiArgentina2026-06-10Feiner Bros NEGOTIATION33Amy Elsner
1046Nicolas B KolmetzItaly2026-06-01Chanay, Jeffrey A Esq RENEWAL11Stephen Shaw
1047Leon L IturbideCanada2026-06-25Rangoni Of Florence NEGOTIATION12Elwin Sharvill
1048Smith T RoysterAustralia2026-06-11Dorl, James J Esq RENEWAL21Anna Fali
1049Clifford B RutaUnited Kingdom2026-06-28Feiner Bros UNQUALIFIED59Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois C NestleGermanyAsiya Javayant UNQUALIFIED
Aditya W MaletItalyOnyama Limba NEW
Tony W AmigonArgentinaOnyama Limba RENEWAL
David I IturbideItalyStephen Shaw RENEWAL
Costa H MarrierItalyIvan Magalhaes RENEWAL
Nicolas E IturbideArgentinaIoni Bowcher RENEWAL
Ricardo S ButtIndiaIoni Bowcher NEGOTIATION
Jeanfrancois T RulapaughFranceAnna Fali QUALIFIED
Arvin O NickaJapanAsiya Javayant UNQUALIFIED
Mujtaba S OstroskyRussiaStephen Shaw NEW
Silvio R MacleadAustraliaIvan Magalhaes NEGOTIATION
Ricardo V NickaIndiaIoni Bowcher NEW
Cody A IturbideBrazilAnna Fali NEW
Jeanfrancois A AmigonUnited KingdomAnna Fali QUALIFIED
Juan Y AlbaresIndiaIoni Bowcher PROPOSAL
Morrow A GarufiFranceXuxue Feng RENEWAL
Tony V RoysterRussiaElwin Sharvill NEW
Claire K BriddickSpainAnna Fali PROPOSAL
Antonio V KolmetzItalyAsiya Javayant PROPOSAL
Smith M GauchoArgentinaOnyama Limba UNQUALIFIED
Mayumi Z FollerUnited KingdomElwin Sharvill QUALIFIED
Antonio L ChuiArgentinaIvan Magalhaes QUALIFIED
Kadeem U OldroydUnited KingdomOnyama Limba PROPOSAL
Julie R AmigonJapanAnna Fali NEGOTIATION
Mujtaba K KuskoArgentinaOnyama Limba UNQUALIFIED
Cody V StockhamCanadaOnyama Limba QUALIFIED
David D FollerFranceElwin Sharvill RENEWAL
Leja X GauchoBrazilIoni Bowcher PROPOSAL
Aika Q RulapaughArgentinaAnna Fali UNQUALIFIED
Sinclair N StensethItalyOnyama Limba RENEWAL
Tony B RoysterFranceIvan Magalhaes RENEWAL
Julie I PaprockiGermanyAsiya Javayant NEGOTIATION
Deepesh Q MarrierItalyAsiya Javayant QUALIFIED
Aditya S AlbaresIndiaIoni Bowcher NEW
Ivar A FigeroaJapanElwin Sharvill RENEWAL
Murillo G StensethSpainAsiya Javayant NEGOTIATION
Mujtaba U DoeJapanAmy Elsner RENEWAL
Leon Y WhobreyFranceIvan Magalhaes QUALIFIED
Wickens R PaprockiArgentinaStephen Shaw NEW
Misaki J DilliardRussiaBernardo Dominic NEW
Rodrigues P GillianFranceIvan Magalhaes UNQUALIFIED
Ashley B FigeroaRussiaOnyama Limba QUALIFIED
Mujtaba F BowleyRussiaStephen Shaw RENEWAL
Aditya H WaycottAustraliaIoni Bowcher UNQUALIFIED
Rodrigues V PerinUnited KingdomOnyama Limba NEW
Johnson X InouyeUnited KingdomXuxue Feng NEGOTIATION
Tony A OldroydFranceIvan Magalhaes QUALIFIED
Kaitlin F IturbideArgentinaIvan Magalhaes UNQUALIFIED
Antonio D FerenczCanadaOnyama Limba QUALIFIED
Antonio U KolmetzAustraliaIoni Bowcher PROPOSAL
Frozen Columns
Name
Munro M Kolmetz
James F Perin
Octavia K Albares
Morrow S Amigon
Salvatore H Wieser
Emily Q Ruta
Mujtaba O Bolognia
Faith J Figeroa
Misaki B Wieser
Maria G Rulapaugh
Jefferson P Inouye
Silvio N Glick
Antonio H Kolmetz
Ricardo D Shinko
Aditya L Schemmer
Clifford O Shinko
Clifford I Butt
Munro C Ruta
James N Bolognia
Murillo J Maclead
Clifford N Tollner
Izzy J Maclead
Nicolas Q Flosi
Clifford Y Iturbide
Greenwood N Darakjy
Ricardo G Nicka
Darci R Flosi
James E Waycott
Chavez X Malet
Johnson L Maclead
Kadeem G Dilliard
Deepesh B Whobrey
Alejandro O Caudy
Costa G Whobrey
Salvatore Q Darakjy
Darci I Foller
James S Slusarski
Misaki U Gaucho
Izzy W Perin
Deepesh Z Sergi
Antonio I Shinko
Aika A Figeroa
Silvio F Sergi
Jones X Butt
Ricardo N Morasca
Ricardo L Malet
Kaitlin E Doe
Maria J Maclead
Izzy F Briddick
Costa C Nicka
IdCountryDate
1000Australia2026-06-05
1001France2026-06-27
1002Australia2026-06-15
1003Argentina2026-06-01
1004Argentina2026-06-10
1005Argentina2026-06-01
1006United Kingdom2026-06-14
1007France2026-06-11
1008Brazil2026-06-16
1009Argentina2026-06-02
1010Argentina2026-06-14
1011United Kingdom2026-06-09
1012Brazil2026-06-26
1013Italy2026-06-08
1014Italy2026-06-14
1015Australia2026-06-24
1016Germany2026-06-25
1017Japan2026-06-04
1018Japan2026-06-04
1019France2026-05-30
1020Russia2026-06-09
1021Germany2026-06-13
1022United Kingdom2026-06-14
1023Russia2026-05-31
1024France2026-06-08
1025United Kingdom2026-06-23
1026Japan2026-06-04
1027Spain2026-06-06
1028Argentina2026-06-15
1029Italy2026-06-15
1030Argentina2026-06-02
1031Germany2026-06-14
1032Spain2026-06-08
1033Spain2026-06-01
1034Argentina2026-06-11
1035Germany2026-06-11
1036Russia2026-06-13
1037Brazil2026-06-14
1038Japan2026-06-16
1039Canada2026-06-16
1040Italy2026-06-02
1041Spain2026-06-14
1042Australia2026-06-17
1043United Kingdom2026-06-25
1044Japan2026-06-01
1045India2026-06-21
1046Japan2026-06-23
1047Canada2026-06-10
1048United Kingdom2026-06-06
1049France2026-06-15

On-Demand Data

NameIdCountryDate
Smith T Maclead1000Italy2026-06-13
James E Bowley1001Spain2026-06-26
Francesco A Royster1002Brazil2026-06-23
James I Glick1003Australia2026-06-26
Ivar Q Vocelka1004India2026-06-25
Jennifer X Schemmer1005Brazil2026-06-10
Juan F Stockham1006United Kingdom2026-06-14
Jennifer W Foller1007Russia2026-06-20
Misaki A Chui1008India2026-06-25
Morrow Y Venere1009India2026-06-26
Francesco C Malet1010Argentina2026-06-17
Ivar X Oldroyd1011Japan2026-05-30
Jefferson E Slusarski1012Argentina2026-06-26
Jennifer S Malet1013Australia2026-06-04
James J Venere1014Canada2026-06-07
Wickens L Kolmetz1015Germany2026-06-13
Leja C Vocelka1016Argentina2026-06-27
Maria W Perin1017France2026-06-18
Mujtaba N Perin1018Brazil2026-06-23
Faith P Royster1019Canada2026-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois N VocelkaGermanyElwin Sharvill NEGOTIATION
Misaki Z VocelkaUnited KingdomXuxue Feng RENEWAL
Cody K GauchoAustraliaXuxue Feng QUALIFIED
Maria B InouyeIndiaIvan Magalhaes UNQUALIFIED
Munro S PerinUnited KingdomXuxue Feng RENEWAL
Tony R MacleadIndiaAnna Fali NEW
Murillo V MorascaBrazilIoni Bowcher NEGOTIATION
Antonio Q InouyeSpainOnyama Limba NEW
Ashley P KuskoSpainIvan Magalhaes RENEWAL
Arvin H WieserUnited KingdomStephen Shaw NEGOTIATION
Faith L NestleBrazilElwin Sharvill NEW
Silvio A OldroydGermanyAmy Elsner QUALIFIED
Kaitlin N GillianArgentinaAmy Elsner QUALIFIED
Silvio V RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Octavia C PerinRussiaXuxue Feng NEW
Izzy L PerinRussiaElwin Sharvill RENEWAL
Octavia E PaprockiFranceBernardo Dominic PROPOSAL
Rodrigues R CampainUnited KingdomOnyama Limba PROPOSAL
Francesco R InouyeFranceBernardo Dominic PROPOSAL
Rodrigues T MaletArgentinaIoni Bowcher NEW
Nicolas X InouyeRussiaAmy Elsner NEGOTIATION
Isabel E SlusarskiRussiaAmy Elsner QUALIFIED
Aditya U ButtAustraliaAsiya Javayant RENEWAL
Ashley G FollerArgentinaIvan Magalhaes NEGOTIATION
Julie R MaletBrazilAsiya Javayant NEGOTIATION
Jennifer U FollerBrazilIoni Bowcher UNQUALIFIED
Octavia N WhobreyFranceIoni Bowcher UNQUALIFIED
Silvio D DilliardCanadaIoni Bowcher RENEWAL
Juan G NickaJapanElwin Sharvill QUALIFIED
Leon Z AmigonJapanIoni Bowcher NEGOTIATION
Wickens O MaletItalyElwin Sharvill UNQUALIFIED
Johnson C PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Smith I CaldareraBrazilElwin Sharvill NEGOTIATION
Claire Y MorascaUnited KingdomBernardo Dominic QUALIFIED
Jefferson G DoeFranceXuxue Feng RENEWAL
Octavia K GauchoGermanyOnyama Limba NEW
Darci K RulapaughAustraliaAnna Fali RENEWAL
Kaitlin Y NickaBrazilIvan Magalhaes UNQUALIFIED
Tony Y BriddickRussiaElwin Sharvill NEW
Jones Y OldroydSpainIvan Magalhaes 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.