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
James R BologniaArgentinaElwin Sharvill RENEWAL
Nicolas E RoysterJapanIoni Bowcher NEGOTIATION
Maisha W KuskoFranceElwin Sharvill RENEWAL
Johnson J CaldareraRussiaElwin Sharvill QUALIFIED
Wickens B BowleyJapanAsiya Javayant QUALIFIED
Wickens V GauchoSpainIoni Bowcher NEGOTIATION
Costa K GauchoGermanyAsiya Javayant RENEWAL
Maisha J MacleadGermanyOnyama Limba RENEWAL
Greenwood T FollerItalyBernardo Dominic UNQUALIFIED
Antonio Z KuskoArgentinaIoni Bowcher QUALIFIED
Julie E BologniaCanadaIoni Bowcher PROPOSAL
Nicolas O KolmetzIndiaElwin Sharvill PROPOSAL
Jeanfrancois Z SergiArgentinaIvan Magalhaes QUALIFIED
Aika J WhobreyIndiaOnyama Limba NEW
Kadeem N InouyeAustraliaAnna Fali QUALIFIED
Octavia V SchemmerJapanIoni Bowcher UNQUALIFIED
Ashley W CaudyFranceBernardo Dominic NEGOTIATION
Claire B CaldareraIndiaOnyama Limba NEW
Greenwood F ShinkoRussiaElwin Sharvill NEGOTIATION
Silvio S VocelkaAustraliaAsiya Javayant PROPOSAL
Kadeem D SaylorsGermanyElwin Sharvill QUALIFIED
Isabel X VenereIndiaAsiya Javayant QUALIFIED
Octavia Q DilliardItalyAnna Fali QUALIFIED
Jones U BowleyRussiaAmy Elsner NEW
Julie S ChuiBrazilIvan Magalhaes NEGOTIATION
Sinclair V AmigonBrazilStephen Shaw UNQUALIFIED
Leja R RimIndiaAnna Fali UNQUALIFIED
Jennifer Z CampainUnited KingdomIvan Magalhaes NEW
Octavia H KuskoItalyStephen Shaw QUALIFIED
Murillo B MaletGermanyAmy Elsner UNQUALIFIED
Misaki X MaletCanadaIvan Magalhaes NEGOTIATION
Morrow C BriddickAustraliaAsiya Javayant NEW
Antonio U WieserAustraliaElwin Sharvill QUALIFIED
Stacey C SlusarskiRussiaOnyama Limba RENEWAL
Silvio I InouyeJapanElwin Sharvill RENEWAL
Kaitlin D MaletBrazilOnyama Limba PROPOSAL
Jennifer Q MorascaSpainXuxue Feng UNQUALIFIED
Tony F MacleadItalyXuxue Feng QUALIFIED
Wickens M MaletItalyAmy Elsner QUALIFIED
Greenwood O RutaArgentinaElwin Sharvill RENEWAL
Jones H NickaUnited KingdomBernardo Dominic PROPOSAL
Aruna Q OstroskyBrazilElwin Sharvill UNQUALIFIED
Greenwood N PaprockiArgentinaAmy Elsner RENEWAL
Leja T NestleGermanyStephen Shaw UNQUALIFIED
Izzy O GlickUnited KingdomElwin Sharvill RENEWAL
Kaitlin D InouyeRussiaBernardo Dominic NEGOTIATION
Alejandro U SergiSpainAmy Elsner UNQUALIFIED
Jeanfrancois Y WaycottItalyBernardo Dominic NEGOTIATION
Johnson H CaudySpainAnna Fali UNQUALIFIED
Julie E MacleadGermanyStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
James H FigeroaGermanyBernardo Dominic PROPOSAL
Morrow G WieserRussiaElwin Sharvill QUALIFIED
Octavia X InouyeRussiaBernardo Dominic NEGOTIATION
Maria V MorascaJapanElwin Sharvill NEW
Rodrigues Y DarakjyRussiaStephen Shaw NEGOTIATION
Kaitlin C PerinJapanXuxue Feng NEW
Silvio V StockhamGermanyXuxue Feng RENEWAL
Silvio K StensethIndiaIvan Magalhaes PROPOSAL
Claire A WaycottCanadaElwin Sharvill NEW
Arvin W AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha Z CampainJapan2024-04-21Buckley Miller Wright UNQUALIFIED83Stephen Shaw
1001Alejandro T NestleFrance2024-04-23Buckley Miller Wright NEGOTIATION3Stephen Shaw
1002Johnson V BowleyArgentina2024-04-04Chapman, Ross E Esq RENEWAL21Xuxue Feng
1003Silvio L SergiGermany2024-04-16Commercial Press QUALIFIED84Elwin Sharvill
1004Alejandro J MaletAustralia2024-04-20Dorl, James J Esq UNQUALIFIED71Stephen Shaw
1005Juan L MaletJapan2024-04-26Chapman, Ross E Esq NEGOTIATION19Onyama Limba
1006Antonio V PaprockiUnited Kingdom2024-04-17King, Christopher A Esq QUALIFIED5Anna Fali
1007Kaitlin Y FollerUnited Kingdom2024-04-01Chanay, Jeffrey A Esq UNQUALIFIED59Xuxue Feng
1008Arvin K BriddickSpain2024-04-17Printing Dimensions NEW84Stephen Shaw
1009David Y WaycottJapan2024-04-03Feltz Printing Service NEW89Asiya Javayant
1010Francesco W FollerCanada2024-04-19Feiner Bros RENEWAL19Ivan Magalhaes
1011Wickens W GauchoJapan2024-04-15Chemel, James L Cpa NEGOTIATION7Bernardo Dominic
1012Claire X DarakjyIndia2024-04-27Morlong Associates PROPOSAL2Elwin Sharvill
1013Leja E BowleyRussia2024-04-28Feiner Bros RENEWAL84Ioni Bowcher
1014Kadeem H DilliardItaly2024-04-09Chemel, James L Cpa PROPOSAL2Stephen Shaw
1015Murillo P MorascaRussia2024-03-30Feltz Printing Service UNQUALIFIED9Ioni Bowcher
1016Mujtaba J GauchoArgentina2024-04-09Feltz Printing Service UNQUALIFIED37Stephen Shaw
1017Darci F BriddickArgentina2024-04-20Benton, John B Jr RENEWAL2Asiya Javayant
1018Kadeem H CampainSpain2024-04-05Rousseaux, Michael Esq NEGOTIATION47Anna Fali
1019Silvio R ButtJapan2024-04-13King, Christopher A Esq PROPOSAL92Asiya Javayant
1020Silvio D GauchoIndia2024-04-08Morlong Associates UNQUALIFIED49Onyama Limba
1021Clifford I WhobreyBrazil2024-04-12King, Christopher A Esq UNQUALIFIED18Xuxue Feng
1022Izzy Y CaldareraGermany2024-04-04Feiner Bros QUALIFIED72Anna Fali
1023James Q GauchoJapan2024-04-23Chapman, Ross E Esq QUALIFIED98Amy Elsner
1024Darci Q DilliardSpain2024-04-05Truhlar And Truhlar Attys UNQUALIFIED52Amy Elsner
1025Octavia F MorascaFrance2024-04-04Printing Dimensions RENEWAL51Bernardo Dominic
1026Jefferson W GarufiAustralia2024-04-13Feltz Printing Service RENEWAL97Amy Elsner
1027Claire A RimRussia2024-04-02Morlong Associates PROPOSAL96Amy Elsner
1028Jones O RulapaughArgentina2024-04-10Commercial Press RENEWAL63Anna Fali
1029Isabel I ShinkoFrance2024-04-15Buckley Miller Wright UNQUALIFIED63Bernardo Dominic
1030Ivar O StockhamArgentina2024-04-14Buckley Miller Wright NEW85Stephen Shaw
1031Leja K VocelkaGermany2024-04-05Buckley Miller Wright QUALIFIED2Asiya Javayant
1032Jennifer I PoquetteCanada2024-04-11Commercial Press QUALIFIED46Anna Fali
1033Ivar S WaycottArgentina2024-04-13Dorl, James J Esq RENEWAL76Ivan Magalhaes
1034Sinclair F GillianRussia2024-04-17King, Christopher A Esq NEW26Asiya Javayant
1035Jones V MarrierBrazil2024-04-02Feltz Printing Service UNQUALIFIED96Bernardo Dominic
1036Kadeem S WaycottIndia2024-03-31Commercial Press UNQUALIFIED9Anna Fali
1037Misaki Y DoeUnited Kingdom2024-04-16Buckley Miller Wright QUALIFIED79Onyama Limba
1038Stacey O SlusarskiUnited Kingdom2024-04-06Feltz Printing Service RENEWAL49Bernardo Dominic
1039Smith V MarrierArgentina2024-04-13Dorl, James J Esq PROPOSAL29Amy Elsner
1040Salvatore A PoquetteAustralia2024-04-16Feiner Bros QUALIFIED63Bernardo Dominic
1041Aika G TollnerSpain2024-03-31Rangoni Of Florence NEW21Amy Elsner
1042Antonio N DilliardFrance2024-04-25Buckley Miller Wright RENEWAL62Stephen Shaw
1043Leon X StockhamJapan2024-04-03Chanay, Jeffrey A Esq NEW31Ioni Bowcher
1044Emily T KolmetzSpain2024-04-12Chemel, James L Cpa NEGOTIATION74Anna Fali
1045Morrow X StockhamIndia2024-04-01Morlong Associates PROPOSAL97Onyama Limba
1046Maisha S SaylorsSpain2024-04-17Feltz Printing Service QUALIFIED11Asiya Javayant
1047Arvin S BriddickJapan2024-04-22Morlong Associates UNQUALIFIED37Bernardo Dominic
1048Izzy A NickaRussia2024-04-27Feiner Bros NEW1Bernardo Dominic
1049David G AlbaresIndia2024-04-12Benton, John B Jr RENEWAL13Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Emily H GauchoCanadaIoni Bowcher RENEWAL
Maria Q SchemmerCanadaXuxue Feng NEGOTIATION
Jeanfrancois M MaletItalyBernardo Dominic NEGOTIATION
Jennifer O OldroydBrazilAnna Fali PROPOSAL
Jeanfrancois G BowleyItalyIoni Bowcher UNQUALIFIED
Ashley L DarakjyRussiaIoni Bowcher NEGOTIATION
Jones L VenereFranceStephen Shaw NEGOTIATION
Nicolas K StensethAustraliaAnna Fali NEGOTIATION
Antonio X AmigonJapanIoni Bowcher NEW
Cody E MarrierJapanXuxue Feng UNQUALIFIED
Cody Y TollnerGermanyElwin Sharvill QUALIFIED
Maisha D MaletCanadaXuxue Feng UNQUALIFIED
Munro C NickaIndiaIvan Magalhaes PROPOSAL
Rodrigues Z KolmetzRussiaIvan Magalhaes RENEWAL
Jennifer B PoquetteRussiaIoni Bowcher NEGOTIATION
Ashley C DilliardFranceIvan Magalhaes NEW
Octavia N FerenczUnited KingdomElwin Sharvill PROPOSAL
Wickens A RutaGermanyAnna Fali NEW
Kadeem H VenereGermanyAsiya Javayant NEW
Julie Q StockhamBrazilIvan Magalhaes RENEWAL
Munro I AmigonAustraliaIoni Bowcher PROPOSAL
Johnson P GlickUnited KingdomAnna Fali NEW
Tony A CampainSpainBernardo Dominic RENEWAL
Misaki C TollnerIndiaXuxue Feng RENEWAL
Nicolas I SlusarskiItalyIoni Bowcher RENEWAL
Jefferson N DoeArgentinaIoni Bowcher PROPOSAL
Murillo N DoeAustraliaOnyama Limba PROPOSAL
Silvio F AlbaresItalyXuxue Feng NEW
Tony E FerenczItalyAnna Fali NEW
Julie D DarakjyBrazilAnna Fali QUALIFIED
Munro P AlbaresCanadaXuxue Feng NEW
Faith J RimFranceAnna Fali RENEWAL
Misaki U KolmetzAustraliaStephen Shaw RENEWAL
Wickens Z CaldareraRussiaOnyama Limba QUALIFIED
Aruna L DilliardItalyAmy Elsner QUALIFIED
Greenwood Z VocelkaAustraliaIoni Bowcher QUALIFIED
Ashley G SlusarskiCanadaIoni Bowcher NEGOTIATION
Sinclair S FigeroaSpainAsiya Javayant UNQUALIFIED
Aika X FollerAustraliaOnyama Limba UNQUALIFIED
Leon C RulapaughJapanAmy Elsner NEGOTIATION
Misaki T BowleySpainBernardo Dominic NEW
Octavia E BowleyAustraliaAsiya Javayant RENEWAL
Adams G VocelkaBrazilOnyama Limba RENEWAL
Ricardo B InouyeJapanXuxue Feng NEW
Deepesh Q MaletJapanXuxue Feng PROPOSAL
Julie C PerinJapanAsiya Javayant UNQUALIFIED
Mujtaba O SlusarskiAustraliaBernardo Dominic NEW
Rodrigues A DilliardJapanElwin Sharvill UNQUALIFIED
Claire H KuskoAustraliaAsiya Javayant RENEWAL
Clifford I CaudyFranceStephen Shaw NEGOTIATION
Frozen Columns
Name
Octavia G Butt
Octavia H Briddick
Mujtaba W Malet
Aika Z Foller
Francesco R Paprocki
Stacey R Saylors
Johnson Z Albares
Kadeem N Glick
Juan S Kusko
Morrow T Iturbide
Darci H Malet
Julie X Oldroyd
Leon E Flosi
Chavez D Stenseth
Greenwood J Flosi
Kadeem U Flosi
Jefferson G Stockham
Ashley Z Chui
Aruna D Figeroa
Smith R Stenseth
Mayumi M Dilliard
Antonio C Slusarski
Wickens A Nicka
Isabel L Rim
Wickens Q Saylors
Johnson D Rim
Antonio D Wieser
Francesco B Butt
Johnson Y Gaucho
Claire T Oldroyd
Jeanfrancois X Iturbide
Johnson Y Venere
Munro V Gillian
Nicolas E Sergi
Jennifer K Glick
Maisha A Perin
Darci E Foller
Ashley J Chui
Ivar D Sergi
Maisha H Malet
Salvatore K Ostrosky
Ashley S Campain
Kaitlin W Maclead
Salvatore O Nestle
Stacey J Amigon
Ricardo Q Stockham
Francesco R Glick
Chavez G Chui
Rodrigues Q Chui
Aditya S Nicka
IdCountryDate
1000Italy2024-04-06
1001Brazil2024-04-25
1002United Kingdom2024-04-16
1003India2024-04-16
1004France2024-04-02
1005Argentina2024-04-06
1006Argentina2024-04-04
1007Germany2024-04-03
1008Canada2024-04-22
1009Germany2024-04-16
1010Germany2024-04-14
1011Japan2024-04-15
1012Japan2024-03-30
1013Argentina2024-04-22
1014Italy2024-04-18
1015Germany2024-04-17
1016United Kingdom2024-04-04
1017Brazil2024-04-28
1018Canada2024-04-16
1019Spain2024-04-03
1020Canada2024-04-11
1021Spain2024-04-09
1022Germany2024-04-09
1023Japan2024-04-09
1024France2024-04-13
1025Australia2024-04-19
1026Brazil2024-04-09
1027Spain2024-04-02
1028Italy2024-03-31
1029United Kingdom2024-04-24
1030Australia2024-04-12
1031Italy2024-04-10
1032Germany2024-04-15
1033Russia2024-04-23
1034Russia2024-04-18
1035Japan2024-04-05
1036India2024-04-24
1037Canada2024-04-12
1038France2024-03-30
1039Spain2024-04-15
1040India2024-04-25
1041Germany2024-04-25
1042Spain2024-04-21
1043Spain2024-04-01
1044Argentina2024-04-07
1045Australia2024-04-22
1046Spain2024-04-04
1047Argentina2024-04-23
1048Russia2024-04-06
1049Canada2024-03-30

