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
Murillo K MorascaUnited KingdomIvan Magalhaes RENEWAL
Murillo R DarakjyItalyBernardo Dominic PROPOSAL
Morrow L RutaFranceAmy Elsner NEGOTIATION
Antonio B VocelkaUnited KingdomIvan Magalhaes RENEWAL
Stacey A VenereAustraliaStephen Shaw PROPOSAL
Adams P ChuiAustraliaElwin Sharvill PROPOSAL
Cody M DoeCanadaAnna Fali NEW
Jeanfrancois X BologniaArgentinaBernardo Dominic PROPOSAL
Morrow N SaylorsCanadaElwin Sharvill RENEWAL
Antonio K OstroskyIndiaAnna Fali PROPOSAL
Mayumi Q CampainGermanyStephen Shaw RENEWAL
Jones N CaldareraGermanyStephen Shaw NEGOTIATION
Tony K WaycottIndiaOnyama Limba RENEWAL
Claire K InouyeAustraliaIoni Bowcher PROPOSAL
Greenwood Z CaldareraItalyStephen Shaw NEW
Emily Y NickaArgentinaAnna Fali UNQUALIFIED
Kadeem R RutaBrazilAnna Fali UNQUALIFIED
Ivar Z RoysterFranceElwin Sharvill QUALIFIED
Darci W BowleyIndiaIvan Magalhaes UNQUALIFIED
Morrow N TollnerIndiaIoni Bowcher UNQUALIFIED
Darci M OldroydItalyIoni Bowcher UNQUALIFIED
Nicolas H KuskoRussiaAsiya Javayant NEW
Maria L WhobreyUnited KingdomAmy Elsner NEW
Alejandro G IturbideItalyAnna Fali NEGOTIATION
Deepesh A MaletUnited KingdomAsiya Javayant PROPOSAL
Smith T BriddickArgentinaAmy Elsner RENEWAL
Octavia I TollnerAustraliaIoni Bowcher NEW
Claire R GauchoArgentinaAmy Elsner QUALIFIED
Maisha O IturbideIndiaOnyama Limba NEW
Ashley C RimJapanStephen Shaw UNQUALIFIED
Wickens X OstroskyAustraliaIoni Bowcher QUALIFIED
Kaitlin X AmigonRussiaIvan Magalhaes QUALIFIED
Ricardo H GillianItalyIoni Bowcher QUALIFIED
Faith L NickaRussiaXuxue Feng QUALIFIED
Aika E OldroydCanadaElwin Sharvill NEW
Munro Z PoquetteIndiaIoni Bowcher NEGOTIATION
Smith N SergiAustraliaXuxue Feng PROPOSAL
Ivar Y ShinkoRussiaAmy Elsner PROPOSAL
Octavia G WieserJapanIoni Bowcher UNQUALIFIED
Faith K RimSpainXuxue Feng UNQUALIFIED
James J GlickGermanyIoni Bowcher QUALIFIED
Adams J FollerIndiaIoni Bowcher RENEWAL
Wickens D VocelkaUnited KingdomStephen Shaw PROPOSAL
Salvatore B RoysterItalyXuxue Feng NEW
Misaki K CaudyUnited KingdomBernardo Dominic RENEWAL
Aruna X GarufiAustraliaAsiya Javayant NEW
Antonio D WaycottBrazilElwin Sharvill PROPOSAL
Jeanfrancois T AlbaresIndiaStephen Shaw RENEWAL
Antonio W FollerJapanStephen Shaw NEW
Jefferson H ButtBrazilAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro Q FollerBrazilIoni Bowcher PROPOSAL
Octavia I MaletIndiaAnna Fali UNQUALIFIED
Munro E SergiIndiaOnyama Limba PROPOSAL
Aditya K ShinkoItalyXuxue Feng NEW
Francesco S OstroskyIndiaBernardo Dominic QUALIFIED
Octavia C PerinCanadaAmy Elsner UNQUALIFIED
Claire V DarakjyItalyIvan Magalhaes RENEWAL
Nicolas Q MaletIndiaElwin Sharvill UNQUALIFIED
Claire L FerenczAustraliaAmy Elsner QUALIFIED
Emily Y DarakjyJapanIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody N IturbideJapan2025-06-05Morlong Associates PROPOSAL25Ioni Bowcher
1001Francesco C NickaAustralia2025-06-22Printing Dimensions NEW43Onyama Limba
1002Jefferson E KolmetzIndia2025-06-08Truhlar And Truhlar Attys QUALIFIED94Anna Fali
1003Misaki W KolmetzSpain2025-06-01Benton, John B Jr NEGOTIATION74Stephen Shaw
1004Jeanfrancois Q CaudySpain2025-06-24Printing Dimensions NEGOTIATION81Stephen Shaw
1005Francesco E CampainBrazil2025-06-02Truhlar And Truhlar Attys RENEWAL38Anna Fali
1006Leja G SlusarskiGermany2025-06-24Morlong Associates QUALIFIED52Ivan Magalhaes
1007Kaitlin A AlbaresGermany2025-06-03Morlong Associates QUALIFIED14Elwin Sharvill
1008Aruna M PaprockiUnited Kingdom2025-06-10Chanay, Jeffrey A Esq QUALIFIED0Bernardo Dominic
1009Arvin O CampainSpain2025-06-10Rousseaux, Michael Esq UNQUALIFIED61Bernardo Dominic
1010Silvio Y BologniaUnited Kingdom2025-06-13Chemel, James L Cpa NEW57Asiya Javayant
1011Murillo D InouyeFrance2025-06-30Commercial Press PROPOSAL89Bernardo Dominic
1012Rodrigues F SaylorsAustralia2025-06-10Morlong Associates RENEWAL73Onyama Limba
1013Mujtaba R StockhamItaly2025-06-21Chapman, Ross E Esq QUALIFIED41Onyama Limba
1014Salvatore K SaylorsUnited Kingdom2025-06-10Commercial Press NEGOTIATION28Xuxue Feng
1015Izzy V WhobreyJapan2025-06-28Morlong Associates NEW36Bernardo Dominic
1016Costa B MaletIndia2025-06-16Chapman, Ross E Esq NEGOTIATION10Ivan Magalhaes
1017Morrow U SlusarskiItaly2025-06-23Buckley Miller Wright UNQUALIFIED96Elwin Sharvill
1018Juan G GillianAustralia2025-06-21Printing Dimensions RENEWAL0Xuxue Feng
1019Leon C GarufiCanada2025-06-23Rangoni Of Florence PROPOSAL13Amy Elsner
1020Arvin L MaletArgentina2025-06-19Benton, John B Jr PROPOSAL99Xuxue Feng
1021Claire Q BologniaGermany2025-06-11Chapman, Ross E Esq UNQUALIFIED96Anna Fali
1022Nicolas K ChuiRussia2025-06-25Rousseaux, Michael Esq UNQUALIFIED1Amy Elsner
1023Octavia G FigeroaIndia2025-06-29Commercial Press PROPOSAL94Ioni Bowcher
1024Tony H ButtBrazil2025-06-20Chanay, Jeffrey A Esq UNQUALIFIED43Onyama Limba
1025Jeanfrancois I VenereArgentina2025-06-03Benton, John B Jr PROPOSAL84Amy Elsner
1026Ivar B CaldareraItaly2025-06-12Dorl, James J Esq PROPOSAL54Ioni Bowcher
1027Ivar Q ButtIndia2025-06-19Commercial Press UNQUALIFIED65Ioni Bowcher
1028Maisha S MorascaUnited Kingdom2025-06-22Benton, John B Jr NEW43Ioni Bowcher
1029Maisha B StensethCanada2025-06-30Dorl, James J Esq UNQUALIFIED42Stephen Shaw
1030Aika M DilliardUnited Kingdom2025-06-28Rousseaux, Michael Esq NEW28Amy Elsner
1031Rodrigues B AlbaresArgentina2025-06-14Printing Dimensions NEW30Anna Fali
1032Silvio K GarufiIndia2025-06-27Feltz Printing Service QUALIFIED90Ivan Magalhaes
1033Leon Y CaudyJapan2025-06-06Truhlar And Truhlar Attys NEW61Amy Elsner
1034Chavez X ButtSpain2025-06-27Buckley Miller Wright RENEWAL97Bernardo Dominic
1035Salvatore D MacleadSpain2025-06-14Morlong Associates QUALIFIED14Ivan Magalhaes
1036Claire W BologniaGermany2025-06-16Dorl, James J Esq RENEWAL23Asiya Javayant
1037Leja W BologniaJapan2025-06-16Truhlar And Truhlar Attys QUALIFIED62Xuxue Feng
1038Nicolas U DilliardSpain2025-06-06Buckley Miller Wright PROPOSAL42Amy Elsner
1039Aditya F SergiBrazil2025-06-17Feltz Printing Service UNQUALIFIED39Amy Elsner
1040Adams R WhobreySpain2025-06-03King, Christopher A Esq PROPOSAL7Ioni Bowcher
1041Mayumi I StockhamCanada2025-06-11Feltz Printing Service NEGOTIATION13Stephen Shaw
1042Johnson G SergiItaly2025-06-02Chemel, James L Cpa PROPOSAL71Stephen Shaw
1043Silvio T NickaUnited Kingdom2025-06-12Truhlar And Truhlar Attys QUALIFIED2Bernardo Dominic
1044Murillo E FerenczUnited Kingdom2025-06-05Buckley Miller Wright QUALIFIED36Amy Elsner
1045Isabel D MorascaAustralia2025-06-20Dorl, James J Esq UNQUALIFIED93Asiya Javayant
1046Kaitlin O SaylorsBrazil2025-06-05Commercial Press UNQUALIFIED62Asiya Javayant
1047Leja U RoysterArgentina2025-06-15Truhlar And Truhlar Attys RENEWAL78Xuxue Feng
1048Juan Z FerenczSpain2025-06-15King, Christopher A Esq QUALIFIED30Xuxue Feng
1049Izzy T TollnerIndia2025-06-14Truhlar And Truhlar Attys RENEWAL50Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aruna P NestleJapanElwin Sharvill NEW
Silvio F PaprockiFranceStephen Shaw NEW
Octavia Z AmigonIndiaOnyama Limba NEGOTIATION
Aika S FerenczItalyElwin Sharvill NEGOTIATION
Maria C KuskoArgentinaAnna Fali UNQUALIFIED
Tony D PerinCanadaAnna Fali QUALIFIED
Smith A KolmetzBrazilAsiya Javayant PROPOSAL
Rodrigues J SchemmerIndiaElwin Sharvill NEGOTIATION
Chavez Q FigeroaRussiaAmy Elsner NEGOTIATION
Jennifer G StensethItalyElwin Sharvill NEW
Mayumi W VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois Q RutaSpainStephen Shaw PROPOSAL
Mujtaba U FigeroaArgentinaAmy Elsner UNQUALIFIED
Leja F GauchoGermanyStephen Shaw PROPOSAL
Ashley O WhobreyUnited KingdomXuxue Feng PROPOSAL
Arvin S CampainIndiaStephen Shaw PROPOSAL
Darci K ChuiSpainIvan Magalhaes NEW
Emily I SchemmerRussiaStephen Shaw NEGOTIATION
Clifford K ButtUnited KingdomAmy Elsner UNQUALIFIED
Ricardo V AmigonArgentinaElwin Sharvill NEW
Aika T OldroydGermanyIoni Bowcher PROPOSAL
Tony L PaprockiIndiaIvan Magalhaes UNQUALIFIED
Costa Q OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Aditya R BologniaJapanAmy Elsner UNQUALIFIED
Jennifer L MacleadAustraliaElwin Sharvill PROPOSAL
David E SaylorsBrazilAnna Fali QUALIFIED
Octavia D ShinkoBrazilIoni Bowcher RENEWAL
Stacey V DilliardRussiaOnyama Limba RENEWAL
Maria K InouyeRussiaAsiya Javayant QUALIFIED
Emily Y SlusarskiArgentinaXuxue Feng PROPOSAL
Kadeem Z MorascaGermanyElwin Sharvill QUALIFIED
Adams O InouyeGermanyXuxue Feng PROPOSAL
Deepesh M GarufiArgentinaElwin Sharvill RENEWAL
Sinclair D NickaJapanOnyama Limba UNQUALIFIED
Rodrigues B RoysterItalyIvan Magalhaes PROPOSAL
Greenwood U RutaFranceOnyama Limba UNQUALIFIED
Francesco K BologniaArgentinaOnyama Limba NEW
Jones X RulapaughItalyBernardo Dominic RENEWAL
Aika G SchemmerJapanAmy Elsner UNQUALIFIED
Greenwood T MacleadArgentinaXuxue Feng RENEWAL
David E WaycottItalyAsiya Javayant UNQUALIFIED
Smith X VocelkaUnited KingdomElwin Sharvill RENEWAL
Aika P WhobreyIndiaAnna Fali RENEWAL
Morrow S DarakjyCanadaXuxue Feng UNQUALIFIED
Rodrigues X VenereGermanyIoni Bowcher PROPOSAL
Darci V ChuiAustraliaAmy Elsner RENEWAL
Jennifer D MorascaAustraliaIoni Bowcher PROPOSAL
Mujtaba G SaylorsFranceOnyama Limba RENEWAL
Francesco M NestleUnited KingdomElwin Sharvill PROPOSAL
Maria T RoysterGermanyBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Kaitlin J Kolmetz
Nicolas W Gillian
Morrow N Caldarera
Emily O Royster
Nicolas C Chui
Salvatore I Kusko
Cody O Gillian
Mayumi K Paprocki
Aika P Sergi
Johnson W Oldroyd
James I Royster
Jennifer M Nicka
Deepesh Y Waycott
Jeanfrancois P Saylors
Silvio N Inouye
Mujtaba C Inouye
Claire L Briddick
Leja X Oldroyd
Nicolas V Rulapaugh
Aditya A Ostrosky
Kaitlin E Amigon
Morrow P Glick
Mujtaba U Flosi
David X Caudy
Mujtaba Q Wieser
Misaki T Wieser
Kaitlin N Rulapaugh
Greenwood A Ruta
Clifford M Waycott
Francesco C Dilliard
Clifford W Rim
Antonio Y Shinko
Nicolas J Garufi
Mujtaba E Nicka
Arvin O Figeroa
Isabel R Kolmetz
Isabel S Perin
Aika O Ruta
Nicolas L Venere
Ashley X Kusko
James N Marrier
Ashley V Nicka
Octavia J Glick
Julie U Maclead
Faith B Rim
Deepesh R Campain
Leon U Nestle
Wickens T Stenseth
Ricardo V Iturbide
Antonio F Kolmetz
IdCountryDate
1000France2025-06-27
1001Australia2025-06-26
1002Germany2025-06-08
1003Brazil2025-06-18
1004United Kingdom2025-06-15
1005Russia2025-06-28
1006Argentina2025-06-24
1007India2025-06-19
1008Germany2025-06-05
1009Brazil2025-06-02
1010India2025-06-24
1011Australia2025-06-16
1012Germany2025-06-07
1013Argentina2025-06-19
1014Argentina2025-06-29
1015Japan2025-06-24
1016Germany2025-06-23
1017India2025-06-20
1018Italy2025-06-08
1019Argentina2025-06-15
1020Germany2025-06-17
1021Spain2025-06-13
1022Germany2025-06-25
1023India2025-06-27
1024Argentina2025-06-02
1025Russia2025-06-03
1026Brazil2025-06-28
1027Canada2025-06-29
1028Canada2025-06-19
1029India2025-06-10
1030India2025-06-11
1031Japan2025-06-29
1032India2025-06-19
1033Canada2025-06-24
1034Italy2025-06-11
1035Argentina2025-06-17
1036India2025-06-23
1037Argentina2025-06-01
1038France2025-06-09
1039Italy2025-06-07
1040United Kingdom2025-06-27
1041Brazil2025-06-21
1042Germany2025-06-29
1043Japan2025-06-18
1044France2025-06-05
1045Italy2025-06-27
1046Germany2025-06-11
1047India2025-06-23
1048Spain2025-06-05
1049Canada2025-06-09

