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
Mayumi U VocelkaUnited KingdomXuxue Feng NEW
Costa F GarufiFranceElwin Sharvill UNQUALIFIED
Izzy Q SchemmerIndiaElwin Sharvill NEW
Salvatore E BriddickSpainStephen Shaw NEGOTIATION
Octavia D MacleadRussiaAmy Elsner RENEWAL
Aika C BriddickItalyBernardo Dominic NEGOTIATION
Mayumi E GillianItalyIoni Bowcher NEW
Tony C BriddickUnited KingdomBernardo Dominic RENEWAL
Jefferson J InouyeSpainElwin Sharvill PROPOSAL
Smith Z TollnerItalyIvan Magalhaes PROPOSAL
Aruna Q ChuiUnited KingdomOnyama Limba PROPOSAL
Octavia T VocelkaGermanyIoni Bowcher PROPOSAL
Mujtaba B MaletJapanStephen Shaw UNQUALIFIED
Aika K MarrierItalyAmy Elsner UNQUALIFIED
Smith S VocelkaSpainOnyama Limba NEGOTIATION
James V WhobreyArgentinaStephen Shaw RENEWAL
Maria P WaycottUnited KingdomIvan Magalhaes RENEWAL
Tony U DilliardArgentinaIvan Magalhaes PROPOSAL
Julie T FigeroaRussiaAsiya Javayant QUALIFIED
Stacey Z CaudyArgentinaAmy Elsner NEGOTIATION
Sinclair I SaylorsFranceElwin Sharvill UNQUALIFIED
Wickens I SaylorsSpainElwin Sharvill NEW
Leja E OldroydAustraliaAmy Elsner NEW
Greenwood U CampainRussiaBernardo Dominic NEGOTIATION
Mujtaba R RoysterFranceIoni Bowcher PROPOSAL
Silvio O WaycottFranceXuxue Feng NEW
Julie B BowleyAustraliaAsiya Javayant NEGOTIATION
Silvio K CaudyAustraliaAnna Fali UNQUALIFIED
Murillo S BriddickUnited KingdomOnyama Limba NEW
Mujtaba K RoysterItalyAmy Elsner RENEWAL
Sinclair X GauchoRussiaStephen Shaw QUALIFIED
Morrow H VocelkaFranceXuxue Feng NEGOTIATION
Ricardo F MorascaItalyXuxue Feng PROPOSAL
Silvio F KolmetzIndiaAsiya Javayant QUALIFIED
Stacey W MorascaSpainBernardo Dominic QUALIFIED
Kaitlin F CampainUnited KingdomElwin Sharvill NEGOTIATION
Maria V BowleyAustraliaAnna Fali QUALIFIED
Cody Y PerinRussiaBernardo Dominic UNQUALIFIED
James Y SlusarskiFranceIvan Magalhaes QUALIFIED
Costa T FigeroaBrazilAsiya Javayant PROPOSAL
Rodrigues D VocelkaAustraliaIvan Magalhaes PROPOSAL
Octavia O FerenczArgentinaIvan Magalhaes NEW
Silvio Z FerenczJapanElwin Sharvill NEGOTIATION
Nicolas Q MaletJapanXuxue Feng RENEWAL
Costa J FlosiFranceIvan Magalhaes RENEWAL
Cody G DilliardGermanyAsiya Javayant PROPOSAL
Emily X CaldareraArgentinaOnyama Limba PROPOSAL
Jefferson N MaletFranceAnna Fali QUALIFIED
Morrow L MarrierRussiaXuxue Feng RENEWAL
Ashley O DoeArgentinaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Tony R AmigonItalyIoni Bowcher RENEWAL
Juan H ShinkoIndiaIvan Magalhaes UNQUALIFIED
Arvin B SchemmerItalyStephen Shaw QUALIFIED
Sinclair O BriddickJapanIvan Magalhaes NEW
Maisha O GlickUnited KingdomXuxue Feng UNQUALIFIED
Francesco F AlbaresBrazilIoni Bowcher QUALIFIED
Rodrigues P InouyeIndiaStephen Shaw RENEWAL
Jones G BowleySpainAsiya Javayant QUALIFIED
Mayumi N OstroskyAustraliaAnna Fali NEW
Francesco J GarufiCanadaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood H FerenczJapan2024-04-06King, Christopher A Esq NEGOTIATION2Ivan Magalhaes
1001Kadeem C GlickFrance2024-04-11Buckley Miller Wright RENEWAL81Ivan Magalhaes
1002Ivar B GauchoFrance2024-04-15Chemel, James L Cpa NEW58Amy Elsner
1003Maria B MaletBrazil2024-04-14Printing Dimensions UNQUALIFIED51Xuxue Feng
1004Leja D KolmetzUnited Kingdom2024-04-04Benton, John B Jr RENEWAL62Bernardo Dominic
1005Julie P FigeroaIndia2024-04-03Rangoni Of Florence PROPOSAL14Anna Fali
1006Jefferson Y GarufiIndia2024-04-19Printing Dimensions NEW72Ioni Bowcher
1007Antonio P AmigonGermany2024-04-07Truhlar And Truhlar Attys NEGOTIATION55Bernardo Dominic
1008Maria R GarufiRussia2024-04-20Chanay, Jeffrey A Esq PROPOSAL50Asiya Javayant
1009Mujtaba Q MarrierRussia2024-04-25Feiner Bros PROPOSAL28Ivan Magalhaes
1010Chavez I PerinArgentina2024-04-05Dorl, James J Esq RENEWAL80Xuxue Feng
1011Rodrigues O WhobreyFrance2024-04-21Dorl, James J Esq PROPOSAL62Bernardo Dominic
1012Ivar L RimAustralia2024-04-17King, Christopher A Esq PROPOSAL67Ivan Magalhaes
1013Misaki X OstroskyAustralia2024-04-03Rangoni Of Florence NEW44Onyama Limba
1014Morrow Y MorascaItaly2024-04-11Buckley Miller Wright NEW17Xuxue Feng
1015Morrow E MaletBrazil2024-04-07Printing Dimensions PROPOSAL26Asiya Javayant
1016Jones C OstroskySpain2024-04-20Rangoni Of Florence UNQUALIFIED25Bernardo Dominic
1017Deepesh L KuskoFrance2024-04-12Dorl, James J Esq RENEWAL17Anna Fali
1018David N PaprockiRussia2024-05-01Chemel, James L Cpa UNQUALIFIED13Bernardo Dominic
1019Ivar O VenereAustralia2024-04-15Chemel, James L Cpa PROPOSAL97Elwin Sharvill
1020Jones I NickaGermany2024-04-08Buckley Miller Wright RENEWAL18Onyama Limba
1021Octavia B RimRussia2024-04-29Chapman, Ross E Esq NEGOTIATION51Asiya Javayant
1022Murillo G FollerCanada2024-04-27Chapman, Ross E Esq QUALIFIED37Asiya Javayant
1023Salvatore O SaylorsItaly2024-04-11Truhlar And Truhlar Attys PROPOSAL49Stephen Shaw
1024Aditya R SergiItaly2024-04-07King, Christopher A Esq RENEWAL58Xuxue Feng
1025Morrow I ButtRussia2024-04-13Feltz Printing Service PROPOSAL35Stephen Shaw
1026Stacey P BriddickCanada2024-04-18King, Christopher A Esq RENEWAL87Asiya Javayant
1027Aika R OstroskyItaly2024-04-27Feltz Printing Service NEW50Amy Elsner
1028Claire J ShinkoItaly2024-04-13Commercial Press UNQUALIFIED66Amy Elsner
1029Nicolas J BowleyRussia2024-04-21Chanay, Jeffrey A Esq PROPOSAL34Amy Elsner
1030Greenwood N InouyeBrazil2024-04-10Rousseaux, Michael Esq UNQUALIFIED12Stephen Shaw
1031Kaitlin W SaylorsGermany2024-04-26King, Christopher A Esq NEW24Asiya Javayant
1032Maisha A WieserFrance2024-04-21Chanay, Jeffrey A Esq NEW34Anna Fali
1033Misaki F AmigonSpain2024-04-22Chanay, Jeffrey A Esq RENEWAL13Ioni Bowcher
1034Julie N GillianCanada2024-05-02Chanay, Jeffrey A Esq NEW23Ioni Bowcher
1035Jones J SaylorsSpain2024-04-29Rangoni Of Florence QUALIFIED29Xuxue Feng
1036Munro Y RoysterFrance2024-04-09King, Christopher A Esq NEW90Asiya Javayant
1037Faith N BowleyFrance2024-05-02Feiner Bros RENEWAL33Amy Elsner
1038Salvatore C GarufiRussia2024-04-27Buckley Miller Wright PROPOSAL96Amy Elsner
1039Greenwood E InouyeRussia2024-04-28Chanay, Jeffrey A Esq NEW12Onyama Limba
1040Darci R CampainCanada2024-04-27Chemel, James L Cpa UNQUALIFIED30Xuxue Feng
1041Greenwood F GlickUnited Kingdom2024-04-15Dorl, James J Esq RENEWAL73Stephen Shaw
1042Maria U DoeItaly2024-04-11King, Christopher A Esq NEGOTIATION86Ioni Bowcher
1043Octavia G OldroydArgentina2024-04-04Chemel, James L Cpa NEGOTIATION79Asiya Javayant
1044Morrow J MacleadUnited Kingdom2024-04-12Feiner Bros UNQUALIFIED60Elwin Sharvill
1045Mujtaba T BriddickGermany2024-05-02Chanay, Jeffrey A Esq RENEWAL16Bernardo Dominic
1046Rodrigues T MarrierJapan2024-04-29Buckley Miller Wright NEW91Stephen Shaw
1047Wickens R OstroskyGermany2024-04-23Chemel, James L Cpa NEW95Onyama Limba
1048Stacey F RimGermany2024-04-11Chapman, Ross E Esq PROPOSAL20Ivan Magalhaes
1049Arvin D IturbideRussia2024-04-17Chemel, James L Cpa UNQUALIFIED48Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Silvio A CaudySpainStephen Shaw NEW
Jones U PoquetteAustraliaElwin Sharvill NEW
Tony U BologniaCanadaXuxue Feng NEW
Johnson G PerinGermanyIvan Magalhaes QUALIFIED
Darci Q MacleadRussiaAmy Elsner NEW
Aruna B RulapaughIndiaAnna Fali NEW
Murillo R DilliardArgentinaXuxue Feng NEGOTIATION
Murillo B CaudyUnited KingdomIvan Magalhaes NEW
Tony L MaletUnited KingdomAnna Fali RENEWAL
Kaitlin L StockhamGermanyOnyama Limba QUALIFIED
Cody V StensethAustraliaStephen Shaw RENEWAL
Leon A StockhamRussiaIvan Magalhaes NEW
Jefferson L DarakjyItalyAsiya Javayant NEW
Jones Y InouyeArgentinaAnna Fali RENEWAL
Emily O RutaUnited KingdomIvan Magalhaes NEW
David E AlbaresFranceAmy Elsner QUALIFIED
Faith I MaletArgentinaIvan Magalhaes QUALIFIED
Munro X AlbaresBrazilOnyama Limba PROPOSAL
Aruna F SergiSpainAnna Fali PROPOSAL
Chavez E FerenczRussiaAmy Elsner RENEWAL
Smith C SergiSpainIvan Magalhaes NEGOTIATION
Chavez W MacleadArgentinaXuxue Feng RENEWAL
Murillo X KolmetzSpainIoni Bowcher RENEWAL
Faith A StensethIndiaAsiya Javayant PROPOSAL
Rodrigues P AmigonRussiaIoni Bowcher PROPOSAL
Faith D MacleadAustraliaIoni Bowcher RENEWAL
Rodrigues K VenereJapanAsiya Javayant PROPOSAL
Sinclair M AmigonRussiaElwin Sharvill RENEWAL
James W CaldareraSpainOnyama Limba QUALIFIED
Jennifer M GillianArgentinaAsiya Javayant RENEWAL
Jefferson B VenereItalyIoni Bowcher RENEWAL
Chavez R AmigonSpainAmy Elsner QUALIFIED
Johnson A RoysterBrazilAmy Elsner NEW
Greenwood C DoeUnited KingdomBernardo Dominic NEGOTIATION
Leja G WaycottBrazilOnyama Limba NEGOTIATION
Murillo R CaldareraSpainElwin Sharvill PROPOSAL
Tony W PoquetteUnited KingdomAsiya Javayant PROPOSAL
Ivar T ShinkoAustraliaBernardo Dominic PROPOSAL
Aditya N FerenczIndiaBernardo Dominic UNQUALIFIED
James T GarufiRussiaAmy Elsner QUALIFIED
Jennifer S VenereJapanOnyama Limba QUALIFIED
Murillo N AlbaresAustraliaElwin Sharvill NEW
Wickens A InouyeUnited KingdomStephen Shaw QUALIFIED
Isabel U FlosiUnited KingdomStephen Shaw UNQUALIFIED
Jeanfrancois F PaprockiItalyOnyama Limba PROPOSAL
Tony H GauchoFranceOnyama Limba PROPOSAL
Ashley O AlbaresArgentinaAnna Fali RENEWAL
Greenwood C TollnerUnited KingdomAmy Elsner RENEWAL
Salvatore O MarrierJapanAmy Elsner RENEWAL
Aika J MacleadFranceBernardo Dominic PROPOSAL
Frozen Columns
Name
Salvatore I Poquette
Silvio T Vocelka
Leon D Rulapaugh
Stacey F Stockham
Darci R Poquette
Kaitlin L Briddick
Maisha H Slusarski
Faith Z Dilliard
Antonio D Ostrosky
Aruna O Rulapaugh
Antonio H Bowley
Rodrigues Q Doe
Octavia J Chui
Julie W Schemmer
Juan Q Caldarera
Jeanfrancois B Garufi
Aditya C Schemmer
Mayumi O Briddick
Kadeem P Doe
Leja C Doe
Misaki I Flosi
Clifford X Bolognia
Morrow Y Schemmer
Ivar O Stenseth
Jennifer Y Gaucho
Jennifer R Malet
Ivar D Glick
Darci U Nicka
Adams H Iturbide
Maisha O Vocelka
Maisha P Butt
Chavez J Venere
Deepesh W Kusko
Clifford R Darakjy
Ricardo J Rulapaugh
Wickens J Glick
Misaki J Ferencz
Morrow M Shinko
Octavia I Albares
Jennifer F Nicka
David U Albares
Murillo B Chui
Julie O Albares
Jones S Slusarski
Mujtaba A Stockham
Maisha P Stockham
Octavia H Oldroyd
Sinclair X Morasca
Kadeem V Ferencz
Ivar B Nestle
IdCountryDate
1000Japan2024-04-09
1001India2024-04-21
1002Brazil2024-04-21
1003France2024-05-02
1004France2024-04-13
1005Brazil2024-04-17
1006Spain2024-04-21
1007Canada2024-04-17
1008United Kingdom2024-04-24
1009Italy2024-04-06
1010France2024-04-25
1011Japan2024-04-13
1012Russia2024-04-10
1013Spain2024-04-20
1014Germany2024-04-10
1015Argentina2024-04-06
1016Canada2024-04-20
1017Argentina2024-04-13
1018Argentina2024-04-30
1019Brazil2024-04-28
1020Australia2024-04-03
1021United Kingdom2024-04-03
1022Argentina2024-04-28
1023Canada2024-04-14
1024United Kingdom2024-04-22
1025Germany2024-04-16
1026Italy2024-04-20
1027France2024-04-10
1028United Kingdom2024-05-01
1029Brazil2024-04-05
1030Russia2024-04-08
1031Germany2024-04-26
1032Japan2024-04-26
1033France2024-04-05
1034France2024-04-18
1035Australia2024-04-13
1036India2024-04-19
1037Germany2024-04-21
1038Germany2024-04-15
1039India2024-04-05
1040Canada2024-04-08
1041Australia2024-04-22
1042Russia2024-04-18
1043United Kingdom2024-04-15
1044United Kingdom2024-04-11
1045Italy2024-04-17
1046Germany2024-04-28
1047Argentina2024-04-23
1048India2024-04-23
1049Italy2024-04-20

