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
Wickens A CaldareraItalyOnyama Limba NEGOTIATION
Clifford W SaylorsRussiaAnna Fali RENEWAL
Jones X WaycottJapanIoni Bowcher NEW
David N DarakjyRussiaXuxue Feng UNQUALIFIED
Sinclair F PaprockiItalyAsiya Javayant NEW
Sinclair D GauchoIndiaElwin Sharvill QUALIFIED
Jennifer J GlickItalyIvan Magalhaes RENEWAL
Aika V DarakjyFranceElwin Sharvill RENEWAL
Costa J VenereRussiaIvan Magalhaes QUALIFIED
Aditya Q IturbideCanadaXuxue Feng NEGOTIATION
Jeanfrancois E WaycottCanadaAnna Fali NEGOTIATION
Aruna P StensethUnited KingdomIvan Magalhaes QUALIFIED
Aruna Z WieserBrazilElwin Sharvill NEW
Leon M ButtUnited KingdomXuxue Feng NEW
Chavez H GarufiRussiaAmy Elsner QUALIFIED
Claire J PoquetteFranceOnyama Limba PROPOSAL
Ricardo B SlusarskiCanadaStephen Shaw UNQUALIFIED
Antonio A GillianAustraliaOnyama Limba PROPOSAL
Ivar I BowleyIndiaIvan Magalhaes RENEWAL
Kaitlin T SchemmerArgentinaAsiya Javayant QUALIFIED
Octavia Q RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Jennifer S SaylorsIndiaBernardo Dominic NEW
Jones F VocelkaUnited KingdomOnyama Limba QUALIFIED
Rodrigues T PerinJapanOnyama Limba PROPOSAL
Greenwood N OstroskySpainAnna Fali RENEWAL
Julie W MacleadAustraliaStephen Shaw NEGOTIATION
Misaki Q NestleGermanyIvan Magalhaes UNQUALIFIED
Darci M PerinArgentinaIoni Bowcher NEW
Octavia U VocelkaBrazilAmy Elsner RENEWAL
Tony Q PoquetteAustraliaElwin Sharvill PROPOSAL
Rodrigues J FigeroaAustraliaXuxue Feng NEW
Julie I ButtBrazilElwin Sharvill QUALIFIED
Ricardo S WieserArgentinaAmy Elsner NEGOTIATION
Aruna A PoquetteIndiaAsiya Javayant RENEWAL
Ivar D FerenczFranceElwin Sharvill UNQUALIFIED
Faith T WieserBrazilOnyama Limba NEGOTIATION
Mujtaba G RoysterCanadaIvan Magalhaes PROPOSAL
Mujtaba C DoeSpainAsiya Javayant UNQUALIFIED
Leon C InouyeIndiaAsiya Javayant UNQUALIFIED
Wickens T CaudyCanadaIoni Bowcher PROPOSAL
Ricardo E NestleJapanAsiya Javayant UNQUALIFIED
Tony N KolmetzCanadaOnyama Limba QUALIFIED
Jeanfrancois L PoquetteUnited KingdomIoni Bowcher PROPOSAL
Deepesh H PoquetteJapanIvan Magalhaes RENEWAL
Stacey C DarakjyIndiaAmy Elsner RENEWAL
Costa L MaletCanadaOnyama Limba NEW
Jennifer Y KuskoSpainIoni Bowcher RENEWAL
Alejandro Y FigeroaBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois L RoysterBrazilStephen Shaw QUALIFIED
Mujtaba I SlusarskiItalyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
James G CampainUnited KingdomIoni Bowcher QUALIFIED
Francesco C SlusarskiBrazilXuxue Feng QUALIFIED
Ashley E OldroydFranceAsiya Javayant RENEWAL
Munro F RulapaughGermanyElwin Sharvill PROPOSAL
Nicolas N PoquetteUnited KingdomIvan Magalhaes RENEWAL
Morrow L BowleyIndiaAmy Elsner RENEWAL
Nicolas H SergiItalyIoni Bowcher NEGOTIATION
Francesco K GarufiGermanyAsiya Javayant UNQUALIFIED
Emily M SergiArgentinaAsiya Javayant NEGOTIATION
David E DarakjyFranceIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson M GarufiArgentina2026-05-21Feiner Bros NEW77Onyama Limba
1001Adams Z WieserSpain2026-06-01Chapman, Ross E Esq UNQUALIFIED85Amy Elsner
1002Leon A PaprockiBrazil2026-05-20Dorl, James J Esq UNQUALIFIED96Elwin Sharvill
1003Ricardo F KolmetzIndia2026-05-11Feiner Bros NEGOTIATION22Amy Elsner
1004Juan U MorascaIndia2026-06-01King, Christopher A Esq RENEWAL0Amy Elsner
1005Tony V WieserUnited Kingdom2026-05-12Buckley Miller Wright PROPOSAL93Ioni Bowcher
1006Jeanfrancois Q ShinkoIndia2026-05-28Chapman, Ross E Esq UNQUALIFIED33Xuxue Feng
1007Arvin B NestleUnited Kingdom2026-06-03Dorl, James J Esq PROPOSAL30Onyama Limba
1008Stacey F PoquetteGermany2026-05-26Rangoni Of Florence QUALIFIED59Anna Fali
1009Julie Z KuskoJapan2026-06-06Rangoni Of Florence NEGOTIATION16Asiya Javayant
1010Jennifer C StensethArgentina2026-05-23Feiner Bros QUALIFIED64Anna Fali
1011Greenwood S FerenczItaly2026-05-23Commercial Press NEW98Xuxue Feng
1012Kaitlin J RulapaughItaly2026-06-02Rangoni Of Florence UNQUALIFIED25Anna Fali
1013Silvio U ButtItaly2026-05-27Buckley Miller Wright QUALIFIED3Ivan Magalhaes
1014Deepesh G IturbideFrance2026-06-03Buckley Miller Wright NEW34Anna Fali
1015Murillo E OldroydSpain2026-05-27Buckley Miller Wright NEGOTIATION15Onyama Limba
1016Leja R ChuiSpain2026-06-07Benton, John B Jr NEW41Xuxue Feng
1017Claire A NestleArgentina2026-06-05Benton, John B Jr PROPOSAL56Onyama Limba
1018Cody N MacleadAustralia2026-06-01Commercial Press RENEWAL81Stephen Shaw
1019Juan A SchemmerRussia2026-05-24Chapman, Ross E Esq UNQUALIFIED46Ioni Bowcher
1020Jones A GillianIndia2026-05-26Commercial Press PROPOSAL65Xuxue Feng
1021Maisha A MarrierIndia2026-05-25Rangoni Of Florence NEW27Onyama Limba
1022Johnson C InouyeSpain2026-05-15Printing Dimensions PROPOSAL70Onyama Limba
1023Julie M VenereArgentina2026-05-18Rousseaux, Michael Esq NEGOTIATION87Amy Elsner
1024Jones N CampainIndia2026-05-17Dorl, James J Esq RENEWAL8Xuxue Feng
1025Darci D CaudyIndia2026-05-12Printing Dimensions NEGOTIATION12Ivan Magalhaes
1026Chavez V BologniaUnited Kingdom2026-05-23Chapman, Ross E Esq PROPOSAL35Ivan Magalhaes
1027Wickens E SaylorsItaly2026-05-28Feiner Bros PROPOSAL66Anna Fali
1028Octavia L FlosiItaly2026-05-10Morlong Associates RENEWAL10Stephen Shaw
1029Aruna P CaldareraGermany2026-05-19Rousseaux, Michael Esq QUALIFIED67Asiya Javayant
1030Murillo Q OstroskyIndia2026-06-03Buckley Miller Wright NEGOTIATION38Amy Elsner
1031Ashley Y BologniaArgentina2026-05-27Commercial Press NEW43Bernardo Dominic
1032Leja N WieserCanada2026-06-02Chanay, Jeffrey A Esq PROPOSAL45Xuxue Feng
1033Emily O NickaSpain2026-05-13Buckley Miller Wright NEGOTIATION73Elwin Sharvill
1034Julie Z AmigonArgentina2026-05-21Rangoni Of Florence QUALIFIED72Anna Fali
1035Rodrigues O CampainGermany2026-05-19Printing Dimensions NEGOTIATION53Onyama Limba
1036Munro G NestleBrazil2026-06-08Commercial Press UNQUALIFIED79Ioni Bowcher
1037Izzy X NestleGermany2026-05-29Commercial Press RENEWAL39Amy Elsner
1038Morrow N GlickAustralia2026-05-10Benton, John B Jr PROPOSAL53Anna Fali
1039Tony C NickaIndia2026-06-07Chemel, James L Cpa RENEWAL88Elwin Sharvill
1040Mayumi A BriddickRussia2026-05-30Buckley Miller Wright NEGOTIATION68Ivan Magalhaes
1041Clifford J PerinFrance2026-05-16Chanay, Jeffrey A Esq UNQUALIFIED14Xuxue Feng
1042Rodrigues W StensethItaly2026-05-25Rangoni Of Florence NEGOTIATION3Bernardo Dominic
1043James M BriddickJapan2026-05-28Printing Dimensions NEGOTIATION31Elwin Sharvill
1044Darci J IturbideSpain2026-06-03Buckley Miller Wright QUALIFIED22Ioni Bowcher
1045James K SchemmerFrance2026-05-27Chapman, Ross E Esq QUALIFIED53Elwin Sharvill
1046Aruna H FerenczIndia2026-06-02Morlong Associates UNQUALIFIED94Elwin Sharvill
1047Murillo O KolmetzCanada2026-06-05Truhlar And Truhlar Attys NEGOTIATION35Ioni Bowcher
1048Silvio C GillianRussia2026-05-20Feiner Bros QUALIFIED20Elwin Sharvill
1049Julie U GarufiAustralia2026-06-01Benton, John B Jr RENEWAL77Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Wickens O SchemmerRussiaOnyama Limba NEW
Francesco M CampainSpainIoni Bowcher UNQUALIFIED
Aditya Z MarrierJapanXuxue Feng NEW
Costa I VocelkaIndiaIvan Magalhaes NEGOTIATION
Izzy N IturbideRussiaOnyama Limba NEGOTIATION
Antonio N IturbideIndiaElwin Sharvill PROPOSAL
Mayumi J GarufiBrazilXuxue Feng PROPOSAL
Mayumi K WhobreyBrazilOnyama Limba NEGOTIATION
David H MacleadFranceOnyama Limba UNQUALIFIED
Salvatore M StockhamGermanyBernardo Dominic RENEWAL
Misaki O MarrierGermanyBernardo Dominic QUALIFIED
Francesco E TollnerItalyStephen Shaw NEGOTIATION
Arvin U DilliardJapanStephen Shaw NEW
Claire R MorascaItalyXuxue Feng PROPOSAL
Ashley R PaprockiUnited KingdomStephen Shaw NEW
Ashley T CampainBrazilOnyama Limba RENEWAL
Jeanfrancois B WaycottCanadaAmy Elsner PROPOSAL
Jones K CaldareraGermanyAnna Fali UNQUALIFIED
Rodrigues J NestleCanadaAsiya Javayant RENEWAL
Julie Z FollerItalyStephen Shaw RENEWAL
Jones F SaylorsUnited KingdomElwin Sharvill QUALIFIED
James E MaletBrazilIoni Bowcher RENEWAL
Costa T DoeCanadaAsiya Javayant PROPOSAL
Leon Z BriddickSpainAnna Fali NEGOTIATION
Izzy W OldroydFranceAsiya Javayant RENEWAL
Emily J OstroskyGermanyStephen Shaw QUALIFIED
Maisha O GarufiAustraliaOnyama Limba NEGOTIATION
Aika T SchemmerArgentinaAsiya Javayant PROPOSAL
Costa O FigeroaJapanXuxue Feng UNQUALIFIED
Aditya Z WhobreyJapanElwin Sharvill UNQUALIFIED
Izzy H CampainIndiaBernardo Dominic NEGOTIATION
Wickens Q RoysterGermanyStephen Shaw UNQUALIFIED
Faith H VenereRussiaIoni Bowcher NEGOTIATION
Cody D VocelkaRussiaXuxue Feng UNQUALIFIED
Darci I StensethArgentinaAmy Elsner QUALIFIED
Ashley C KolmetzJapanBernardo Dominic NEGOTIATION
Alejandro T TollnerBrazilElwin Sharvill NEW
Nicolas L FigeroaSpainStephen Shaw RENEWAL
Jennifer B PerinCanadaElwin Sharvill NEGOTIATION
Claire B NestleGermanyIvan Magalhaes QUALIFIED
Leon G MarrierArgentinaIvan Magalhaes UNQUALIFIED
Aditya V MacleadItalyIoni Bowcher PROPOSAL
Izzy L AlbaresItalyAsiya Javayant NEW
Julie B RutaArgentinaOnyama Limba RENEWAL
Salvatore J BriddickItalyIoni Bowcher PROPOSAL
Salvatore L BriddickBrazilStephen Shaw QUALIFIED
Silvio I MarrierUnited KingdomIvan Magalhaes QUALIFIED
Juan Y NestleBrazilStephen Shaw NEW
Costa R KuskoFranceStephen Shaw RENEWAL
Sinclair J SlusarskiRussiaStephen Shaw NEW
Frozen Columns
Name
Octavia V Malet
Izzy Y Flosi
David V Stockham
Morrow H Dilliard
Sinclair B Whobrey
Jones K Malet
Mayumi Y Ferencz
Alejandro P Darakjy
Sinclair M Malet
Faith Z Rulapaugh
Kadeem D Malet
Murillo H Amigon
Leja Z Kolmetz
Murillo W Iturbide
Darci E Caudy
Greenwood I Albares
Adams T Vocelka
Murillo S Rulapaugh
Nicolas J Nestle
Aika Y Nicka
Silvio D Chui
Julie I Nestle
Adams J Inouye
Darci P Kolmetz
Jefferson Y Vocelka
Chavez T Malet
Rodrigues B Stenseth
Leja Y Kolmetz
Munro Q Malet
Misaki K Paprocki
Cody T Marrier
Arvin M Malet
Ashley P Poquette
Maria V Kolmetz
Aika M Rulapaugh
Salvatore A Oldroyd
Izzy S Dilliard
Greenwood H Ferencz
Smith N Gaucho
Aruna R Dilliard
Costa V Flosi
Aika D Albares
Kadeem H Amigon
Cody D Oldroyd
Jeanfrancois O Garufi
Morrow H Malet
Juan T Slusarski
Jennifer N Waycott
Claire E Shinko
Munro H Nicka
IdCountryDate
1000United Kingdom2026-05-14
1001Brazil2026-06-03
1002Japan2026-05-15
1003Spain2026-05-10
1004Brazil2026-05-12
1005Japan2026-05-19
1006Spain2026-05-27
1007Canada2026-05-21
1008India2026-05-27
1009Brazil2026-05-26
1010Australia2026-05-30
1011Japan2026-06-06
1012Australia2026-05-26
1013Russia2026-05-21
1014Australia2026-05-28
1015Germany2026-05-12
1016Brazil2026-05-13
1017France2026-05-11
1018Japan2026-06-03
1019Australia2026-05-31
1020Germany2026-05-27
1021Russia2026-05-20
1022Germany2026-05-28
1023France2026-05-28
1024France2026-06-01
1025Brazil2026-05-12
1026Italy2026-05-15
1027United Kingdom2026-05-22
1028Argentina2026-06-06
1029France2026-05-26
1030India2026-05-31
1031Spain2026-05-12
1032Australia2026-05-27
1033Italy2026-06-06
1034Italy2026-05-28
1035Germany2026-06-02
1036Germany2026-05-16
1037Italy2026-05-19
1038India2026-05-25
1039Canada2026-05-19
1040Russia2026-06-05
1041France2026-06-07
1042Japan2026-06-04
1043Canada2026-05-22
1044Italy2026-06-06
1045Spain2026-05-12
1046Argentina2026-05-18
1047Japan2026-05-30
1048Brazil2026-05-30
1049Australia2026-05-27

