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
David H FigeroaItalyAmy Elsner NEGOTIATION
Wickens L AlbaresUnited KingdomXuxue Feng NEGOTIATION
Jefferson E MorascaJapanAsiya Javayant PROPOSAL
Darci R GauchoIndiaBernardo Dominic UNQUALIFIED
Faith X CampainFranceStephen Shaw QUALIFIED
Ivar O DilliardSpainBernardo Dominic NEGOTIATION
Leon E CampainItalyElwin Sharvill RENEWAL
Ivar O PaprockiCanadaIoni Bowcher QUALIFIED
Francesco P StensethUnited KingdomStephen Shaw NEGOTIATION
Cody V InouyeUnited KingdomAnna Fali PROPOSAL
Leja V SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki Y BologniaBrazilElwin Sharvill QUALIFIED
Jennifer G PerinIndiaAnna Fali NEW
Nicolas E MacleadJapanOnyama Limba UNQUALIFIED
Smith N FollerGermanyAmy Elsner QUALIFIED
Jeanfrancois G VocelkaArgentinaAsiya Javayant NEGOTIATION
Alejandro R CampainBrazilOnyama Limba UNQUALIFIED
Salvatore Q DoeFranceStephen Shaw NEGOTIATION
Wickens T StensethItalyOnyama Limba RENEWAL
Murillo F SlusarskiUnited KingdomStephen Shaw NEGOTIATION
Leon A NickaBrazilXuxue Feng NEW
Munro H WhobreyAustraliaStephen Shaw NEGOTIATION
Tony V VocelkaAustraliaAnna Fali QUALIFIED
Claire M OstroskyRussiaIvan Magalhaes UNQUALIFIED
Wickens V PerinSpainIvan Magalhaes PROPOSAL
Mayumi T CaudyUnited KingdomAsiya Javayant NEGOTIATION
Darci V StensethFranceAmy Elsner NEGOTIATION
Munro F FigeroaJapanElwin Sharvill QUALIFIED
Misaki A DilliardBrazilIoni Bowcher NEGOTIATION
Aditya T RutaIndiaOnyama Limba UNQUALIFIED
Jeanfrancois W WhobreyAustraliaElwin Sharvill NEGOTIATION
Darci T VenereRussiaAsiya Javayant NEGOTIATION
Jennifer W FlosiFranceElwin Sharvill RENEWAL
Antonio F GlickFranceAmy Elsner RENEWAL
Octavia L ButtBrazilAmy Elsner PROPOSAL
Salvatore S FlosiUnited KingdomStephen Shaw UNQUALIFIED
Isabel B TollnerCanadaAsiya Javayant RENEWAL
Darci P BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues M VocelkaGermanyOnyama Limba NEW
Smith S RulapaughSpainIvan Magalhaes QUALIFIED
James F MarrierJapanOnyama Limba NEGOTIATION
Jefferson U IturbideIndiaAmy Elsner PROPOSAL
Jones W AmigonCanadaOnyama Limba NEGOTIATION
Clifford M SergiGermanyAsiya Javayant NEW
Jefferson T WhobreyItalyXuxue Feng RENEWAL
Cody L MaletSpainBernardo Dominic NEW
Cody G CampainGermanyIoni Bowcher NEGOTIATION
Darci O ButtItalyStephen Shaw NEW
Johnson N CaudyItalyAmy Elsner NEGOTIATION
Izzy H RimAustraliaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Adams Z ButtUnited KingdomBernardo Dominic PROPOSAL
Francesco X RutaArgentinaElwin Sharvill UNQUALIFIED
Claire O IturbideIndiaXuxue Feng NEW
Emily G NestleJapanOnyama Limba RENEWAL
Misaki X OstroskyIndiaXuxue Feng NEW
Clifford F IturbideAustraliaIoni Bowcher RENEWAL
Greenwood V WaycottItalyXuxue Feng UNQUALIFIED
Arvin N MarrierIndiaAmy Elsner NEGOTIATION
Jeanfrancois N CampainBrazilStephen Shaw PROPOSAL
Johnson O NestleIndiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer S ShinkoFrance2026-03-01Chapman, Ross E Esq PROPOSAL15Elwin Sharvill
1001Chavez S GauchoGermany2026-02-14Rangoni Of Florence NEGOTIATION39Amy Elsner
1002Tony D FigeroaCanada2026-02-25Truhlar And Truhlar Attys RENEWAL96Asiya Javayant
1003Leja U DarakjyFrance2026-02-14Morlong Associates NEW20Amy Elsner
1004Mujtaba S GillianRussia2026-02-08Dorl, James J Esq NEW64Stephen Shaw
1005Murillo F GarufiGermany2026-02-27Chanay, Jeffrey A Esq NEGOTIATION66Ivan Magalhaes
1006Octavia T BriddickAustralia2026-02-14Chanay, Jeffrey A Esq NEW22Xuxue Feng
1007Rodrigues U RimIndia2026-02-15Rangoni Of Florence PROPOSAL85Ioni Bowcher
1008Smith K FigeroaArgentina2026-02-06King, Christopher A Esq NEW87Onyama Limba
1009Octavia U BriddickArgentina2026-03-03Rangoni Of Florence QUALIFIED50Elwin Sharvill
1010Arvin Q InouyeGermany2026-02-25Rousseaux, Michael Esq UNQUALIFIED5Ioni Bowcher
1011Morrow W MaletGermany2026-02-21Chanay, Jeffrey A Esq UNQUALIFIED73Xuxue Feng
1012Smith Y RoysterAustralia2026-02-08Chemel, James L Cpa QUALIFIED74Asiya Javayant
1013Cody B CaudyBrazil2026-03-02Chanay, Jeffrey A Esq UNQUALIFIED80Onyama Limba
1014David O OldroydJapan2026-02-18Chanay, Jeffrey A Esq PROPOSAL95Ivan Magalhaes
1015Stacey P FollerCanada2026-02-04Printing Dimensions NEW13Anna Fali
1016Morrow Z WieserFrance2026-02-11Dorl, James J Esq NEW92Onyama Limba
1017Ivar I ChuiAustralia2026-02-26Printing Dimensions PROPOSAL62Bernardo Dominic
1018Aika X SlusarskiJapan2026-02-15Buckley Miller Wright NEW19Asiya Javayant
1019Aditya R WieserJapan2026-03-04Feiner Bros UNQUALIFIED14Anna Fali
1020Johnson L FlosiCanada2026-02-24Rousseaux, Michael Esq NEGOTIATION39Ioni Bowcher
1021Emily A ButtAustralia2026-03-02Feiner Bros QUALIFIED6Amy Elsner
1022Smith T DoeSpain2026-02-25Chapman, Ross E Esq UNQUALIFIED7Bernardo Dominic
1023Stacey H GauchoCanada2026-02-06Dorl, James J Esq QUALIFIED49Ioni Bowcher
1024James G CampainArgentina2026-02-03Rousseaux, Michael Esq NEW61Xuxue Feng
1025Mujtaba O PaprockiCanada2026-03-04Buckley Miller Wright QUALIFIED50Elwin Sharvill
1026Aruna N NestleRussia2026-02-12Dorl, James J Esq PROPOSAL11Ivan Magalhaes
1027Jeanfrancois J RutaUnited Kingdom2026-02-14Commercial Press NEW74Ioni Bowcher
1028Adams X SaylorsJapan2026-03-02Morlong Associates UNQUALIFIED92Xuxue Feng
1029Octavia W GarufiJapan2026-02-14Dorl, James J Esq RENEWAL70Bernardo Dominic
1030Izzy H SlusarskiFrance2026-02-15King, Christopher A Esq PROPOSAL75Bernardo Dominic
1031Chavez J RutaIndia2026-02-17Truhlar And Truhlar Attys QUALIFIED38Ioni Bowcher
1032Jeanfrancois O MacleadAustralia2026-02-27Chemel, James L Cpa PROPOSAL37Anna Fali
1033Jeanfrancois R FlosiRussia2026-02-24Rousseaux, Michael Esq QUALIFIED42Asiya Javayant
1034Kadeem R OldroydFrance2026-02-10King, Christopher A Esq QUALIFIED37Amy Elsner
1035Salvatore X FollerAustralia2026-02-23Chapman, Ross E Esq NEW16Xuxue Feng
1036Maria L CampainSpain2026-02-04King, Christopher A Esq QUALIFIED41Amy Elsner
1037Silvio K KuskoGermany2026-02-16Morlong Associates NEW60Ivan Magalhaes
1038Adams F FollerUnited Kingdom2026-02-19Buckley Miller Wright NEGOTIATION66Bernardo Dominic
1039Maisha F FerenczRussia2026-02-16Chanay, Jeffrey A Esq PROPOSAL76Stephen Shaw
1040Chavez F MaletUnited Kingdom2026-02-14Morlong Associates PROPOSAL85Xuxue Feng
1041Alejandro U WieserCanada2026-02-11Commercial Press NEGOTIATION51Stephen Shaw
1042Leon F BologniaSpain2026-02-20Commercial Press PROPOSAL18Stephen Shaw
1043Aika R SchemmerIndia2026-02-05Buckley Miller Wright RENEWAL56Anna Fali
1044Nicolas W KuskoFrance2026-02-04Buckley Miller Wright PROPOSAL46Xuxue Feng
1045Octavia Z StensethCanada2026-02-13Rangoni Of Florence UNQUALIFIED72Amy Elsner
1046Smith M KuskoBrazil2026-02-11Dorl, James J Esq RENEWAL65Xuxue Feng
1047Cody M NickaJapan2026-02-05Chanay, Jeffrey A Esq QUALIFIED32Anna Fali
1048Stacey U DarakjyAustralia2026-02-07Rangoni Of Florence RENEWAL29Anna Fali
1049Octavia X RutaIndia2026-02-21Chemel, James L Cpa NEGOTIATION46Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Arvin O FerenczSpainIvan Magalhaes PROPOSAL
Silvio A PerinSpainBernardo Dominic NEGOTIATION
Maisha M DarakjyAustraliaElwin Sharvill RENEWAL
Ashley V ButtItalyAsiya Javayant NEGOTIATION
Aruna Z GarufiIndiaAsiya Javayant QUALIFIED
Ashley T OldroydAustraliaIoni Bowcher QUALIFIED
Jennifer E CampainItalyOnyama Limba QUALIFIED
Francesco M NestleRussiaXuxue Feng RENEWAL
Leon G OldroydFranceIvan Magalhaes PROPOSAL
Stacey P WieserCanadaAnna Fali PROPOSAL
Kaitlin S CampainRussiaOnyama Limba NEW
Maria H CampainCanadaXuxue Feng NEGOTIATION
Smith G CampainSpainAsiya Javayant RENEWAL
Clifford S BriddickRussiaOnyama Limba RENEWAL
Greenwood J ShinkoRussiaAnna Fali NEGOTIATION
Emily C NickaSpainAmy Elsner UNQUALIFIED
Mayumi B AmigonRussiaAsiya Javayant RENEWAL
Leon Y OldroydBrazilIoni Bowcher RENEWAL
Sinclair Y RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Aruna F MarrierArgentinaStephen Shaw NEW
Kadeem V WieserIndiaOnyama Limba NEW
Claire W WaycottRussiaAnna Fali NEW
Cody Q StockhamItalyAsiya Javayant NEW
Ricardo T DoeCanadaIvan Magalhaes NEW
Mayumi F KuskoFranceIoni Bowcher UNQUALIFIED
Alejandro G InouyeGermanyStephen Shaw UNQUALIFIED
Ivar K InouyeSpainAnna Fali PROPOSAL
Morrow O WaycottRussiaOnyama Limba UNQUALIFIED
Costa A RulapaughRussiaAsiya Javayant QUALIFIED
Maria S SlusarskiFranceIvan Magalhaes NEW
Julie X CaudyUnited KingdomBernardo Dominic NEW
Smith H BologniaFranceBernardo Dominic NEGOTIATION
Nicolas L AlbaresBrazilIoni Bowcher NEW
Aruna U WieserAustraliaBernardo Dominic RENEWAL
Silvio N InouyeSpainXuxue Feng NEW
Misaki X PoquetteGermanyOnyama Limba NEW
Izzy Y FerenczBrazilOnyama Limba NEGOTIATION
Claire Q FerenczJapanOnyama Limba PROPOSAL
Kaitlin I RutaItalyAmy Elsner QUALIFIED
Murillo K CaudyJapanAmy Elsner UNQUALIFIED
Deepesh P DarakjyGermanyIoni Bowcher RENEWAL
Chavez D StensethRussiaIvan Magalhaes NEGOTIATION
Jennifer L SchemmerAustraliaOnyama Limba RENEWAL
Salvatore O CaldareraArgentinaBernardo Dominic RENEWAL
Cody R CampainUnited KingdomAsiya Javayant NEW
Silvio X WhobreyJapanAsiya Javayant QUALIFIED
James Q RutaItalyElwin Sharvill RENEWAL
Francesco O SchemmerBrazilIoni Bowcher NEW
Antonio R CaudySpainOnyama Limba PROPOSAL
Julie G NickaRussiaStephen Shaw NEGOTIATION
Frozen Columns
Name
Clifford C Wieser
Tony C Bolognia
Kaitlin A Darakjy
Misaki B Malet
James Q Sergi
Kaitlin W Ostrosky
Wickens B Tollner
Morrow K Tollner
Rodrigues J Saylors
Maria K Poquette
Maria R Morasca
Aruna G Caudy
Antonio U Shinko
Jennifer Y Kolmetz
Ivar A Bowley
Aditya J Nicka
Francesco D Whobrey
Munro Q Ruta
James T Whobrey
Claire D Iturbide
Morrow J Perin
Ashley P Darakjy
Antonio A Campain
Mayumi L Gillian
Nicolas I Vocelka
Cody G Ruta
Tony M Tollner
Aruna O Rulapaugh
Munro H Kolmetz
Claire E Inouye
Sinclair Y Inouye
Wickens I Oldroyd
Arvin J Albares
Aika E Caudy
Maria F Royster
Ricardo Y Waycott
Emily J Slusarski
Tony Q Sergi
Rodrigues D Rulapaugh
Adams U Vocelka
Cody T Caldarera
Ricardo E Rim
Jones O Schemmer
Aruna V Bolognia
Ashley O Gaucho
Murillo A Inouye
Ivar Y Doe
Octavia K Inouye
Leja I Amigon
Aditya B Briddick
IdCountryDate
1000Italy2026-02-19
1001Russia2026-02-14
1002Australia2026-02-18
1003Argentina2026-02-21
1004Italy2026-03-03
1005India2026-02-08
1006Australia2026-02-19
1007Germany2026-03-03
1008Brazil2026-02-09
1009Japan2026-02-09
1010Japan2026-02-21
1011India2026-03-01
1012Brazil2026-03-03
1013Japan2026-02-20
1014Argentina2026-02-18
1015India2026-02-04
1016France2026-02-26
1017France2026-02-04
1018Russia2026-02-17
1019Canada2026-02-12
1020India2026-03-04
1021Japan2026-02-03
1022Spain2026-02-23
1023United Kingdom2026-02-12
1024Canada2026-02-25
1025Spain2026-02-03
1026Japan2026-02-04
1027Russia2026-02-11
1028Brazil2026-02-21
1029Italy2026-02-27
1030Italy2026-02-22
1031Germany2026-02-12
1032Italy2026-02-23
1033Italy2026-02-23
1034Spain2026-02-19
1035France2026-02-04
1036Japan2026-02-24
1037Japan2026-02-15
1038Argentina2026-02-28
1039Russia2026-02-14
1040France2026-02-09
1041Italy2026-03-03
1042Russia2026-02-09
1043Canada2026-02-10
1044Japan2026-02-20
1045Japan2026-03-04
1046India2026-02-07
1047United Kingdom2026-02-26
1048United Kingdom2026-02-03
1049Argentina2026-02-14

