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
Julie F GillianUnited KingdomAnna Fali UNQUALIFIED
Morrow C DilliardRussiaElwin Sharvill NEW
Clifford L BologniaUnited KingdomStephen Shaw NEGOTIATION
Maisha U KolmetzItalyElwin Sharvill RENEWAL
Claire I KolmetzGermanyIvan Magalhaes NEGOTIATION
Julie B NickaJapanOnyama Limba UNQUALIFIED
Rodrigues I RimSpainIvan Magalhaes PROPOSAL
Maria M RulapaughJapanAsiya Javayant RENEWAL
Greenwood A FlosiBrazilAnna Fali NEGOTIATION
Antonio Q DilliardRussiaOnyama Limba QUALIFIED
James B PaprockiItalyElwin Sharvill NEGOTIATION
Clifford A GarufiBrazilStephen Shaw UNQUALIFIED
Mayumi Q BowleyJapanAmy Elsner UNQUALIFIED
Clifford Z ShinkoFranceIoni Bowcher UNQUALIFIED
Emily H ButtUnited KingdomAsiya Javayant NEGOTIATION
Salvatore S NestleRussiaXuxue Feng RENEWAL
Alejandro I CampainRussiaIvan Magalhaes UNQUALIFIED
Tony G VenereRussiaStephen Shaw PROPOSAL
Julie I FerenczSpainAsiya Javayant QUALIFIED
Jefferson C FollerIndiaBernardo Dominic QUALIFIED
Aika W DarakjyItalyAsiya Javayant NEGOTIATION
Johnson E KuskoBrazilIvan Magalhaes PROPOSAL
Rodrigues B RulapaughSpainAnna Fali RENEWAL
Cody A VocelkaArgentinaBernardo Dominic NEGOTIATION
Tony U ButtJapanAmy Elsner NEW
Isabel F BowleyRussiaOnyama Limba UNQUALIFIED
David U WhobreyGermanyXuxue Feng UNQUALIFIED
Kadeem P ShinkoSpainOnyama Limba NEW
Faith Y ButtAustraliaAsiya Javayant PROPOSAL
Arvin T FlosiRussiaOnyama Limba QUALIFIED
Stacey S BologniaFranceAnna Fali NEGOTIATION
Nicolas J KolmetzItalyStephen Shaw UNQUALIFIED
Wickens D GarufiIndiaAsiya Javayant PROPOSAL
Arvin X OstroskyGermanyAmy Elsner UNQUALIFIED
David S MorascaCanadaIoni Bowcher NEGOTIATION
Julie J StockhamIndiaOnyama Limba UNQUALIFIED
Cody W OldroydAustraliaElwin Sharvill NEGOTIATION
Aruna B ShinkoRussiaXuxue Feng NEW
Mayumi M MacleadArgentinaStephen Shaw NEW
Claire F SaylorsBrazilElwin Sharvill NEW
Smith U OldroydIndiaAsiya Javayant NEW
Rodrigues J RulapaughRussiaOnyama Limba UNQUALIFIED
Izzy L SaylorsGermanyElwin Sharvill NEGOTIATION
Leja X OstroskyIndiaOnyama Limba NEGOTIATION
Isabel H SergiAustraliaAmy Elsner NEW
Kadeem N PerinFranceIoni Bowcher NEW
Arvin M CaudyIndiaIvan Magalhaes PROPOSAL
Sinclair V FerenczRussiaElwin Sharvill NEW
Nicolas O GauchoAustraliaStephen Shaw NEGOTIATION
Adams A FerenczBrazilOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem A BriddickItalyIoni Bowcher PROPOSAL
Sinclair N WhobreySpainStephen Shaw UNQUALIFIED
Juan M VenereAustraliaStephen Shaw UNQUALIFIED
Faith M CaudyIndiaAnna Fali QUALIFIED
Deepesh W BologniaFranceAsiya Javayant UNQUALIFIED
Darci T MaletSpainBernardo Dominic NEGOTIATION
Julie N SergiFranceIvan Magalhaes NEGOTIATION
Aruna K ShinkoItalyOnyama Limba NEW
Johnson E ChuiRussiaAnna Fali NEW
Antonio G VocelkaFranceStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy G WhobreyArgentina2024-04-23King, Christopher A Esq NEGOTIATION84Onyama Limba
1001Clifford Z InouyeUnited Kingdom2024-04-15Feltz Printing Service PROPOSAL7Elwin Sharvill
1002Arvin V CaudyArgentina2024-04-20Commercial Press UNQUALIFIED66Elwin Sharvill
1003Cody P BowleySpain2024-04-13Buckley Miller Wright PROPOSAL7Amy Elsner
1004Francesco E StensethCanada2024-04-02Feltz Printing Service PROPOSAL87Xuxue Feng
1005Francesco R MaletIndia2024-03-26Printing Dimensions PROPOSAL76Ioni Bowcher
1006Wickens N OstroskyBrazil2024-04-08Printing Dimensions UNQUALIFIED49Ivan Magalhaes
1007Aika V GillianUnited Kingdom2024-04-06Rousseaux, Michael Esq NEW99Amy Elsner
1008Nicolas U WhobreyIndia2024-04-08Feltz Printing Service NEW7Elwin Sharvill
1009Misaki P VenereCanada2024-04-24Commercial Press NEGOTIATION7Ivan Magalhaes
1010Costa T GarufiRussia2024-04-07Morlong Associates QUALIFIED20Bernardo Dominic
1011Octavia T AmigonGermany2024-04-23Rangoni Of Florence NEGOTIATION32Anna Fali
1012Rodrigues L DarakjyCanada2024-04-20Rangoni Of Florence PROPOSAL50Xuxue Feng
1013Stacey R GauchoArgentina2024-04-10King, Christopher A Esq UNQUALIFIED85Amy Elsner
1014Salvatore U BologniaItaly2024-04-12Truhlar And Truhlar Attys RENEWAL11Stephen Shaw
1015Smith G MaletRussia2024-04-23Truhlar And Truhlar Attys UNQUALIFIED95Anna Fali
1016Salvatore M ChuiJapan2024-04-14Rousseaux, Michael Esq NEW51Elwin Sharvill
1017Deepesh W BriddickSpain2024-04-12Buckley Miller Wright UNQUALIFIED73Amy Elsner
1018Murillo A CampainSpain2024-04-16Feltz Printing Service QUALIFIED94Onyama Limba
1019Sinclair J DilliardGermany2024-03-29Truhlar And Truhlar Attys QUALIFIED63Ioni Bowcher
1020Morrow H ChuiFrance2024-03-31Dorl, James J Esq PROPOSAL66Asiya Javayant
1021Juan H VocelkaSpain2024-03-28Feltz Printing Service NEGOTIATION54Ivan Magalhaes
1022Salvatore L PaprockiUnited Kingdom2024-04-14Commercial Press NEGOTIATION9Ivan Magalhaes
1023Smith I PerinIndia2024-04-17Commercial Press UNQUALIFIED15Stephen Shaw
1024Deepesh D TollnerRussia2024-04-20Chanay, Jeffrey A Esq NEGOTIATION23Xuxue Feng
1025Stacey L FerenczRussia2024-03-27Commercial Press QUALIFIED99Asiya Javayant
1026Juan T ChuiRussia2024-04-23Dorl, James J Esq NEW18Amy Elsner
1027James A WhobreyIndia2024-04-19Chapman, Ross E Esq NEGOTIATION73Elwin Sharvill
1028David O AmigonBrazil2024-04-19Dorl, James J Esq RENEWAL54Stephen Shaw
1029Jones X SergiRussia2024-04-11Feiner Bros NEW15Asiya Javayant
1030Antonio H CampainJapan2024-03-26Feltz Printing Service RENEWAL19Asiya Javayant
1031Isabel C AmigonArgentina2024-04-03Buckley Miller Wright PROPOSAL21Stephen Shaw
1032Aika H RoysterArgentina2024-04-07Benton, John B Jr PROPOSAL74Xuxue Feng
1033Stacey M WaycottBrazil2024-04-24Feltz Printing Service UNQUALIFIED96Asiya Javayant
1034Mayumi K ChuiArgentina2024-04-11King, Christopher A Esq RENEWAL22Asiya Javayant
1035Maisha D TollnerAustralia2024-03-29Chanay, Jeffrey A Esq RENEWAL28Onyama Limba
1036Kadeem D DilliardAustralia2024-04-08Rangoni Of Florence NEW49Amy Elsner
1037Jefferson B CaudyBrazil2024-03-30Feltz Printing Service QUALIFIED11Amy Elsner
1038Ivar I RulapaughUnited Kingdom2024-04-01Morlong Associates NEGOTIATION13Xuxue Feng
1039Jones E RoysterRussia2024-04-11King, Christopher A Esq PROPOSAL73Anna Fali
1040Isabel M ButtAustralia2024-04-23Rangoni Of Florence PROPOSAL13Asiya Javayant
1041Maria X RoysterGermany2024-04-06Morlong Associates QUALIFIED95Ioni Bowcher
1042Morrow L CampainArgentina2024-04-02Dorl, James J Esq RENEWAL93Ivan Magalhaes
1043Jeanfrancois F VenereSpain2024-04-22Benton, John B Jr UNQUALIFIED24Ioni Bowcher
1044Kaitlin J IturbideGermany2024-04-01King, Christopher A Esq PROPOSAL95Anna Fali
1045Alejandro G GauchoIndia2024-03-28King, Christopher A Esq RENEWAL49Onyama Limba
1046Alejandro T GarufiFrance2024-04-12Feiner Bros NEGOTIATION97Onyama Limba
1047Mujtaba F DarakjyUnited Kingdom2024-04-22Feltz Printing Service NEGOTIATION79Elwin Sharvill
1048Claire J AmigonJapan2024-03-31Commercial Press RENEWAL72Asiya Javayant
1049Wickens Q TollnerRussia2024-03-29Morlong Associates QUALIFIED61Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues N DoeSpainBernardo Dominic PROPOSAL
Morrow O MarrierBrazilIoni Bowcher NEW
Costa G WieserBrazilAmy Elsner NEW
Salvatore L BologniaIndiaBernardo Dominic UNQUALIFIED
Maisha C ButtItalyXuxue Feng QUALIFIED
Aika H MacleadBrazilBernardo Dominic NEW
Antonio S MarrierSpainIvan Magalhaes NEGOTIATION
Tony Z SaylorsBrazilIvan Magalhaes PROPOSAL
Mayumi C RutaGermanyBernardo Dominic QUALIFIED
Wickens R GlickArgentinaElwin Sharvill PROPOSAL
Tony D RimBrazilAmy Elsner NEGOTIATION
Misaki H VocelkaFranceStephen Shaw NEGOTIATION
Octavia R WaycottRussiaIvan Magalhaes NEGOTIATION
Nicolas Q ChuiAustraliaXuxue Feng NEW
Salvatore T MacleadRussiaBernardo Dominic PROPOSAL
Francesco G RulapaughAustraliaBernardo Dominic RENEWAL
Greenwood O NestleAustraliaAmy Elsner UNQUALIFIED
Izzy C VenereFranceAmy Elsner UNQUALIFIED
Faith C MacleadIndiaIvan Magalhaes NEGOTIATION
Arvin U AmigonFranceElwin Sharvill QUALIFIED
Aruna G GauchoGermanyAnna Fali UNQUALIFIED
Jones A FigeroaAustraliaIoni Bowcher QUALIFIED
Claire P BowleyUnited KingdomAmy Elsner RENEWAL
Adams E MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez Y ChuiArgentinaAsiya Javayant NEGOTIATION
Francesco V MaletItalyIvan Magalhaes NEW
Munro Y VocelkaJapanBernardo Dominic UNQUALIFIED
Alejandro A SlusarskiFranceAsiya Javayant NEW
Octavia R BowleyAustraliaBernardo Dominic UNQUALIFIED
Leja M RimAustraliaOnyama Limba UNQUALIFIED
Arvin T WhobreyCanadaBernardo Dominic NEW
Salvatore M RutaJapanStephen Shaw PROPOSAL
Misaki P CaudyJapanElwin Sharvill NEGOTIATION
Smith N KuskoAustraliaXuxue Feng NEGOTIATION
Mujtaba Q GillianUnited KingdomXuxue Feng UNQUALIFIED
Stacey N RutaBrazilXuxue Feng RENEWAL
Darci N DoeSpainElwin Sharvill NEW
Greenwood N IturbideIndiaElwin Sharvill PROPOSAL
Isabel Y ButtAustraliaAsiya Javayant NEGOTIATION
Juan B InouyeAustraliaElwin Sharvill PROPOSAL
Wickens Q RulapaughIndiaElwin Sharvill NEW
Claire I MarrierArgentinaBernardo Dominic NEW
Morrow K CaldareraItalyAnna Fali NEGOTIATION
Julie S SchemmerBrazilOnyama Limba NEGOTIATION
Aika Y KolmetzUnited KingdomXuxue Feng PROPOSAL
Arvin C ShinkoSpainAsiya Javayant NEGOTIATION
Nicolas L GlickAustraliaStephen Shaw QUALIFIED
Juan D DarakjyRussiaIvan Magalhaes RENEWAL
Jefferson X MarrierUnited KingdomStephen Shaw PROPOSAL
Stacey X WhobreyItalyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Faith W Briddick
Aika Q Caudy
James P Chui
Smith Z Oldroyd
Isabel F Malet
Aditya W Stenseth
David X Malet
Isabel A Malet
Greenwood D Royster
Arvin G Shinko
Chavez D Caldarera
Aditya G Bowley
Salvatore K Chui
Wickens X Dilliard
Murillo G Foller
Alejandro U Vocelka
Arvin E Royster
Adams J Figeroa
Izzy U Slusarski
James H Oldroyd
Kadeem N Darakjy
Mayumi G Oldroyd
Ivar M Slusarski
Ivar Z Malet
Deepesh E Stockham
Smith N Ruta
Sinclair G Poquette
Julie H Saylors
Cody U Doe
Julie C Waycott
Julie W Glick
Maisha L Stockham
Nicolas V Bowley
Greenwood J Ferencz
Tony Y Caldarera
Isabel J Oldroyd
Mayumi R Sergi
Jennifer A Maclead
James I Foller
Francesco T Inouye
Arvin X Briddick
Ricardo V Nestle
Emily K Maclead
Nicolas V Foller
Darci Z Royster
Morrow K Vocelka
Octavia C Malet
Izzy E Nicka
Aditya D Kusko
Jennifer I Nestle
IdCountryDate
1000India2024-04-02
1001Japan2024-04-01
1002Australia2024-04-23
1003Argentina2024-04-11
1004Spain2024-04-14
1005Italy2024-03-27
1006Italy2024-04-03
1007Australia2024-04-02
1008Germany2024-04-10
1009France2024-04-20
1010France2024-04-08
1011Spain2024-04-04
1012Brazil2024-04-23
1013Germany2024-04-20
1014Japan2024-04-10
1015Japan2024-04-13
1016United Kingdom2024-04-20
1017Argentina2024-04-01
1018India2024-04-08
1019Argentina2024-04-14
1020United Kingdom2024-04-08
1021Australia2024-04-06
1022Spain2024-04-21
1023Russia2024-04-17
1024Argentina2024-03-30
1025Spain2024-04-06
1026Russia2024-04-14
1027Germany2024-04-19
1028United Kingdom2024-04-01
1029Argentina2024-04-02
1030India2024-03-27
1031Germany2024-04-21
1032United Kingdom2024-04-18
1033Italy2024-04-13
1034France2024-03-28
1035United Kingdom2024-04-01
1036Italy2024-04-11
1037Italy2024-04-21
1038Russia2024-04-01
1039United Kingdom2024-04-03
1040India2024-04-01
1041Russia2024-03-26
1042India2024-04-17
1043United Kingdom2024-03-26
1044Germany2024-04-03
1045India2024-04-03
1046Germany2024-03-28
1047Australia2024-04-08
1048Japan2024-03-30
1049India2024-04-02

