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
Costa O PerinArgentinaStephen Shaw PROPOSAL
Izzy Y FlosiBrazilAmy Elsner QUALIFIED
Sinclair E KuskoArgentinaAsiya Javayant PROPOSAL
Aditya Z VocelkaGermanyAmy Elsner NEW
Misaki U ButtAustraliaIvan Magalhaes NEGOTIATION
Misaki E RoysterBrazilStephen Shaw RENEWAL
Munro K CaudyItalyAsiya Javayant RENEWAL
Claire O MacleadIndiaIoni Bowcher RENEWAL
Munro R PoquetteBrazilIvan Magalhaes RENEWAL
Juan U FigeroaIndiaXuxue Feng UNQUALIFIED
Kadeem O MarrierIndiaOnyama Limba UNQUALIFIED
Antonio U SlusarskiGermanyOnyama Limba QUALIFIED
Chavez W StensethFranceStephen Shaw PROPOSAL
Tony P KolmetzRussiaAnna Fali RENEWAL
Aruna D NestleBrazilIvan Magalhaes NEW
Adams Z PerinItalyAnna Fali QUALIFIED
Jones N InouyeRussiaStephen Shaw PROPOSAL
Isabel D MacleadUnited KingdomBernardo Dominic QUALIFIED
Munro U RoysterItalyAsiya Javayant UNQUALIFIED
Alejandro J WhobreyBrazilBernardo Dominic QUALIFIED
Julie N TollnerGermanyAmy Elsner NEW
Mayumi U MacleadGermanyAnna Fali UNQUALIFIED
Clifford S RulapaughBrazilIvan Magalhaes NEW
Faith K SergiAustraliaXuxue Feng QUALIFIED
Jones V SchemmerItalyIvan Magalhaes NEGOTIATION
Arvin C IturbideJapanXuxue Feng PROPOSAL
Claire Z SchemmerJapanElwin Sharvill NEGOTIATION
Johnson T CampainRussiaStephen Shaw QUALIFIED
Leon L MorascaSpainIoni Bowcher QUALIFIED
Nicolas J RutaUnited KingdomBernardo Dominic QUALIFIED
Aruna J PerinJapanXuxue Feng QUALIFIED
Deepesh T DoeArgentinaBernardo Dominic NEGOTIATION
Clifford G DilliardGermanyStephen Shaw PROPOSAL
Greenwood E AlbaresJapanIvan Magalhaes UNQUALIFIED
Kaitlin O StockhamCanadaElwin Sharvill RENEWAL
Mujtaba X FigeroaBrazilBernardo Dominic PROPOSAL
Johnson K SlusarskiIndiaAmy Elsner QUALIFIED
Aditya N GauchoJapanIvan Magalhaes NEGOTIATION
Munro Y GarufiGermanyAmy Elsner PROPOSAL
Misaki C PoquetteRussiaBernardo Dominic NEW
Chavez M IturbideItalyAnna Fali UNQUALIFIED
Greenwood W InouyeIndiaAsiya Javayant PROPOSAL
Emily W ShinkoUnited KingdomAmy Elsner PROPOSAL
Mayumi E VenereItalyIvan Magalhaes UNQUALIFIED
Aruna Z SlusarskiFranceAsiya Javayant NEGOTIATION
Chavez Y ButtUnited KingdomXuxue Feng RENEWAL
Silvio F FollerBrazilStephen Shaw RENEWAL
Sinclair D GillianIndiaBernardo Dominic UNQUALIFIED
Rodrigues S StockhamBrazilAmy Elsner RENEWAL
Nicolas N PerinGermanyIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan G MorascaJapanStephen Shaw PROPOSAL
Jeanfrancois A StensethArgentinaStephen Shaw RENEWAL
Izzy F ButtArgentinaIvan Magalhaes PROPOSAL
Ashley K OstroskyUnited KingdomElwin Sharvill NEW
Chavez L WhobreyFranceOnyama Limba NEGOTIATION
Aruna U MorascaSpainOnyama Limba UNQUALIFIED
Aditya K VenereArgentinaOnyama Limba NEGOTIATION
Jeanfrancois F SaylorsArgentinaOnyama Limba PROPOSAL
Kaitlin B WieserAustraliaAnna Fali NEGOTIATION
Nicolas V ButtSpainAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams O WaycottAustralia2024-04-02King, Christopher A Esq NEGOTIATION48Onyama Limba
1001Munro Z PerinCanada2024-04-20Chemel, James L Cpa QUALIFIED65Ioni Bowcher
1002Munro U NickaUnited Kingdom2024-04-06Chanay, Jeffrey A Esq PROPOSAL51Elwin Sharvill
1003Leja R FerenczBrazil2024-04-25Feiner Bros QUALIFIED54Asiya Javayant
1004Morrow H StockhamSpain2024-04-17Morlong Associates NEW14Elwin Sharvill
1005Silvio Y RimUnited Kingdom2024-04-20Rangoni Of Florence RENEWAL15Onyama Limba
1006Murillo X MarrierArgentina2024-04-13Chemel, James L Cpa NEW86Amy Elsner
1007Costa E TollnerSpain2024-04-17Commercial Press PROPOSAL53Amy Elsner
1008Antonio G TollnerAustralia2024-04-26Feltz Printing Service NEW57Stephen Shaw
1009Arvin E MacleadBrazil2024-04-22Truhlar And Truhlar Attys QUALIFIED56Asiya Javayant
1010Faith O MacleadSpain2024-04-21Benton, John B Jr QUALIFIED16Stephen Shaw
1011Mujtaba J VenereUnited Kingdom2024-04-02Benton, John B Jr NEGOTIATION40Onyama Limba
1012Kaitlin A ButtCanada2024-04-16Benton, John B Jr NEGOTIATION64Ioni Bowcher
1013Alejandro V PerinItaly2024-04-06Chanay, Jeffrey A Esq QUALIFIED7Bernardo Dominic
1014Aditya C PaprockiGermany2024-04-05Rousseaux, Michael Esq QUALIFIED4Onyama Limba
1015Clifford W FigeroaBrazil2024-04-15Buckley Miller Wright NEGOTIATION76Asiya Javayant
1016James C WhobreyJapan2024-04-14Feltz Printing Service QUALIFIED94Ioni Bowcher
1017Smith E PerinUnited Kingdom2024-04-17Rangoni Of Florence QUALIFIED11Asiya Javayant
1018Aruna T GillianArgentina2024-04-03Feltz Printing Service NEW63Xuxue Feng
1019Aditya U IturbideUnited Kingdom2024-04-23Rangoni Of Florence QUALIFIED72Ioni Bowcher
1020Octavia R CampainUnited Kingdom2024-04-13Feiner Bros NEGOTIATION13Onyama Limba
1021Greenwood L GlickAustralia2024-04-03Morlong Associates UNQUALIFIED16Ivan Magalhaes
1022Francesco E FollerCanada2024-04-21King, Christopher A Esq UNQUALIFIED80Bernardo Dominic
1023Mayumi J FerenczFrance2024-04-24Rousseaux, Michael Esq RENEWAL66Amy Elsner
1024Deepesh J AmigonSpain2024-04-07Morlong Associates NEGOTIATION81Xuxue Feng
1025Leja Z FigeroaCanada2024-04-08King, Christopher A Esq PROPOSAL37Asiya Javayant
1026Clifford P RoysterIndia2024-04-23Dorl, James J Esq PROPOSAL92Stephen Shaw
1027Darci P GillianCanada2024-04-11Chemel, James L Cpa NEGOTIATION15Ioni Bowcher
1028Munro O FerenczItaly2024-04-24Chapman, Ross E Esq PROPOSAL48Elwin Sharvill
1029Kaitlin H CaldareraAustralia2024-04-08Printing Dimensions NEW88Bernardo Dominic
1030Nicolas X SchemmerGermany2024-04-09Feiner Bros UNQUALIFIED64Asiya Javayant
1031Jones J RimIndia2024-04-05Benton, John B Jr UNQUALIFIED17Xuxue Feng
1032Cody U FerenczCanada2024-04-18Feltz Printing Service NEW74Amy Elsner
1033Isabel D GauchoBrazil2024-04-17Printing Dimensions PROPOSAL34Elwin Sharvill
1034Jefferson E PoquetteGermany2024-04-18Feiner Bros UNQUALIFIED17Anna Fali
1035Alejandro R WhobreyFrance2024-04-25Printing Dimensions UNQUALIFIED26Ivan Magalhaes
1036Octavia C NestleRussia2024-04-10Rousseaux, Michael Esq NEW67Xuxue Feng
1037Mujtaba G BologniaUnited Kingdom2024-04-20Buckley Miller Wright UNQUALIFIED88Ivan Magalhaes
1038Faith S SchemmerUnited Kingdom2024-04-25Buckley Miller Wright NEGOTIATION47Stephen Shaw
1039Emily C FlosiCanada2024-03-28King, Christopher A Esq PROPOSAL4Anna Fali
1040Morrow K FlosiCanada2024-04-16Truhlar And Truhlar Attys PROPOSAL28Elwin Sharvill
1041Ivar Y KuskoIndia2024-04-09Feiner Bros PROPOSAL35Onyama Limba
1042Ivar E KuskoCanada2024-04-21Benton, John B Jr QUALIFIED33Ioni Bowcher
1043Jennifer T MorascaRussia2024-04-05Chemel, James L Cpa PROPOSAL3Elwin Sharvill
1044Rodrigues F PerinRussia2024-03-31Commercial Press QUALIFIED90Ioni Bowcher
1045Octavia T MaletRussia2024-04-01Feiner Bros QUALIFIED88Asiya Javayant
1046Misaki V GlickUnited Kingdom2024-04-10Morlong Associates NEGOTIATION77Ivan Magalhaes
1047Arvin O PoquetteAustralia2024-04-22Feiner Bros PROPOSAL88Asiya Javayant
1048Leon X RulapaughFrance2024-04-11Benton, John B Jr NEGOTIATION74Anna Fali
1049Mayumi P MacleadBrazil2024-04-24Chapman, Ross E Esq NEGOTIATION2Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Wickens E MarrierItalyAmy Elsner NEW
Aruna B FlosiUnited KingdomIoni Bowcher QUALIFIED
Jennifer I ChuiAustraliaIoni Bowcher NEW
Maria Z AmigonAustraliaIoni Bowcher NEGOTIATION
Claire U AmigonCanadaAnna Fali RENEWAL
Juan Q FollerBrazilBernardo Dominic PROPOSAL
Kaitlin O CaldareraSpainBernardo Dominic NEW
Salvatore N GarufiJapanBernardo Dominic NEW
Clifford H NickaAustraliaIoni Bowcher PROPOSAL
Faith Z IturbideUnited KingdomElwin Sharvill RENEWAL
Costa H DoeGermanyOnyama Limba PROPOSAL
Faith J WhobreyIndiaIvan Magalhaes QUALIFIED
Cody Y MorascaArgentinaElwin Sharvill NEGOTIATION
Ashley I FollerJapanAsiya Javayant NEGOTIATION
James D SaylorsRussiaIvan Magalhaes UNQUALIFIED
Claire V SlusarskiRussiaOnyama Limba UNQUALIFIED
Faith D FigeroaItalyIoni Bowcher RENEWAL
Costa E FerenczRussiaIoni Bowcher NEW
Munro T WhobreyIndiaIvan Magalhaes PROPOSAL
Leon Y OstroskyCanadaAnna Fali QUALIFIED
Maria Y ChuiJapanOnyama Limba NEGOTIATION
Salvatore U MorascaAustraliaElwin Sharvill UNQUALIFIED
Deepesh K ButtBrazilIvan Magalhaes RENEWAL
Jeanfrancois Z WaycottIndiaAnna Fali QUALIFIED
Jennifer N NickaUnited KingdomStephen Shaw UNQUALIFIED
Jefferson C BologniaRussiaBernardo Dominic NEGOTIATION
Ivar R WhobreyCanadaAsiya Javayant UNQUALIFIED
Aditya L RutaGermanyAnna Fali UNQUALIFIED
Leon T WaycottGermanyAsiya Javayant NEW
Faith L MarrierCanadaIoni Bowcher PROPOSAL
Munro U IturbideSpainOnyama Limba RENEWAL
Leon C ChuiArgentinaXuxue Feng UNQUALIFIED
Arvin V KolmetzUnited KingdomElwin Sharvill NEGOTIATION
Tony M MacleadSpainIoni Bowcher PROPOSAL
Mayumi Y BowleyFranceElwin Sharvill QUALIFIED
Julie P MaletJapanAmy Elsner NEW
Octavia S OstroskyAustraliaBernardo Dominic UNQUALIFIED
Antonio C RutaGermanyBernardo Dominic NEGOTIATION
Silvio E MorascaGermanyAmy Elsner UNQUALIFIED
Aruna C BologniaSpainIvan Magalhaes QUALIFIED
Aika C GauchoRussiaBernardo Dominic UNQUALIFIED
Cody U RutaGermanyAsiya Javayant PROPOSAL
Murillo Z ChuiItalyStephen Shaw PROPOSAL
Stacey L BowleyFranceStephen Shaw UNQUALIFIED
Clifford X InouyeAustraliaAsiya Javayant QUALIFIED
Ashley N DarakjyJapanAnna Fali NEW
Stacey N OstroskyIndiaOnyama Limba UNQUALIFIED
Costa H KuskoArgentinaIvan Magalhaes NEGOTIATION
Aika W BowleyGermanyAmy Elsner QUALIFIED
Maisha W DarakjyGermanyIoni Bowcher QUALIFIED
Frozen Columns
Name
James P Malet
Johnson V Ostrosky
Johnson C Marrier
Darci H Perin
Smith V Perin
Jefferson D Darakjy
Aika F Ostrosky
Julie N Stenseth
Nicolas Q Inouye
Jones J Butt
Aika L Stenseth
Antonio T Shinko
Francesco U Caudy
Emily M Kusko
Kadeem N Shinko
Misaki A Figeroa
Johnson I Wieser
Adams V Darakjy
Sinclair B Nestle
David G Whobrey
Rodrigues N Slusarski
Maisha D Slusarski
Tony T Campain
Leja P Kolmetz
Antonio A Garufi
Octavia L Figeroa
Emily R Tollner
Jeanfrancois O Butt
Ricardo N Maclead
Greenwood W Stenseth
Aruna C Whobrey
Murillo Z Albares
Emily Y Nicka
David B Royster
Munro I Chui
Smith G Stenseth
Munro I Kolmetz
Wickens W Amigon
Antonio U Ferencz
Munro Z Vocelka
Juan Z Dilliard
Salvatore N Slusarski
Juan J Paprocki
Munro T Stockham
Ricardo D Caldarera
Misaki F Bolognia
David C Amigon
Mujtaba I Kolmetz
Jones V Glick
Antonio D Gillian
IdCountryDate
1000Spain2024-04-05
1001Italy2024-04-26
1002Canada2024-04-09
1003Japan2024-04-23
1004India2024-04-24
1005India2024-03-31
1006Japan2024-04-06
1007Italy2024-04-20
1008Russia2024-04-16
1009France2024-04-01
1010Japan2024-04-03
1011Australia2024-04-20
1012Australia2024-04-26
1013Spain2024-04-20
1014India2024-04-09
1015Canada2024-04-15
1016United Kingdom2024-04-04
1017Spain2024-04-16
1018Brazil2024-04-12
1019India2024-04-07
1020Brazil2024-04-16
1021United Kingdom2024-04-19
1022Spain2024-04-13
1023Australia2024-04-20
1024Spain2024-04-07
1025Italy2024-03-29
1026Russia2024-04-18
1027France2024-04-20
1028Australia2024-04-15
1029Australia2024-04-14
1030France2024-03-29
1031Germany2024-04-07
1032Japan2024-04-21
1033Argentina2024-03-28
1034Australia2024-04-25
1035Canada2024-04-11
1036Brazil2024-04-19
1037Spain2024-04-07
1038United Kingdom2024-04-19
1039Spain2024-04-18
1040Russia2024-03-29
1041Brazil2024-04-08
1042Argentina2024-04-09
1043Italy2024-04-25
1044Argentina2024-04-07
1045Australia2024-04-04
1046Australia2024-04-07
1047Brazil2024-04-22
1048Argentina2024-04-11
1049Brazil2024-03-31