On-Demand Data

NameIdCountryDate
Munro T Rim1000India2024-04-21
David G Gillian1001Brazil2024-04-25
Kaitlin M Oldroyd1002India2024-04-10
Rodrigues J Venere1003France2024-04-03
Arvin W Ostrosky1004France2024-04-16
Maisha A Nicka1005Germany2024-04-03
Stacey R Gaucho1006Spain2024-04-02
Emily K Royster1007Canada2024-04-01
Juan I Tollner1008Germany2024-04-10
Faith K Marrier1009Australia2024-04-26
Sinclair Q Kusko1010Russia2024-04-16
Emily Z Iturbide1011United Kingdom2024-04-19
Tony M Bolognia1012Germany2024-04-26
Claire U Figeroa1013Canada2024-04-03
Jeanfrancois L Ferencz1014Spain2024-03-30
Jeanfrancois W Bolognia1015Japan2024-04-21
Rodrigues I Inouye1016France2024-04-05
James M Royster1017United Kingdom2024-04-08
Arvin E Butt1018France2024-04-12
Leja J Stockham1019Canada2024-04-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki T FigeroaAustraliaStephen Shaw PROPOSAL
Smith Z FollerBrazilBernardo Dominic NEGOTIATION
Jefferson S MacleadBrazilStephen Shaw NEW
Sinclair L ChuiCanadaXuxue Feng NEW
Clifford S RulapaughArgentinaXuxue Feng PROPOSAL
Cody U FerenczFranceBernardo Dominic PROPOSAL
Clifford L IturbideAustraliaAnna Fali QUALIFIED
Francesco O DarakjyJapanAmy Elsner QUALIFIED
Maisha X RimRussiaIvan Magalhaes QUALIFIED
Chavez S NestleBrazilXuxue Feng RENEWAL
Jefferson T GlickAustraliaStephen Shaw QUALIFIED
Tony F PerinUnited KingdomAnna Fali RENEWAL
Rodrigues S BriddickArgentinaBernardo Dominic NEGOTIATION
Ricardo O GauchoRussiaElwin Sharvill PROPOSAL
Julie E PerinIndiaElwin Sharvill NEW
Emily R GarufiRussiaAmy Elsner NEW
Aditya X AlbaresArgentinaElwin Sharvill PROPOSAL
Jones D FollerItalyElwin Sharvill UNQUALIFIED
Jeanfrancois P BriddickJapanElwin Sharvill PROPOSAL
Maria L CampainAustraliaStephen Shaw QUALIFIED
James G GarufiBrazilBernardo Dominic PROPOSAL
Alejandro X AlbaresUnited KingdomAmy Elsner RENEWAL
Jeanfrancois O GauchoJapanOnyama Limba PROPOSAL
Salvatore V IturbideFranceElwin Sharvill UNQUALIFIED
Deepesh D WaycottFranceStephen Shaw NEGOTIATION
Greenwood T WieserItalyBernardo Dominic UNQUALIFIED
Cody X SchemmerUnited KingdomXuxue Feng NEGOTIATION
Leja A ShinkoArgentinaElwin Sharvill PROPOSAL
Morrow Y TollnerRussiaIoni Bowcher NEGOTIATION
James Q GauchoAustraliaIoni Bowcher UNQUALIFIED
Alejandro B DoeBrazilAsiya Javayant NEGOTIATION
Aditya P SaylorsRussiaStephen Shaw PROPOSAL
Costa H SaylorsUnited KingdomXuxue Feng NEGOTIATION
Francesco T NestleAustraliaOnyama Limba RENEWAL
Julie A BriddickGermanyElwin Sharvill UNQUALIFIED
David P VenereItalyAnna Fali PROPOSAL
Alejandro X CampainAustraliaIvan Magalhaes PROPOSAL
Murillo V NestleIndiaIoni Bowcher QUALIFIED
Tony K RulapaughGermanyBernardo Dominic RENEWAL
Aika P BowleyGermanyStephen Shaw NEW

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