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
Aditya S IturbideBrazilAsiya Javayant UNQUALIFIED
Aditya X BriddickRussiaAmy Elsner UNQUALIFIED
Ivar F BowleyGermanyBernardo Dominic QUALIFIED
Leon S GarufiUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois R NickaUnited KingdomStephen Shaw UNQUALIFIED
Kadeem Y OstroskyArgentinaIvan Magalhaes PROPOSAL
Smith E NestleIndiaIvan Magalhaes NEGOTIATION
Cody D DoeCanadaIvan Magalhaes NEGOTIATION
Munro B IturbideSpainStephen Shaw UNQUALIFIED
Isabel R AmigonUnited KingdomStephen Shaw UNQUALIFIED
Stacey G KuskoSpainBernardo Dominic RENEWAL
Maisha B PaprockiJapanAnna Fali QUALIFIED
Alejandro U FlosiSpainXuxue Feng NEGOTIATION
Ashley V MaletJapanBernardo Dominic PROPOSAL
Salvatore K TollnerRussiaXuxue Feng PROPOSAL
Leja W StensethBrazilIoni Bowcher QUALIFIED
Aruna B SlusarskiArgentinaBernardo Dominic NEW
Ashley P GauchoAustraliaXuxue Feng UNQUALIFIED
David E StockhamAustraliaIoni Bowcher NEGOTIATION
Aditya V DilliardItalyAnna Fali NEW
Sinclair I ChuiCanadaAsiya Javayant RENEWAL
Maria B FigeroaFranceAsiya Javayant NEGOTIATION
Nicolas E PoquetteFranceAnna Fali PROPOSAL
Rodrigues C MaletArgentinaElwin Sharvill PROPOSAL
James N CaudyCanadaAnna Fali NEGOTIATION
Mayumi F MorascaCanadaAmy Elsner NEGOTIATION
Wickens A WaycottFranceStephen Shaw PROPOSAL
Aika Z MarrierIndiaAsiya Javayant NEW
Jefferson C RutaAustraliaAnna Fali NEW
Antonio O FlosiSpainStephen Shaw RENEWAL
David G StensethJapanOnyama Limba NEGOTIATION
Alejandro K NickaCanadaAsiya Javayant NEGOTIATION
Antonio H PerinJapanElwin Sharvill PROPOSAL
Costa D DoeItalyAsiya Javayant NEW
Leon Z FollerGermanyXuxue Feng UNQUALIFIED
Nicolas R VocelkaIndiaAnna Fali QUALIFIED
Izzy F AmigonFranceIoni Bowcher PROPOSAL
Jeanfrancois N CaldareraAustraliaElwin Sharvill PROPOSAL
Jones E StensethSpainStephen Shaw PROPOSAL
Cody Q WieserItalyXuxue Feng UNQUALIFIED
Mayumi E MaletRussiaOnyama Limba PROPOSAL
Izzy W NestleBrazilStephen Shaw NEW
Faith C MorascaJapanOnyama Limba NEGOTIATION
Alejandro M MaletGermanyXuxue Feng RENEWAL
Jeanfrancois W DarakjySpainStephen Shaw NEW
Ricardo Y PoquetteCanadaStephen Shaw UNQUALIFIED
Emily C PoquetteCanadaAnna Fali PROPOSAL
Ivar G DarakjyCanadaAsiya Javayant RENEWAL
Ashley I BologniaArgentinaBernardo Dominic NEGOTIATION
Leja L CaldareraItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi G AmigonJapanIvan Magalhaes NEGOTIATION
Adams V PaprockiFranceIoni Bowcher UNQUALIFIED
James D NestleIndiaAmy Elsner QUALIFIED
Chavez D FlosiBrazilBernardo Dominic PROPOSAL
Emily E WieserBrazilIvan Magalhaes NEW
David X MorascaSpainXuxue Feng NEGOTIATION
Morrow H SaylorsItalyElwin Sharvill QUALIFIED
Smith P FollerBrazilAmy Elsner PROPOSAL
Leon A MaletItalyIvan Magalhaes NEGOTIATION
Izzy D SergiCanadaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria J BowleyRussia2024-04-24Morlong Associates NEGOTIATION2Amy Elsner
1001Cody P FlosiBrazil2024-04-15Buckley Miller Wright NEGOTIATION56Ivan Magalhaes
1002Izzy V FerenczArgentina2024-04-23Chapman, Ross E Esq NEGOTIATION28Xuxue Feng
1003Cody I CaldareraJapan2024-04-06Buckley Miller Wright QUALIFIED99Xuxue Feng
1004James A NickaJapan2024-03-31Truhlar And Truhlar Attys UNQUALIFIED57Ivan Magalhaes
1005Isabel N OldroydBrazil2024-04-18Rangoni Of Florence RENEWAL40Amy Elsner
1006Munro G MarrierItaly2024-04-06Feiner Bros QUALIFIED44Stephen Shaw
1007Silvio V PerinItaly2024-04-24Chapman, Ross E Esq QUALIFIED46Onyama Limba
1008Murillo U PaprockiGermany2024-04-03Chemel, James L Cpa PROPOSAL26Onyama Limba
1009Francesco O WaycottFrance2024-04-27Rangoni Of Florence NEGOTIATION74Bernardo Dominic
1010Jones W AlbaresUnited Kingdom2024-04-04Benton, John B Jr NEGOTIATION64Bernardo Dominic
1011Rodrigues G PaprockiRussia2024-04-10Commercial Press NEGOTIATION56Asiya Javayant
1012Antonio J InouyeUnited Kingdom2024-04-05Rangoni Of Florence RENEWAL81Amy Elsner
1013Ricardo Q VocelkaIndia2024-04-21Commercial Press UNQUALIFIED54Amy Elsner
1014Tony U IturbideAustralia2024-04-01Dorl, James J Esq NEGOTIATION87Ivan Magalhaes
1015Arvin D GlickFrance2024-04-05Feiner Bros NEW28Ioni Bowcher
1016Ashley I MarrierItaly2024-04-10Feiner Bros QUALIFIED61Onyama Limba
1017Smith O DoeBrazil2024-04-04Feiner Bros PROPOSAL89Anna Fali
1018Johnson I FollerCanada2024-04-29King, Christopher A Esq NEGOTIATION11Stephen Shaw
1019Julie F KolmetzCanada2024-04-20Chanay, Jeffrey A Esq UNQUALIFIED11Stephen Shaw
1020Mayumi I WaycottCanada2024-04-14Chapman, Ross E Esq PROPOSAL99Elwin Sharvill
1021Jones U BologniaRussia2024-04-15Truhlar And Truhlar Attys PROPOSAL52Asiya Javayant
1022Misaki P BriddickAustralia2024-04-29Printing Dimensions NEGOTIATION10Asiya Javayant
1023Murillo G OstroskyIndia2024-04-22Feiner Bros QUALIFIED46Asiya Javayant
1024Adams Y MarrierCanada2024-04-09Chanay, Jeffrey A Esq RENEWAL60Bernardo Dominic
1025Munro T TollnerGermany2024-04-27Commercial Press RENEWAL98Anna Fali
1026Greenwood V MarrierUnited Kingdom2024-04-22Benton, John B Jr PROPOSAL54Ioni Bowcher
1027Sinclair Z PerinUnited Kingdom2024-04-05Truhlar And Truhlar Attys NEW94Elwin Sharvill
1028Izzy S FollerUnited Kingdom2024-04-29Buckley Miller Wright RENEWAL48Stephen Shaw
1029Jefferson R BowleyIndia2024-04-19Buckley Miller Wright QUALIFIED69Asiya Javayant
1030Ivar B KolmetzJapan2024-04-21Rousseaux, Michael Esq NEGOTIATION69Stephen Shaw
1031Mujtaba W OldroydArgentina2024-04-16Chanay, Jeffrey A Esq RENEWAL88Ioni Bowcher
1032Cody X VenereFrance2024-04-04Buckley Miller Wright PROPOSAL49Stephen Shaw
1033Mujtaba Z TollnerAustralia2024-04-17Chapman, Ross E Esq NEW25Anna Fali
1034Wickens D PoquetteCanada2024-04-01Printing Dimensions QUALIFIED88Anna Fali
1035Nicolas B OldroydUnited Kingdom2024-04-13Truhlar And Truhlar Attys QUALIFIED10Anna Fali
1036Darci G MorascaGermany2024-04-04Chanay, Jeffrey A Esq QUALIFIED70Ivan Magalhaes
1037Aruna M IturbideIndia2024-04-28Chapman, Ross E Esq QUALIFIED12Xuxue Feng
1038Juan S NestleRussia2024-04-09Printing Dimensions PROPOSAL39Xuxue Feng
1039Smith M ChuiJapan2024-04-24Benton, John B Jr RENEWAL48Bernardo Dominic
1040Alejandro B KolmetzSpain2024-04-10Chanay, Jeffrey A Esq RENEWAL39Stephen Shaw
1041Nicolas Y RutaArgentina2024-04-15Buckley Miller Wright RENEWAL84Onyama Limba
1042Chavez Y NickaGermany2024-04-26Rousseaux, Michael Esq NEGOTIATION47Asiya Javayant
1043Octavia L MacleadUnited Kingdom2024-04-04Rousseaux, Michael Esq NEGOTIATION30Ivan Magalhaes
1044Claire P FerenczAustralia2024-04-24Chapman, Ross E Esq NEGOTIATION73Asiya Javayant
1045Murillo K GillianSpain2024-04-06Morlong Associates QUALIFIED77Xuxue Feng
1046Jennifer U PaprockiAustralia2024-04-04Buckley Miller Wright PROPOSAL61Elwin Sharvill
1047Tony E PoquetteAustralia2024-04-25Rangoni Of Florence QUALIFIED4Stephen Shaw
1048Rodrigues H GarufiGermany2024-04-21Dorl, James J Esq UNQUALIFIED90Amy Elsner
1049Aditya A BriddickCanada2024-04-05Buckley Miller Wright QUALIFIED16Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Nicolas X InouyeFranceStephen Shaw PROPOSAL
Arvin G CampainGermanyXuxue Feng NEGOTIATION
Jennifer X SchemmerAustraliaIoni Bowcher NEGOTIATION
James Q NickaFranceAnna Fali NEGOTIATION
Nicolas U OstroskyBrazilOnyama Limba PROPOSAL
Mayumi V BowleyFranceIoni Bowcher RENEWAL
Francesco A FigeroaArgentinaIvan Magalhaes PROPOSAL
Sinclair H IturbideFranceBernardo Dominic QUALIFIED
Octavia L VenereArgentinaAmy Elsner UNQUALIFIED
Murillo A GlickItalyAnna Fali NEW
Sinclair D RimUnited KingdomAsiya Javayant NEGOTIATION
Julie L ButtJapanXuxue Feng NEW
Ashley X NickaBrazilOnyama Limba RENEWAL
Smith J MarrierItalyAsiya Javayant UNQUALIFIED
Ivar S DilliardCanadaIoni Bowcher NEGOTIATION
Aditya W CaudyUnited KingdomOnyama Limba NEGOTIATION
Julie K AmigonBrazilBernardo Dominic PROPOSAL
Clifford A StensethSpainIvan Magalhaes QUALIFIED
Jones V TollnerItalyOnyama Limba PROPOSAL
Smith R MacleadBrazilAmy Elsner RENEWAL
Munro H FollerArgentinaIvan Magalhaes QUALIFIED
Rodrigues T SlusarskiIndiaStephen Shaw UNQUALIFIED
Arvin M RulapaughBrazilStephen Shaw UNQUALIFIED
Deepesh D ButtGermanyBernardo Dominic NEW
Morrow W RulapaughBrazilStephen Shaw QUALIFIED
Morrow X ShinkoRussiaIoni Bowcher NEGOTIATION
Aika I WieserRussiaStephen Shaw NEGOTIATION
Izzy O AlbaresRussiaBernardo Dominic NEW
Adams J InouyeAustraliaAnna Fali RENEWAL
Darci P CaudyGermanyIoni Bowcher NEGOTIATION
Maisha V PoquetteItalyStephen Shaw UNQUALIFIED
Johnson Z SaylorsUnited KingdomOnyama Limba NEW
Jefferson Q FollerGermanyAsiya Javayant PROPOSAL
Leon P MaletSpainAmy Elsner QUALIFIED
Salvatore Z FerenczSpainAmy Elsner PROPOSAL
Antonio R FigeroaRussiaStephen Shaw QUALIFIED
Maisha R WaycottIndiaStephen Shaw NEW
Faith B SchemmerAustraliaIoni Bowcher NEGOTIATION
Chavez L WieserGermanyIvan Magalhaes QUALIFIED
Maria A SaylorsGermanyIoni Bowcher PROPOSAL
Mayumi H WhobreyItalyXuxue Feng QUALIFIED
Leon K NestleIndiaAmy Elsner UNQUALIFIED
David F ChuiAustraliaIoni Bowcher PROPOSAL
Julie L GlickArgentinaAnna Fali UNQUALIFIED
Jones R CampainCanadaIvan Magalhaes RENEWAL
Aika W AmigonJapanXuxue Feng NEW
Johnson L VocelkaUnited KingdomIoni Bowcher QUALIFIED
Munro G DilliardSpainXuxue Feng RENEWAL
Maisha A GlickSpainIoni Bowcher QUALIFIED
Aditya K FerenczItalyBernardo Dominic NEGOTIATION
Frozen Columns
Name
Antonio L Doe
Leja P Doe
Murillo W Saylors
Ivar L Venere
Faith V Briddick
Nicolas H Schemmer
Darci T Malet
Francesco Z Rulapaugh
Isabel M Campain
Faith K Flosi
Smith E Kusko
Johnson T Garufi
Wickens W Darakjy
Aditya P Whobrey
Stacey S Bowley
Aika P Glick
Leon Y Kusko
Antonio P Doe
Faith Z Sergi
Cody V Darakjy
Isabel D Rulapaugh
Ricardo T Venere
Juan E Flosi
Izzy E Caldarera
Deepesh L Butt
Izzy Y Marrier
Smith W Shinko
Wickens O Ferencz
Emily U Darakjy
Izzy H Amigon
Leon L Rim
Emily Q Flosi
Emily D Venere
Ivar I Kusko
Johnson E Doe
Francesco I Shinko
Maria K Caldarera
Murillo H Whobrey
Jefferson G Nestle
Juan V Wieser
Tony F Butt
Wickens P Royster
Wickens K Bowley
Mujtaba G Venere
Greenwood X Ostrosky
Julie K Rim
Aditya Z Gaucho
Antonio Y Figeroa
Johnson I Flosi
Murillo Q Sergi
IdCountryDate
1000Russia2024-04-09
1001India2024-04-16
1002France2024-04-24
1003Germany2024-04-22
1004France2024-04-06
1005India2024-04-07
1006Brazil2024-04-16
1007India2024-04-06
1008Argentina2024-04-16
1009Germany2024-04-19
1010Brazil2024-04-03
1011Italy2024-03-31
1012United Kingdom2024-03-31
1013Japan2024-04-24
1014Spain2024-04-09
1015Russia2024-04-08
1016India2024-04-15
1017Brazil2024-04-02
1018Spain2024-04-04
1019France2024-04-22
1020Spain2024-04-23
1021Germany2024-04-21
1022France2024-04-09
1023Brazil2024-04-27
1024Japan2024-04-22
1025Spain2024-04-22
1026Germany2024-04-23
1027Russia2024-04-10
1028Russia2024-04-10
1029Brazil2024-04-11
1030Brazil2024-04-16
1031Australia2024-04-17
1032France2024-04-10
1033Italy2024-03-31
1034Germany2024-04-25
1035Argentina2024-04-19
1036France2024-04-06
1037France2024-04-03
1038Canada2024-04-04
1039India2024-04-11
1040Germany2024-04-28
1041Germany2024-04-24
1042Australia2024-04-11
1043Australia2024-04-12
1044India2024-04-01
1045Italy2024-04-19
1046Australia2024-04-13
1047Italy2024-04-24
1048Brazil2024-03-31
1049Canada2024-04-26

