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
Jennifer P PoquetteGermanyAnna Fali PROPOSAL
James B PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Claire U KuskoFranceIoni Bowcher NEW
Cody E InouyeItalyIvan Magalhaes PROPOSAL
Izzy P StensethJapanIvan Magalhaes UNQUALIFIED
Julie S StensethCanadaIvan Magalhaes QUALIFIED
Adams B IturbideCanadaXuxue Feng QUALIFIED
Cody P NickaBrazilBernardo Dominic PROPOSAL
Maria Y VenereRussiaOnyama Limba PROPOSAL
Mujtaba O FollerItalyBernardo Dominic NEW
Alejandro P InouyeIndiaAnna Fali NEW
Greenwood U SlusarskiSpainElwin Sharvill QUALIFIED
Francesco S MacleadRussiaIoni Bowcher PROPOSAL
Silvio Z KolmetzJapanAmy Elsner NEGOTIATION
Kadeem P DarakjyUnited KingdomIvan Magalhaes PROPOSAL
Izzy J BriddickRussiaElwin Sharvill RENEWAL
Jeanfrancois U BowleySpainStephen Shaw NEGOTIATION
Emily Q WhobreyArgentinaBernardo Dominic RENEWAL
James H InouyeCanadaAsiya Javayant PROPOSAL
Tony E MaletGermanyXuxue Feng NEGOTIATION
Costa J RulapaughCanadaXuxue Feng UNQUALIFIED
Misaki V CampainRussiaIvan Magalhaes NEGOTIATION
Deepesh G PaprockiJapanAmy Elsner PROPOSAL
Tony C FerenczGermanyStephen Shaw UNQUALIFIED
Misaki W InouyeGermanyAmy Elsner PROPOSAL
Francesco H MaletUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh V DoeRussiaAmy Elsner UNQUALIFIED
Darci F FollerSpainIvan Magalhaes QUALIFIED
Arvin S RulapaughSpainElwin Sharvill NEGOTIATION
Faith H StockhamUnited KingdomAmy Elsner PROPOSAL
Costa R RulapaughIndiaAsiya Javayant UNQUALIFIED
Octavia S BologniaCanadaIvan Magalhaes QUALIFIED
Salvatore J WieserSpainAsiya Javayant PROPOSAL
Arvin E SchemmerAustraliaStephen Shaw PROPOSAL
Emily O GlickIndiaIvan Magalhaes PROPOSAL
David O BowleyGermanyStephen Shaw PROPOSAL
Ricardo Y MaletArgentinaAmy Elsner UNQUALIFIED
Salvatore T CaudyIndiaBernardo Dominic NEW
Johnson R WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Emily Z WaycottAustraliaOnyama Limba UNQUALIFIED
Isabel V SaylorsCanadaIoni Bowcher RENEWAL
Cody Q BowleyRussiaStephen Shaw NEGOTIATION
Sinclair I AlbaresJapanStephen Shaw RENEWAL
Wickens V RoysterRussiaXuxue Feng UNQUALIFIED
Tony E PerinUnited KingdomIvan Magalhaes NEGOTIATION
Ivar X PaprockiAustraliaElwin Sharvill PROPOSAL
Morrow T IturbideCanadaBernardo Dominic UNQUALIFIED
Francesco H AlbaresArgentinaIoni Bowcher UNQUALIFIED
Silvio Y MacleadFranceElwin Sharvill PROPOSAL
Stacey P MaletBrazilOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa N FollerSpainXuxue Feng NEGOTIATION
Silvio F RutaGermanyAnna Fali PROPOSAL
Wickens O CaudyAustraliaAsiya Javayant QUALIFIED
Jeanfrancois K PoquetteBrazilIvan Magalhaes PROPOSAL
Tony K BologniaCanadaElwin Sharvill QUALIFIED
Silvio M DarakjyArgentinaIvan Magalhaes NEW
Morrow K BologniaIndiaXuxue Feng QUALIFIED
Maisha E FigeroaGermanyIoni Bowcher PROPOSAL
Cody N KuskoItalyAmy Elsner NEW
Deepesh N AlbaresIndiaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer J RulapaughSpain2026-06-13Dorl, James J Esq NEGOTIATION34Bernardo Dominic
1001Octavia A RoysterJapan2026-06-18Rousseaux, Michael Esq RENEWAL62Asiya Javayant
1002Morrow Q GillianAustralia2026-06-13Printing Dimensions UNQUALIFIED60Elwin Sharvill
1003Stacey R FollerItaly2026-06-18Printing Dimensions RENEWAL75Amy Elsner
1004Isabel D RutaGermany2026-06-16Buckley Miller Wright UNQUALIFIED6Stephen Shaw
1005Kaitlin F PaprockiJapan2026-06-03Feltz Printing Service QUALIFIED54Ioni Bowcher
1006Rodrigues O IturbideUnited Kingdom2026-06-05Buckley Miller Wright NEW77Asiya Javayant
1007Mayumi A OldroydSpain2026-06-10Truhlar And Truhlar Attys UNQUALIFIED16Ioni Bowcher
1008Aditya Y GauchoUnited Kingdom2026-06-12Chapman, Ross E Esq NEGOTIATION36Asiya Javayant
1009Murillo T RimArgentina2026-06-11Rousseaux, Michael Esq PROPOSAL53Amy Elsner
1010Stacey D SchemmerFrance2026-06-24Chanay, Jeffrey A Esq QUALIFIED58Ivan Magalhaes
1011Faith D CaldareraSpain2026-06-05Rousseaux, Michael Esq UNQUALIFIED37Onyama Limba
1012Nicolas Q WaycottUnited Kingdom2026-06-02Benton, John B Jr NEGOTIATION93Ioni Bowcher
1013Rodrigues K MaletRussia2026-05-31Feiner Bros UNQUALIFIED87Anna Fali
1014Arvin D SchemmerIndia2026-06-01Truhlar And Truhlar Attys UNQUALIFIED88Amy Elsner
1015Octavia N BriddickAustralia2026-06-28Chapman, Ross E Esq QUALIFIED97Bernardo Dominic
1016Aruna K GlickRussia2026-06-13Rangoni Of Florence RENEWAL59Anna Fali
1017Jefferson H BologniaSpain2026-06-17Morlong Associates NEGOTIATION32Ivan Magalhaes
1018Ashley X GlickCanada2026-06-20Commercial Press QUALIFIED54Bernardo Dominic
1019Chavez M MacleadAustralia2026-06-03Rangoni Of Florence NEW77Amy Elsner
1020Cody Y IturbideArgentina2026-06-01Rousseaux, Michael Esq UNQUALIFIED11Xuxue Feng
1021Sinclair P GauchoGermany2026-06-21Benton, John B Jr NEW5Amy Elsner
1022Morrow Z OstroskyJapan2026-06-16Dorl, James J Esq NEGOTIATION16Bernardo Dominic
1023James T MacleadRussia2026-06-06Buckley Miller Wright PROPOSAL33Asiya Javayant
1024Cody Y AmigonGermany2026-06-15Chanay, Jeffrey A Esq RENEWAL54Onyama Limba
1025Juan O InouyeRussia2026-06-13Dorl, James J Esq QUALIFIED50Xuxue Feng
1026Jefferson H WieserFrance2026-06-03Rousseaux, Michael Esq RENEWAL77Elwin Sharvill
1027Arvin T OstroskyFrance2026-05-31Chapman, Ross E Esq NEW68Bernardo Dominic
1028Greenwood H MaletCanada2026-06-16Chapman, Ross E Esq QUALIFIED94Elwin Sharvill
1029Arvin L MarrierBrazil2026-06-19Truhlar And Truhlar Attys NEGOTIATION91Stephen Shaw
1030James T FlosiRussia2026-06-14Feiner Bros RENEWAL62Elwin Sharvill
1031Tony T PoquetteItaly2026-06-23Rangoni Of Florence NEGOTIATION66Anna Fali
1032Julie U WaycottUnited Kingdom2026-06-03King, Christopher A Esq NEW53Asiya Javayant
1033Misaki U DarakjyItaly2026-06-01Feltz Printing Service QUALIFIED65Xuxue Feng
1034Smith M VocelkaUnited Kingdom2026-06-09Rangoni Of Florence RENEWAL16Ioni Bowcher
1035Jennifer W SchemmerUnited Kingdom2026-06-21Dorl, James J Esq RENEWAL24Ivan Magalhaes
1036Isabel F FigeroaIndia2026-06-23Morlong Associates UNQUALIFIED32Bernardo Dominic
1037Leon H MacleadGermany2026-06-06Rangoni Of Florence QUALIFIED50Ioni Bowcher
1038Aika K RutaRussia2026-06-29Chemel, James L Cpa RENEWAL13Asiya Javayant
1039Claire X GlickItaly2026-06-21Commercial Press UNQUALIFIED38Ioni Bowcher
1040Ashley M FerenczGermany2026-05-31Rangoni Of Florence PROPOSAL79Ivan Magalhaes
1041Antonio R FerenczIndia2026-05-31Chanay, Jeffrey A Esq RENEWAL70Onyama Limba
1042Nicolas S OstroskyIndia2026-06-02Morlong Associates UNQUALIFIED19Xuxue Feng
1043Jeanfrancois T IturbideFrance2026-06-08Chapman, Ross E Esq QUALIFIED33Bernardo Dominic
1044Jones S GauchoAustralia2026-06-07Commercial Press QUALIFIED74Ivan Magalhaes
1045James Q CaudyBrazil2026-06-24Truhlar And Truhlar Attys PROPOSAL63Anna Fali
1046Munro R BriddickJapan2026-06-10Commercial Press PROPOSAL58Elwin Sharvill
1047Mayumi A MaletArgentina2026-06-16Printing Dimensions NEGOTIATION0Asiya Javayant
1048Juan U CaudyIndia2026-06-04Rangoni Of Florence PROPOSAL26Onyama Limba
1049Adams R TollnerCanada2026-06-07Rangoni Of Florence UNQUALIFIED42Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ivar X GillianUnited KingdomAmy Elsner UNQUALIFIED
Wickens W WaycottSpainOnyama Limba UNQUALIFIED
Darci T GlickAustraliaAnna Fali NEGOTIATION
Alejandro I GauchoArgentinaIoni Bowcher NEW
Stacey Z SaylorsRussiaXuxue Feng PROPOSAL
Jeanfrancois V GlickAustraliaIvan Magalhaes PROPOSAL
Kadeem B StensethAustraliaAnna Fali QUALIFIED
Nicolas A BowleySpainAnna Fali NEW
James S NickaUnited KingdomOnyama Limba UNQUALIFIED
Francesco R RoysterArgentinaIvan Magalhaes QUALIFIED
Antonio N GlickItalyIvan Magalhaes QUALIFIED
James I ButtUnited KingdomElwin Sharvill RENEWAL
Deepesh Z CaudyAustraliaElwin Sharvill NEW
Aruna Z FlosiBrazilIoni Bowcher UNQUALIFIED
Murillo J MacleadSpainIvan Magalhaes PROPOSAL
Maisha C CaldareraGermanyXuxue Feng NEW
Morrow C NickaSpainBernardo Dominic PROPOSAL
Aruna U DilliardJapanAmy Elsner UNQUALIFIED
Emily J RoysterSpainBernardo Dominic UNQUALIFIED
Ivar I FigeroaItalyXuxue Feng QUALIFIED
Stacey X BologniaItalyStephen Shaw RENEWAL
Misaki K SchemmerJapanAsiya Javayant NEGOTIATION
Morrow I SaylorsBrazilAmy Elsner UNQUALIFIED
Aruna U BologniaJapanXuxue Feng QUALIFIED
Costa H PerinRussiaElwin Sharvill RENEWAL
Murillo E KuskoArgentinaOnyama Limba UNQUALIFIED
Ivar K SchemmerCanadaAnna Fali PROPOSAL
Deepesh C CaldareraArgentinaElwin Sharvill NEGOTIATION
Jennifer T OstroskyAustraliaStephen Shaw PROPOSAL
Wickens I AlbaresArgentinaAnna Fali NEGOTIATION
Leon P DarakjyAustraliaIoni Bowcher PROPOSAL
David H BowleyRussiaOnyama Limba NEW
Aika O RoysterUnited KingdomElwin Sharvill RENEWAL
Aditya X MorascaArgentinaOnyama Limba RENEWAL
Costa V GlickAustraliaIoni Bowcher QUALIFIED
Faith A WhobreyArgentinaAnna Fali NEGOTIATION
Salvatore M WaycottItalyAnna Fali UNQUALIFIED
Clifford D MaletGermanyXuxue Feng QUALIFIED
Nicolas N VocelkaItalyAmy Elsner UNQUALIFIED
Arvin N BowleyBrazilElwin Sharvill NEGOTIATION
Aika E VocelkaRussiaBernardo Dominic NEW
Alejandro G KuskoCanadaIoni Bowcher NEGOTIATION
Julie D RulapaughUnited KingdomOnyama Limba QUALIFIED
Octavia W BriddickUnited KingdomAnna Fali RENEWAL
Octavia B RoysterArgentinaAsiya Javayant QUALIFIED
Faith R MaletBrazilIoni Bowcher UNQUALIFIED
Clifford O AlbaresAustraliaOnyama Limba NEW
Misaki C AlbaresGermanyBernardo Dominic NEGOTIATION
Stacey Y FerenczCanadaAmy Elsner UNQUALIFIED
Faith F CampainAustraliaXuxue Feng QUALIFIED
Frozen Columns
Name
Arvin T Ferencz
Aruna W Vocelka
Mayumi Z Ruta
Nicolas Y Caudy
Morrow H Schemmer
Greenwood O Inouye
Octavia M Campain
Sinclair V Whobrey
Isabel D Morasca
Octavia E Chui
Stacey E Saylors
Mujtaba V Glick
Smith W Venere
Silvio L Royster
Johnson S Poquette
Francesco A Morasca
Smith G Inouye
Cody Q Slusarski
Leja A Rulapaugh
Wickens O Campain
Faith R Wieser
Juan S Caldarera
Mujtaba G Rulapaugh
David A Butt
Alejandro L Inouye
Stacey L Kusko
Ashley G Whobrey
Silvio A Bolognia
Clifford Y Nicka
Emily A Poquette
Greenwood L Shinko
Francesco F Whobrey
Silvio G Iturbide
Izzy X Nestle
Mayumi U Briddick
Mayumi B Chui
James W Gillian
Morrow C Marrier
Salvatore C Bowley
Johnson W Chui
Rodrigues F Maclead
Faith D Sergi
Kadeem H Venere
Claire F Albares
Munro X Glick
Isabel Z Butt
Claire F Garufi
Tony S Gaucho
Leon F Albares
Jones O Poquette
IdCountryDate
1000Australia2026-06-04
1001Australia2026-06-20
1002United Kingdom2026-06-08
1003United Kingdom2026-06-08
1004United Kingdom2026-06-24
1005Canada2026-06-08
1006Japan2026-06-08
1007Germany2026-05-31
1008India2026-06-04
1009Russia2026-06-05
1010India2026-06-21
1011Spain2026-06-27
1012Argentina2026-06-17
1013Australia2026-06-12
1014Argentina2026-06-06
1015United Kingdom2026-06-07
1016Germany2026-06-18
1017Russia2026-06-26
1018Russia2026-06-19
1019Italy2026-06-25
1020Germany2026-06-07
1021Russia2026-06-18
1022Germany2026-06-29
1023Italy2026-06-14
1024Japan2026-06-20
1025Argentina2026-06-14
1026Argentina2026-06-06
1027Russia2026-06-01
1028Germany2026-06-23
1029Germany2026-06-14
1030Germany2026-06-11
1031Argentina2026-06-17
1032Brazil2026-06-10
1033Russia2026-06-16
1034Argentina2026-06-11
1035Japan2026-06-16
1036India2026-06-03
1037United Kingdom2026-06-02
1038Italy2026-06-13
1039Italy2026-06-05
1040Italy2026-05-31
1041Argentina2026-06-16
1042Australia2026-06-20
1043Brazil2026-06-15
1044Germany2026-06-10
1045India2026-06-11
1046Argentina2026-06-17
1047United Kingdom2026-06-24
1048Australia2026-06-16
1049Russia2026-06-14

