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
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
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

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

Vertical
NameCountryRepresentativeStatus
Maisha Z FlosiSpainElwin Sharvill RENEWAL
Jefferson S PoquetteIndiaAsiya Javayant UNQUALIFIED
Maria Y CaudyBrazilAmy Elsner RENEWAL
Arvin R StensethItalyAnna Fali PROPOSAL
Wickens L RimSpainAsiya Javayant NEW
Leja Q StockhamGermanyIoni Bowcher NEGOTIATION
Faith U FerenczFranceOnyama Limba PROPOSAL
Costa F GauchoAustraliaIoni Bowcher UNQUALIFIED
Deepesh A PoquetteArgentinaIvan Magalhaes PROPOSAL
Izzy P FigeroaIndiaAsiya Javayant UNQUALIFIED
Murillo J AmigonCanadaAnna Fali RENEWAL
Mujtaba B NickaJapanStephen Shaw PROPOSAL
Claire P MorascaItalyAsiya Javayant RENEWAL
Munro C VenereJapanIvan Magalhaes RENEWAL
Alejandro H MaletGermanyIoni Bowcher UNQUALIFIED
Silvio P BowleyGermanyStephen Shaw NEGOTIATION
Jennifer Z GarufiJapanOnyama Limba QUALIFIED
Jeanfrancois O GauchoAustraliaAmy Elsner RENEWAL
Murillo M OldroydItalyBernardo Dominic UNQUALIFIED
Chavez D KuskoJapanStephen Shaw PROPOSAL
Aditya K TollnerUnited KingdomStephen Shaw RENEWAL
Costa X RimArgentinaAmy Elsner PROPOSAL
Sinclair Z MarrierGermanyAnna Fali QUALIFIED
Faith I GlickIndiaAnna Fali PROPOSAL
Aika C CaudyCanadaOnyama Limba PROPOSAL
Kaitlin F CaudyBrazilStephen Shaw RENEWAL
Maria V IturbideFranceIvan Magalhaes RENEWAL
Wickens L NickaBrazilOnyama Limba RENEWAL
Francesco J ShinkoGermanyXuxue Feng RENEWAL
Cody D IturbideBrazilXuxue Feng UNQUALIFIED
Francesco G MaletAustraliaIoni Bowcher PROPOSAL
Claire F GauchoUnited KingdomOnyama Limba NEGOTIATION
Jones Y PoquetteRussiaIoni Bowcher PROPOSAL
Munro D PoquetteFranceBernardo Dominic RENEWAL
Francesco M PerinJapanElwin Sharvill UNQUALIFIED
Maria M BowleySpainXuxue Feng UNQUALIFIED
Greenwood I InouyeJapanStephen Shaw NEGOTIATION
Alejandro D OldroydArgentinaXuxue Feng RENEWAL
Maria O SlusarskiItalyAnna Fali NEGOTIATION
James H RulapaughBrazilAnna Fali QUALIFIED
Izzy A IturbideCanadaElwin Sharvill RENEWAL
Juan L CaudyFranceXuxue Feng RENEWAL
Claire D GauchoCanadaAmy Elsner RENEWAL
Stacey P MaletAustraliaIvan Magalhaes NEW
Ashley Z MarrierUnited KingdomIoni Bowcher NEW
Ivar W DoeRussiaBernardo Dominic NEGOTIATION
Kaitlin D MorascaArgentinaXuxue Feng NEGOTIATION
Tony A StockhamIndiaAsiya Javayant QUALIFIED
Claire T InouyeAustraliaOnyama Limba PROPOSAL
Rodrigues I SchemmerArgentinaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Octavia I FlosiGermanyStephen Shaw NEW
Leon X CampainSpainIoni Bowcher QUALIFIED
Cody R WaycottArgentinaElwin Sharvill PROPOSAL
Antonio A FollerIndiaIoni Bowcher UNQUALIFIED
Nicolas X WieserFranceIoni Bowcher PROPOSAL
Misaki R BologniaArgentinaAnna Fali RENEWAL
Kaitlin L StockhamAustraliaIvan Magalhaes NEW
Smith B ButtArgentinaXuxue Feng QUALIFIED
Maria R PaprockiRussiaAnna Fali UNQUALIFIED
Leja M DoeArgentinaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem N MarrierItaly2024-06-18Printing Dimensions PROPOSAL88Onyama Limba
1001Chavez N FlosiJapan2024-05-31Feltz Printing Service RENEWAL52Amy Elsner
1002Greenwood N PerinItaly2024-06-23Chemel, James L Cpa UNQUALIFIED86Ioni Bowcher
1003Darci R WhobreyUnited Kingdom2024-05-28Truhlar And Truhlar Attys QUALIFIED92Asiya Javayant
1004James O RulapaughArgentina2024-06-07Feiner Bros RENEWAL3Anna Fali
1005Munro U CaldareraRussia2024-06-23Chapman, Ross E Esq NEW14Bernardo Dominic
1006Kaitlin L StockhamSpain2024-06-06Dorl, James J Esq UNQUALIFIED85Elwin Sharvill
1007Faith V BologniaUnited Kingdom2024-06-23Truhlar And Truhlar Attys NEW86Ivan Magalhaes
1008Darci N KuskoAustralia2024-06-05Chanay, Jeffrey A Esq RENEWAL41Asiya Javayant
1009Kaitlin I GillianJapan2024-06-06Commercial Press UNQUALIFIED94Xuxue Feng
1010Alejandro L TollnerSpain2024-06-18Truhlar And Truhlar Attys NEW32Ioni Bowcher
1011Kaitlin E CampainArgentina2024-05-28Commercial Press RENEWAL3Asiya Javayant
1012Misaki C IturbideAustralia2024-06-13Rousseaux, Michael Esq NEW11Stephen Shaw
1013Smith N FollerIndia2024-05-27Chapman, Ross E Esq QUALIFIED7Elwin Sharvill
1014David Z SergiSpain2024-06-13Feltz Printing Service PROPOSAL40Bernardo Dominic
1015Clifford T DilliardBrazil2024-06-14Chanay, Jeffrey A Esq QUALIFIED95Onyama Limba
1016Silvio S BriddickAustralia2024-06-17Commercial Press QUALIFIED9Bernardo Dominic
1017Mayumi F RoysterBrazil2024-06-12Printing Dimensions PROPOSAL44Xuxue Feng
1018Kaitlin W BowleyRussia2024-06-04Feiner Bros NEW89Onyama Limba
1019Aika D VenereBrazil2024-06-09King, Christopher A Esq NEGOTIATION87Amy Elsner
1020Nicolas A NestleJapan2024-05-31Buckley Miller Wright UNQUALIFIED16Amy Elsner
1021Munro M IturbideRussia2024-05-28Rousseaux, Michael Esq NEW56Elwin Sharvill
1022Jefferson F ChuiAustralia2024-06-12Rangoni Of Florence NEGOTIATION46Onyama Limba
1023Greenwood N SlusarskiUnited Kingdom2024-06-11Buckley Miller Wright PROPOSAL49Elwin Sharvill
1024Mujtaba Y OstroskyFrance2024-06-08Benton, John B Jr UNQUALIFIED66Stephen Shaw
1025Arvin K WaycottAustralia2024-06-21King, Christopher A Esq QUALIFIED57Stephen Shaw
1026Maisha E DilliardItaly2024-05-25Benton, John B Jr PROPOSAL99Xuxue Feng
1027Izzy D RoysterArgentina2024-06-08Chanay, Jeffrey A Esq RENEWAL97Amy Elsner
1028Faith K InouyeBrazil2024-06-09Chemel, James L Cpa QUALIFIED40Amy Elsner
1029Faith R DoeJapan2024-06-21Dorl, James J Esq QUALIFIED34Ivan Magalhaes
1030Claire I FlosiRussia2024-06-18Truhlar And Truhlar Attys NEW57Onyama Limba
1031Francesco A FigeroaAustralia2024-05-29Buckley Miller Wright QUALIFIED61Xuxue Feng
1032Deepesh V MarrierIndia2024-06-12Truhlar And Truhlar Attys NEGOTIATION55Bernardo Dominic
1033Leja C TollnerGermany2024-06-08Morlong Associates NEGOTIATION37Stephen Shaw
1034Octavia S CaudyItaly2024-06-03Truhlar And Truhlar Attys NEW13Ioni Bowcher
1035Juan R CaudyBrazil2024-06-15Commercial Press PROPOSAL99Anna Fali
1036Rodrigues E MaletIndia2024-06-09Benton, John B Jr PROPOSAL68Onyama Limba
1037Emily P CampainIndia2024-06-22Benton, John B Jr RENEWAL26Anna Fali
1038Darci N MaletCanada2024-05-26Commercial Press PROPOSAL30Bernardo Dominic
1039Smith P PoquetteAustralia2024-06-05Feiner Bros NEGOTIATION27Asiya Javayant
1040Aditya P FollerGermany2024-06-16Chanay, Jeffrey A Esq QUALIFIED93Ivan Magalhaes
1041Chavez T WaycottArgentina2024-06-09Rousseaux, Michael Esq QUALIFIED87Amy Elsner
1042Ashley R CampainRussia2024-06-17Dorl, James J Esq QUALIFIED72Onyama Limba
1043Arvin B WaycottGermany2024-06-03Feiner Bros NEW61Asiya Javayant
1044Maisha D RoysterUnited Kingdom2024-06-21Truhlar And Truhlar Attys NEGOTIATION0Ivan Magalhaes
1045Julie I BriddickIndia2024-05-29Commercial Press UNQUALIFIED84Amy Elsner
1046Aruna N MaletBrazil2024-06-20Chemel, James L Cpa RENEWAL9Xuxue Feng
1047Leon P GauchoIndia2024-06-23Truhlar And Truhlar Attys NEW75Xuxue Feng
1048Wickens H BowleyItaly2024-06-10Benton, John B Jr NEGOTIATION67Anna Fali
1049Leon L StockhamGermany2024-06-07Dorl, James J Esq NEW26Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leja C MaletFranceAsiya Javayant RENEWAL
Claire O PaprockiAustraliaAnna Fali RENEWAL
Jeanfrancois I BologniaGermanyXuxue Feng RENEWAL
Emily A MaletAustraliaIvan Magalhaes NEGOTIATION
Misaki A MorascaAustraliaStephen Shaw UNQUALIFIED
Cody R PoquetteItalyAmy Elsner NEGOTIATION
Munro V BologniaItalyStephen Shaw PROPOSAL
Maisha S PaprockiAustraliaIoni Bowcher NEW
Mujtaba N RoysterAustraliaAsiya Javayant PROPOSAL
Adams P IturbideJapanOnyama Limba PROPOSAL
Jennifer W RutaJapanAnna Fali PROPOSAL
Alejandro H CaudyIndiaIvan Magalhaes NEGOTIATION
Johnson R SlusarskiGermanyAmy Elsner NEW
Alejandro L NestleItalyAmy Elsner NEW
Jefferson J PoquetteUnited KingdomIoni Bowcher PROPOSAL
Morrow L StockhamRussiaStephen Shaw QUALIFIED
Ivar O OldroydFranceXuxue Feng NEGOTIATION
Nicolas J MorascaCanadaAsiya Javayant QUALIFIED
Morrow T AmigonRussiaBernardo Dominic NEGOTIATION
Jones T FollerArgentinaIoni Bowcher NEW
Greenwood Y DoeSpainIoni Bowcher UNQUALIFIED
Leja O CaldareraGermanyStephen Shaw QUALIFIED
Mujtaba M WieserUnited KingdomIvan Magalhaes PROPOSAL
Leon L VenereArgentinaIoni Bowcher RENEWAL
Aruna Y SaylorsFranceStephen Shaw NEW
Ricardo X ButtIndiaXuxue Feng NEGOTIATION
Mujtaba R GauchoArgentinaXuxue Feng UNQUALIFIED
Wickens V DarakjyRussiaXuxue Feng QUALIFIED
Leon K VenereArgentinaAmy Elsner NEGOTIATION
Aditya M SergiSpainAnna Fali RENEWAL
Kaitlin P MacleadRussiaXuxue Feng NEW
Sinclair O ChuiUnited KingdomAnna Fali RENEWAL
Sinclair S OstroskyArgentinaAsiya Javayant UNQUALIFIED
Leon I StensethBrazilStephen Shaw NEGOTIATION
Maisha X NestleFranceAmy Elsner NEW
Aruna B SaylorsCanadaStephen Shaw QUALIFIED
Clifford X RoysterUnited KingdomStephen Shaw NEW
Sinclair T MacleadItalyAnna Fali QUALIFIED
Jefferson D ButtJapanAsiya Javayant NEGOTIATION
Aditya B AmigonBrazilIvan Magalhaes UNQUALIFIED
Costa H GlickIndiaXuxue Feng QUALIFIED
Jennifer F BowleyJapanIvan Magalhaes QUALIFIED
Adams L AmigonJapanIoni Bowcher NEW
Mayumi Q RutaItalyAsiya Javayant NEW
Octavia B DarakjyFranceAnna Fali NEGOTIATION
Deepesh I SergiUnited KingdomAnna Fali PROPOSAL
Kaitlin O SchemmerUnited KingdomOnyama Limba NEGOTIATION
Aika V VocelkaRussiaElwin Sharvill NEGOTIATION
Costa N OstroskyCanadaAnna Fali QUALIFIED
Aditya J MacleadRussiaAnna Fali UNQUALIFIED
Frozen Columns
Name
Emily X Garufi
Murillo N Rulapaugh
Faith Z Venere
Chavez I Schemmer
Ivar A Vocelka
Ricardo J Malet
Misaki X Butt
Jones V Gaucho
Clifford O Nicka
Cody Z Venere
Deepesh F Chui
Alejandro K Malet
Adams Y Oldroyd
Deepesh Z Kolmetz
Juan T Glick
Alejandro T Nestle
Faith P Gillian
Clifford S Ruta
Aruna X Venere
Morrow I Garufi
Morrow Z Schemmer
Johnson V Royster
Jennifer D Nestle
Alejandro R Bolognia
Munro M Figeroa
David R Saylors
Aika D Rim
Murillo I Ruta
Emily W Schemmer
Ashley X Saylors
Alejandro A Malet
Ashley M Doe
Adams L Inouye
Murillo E Gaucho
Sinclair D Royster
Johnson J Venere
Wickens F Bolognia
Claire X Stockham
Johnson R Waycott
Jones G Poquette
Jeanfrancois H Caldarera
Nicolas P Wieser
James H Tollner
Kadeem D Caldarera
Chavez S Rim
Kaitlin X Wieser
Silvio N Butt
Ivar I Campain
Isabel Z Caudy
Claire H Perin
IdCountryDate
1000Spain2024-06-23
1001United Kingdom2024-06-23
1002Spain2024-06-15
1003Brazil2024-06-14
1004Italy2024-06-09
1005Spain2024-05-27
1006Russia2024-06-16
1007Russia2024-06-11
1008Japan2024-06-20
1009Russia2024-06-15
1010France2024-06-20
1011Canada2024-06-23
1012Brazil2024-06-14
1013India2024-06-16
1014Canada2024-05-27
1015Canada2024-06-10
1016Brazil2024-05-31
1017Russia2024-06-12
1018Brazil2024-06-21
1019Canada2024-06-01
1020Germany2024-06-20
1021Australia2024-06-10
1022Italy2024-06-12
1023Brazil2024-06-20
1024Spain2024-06-11
1025Russia2024-05-31
1026Argentina2024-06-14
1027India2024-06-13
1028United Kingdom2024-06-15
1029Spain2024-06-15
1030Canada2024-05-31
1031Australia2024-06-09
1032Argentina2024-05-30
1033Spain2024-05-31
1034Argentina2024-06-16
1035Australia2024-05-25
1036France2024-05-27
1037Argentina2024-05-28
1038United Kingdom2024-06-13
1039Germany2024-06-05
1040Australia2024-05-28
1041India2024-06-16
1042Spain2024-05-25
1043Spain2024-05-28
1044United Kingdom2024-05-29
1045Germany2024-06-23
1046Canada2024-06-05
1047Canada2024-06-17
1048Germany2024-05-30
1049Australia2024-06-14

