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
Murillo A FlosiBrazilAsiya Javayant NEW
Jennifer A FlosiCanadaIoni Bowcher NEGOTIATION
Nicolas J AlbaresRussiaAnna Fali PROPOSAL
Salvatore I SergiUnited KingdomIvan Magalhaes NEW
Wickens P MaletGermanyAsiya Javayant NEGOTIATION
Francesco D NestleItalyIvan Magalhaes NEGOTIATION
Maria K ChuiArgentinaIvan Magalhaes QUALIFIED
Chavez Z CaudyCanadaIvan Magalhaes NEW
Jeanfrancois V MacleadSpainAsiya Javayant QUALIFIED
Nicolas T GauchoSpainAnna Fali UNQUALIFIED
Sinclair R VenereItalyStephen Shaw NEGOTIATION
Chavez B FollerUnited KingdomAnna Fali PROPOSAL
Isabel P FerenczSpainOnyama Limba PROPOSAL
Kaitlin T GarufiFranceElwin Sharvill PROPOSAL
Chavez K NickaItalyIoni Bowcher UNQUALIFIED
Nicolas D KuskoRussiaXuxue Feng RENEWAL
David X KolmetzIndiaAsiya Javayant QUALIFIED
Alejandro V BologniaUnited KingdomOnyama Limba RENEWAL
Smith W VenereSpainXuxue Feng UNQUALIFIED
David H OldroydAustraliaAmy Elsner UNQUALIFIED
Adams N MaletIndiaBernardo Dominic UNQUALIFIED
Claire O GarufiItalyAmy Elsner QUALIFIED
Costa H DoeUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba Q InouyeAustraliaIoni Bowcher QUALIFIED
James O RulapaughFranceOnyama Limba UNQUALIFIED
Claire I IturbideUnited KingdomStephen Shaw PROPOSAL
David P DoeJapanElwin Sharvill NEGOTIATION
Adams C GauchoGermanyAsiya Javayant NEGOTIATION
Cody E RoysterGermanyElwin Sharvill NEGOTIATION
Faith P CaudyFranceXuxue Feng PROPOSAL
Greenwood M SchemmerItalyBernardo Dominic NEW
Aruna R ShinkoJapanIoni Bowcher PROPOSAL
Cody U KuskoJapanXuxue Feng PROPOSAL
Ashley N GlickIndiaIvan Magalhaes NEW
Tony R SlusarskiSpainXuxue Feng QUALIFIED
Ricardo Q VocelkaFranceStephen Shaw UNQUALIFIED
Juan N FigeroaItalyBernardo Dominic NEGOTIATION
Tony N GillianJapanBernardo Dominic PROPOSAL
Francesco Q PoquetteItalyAsiya Javayant PROPOSAL
Kaitlin M NestleItalyAsiya Javayant QUALIFIED
Ivar A VenereAustraliaBernardo Dominic NEGOTIATION
Johnson Q ButtUnited KingdomIoni Bowcher UNQUALIFIED
Wickens D NickaArgentinaXuxue Feng QUALIFIED
Juan D SlusarskiFranceStephen Shaw UNQUALIFIED
Nicolas M KolmetzGermanyAsiya Javayant PROPOSAL
Emily Y OldroydCanadaOnyama Limba PROPOSAL
Darci J FigeroaRussiaAsiya Javayant NEW
Stacey Z FerenczItalyIvan Magalhaes UNQUALIFIED
James A InouyeFranceOnyama Limba QUALIFIED
Ivar E MaletArgentinaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Ashley Z DarakjyArgentinaElwin Sharvill NEW
Francesco F SchemmerArgentinaIoni Bowcher RENEWAL
Greenwood X AlbaresFranceIvan Magalhaes NEGOTIATION
Ricardo W TollnerGermanyXuxue Feng NEW
Greenwood V WieserJapanStephen Shaw NEGOTIATION
Emily G TollnerCanadaOnyama Limba UNQUALIFIED
Kadeem V MorascaAustraliaElwin Sharvill UNQUALIFIED
Maisha K TollnerSpainIvan Magalhaes NEW
Ivar K SchemmerRussiaXuxue Feng NEGOTIATION
Kadeem A TollnerSpainElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer B PerinUnited Kingdom2026-06-08Rangoni Of Florence UNQUALIFIED93Xuxue Feng
1001Aditya J CaldareraFrance2026-06-12Benton, John B Jr UNQUALIFIED7Ivan Magalhaes
1002Kaitlin B KolmetzUnited Kingdom2026-05-18Printing Dimensions NEGOTIATION47Xuxue Feng
1003Smith L KolmetzArgentina2026-05-18Chemel, James L Cpa NEGOTIATION53Xuxue Feng
1004Darci T PerinCanada2026-06-06Commercial Press RENEWAL1Asiya Javayant
1005Misaki E MaletSpain2026-05-31Rangoni Of Florence NEGOTIATION74Amy Elsner
1006Mujtaba G PoquetteAustralia2026-06-13Rousseaux, Michael Esq UNQUALIFIED83Anna Fali
1007Murillo N OldroydJapan2026-05-31Printing Dimensions PROPOSAL4Anna Fali
1008Arvin C GarufiCanada2026-06-05Chemel, James L Cpa NEW75Stephen Shaw
1009Leja E OldroydSpain2026-06-12Feiner Bros PROPOSAL27Ioni Bowcher
1010Nicolas X GillianArgentina2026-06-07Rousseaux, Michael Esq PROPOSAL46Elwin Sharvill
1011Chavez E TollnerJapan2026-05-17Dorl, James J Esq NEW42Amy Elsner
1012Clifford W PaprockiItaly2026-06-07Rousseaux, Michael Esq RENEWAL28Asiya Javayant
1013Morrow A GarufiGermany2026-05-21Chemel, James L Cpa PROPOSAL38Xuxue Feng
1014Izzy R DarakjyArgentina2026-06-15Buckley Miller Wright PROPOSAL73Elwin Sharvill
1015Clifford B InouyeItaly2026-05-17Truhlar And Truhlar Attys UNQUALIFIED61Bernardo Dominic
1016Darci H AlbaresUnited Kingdom2026-06-04Truhlar And Truhlar Attys NEW10Stephen Shaw
1017Aika A WaycottSpain2026-05-23Chapman, Ross E Esq NEW90Onyama Limba
1018Cody H FollerItaly2026-06-08Chemel, James L Cpa NEW29Stephen Shaw
1019Alejandro L ButtRussia2026-05-27Dorl, James J Esq RENEWAL87Anna Fali
1020Rodrigues D GauchoIndia2026-05-30Feltz Printing Service QUALIFIED71Onyama Limba
1021Kaitlin V RulapaughArgentina2026-05-23Rangoni Of Florence NEW59Onyama Limba
1022Murillo Q DarakjyCanada2026-06-07Printing Dimensions QUALIFIED18Stephen Shaw
1023Ricardo B WaycottCanada2026-05-19Feiner Bros NEGOTIATION99Anna Fali
1024Arvin F GauchoBrazil2026-06-15Printing Dimensions RENEWAL82Asiya Javayant
1025Maria D OldroydFrance2026-06-06Printing Dimensions QUALIFIED73Amy Elsner
1026Leja M CampainItaly2026-06-06Chemel, James L Cpa PROPOSAL20Amy Elsner
1027Isabel U SaylorsUnited Kingdom2026-06-04Truhlar And Truhlar Attys RENEWAL39Anna Fali
1028Izzy F FlosiFrance2026-05-31Chapman, Ross E Esq QUALIFIED62Xuxue Feng
1029Cody Q GlickCanada2026-05-23Buckley Miller Wright NEW15Stephen Shaw
1030Aika L SaylorsSpain2026-06-13Chemel, James L Cpa UNQUALIFIED31Xuxue Feng
1031Aruna J RoysterAustralia2026-06-01Chemel, James L Cpa QUALIFIED38Elwin Sharvill
1032Octavia P WieserUnited Kingdom2026-05-25Feiner Bros PROPOSAL42Bernardo Dominic
1033Johnson F MacleadAustralia2026-05-29Rousseaux, Michael Esq QUALIFIED65Bernardo Dominic
1034Kadeem G CaldareraCanada2026-06-02Rangoni Of Florence PROPOSAL64Elwin Sharvill
1035David V CaudyUnited Kingdom2026-05-31Morlong Associates NEW34Ioni Bowcher
1036Ashley L GauchoArgentina2026-05-25Dorl, James J Esq NEGOTIATION23Elwin Sharvill
1037Antonio E IturbideJapan2026-06-01Rangoni Of Florence PROPOSAL48Amy Elsner
1038Ricardo U MaletIndia2026-06-06Commercial Press NEW97Elwin Sharvill
1039Misaki J StockhamGermany2026-06-14Chanay, Jeffrey A Esq QUALIFIED36Asiya Javayant
1040Claire N MaletFrance2026-06-12Dorl, James J Esq NEW26Ivan Magalhaes
1041Claire W SergiCanada2026-06-14Feltz Printing Service UNQUALIFIED22Ioni Bowcher
1042Jefferson D MacleadCanada2026-05-20Commercial Press QUALIFIED53Amy Elsner
1043Nicolas O OldroydArgentina2026-05-20Chanay, Jeffrey A Esq QUALIFIED10Ioni Bowcher
1044Antonio R KuskoAustralia2026-06-07Rangoni Of Florence UNQUALIFIED46Ivan Magalhaes
1045Jennifer X WieserUnited Kingdom2026-06-09Chapman, Ross E Esq PROPOSAL74Anna Fali
1046Johnson U SergiJapan2026-05-30Truhlar And Truhlar Attys UNQUALIFIED77Anna Fali
1047Smith G WaycottRussia2026-06-14Truhlar And Truhlar Attys UNQUALIFIED30Onyama Limba
1048Stacey N CaudyItaly2026-06-09Rousseaux, Michael Esq RENEWAL31Asiya Javayant
1049Costa N StockhamSpain2026-05-23Truhlar And Truhlar Attys UNQUALIFIED4Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Darci P MarrierJapanIoni Bowcher UNQUALIFIED
Mayumi E BriddickUnited KingdomAnna Fali NEGOTIATION
David J WieserGermanyXuxue Feng NEW
Clifford N CaldareraFranceAnna Fali QUALIFIED
Leon K SergiIndiaElwin Sharvill UNQUALIFIED
Adams J ShinkoJapanIoni Bowcher PROPOSAL
Adams A NestleSpainAnna Fali NEW
Aruna R RutaBrazilIvan Magalhaes NEGOTIATION
Chavez S OldroydIndiaIvan Magalhaes NEW
Maisha L BowleyGermanyAsiya Javayant NEW
Isabel S RutaRussiaXuxue Feng RENEWAL
Stacey J IturbideAustraliaXuxue Feng QUALIFIED
David K ChuiBrazilIvan Magalhaes NEW
Jennifer D OldroydGermanyElwin Sharvill UNQUALIFIED
Adams B NestleFranceIvan Magalhaes PROPOSAL
Jennifer L GillianCanadaAmy Elsner QUALIFIED
Nicolas N RulapaughUnited KingdomXuxue Feng PROPOSAL
Juan F IturbideRussiaAnna Fali RENEWAL
Izzy N BologniaAustraliaXuxue Feng NEGOTIATION
Izzy O WieserBrazilIvan Magalhaes NEGOTIATION
Francesco C PoquetteArgentinaXuxue Feng QUALIFIED
Adams B MorascaGermanyStephen Shaw UNQUALIFIED
Claire A VenereFranceElwin Sharvill NEW
Jeanfrancois K DarakjySpainXuxue Feng NEGOTIATION
Aruna S RulapaughRussiaAmy Elsner UNQUALIFIED
Adams Z OldroydFranceIoni Bowcher PROPOSAL
Antonio Z ButtArgentinaElwin Sharvill NEGOTIATION
Sinclair L MorascaUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo K WaycottArgentinaAsiya Javayant QUALIFIED
Izzy R CampainCanadaIvan Magalhaes PROPOSAL
Jennifer U ButtBrazilElwin Sharvill NEW
Nicolas J GarufiGermanyOnyama Limba UNQUALIFIED
Ricardo M MaletUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore Q ButtGermanyAmy Elsner NEW
Murillo C FollerBrazilOnyama Limba QUALIFIED
Kadeem R InouyeGermanyElwin Sharvill QUALIFIED
James N IturbideArgentinaIvan Magalhaes UNQUALIFIED
Misaki T WieserGermanyIoni Bowcher UNQUALIFIED
Misaki V NestleSpainAsiya Javayant UNQUALIFIED
Sinclair C KolmetzAustraliaAsiya Javayant NEGOTIATION
James Q BowleyIndiaElwin Sharvill NEW
Maria H GarufiCanadaOnyama Limba NEW
Salvatore X SchemmerCanadaAnna Fali UNQUALIFIED
Smith B AlbaresUnited KingdomIvan Magalhaes RENEWAL
Costa K FollerGermanyIvan Magalhaes PROPOSAL
Stacey E AmigonArgentinaXuxue Feng PROPOSAL
Murillo D MaletBrazilOnyama Limba PROPOSAL
Tony K WieserSpainStephen Shaw UNQUALIFIED
Faith J GarufiBrazilIvan Magalhaes NEGOTIATION
Ashley U CaudyBrazilIoni Bowcher RENEWAL
Frozen Columns
Name
Aditya Z Marrier
Jennifer V Butt
Munro L Kusko
Mayumi M Inouye
Greenwood G Kusko
Costa X Venere
Isabel T Slusarski
Octavia A Amigon
Smith Y Malet
Isabel R Rulapaugh
Johnson M Saylors
Aruna C Venere
Ivar Y Flosi
Munro R Waycott
Alejandro W Albares
Mayumi Z Schemmer
Jefferson P Bolognia
Greenwood B Ostrosky
Julie A Malet
Kaitlin S Slusarski
Ashley O Marrier
Stacey H Foller
Arvin U Perin
Leja O Chui
Munro Q Darakjy
Johnson Y Flosi
Ricardo P Oldroyd
Arvin N Amigon
Juan X Oldroyd
Deepesh H Malet
Stacey H Saylors
Salvatore D Schemmer
Stacey A Doe
Kadeem G Perin
Chavez L Shinko
Isabel O Saylors
Smith Y Stenseth
Mayumi B Ostrosky
Julie W Rim
Ashley I Stockham
Jefferson B Caldarera
Chavez R Rulapaugh
Jeanfrancois N Nestle
Aruna Q Foller
Ricardo V Stockham
Johnson S Ferencz
Nicolas Y Caldarera
Costa S Saylors
Ricardo Y Shinko
Alejandro I Chui
IdCountryDate
1000United Kingdom2026-06-06
1001Brazil2026-05-26
1002Germany2026-06-14
1003Brazil2026-06-11
1004India2026-05-31
1005Germany2026-06-13
1006Argentina2026-06-12
1007Australia2026-05-30
1008United Kingdom2026-06-01
1009Germany2026-06-13
1010Brazil2026-05-18
1011Japan2026-06-06
1012Italy2026-06-13
1013Germany2026-06-08
1014Argentina2026-05-31
1015Canada2026-06-02
1016Germany2026-06-04
1017France2026-05-29
1018Canada2026-05-29
1019Canada2026-06-13
1020Australia2026-06-10
1021Russia2026-06-15
1022Spain2026-06-09
1023Australia2026-06-02
1024India2026-06-14
1025Germany2026-05-30
1026Russia2026-05-22
1027Australia2026-05-17
1028Argentina2026-05-23
1029Russia2026-05-24
1030United Kingdom2026-05-21
1031United Kingdom2026-05-30
1032France2026-05-26
1033Australia2026-06-03
1034Australia2026-05-26
1035Italy2026-06-10
1036Italy2026-05-26
1037Brazil2026-06-07
1038Brazil2026-05-22
1039France2026-05-22
1040Italy2026-05-24
1041Russia2026-05-31
1042Brazil2026-05-19
1043Germany2026-06-11
1044Argentina2026-06-03
1045Japan2026-06-08
1046Italy2026-06-10
1047France2026-06-13
1048Italy2026-05-18
1049Canada2026-06-04