On-Demand Data

NameIdCountryDate
Murillo F Amigon1000Russia2026-06-28
Johnson A Bowley1001Brazil2026-06-07
Francesco R Maclead1002Argentina2026-06-12
Izzy A Schemmer1003Japan2026-06-01
Ivar Z Butt1004Germany2026-06-03
Arvin R Gaucho1005France2026-06-02
Jefferson V Bowley1006Canada2026-05-31
Maisha A Stockham1007Spain2026-06-13
Morrow G Gillian1008France2026-06-03
Emily T Ruta1009Canada2026-06-14
Ivar O Amigon1010United Kingdom2026-06-06
Aruna B Tollner1011Russia2026-06-04
Darci L Ruta1012United Kingdom2026-06-20
Adams N Perin1013India2026-06-11
Maria Z Kusko1014Japan2026-06-04
Sinclair M Gillian1015Germany2026-06-22
Chavez C Saylors1016Italy2026-06-22
Octavia E Chui1017France2026-06-26
Octavia O Ferencz1018Russia2026-06-09
Clifford Y Paprocki1019Spain2026-06-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel I VenereRussiaXuxue Feng NEW
Faith G SchemmerRussiaBernardo Dominic RENEWAL
Arvin H IturbideAustraliaAmy Elsner NEW
Jones R WieserItalyIoni Bowcher UNQUALIFIED
Stacey A BriddickBrazilBernardo Dominic NEGOTIATION
David S GauchoFranceStephen Shaw NEW
Munro G MaletUnited KingdomXuxue Feng PROPOSAL
Salvatore S KolmetzBrazilElwin Sharvill UNQUALIFIED
Ivar W CampainUnited KingdomIoni Bowcher UNQUALIFIED
Faith R FigeroaSpainAsiya Javayant NEW
Jones J WaycottItalyXuxue Feng RENEWAL
Misaki S NickaJapanElwin Sharvill UNQUALIFIED
Wickens C WieserCanadaAmy Elsner QUALIFIED
Costa D IturbideJapanAnna Fali RENEWAL
Misaki O AlbaresGermanyAmy Elsner NEW
Sinclair N WaycottIndiaAsiya Javayant PROPOSAL
Claire T InouyeRussiaAnna Fali NEGOTIATION
Munro C GlickFranceAsiya Javayant PROPOSAL
Ashley R MaletIndiaOnyama Limba UNQUALIFIED
David M WieserItalyOnyama Limba NEGOTIATION
Maria Z NestleCanadaAmy Elsner RENEWAL
Leon S CaudyFranceAsiya Javayant NEGOTIATION
Tony Q MorascaCanadaXuxue Feng RENEWAL
Juan L RoysterGermanyBernardo Dominic NEGOTIATION
Sinclair O SlusarskiIndiaAmy Elsner RENEWAL
Faith P SergiItalyStephen Shaw RENEWAL
Ricardo N DarakjyUnited KingdomStephen Shaw NEW
Antonio U AlbaresRussiaBernardo Dominic NEW
Morrow A SchemmerArgentinaAsiya Javayant UNQUALIFIED
Morrow B MaletJapanElwin Sharvill UNQUALIFIED
Nicolas H GauchoFranceAsiya Javayant NEW
Morrow V PaprockiFranceElwin Sharvill QUALIFIED
Adams D VocelkaFranceElwin Sharvill NEW
Stacey C WhobreyBrazilAsiya Javayant NEW
Stacey F SlusarskiBrazilBernardo Dominic RENEWAL
Nicolas H DarakjyCanadaOnyama Limba NEGOTIATION
Salvatore E BologniaUnited KingdomBernardo Dominic PROPOSAL
Claire G MaletRussiaXuxue Feng UNQUALIFIED
Wickens Z AmigonRussiaElwin Sharvill RENEWAL
Faith G SlusarskiFranceAnna Fali QUALIFIED

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