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
Silvio G FollerAustraliaAmy Elsner QUALIFIED
Aruna M FigeroaSpainIoni Bowcher UNQUALIFIED
Antonio F DarakjyAustraliaBernardo Dominic UNQUALIFIED
Murillo A WaycottCanadaAmy Elsner RENEWAL
Aditya W FerenczFranceOnyama Limba RENEWAL
Aika J PerinAustraliaXuxue Feng UNQUALIFIED
Izzy M CaldareraAustraliaOnyama Limba QUALIFIED
Isabel L VocelkaSpainBernardo Dominic PROPOSAL
Maisha L MaletCanadaIoni Bowcher RENEWAL
Ivar U StockhamBrazilXuxue Feng RENEWAL
Smith P FollerUnited KingdomIvan Magalhaes NEW
Wickens K SaylorsBrazilOnyama Limba UNQUALIFIED
Munro Y SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Wickens R StockhamRussiaOnyama Limba NEW
Juan H DoeIndiaElwin Sharvill RENEWAL
Costa H CaldareraIndiaIvan Magalhaes UNQUALIFIED
Costa C GauchoBrazilIoni Bowcher QUALIFIED
Ashley O RoysterIndiaStephen Shaw QUALIFIED
Darci N DilliardRussiaIvan Magalhaes PROPOSAL
Emily A WhobreyIndiaOnyama Limba RENEWAL
Morrow G GillianRussiaStephen Shaw NEW
Smith I FigeroaUnited KingdomAsiya Javayant QUALIFIED
Kaitlin M KolmetzSpainAnna Fali RENEWAL
Ivar W RutaUnited KingdomElwin Sharvill UNQUALIFIED
Costa C DoeGermanyIvan Magalhaes NEW
Jefferson K FlosiArgentinaElwin Sharvill NEW
Darci U PaprockiUnited KingdomAsiya Javayant QUALIFIED
Octavia I ButtCanadaXuxue Feng NEW
Antonio H PerinItalyXuxue Feng UNQUALIFIED
Maria N RoysterGermanyAsiya Javayant QUALIFIED
Antonio C IturbideUnited KingdomStephen Shaw NEGOTIATION
Izzy H CampainIndiaOnyama Limba NEGOTIATION
Leon A OldroydArgentinaOnyama Limba QUALIFIED
Salvatore V FerenczSpainOnyama Limba RENEWAL
Murillo G MacleadBrazilAmy Elsner NEGOTIATION
Greenwood D VocelkaRussiaBernardo Dominic RENEWAL
Jones O FollerBrazilAmy Elsner NEGOTIATION
Emily P ButtIndiaElwin Sharvill RENEWAL
Munro T FollerAustraliaStephen Shaw NEW
James F ChuiGermanyAsiya Javayant PROPOSAL
Sinclair E FerenczGermanyElwin Sharvill NEW
Octavia L ChuiCanadaOnyama Limba QUALIFIED
Jones Y SergiCanadaXuxue Feng RENEWAL
Cody U BriddickIndiaBernardo Dominic QUALIFIED
Aditya B KuskoSpainXuxue Feng NEW
Maria B RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba M CaudyUnited KingdomElwin Sharvill NEW
Clifford T GarufiUnited KingdomAnna Fali UNQUALIFIED
Jones F SlusarskiItalyOnyama Limba NEW
Alejandro Y GauchoGermanyXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia P SaylorsFranceStephen Shaw UNQUALIFIED
Julie Y FlosiIndiaAsiya Javayant QUALIFIED
Octavia V WaycottJapanIvan Magalhaes RENEWAL
Ashley G TollnerBrazilAsiya Javayant NEW
Adams A SaylorsJapanAnna Fali NEW
Jefferson A SaylorsSpainIoni Bowcher NEGOTIATION
Stacey D OldroydItalyXuxue Feng PROPOSAL
Ivar W FigeroaBrazilAnna Fali NEGOTIATION
Isabel D ButtBrazilAsiya Javayant RENEWAL
Octavia M NickaJapanAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily O KolmetzBrazil2026-05-02Feiner Bros RENEWAL11Ioni Bowcher
1001Maisha B KolmetzIndia2026-05-15Rangoni Of Florence RENEWAL79Elwin Sharvill
1002Isabel G NestleIndia2026-05-20Rangoni Of Florence NEGOTIATION97Amy Elsner
1003Julie A VenereItaly2026-05-16Commercial Press PROPOSAL20Onyama Limba
1004Darci I NickaJapan2026-05-21Truhlar And Truhlar Attys UNQUALIFIED24Asiya Javayant
1005Adams E RulapaughBrazil2026-05-04Feltz Printing Service PROPOSAL76Onyama Limba
1006Chavez D NestleSpain2026-05-02Printing Dimensions UNQUALIFIED78Amy Elsner
1007Mayumi A WieserItaly2026-05-21Benton, John B Jr NEW46Anna Fali
1008Ashley I GlickAustralia2026-05-02Truhlar And Truhlar Attys UNQUALIFIED10Ivan Magalhaes
1009Isabel Y CampainFrance2026-05-12Commercial Press RENEWAL26Asiya Javayant
1010Morrow Z ChuiUnited Kingdom2026-05-15Feiner Bros UNQUALIFIED57Onyama Limba
1011Isabel P FigeroaUnited Kingdom2026-05-07Feltz Printing Service UNQUALIFIED41Asiya Javayant
1012Maria H CaldareraItaly2026-05-09Chanay, Jeffrey A Esq QUALIFIED54Xuxue Feng
1013Emily F OstroskyJapan2026-05-25Commercial Press RENEWAL21Xuxue Feng
1014Johnson U PoquetteSpain2026-05-28Commercial Press NEGOTIATION47Asiya Javayant
1015Aika U IturbideFrance2026-05-22Feiner Bros NEW17Anna Fali
1016Maria Y BologniaSpain2026-05-19Chemel, James L Cpa QUALIFIED55Ioni Bowcher
1017Sinclair Q DarakjyJapan2026-05-16Rousseaux, Michael Esq PROPOSAL58Ivan Magalhaes
1018Leja E ChuiFrance2026-05-23Commercial Press QUALIFIED4Asiya Javayant
1019Leja Y OstroskyAustralia2026-05-10King, Christopher A Esq QUALIFIED1Amy Elsner
1020Morrow T DoeAustralia2026-05-22Commercial Press UNQUALIFIED70Onyama Limba
1021Jennifer C DarakjyFrance2026-05-26Feltz Printing Service NEW98Onyama Limba
1022Ashley B ButtAustralia2026-05-11Rousseaux, Michael Esq QUALIFIED36Elwin Sharvill
1023Deepesh X WieserItaly2026-05-12Benton, John B Jr NEW9Bernardo Dominic
1024Octavia R FollerUnited Kingdom2026-05-21Buckley Miller Wright QUALIFIED73Anna Fali
1025Adams M MaletRussia2026-05-22King, Christopher A Esq PROPOSAL35Stephen Shaw
1026Alejandro B RimBrazil2026-05-13Printing Dimensions PROPOSAL81Amy Elsner
1027David X TollnerIndia2026-05-18Truhlar And Truhlar Attys UNQUALIFIED25Bernardo Dominic
1028Kadeem Z SergiBrazil2026-05-18Printing Dimensions QUALIFIED17Ivan Magalhaes
1029Nicolas Z WaycottGermany2026-05-26Truhlar And Truhlar Attys UNQUALIFIED78Elwin Sharvill
1030Julie S RimJapan2026-05-29King, Christopher A Esq UNQUALIFIED39Xuxue Feng
1031Faith Z FollerGermany2026-05-27Chanay, Jeffrey A Esq NEGOTIATION70Asiya Javayant
1032Stacey O ShinkoItaly2026-05-31Chapman, Ross E Esq PROPOSAL64Anna Fali
1033Isabel G CampainUnited Kingdom2026-05-08Benton, John B Jr NEGOTIATION7Onyama Limba
1034Adams F FollerUnited Kingdom2026-05-30Rangoni Of Florence QUALIFIED54Bernardo Dominic
1035Kaitlin L ButtUnited Kingdom2026-05-22Rangoni Of Florence RENEWAL16Bernardo Dominic
1036Jefferson G MarrierUnited Kingdom2026-05-07Rousseaux, Michael Esq PROPOSAL58Anna Fali
1037Wickens O PoquetteBrazil2026-05-15Truhlar And Truhlar Attys UNQUALIFIED75Ivan Magalhaes
1038Rodrigues S DoeIndia2026-05-04Commercial Press NEW33Onyama Limba
1039Maisha I InouyeSpain2026-05-22Chanay, Jeffrey A Esq NEGOTIATION38Bernardo Dominic
1040Kadeem I SaylorsSpain2026-05-12Rousseaux, Michael Esq NEGOTIATION92Amy Elsner
1041Chavez D RoysterCanada2026-05-16Commercial Press PROPOSAL67Ioni Bowcher
1042Cody Y InouyeRussia2026-05-29Rousseaux, Michael Esq NEW84Anna Fali
1043Francesco C GauchoAustralia2026-05-31Printing Dimensions PROPOSAL82Xuxue Feng
1044Aruna G MaletIndia2026-05-30Printing Dimensions UNQUALIFIED11Onyama Limba
1045Salvatore D WieserBrazil2026-05-22Printing Dimensions NEW3Xuxue Feng
1046Munro U MacleadGermany2026-05-07Commercial Press NEGOTIATION89Bernardo Dominic
1047Julie S KolmetzArgentina2026-05-10Chemel, James L Cpa NEGOTIATION22Onyama Limba
1048Aditya O ShinkoJapan2026-05-18Rangoni Of Florence NEW81Onyama Limba
1049Morrow P GauchoBrazil2026-05-19Benton, John B Jr QUALIFIED70Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aditya C VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
David T MaletIndiaElwin Sharvill UNQUALIFIED
Sinclair A FigeroaAustraliaStephen Shaw UNQUALIFIED
Salvatore Q FerenczUnited KingdomBernardo Dominic PROPOSAL
Mayumi D AlbaresItalyIoni Bowcher QUALIFIED
David N PaprockiAustraliaElwin Sharvill PROPOSAL
Juan Z WieserSpainAmy Elsner QUALIFIED
Chavez Y RoysterAustraliaAnna Fali NEGOTIATION
Murillo V CaldareraAustraliaAmy Elsner NEW
Johnson V KolmetzFranceIvan Magalhaes QUALIFIED
Jefferson D CampainSpainIoni Bowcher NEW
Alejandro K ButtArgentinaAnna Fali RENEWAL
Costa T InouyeRussiaAnna Fali PROPOSAL
Aika J ChuiAustraliaStephen Shaw NEW
Morrow H FerenczSpainIoni Bowcher PROPOSAL
Cody J WaycottIndiaIvan Magalhaes PROPOSAL
Juan F OldroydAustraliaOnyama Limba NEW
Izzy Q VocelkaSpainStephen Shaw RENEWAL
Mayumi S GillianItalyIoni Bowcher UNQUALIFIED
Ivar D NestleArgentinaBernardo Dominic UNQUALIFIED
Octavia W RutaIndiaBernardo Dominic PROPOSAL
Misaki M FerenczIndiaOnyama Limba NEW
Leja D FerenczCanadaXuxue Feng QUALIFIED
Mujtaba J StockhamAustraliaAmy Elsner UNQUALIFIED
Morrow A FollerItalyAnna Fali NEGOTIATION
Rodrigues U AmigonBrazilAmy Elsner UNQUALIFIED
Ricardo Q AlbaresRussiaElwin Sharvill QUALIFIED
Murillo N WaycottAustraliaXuxue Feng QUALIFIED
Wickens C FlosiItalyBernardo Dominic NEW
Darci G FlosiBrazilAmy Elsner NEW
Jefferson D PoquetteCanadaStephen Shaw UNQUALIFIED
Murillo P SlusarskiAustraliaAmy Elsner PROPOSAL
Octavia C InouyeBrazilStephen Shaw QUALIFIED
Smith S RoysterIndiaOnyama Limba PROPOSAL
Leja J GillianSpainAnna Fali RENEWAL
James K MarrierArgentinaOnyama Limba QUALIFIED
James C PerinGermanyXuxue Feng NEW
Morrow C DilliardCanadaAsiya Javayant PROPOSAL
Julie E IturbideFranceAnna Fali RENEWAL
Wickens M WhobreyJapanIvan Magalhaes NEW
Kaitlin G BowleySpainIoni Bowcher PROPOSAL
James I NickaJapanAnna Fali QUALIFIED
Sinclair L RimIndiaAsiya Javayant RENEWAL
Sinclair S MacleadBrazilAmy Elsner UNQUALIFIED
Alejandro Z SergiSpainStephen Shaw QUALIFIED
Juan G FigeroaAustraliaIvan Magalhaes QUALIFIED
Wickens P VenereAustraliaElwin Sharvill RENEWAL
Maria A CaldareraIndiaElwin Sharvill PROPOSAL
Jennifer E ShinkoRussiaIvan Magalhaes NEW
Francesco W MorascaItalyAmy Elsner QUALIFIED
Frozen Columns
Name
Tony F Figeroa
Smith A Bowley
Jeanfrancois G Nicka
Stacey C Ferencz
Deepesh S Darakjy
Arvin H Nestle
Chavez J Ruta
Aika F Chui
Adams W Doe
Ashley N Vocelka
Leja E Glick
Francesco D Stockham
Greenwood R Stockham
Jefferson G Gaucho
Alejandro N Chui
Jefferson I Ruta
Mayumi N Flosi
Clifford R Wieser
Smith U Saylors
Ashley G Foller
Alejandro H Rim
Jefferson E Bowley
James H Albares
Cody G Caldarera
Claire S Bowley
Jeanfrancois A Ruta
James Z Foller
Leon X Bolognia
Darci W Royster
Deepesh I Caudy
Johnson G Caudy
Maria C Doe
Salvatore N Flosi
Faith B Briddick
Julie F Whobrey
Morrow J Kusko
Kadeem M Albares
Juan T Perin
Adams N Briddick
Kaitlin O Sergi
Leja A Gaucho
Ashley G Saylors
Aika V Glick
Isabel X Poquette
Julie O Butt
Antonio C Nicka
Julie Y Waycott
Chavez S Flosi
James M Rim
Tony T Nicka
IdCountryDate
1000Brazil2026-05-27
1001Japan2026-05-30
1002Russia2026-05-25
1003Russia2026-05-18
1004Australia2026-05-10
1005Australia2026-05-27
1006Canada2026-05-24
1007Brazil2026-05-13
1008United Kingdom2026-05-08
1009India2026-05-22
1010United Kingdom2026-05-07
1011United Kingdom2026-05-04
1012India2026-05-24
1013Spain2026-05-31
1014Brazil2026-05-17
1015Japan2026-05-04
1016Australia2026-05-10
1017Spain2026-05-17
1018Canada2026-05-09
1019France2026-05-23
1020United Kingdom2026-05-18
1021Japan2026-05-09
1022United Kingdom2026-05-07
1023Brazil2026-05-19
1024Brazil2026-05-10
1025United Kingdom2026-05-13
1026Italy2026-05-05
1027Spain2026-05-14
1028Spain2026-05-17
1029Japan2026-05-11
1030France2026-05-15
1031Italy2026-05-26
1032Germany2026-05-10
1033Canada2026-05-19
1034Spain2026-05-15
1035Canada2026-05-13
1036Italy2026-05-02
1037Brazil2026-05-13
1038India2026-05-18
1039Argentina2026-05-12
1040United Kingdom2026-05-02
1041India2026-05-27
1042Australia2026-05-10
1043Spain2026-05-14
1044Japan2026-05-30
1045France2026-05-16
1046Italy2026-05-09
1047Brazil2026-05-14
1048Russia2026-05-29
1049Australia2026-05-25

