Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
French
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Czech
Greek
Persian
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Lithuanian
Latvian
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Swedish
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Free Themes

Built-in component themes created by the PrimeFaces Theme Designer.

PrimeOne Design

Saga Saga
Vela Vela
Arya Arya

Premium Themes

Premium themes are only available exclusively for PrimeFaces Theme Designer subscribers and therefore not included in PrimeFaces core.

Bootstrap light blue and dark blue themes are also included in PrimeFaces 10.x builds for Elite subscribers.

bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple

Legacy Free Themes

Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink
Nova Nova
Nova Nova Alt
Nova Nova Accent

PREMIUM TEMPLATES

Create awesome applications in no time using the premium templates and impress your users.

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 D FollerItalyElwin Sharvill NEGOTIATION
Munro F InouyeSpainAmy Elsner NEW
Aditya W StensethBrazilAmy Elsner RENEWAL
Chavez Y AmigonItalyAsiya Javayant QUALIFIED
Francesco O BriddickBrazilBernardo Dominic PROPOSAL
Aika L RutaArgentinaAmy Elsner PROPOSAL
Leon U PerinGermanyAnna Fali PROPOSAL
Leja E RutaCanadaStephen Shaw UNQUALIFIED
Izzy U KuskoUnited KingdomElwin Sharvill PROPOSAL
Jefferson O CaudyAustraliaAnna Fali NEGOTIATION
Aika U SergiFranceIvan Magalhaes NEGOTIATION
Ricardo T MacleadJapanStephen Shaw PROPOSAL
Salvatore N CaldareraSpainAnna Fali UNQUALIFIED
Kadeem X VocelkaGermanyIoni Bowcher QUALIFIED
Tony C FollerBrazilStephen Shaw PROPOSAL
Morrow D ShinkoFranceOnyama Limba NEW
Rodrigues X GillianBrazilBernardo Dominic QUALIFIED
Munro N GauchoIndiaElwin Sharvill NEGOTIATION
Silvio G KuskoSpainAsiya Javayant QUALIFIED
Isabel J VocelkaSpainXuxue Feng NEW
Sinclair S OldroydIndiaXuxue Feng PROPOSAL
James N DarakjyGermanyOnyama Limba NEGOTIATION
Isabel G StensethFranceElwin Sharvill RENEWAL
Alejandro O CaudyUnited KingdomIoni Bowcher NEGOTIATION
Kadeem D VocelkaAustraliaIoni Bowcher QUALIFIED
Leja I GlickFranceAnna Fali NEW
Isabel F StockhamAustraliaStephen Shaw NEW
Maisha H AlbaresAustraliaBernardo Dominic PROPOSAL
Claire W MarrierIndiaStephen Shaw NEW
Morrow H IturbideBrazilBernardo Dominic PROPOSAL
Sinclair U AmigonArgentinaOnyama Limba NEGOTIATION
Ashley I RimGermanyAmy Elsner QUALIFIED
Munro V FlosiUnited KingdomAnna Fali NEGOTIATION
Stacey W SchemmerAustraliaIoni Bowcher RENEWAL
Jones H VenereArgentinaIoni Bowcher UNQUALIFIED
Leon L PoquetteSpainAmy Elsner NEW
Jones I DilliardItalyOnyama Limba NEW
Munro Y MaletSpainBernardo Dominic QUALIFIED
Mayumi V ShinkoBrazilAmy Elsner UNQUALIFIED
David E IturbideBrazilAnna Fali PROPOSAL
Mujtaba C DoeItalyStephen Shaw RENEWAL
Aditya I PaprockiAustraliaBernardo Dominic NEGOTIATION
Leja X FollerFranceBernardo Dominic QUALIFIED
Costa X SaylorsUnited KingdomIoni Bowcher NEGOTIATION
Maisha D InouyeCanadaStephen Shaw QUALIFIED
Kadeem F FollerCanadaAmy Elsner RENEWAL
Arvin R ShinkoUnited KingdomElwin Sharvill PROPOSAL
Deepesh T WieserCanadaAnna Fali RENEWAL
Julie U GlickJapanBernardo Dominic RENEWAL
Alejandro B RimGermanyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Munro J RoysterJapanOnyama Limba RENEWAL
Adams W KuskoJapanIvan Magalhaes QUALIFIED
Stacey P VenereIndiaStephen Shaw NEGOTIATION
Alejandro E GauchoBrazilAmy Elsner NEW
Alejandro A TollnerBrazilAsiya Javayant QUALIFIED
Kaitlin S FigeroaAustraliaElwin Sharvill RENEWAL
Ashley G CampainSpainBernardo Dominic RENEWAL
Murillo M DarakjyRussiaXuxue Feng PROPOSAL
David L GarufiAustraliaIoni Bowcher RENEWAL
Salvatore C InouyeSpainIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia V FigeroaJapan2024-03-30Rangoni Of Florence UNQUALIFIED50Elwin Sharvill
1001Jeanfrancois F RutaFrance2024-04-14Truhlar And Truhlar Attys PROPOSAL48Ivan Magalhaes
1002Wickens O SchemmerBrazil2024-04-20Truhlar And Truhlar Attys PROPOSAL90Elwin Sharvill
1003Deepesh K GarufiBrazil2024-04-05Rousseaux, Michael Esq PROPOSAL96Elwin Sharvill
1004Nicolas H NickaGermany2024-04-02Chemel, James L Cpa RENEWAL89Ivan Magalhaes
1005Octavia Q IturbideJapan2024-04-08Buckley Miller Wright PROPOSAL41Elwin Sharvill
1006Stacey D KuskoUnited Kingdom2024-04-06Buckley Miller Wright NEGOTIATION2Elwin Sharvill
1007Jeanfrancois E GauchoArgentina2024-04-18Benton, John B Jr RENEWAL58Ioni Bowcher
1008Leon Y TollnerJapan2024-04-08Commercial Press PROPOSAL98Ivan Magalhaes
1009Jennifer D GillianArgentina2024-03-27Printing Dimensions QUALIFIED1Anna Fali
1010Misaki G ButtArgentina2024-04-17Feltz Printing Service RENEWAL3Anna Fali
1011Kaitlin M BowleyBrazil2024-04-04Feiner Bros QUALIFIED68Amy Elsner
1012Johnson Y DilliardGermany2024-04-20Rousseaux, Michael Esq UNQUALIFIED14Xuxue Feng
1013Murillo D GauchoUnited Kingdom2024-04-17Feltz Printing Service RENEWAL33Asiya Javayant
1014Jennifer D AlbaresRussia2024-04-10Chapman, Ross E Esq NEGOTIATION88Onyama Limba
1015Juan Z RimIndia2024-04-10Morlong Associates QUALIFIED71Xuxue Feng
1016Arvin W TollnerRussia2024-04-03Rousseaux, Michael Esq UNQUALIFIED80Ioni Bowcher
1017Izzy R NestleArgentina2024-04-20Morlong Associates UNQUALIFIED28Elwin Sharvill
1018Munro U PaprockiCanada2024-04-21Feiner Bros NEGOTIATION5Asiya Javayant
1019Maisha C CaldareraBrazil2024-04-09Rousseaux, Michael Esq UNQUALIFIED97Elwin Sharvill
1020Mayumi D StockhamJapan2024-04-19Chanay, Jeffrey A Esq NEW55Stephen Shaw
1021Kadeem S AlbaresIndia2024-04-02Morlong Associates UNQUALIFIED31Ioni Bowcher
1022Johnson A StockhamJapan2024-04-14King, Christopher A Esq NEGOTIATION62Ivan Magalhaes
1023Greenwood L VocelkaFrance2024-04-25Feltz Printing Service PROPOSAL27Elwin Sharvill
1024Sinclair T NickaCanada2024-04-03Benton, John B Jr RENEWAL14Bernardo Dominic
1025Wickens B PoquetteUnited Kingdom2024-04-09Morlong Associates NEW0Asiya Javayant
1026Wickens V AmigonJapan2024-04-23Printing Dimensions UNQUALIFIED74Xuxue Feng
1027Jennifer R ShinkoJapan2024-03-31Feiner Bros PROPOSAL91Xuxue Feng
1028Izzy E GlickCanada2024-04-25Buckley Miller Wright QUALIFIED21Amy Elsner
1029Mujtaba W FigeroaArgentina2024-03-28Feiner Bros NEGOTIATION58Anna Fali
1030Isabel Y DarakjyCanada2024-03-31Benton, John B Jr UNQUALIFIED24Ivan Magalhaes
1031Antonio K BologniaUnited Kingdom2024-04-10Printing Dimensions PROPOSAL85Asiya Javayant
1032Alejandro J RulapaughAustralia2024-04-20Commercial Press NEW34Elwin Sharvill
1033Murillo J WaycottIndia2024-03-28Printing Dimensions QUALIFIED79Asiya Javayant
1034Jefferson Z OstroskyJapan2024-04-10Morlong Associates NEGOTIATION42Ioni Bowcher
1035Ashley B RimAustralia2024-04-14King, Christopher A Esq QUALIFIED73Ioni Bowcher
1036Ashley O DilliardBrazil2024-04-15Morlong Associates QUALIFIED46Bernardo Dominic
1037Costa B ShinkoBrazil2024-04-23Feiner Bros RENEWAL58Onyama Limba
1038Mujtaba M DilliardArgentina2024-03-28Buckley Miller Wright NEW49Asiya Javayant
1039Nicolas T WaycottItaly2024-04-14Truhlar And Truhlar Attys QUALIFIED61Elwin Sharvill
1040Leon B GarufiCanada2024-04-14King, Christopher A Esq NEW74Ivan Magalhaes
1041Antonio K SlusarskiJapan2024-04-25Morlong Associates PROPOSAL94Ioni Bowcher
1042Antonio J VenereArgentina2024-04-13Rangoni Of Florence NEGOTIATION35Elwin Sharvill
1043Chavez J BowleyBrazil2024-04-11Chemel, James L Cpa NEGOTIATION67Amy Elsner
1044Julie S RutaArgentina2024-04-03Rangoni Of Florence UNQUALIFIED68Asiya Javayant
1045Sinclair S RutaBrazil2024-04-12Chanay, Jeffrey A Esq QUALIFIED41Stephen Shaw
1046Smith T FollerBrazil2024-04-20Printing Dimensions QUALIFIED99Asiya Javayant
1047James U ChuiUnited Kingdom2024-04-12Dorl, James J Esq NEGOTIATION90Onyama Limba
1048Silvio P ShinkoItaly2024-04-21King, Christopher A Esq NEGOTIATION94Ioni Bowcher
1049Kadeem F OldroydUnited Kingdom2024-03-27Dorl, James J Esq NEGOTIATION46Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Costa N FlosiFranceXuxue Feng QUALIFIED
Mayumi K GarufiJapanOnyama Limba PROPOSAL
Kaitlin J InouyeGermanyIoni Bowcher UNQUALIFIED
Aika Y MaletJapanAmy Elsner QUALIFIED
Salvatore Z FigeroaBrazilIoni Bowcher QUALIFIED
Aika M InouyeUnited KingdomBernardo Dominic NEW
Johnson R RoysterSpainIoni Bowcher QUALIFIED
Ivar N NestleItalyAmy Elsner NEW
James V ShinkoBrazilOnyama Limba PROPOSAL
Deepesh F FlosiJapanOnyama Limba NEW
Ashley B MacleadGermanyStephen Shaw QUALIFIED
Maria S ButtArgentinaIoni Bowcher RENEWAL
Aruna B NickaRussiaBernardo Dominic PROPOSAL
Clifford K InouyeCanadaIoni Bowcher RENEWAL
Faith Z MacleadGermanyXuxue Feng NEGOTIATION
Isabel G OldroydRussiaBernardo Dominic UNQUALIFIED
Ashley O FlosiSpainElwin Sharvill PROPOSAL
James Y WaycottAustraliaAnna Fali PROPOSAL
Darci B BriddickRussiaAmy Elsner PROPOSAL
Greenwood T StockhamGermanyAnna Fali UNQUALIFIED
Maisha P RoysterAustraliaElwin Sharvill RENEWAL
Kaitlin S RulapaughIndiaStephen Shaw RENEWAL
Jeanfrancois D TollnerArgentinaAnna Fali NEGOTIATION
Kadeem G WaycottFranceElwin Sharvill NEW
Maria W GauchoAustraliaElwin Sharvill PROPOSAL
Costa R GlickFranceStephen Shaw PROPOSAL
Johnson A GauchoFranceElwin Sharvill PROPOSAL
Jefferson W MorascaSpainIoni Bowcher UNQUALIFIED
Maria L CampainCanadaOnyama Limba QUALIFIED
Murillo X MaletItalyOnyama Limba QUALIFIED
Salvatore Q RutaCanadaAnna Fali NEGOTIATION
Julie P SergiItalyOnyama Limba QUALIFIED
Emily J TollnerRussiaStephen Shaw RENEWAL
Munro Y RoysterIndiaIvan Magalhaes RENEWAL
Smith T CaudyRussiaXuxue Feng UNQUALIFIED
Kadeem I WhobreyItalyAmy Elsner RENEWAL
Octavia T MarrierUnited KingdomIoni Bowcher NEW
Emily K RutaCanadaAsiya Javayant RENEWAL
Alejandro Y GlickRussiaAnna Fali QUALIFIED
Greenwood G DilliardCanadaAnna Fali RENEWAL
Morrow K DilliardAustraliaAsiya Javayant NEGOTIATION
Tony N RimIndiaOnyama Limba NEGOTIATION
Mujtaba H RimBrazilStephen Shaw PROPOSAL
Julie R WaycottIndiaStephen Shaw RENEWAL
Aika A PerinSpainIoni Bowcher QUALIFIED
Juan L PerinRussiaStephen Shaw QUALIFIED
Kaitlin R GauchoArgentinaElwin Sharvill NEGOTIATION
Jones I IturbideUnited KingdomIoni Bowcher NEW
Wickens L SaylorsSpainBernardo Dominic PROPOSAL
Francesco R InouyeCanadaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Aika C Maclead
Clifford Q Vocelka
Morrow G Tollner
Johnson X Shinko
Murillo P Whobrey
Cody A Inouye
James J Caudy
Claire J Campain
Claire U Albares
Greenwood R Stenseth
Julie N Waycott
Ricardo X Perin
Mujtaba G Glick
Morrow E Morasca
Aruna S Caudy
Kaitlin J Malet
Stacey B Rulapaugh
Arvin K Shinko
Murillo Z Waycott
Claire O Figeroa
Misaki V Foller
Jefferson T Royster
Ivar Z Sergi
Jennifer Z Malet
Aruna F Rulapaugh
Greenwood Y Doe
Aditya T Albares
Jeanfrancois W Vocelka
Jones H Chui
Alejandro D Stockham
Murillo R Saylors
Wickens D Albares
Wickens Y Royster
James K Bolognia
Francesco E Briddick
Claire L Butt
Ricardo M Marrier
Clifford B Venere
Ivar Y Vocelka
Antonio B Bolognia
Nicolas J Ruta
Maria U Campain
Tony F Ruta
Tony X Stenseth
Greenwood I Paprocki
Jennifer G Maclead
James B Oldroyd
Chavez C Shinko
Greenwood H Venere
Sinclair P Darakjy
IdCountryDate
1000France2024-04-10
1001Germany2024-04-22
1002Russia2024-04-11
1003Brazil2024-04-18
1004Germany2024-03-27
1005Canada2024-03-30
1006Spain2024-03-31
1007Canada2024-04-20
1008United Kingdom2024-04-16
1009Spain2024-04-10
1010Italy2024-04-07
1011Australia2024-04-08
1012Germany2024-04-20
1013Canada2024-04-16
1014Russia2024-04-04
1015United Kingdom2024-04-01
1016Brazil2024-04-15
1017Canada2024-04-20
1018Spain2024-04-25
1019United Kingdom2024-04-25
1020Australia2024-04-11
1021Brazil2024-04-06
1022India2024-04-08
1023Argentina2024-04-09
1024Australia2024-04-10
1025Argentina2024-04-24
1026India2024-04-07
1027Russia2024-04-18
1028Brazil2024-04-05
1029Canada2024-04-22
1030India2024-04-09
1031Spain2024-03-30
1032Australia2024-04-11
1033Australia2024-04-14
1034Russia2024-04-20
1035Argentina2024-04-12
1036France2024-04-03
1037Russia2024-04-08
1038Japan2024-04-20
1039Spain2024-04-07
1040Germany2024-04-07
1041France2024-04-21
1042Australia2024-04-04
1043Japan2024-04-02
1044Russia2024-04-08
1045Spain2024-04-07
1046Japan2024-04-07
1047India2024-04-11
1048Italy2024-04-13
1049France2024-04-25