On-Demand Data

NameIdCountryDate
Aruna B Wieser1000Russia2024-04-19
Isabel O Campain1001Canada2024-04-12
Adams Z Inouye1002United Kingdom2024-04-09
Sinclair O Ruta1003Japan2024-03-30
Julie M Nestle1004Germany2024-04-10
Stacey C Stockham1005France2024-04-15
Deepesh T Rim1006Australia2024-04-01
Leja L Waycott1007Spain2024-04-25
Murillo D Darakjy1008Germany2024-03-29
Aruna P Whobrey1009Australia2024-04-09
Rodrigues H Garufi1010Spain2024-04-05
Silvio Q Perin1011Italy2024-04-16
Aika H Malet1012Brazil2024-04-21
Leon T Caldarera1013India2024-04-09
Silvio M Garufi1014Spain2024-04-18
Aika B Dilliard1015Argentina2024-04-22
Jefferson S Darakjy1016Germany2024-04-04
Adams L Malet1017France2024-04-07
Morrow K Nestle1018Spain2024-04-22
Ivar A Campain1019United Kingdom2024-04-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens O SaylorsArgentinaAsiya Javayant PROPOSAL
Silvio I StockhamArgentinaAmy Elsner UNQUALIFIED
Faith P NestleUnited KingdomElwin Sharvill QUALIFIED
Clifford P NickaCanadaAsiya Javayant UNQUALIFIED
Aika N DarakjySpainIvan Magalhaes PROPOSAL
Arvin Y InouyeItalyOnyama Limba RENEWAL
Darci K NestleBrazilAnna Fali QUALIFIED
Aditya G NickaSpainAmy Elsner NEW
Smith J FlosiRussiaElwin Sharvill NEGOTIATION
Darci B ButtItalyElwin Sharvill NEGOTIATION
Claire A FerenczGermanyAmy Elsner PROPOSAL
Jennifer X AmigonIndiaOnyama Limba UNQUALIFIED
Aditya L MorascaFranceBernardo Dominic QUALIFIED
Mayumi P FerenczFranceElwin Sharvill NEW
Smith T GlickCanadaAnna Fali QUALIFIED
Julie T NestleItalyStephen Shaw NEW
Juan H FlosiArgentinaElwin Sharvill UNQUALIFIED
Costa Q CaldareraJapanAmy Elsner NEW
Smith C GillianGermanyIoni Bowcher RENEWAL
David G PaprockiIndiaIvan Magalhaes RENEWAL
Chavez L SlusarskiJapanStephen Shaw NEW
Aika X OstroskyFranceOnyama Limba QUALIFIED
Munro D TollnerJapanElwin Sharvill NEW
Emily P StensethGermanyElwin Sharvill QUALIFIED
Alejandro S FigeroaArgentinaElwin Sharvill PROPOSAL
Aruna F MaletCanadaAsiya Javayant NEW
Wickens P RutaSpainStephen Shaw NEGOTIATION
Greenwood Q InouyeJapanIvan Magalhaes QUALIFIED
Faith A StockhamJapanXuxue Feng NEGOTIATION
Juan L RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Juan Y PoquetteAustraliaOnyama Limba QUALIFIED
Mayumi S DarakjyAustraliaOnyama Limba PROPOSAL
Mujtaba O MacleadRussiaElwin Sharvill UNQUALIFIED
Clifford Y TollnerFranceIvan Magalhaes UNQUALIFIED
Leja B FigeroaIndiaIoni Bowcher UNQUALIFIED
Maria I PoquetteBrazilAsiya Javayant NEW
James E FigeroaIndiaOnyama Limba QUALIFIED
Costa R BowleyCanadaAsiya Javayant NEW
Stacey F FollerItalyIoni Bowcher PROPOSAL
Sinclair Z IturbideSpainAmy Elsner 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>