On-Demand Data

NameIdCountryDate
Sinclair H Nestle1000Germany2024-04-23
Stacey N Caldarera1001Italy2024-04-13
Silvio H Rim1002Spain2024-04-14
Rodrigues H Butt1003Germany2024-04-18
Jennifer Z Stockham1004Italy2024-03-27
Stacey I Gillian1005Germany2024-04-20
Sinclair U Stockham1006India2024-04-23
Ashley C Maclead1007Japan2024-04-01
Jeanfrancois F Stenseth1008France2024-04-05
Claire P Sergi1009Brazil2024-04-16
Leja G Chui1010Germany2024-04-09
Salvatore T Saylors1011United Kingdom2024-03-28
Tony D Poquette1012Australia2024-03-31
Cody C Kusko1013Japan2024-04-05
Munro E Ferencz1014Argentina2024-04-18
Misaki M Caudy1015Italy2024-04-19
Aika S Perin1016Argentina2024-04-07
Rodrigues N Morasca1017Argentina2024-03-30
Ricardo K Whobrey1018Japan2024-04-09
Adams S Ferencz1019Russia2024-04-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon D CampainAustraliaAsiya Javayant QUALIFIED
Maria I InouyeUnited KingdomAnna Fali NEGOTIATION
Octavia Y KuskoCanadaXuxue Feng PROPOSAL
Ricardo U InouyeRussiaAsiya Javayant RENEWAL
Salvatore V DilliardJapanIvan Magalhaes NEW
Jennifer D PaprockiRussiaXuxue Feng NEW
Wickens Y KuskoBrazilXuxue Feng QUALIFIED
Maisha L GauchoGermanyBernardo Dominic QUALIFIED
Aditya R PoquetteItalyBernardo Dominic UNQUALIFIED
Adams L WhobreyJapanAsiya Javayant UNQUALIFIED
Murillo D StockhamIndiaAmy Elsner RENEWAL
Salvatore G RoysterUnited KingdomIvan Magalhaes QUALIFIED
Ivar T AmigonUnited KingdomOnyama Limba UNQUALIFIED
Cody C PaprockiCanadaIoni Bowcher RENEWAL
Maisha O PaprockiIndiaBernardo Dominic NEW
Kadeem L FlosiIndiaElwin Sharvill QUALIFIED
Costa D AlbaresFranceStephen Shaw NEW
James Q DarakjyBrazilAmy Elsner QUALIFIED
Jones M IturbideCanadaAsiya Javayant NEW
Smith Q MacleadUnited KingdomAsiya Javayant PROPOSAL
Morrow T MarrierJapanElwin Sharvill RENEWAL
Darci S MorascaFranceAsiya Javayant PROPOSAL
Adams C ButtGermanyAnna Fali UNQUALIFIED
Murillo O MaletItalyStephen Shaw QUALIFIED
Maisha N StensethArgentinaAnna Fali QUALIFIED
Izzy X ChuiGermanyStephen Shaw RENEWAL
Clifford H MarrierRussiaAnna Fali NEW
Greenwood R TollnerCanadaBernardo Dominic QUALIFIED
Ivar T GillianIndiaAnna Fali RENEWAL
Faith Q MorascaUnited KingdomIvan Magalhaes QUALIFIED
Jeanfrancois F FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Ivar V SchemmerGermanyBernardo Dominic PROPOSAL
Salvatore X DilliardItalyAnna Fali PROPOSAL
Jefferson G MarrierArgentinaXuxue Feng RENEWAL
Juan F MaletIndiaIvan Magalhaes UNQUALIFIED
Faith S CaudyJapanAsiya Javayant NEGOTIATION
Ivar M StockhamUnited KingdomAnna Fali NEW
Leon K MaletItalyIvan Magalhaes RENEWAL
Nicolas K TollnerAustraliaBernardo Dominic UNQUALIFIED
Aruna H MacleadUnited KingdomIvan Magalhaes 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>