On-Demand Data

NameIdCountryDate
Julie K Inouye1000Argentina2026-05-29
Kaitlin M Shinko1001Canada2026-06-02
Alejandro A Ruta1002Argentina2026-05-28
Greenwood I Campain1003Germany2026-06-03
Sinclair O Caldarera1004Canada2026-05-16
Darci Q Whobrey1005Spain2026-05-12
Nicolas G Glick1006Japan2026-05-23
Jefferson M Figeroa1007Spain2026-05-14
Stacey Y Ostrosky1008Japan2026-05-25
Leon N Marrier1009Argentina2026-05-17
Jeanfrancois N Kusko1010Australia2026-06-07
Ashley I Ruta1011Russia2026-05-13
Francesco B Briddick1012Japan2026-05-27
Wickens K Saylors1013Italy2026-05-25
Kaitlin G Ruta1014Russia2026-05-17
Rodrigues E Maclead1015France2026-05-14
Wickens A Amigon1016Germany2026-05-29
Jefferson O Dilliard1017Spain2026-05-21
Francesco W Amigon1018India2026-05-27
James B Figeroa1019United Kingdom2026-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez G SchemmerFranceAmy Elsner QUALIFIED
Smith M MacleadGermanyAnna Fali NEW
James K MorascaCanadaAnna Fali NEW
Morrow R PerinFranceXuxue Feng NEGOTIATION
Alejandro H ShinkoSpainElwin Sharvill NEGOTIATION
Aruna D SchemmerUnited KingdomBernardo Dominic RENEWAL
Johnson O KolmetzAustraliaElwin Sharvill NEW
Isabel T OldroydItalyIoni Bowcher RENEWAL
Mayumi K GillianUnited KingdomIoni Bowcher PROPOSAL
Emily Y SchemmerIndiaAmy Elsner QUALIFIED
Kadeem O BowleyFranceOnyama Limba RENEWAL
Alejandro L VocelkaGermanyAnna Fali RENEWAL
Costa F ButtFranceXuxue Feng UNQUALIFIED
Kaitlin Z NickaItalyXuxue Feng RENEWAL
Juan I InouyeBrazilAnna Fali QUALIFIED
Jefferson M GlickCanadaIvan Magalhaes PROPOSAL
Munro G StensethBrazilAsiya Javayant PROPOSAL
Alejandro V NestleSpainIoni Bowcher PROPOSAL
Wickens Z GarufiCanadaAsiya Javayant RENEWAL
Aruna Q NestleFranceXuxue Feng NEW
Adams Q MacleadCanadaOnyama Limba RENEWAL
Isabel Q DilliardItalyIoni Bowcher NEGOTIATION
Francesco U DarakjyFranceElwin Sharvill QUALIFIED
Emily D InouyeBrazilAsiya Javayant QUALIFIED
Antonio T WhobreyJapanAnna Fali QUALIFIED
Misaki X DoeItalyBernardo Dominic UNQUALIFIED
Maisha I RimFranceAsiya Javayant RENEWAL
Leja X PaprockiItalyXuxue Feng UNQUALIFIED
Kaitlin T StockhamIndiaAnna Fali NEGOTIATION
Jeanfrancois O PoquetteSpainStephen Shaw NEW
James W DilliardCanadaAmy Elsner NEGOTIATION
Ivar V ButtBrazilIvan Magalhaes RENEWAL
Misaki I InouyeFranceElwin Sharvill NEGOTIATION
Adams F CaldareraUnited KingdomAmy Elsner RENEWAL
Mayumi S MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson G PerinItalyXuxue Feng RENEWAL
Clifford T IturbideFranceIoni Bowcher PROPOSAL
Kadeem V KuskoArgentinaElwin Sharvill QUALIFIED
Silvio N PoquetteSpainAmy Elsner NEW
Aditya Q VenereArgentinaAsiya Javayant UNQUALIFIED

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