On-Demand Data

NameIdCountryDate
Julie Q Iturbide1000France2026-05-18
Ivar Y Slusarski1001United Kingdom2026-05-16
Ivar R Tollner1002Italy2026-05-05
Tony R Oldroyd1003United Kingdom2026-05-05
Cody Z Albares1004Italy2026-05-17
Jeanfrancois G Stockham1005Japan2026-05-07
Jeanfrancois B Garufi1006Argentina2026-05-28
Sinclair K Caldarera1007Japan2026-05-28
Octavia A Glick1008Russia2026-05-07
David X Ferencz1009Brazil2026-05-18
Octavia U Caudy1010India2026-05-16
Nicolas E Dilliard1011Spain2026-05-06
Leja C Flosi1012Italy2026-05-03
Cody G Chui1013Canada2026-05-27
Faith D Royster1014Spain2026-05-07
Alejandro J Ferencz1015Germany2026-05-12
Aditya G Paprocki1016Brazil2026-05-27
Maria O Venere1017Germany2026-05-08
Johnson R Gillian1018Russia2026-05-12
Deepesh N Waycott1019Argentina2026-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony L FigeroaArgentinaElwin Sharvill NEGOTIATION
Jennifer T GauchoArgentinaIoni Bowcher NEW
Aditya F BriddickIndiaIoni Bowcher NEW
Arvin M CaudyRussiaXuxue Feng UNQUALIFIED
Arvin X PerinSpainAsiya Javayant NEGOTIATION
Juan F NestleGermanyAmy Elsner QUALIFIED
Leja O SchemmerItalyOnyama Limba NEW
Deepesh Y BologniaAustraliaStephen Shaw RENEWAL
Smith T NestleAustraliaXuxue Feng RENEWAL
Jefferson L MorascaCanadaStephen Shaw PROPOSAL
Johnson I MacleadBrazilStephen Shaw NEW
Adams I WaycottItalyIoni Bowcher RENEWAL
Stacey M GlickJapanAsiya Javayant NEGOTIATION
Deepesh L RimAustraliaIvan Magalhaes PROPOSAL
Chavez C NickaJapanBernardo Dominic NEW
Jennifer H OstroskyGermanyAnna Fali NEW
Sinclair B MaletItalyXuxue Feng PROPOSAL
Antonio B MaletFranceOnyama Limba NEGOTIATION
Ashley K WieserArgentinaAsiya Javayant QUALIFIED
Wickens Q MacleadFranceIoni Bowcher PROPOSAL
Ashley B SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Faith S FlosiCanadaOnyama Limba NEW
Claire A MorascaRussiaOnyama Limba NEGOTIATION
Chavez V GillianRussiaOnyama Limba QUALIFIED
Aika G MaletUnited KingdomElwin Sharvill NEW
Deepesh I CaudyJapanAnna Fali PROPOSAL
Deepesh X SergiUnited KingdomXuxue Feng QUALIFIED
Chavez O GlickGermanyBernardo Dominic PROPOSAL
Kadeem C GlickIndiaAnna Fali QUALIFIED
Stacey U MaletIndiaAmy Elsner QUALIFIED
Emily P PaprockiGermanyAnna Fali RENEWAL
Johnson E CampainGermanyIoni Bowcher QUALIFIED
Costa D RoysterCanadaBernardo Dominic QUALIFIED
Salvatore Z MaletGermanyXuxue Feng NEW
Kaitlin B OldroydUnited KingdomAmy Elsner NEGOTIATION
Stacey K CampainAustraliaBernardo Dominic PROPOSAL
Kadeem V SergiGermanyXuxue Feng NEW
Francesco T KolmetzGermanyOnyama Limba UNQUALIFIED
Cody Q PerinBrazilBernardo Dominic NEGOTIATION
Silvio D AmigonArgentinaOnyama Limba RENEWAL

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