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
Juan Q BologniaRussiaIoni Bowcher QUALIFIED
Aditya P GarufiSpainAnna Fali UNQUALIFIED
Salvatore O ShinkoUnited KingdomAsiya Javayant NEW
Greenwood U NestleFranceIoni Bowcher PROPOSAL
Clifford J FlosiRussiaElwin Sharvill RENEWAL
Octavia G AmigonAustraliaBernardo Dominic NEW
Arvin S GarufiItalyOnyama Limba QUALIFIED
Sinclair F WaycottSpainIoni Bowcher UNQUALIFIED
Smith Z FigeroaAustraliaOnyama Limba PROPOSAL
Johnson B GillianAustraliaAmy Elsner NEGOTIATION
Ashley Z ButtIndiaBernardo Dominic PROPOSAL
Tony D FerenczItalyAsiya Javayant RENEWAL
Octavia C CaudyBrazilElwin Sharvill PROPOSAL
Munro F StensethBrazilAsiya Javayant NEGOTIATION
Jones P PaprockiBrazilElwin Sharvill QUALIFIED
Aruna G PaprockiRussiaXuxue Feng NEGOTIATION
Cody H BologniaItalyAsiya Javayant UNQUALIFIED
Greenwood V RulapaughGermanyAmy Elsner PROPOSAL
James O ShinkoSpainIvan Magalhaes UNQUALIFIED
Ricardo N ShinkoSpainStephen Shaw QUALIFIED
Jones S WhobreyItalyBernardo Dominic NEW
Kaitlin G VocelkaBrazilXuxue Feng QUALIFIED
Leon C GarufiFranceAmy Elsner UNQUALIFIED
Julie S BologniaUnited KingdomElwin Sharvill PROPOSAL
Isabel C MaletBrazilAmy Elsner NEW
Kadeem Z BologniaGermanyElwin Sharvill RENEWAL
Adams F MacleadGermanyIoni Bowcher NEGOTIATION
Stacey O MaletArgentinaOnyama Limba RENEWAL
Francesco R StensethItalyIvan Magalhaes RENEWAL
Murillo Q AmigonArgentinaAnna Fali PROPOSAL
Tony W AmigonSpainAsiya Javayant NEW
Silvio J CaudyGermanyElwin Sharvill NEW
Silvio U DarakjyRussiaOnyama Limba UNQUALIFIED
Izzy F MaletArgentinaOnyama Limba UNQUALIFIED
Murillo L KolmetzSpainBernardo Dominic UNQUALIFIED
Maria N TollnerArgentinaBernardo Dominic PROPOSAL
Kadeem B SchemmerJapanAmy Elsner NEW
Juan Y GlickSpainIoni Bowcher RENEWAL
Jones D NickaJapanIoni Bowcher PROPOSAL
Cody V TollnerUnited KingdomIoni Bowcher NEW
Jefferson P WieserGermanyXuxue Feng NEW
Antonio J AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Kadeem M FlosiGermanyOnyama Limba NEW
Greenwood I ShinkoIndiaAmy Elsner UNQUALIFIED
Antonio G IturbideAustraliaAsiya Javayant NEW
Sinclair S SaylorsArgentinaAmy Elsner NEGOTIATION
Ivar U StensethIndiaXuxue Feng NEGOTIATION
Maisha O SchemmerRussiaAsiya Javayant QUALIFIED
Morrow C GauchoCanadaIoni Bowcher NEGOTIATION
Clifford P SlusarskiAustraliaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Stacey R KolmetzCanadaIvan Magalhaes PROPOSAL
Julie P StockhamItalyAsiya Javayant NEGOTIATION
Claire K ShinkoSpainOnyama Limba NEGOTIATION
Leja Q FollerBrazilStephen Shaw RENEWAL
Tony K GillianAustraliaOnyama Limba NEGOTIATION
Murillo E MacleadJapanStephen Shaw QUALIFIED
David A ButtCanadaAmy Elsner NEW
Aruna A StensethFranceElwin Sharvill QUALIFIED
Alejandro R ChuiItalyAmy Elsner NEW
Aditya U NickaSpainIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore H MaletIndia2024-04-27Benton, John B Jr RENEWAL5Ivan Magalhaes
1001Rodrigues U WieserAustralia2024-04-27Printing Dimensions NEW47Elwin Sharvill
1002Faith W CampainRussia2024-04-17Chemel, James L Cpa RENEWAL44Anna Fali
1003Ivar O FlosiSpain2024-04-26Printing Dimensions UNQUALIFIED82Ioni Bowcher
1004Misaki U NickaArgentina2024-04-24Dorl, James J Esq RENEWAL14Xuxue Feng
1005Claire T GauchoGermany2024-04-07Rousseaux, Michael Esq RENEWAL89Onyama Limba
1006Tony E StensethFrance2024-04-30Rangoni Of Florence NEGOTIATION26Stephen Shaw
1007Jefferson P GillianUnited Kingdom2024-04-17Benton, John B Jr NEW59Stephen Shaw
1008Nicolas V NickaAustralia2024-04-03Printing Dimensions UNQUALIFIED39Ioni Bowcher
1009Chavez C WieserAustralia2024-04-12Commercial Press NEW73Elwin Sharvill
1010Arvin P NestleItaly2024-04-22Printing Dimensions NEW42Onyama Limba
1011David T CaldareraGermany2024-04-12Chapman, Ross E Esq QUALIFIED66Ivan Magalhaes
1012Smith O GillianJapan2024-04-10Printing Dimensions NEGOTIATION39Stephen Shaw
1013Misaki A ChuiGermany2024-04-08Feiner Bros QUALIFIED2Elwin Sharvill
1014Francesco G ButtAustralia2024-04-17Chanay, Jeffrey A Esq NEW7Onyama Limba
1015Aika K KuskoJapan2024-04-17Printing Dimensions RENEWAL93Asiya Javayant
1016Rodrigues K VenereFrance2024-04-30Dorl, James J Esq NEW54Ioni Bowcher
1017Mujtaba S MaletBrazil2024-04-30Chanay, Jeffrey A Esq NEGOTIATION27Ioni Bowcher
1018Ashley D DarakjyBrazil2024-04-03Chemel, James L Cpa PROPOSAL92Anna Fali
1019Juan M ButtJapan2024-04-17Buckley Miller Wright QUALIFIED87Anna Fali
1020Aruna A CaudyUnited Kingdom2024-04-12Feiner Bros NEW61Ioni Bowcher
1021Faith Y PaprockiBrazil2024-04-13Truhlar And Truhlar Attys QUALIFIED70Anna Fali
1022Murillo Q FlosiUnited Kingdom2024-04-03Truhlar And Truhlar Attys QUALIFIED4Xuxue Feng
1023Alejandro P SlusarskiUnited Kingdom2024-04-09Morlong Associates NEGOTIATION26Asiya Javayant
1024Aika A GlickSpain2024-04-27Benton, John B Jr NEGOTIATION16Asiya Javayant
1025James V BriddickUnited Kingdom2024-04-18Buckley Miller Wright NEGOTIATION63Elwin Sharvill
1026Jones Y IturbideGermany2024-04-30Rangoni Of Florence NEW82Amy Elsner
1027Isabel D OstroskyArgentina2024-04-05Rangoni Of Florence RENEWAL37Ioni Bowcher
1028Stacey B WaycottGermany2024-04-12Dorl, James J Esq PROPOSAL32Ioni Bowcher
1029Jeanfrancois Y MorascaItaly2024-04-24Chapman, Ross E Esq QUALIFIED92Anna Fali
1030Mujtaba D BologniaAustralia2024-04-10Benton, John B Jr RENEWAL38Anna Fali
1031Chavez T MarrierIndia2024-04-12Truhlar And Truhlar Attys PROPOSAL39Onyama Limba
1032Maisha K GlickGermany2024-04-14Morlong Associates NEGOTIATION64Xuxue Feng
1033Juan L AmigonArgentina2024-04-12Chanay, Jeffrey A Esq NEW1Elwin Sharvill
1034Faith P VenereItaly2024-04-04Benton, John B Jr RENEWAL31Xuxue Feng
1035Isabel I OstroskyBrazil2024-04-16Morlong Associates PROPOSAL94Bernardo Dominic
1036Mujtaba E AlbaresUnited Kingdom2024-04-08Morlong Associates NEW0Bernardo Dominic
1037Stacey Z SergiItaly2024-04-24Dorl, James J Esq NEW44Onyama Limba
1038James H RutaRussia2024-04-19Commercial Press NEW15Ivan Magalhaes
1039Nicolas W GauchoAustralia2024-04-07Morlong Associates PROPOSAL4Amy Elsner
1040Murillo J PoquetteRussia2024-04-05Rousseaux, Michael Esq PROPOSAL56Xuxue Feng
1041Costa G DoeRussia2024-04-24Chapman, Ross E Esq NEGOTIATION15Asiya Javayant
1042Juan X MaletFrance2024-04-17Chanay, Jeffrey A Esq PROPOSAL8Bernardo Dominic
1043Cody Z MacleadJapan2024-04-27Rousseaux, Michael Esq RENEWAL21Bernardo Dominic
1044Kaitlin Z ButtRussia2024-04-06Feiner Bros NEW3Onyama Limba
1045Johnson Z SlusarskiRussia2024-04-13Commercial Press QUALIFIED13Amy Elsner
1046Stacey L DilliardCanada2024-04-05King, Christopher A Esq NEW36Onyama Limba
1047Maisha M ShinkoAustralia2024-04-17Printing Dimensions RENEWAL5Anna Fali
1048Jones W GillianRussia2024-04-28Commercial Press RENEWAL55Stephen Shaw
1049Cody F RimFrance2024-04-11Chanay, Jeffrey A Esq NEGOTIATION15Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Chavez G MaletJapanBernardo Dominic NEW
Kadeem Q VocelkaAustraliaXuxue Feng RENEWAL
Mayumi F MaletIndiaStephen Shaw NEGOTIATION
Faith W FollerUnited KingdomOnyama Limba RENEWAL
Misaki R MacleadUnited KingdomOnyama Limba RENEWAL
Murillo V WhobreyRussiaBernardo Dominic QUALIFIED
Cody S MarrierIndiaXuxue Feng RENEWAL
Maria S ShinkoUnited KingdomOnyama Limba UNQUALIFIED
Aika C WhobreyUnited KingdomXuxue Feng QUALIFIED
Jones V DoeArgentinaAnna Fali RENEWAL
Munro S RoysterUnited KingdomAmy Elsner NEW
Murillo Y KolmetzCanadaBernardo Dominic UNQUALIFIED
Greenwood Z StensethRussiaAsiya Javayant NEW
Leon T CampainItalyIoni Bowcher NEGOTIATION
Aika B VenereCanadaIoni Bowcher NEGOTIATION
Jefferson A InouyeSpainStephen Shaw NEGOTIATION
Salvatore V StensethBrazilIvan Magalhaes NEGOTIATION
Isabel L BowleyJapanOnyama Limba PROPOSAL
Octavia F IturbideRussiaIvan Magalhaes QUALIFIED
Aika O MacleadCanadaAsiya Javayant RENEWAL
Aditya H RimArgentinaAsiya Javayant PROPOSAL
Aruna M FigeroaAustraliaAnna Fali RENEWAL
Tony E MaletGermanyStephen Shaw UNQUALIFIED
Clifford Z KolmetzCanadaStephen Shaw NEGOTIATION
Clifford X NestleGermanyAmy Elsner NEW
Mujtaba V MaletBrazilIvan Magalhaes NEW
Jones S RimRussiaIvan Magalhaes NEGOTIATION
Greenwood M WaycottRussiaAsiya Javayant UNQUALIFIED
Mujtaba H NickaRussiaAmy Elsner QUALIFIED
Jones Y RulapaughBrazilOnyama Limba NEW
Chavez R SaylorsGermanyStephen Shaw RENEWAL
Octavia G CaldareraAustraliaXuxue Feng PROPOSAL
Arvin Q FerenczCanadaAsiya Javayant NEGOTIATION
Maria B CaldareraUnited KingdomAnna Fali QUALIFIED
Chavez N AlbaresIndiaOnyama Limba RENEWAL
Emily N SaylorsSpainAmy Elsner UNQUALIFIED
Antonio I FigeroaSpainAnna Fali PROPOSAL
Claire O KuskoAustraliaElwin Sharvill UNQUALIFIED
Julie J GillianBrazilAsiya Javayant NEW
James B SergiCanadaXuxue Feng QUALIFIED
Jennifer F BowleyJapanStephen Shaw UNQUALIFIED
Octavia U PerinBrazilOnyama Limba UNQUALIFIED
Murillo K OldroydAustraliaAnna Fali NEW
Arvin J StensethJapanStephen Shaw PROPOSAL
Kaitlin P ButtCanadaAnna Fali NEGOTIATION
Jones E WaycottFranceAnna Fali RENEWAL
Clifford X RulapaughBrazilIoni Bowcher RENEWAL
Jennifer Y GarufiBrazilAmy Elsner PROPOSAL
Leon P ChuiItalyOnyama Limba PROPOSAL
Faith I StensethBrazilAsiya Javayant QUALIFIED
Frozen Columns
Name
Munro Y Caudy
Kaitlin Y Poquette
James X Gillian
Arvin E Inouye
Maisha K Iturbide
Nicolas Z Marrier
Francesco Q Doe
Costa I Amigon
Octavia O Malet
Clifford J Poquette
Salvatore S Maclead
Francesco L Malet
Kaitlin K Waycott
Stacey D Dilliard
Izzy Z Malet
Munro P Rulapaugh
Wickens F Iturbide
Jeanfrancois Q Gillian
Costa W Oldroyd
Kadeem C Dilliard
Murillo N Foller
Munro Y Caudy
Salvatore G Campain
Julie R Rim
David B Gaucho
Aruna F Shinko
Murillo F Whobrey
Stacey O Waycott
Morrow A Shinko
Alejandro S Kusko
Sinclair N Marrier
Maria F Wieser
Isabel C Figeroa
Isabel W Flosi
Johnson L Darakjy
Rodrigues A Doe
Jefferson W Flosi
Tony X Butt
Jones W Doe
Costa S Stenseth
James G Caudy
Emily C Rim
Antonio P Iturbide
Maisha M Iturbide
Aditya M Schemmer
Clifford M Maclead
Greenwood H Rim
Greenwood O Rim
Rodrigues U Bolognia
Juan U Waycott
IdCountryDate
1000Japan2024-04-14
1001Japan2024-04-09
1002France2024-04-07
1003Germany2024-04-27
1004Brazil2024-04-12
1005Australia2024-04-14
1006Russia2024-04-23
1007France2024-04-14
1008Italy2024-04-06
1009Argentina2024-04-03
1010Australia2024-04-23
1011Spain2024-04-22
1012Germany2024-04-15
1013Japan2024-04-08
1014United Kingdom2024-04-04
1015Canada2024-04-28
1016Australia2024-04-29
1017Spain2024-04-21
1018France2024-04-29
1019Japan2024-04-26
1020Spain2024-04-23
1021Japan2024-04-23
1022India2024-04-06
1023Australia2024-04-03
1024Spain2024-04-13
1025Russia2024-04-21
1026Canada2024-04-14
1027Brazil2024-04-27
1028United Kingdom2024-04-22
1029United Kingdom2024-04-26
1030United Kingdom2024-04-17
1031Canada2024-04-19
1032Canada2024-04-05
1033Italy2024-04-10
1034Canada2024-04-26
1035India2024-04-04
1036Australia2024-04-30
1037Japan2024-05-01
1038Canada2024-04-23
1039Brazil2024-04-23
1040Japan2024-04-22
1041United Kingdom2024-04-20
1042Italy2024-04-23
1043Australia2024-04-13
1044Spain2024-04-13
1045Japan2024-04-17
1046Canada2024-04-17
1047Italy2024-04-26
1048Italy2024-04-23
1049Brazil2024-04-18