On-Demand Data

NameIdCountryDate
Octavia G Saylors1000Russia2025-06-26
Leon A Nicka1001Japan2025-06-11
Mujtaba X Perin1002Australia2025-06-02
David J Ostrosky1003India2025-06-07
Costa I Kolmetz1004Russia2025-06-25
Ashley K Doe1005Italy2025-06-18
Ivar F Malet1006Spain2025-06-02
Arvin T Foller1007Japan2025-06-07
Jefferson A Ruta1008Spain2025-06-11
Jennifer E Rim1009India2025-06-04
Greenwood K Vocelka1010Russia2025-06-03
Adams Z Poquette1011Russia2025-06-13
Misaki H Foller1012Italy2025-06-27
Ashley T Paprocki1013Spain2025-06-26
Antonio F Saylors1014Germany2025-06-27
Maisha O Saylors1015Spain2025-06-01
Arvin T Wieser1016Russia2025-06-08
Octavia J Nestle1017Canada2025-06-23
Clifford B Bowley1018Germany2025-06-05
Wickens H Tollner1019Brazil2025-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar C KolmetzSpainOnyama Limba PROPOSAL
Deepesh W InouyeAustraliaBernardo Dominic NEW
Murillo Q SlusarskiIndiaBernardo Dominic PROPOSAL
Tony R CaldareraAustraliaStephen Shaw QUALIFIED
Maisha E MaletBrazilIoni Bowcher PROPOSAL
Munro Y MaletArgentinaElwin Sharvill QUALIFIED
James S WieserJapanXuxue Feng QUALIFIED
Murillo Z RoysterCanadaIvan Magalhaes PROPOSAL
Claire U SergiArgentinaIoni Bowcher UNQUALIFIED
Francesco F VenereIndiaBernardo Dominic PROPOSAL
Deepesh H MorascaIndiaElwin Sharvill NEGOTIATION
Ashley V MaletSpainElwin Sharvill RENEWAL
Emily K WaycottFranceIoni Bowcher RENEWAL
Darci M FigeroaSpainOnyama Limba RENEWAL
Munro J FlosiAustraliaAsiya Javayant NEW
Misaki A SlusarskiJapanAnna Fali QUALIFIED
Misaki W DarakjySpainIoni Bowcher NEW
Greenwood Q VenereRussiaBernardo Dominic NEW
Claire M NickaUnited KingdomXuxue Feng NEW
Costa Z GarufiRussiaAnna Fali QUALIFIED
Adams Z RoysterAustraliaAmy Elsner QUALIFIED
Darci J SaylorsSpainOnyama Limba PROPOSAL
Stacey K WieserArgentinaOnyama Limba PROPOSAL
Claire I PoquetteBrazilOnyama Limba UNQUALIFIED
Francesco W GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Murillo M VenereUnited KingdomBernardo Dominic PROPOSAL
Octavia A CampainCanadaAsiya Javayant NEGOTIATION
Murillo F OstroskyUnited KingdomOnyama Limba RENEWAL
Jennifer O InouyeCanadaStephen Shaw NEGOTIATION
Emily U MaletRussiaAsiya Javayant NEW
James M SaylorsItalyAmy Elsner RENEWAL
Emily B KolmetzBrazilAsiya Javayant PROPOSAL
Sinclair G SlusarskiUnited KingdomIoni Bowcher NEW
Juan X MacleadCanadaElwin Sharvill QUALIFIED
Jennifer G SchemmerIndiaIvan Magalhaes NEW
Jefferson B CampainSpainBernardo Dominic UNQUALIFIED
Ricardo M MacleadRussiaElwin Sharvill QUALIFIED
Izzy P NestleGermanyOnyama Limba RENEWAL
Johnson T SergiFranceIvan Magalhaes PROPOSAL
Faith W KuskoIndiaOnyama Limba 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" 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>