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
Ashley H WieserItalyIoni Bowcher NEW
Silvio V CaldareraGermanyIoni Bowcher UNQUALIFIED
Chavez F MorascaSpainBernardo Dominic NEGOTIATION
Greenwood N DoeIndiaAsiya Javayant NEW
Kadeem J PoquetteRussiaAsiya Javayant PROPOSAL
Sinclair N PaprockiItalyBernardo Dominic UNQUALIFIED
Mujtaba J GlickFranceAsiya Javayant NEW
Chavez Y FigeroaGermanyAsiya Javayant PROPOSAL
Mayumi X SergiGermanyAsiya Javayant UNQUALIFIED
Nicolas L CaldareraFranceXuxue Feng UNQUALIFIED
Nicolas U StensethBrazilOnyama Limba RENEWAL
Mayumi Y MaletFranceStephen Shaw NEGOTIATION
Johnson R MaletFranceIoni Bowcher PROPOSAL
Johnson Z VocelkaItalyXuxue Feng PROPOSAL
Isabel I PerinSpainAnna Fali UNQUALIFIED
Aditya K SaylorsItalyXuxue Feng RENEWAL
Aditya W StensethAustraliaXuxue Feng QUALIFIED
Morrow K FerenczSpainElwin Sharvill PROPOSAL
Adams H MorascaJapanAsiya Javayant QUALIFIED
Jennifer B RutaJapanElwin Sharvill NEGOTIATION
Jones U IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson Y FerenczRussiaAmy Elsner UNQUALIFIED
Munro F VocelkaSpainAnna Fali RENEWAL
Aruna A BriddickIndiaBernardo Dominic PROPOSAL
Tony Y PoquetteRussiaElwin Sharvill RENEWAL
Francesco U DoeRussiaIoni Bowcher NEW
Cody R MorascaItalyStephen Shaw RENEWAL
Chavez N RoysterCanadaStephen Shaw NEW
Ricardo L RulapaughBrazilStephen Shaw NEGOTIATION
Silvio R DilliardRussiaAsiya Javayant UNQUALIFIED
Kadeem J DarakjyUnited KingdomAsiya Javayant NEW
James A VenereFranceBernardo Dominic RENEWAL
Jeanfrancois X BologniaSpainBernardo Dominic UNQUALIFIED
Leon U OstroskyBrazilAmy Elsner NEW
Maisha G IturbideUnited KingdomOnyama Limba PROPOSAL
Murillo Y BowleyIndiaAnna Fali UNQUALIFIED
Aruna R SaylorsSpainAnna Fali PROPOSAL
Greenwood Y WieserUnited KingdomXuxue Feng RENEWAL
Morrow G SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Clifford X TollnerArgentinaXuxue Feng RENEWAL
Mayumi O FerenczSpainAsiya Javayant RENEWAL
Salvatore M GillianAustraliaIoni Bowcher PROPOSAL
Izzy Z MacleadBrazilAsiya Javayant NEGOTIATION
Isabel J RutaFranceElwin Sharvill PROPOSAL
Morrow W RimJapanXuxue Feng RENEWAL
Ashley L PoquetteBrazilStephen Shaw UNQUALIFIED
Ashley H TollnerAustraliaElwin Sharvill NEW
Octavia R KolmetzGermanyAnna Fali NEGOTIATION
Kaitlin N SergiFranceBernardo Dominic QUALIFIED
Alejandro P SaylorsCanadaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Julie C SlusarskiBrazilStephen Shaw RENEWAL
Isabel I MarrierAustraliaBernardo Dominic QUALIFIED
Aika K MarrierRussiaAsiya Javayant QUALIFIED
Chavez H InouyeAustraliaXuxue Feng UNQUALIFIED
Ivar P ChuiArgentinaIoni Bowcher QUALIFIED
Aruna F BriddickItalyAmy Elsner RENEWAL
Emily X AlbaresArgentinaAnna Fali QUALIFIED
Octavia Z PaprockiFranceAsiya Javayant RENEWAL
Stacey P RulapaughAustraliaIoni Bowcher UNQUALIFIED
Salvatore E SaylorsArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia E RoysterIndia2024-03-21Buckley Miller Wright NEW20Onyama Limba
1001Maisha W VenereItaly2024-04-11Morlong Associates PROPOSAL35Ioni Bowcher
1002Rodrigues H WaycottJapan2024-04-05Dorl, James J Esq PROPOSAL58Ivan Magalhaes
1003Arvin F MorascaFrance2024-04-11Dorl, James J Esq UNQUALIFIED53Amy Elsner
1004Faith O BologniaRussia2024-03-26Rousseaux, Michael Esq RENEWAL0Xuxue Feng
1005Nicolas H RutaItaly2024-04-13Morlong Associates RENEWAL83Onyama Limba
1006Munro M RutaSpain2024-04-12Feltz Printing Service RENEWAL73Ioni Bowcher
1007Francesco J WaycottBrazil2024-04-14Printing Dimensions PROPOSAL89Elwin Sharvill
1008Faith Q WhobreyItaly2024-04-10Truhlar And Truhlar Attys NEGOTIATION80Onyama Limba
1009Adams G MarrierAustralia2024-03-27King, Christopher A Esq RENEWAL2Ioni Bowcher
1010Juan G RulapaughUnited Kingdom2024-04-06Commercial Press NEGOTIATION36Xuxue Feng
1011James N FollerFrance2024-04-11Benton, John B Jr RENEWAL15Amy Elsner
1012Mayumi Q MorascaJapan2024-04-15Truhlar And Truhlar Attys UNQUALIFIED5Stephen Shaw
1013Kadeem A FollerFrance2024-03-26Printing Dimensions NEGOTIATION75Ioni Bowcher
1014Greenwood Y NestleGermany2024-04-17Feiner Bros RENEWAL32Amy Elsner
1015Mujtaba F RoysterUnited Kingdom2024-03-23Dorl, James J Esq NEGOTIATION16Elwin Sharvill
1016Costa L MaletCanada2024-04-18Buckley Miller Wright QUALIFIED99Ivan Magalhaes
1017Aruna I SergiRussia2024-04-17Rousseaux, Michael Esq NEGOTIATION18Ivan Magalhaes
1018Maria N CaudySpain2024-04-11Rousseaux, Michael Esq UNQUALIFIED16Ivan Magalhaes
1019Kaitlin K SlusarskiSpain2024-03-27Chanay, Jeffrey A Esq RENEWAL87Anna Fali
1020Sinclair N ChuiItaly2024-03-30Chapman, Ross E Esq UNQUALIFIED92Onyama Limba
1021Nicolas C FollerJapan2024-04-15Dorl, James J Esq PROPOSAL78Bernardo Dominic
1022Cody P MarrierItaly2024-04-10Feltz Printing Service UNQUALIFIED90Ioni Bowcher
1023Jennifer K RimSpain2024-04-05King, Christopher A Esq UNQUALIFIED7Stephen Shaw
1024Salvatore Q FlosiGermany2024-04-18Rousseaux, Michael Esq NEGOTIATION56Anna Fali
1025Costa C StockhamCanada2024-03-23Benton, John B Jr NEW46Bernardo Dominic
1026Morrow I CampainGermany2024-04-11Rousseaux, Michael Esq NEGOTIATION73Asiya Javayant
1027Alejandro M GillianFrance2024-04-15Dorl, James J Esq NEW47Stephen Shaw
1028Mayumi I WieserRussia2024-04-14King, Christopher A Esq UNQUALIFIED71Stephen Shaw
1029Smith Q BowleyIndia2024-03-28Rangoni Of Florence QUALIFIED56Bernardo Dominic
1030Aika Q RimJapan2024-04-16Morlong Associates QUALIFIED44Ioni Bowcher
1031Maisha I StensethRussia2024-04-15Rousseaux, Michael Esq NEW23Amy Elsner
1032Salvatore W BologniaRussia2024-04-09Feltz Printing Service RENEWAL41Anna Fali
1033Stacey R MaletRussia2024-04-17Rangoni Of Florence RENEWAL17Asiya Javayant
1034Tony H IturbideCanada2024-04-03Commercial Press NEGOTIATION48Ivan Magalhaes
1035Morrow B AlbaresGermany2024-04-14Feiner Bros RENEWAL95Stephen Shaw
1036Cody Y RutaJapan2024-03-21Rangoni Of Florence QUALIFIED17Elwin Sharvill
1037Murillo A InouyeBrazil2024-04-10Dorl, James J Esq NEGOTIATION89Ioni Bowcher
1038Maria V PoquetteAustralia2024-03-27Benton, John B Jr NEGOTIATION95Xuxue Feng
1039Johnson L NickaAustralia2024-04-09Chanay, Jeffrey A Esq NEW13Ioni Bowcher
1040Emily N FlosiRussia2024-03-29Dorl, James J Esq PROPOSAL77Ioni Bowcher
1041Mayumi K KuskoFrance2024-04-14Feltz Printing Service NEGOTIATION31Asiya Javayant
1042Costa Q WaycottRussia2024-04-07Feltz Printing Service RENEWAL99Asiya Javayant
1043Costa N DoeAustralia2024-04-16Printing Dimensions QUALIFIED20Ioni Bowcher
1044Antonio T PoquetteBrazil2024-03-22Truhlar And Truhlar Attys NEW84Ivan Magalhaes
1045Ivar P InouyeCanada2024-03-30Chapman, Ross E Esq QUALIFIED44Asiya Javayant
1046Claire A DilliardIndia2024-04-18Commercial Press UNQUALIFIED32Anna Fali
1047Maria T FerenczArgentina2024-04-06Chanay, Jeffrey A Esq NEGOTIATION28Ioni Bowcher
1048Octavia E GillianCanada2024-04-18Commercial Press UNQUALIFIED74Stephen Shaw
1049Kaitlin V SergiItaly2024-04-13Feiner Bros NEW39Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Smith F RutaJapanAsiya Javayant PROPOSAL
Jeanfrancois A AmigonUnited KingdomXuxue Feng QUALIFIED
Misaki E GlickJapanBernardo Dominic NEW
Deepesh U MaletUnited KingdomXuxue Feng RENEWAL
Murillo G StockhamSpainStephen Shaw QUALIFIED
Munro C PaprockiItalyStephen Shaw RENEWAL
Arvin G IturbideUnited KingdomAnna Fali RENEWAL
Jefferson K RimCanadaAsiya Javayant QUALIFIED
Isabel H SergiRussiaAnna Fali NEGOTIATION
Antonio W NestleUnited KingdomBernardo Dominic NEGOTIATION
David V IturbideSpainIoni Bowcher QUALIFIED
Mujtaba G TollnerCanadaXuxue Feng QUALIFIED
Claire M MorascaAustraliaAmy Elsner RENEWAL
Chavez F AlbaresGermanyAmy Elsner PROPOSAL
Stacey F KuskoJapanStephen Shaw NEGOTIATION
Nicolas O OldroydCanadaBernardo Dominic NEW
Mujtaba Q ChuiAustraliaAnna Fali PROPOSAL
Stacey Y GauchoGermanyOnyama Limba UNQUALIFIED
Maria Z GillianUnited KingdomStephen Shaw QUALIFIED
Cody D MacleadGermanyBernardo Dominic QUALIFIED
Adams M MaletJapanStephen Shaw RENEWAL
Aruna R BologniaUnited KingdomBernardo Dominic PROPOSAL
Juan T KuskoUnited KingdomAnna Fali NEGOTIATION
Ricardo U FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha W VenereAustraliaIoni Bowcher NEGOTIATION
Antonio O RulapaughJapanAnna Fali RENEWAL
Salvatore M InouyeSpainAmy Elsner PROPOSAL
Adams W MaletGermanyAsiya Javayant QUALIFIED
Ricardo H OldroydJapanAsiya Javayant UNQUALIFIED
Alejandro H OldroydFranceStephen Shaw NEGOTIATION
Aika W SchemmerUnited KingdomOnyama Limba RENEWAL
Leon O WieserItalyStephen Shaw UNQUALIFIED
Claire X SchemmerArgentinaAmy Elsner PROPOSAL
Morrow P KuskoItalyStephen Shaw NEGOTIATION
Faith X FigeroaArgentinaElwin Sharvill RENEWAL
Adams X BriddickRussiaAmy Elsner NEW
Octavia Y MacleadCanadaOnyama Limba RENEWAL
Jefferson I MarrierAustraliaAmy Elsner RENEWAL
Kadeem A KolmetzIndiaAnna Fali NEGOTIATION
Darci I CaudyIndiaAnna Fali NEW
Antonio Z RutaArgentinaOnyama Limba NEW
Cody K StockhamSpainIvan Magalhaes QUALIFIED
Stacey D FigeroaCanadaOnyama Limba NEW
Faith E OldroydGermanyStephen Shaw NEGOTIATION
Silvio H IturbideArgentinaAmy Elsner NEW
David E DarakjyCanadaBernardo Dominic NEW
Adams N TollnerCanadaXuxue Feng PROPOSAL
Ashley Z DoeItalyBernardo Dominic UNQUALIFIED
Jennifer T ButtRussiaAsiya Javayant PROPOSAL
Munro K AlbaresRussiaElwin Sharvill QUALIFIED
Frozen Columns
Name
Rodrigues X Schemmer
David K Glick
Misaki V Marrier
Sinclair Z Foller
Leon E Butt
Munro B Albares
Costa K Malet
Tony Q Figeroa
Munro D Caudy
Adams Q Glick
Maria X Vocelka
Stacey H Gaucho
Ashley J Royster
Sinclair C Darakjy
Aika J Rulapaugh
Deepesh H Amigon
Ricardo I Kolmetz
Ivar D Caldarera
Francesco T Vocelka
Sinclair G Kolmetz
Jeanfrancois B Doe
Jennifer Y Ostrosky
Maria R Saylors
Smith B Butt
Mujtaba R Flosi
Francesco P Foller
Mujtaba X Stockham
Claire Z Royster
Faith M Waycott
Leon F Nicka
Tony I Garufi
Mayumi F Amigon
Adams E Marrier
Wickens F Gaucho
Darci X Venere
Adams C Sergi
Wickens K Butt
Salvatore L Whobrey
Antonio D Stenseth
Misaki X Kusko
Rodrigues B Morasca
Francesco S Foller
Misaki I Iturbide
Octavia G Stenseth
Aditya M Saylors
Octavia I Nestle
Aika V Ferencz
Arvin A Morasca
Maisha F Stenseth
Salvatore P Garufi
IdCountryDate
1000Russia2024-04-06
1001Argentina2024-03-28
1002Brazil2024-04-12
1003Germany2024-03-27
1004India2024-04-07
1005Russia2024-04-08
1006United Kingdom2024-04-18
1007Australia2024-03-22
1008France2024-04-06
1009France2024-04-13
1010Canada2024-04-06
1011Spain2024-03-30
1012Brazil2024-03-20
1013Germany2024-04-07
1014Argentina2024-03-21
1015Argentina2024-04-08
1016Canada2024-04-15
1017France2024-04-03
1018France2024-04-13
1019France2024-04-14
1020Germany2024-04-02
1021Brazil2024-03-24
1022France2024-04-15
1023Japan2024-03-30
1024Canada2024-04-07
1025Argentina2024-03-31
1026Canada2024-03-21
1027Russia2024-03-30
1028Argentina2024-04-06
1029Brazil2024-04-18
1030Russia2024-03-29
1031Australia2024-04-14
1032Canada2024-03-26
1033Russia2024-03-27
1034France2024-04-13
1035Australia2024-04-17
1036Brazil2024-04-06
1037India2024-03-26
1038United Kingdom2024-04-10
1039Australia2024-03-20
1040Germany2024-04-11
1041India2024-04-05
1042Australia2024-04-17
1043United Kingdom2024-04-17
1044Argentina2024-04-17
1045Russia2024-03-30
1046Argentina2024-03-30
1047Spain2024-04-05
1048France2024-04-02
1049Japan2024-04-02

