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
Greenwood I WaycottArgentinaIoni Bowcher QUALIFIED
Jennifer X RimUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin E ButtFranceXuxue Feng QUALIFIED
Nicolas S RutaArgentinaIoni Bowcher RENEWAL
Ivar N AmigonJapanAsiya Javayant NEW
Jones G NestleIndiaIvan Magalhaes NEGOTIATION
Claire Q IturbideAustraliaElwin Sharvill PROPOSAL
Tony F VocelkaBrazilIoni Bowcher NEW
Aruna N TollnerAustraliaAsiya Javayant PROPOSAL
Wickens Y AmigonFranceElwin Sharvill NEGOTIATION
Rodrigues K CampainCanadaBernardo Dominic RENEWAL
Greenwood E ChuiJapanBernardo Dominic UNQUALIFIED
Nicolas H RulapaughBrazilStephen Shaw RENEWAL
Silvio W AmigonSpainOnyama Limba UNQUALIFIED
Maisha G RutaRussiaIoni Bowcher NEGOTIATION
Stacey J PaprockiAustraliaAsiya Javayant NEW
Rodrigues D MarrierGermanyBernardo Dominic NEGOTIATION
Nicolas I KuskoFranceIoni Bowcher PROPOSAL
Claire H GillianSpainAmy Elsner NEGOTIATION
Jennifer Q MacleadBrazilElwin Sharvill RENEWAL
Ivar G ButtItalyOnyama Limba NEGOTIATION
Stacey Y SergiItalyIvan Magalhaes UNQUALIFIED
Faith Q GlickAustraliaXuxue Feng RENEWAL
Mayumi B GarufiRussiaElwin Sharvill RENEWAL
Mujtaba V MaletBrazilElwin Sharvill UNQUALIFIED
Chavez I FigeroaBrazilOnyama Limba QUALIFIED
Maisha B PoquetteFranceAnna Fali NEGOTIATION
Smith D AmigonUnited KingdomAnna Fali NEW
Mujtaba N VocelkaGermanyStephen Shaw RENEWAL
Ricardo J ButtRussiaXuxue Feng PROPOSAL
Maria O KolmetzAustraliaOnyama Limba RENEWAL
Salvatore W RutaAustraliaAnna Fali RENEWAL
Salvatore F RoysterFranceAnna Fali RENEWAL
Morrow M BowleyItalyIoni Bowcher RENEWAL
Emily I StensethFranceStephen Shaw RENEWAL
James Y ShinkoSpainAsiya Javayant RENEWAL
Clifford M ButtFranceAsiya Javayant RENEWAL
Misaki P RoysterGermanyStephen Shaw QUALIFIED
Deepesh S WhobreyAustraliaAmy Elsner NEW
Silvio X MarrierArgentinaAsiya Javayant QUALIFIED
Smith X AmigonSpainAsiya Javayant NEGOTIATION
Greenwood V MorascaItalyXuxue Feng QUALIFIED
Darci H VenereBrazilOnyama Limba NEGOTIATION
Izzy E CampainCanadaBernardo Dominic PROPOSAL
David F SchemmerSpainElwin Sharvill QUALIFIED
Chavez T AlbaresItalyAsiya Javayant PROPOSAL
Julie A RimArgentinaElwin Sharvill NEW
Aika I KolmetzUnited KingdomBernardo Dominic PROPOSAL
Greenwood P StensethJapanElwin Sharvill UNQUALIFIED
Faith C KuskoBrazilOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Octavia F MarrierJapanStephen Shaw QUALIFIED
Johnson Y VocelkaItalyOnyama Limba UNQUALIFIED
Wickens X RulapaughSpainIoni Bowcher NEGOTIATION
Octavia H RulapaughJapanAmy Elsner NEGOTIATION
Smith K WaycottFranceOnyama Limba NEW
Cody Y ButtRussiaIoni Bowcher RENEWAL
Misaki F MacleadCanadaAnna Fali QUALIFIED
Stacey T DilliardIndiaAmy Elsner NEGOTIATION
Tony V SergiBrazilAsiya Javayant PROPOSAL
Murillo Y MorascaAustraliaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens H KolmetzCanada2024-04-15Rousseaux, Michael Esq NEGOTIATION93Elwin Sharvill
1001Julie E AmigonRussia2024-04-20King, Christopher A Esq RENEWAL63Amy Elsner
1002Morrow J VenereSpain2024-04-10Printing Dimensions QUALIFIED28Ivan Magalhaes
1003Murillo F StockhamBrazil2024-04-03Chapman, Ross E Esq PROPOSAL61Onyama Limba
1004Leon P BriddickArgentina2024-04-19Commercial Press NEGOTIATION96Amy Elsner
1005Jefferson O GlickJapan2024-03-30Printing Dimensions QUALIFIED32Ivan Magalhaes
1006David R BriddickUnited Kingdom2024-04-21Benton, John B Jr NEW43Amy Elsner
1007Chavez U MacleadRussia2024-04-16Chapman, Ross E Esq QUALIFIED4Asiya Javayant
1008Ashley W DilliardAustralia2024-04-17Printing Dimensions PROPOSAL22Ivan Magalhaes
1009Misaki D SlusarskiIndia2024-04-10Morlong Associates PROPOSAL47Asiya Javayant
1010Jennifer W IturbideCanada2024-04-07Feiner Bros NEW54Ivan Magalhaes
1011Sinclair A MacleadArgentina2024-04-19Truhlar And Truhlar Attys PROPOSAL42Xuxue Feng
1012Rodrigues R OldroydAustralia2024-04-13Morlong Associates RENEWAL27Anna Fali
1013Maria W NestleBrazil2024-04-15Dorl, James J Esq UNQUALIFIED56Asiya Javayant
1014Claire V ChuiJapan2024-04-11Benton, John B Jr QUALIFIED4Asiya Javayant
1015Wickens Q InouyeBrazil2024-04-08Chanay, Jeffrey A Esq NEGOTIATION5Ivan Magalhaes
1016Aruna C ShinkoRussia2024-04-25Rangoni Of Florence UNQUALIFIED99Xuxue Feng
1017Jennifer R GillianAustralia2024-04-06Buckley Miller Wright QUALIFIED95Anna Fali
1018Aditya V RulapaughSpain2024-03-31Commercial Press NEGOTIATION45Elwin Sharvill
1019Nicolas G SaylorsIndia2024-04-16Rangoni Of Florence RENEWAL4Xuxue Feng
1020Faith F WaycottArgentina2024-04-20Feltz Printing Service PROPOSAL41Onyama Limba
1021Aruna W AmigonSpain2024-04-02Buckley Miller Wright UNQUALIFIED83Elwin Sharvill
1022Stacey O InouyeIndia2024-04-23Morlong Associates RENEWAL71Amy Elsner
1023Morrow V FigeroaAustralia2024-04-21Feiner Bros RENEWAL20Onyama Limba
1024Claire T AlbaresItaly2024-04-10Rousseaux, Michael Esq NEGOTIATION57Asiya Javayant
1025Morrow Y CampainUnited Kingdom2024-04-22Rousseaux, Michael Esq RENEWAL41Asiya Javayant
1026Emily H PoquetteUnited Kingdom2024-04-11Rangoni Of Florence QUALIFIED56Amy Elsner
1027Misaki S ButtUnited Kingdom2024-04-21Commercial Press NEW85Ioni Bowcher
1028Murillo R VocelkaItaly2024-03-29Chapman, Ross E Esq RENEWAL20Stephen Shaw
1029Murillo X DoeCanada2024-04-22Printing Dimensions UNQUALIFIED69Elwin Sharvill
1030Costa V CaudyArgentina2024-04-13Printing Dimensions RENEWAL76Anna Fali
1031Salvatore Y FlosiAustralia2024-04-03Buckley Miller Wright NEW69Bernardo Dominic
1032Smith U MarrierArgentina2024-04-12Rousseaux, Michael Esq NEGOTIATION87Xuxue Feng
1033Kadeem W KuskoItaly2024-04-13Morlong Associates NEGOTIATION5Ioni Bowcher
1034Antonio C CaldareraFrance2024-04-07Feltz Printing Service QUALIFIED54Anna Fali
1035Emily P KuskoArgentina2024-04-18Buckley Miller Wright RENEWAL8Elwin Sharvill
1036Maisha D MaletCanada2024-04-13Feltz Printing Service RENEWAL1Elwin Sharvill
1037Deepesh X VocelkaArgentina2024-04-22Morlong Associates QUALIFIED30Asiya Javayant
1038Leon E KolmetzIndia2024-04-15Feiner Bros RENEWAL58Amy Elsner
1039Kaitlin B MacleadJapan2024-04-14King, Christopher A Esq QUALIFIED57Ioni Bowcher
1040Deepesh U SergiFrance2024-04-23Buckley Miller Wright RENEWAL32Xuxue Feng
1041Francesco J BowleyUnited Kingdom2024-04-09King, Christopher A Esq NEGOTIATION13Xuxue Feng
1042Smith Y BowleyBrazil2024-04-06Truhlar And Truhlar Attys NEW58Asiya Javayant
1043Emily F MaletUnited Kingdom2024-04-17Rousseaux, Michael Esq NEGOTIATION49Onyama Limba
1044Maisha Z IturbideRussia2024-04-20Printing Dimensions NEGOTIATION49Anna Fali
1045Arvin U VocelkaFrance2024-04-07Feiner Bros PROPOSAL97Anna Fali
1046David U StensethSpain2024-04-27Commercial Press NEGOTIATION41Xuxue Feng
1047Adams F OstroskyIndia2024-04-06Benton, John B Jr QUALIFIED51Onyama Limba
1048Jennifer O RimAustralia2024-04-20Rousseaux, Michael Esq NEW11Ivan Magalhaes
1049Darci P RutaAustralia2024-04-25Commercial Press PROPOSAL70Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Octavia P CampainRussiaAsiya Javayant NEGOTIATION
Munro Z FlosiFranceIvan Magalhaes UNQUALIFIED
Clifford H DarakjyBrazilAnna Fali RENEWAL
Clifford N DoeIndiaAmy Elsner QUALIFIED
Darci G GarufiFranceBernardo Dominic UNQUALIFIED
Chavez G ButtUnited KingdomIoni Bowcher PROPOSAL
Sinclair H WaycottUnited KingdomXuxue Feng RENEWAL
Faith C ShinkoIndiaAmy Elsner NEGOTIATION
James N PoquetteBrazilAmy Elsner PROPOSAL
Clifford K PerinSpainBernardo Dominic QUALIFIED
Aruna Z WaycottSpainElwin Sharvill NEW
Leja X OldroydSpainElwin Sharvill NEGOTIATION
Jeanfrancois V GarufiRussiaElwin Sharvill NEW
Morrow D InouyeFranceIvan Magalhaes NEGOTIATION
Kaitlin R SlusarskiCanadaAmy Elsner NEGOTIATION
Mayumi G PaprockiAustraliaAnna Fali NEW
David F AlbaresItalyBernardo Dominic RENEWAL
Ivar H OstroskyAustraliaIvan Magalhaes PROPOSAL
Aika F KuskoBrazilAsiya Javayant NEGOTIATION
Kadeem I KolmetzIndiaStephen Shaw NEGOTIATION
Isabel S MarrierArgentinaXuxue Feng RENEWAL
Alejandro O MaletCanadaAmy Elsner QUALIFIED
Arvin X PoquetteAustraliaAmy Elsner UNQUALIFIED
Munro C RoysterUnited KingdomOnyama Limba NEGOTIATION
James G VenereBrazilAnna Fali QUALIFIED
Wickens X RulapaughSpainAnna Fali QUALIFIED
Jefferson K DoeSpainIvan Magalhaes QUALIFIED
Mujtaba Z AmigonFranceAnna Fali QUALIFIED
Clifford T SaylorsBrazilAnna Fali PROPOSAL
Misaki H WieserJapanElwin Sharvill QUALIFIED
Octavia W NestleBrazilIvan Magalhaes NEGOTIATION
Julie O MorascaAustraliaOnyama Limba UNQUALIFIED
Rodrigues C IturbideJapanAnna Fali RENEWAL
Maria E IturbideGermanyAsiya Javayant UNQUALIFIED
Claire B CampainCanadaIvan Magalhaes UNQUALIFIED
Arvin Y StockhamIndiaBernardo Dominic PROPOSAL
Octavia W RimSpainIvan Magalhaes RENEWAL
Stacey V SergiUnited KingdomIvan Magalhaes QUALIFIED
Antonio U OstroskyJapanAsiya Javayant PROPOSAL
Adams R ChuiRussiaIvan Magalhaes RENEWAL
Claire Y KolmetzBrazilIvan Magalhaes QUALIFIED
Clifford C VocelkaBrazilBernardo Dominic RENEWAL
Mayumi J AlbaresCanadaIoni Bowcher NEGOTIATION
Emily Z CaudyArgentinaElwin Sharvill RENEWAL
Aika S BologniaSpainBernardo Dominic NEW
Jefferson Y RoysterArgentinaAnna Fali RENEWAL
Ricardo C GarufiAustraliaBernardo Dominic PROPOSAL
Murillo E StockhamUnited KingdomAnna Fali NEW
Alejandro P FigeroaRussiaAnna Fali RENEWAL
Sinclair W NestleRussiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Mujtaba I Ruta
Kaitlin Z Briddick
Silvio P Doe
Julie U Campain
Greenwood U Stenseth
Leja R Schemmer
Darci S Shinko
Julie Q Venere
Tony T Kolmetz
Misaki T Perin
Kaitlin P Nicka
Arvin U Amigon
Leja L Bolognia
Rodrigues O Marrier
Leon P Stockham
James N Chui
Aruna M Inouye
Sinclair Y Glick
Octavia B Doe
Aditya L Gaucho
Francesco X Amigon
Morrow A Gaucho
Ricardo F Wieser
Leon U Stenseth
Juan G Ferencz
Salvatore X Stenseth
Costa Q Marrier
Aika U Caldarera
Costa T Nestle
Julie S Tollner
Isabel H Whobrey
Octavia Y Ruta
Jones P Gillian
Smith R Rulapaugh
Alejandro Y Doe
Arvin W Rim
Misaki Z Inouye
Smith X Malet
Chavez T Inouye
Arvin E Kusko
Tony U Poquette
Jennifer N Venere
Juan Q Bowley
Maisha T Paprocki
Nicolas M Poquette
Mujtaba X Gillian
Costa R Figeroa
Morrow S Ruta
Clifford T Ferencz
Adams R Darakjy
IdCountryDate
1000Australia2024-04-03
1001Germany2024-04-01
1002Brazil2024-04-16
1003Japan2024-04-19
1004Germany2024-04-18
1005Brazil2024-04-07
1006Spain2024-04-14
1007Spain2024-04-24
1008Brazil2024-04-24
1009Brazil2024-04-12
1010Germany2024-04-22
1011Argentina2024-03-30
1012Germany2024-04-07
1013Italy2024-04-15
1014Argentina2024-04-22
1015Brazil2024-04-16
1016Russia2024-04-12
1017Italy2024-04-17
1018India2024-04-20
1019France2024-04-16
1020Brazil2024-04-08
1021Japan2024-04-15
1022Canada2024-04-08
1023Russia2024-04-15
1024Brazil2024-04-10
1025Brazil2024-04-12
1026Brazil2024-04-06
1027Germany2024-04-01
1028India2024-03-31
1029Germany2024-04-18
1030Canada2024-04-03
1031Italy2024-03-31
1032Germany2024-04-14
1033France2024-04-12
1034Brazil2024-04-24
1035Australia2024-04-25
1036Brazil2024-03-31
1037Germany2024-03-30
1038Brazil2024-04-11
1039Russia2024-04-06
1040Spain2024-04-11
1041Argentina2024-04-20
1042Argentina2024-04-02
1043Spain2024-04-02
1044France2024-04-11
1045India2024-04-16
1046Italy2024-04-05
1047France2024-04-10
1048Argentina2024-03-30
1049Japan2024-03-29