On-Demand Data

NameIdCountryDate
Kaitlin C Kusko1000Russia2024-04-08
Darci Y Stockham1001United Kingdom2024-04-13
Rodrigues C Rim1002Australia2024-04-20
Aika K Darakjy1003Spain2024-04-26
Aditya U Malet1004Canada2024-04-02
Kaitlin W Oldroyd1005Argentina2024-04-13
Aika B Nestle1006Italy2024-04-12
Morrow Q Glick1007Canada2024-04-08
Jones L Nestle1008Germany2024-04-25
Izzy V Flosi1009France2024-04-01
Jefferson X Nicka1010Spain2024-04-18
Leja W Vocelka1011Russia2024-04-21
Smith G Foller1012Spain2024-04-05
Nicolas J Figeroa1013Argentina2024-04-23
Sinclair R Ferencz1014India2024-04-17
Maisha N Stockham1015India2024-04-13
Munro C Malet1016United Kingdom2024-04-04
Chavez O Tollner1017Argentina2024-04-24
Tony Z Marrier1018Spain2024-04-11
Murillo F Gillian1019Australia2024-04-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon M ChuiUnited KingdomXuxue Feng NEW
Salvatore W MaletUnited KingdomIoni Bowcher RENEWAL
Johnson Q StensethArgentinaElwin Sharvill PROPOSAL
Arvin T RimCanadaIoni Bowcher PROPOSAL
Chavez W PerinFranceAnna Fali NEW
Emily V WhobreyJapanAsiya Javayant QUALIFIED
Stacey Y GlickFranceAnna Fali NEW
Aika A FigeroaRussiaStephen Shaw NEGOTIATION
Izzy G FlosiIndiaBernardo Dominic UNQUALIFIED
Deepesh S VocelkaItalyBernardo Dominic PROPOSAL
Morrow J DarakjyItalyIoni Bowcher RENEWAL
Greenwood D CaudyArgentinaElwin Sharvill PROPOSAL
Greenwood L GarufiJapanElwin Sharvill RENEWAL
Ricardo S GlickAustraliaIvan Magalhaes NEW
Aditya V FollerUnited KingdomStephen Shaw UNQUALIFIED
Octavia F CaldareraRussiaStephen Shaw UNQUALIFIED
Arvin U RoysterArgentinaBernardo Dominic RENEWAL
Cody U MarrierGermanyXuxue Feng UNQUALIFIED
Faith Z DoeFranceIvan Magalhaes QUALIFIED
Darci M SaylorsRussiaIoni Bowcher QUALIFIED
Nicolas Y WaycottUnited KingdomStephen Shaw UNQUALIFIED
Izzy N TollnerJapanOnyama Limba NEW
Sinclair R ButtCanadaIvan Magalhaes UNQUALIFIED
Jones B KuskoUnited KingdomAnna Fali NEW
Faith T FerenczGermanyOnyama Limba UNQUALIFIED
Nicolas Q ChuiSpainAmy Elsner NEGOTIATION
Aditya B WieserAustraliaElwin Sharvill NEGOTIATION
Aruna F GauchoAustraliaStephen Shaw RENEWAL
Faith B MaletAustraliaIoni Bowcher RENEWAL
Tony H CampainJapanElwin Sharvill QUALIFIED
Isabel F CaldareraItalyStephen Shaw UNQUALIFIED
Nicolas V FlosiArgentinaIoni Bowcher PROPOSAL
Nicolas D SergiArgentinaAsiya Javayant QUALIFIED
Leon T StensethArgentinaAmy Elsner NEGOTIATION
Salvatore J RimUnited KingdomOnyama Limba NEW
Mayumi F GauchoGermanyBernardo Dominic RENEWAL
Mayumi D StockhamItalyIvan Magalhaes PROPOSAL
Julie Q BriddickJapanElwin Sharvill PROPOSAL
Murillo J DoeCanadaOnyama Limba PROPOSAL
Munro K WhobreyUnited KingdomAsiya Javayant 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>