Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Bangla
Bosnian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Darci S DilliardSpainOnyama Limba UNQUALIFIED
Ivar K GillianFranceStephen Shaw QUALIFIED
Cody X RimGermanyAnna Fali NEW
James X VenereAustraliaIvan Magalhaes UNQUALIFIED
Tony W OldroydUnited KingdomIoni Bowcher PROPOSAL
Antonio Z FigeroaFranceElwin Sharvill RENEWAL
Sinclair P WieserIndiaOnyama Limba QUALIFIED
Faith D MarrierIndiaAmy Elsner RENEWAL
Maria Z WaycottGermanyStephen Shaw NEGOTIATION
David H ChuiCanadaIvan Magalhaes NEGOTIATION
Darci O CampainItalyOnyama Limba NEGOTIATION
James S SchemmerJapanElwin Sharvill RENEWAL
Deepesh I WhobreyCanadaBernardo Dominic NEW
Jennifer I OstroskyCanadaAsiya Javayant QUALIFIED
Sinclair G CaudyArgentinaStephen Shaw RENEWAL
Izzy B RutaGermanyAnna Fali QUALIFIED
Tony G AlbaresArgentinaBernardo Dominic UNQUALIFIED
Smith W SchemmerFranceElwin Sharvill NEGOTIATION
Jones R FlosiArgentinaAsiya Javayant QUALIFIED
Kadeem W KuskoRussiaStephen Shaw NEW
Jeanfrancois R SlusarskiArgentinaIvan Magalhaes RENEWAL
David R AmigonJapanBernardo Dominic PROPOSAL
Ricardo Q RoysterGermanyBernardo Dominic QUALIFIED
Isabel D VenereIndiaAmy Elsner PROPOSAL
Jennifer J FlosiCanadaAmy Elsner PROPOSAL
Maisha P NestleBrazilXuxue Feng RENEWAL
Smith T FlosiIndiaStephen Shaw NEGOTIATION
Ivar G GlickBrazilOnyama Limba UNQUALIFIED
Leon Y SchemmerRussiaIvan Magalhaes UNQUALIFIED
Morrow F RulapaughGermanyAmy Elsner NEW
Octavia B DilliardFranceAsiya Javayant RENEWAL
Juan E FollerIndiaBernardo Dominic RENEWAL
Leja N TollnerGermanyStephen Shaw QUALIFIED
Emily Z WhobreyAustraliaElwin Sharvill RENEWAL
David Z StockhamFranceXuxue Feng PROPOSAL
Aruna Z GlickAustraliaAsiya Javayant PROPOSAL
Mayumi M SchemmerArgentinaBernardo Dominic QUALIFIED
Aditya D ChuiItalyIoni Bowcher NEGOTIATION
Claire F BologniaIndiaXuxue Feng QUALIFIED
Izzy G AmigonFranceXuxue Feng RENEWAL
Costa E MaletJapanXuxue Feng RENEWAL
Alejandro I OstroskyBrazilOnyama Limba NEW
Silvio N WieserIndiaAmy Elsner QUALIFIED
Claire J MaletFranceIoni Bowcher PROPOSAL
Adams U IturbideItalyIoni Bowcher NEW
Maisha Q AmigonRussiaAnna Fali RENEWAL
Alejandro L GauchoIndiaElwin Sharvill NEGOTIATION
Ivar G RutaIndiaStephen Shaw RENEWAL
Silvio S IturbideGermanyOnyama Limba NEGOTIATION
Johnson P StensethGermanyAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Leja L StensethAustraliaAsiya Javayant NEW
Jones Y ChuiJapanStephen Shaw UNQUALIFIED
Johnson V DilliardArgentinaIoni Bowcher NEGOTIATION
Maria B BowleyRussiaAnna Fali QUALIFIED
Juan O DarakjyUnited KingdomAmy Elsner NEW
Claire C OldroydRussiaIvan Magalhaes RENEWAL
Salvatore I KolmetzRussiaStephen Shaw QUALIFIED
Morrow W ButtArgentinaStephen Shaw NEGOTIATION
Johnson M MarrierArgentinaXuxue Feng NEW
Faith U WhobreyItalyAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie G AlbaresGermany2025-06-06Commercial Press UNQUALIFIED51Bernardo Dominic
1001Isabel Z SergiJapan2025-06-11Commercial Press UNQUALIFIED27Elwin Sharvill
1002Misaki K AmigonGermany2025-06-13Feiner Bros NEW63Xuxue Feng
1003Ricardo K AlbaresBrazil2025-05-26Printing Dimensions PROPOSAL71Onyama Limba
1004Aika K VenereArgentina2025-05-22King, Christopher A Esq NEGOTIATION46Bernardo Dominic
1005Wickens M AmigonBrazil2025-05-31Chemel, James L Cpa UNQUALIFIED58Ivan Magalhaes
1006Julie C AlbaresArgentina2025-05-27Feltz Printing Service RENEWAL39Amy Elsner
1007Aika U PerinAustralia2025-06-10Rousseaux, Michael Esq RENEWAL96Elwin Sharvill
1008Antonio A StensethAustralia2025-06-03Benton, John B Jr RENEWAL57Amy Elsner
1009Johnson K MarrierIndia2025-06-08King, Christopher A Esq NEGOTIATION11Ioni Bowcher
1010Aruna F MaletGermany2025-05-21Rangoni Of Florence RENEWAL92Onyama Limba
1011Leja C OstroskyItaly2025-06-05Printing Dimensions NEW85Asiya Javayant
1012Leja P CampainJapan2025-06-16Rangoni Of Florence NEGOTIATION33Ioni Bowcher
1013Clifford H NestleIndia2025-05-24Rousseaux, Michael Esq RENEWAL30Stephen Shaw
1014Aditya T DoeCanada2025-06-11Chapman, Ross E Esq NEW85Xuxue Feng
1015Jennifer U ShinkoJapan2025-06-01Rousseaux, Michael Esq NEW28Xuxue Feng
1016Ricardo A OstroskyItaly2025-05-30Dorl, James J Esq UNQUALIFIED65Asiya Javayant
1017Juan O TollnerIndia2025-06-18Chanay, Jeffrey A Esq PROPOSAL6Elwin Sharvill
1018Kaitlin Q ButtRussia2025-06-18Buckley Miller Wright UNQUALIFIED43Ivan Magalhaes
1019Mayumi O ButtJapan2025-06-05Chanay, Jeffrey A Esq UNQUALIFIED59Xuxue Feng
1020Emily G CaldareraCanada2025-05-29Feltz Printing Service NEW14Anna Fali
1021Claire M VocelkaAustralia2025-06-08Feiner Bros UNQUALIFIED39Ioni Bowcher
1022Isabel Q WaycottAustralia2025-06-05King, Christopher A Esq NEW92Anna Fali
1023Ivar I PaprockiGermany2025-06-17Benton, John B Jr PROPOSAL73Bernardo Dominic
1024Ricardo H VenereRussia2025-06-15Rangoni Of Florence NEGOTIATION42Stephen Shaw
1025Tony Y WieserIndia2025-06-08Rousseaux, Michael Esq NEGOTIATION48Ivan Magalhaes
1026Sinclair H PoquetteArgentina2025-05-27Truhlar And Truhlar Attys PROPOSAL56Asiya Javayant
1027Faith P MorascaCanada2025-05-23Chemel, James L Cpa NEW4Ivan Magalhaes
1028Faith X RulapaughArgentina2025-06-19Buckley Miller Wright UNQUALIFIED30Asiya Javayant
1029Juan M SergiSpain2025-06-08Feltz Printing Service NEGOTIATION45Elwin Sharvill
1030Chavez D KuskoCanada2025-06-16Rangoni Of Florence PROPOSAL98Anna Fali
1031Jennifer U RulapaughRussia2025-05-25Printing Dimensions RENEWAL21Ioni Bowcher
1032Silvio A TollnerArgentina2025-06-08Benton, John B Jr NEGOTIATION27Onyama Limba
1033Smith R RoysterCanada2025-06-10Printing Dimensions PROPOSAL24Amy Elsner
1034Ashley V RulapaughIndia2025-06-11Chapman, Ross E Esq NEGOTIATION10Xuxue Feng
1035Misaki G VocelkaArgentina2025-05-31Truhlar And Truhlar Attys PROPOSAL88Onyama Limba
1036Rodrigues S StockhamIndia2025-06-05Chanay, Jeffrey A Esq NEW99Xuxue Feng
1037Cody Z StensethCanada2025-05-24Benton, John B Jr UNQUALIFIED29Elwin Sharvill
1038Alejandro L FollerGermany2025-06-08Chapman, Ross E Esq UNQUALIFIED45Onyama Limba
1039Aditya H RoysterUnited Kingdom2025-06-05Chapman, Ross E Esq NEW33Anna Fali
1040Aruna I TollnerUnited Kingdom2025-06-07Rousseaux, Michael Esq QUALIFIED91Ioni Bowcher
1041Murillo K MaletAustralia2025-06-08Buckley Miller Wright QUALIFIED23Elwin Sharvill
1042Tony O CampainUnited Kingdom2025-06-18Benton, John B Jr QUALIFIED43Asiya Javayant
1043Cody S DarakjyUnited Kingdom2025-05-22Benton, John B Jr NEGOTIATION82Bernardo Dominic
1044Claire I CaudyRussia2025-06-15Rangoni Of Florence PROPOSAL10Ioni Bowcher
1045Arvin D MaletRussia2025-06-17Rangoni Of Florence RENEWAL35Stephen Shaw
1046Chavez T BriddickRussia2025-06-11Buckley Miller Wright PROPOSAL12Ioni Bowcher
1047Sinclair Z AmigonGermany2025-06-05Chapman, Ross E Esq QUALIFIED39Anna Fali
1048Stacey X ShinkoSpain2025-05-21Rousseaux, Michael Esq PROPOSAL62Onyama Limba
1049Isabel C FollerGermany2025-05-21Morlong Associates NEGOTIATION73Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Juan D FlosiUnited KingdomOnyama Limba QUALIFIED
Nicolas Y SaylorsCanadaStephen Shaw QUALIFIED
Morrow E FollerFranceBernardo Dominic NEW
Costa L PoquetteGermanyBernardo Dominic PROPOSAL
Morrow X CaldareraGermanyXuxue Feng QUALIFIED
Ivar A GauchoIndiaIvan Magalhaes PROPOSAL
David Q CampainAustraliaAsiya Javayant QUALIFIED
Maria D StockhamItalyAsiya Javayant NEW
Mayumi X NickaArgentinaXuxue Feng PROPOSAL
Morrow V FlosiJapanIvan Magalhaes NEGOTIATION
Maisha M PerinItalyElwin Sharvill UNQUALIFIED
James U BologniaItalyAsiya Javayant PROPOSAL
Salvatore Y KuskoRussiaOnyama Limba NEGOTIATION
Kadeem O MacleadSpainBernardo Dominic RENEWAL
Stacey W InouyeAustraliaXuxue Feng PROPOSAL
Kaitlin P ChuiSpainStephen Shaw UNQUALIFIED
Murillo G KuskoUnited KingdomOnyama Limba NEW
Leon K GarufiUnited KingdomOnyama Limba QUALIFIED
Silvio H StockhamAustraliaAsiya Javayant PROPOSAL
Salvatore G MaletGermanyIvan Magalhaes RENEWAL
Murillo B SchemmerAustraliaBernardo Dominic RENEWAL
Salvatore T NickaAustraliaAnna Fali UNQUALIFIED
Ivar L StockhamItalyBernardo Dominic PROPOSAL
Kadeem J OldroydRussiaXuxue Feng PROPOSAL
Sinclair M CaldareraCanadaAsiya Javayant PROPOSAL
Chavez S WhobreySpainXuxue Feng RENEWAL
Greenwood Y StockhamSpainIvan Magalhaes QUALIFIED
Wickens R MaletSpainAmy Elsner NEGOTIATION
Munro Q WaycottItalyBernardo Dominic QUALIFIED
Kaitlin J SaylorsItalyAnna Fali RENEWAL
Aditya E MaletItalyStephen Shaw PROPOSAL
Jennifer Q NickaItalyStephen Shaw UNQUALIFIED
Leja F KolmetzGermanyIoni Bowcher QUALIFIED
Jennifer X MarrierRussiaIoni Bowcher UNQUALIFIED
Ricardo V ButtGermanyAmy Elsner QUALIFIED
Emily G PerinFranceAmy Elsner PROPOSAL
Aika H RimGermanyElwin Sharvill UNQUALIFIED
Isabel Z NestleSpainStephen Shaw NEGOTIATION
Murillo Q SchemmerGermanyAmy Elsner QUALIFIED
Ricardo Z PaprockiBrazilIvan Magalhaes NEW
Jefferson L InouyeCanadaXuxue Feng NEW
Clifford L WhobreyGermanyElwin Sharvill PROPOSAL
Jones K AmigonArgentinaBernardo Dominic NEGOTIATION
Kadeem L WieserJapanIoni Bowcher NEGOTIATION
Kaitlin C ShinkoCanadaElwin Sharvill RENEWAL
Clifford A CampainBrazilIoni Bowcher RENEWAL
Juan P CaldareraJapanXuxue Feng NEW
Greenwood Y RulapaughJapanAmy Elsner NEGOTIATION
Tony C MarrierGermanyOnyama Limba PROPOSAL
Kaitlin R OstroskyBrazilAnna Fali RENEWAL
Frozen Columns
Name
Jeanfrancois M Dilliard
Cody C Glick
Clifford T Maclead
Arvin T Butt
Ivar D Vocelka
Darci X Royster
Ricardo B Schemmer
Antonio Q Rulapaugh
Aika V Tollner
James V Flosi
Tony Y Foller
Smith Q Iturbide
Silvio S Ferencz
Salvatore I Campain
Smith X Paprocki
Misaki D Gaucho
Maisha X Albares
Munro S Vocelka
Murillo E Darakjy
Aika X Iturbide
Arvin T Kolmetz
Isabel E Bolognia
Octavia H Campain
Ivar K Royster
Silvio P Glick
Aika J Amigon
Ashley H Caudy
Murillo U Iturbide
Smith L Kusko
Kadeem T Flosi
Julie F Figeroa
Isabel U Darakjy
Smith G Amigon
Ivar K Saylors
Jones M Glick
Ivar V Bolognia
Jefferson V Shinko
Silvio Q Albares
Claire K Poquette
Aruna L Venere
Chavez A Kusko
Clifford S Nestle
Francesco W Paprocki
Wickens U Schemmer
Francesco R Kusko
Greenwood H Caldarera
Aika M Butt
Nicolas N Oldroyd
Julie Q Oldroyd
Antonio H Marrier
IdCountryDate
1000Russia2025-06-05
1001Brazil2025-05-30
1002Australia2025-06-14
1003Italy2025-05-21
1004Russia2025-06-08
1005Brazil2025-06-05
1006Australia2025-06-19
1007India2025-06-19
1008France2025-06-09
1009Australia2025-06-02
1010France2025-06-18
1011Australia2025-05-29
1012Canada2025-06-08
1013United Kingdom2025-06-11
1014Canada2025-06-13
1015Spain2025-05-22
1016Germany2025-06-12
1017United Kingdom2025-06-05
1018Argentina2025-05-23
1019France2025-06-07
1020Germany2025-06-08
1021Japan2025-06-13
1022India2025-06-03
1023India2025-06-17
1024United Kingdom2025-06-14
1025Spain2025-05-30
1026Germany2025-06-03
1027Australia2025-05-23
1028Japan2025-06-08
1029Japan2025-05-25
1030Japan2025-06-06
1031Spain2025-06-09
1032Russia2025-06-11
1033Australia2025-05-29
1034Italy2025-05-22
1035France2025-06-16
1036Japan2025-06-06
1037Spain2025-06-01
1038Japan2025-06-16
1039Argentina2025-06-17
1040France2025-06-01
1041Canada2025-06-02
1042Italy2025-05-24
1043Spain2025-05-27
1044India2025-06-12
1045Spain2025-06-13
1046India2025-05-28
1047United Kingdom2025-06-13
1048India2025-05-31
1049Italy2025-05-27