On-Demand Data

NameIdCountryDate
Wickens T Amigon1000Brazil2024-04-07
Johnson J Gillian1001Canada2024-04-07
Tony W Glick1002Canada2024-04-17
Aika P Rulapaugh1003Canada2024-04-09
Emily R Flosi1004Japan2024-04-09
Isabel B Maclead1005India2024-03-28
Izzy T Saylors1006Italy2024-04-12
Octavia I Flosi1007India2024-04-11
Smith X Morasca1008Spain2024-04-10
Costa G Perin1009Italy2024-03-30
Jones F Butt1010Japan2024-04-09
Smith H Vocelka1011France2024-04-08
Leon P Slusarski1012France2024-04-05
Cody O Garufi1013Argentina2024-04-23
Claire O Glick1014Italy2024-04-25
Kaitlin Z Perin1015Argentina2024-04-09
Johnson P Morasca1016Spain2024-04-08
Kadeem P Sergi1017France2024-04-20
Murillo H Glick1018Canada2024-04-10
Johnson M Kusko1019Brazil2024-03-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith U SaylorsGermanyAsiya Javayant PROPOSAL
Octavia H RutaGermanyElwin Sharvill NEW
David L KolmetzItalyStephen Shaw NEGOTIATION
Salvatore H MarrierRussiaXuxue Feng PROPOSAL
Ricardo R BriddickRussiaStephen Shaw NEGOTIATION
Maisha I PoquetteRussiaAsiya Javayant UNQUALIFIED
Mayumi P GarufiIndiaStephen Shaw RENEWAL
Silvio K StockhamArgentinaIoni Bowcher NEGOTIATION
Izzy P RutaGermanyAsiya Javayant NEGOTIATION
Emily Q NickaFranceElwin Sharvill PROPOSAL
Tony N InouyeFranceBernardo Dominic NEW
Deepesh J WaycottJapanAsiya Javayant UNQUALIFIED
Kaitlin D RulapaughAustraliaIvan Magalhaes PROPOSAL
Juan X RutaItalyXuxue Feng RENEWAL
Jeanfrancois U VocelkaArgentinaAsiya Javayant PROPOSAL
Morrow J PoquetteItalyIvan Magalhaes QUALIFIED
Ricardo X DilliardJapanAnna Fali QUALIFIED
Juan E FollerSpainOnyama Limba QUALIFIED
Wickens K PoquetteCanadaIvan Magalhaes NEGOTIATION
Aika O RulapaughArgentinaBernardo Dominic UNQUALIFIED
Clifford E MarrierFranceIoni Bowcher PROPOSAL
Chavez I TollnerJapanOnyama Limba QUALIFIED
Deepesh P AmigonArgentinaIvan Magalhaes QUALIFIED
Jefferson T BowleyArgentinaIoni Bowcher NEGOTIATION
Izzy M NickaIndiaOnyama Limba NEGOTIATION
Chavez N FerenczSpainOnyama Limba UNQUALIFIED
Ivar E CaudyAustraliaIoni Bowcher PROPOSAL
Francesco O BologniaSpainAmy Elsner NEW
Mujtaba X SaylorsArgentinaElwin Sharvill PROPOSAL
Aditya B VenereJapanElwin Sharvill NEW
Emily Y GlickFranceAmy Elsner QUALIFIED
Costa R VocelkaFranceIoni Bowcher NEW
Aditya Z VocelkaJapanXuxue Feng PROPOSAL
Silvio J WaycottIndiaAmy Elsner NEW
Munro N StockhamRussiaOnyama Limba QUALIFIED
Silvio K RimCanadaElwin Sharvill NEW
Mujtaba S SchemmerFranceIoni Bowcher NEW
Greenwood Y OldroydAustraliaAnna Fali UNQUALIFIED
Jones H DoeSpainAsiya Javayant NEW
Darci T MaletArgentinaBernardo Dominic 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>