On-Demand Data

NameIdCountryDate
Munro I Wieser1000Japan2024-04-05
Leja T Butt1001Russia2024-04-18
Maria N Foller1002Italy2024-04-01
Jennifer E Gaucho1003Argentina2024-04-22
Claire E Perin1004Brazil2024-04-13
Smith D Morasca1005Italy2024-04-17
David V Malet1006Russia2024-04-25
Smith M Tollner1007United Kingdom2024-04-09
James M Briddick1008France2024-04-17
Octavia J Vocelka1009France2024-04-04
Silvio Z Campain1010Japan2024-04-27
Greenwood W Doe1011India2024-04-02
Kadeem I Butt1012Argentina2024-04-13
Maisha T Stenseth1013Japan2024-04-10
Claire X Figeroa1014Spain2024-04-16
Isabel L Rulapaugh1015Russia2024-04-26
Adams G Figeroa1016Brazil2024-04-15
Adams O Bowley1017Canada2024-04-19
Ivar P Nicka1018France2024-04-03
Kadeem L Gaucho1019Germany2024-04-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones Q BriddickSpainAmy Elsner UNQUALIFIED
Wickens E CaudySpainElwin Sharvill NEW
Alejandro U DilliardSpainXuxue Feng NEW
Kadeem R FerenczAustraliaAmy Elsner QUALIFIED
Kaitlin E GauchoUnited KingdomAnna Fali RENEWAL
Aika Z AmigonCanadaStephen Shaw QUALIFIED
Nicolas Z CampainBrazilOnyama Limba NEW
Jones D StensethUnited KingdomXuxue Feng UNQUALIFIED
Darci Z DarakjyIndiaIoni Bowcher UNQUALIFIED
Julie D SaylorsRussiaElwin Sharvill QUALIFIED
Isabel M IturbideIndiaOnyama Limba RENEWAL
Johnson H AmigonFranceIoni Bowcher NEGOTIATION
Jefferson I OstroskyRussiaBernardo Dominic PROPOSAL
Johnson A RutaGermanyElwin Sharvill NEW
David O MorascaCanadaIoni Bowcher QUALIFIED
Ricardo M MaletAustraliaAnna Fali PROPOSAL
Clifford I IturbideFranceAsiya Javayant QUALIFIED
Alejandro A BriddickSpainXuxue Feng NEW
Wickens C TollnerGermanyAmy Elsner QUALIFIED
Julie P FollerRussiaElwin Sharvill QUALIFIED
Kadeem W KolmetzItalyIoni Bowcher UNQUALIFIED
Darci I WhobreyFranceAnna Fali NEGOTIATION
Aika J GarufiCanadaOnyama Limba RENEWAL
Adams H NickaBrazilAnna Fali NEGOTIATION
Jefferson E WhobreyRussiaAsiya Javayant PROPOSAL
Aika S RulapaughAustraliaBernardo Dominic RENEWAL
Johnson M InouyeItalyXuxue Feng PROPOSAL
Greenwood E RoysterAustraliaIoni Bowcher QUALIFIED
Julie C MorascaUnited KingdomBernardo Dominic NEGOTIATION
Johnson O RulapaughBrazilXuxue Feng NEGOTIATION
Cody A GlickJapanOnyama Limba NEW
Jeanfrancois I SergiCanadaXuxue Feng NEW
Maria T PoquetteCanadaAnna Fali PROPOSAL
Mujtaba M StensethRussiaAmy Elsner PROPOSAL
James K SlusarskiUnited KingdomAmy Elsner PROPOSAL
Kaitlin G GauchoAustraliaXuxue Feng QUALIFIED
Julie M MaletUnited KingdomAsiya Javayant PROPOSAL
Nicolas Q CaudyCanadaIvan Magalhaes RENEWAL
Morrow J ChuiFranceIoni Bowcher QUALIFIED
Kadeem X BologniaSpainIoni Bowcher 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>