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
Costa F RoysterUnited KingdomIvan Magalhaes RENEWAL
Tony A DarakjyArgentinaIoni Bowcher UNQUALIFIED
Leja N MaletGermanyIvan Magalhaes UNQUALIFIED
Clifford A GauchoFranceStephen Shaw NEGOTIATION
Izzy C AmigonCanadaElwin Sharvill QUALIFIED
Sinclair V DilliardSpainIvan Magalhaes PROPOSAL
Wickens E BologniaItalyBernardo Dominic PROPOSAL
Emily D TollnerArgentinaIoni Bowcher NEW
Stacey B BologniaRussiaIvan Magalhaes NEGOTIATION
Mujtaba N SlusarskiCanadaIoni Bowcher NEW
Johnson A BowleyUnited KingdomElwin Sharvill QUALIFIED
Octavia M StockhamItalyAnna Fali NEW
Faith R ButtFranceAnna Fali PROPOSAL
Jeanfrancois L WhobreyCanadaXuxue Feng PROPOSAL
Ivar R DilliardSpainIvan Magalhaes RENEWAL
Mujtaba N BologniaGermanyAmy Elsner NEGOTIATION
Ricardo A GauchoArgentinaIvan Magalhaes NEW
Jennifer Y FerenczIndiaXuxue Feng NEGOTIATION
Misaki X GarufiJapanAnna Fali QUALIFIED
Jeanfrancois A WaycottArgentinaAsiya Javayant RENEWAL
Jeanfrancois T WhobreyGermanyElwin Sharvill UNQUALIFIED
Munro D BriddickBrazilIoni Bowcher NEGOTIATION
Greenwood C MorascaBrazilOnyama Limba RENEWAL
Greenwood R SlusarskiArgentinaIvan Magalhaes NEGOTIATION
Faith Z BologniaIndiaAmy Elsner PROPOSAL
Alejandro Z DilliardBrazilIoni Bowcher UNQUALIFIED
Misaki C BowleyRussiaIvan Magalhaes NEGOTIATION
Isabel T TollnerBrazilBernardo Dominic PROPOSAL
Stacey L CaldareraGermanyXuxue Feng RENEWAL
Cody G BologniaUnited KingdomElwin Sharvill NEW
Isabel P StensethSpainAmy Elsner NEGOTIATION
Misaki U GlickBrazilIoni Bowcher RENEWAL
Claire Z TollnerFranceIvan Magalhaes NEW
Emily Q SergiCanadaAnna Fali QUALIFIED
Claire H BologniaBrazilAnna Fali QUALIFIED
Ivar F InouyeArgentinaAmy Elsner RENEWAL
Murillo A RoysterFranceAmy Elsner RENEWAL
Aruna A MorascaUnited KingdomAnna Fali NEGOTIATION
Rodrigues G GillianFranceAnna Fali PROPOSAL
Claire Y ButtBrazilOnyama Limba PROPOSAL
Clifford P MarrierFranceIvan Magalhaes UNQUALIFIED
Maisha S WaycottAustraliaAnna Fali RENEWAL
David Y RutaCanadaAnna Fali PROPOSAL
Smith S OstroskyFranceElwin Sharvill RENEWAL
James X DoeAustraliaIvan Magalhaes RENEWAL
Kaitlin Z WhobreyItalyIvan Magalhaes PROPOSAL
Ricardo C BriddickAustraliaXuxue Feng UNQUALIFIED
Kadeem F TollnerIndiaBernardo Dominic QUALIFIED
Jones B SlusarskiRussiaAnna Fali RENEWAL
Morrow G SchemmerBrazilAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Tony I OldroydItalyElwin Sharvill PROPOSAL
Clifford H GauchoCanadaBernardo Dominic QUALIFIED
Greenwood L TollnerUnited KingdomBernardo Dominic QUALIFIED
Claire D GlickUnited KingdomAsiya Javayant PROPOSAL
Maria L GlickJapanXuxue Feng NEGOTIATION
Ricardo N KuskoGermanyIoni Bowcher NEGOTIATION
Smith J RulapaughArgentinaXuxue Feng QUALIFIED
Kaitlin C SlusarskiJapanAmy Elsner NEW
Clifford U FollerSpainOnyama Limba QUALIFIED
Munro X SlusarskiBrazilAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki D SlusarskiSpain2024-03-22Commercial Press RENEWAL51Xuxue Feng
1001Salvatore A TollnerItaly2024-04-03Truhlar And Truhlar Attys NEW69Onyama Limba
1002Aika Y MacleadCanada2024-04-13Rousseaux, Michael Esq RENEWAL51Bernardo Dominic
1003Sinclair M CaldareraGermany2024-04-09Rousseaux, Michael Esq UNQUALIFIED42Asiya Javayant
1004Murillo M StensethAustralia2024-04-17Chemel, James L Cpa QUALIFIED26Stephen Shaw
1005Emily U OldroydRussia2024-04-05Commercial Press NEW83Stephen Shaw
1006Ivar X BriddickUnited Kingdom2024-03-31Feltz Printing Service RENEWAL18Ioni Bowcher
1007Aika Q FerenczRussia2024-04-09Buckley Miller Wright RENEWAL26Ivan Magalhaes
1008Emily Q BowleyRussia2024-03-30Dorl, James J Esq UNQUALIFIED47Amy Elsner
1009Aruna U InouyeRussia2024-03-29Buckley Miller Wright PROPOSAL87Stephen Shaw
1010Ivar P VenereAustralia2024-04-12Chemel, James L Cpa PROPOSAL5Onyama Limba
1011Kadeem D WhobreyJapan2024-04-13Commercial Press UNQUALIFIED85Ioni Bowcher
1012Misaki S DarakjyGermany2024-03-31Commercial Press NEGOTIATION72Onyama Limba
1013Isabel E BowleyFrance2024-03-24Morlong Associates UNQUALIFIED17Asiya Javayant
1014Aruna O FollerUnited Kingdom2024-04-04Rousseaux, Michael Esq UNQUALIFIED26Stephen Shaw
1015Octavia H WhobreyIndia2024-03-21Commercial Press PROPOSAL57Onyama Limba
1016Alejandro W IturbideUnited Kingdom2024-04-11Rangoni Of Florence RENEWAL40Amy Elsner
1017Emily K VenereJapan2024-04-01Feltz Printing Service RENEWAL70Xuxue Feng
1018Tony S AlbaresJapan2024-04-01Rangoni Of Florence RENEWAL18Bernardo Dominic
1019Chavez M StockhamUnited Kingdom2024-04-08Printing Dimensions RENEWAL26Elwin Sharvill
1020Claire T ShinkoRussia2024-04-13Commercial Press UNQUALIFIED96Onyama Limba
1021Jennifer B PaprockiBrazil2024-03-24Printing Dimensions QUALIFIED44Elwin Sharvill
1022Mujtaba M BriddickJapan2024-04-13Feiner Bros RENEWAL80Stephen Shaw
1023Julie Z FollerCanada2024-03-25Chapman, Ross E Esq UNQUALIFIED32Anna Fali
1024Leja K CaudyBrazil2024-04-14Truhlar And Truhlar Attys PROPOSAL16Onyama Limba
1025Francesco I DoeItaly2024-03-30Chanay, Jeffrey A Esq NEW92Ioni Bowcher
1026Ivar B MaletBrazil2024-04-06Printing Dimensions PROPOSAL85Onyama Limba
1027Maisha X WhobreyArgentina2024-04-18Feltz Printing Service QUALIFIED32Stephen Shaw
1028Sinclair L NickaAustralia2024-04-08Rousseaux, Michael Esq QUALIFIED29Onyama Limba
1029David C SchemmerRussia2024-04-15Chemel, James L Cpa PROPOSAL84Asiya Javayant
1030Stacey E SaylorsSpain2024-03-27Feltz Printing Service NEW66Stephen Shaw
1031Maria H BriddickArgentina2024-04-18Rangoni Of Florence UNQUALIFIED39Asiya Javayant
1032Leja S SergiRussia2024-04-17Feltz Printing Service RENEWAL13Asiya Javayant
1033Nicolas L RoysterJapan2024-04-09Truhlar And Truhlar Attys RENEWAL89Asiya Javayant
1034Francesco E MarrierGermany2024-03-29King, Christopher A Esq NEGOTIATION93Anna Fali
1035Clifford L ChuiArgentina2024-04-13Printing Dimensions NEW47Stephen Shaw
1036Smith I GarufiIndia2024-04-06Feltz Printing Service PROPOSAL86Ivan Magalhaes
1037Kadeem Z AmigonCanada2024-04-03Rousseaux, Michael Esq NEGOTIATION19Bernardo Dominic
1038Darci N GlickArgentina2024-03-27Rousseaux, Michael Esq UNQUALIFIED78Stephen Shaw
1039Jeanfrancois C BowleyFrance2024-03-22Rangoni Of Florence UNQUALIFIED71Xuxue Feng
1040Munro W PoquetteCanada2024-04-08Dorl, James J Esq NEW98Onyama Limba
1041James N DilliardItaly2024-04-19Printing Dimensions NEW46Onyama Limba
1042Clifford A DoeSpain2024-04-04Chanay, Jeffrey A Esq RENEWAL55Ivan Magalhaes
1043Cody Q RutaGermany2024-04-18Rangoni Of Florence UNQUALIFIED72Asiya Javayant
1044Izzy G CaudySpain2024-03-26Truhlar And Truhlar Attys NEGOTIATION18Elwin Sharvill
1045Rodrigues X SchemmerItaly2024-03-27Dorl, James J Esq PROPOSAL1Asiya Javayant
1046Antonio M CampainBrazil2024-03-31Rousseaux, Michael Esq PROPOSAL30Elwin Sharvill
1047Aruna T KuskoItaly2024-04-14Morlong Associates NEGOTIATION49Asiya Javayant
1048Ashley G KolmetzFrance2024-04-15Commercial Press NEW41Xuxue Feng
1049Kaitlin F DoeArgentina2024-04-09Feiner Bros RENEWAL91Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Octavia X StensethRussiaXuxue Feng UNQUALIFIED
Arvin Z FlosiBrazilXuxue Feng UNQUALIFIED
Jefferson D AmigonArgentinaIvan Magalhaes NEW
Chavez T OldroydCanadaAsiya Javayant UNQUALIFIED
Francesco N FerenczJapanStephen Shaw PROPOSAL
Juan S CaldareraRussiaAnna Fali NEGOTIATION
Jones K BologniaCanadaBernardo Dominic QUALIFIED
David S MorascaBrazilBernardo Dominic UNQUALIFIED
Kadeem A SchemmerBrazilElwin Sharvill RENEWAL
Morrow K WieserBrazilIoni Bowcher PROPOSAL
Tony A FlosiAustraliaIvan Magalhaes UNQUALIFIED
Sinclair I NickaAustraliaIoni Bowcher RENEWAL
Juan B CampainIndiaAnna Fali NEGOTIATION
Munro Y MorascaGermanyAsiya Javayant QUALIFIED
Jones F ChuiIndiaOnyama Limba QUALIFIED
Mayumi Y KuskoBrazilXuxue Feng NEW
Aruna O DilliardSpainAnna Fali NEGOTIATION
Murillo M CampainItalyAmy Elsner QUALIFIED
Maisha A MaletAustraliaStephen Shaw NEW
Claire Y CampainUnited KingdomIvan Magalhaes QUALIFIED
Julie Z DoeBrazilIoni Bowcher NEW
Ashley V AmigonSpainAmy Elsner UNQUALIFIED
Clifford X ChuiJapanElwin Sharvill UNQUALIFIED
Ricardo W SlusarskiAustraliaIoni Bowcher PROPOSAL
Isabel M RimSpainElwin Sharvill PROPOSAL
Morrow H AmigonItalyOnyama Limba NEGOTIATION
Wickens T GauchoRussiaIvan Magalhaes NEW
Kadeem A WhobreyIndiaAsiya Javayant UNQUALIFIED
David M TollnerBrazilAnna Fali RENEWAL
Darci K NestleIndiaBernardo Dominic PROPOSAL
Tony C InouyeUnited KingdomIoni Bowcher PROPOSAL
Antonio O StockhamSpainXuxue Feng NEGOTIATION
Greenwood Q GauchoCanadaElwin Sharvill UNQUALIFIED
Mayumi M MarrierRussiaAmy Elsner RENEWAL
Isabel G CaudySpainAsiya Javayant PROPOSAL
Aruna D WieserArgentinaBernardo Dominic NEW
Octavia F CampainArgentinaIvan Magalhaes NEW
Julie O MaletRussiaOnyama Limba RENEWAL
Izzy K TollnerArgentinaAmy Elsner QUALIFIED
Jones U PaprockiSpainXuxue Feng NEGOTIATION
Munro Y GillianRussiaAsiya Javayant NEW
Munro R MacleadFranceStephen Shaw NEGOTIATION
Adams J GlickArgentinaXuxue Feng QUALIFIED
Tony O AlbaresBrazilIoni Bowcher QUALIFIED
Salvatore B FlosiFranceBernardo Dominic NEGOTIATION
Salvatore Z AmigonFranceAsiya Javayant NEGOTIATION
Rodrigues V FollerCanadaStephen Shaw RENEWAL
Munro W NickaCanadaOnyama Limba NEW
Silvio Q DilliardIndiaStephen Shaw RENEWAL
Munro F BriddickUnited KingdomStephen Shaw QUALIFIED
Frozen Columns
Name
Octavia V Rulapaugh
Maria A Bolognia
Emily O Inouye
Emily X Paprocki
Nicolas Y Campain
Munro N Poquette
Claire F Figeroa
Mayumi I Shinko
Isabel F Waycott
Mujtaba M Figeroa
Greenwood E Doe
Misaki T Stenseth
Rodrigues F Tollner
Silvio P Schemmer
Greenwood V Briddick
Murillo U Briddick
Adams C Shinko
Silvio Z Whobrey
Claire F Amigon
Claire A Kolmetz
Mayumi S Garufi
Aditya H Royster
Aika I Kusko
Misaki Z Vocelka
Emily D Tollner
Juan W Amigon
Leon J Sergi
Faith F Iturbide
Chavez T Kusko
Izzy J Sergi
Smith J Briddick
Morrow Y Albares
Octavia O Rulapaugh
Mayumi K Figeroa
Mayumi U Schemmer
Mayumi B Poquette
Silvio J Stockham
Rodrigues X Maclead
Rodrigues Z Vocelka
Aditya X Caudy
Silvio J Bolognia
Tony W Doe
Darci T Malet
Clifford W Glick
James A Tollner
Aruna G Gillian
Clifford K Kusko
Jefferson O Saylors
Costa A Venere
Octavia N Foller
IdCountryDate
1000Australia2024-03-29
1001Spain2024-03-29
1002Japan2024-04-11
1003Japan2024-04-02
1004United Kingdom2024-04-15
1005France2024-04-08
1006Spain2024-03-30
1007Japan2024-03-29
1008India2024-03-26
1009Russia2024-03-28
1010Japan2024-04-12
1011India2024-04-05
1012Spain2024-04-17
1013Russia2024-03-31
1014Australia2024-04-05
1015Brazil2024-04-06
1016Japan2024-03-30
1017Japan2024-04-07
1018Italy2024-03-22
1019Japan2024-04-10
1020Germany2024-04-12
1021Spain2024-04-17
1022Italy2024-04-06
1023Argentina2024-04-19
1024United Kingdom2024-04-01
1025Australia2024-03-25
1026Spain2024-03-23
1027Russia2024-04-08
1028Japan2024-04-06
1029France2024-03-23
1030France2024-04-15
1031India2024-04-08
1032Argentina2024-04-06
1033Italy2024-04-13
1034Spain2024-04-04
1035Argentina2024-04-14
1036France2024-04-03
1037India2024-04-19
1038Germany2024-04-06
1039United Kingdom2024-03-28
1040Germany2024-04-06
1041Argentina2024-03-25
1042France2024-04-06
1043United Kingdom2024-04-04
1044Italy2024-04-11
1045Australia2024-04-07
1046United Kingdom2024-04-02
1047Brazil2024-03-23
1048Canada2024-04-15
1049Brazil2024-03-30