On-Demand Data

NameIdCountryDate
Aditya M Vocelka1000India2025-05-23
Emily Y Maclead1001Spain2025-06-13
Morrow H Ferencz1002India2025-05-24
James A Butt1003Spain2025-06-02
Murillo B Chui1004France2025-06-16
Nicolas Q Waycott1005Italy2025-06-02
Mujtaba A Bolognia1006Russia2025-05-27
Arvin B Malet1007Germany2025-06-06
Aditya I Marrier1008France2025-06-19
Leon L Bolognia1009France2025-06-10
Isabel S Gaucho1010Germany2025-06-03
Ivar H Gaucho1011Japan2025-05-30
Julie I Gillian1012Italy2025-06-08
Juan O Waycott1013United Kingdom2025-05-22
Kaitlin F Marrier1014Germany2025-06-06
Leja D Bolognia1015Australia2025-06-05
Aditya I Bowley1016Brazil2025-05-24
Jefferson A Wieser1017Australia2025-06-13
Ivar I Gillian1018Canada2025-05-31
Julie B Kusko1019France2025-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues E StockhamIndiaElwin Sharvill NEGOTIATION
Maria I VenereItalyAsiya Javayant PROPOSAL
Munro U WhobreyCanadaElwin Sharvill NEW
Clifford R AmigonRussiaElwin Sharvill PROPOSAL
Clifford N CampainIndiaAsiya Javayant PROPOSAL
Mayumi K GlickRussiaIvan Magalhaes RENEWAL
Ivar Z RimRussiaBernardo Dominic UNQUALIFIED
Ashley H KuskoItalyOnyama Limba PROPOSAL
Alejandro Z PaprockiBrazilElwin Sharvill UNQUALIFIED
Nicolas B BologniaGermanyOnyama Limba NEW
Francesco Y IturbideRussiaAmy Elsner NEGOTIATION
Leon X FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Aruna H MaletJapanAmy Elsner NEW
Aditya O VocelkaJapanElwin Sharvill UNQUALIFIED
Deepesh F ShinkoSpainAnna Fali UNQUALIFIED
Greenwood T WhobreyArgentinaXuxue Feng QUALIFIED
Clifford F KolmetzGermanyXuxue Feng PROPOSAL
Kaitlin Q ChuiSpainXuxue Feng NEW
Wickens W FlosiIndiaAsiya Javayant NEW
Clifford S MaletRussiaIoni Bowcher NEGOTIATION
Kadeem Z KuskoItalyIoni Bowcher NEW
Cody K RoysterIndiaAmy Elsner RENEWAL
Murillo N InouyeFranceElwin Sharvill UNQUALIFIED
Kaitlin Q SlusarskiUnited KingdomXuxue Feng PROPOSAL
Jefferson X PaprockiUnited KingdomIoni Bowcher QUALIFIED
Darci L GauchoIndiaIvan Magalhaes UNQUALIFIED
Julie P WhobreyUnited KingdomIvan Magalhaes RENEWAL
Rodrigues Z TollnerFranceIvan Magalhaes RENEWAL
Smith F WieserIndiaAsiya Javayant QUALIFIED
James X GarufiUnited KingdomAmy Elsner NEW
Ricardo L KuskoIndiaAmy Elsner NEGOTIATION
Rodrigues Y TollnerCanadaIoni Bowcher QUALIFIED
Aika R VenereSpainAmy Elsner UNQUALIFIED
Munro A OldroydRussiaIoni Bowcher PROPOSAL
Maisha D BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson A SchemmerIndiaAnna Fali PROPOSAL
Ricardo D ShinkoSpainOnyama Limba PROPOSAL
Izzy R OldroydUnited KingdomAsiya Javayant NEW
James X FollerAustraliaAnna Fali NEGOTIATION
Misaki R MarrierArgentinaAnna 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" frozenColumnsAlignment="left">
            <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>