On-Demand Data

NameIdCountryDate
Francesco E Stenseth1000Spain2024-06-06
Stacey L Shinko1001Canada2024-05-27
Deepesh T Albares1002Australia2024-06-12
Smith P Garufi1003Argentina2024-06-05
Jennifer R Morasca1004Canada2024-06-13
James Q Marrier1005Spain2024-06-11
David F Maclead1006Germany2024-06-15
Smith Y Vocelka1007Germany2024-06-09
Emily S Glick1008Argentina2024-06-14
Leon W Dilliard1009United Kingdom2024-06-11
Isabel F Stockham1010India2024-05-29
Ashley E Glick1011Italy2024-06-13
Faith L Waycott1012Argentina2024-06-16
Leon R Stenseth1013Germany2024-06-05
Aika E Albares1014Italy2024-06-22
Alejandro Z Malet1015Russia2024-06-02
Maisha N Inouye1016Italy2024-06-19
Ashley H Kusko1017India2024-05-31
Jennifer R Iturbide1018Spain2024-06-10
Claire N Caudy1019Canada2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez W WhobreyIndiaOnyama Limba QUALIFIED
Rodrigues L BologniaAustraliaStephen Shaw PROPOSAL
Jennifer Q IturbideUnited KingdomBernardo Dominic NEW
Darci R MorascaBrazilAsiya Javayant NEW
Alejandro Z NestleItalyElwin Sharvill NEW
Greenwood T PaprockiArgentinaIvan Magalhaes PROPOSAL
Salvatore F CaldareraUnited KingdomElwin Sharvill PROPOSAL
Kadeem R ButtIndiaOnyama Limba UNQUALIFIED
Francesco E OldroydFranceAsiya Javayant RENEWAL
Claire I DarakjyItalyAnna Fali NEGOTIATION
Maria M PaprockiBrazilXuxue Feng NEW
Rodrigues Q WieserJapanAnna Fali QUALIFIED
Octavia W PaprockiRussiaAmy Elsner NEGOTIATION
Murillo Y KuskoFranceIvan Magalhaes UNQUALIFIED
Salvatore W BologniaRussiaAmy Elsner PROPOSAL
Smith V IturbideJapanStephen Shaw NEGOTIATION
Morrow L FigeroaSpainIoni Bowcher QUALIFIED
Aika D DoeRussiaIoni Bowcher NEW
Sinclair E FigeroaBrazilXuxue Feng NEGOTIATION
Claire B MaletArgentinaElwin Sharvill RENEWAL
Smith F StockhamItalyStephen Shaw RENEWAL
Smith C GlickUnited KingdomElwin Sharvill PROPOSAL
Murillo F SlusarskiSpainElwin Sharvill RENEWAL
Mayumi T KolmetzJapanElwin Sharvill NEW
Nicolas B VenereUnited KingdomElwin Sharvill NEW
Wickens W GlickJapanAnna Fali NEW
Wickens F PoquetteGermanyOnyama Limba NEW
Leon C WhobreyItalyIoni Bowcher NEW
Jefferson F GarufiGermanyXuxue Feng QUALIFIED
Emily E InouyeFranceBernardo Dominic NEGOTIATION
David Q SlusarskiBrazilBernardo Dominic PROPOSAL
Francesco O RutaItalyAsiya Javayant QUALIFIED
Tony K InouyeSpainAmy Elsner UNQUALIFIED
Kadeem N AmigonCanadaIvan Magalhaes NEW
Misaki N ButtArgentinaElwin Sharvill NEGOTIATION
Ashley A GillianSpainAnna Fali NEW
Octavia Y GlickAustraliaXuxue Feng NEGOTIATION
Faith J VocelkaBrazilAmy Elsner NEW
Maria H IturbideUnited KingdomAmy Elsner PROPOSAL
Misaki X OstroskyFranceXuxue Feng RENEWAL

<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>