On-Demand Data

NameIdCountryDate
Octavia Z Caudy1000Japan2024-04-17
Clifford V Stenseth1001United Kingdom2024-04-03
Isabel I Chui1002India2024-03-31
Antonio H Poquette1003Spain2024-04-17
Adams W Gaucho1004Brazil2024-03-28
James Z Doe1005Germany2024-04-09
Jeanfrancois A Malet1006Brazil2024-03-29
James L Iturbide1007Japan2024-04-15
Mayumi L Inouye1008Russia2024-04-05
Alejandro B Gaucho1009Argentina2024-04-17
Maisha E Rim1010Japan2024-03-31
Rodrigues G Stockham1011Germany2024-04-06
Maria T Wieser1012India2024-03-25
Ricardo D Briddick1013France2024-04-07
Jeanfrancois S Venere1014Italy2024-04-13
Isabel S Marrier1015United Kingdom2024-03-31
Misaki U Slusarski1016Germany2024-04-03
Smith W Oldroyd1017Brazil2024-03-28
Cody L Whobrey1018Canada2024-03-21
Ashley S Briddick1019United Kingdom2024-04-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin U FollerArgentinaElwin Sharvill NEW
Clifford C GauchoUnited KingdomOnyama Limba PROPOSAL
Kaitlin W StockhamArgentinaAsiya Javayant RENEWAL
Murillo K WhobreyBrazilAmy Elsner QUALIFIED
Mayumi Z GlickRussiaElwin Sharvill RENEWAL
Munro Y DilliardItalyAmy Elsner NEW
Ivar A KuskoRussiaBernardo Dominic QUALIFIED
Faith P VocelkaGermanyIvan Magalhaes NEGOTIATION
Emily D GarufiAustraliaBernardo Dominic UNQUALIFIED
Maisha N WaycottItalyBernardo Dominic NEW
Munro P KuskoAustraliaStephen Shaw NEGOTIATION
Arvin S CaldareraSpainIoni Bowcher UNQUALIFIED
Leja U MacleadAustraliaElwin Sharvill RENEWAL
Greenwood H MaletGermanyBernardo Dominic NEGOTIATION
Aruna T DarakjyFranceStephen Shaw RENEWAL
Mayumi Z DoeCanadaIvan Magalhaes UNQUALIFIED
Morrow Z VenereIndiaIvan Magalhaes PROPOSAL
Octavia Q FigeroaRussiaStephen Shaw NEW
Mayumi R SaylorsRussiaXuxue Feng NEGOTIATION
Isabel U FlosiBrazilStephen Shaw PROPOSAL
Isabel Q GillianIndiaAnna Fali NEW
Stacey G GauchoUnited KingdomElwin Sharvill NEGOTIATION
Adams C GarufiGermanyAmy Elsner UNQUALIFIED
Kaitlin P SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Munro I NickaBrazilIoni Bowcher NEGOTIATION
Ivar M WhobreyBrazilAmy Elsner NEW
Maisha T AlbaresJapanIvan Magalhaes PROPOSAL
Kaitlin B GillianItalyAnna Fali UNQUALIFIED
Ivar Z SergiUnited KingdomIvan Magalhaes RENEWAL
Jones L VocelkaGermanyIvan Magalhaes NEW
Costa G ShinkoUnited KingdomElwin Sharvill RENEWAL
Emily U StockhamFranceIoni Bowcher NEW
Cody U InouyeCanadaOnyama Limba NEW
Juan M InouyeRussiaXuxue Feng NEGOTIATION
Jefferson S MacleadJapanStephen Shaw PROPOSAL
Silvio W GauchoBrazilAnna Fali NEW
Stacey J NestleCanadaIoni Bowcher PROPOSAL
Stacey J ButtArgentinaOnyama Limba UNQUALIFIED
Stacey O CaldareraGermanyXuxue Feng PROPOSAL
Alejandro F MaletCanadaElwin Sharvill 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>