On-Demand Data

NameIdCountryDate
Cody A Gillian1000Brazil2026-05-29
Izzy Z Waycott1001Spain2026-06-08
Alejandro W Iturbide1002Japan2026-06-01
Darci Q Amigon1003Spain2026-05-30
Antonio K Campain1004Italy2026-05-29
Adams L Inouye1005Japan2026-06-14
David H Foller1006France2026-06-08
Costa U Whobrey1007Germany2026-06-07
Jennifer I Kusko1008Australia2026-06-07
Adams A Perin1009Canada2026-05-22
Leon X Poquette1010Australia2026-06-08
Octavia L Malet1011Brazil2026-06-06
Francesco N Shinko1012Spain2026-06-09
Adams U Wieser1013Australia2026-06-07
Francesco M Inouye1014Russia2026-06-12
Aditya R Venere1015France2026-06-09
Sinclair Z Briddick1016Canada2026-05-20
Morrow A Malet1017Italy2026-06-03
Maria W Darakjy1018Germany2026-05-26
Cody I Wieser1019Brazil2026-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio V OstroskyAustraliaAmy Elsner QUALIFIED
Murillo W BologniaAustraliaIoni Bowcher NEGOTIATION
Isabel F NickaFranceXuxue Feng NEW
Darci Z RutaJapanAmy Elsner UNQUALIFIED
Johnson L SergiArgentinaStephen Shaw PROPOSAL
Morrow A GauchoGermanyStephen Shaw QUALIFIED
Clifford P ButtItalyStephen Shaw NEW
Emily H GarufiJapanXuxue Feng RENEWAL
Faith C CaldareraCanadaOnyama Limba PROPOSAL
James T MorascaItalyAsiya Javayant UNQUALIFIED
Deepesh L FigeroaAustraliaOnyama Limba NEGOTIATION
Deepesh K FollerRussiaElwin Sharvill NEGOTIATION
David D SaylorsArgentinaOnyama Limba PROPOSAL
Chavez F ButtRussiaAmy Elsner NEW
Chavez X SlusarskiAustraliaStephen Shaw RENEWAL
Silvio K VocelkaRussiaBernardo Dominic NEW
Rodrigues Z RutaIndiaAsiya Javayant QUALIFIED
Maria G WieserIndiaOnyama Limba PROPOSAL
Stacey L PaprockiRussiaAsiya Javayant RENEWAL
Silvio N VenereJapanXuxue Feng RENEWAL
Tony D ChuiCanadaAnna Fali NEW
Greenwood B ShinkoFranceAsiya Javayant PROPOSAL
Murillo B OstroskyGermanyIvan Magalhaes NEW
Adams E AlbaresUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood N NestleBrazilIvan Magalhaes NEGOTIATION
Aika W DoeUnited KingdomOnyama Limba NEW
Emily F AmigonCanadaIoni Bowcher UNQUALIFIED
Salvatore K RimRussiaElwin Sharvill UNQUALIFIED
Aditya A AmigonBrazilBernardo Dominic UNQUALIFIED
Smith K NickaArgentinaIvan Magalhaes RENEWAL
Aika S ChuiItalyAmy Elsner RENEWAL
Rodrigues S FerenczArgentinaStephen Shaw QUALIFIED
Johnson L RulapaughJapanAnna Fali NEW
Leon P WieserRussiaIoni Bowcher NEW
Nicolas B GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem O DilliardFranceAnna Fali RENEWAL
Arvin C SergiRussiaAmy Elsner QUALIFIED
Smith G FigeroaFranceStephen Shaw QUALIFIED
Wickens S SlusarskiIndiaAnna Fali QUALIFIED
Maisha Z RulapaughBrazilIvan Magalhaes PROPOSAL

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