On-Demand Data

NameIdCountryDate
Aruna O Oldroyd1000Brazil2024-04-12
Morrow B Amigon1001Brazil2024-03-23
Maisha P Albares1002Argentina2024-03-25
Ricardo S Stockham1003Russia2024-03-20
Costa X Ruta1004Japan2024-04-11
Kaitlin J Campain1005Australia2024-04-12
Smith E Glick1006United Kingdom2024-03-28
Tony Q Gillian1007Japan2024-04-10
Clifford D Rim1008Argentina2024-03-29
Jefferson J Flosi1009Japan2024-03-30
Maisha K Flosi1010Canada2024-04-14
Morrow M Caudy1011Australia2024-03-27
Jones P Oldroyd1012Canada2024-04-06
Smith V Iturbide1013Japan2024-04-08
Tony J Glick1014Germany2024-04-13
Murillo D Gaucho1015Canada2024-03-22
Mujtaba S Bowley1016Russia2024-03-24
Silvio R Figeroa1017Japan2024-04-09
Salvatore T Tollner1018Argentina2024-04-08
Johnson Z Ferencz1019Japan2024-04-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo A MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin L OldroydJapanElwin Sharvill QUALIFIED
Leja J IturbideItalyOnyama Limba NEGOTIATION
Isabel P DarakjyRussiaElwin Sharvill QUALIFIED
Jennifer G RulapaughRussiaIoni Bowcher NEGOTIATION
Juan D GillianItalyXuxue Feng PROPOSAL
Antonio Q MacleadCanadaElwin Sharvill NEGOTIATION
Costa M GlickFranceXuxue Feng NEGOTIATION
Wickens T WhobreyIndiaIoni Bowcher RENEWAL
Leja D CampainBrazilAmy Elsner NEW
Adams P AmigonSpainBernardo Dominic QUALIFIED
Aruna R RoysterCanadaAnna Fali NEW
Jefferson I OstroskyAustraliaAsiya Javayant UNQUALIFIED
James E PerinGermanyAnna Fali RENEWAL
Silvio W VocelkaFranceXuxue Feng NEW
Munro E RoysterRussiaXuxue Feng PROPOSAL
Mujtaba B WhobreyArgentinaBernardo Dominic PROPOSAL
Stacey L WieserFranceAsiya Javayant NEW
Cody I GauchoIndiaElwin Sharvill RENEWAL
Aika L StensethRussiaXuxue Feng UNQUALIFIED
Maria X RutaBrazilXuxue Feng PROPOSAL
Jennifer X MaletItalyStephen Shaw NEGOTIATION
Izzy A PerinCanadaElwin Sharvill RENEWAL
Costa C GarufiCanadaAnna Fali PROPOSAL
Antonio X StockhamCanadaOnyama Limba QUALIFIED
Francesco T AmigonBrazilAmy Elsner UNQUALIFIED
Kadeem I SchemmerItalyIvan Magalhaes NEGOTIATION
Alejandro E NickaRussiaIvan Magalhaes UNQUALIFIED
Ricardo D CaldareraItalyIvan Magalhaes QUALIFIED
Aika M BowleyAustraliaIvan Magalhaes PROPOSAL
Aditya K SchemmerGermanyAsiya Javayant QUALIFIED
Octavia W CaldareraJapanXuxue Feng QUALIFIED
Darci B MaletRussiaStephen Shaw NEW
Isabel W ChuiAustraliaAmy Elsner PROPOSAL
Isabel F BriddickRussiaAsiya Javayant NEGOTIATION
Jeanfrancois L VenereRussiaOnyama Limba NEW
Francesco B PoquetteRussiaElwin Sharvill UNQUALIFIED
Cody F AmigonFranceIoni Bowcher NEGOTIATION
Silvio Z PaprockiFranceStephen Shaw QUALIFIED
Mayumi V SlusarskiItalyIvan Magalhaes 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>