On-Demand Data

NameIdCountryDate
Emily R Dilliard1000United Kingdom2024-04-09
Mujtaba G Wieser1001Canada2024-04-03
Aditya N Ostrosky1002Japan2024-04-08
Aika W Vocelka1003Argentina2024-04-30
Johnson F Schemmer1004Brazil2024-04-25
Chavez R Wieser1005Germany2024-04-12
Alejandro M Iturbide1006Australia2024-04-29
Julie N Doe1007Russia2024-04-25
Clifford P Slusarski1008Canada2024-04-25
David A Campain1009Russia2024-04-15
Kadeem J Slusarski1010United Kingdom2024-04-11
Arvin Y Vocelka1011Russia2024-04-12
Julie V Flosi1012Argentina2024-04-13
Deepesh F Bolognia1013Spain2024-04-10
Darci W Darakjy1014Brazil2024-04-08
Kaitlin D Perin1015Canada2024-05-02
Claire I Campain1016Australia2024-04-27
Rodrigues F Caldarera1017Argentina2024-04-12
Alejandro Q Slusarski1018India2024-04-28
Julie C Ferencz1019Brazil2024-04-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon B OstroskyJapanOnyama Limba NEW
David R AmigonIndiaAmy Elsner NEW
Claire N SchemmerRussiaOnyama Limba PROPOSAL
Jeanfrancois G StensethArgentinaAnna Fali NEGOTIATION
Faith R KuskoSpainAsiya Javayant QUALIFIED
Adams O DoeBrazilXuxue Feng UNQUALIFIED
Sinclair F TollnerCanadaIoni Bowcher PROPOSAL
Francesco N BriddickIndiaOnyama Limba NEW
Jones U InouyeIndiaOnyama Limba UNQUALIFIED
Jones Q SchemmerJapanElwin Sharvill RENEWAL
Morrow X RoysterRussiaIoni Bowcher PROPOSAL
Adams J OldroydItalyAsiya Javayant PROPOSAL
Maria A FollerSpainAmy Elsner RENEWAL
Francesco G MacleadSpainXuxue Feng RENEWAL
Chavez P AmigonBrazilAmy Elsner PROPOSAL
Alejandro V SchemmerSpainOnyama Limba NEGOTIATION
Silvio Q PaprockiIndiaAnna Fali UNQUALIFIED
Darci I IturbideCanadaStephen Shaw QUALIFIED
Alejandro K RoysterSpainAmy Elsner NEW
Greenwood O RulapaughBrazilXuxue Feng QUALIFIED
Morrow V ChuiArgentinaOnyama Limba PROPOSAL
Mayumi W InouyeUnited KingdomAsiya Javayant PROPOSAL
Tony B WieserFranceXuxue Feng PROPOSAL
Alejandro X SchemmerItalyIoni Bowcher PROPOSAL
Isabel E WaycottUnited KingdomIoni Bowcher PROPOSAL
Faith B AlbaresFranceBernardo Dominic PROPOSAL
Wickens E FlosiIndiaAnna Fali RENEWAL
James L PerinBrazilOnyama Limba UNQUALIFIED
Aditya M StockhamCanadaIvan Magalhaes PROPOSAL
Cody P AlbaresBrazilElwin Sharvill PROPOSAL
Jennifer S DilliardArgentinaElwin Sharvill NEGOTIATION
Ivar N PaprockiFranceBernardo Dominic QUALIFIED
Jones A NickaFranceAmy Elsner PROPOSAL
Clifford G CaudyCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois W MacleadJapanStephen Shaw PROPOSAL
Aruna M FlosiArgentinaAsiya Javayant PROPOSAL
Faith E WaycottRussiaAnna Fali NEGOTIATION
James Z RoysterJapanXuxue Feng QUALIFIED
Clifford D CaldareraAustraliaElwin Sharvill NEW
Aika C FollerFranceAnna Fali 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>