On-Demand Data

NameIdCountryDate
Octavia R Caldarera1000Canada2026-02-28
Maisha B Amigon1001Brazil2026-03-04
Ivar W Ruta1002Canada2026-02-19
Faith V Ostrosky1003Spain2026-02-24
Munro R Malet1004Argentina2026-02-08
Leon K Inouye1005Australia2026-02-14
Smith Z Schemmer1006Russia2026-03-02
Jeanfrancois M Chui1007India2026-02-27
Nicolas V Chui1008India2026-02-17
Costa F Whobrey1009France2026-03-02
Ivar X Campain1010Spain2026-02-18
Jennifer L Campain1011United Kingdom2026-02-06
Octavia X Chui1012Japan2026-02-07
Antonio H Ruta1013India2026-02-04
James Y Garufi1014Russia2026-02-14
David X Iturbide1015Spain2026-02-09
Darci S Rim1016Japan2026-02-12
Stacey F Perin1017Russia2026-02-03
Salvatore E Malet1018Japan2026-03-03
Jennifer S Amigon1019United Kingdom2026-02-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams D RimItalyIoni Bowcher QUALIFIED
Jones X FigeroaJapanXuxue Feng QUALIFIED
Maisha W InouyeBrazilAsiya Javayant NEGOTIATION
Munro Z PerinArgentinaIvan Magalhaes NEW
Maisha A DilliardJapanOnyama Limba RENEWAL
Julie P RoysterBrazilIoni Bowcher RENEWAL
Johnson Z StockhamArgentinaStephen Shaw QUALIFIED
Arvin F ShinkoFranceBernardo Dominic RENEWAL
Deepesh E OldroydFranceElwin Sharvill QUALIFIED
Alejandro D MorascaFranceBernardo Dominic UNQUALIFIED
Jones R MaletUnited KingdomAnna Fali UNQUALIFIED
Faith D ShinkoCanadaAmy Elsner QUALIFIED
Juan E CampainItalyBernardo Dominic PROPOSAL
Aruna L BowleyArgentinaStephen Shaw UNQUALIFIED
David H DarakjyJapanElwin Sharvill NEGOTIATION
Emily G CaldareraJapanAmy Elsner NEW
Nicolas X SlusarskiRussiaAsiya Javayant QUALIFIED
Greenwood X PerinFranceAmy Elsner NEGOTIATION
Juan B NickaArgentinaXuxue Feng NEGOTIATION
Octavia J RutaUnited KingdomBernardo Dominic UNQUALIFIED
Adams M CaldareraAustraliaIoni Bowcher UNQUALIFIED
Ashley P MaletJapanAmy Elsner NEGOTIATION
Claire I BriddickArgentinaAnna Fali NEW
Aruna V GillianJapanBernardo Dominic RENEWAL
Munro C MacleadCanadaOnyama Limba QUALIFIED
Silvio N KuskoRussiaIvan Magalhaes NEW
Stacey M RoysterGermanyAmy Elsner NEW
Greenwood W SlusarskiIndiaAmy Elsner NEGOTIATION
Mujtaba C IturbideGermanyElwin Sharvill RENEWAL
Jones A WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Rodrigues D SchemmerBrazilIoni Bowcher RENEWAL
Alejandro B NickaArgentinaAsiya Javayant PROPOSAL
Silvio D VenereUnited KingdomIoni Bowcher NEW
Aruna M SaylorsBrazilAnna Fali UNQUALIFIED
David A ButtGermanyAmy Elsner RENEWAL
Mujtaba Z RimSpainBernardo Dominic NEGOTIATION
Jeanfrancois U BowleyRussiaXuxue Feng UNQUALIFIED
Jones U StensethCanadaOnyama Limba UNQUALIFIED
Octavia Q GillianUnited KingdomAmy Elsner PROPOSAL
Claire C BologniaSpainAnna 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.