On-Demand Data

NameIdCountryDate
Tony R Stenseth1000Argentina2024-04-12
Antonio H Stenseth1001India2024-04-03
Leon D Slusarski1002Russia2024-04-24
Francesco T Albares1003Japan2024-05-01
Costa K Caudy1004Russia2024-04-18
Juan G Briddick1005Brazil2024-05-02
Ricardo C Waycott1006Russia2024-04-03
Misaki S Briddick1007Canada2024-05-01
Munro T Saylors1008France2024-04-13
Leja E Maclead1009Italy2024-05-01
Aruna P Inouye1010France2024-04-13
James X Tollner1011Japan2024-04-14
Stacey B Caldarera1012Argentina2024-04-09
Silvio W Venere1013Italy2024-04-28
Ashley R Garufi1014Russia2024-04-06
David B Amigon1015Japan2024-04-15
Kaitlin Y Marrier1016Canada2024-04-20
Wickens X Paprocki1017Spain2024-04-16
Antonio M Perin1018France2024-04-05
Wickens T Bolognia1019India2024-04-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria V NestleArgentinaAsiya Javayant PROPOSAL
Rodrigues D DilliardCanadaIoni Bowcher RENEWAL
Kaitlin V AmigonJapanOnyama Limba UNQUALIFIED
Jennifer I KolmetzRussiaIoni Bowcher NEGOTIATION
Sinclair F AlbaresJapanElwin Sharvill QUALIFIED
Aruna C WhobreyFranceAmy Elsner UNQUALIFIED
Isabel Y MaletBrazilBernardo Dominic UNQUALIFIED
Izzy K ButtItalyIvan Magalhaes NEGOTIATION
Chavez E MacleadIndiaXuxue Feng PROPOSAL
Kadeem D OldroydGermanyAnna Fali QUALIFIED
Misaki C CampainJapanAmy Elsner NEGOTIATION
Julie V MaletGermanyIvan Magalhaes QUALIFIED
Murillo D VocelkaIndiaXuxue Feng QUALIFIED
Costa S BologniaBrazilStephen Shaw PROPOSAL
Isabel W WhobreyAustraliaBernardo Dominic PROPOSAL
Isabel B FerenczAustraliaAmy Elsner NEW
Costa H MaletIndiaIvan Magalhaes UNQUALIFIED
Mujtaba M RimSpainStephen Shaw PROPOSAL
Maria N RoysterJapanOnyama Limba RENEWAL
Leon J ShinkoJapanBernardo Dominic NEGOTIATION
Murillo T KuskoIndiaBernardo Dominic QUALIFIED
Morrow Q FlosiUnited KingdomStephen Shaw UNQUALIFIED
David Y ShinkoUnited KingdomAnna Fali QUALIFIED
Clifford J AmigonItalyAsiya Javayant NEGOTIATION
Emily A GlickUnited KingdomAsiya Javayant NEGOTIATION
Jefferson Y FerenczArgentinaAmy Elsner QUALIFIED
James F BowleyAustraliaIoni Bowcher PROPOSAL
Faith V AmigonArgentinaStephen Shaw RENEWAL
Wickens N NickaItalyAmy Elsner RENEWAL
Emily Z WieserSpainAnna Fali NEGOTIATION
Sinclair D CampainFranceIvan Magalhaes QUALIFIED
Greenwood L MaletRussiaXuxue Feng PROPOSAL
Silvio Y GlickIndiaIvan Magalhaes RENEWAL
Mujtaba H DilliardBrazilIvan Magalhaes NEW
Antonio X PoquetteIndiaIoni Bowcher NEW
Faith Z ButtFranceIvan Magalhaes RENEWAL
Murillo J SchemmerAustraliaBernardo Dominic NEW
Kaitlin L ChuiCanadaBernardo Dominic NEGOTIATION
Ivar W ShinkoGermanyAsiya Javayant UNQUALIFIED
Maisha P FlosiFranceOnyama 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>