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
Aruna F WieserUnited KingdomIvan Magalhaes QUALIFIED
Aruna F DoeJapanAsiya Javayant QUALIFIED
Aditya C GlickArgentinaXuxue Feng NEW
Kaitlin U RoysterCanadaAmy Elsner QUALIFIED
Emily M VenereUnited KingdomAsiya Javayant QUALIFIED
Isabel U VocelkaItalyBernardo Dominic NEW
Nicolas L InouyeAustraliaXuxue Feng QUALIFIED
Adams U DoeAustraliaAnna Fali PROPOSAL
Nicolas X PerinAustraliaElwin Sharvill UNQUALIFIED
Mujtaba I GlickArgentinaBernardo Dominic UNQUALIFIED
Aika L WhobreyJapanStephen Shaw UNQUALIFIED
Ashley T StensethArgentinaXuxue Feng NEW
James G AmigonIndiaAsiya Javayant NEW
Stacey P WieserUnited KingdomXuxue Feng QUALIFIED
Kaitlin O GlickAustraliaIvan Magalhaes QUALIFIED
Mujtaba D BriddickFranceOnyama Limba UNQUALIFIED
Ashley P StockhamGermanyStephen Shaw PROPOSAL
Morrow I TollnerFranceIoni Bowcher UNQUALIFIED
Misaki U RutaSpainAnna Fali RENEWAL
Cody W GarufiRussiaAsiya Javayant QUALIFIED
Kadeem V FerenczAustraliaIoni Bowcher QUALIFIED
Arvin J InouyeJapanIoni Bowcher RENEWAL
Salvatore D InouyeIndiaIoni Bowcher NEGOTIATION
Johnson L DoeJapanAsiya Javayant NEGOTIATION
Mayumi E MaletIndiaAsiya Javayant PROPOSAL
Maria A WaycottBrazilAnna Fali PROPOSAL
Arvin A CaudyUnited KingdomIoni Bowcher QUALIFIED
Maisha N CampainItalyStephen Shaw RENEWAL
Costa K InouyeRussiaIoni Bowcher RENEWAL
Emily Q SaylorsFranceIoni Bowcher QUALIFIED
Emily I BologniaUnited KingdomOnyama Limba QUALIFIED
Leja V InouyeRussiaIoni Bowcher NEW
Adams V SchemmerSpainAsiya Javayant NEW
Nicolas G FigeroaJapanOnyama Limba QUALIFIED
Maria A InouyeGermanyIoni Bowcher RENEWAL
Jefferson E BriddickAustraliaAmy Elsner QUALIFIED
Stacey K NestleGermanyAnna Fali NEGOTIATION
Emily I SchemmerFranceStephen Shaw QUALIFIED
Mayumi W KuskoBrazilElwin Sharvill PROPOSAL
Kadeem O WhobreyAustraliaElwin Sharvill NEW
Chavez J MaletItalyIvan Magalhaes NEGOTIATION
Maria I OstroskyItalyIvan Magalhaes PROPOSAL
Antonio Z TollnerCanadaBernardo Dominic UNQUALIFIED
Greenwood V CaldareraFranceOnyama Limba PROPOSAL
Mayumi U DoeRussiaAnna Fali UNQUALIFIED
Jeanfrancois X RulapaughFranceElwin Sharvill UNQUALIFIED
Sinclair L InouyeIndiaOnyama Limba NEW
Cody S DilliardArgentinaXuxue Feng NEW
David B GillianAustraliaBernardo Dominic RENEWAL
Munro E NestleItalyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo L AlbaresBrazilAsiya Javayant NEGOTIATION
Cody T BriddickFranceXuxue Feng PROPOSAL
Greenwood C RimJapanStephen Shaw PROPOSAL
Clifford C GlickArgentinaOnyama Limba QUALIFIED
Leon Q DilliardFranceElwin Sharvill QUALIFIED
Deepesh F MaletCanadaBernardo Dominic PROPOSAL
Cody C MaletCanadaElwin Sharvill UNQUALIFIED
Sinclair T KuskoRussiaIvan Magalhaes QUALIFIED
Costa Q VenereRussiaAsiya Javayant UNQUALIFIED
Deepesh C CaldareraFranceIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi T RimItaly2024-05-20King, Christopher A Esq UNQUALIFIED10Bernardo Dominic
1001Munro U DoeSpain2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED75Onyama Limba
1002Jeanfrancois F CaudyJapan2024-05-22Printing Dimensions RENEWAL71Ivan Magalhaes
1003Antonio J IturbideSpain2024-05-16Printing Dimensions RENEWAL25Xuxue Feng
1004Tony V MarrierCanada2024-05-04Printing Dimensions NEW1Stephen Shaw
1005Emily Q VocelkaFrance2024-05-25Printing Dimensions QUALIFIED9Anna Fali
1006Ashley O DoeRussia2024-04-30Chemel, James L Cpa UNQUALIFIED59Xuxue Feng
1007Isabel T RimJapan2024-05-17Rangoni Of Florence RENEWAL76Anna Fali
1008Ivar E VenereAustralia2024-05-27Feiner Bros UNQUALIFIED68Amy Elsner
1009Munro I CaudyCanada2024-04-28Buckley Miller Wright QUALIFIED29Onyama Limba
1010Salvatore G GillianIndia2024-05-14Feiner Bros NEGOTIATION50Ivan Magalhaes
1011Aika O SergiArgentina2024-05-26Chanay, Jeffrey A Esq PROPOSAL81Ioni Bowcher
1012Ashley N NickaItaly2024-05-11Feltz Printing Service NEGOTIATION64Xuxue Feng
1013Jones Y FerenczBrazil2024-05-14Rangoni Of Florence NEW60Stephen Shaw
1014Juan F GauchoGermany2024-05-12Dorl, James J Esq QUALIFIED72Bernardo Dominic
1015Wickens X MaletBrazil2024-05-05Morlong Associates QUALIFIED54Asiya Javayant
1016Adams G InouyeGermany2024-05-25Benton, John B Jr UNQUALIFIED65Elwin Sharvill
1017Deepesh S MarrierRussia2024-05-17Truhlar And Truhlar Attys RENEWAL20Ivan Magalhaes
1018David A SaylorsItaly2024-05-25Rangoni Of Florence UNQUALIFIED86Anna Fali
1019Misaki M WaycottUnited Kingdom2024-05-27Rousseaux, Michael Esq PROPOSAL86Anna Fali
1020Munro I DoeAustralia2024-05-15Buckley Miller Wright QUALIFIED80Ivan Magalhaes
1021Morrow P FigeroaIndia2024-05-04Chapman, Ross E Esq PROPOSAL47Bernardo Dominic
1022Mayumi J SergiUnited Kingdom2024-05-16Commercial Press PROPOSAL87Onyama Limba
1023Munro C RutaUnited Kingdom2024-05-13Morlong Associates NEGOTIATION68Stephen Shaw
1024Rodrigues E VocelkaGermany2024-05-14Rangoni Of Florence PROPOSAL56Amy Elsner
1025Maisha O ShinkoAustralia2024-04-28Chapman, Ross E Esq PROPOSAL17Asiya Javayant
1026Maria G MarrierAustralia2024-05-15Feiner Bros NEW84Ivan Magalhaes
1027Adams G MaletSpain2024-05-07Rousseaux, Michael Esq NEGOTIATION13Ivan Magalhaes
1028Ashley X RutaGermany2024-05-06Rangoni Of Florence NEGOTIATION96Stephen Shaw
1029Jones V OstroskyGermany2024-05-17King, Christopher A Esq NEGOTIATION2Stephen Shaw
1030Ashley L WieserRussia2024-04-30Truhlar And Truhlar Attys QUALIFIED13Amy Elsner
1031Ricardo T IturbideIndia2024-04-28Benton, John B Jr NEGOTIATION13Xuxue Feng
1032Adams N MacleadIndia2024-05-20Printing Dimensions NEGOTIATION56Anna Fali
1033Darci Q BologniaUnited Kingdom2024-05-27King, Christopher A Esq PROPOSAL10Elwin Sharvill
1034Arvin F PerinGermany2024-05-10Chanay, Jeffrey A Esq UNQUALIFIED92Xuxue Feng
1035Jeanfrancois L RimUnited Kingdom2024-05-14Dorl, James J Esq UNQUALIFIED36Elwin Sharvill
1036Sinclair J DilliardBrazil2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED78Ivan Magalhaes
1037Munro I CaldareraSpain2024-05-21Benton, John B Jr RENEWAL1Asiya Javayant
1038Rodrigues V SergiFrance2024-05-09Rangoni Of Florence NEW13Ioni Bowcher
1039Rodrigues W CaldareraFrance2024-05-22Benton, John B Jr UNQUALIFIED54Onyama Limba
1040Ivar X ShinkoGermany2024-05-18Chapman, Ross E Esq UNQUALIFIED42Ivan Magalhaes
1041Antonio S MacleadSpain2024-05-20Rousseaux, Michael Esq NEW57Bernardo Dominic
1042Antonio M TollnerItaly2024-05-14Truhlar And Truhlar Attys PROPOSAL74Anna Fali
1043Jefferson J BologniaUnited Kingdom2024-05-11Chapman, Ross E Esq RENEWAL95Bernardo Dominic
1044Julie F DilliardArgentina2024-05-27Rangoni Of Florence NEGOTIATION73Anna Fali
1045Aika C BowleyGermany2024-05-09Feltz Printing Service QUALIFIED68Bernardo Dominic
1046Deepesh Z BowleyIndia2024-05-11Feiner Bros NEW89Ivan Magalhaes
1047Jones X KuskoFrance2024-05-19Chemel, James L Cpa QUALIFIED21Onyama Limba
1048Aika X FollerUnited Kingdom2024-05-22Truhlar And Truhlar Attys UNQUALIFIED60Ivan Magalhaes
1049Leon I BologniaAustralia2024-05-24Morlong Associates PROPOSAL22Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maisha R NestleItalyIoni Bowcher NEW
Jennifer K SergiItalyElwin Sharvill NEGOTIATION
Tony H CaldareraGermanyAmy Elsner QUALIFIED
Mayumi A PaprockiArgentinaBernardo Dominic PROPOSAL
Arvin S IturbideArgentinaAsiya Javayant RENEWAL
James J NickaIndiaBernardo Dominic PROPOSAL
Aika A WhobreyJapanXuxue Feng PROPOSAL
Stacey N FerenczAustraliaXuxue Feng QUALIFIED
Silvio G SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues M ButtGermanyOnyama Limba PROPOSAL
Aditya Z RoysterSpainAsiya Javayant QUALIFIED
Tony G TollnerSpainAmy Elsner UNQUALIFIED
Jones C SaylorsFranceBernardo Dominic NEW
Juan I BriddickUnited KingdomAsiya Javayant QUALIFIED
Ashley P RimUnited KingdomAmy Elsner PROPOSAL
Maisha I RimFranceElwin Sharvill UNQUALIFIED
Kadeem G InouyeUnited KingdomStephen Shaw RENEWAL
Salvatore C MarrierGermanyAnna Fali QUALIFIED
Wickens F IturbideGermanyBernardo Dominic UNQUALIFIED
Leja Q SergiJapanIvan Magalhaes NEGOTIATION
Maisha Z PoquetteGermanyBernardo Dominic RENEWAL
Ivar H MarrierArgentinaStephen Shaw NEGOTIATION
Silvio S DoeItalyIoni Bowcher NEW
Stacey C SergiAustraliaIoni Bowcher UNQUALIFIED
Maria Q WieserAustraliaElwin Sharvill NEW
Aruna M DarakjySpainAmy Elsner PROPOSAL
Morrow S DilliardItalyAsiya Javayant QUALIFIED
Johnson C PoquetteSpainIvan Magalhaes RENEWAL
Nicolas O KuskoJapanElwin Sharvill QUALIFIED
Julie I ButtAustraliaElwin Sharvill UNQUALIFIED
Jones H IturbideGermanyStephen Shaw NEW
Jeanfrancois T AlbaresRussiaAnna Fali PROPOSAL
James A PerinIndiaBernardo Dominic NEGOTIATION
Mujtaba Q IturbideRussiaElwin Sharvill PROPOSAL
Jefferson J WaycottIndiaIvan Magalhaes QUALIFIED
Munro L CaudyJapanIoni Bowcher NEW
Morrow Q PoquetteRussiaIoni Bowcher RENEWAL
Jennifer T WieserAustraliaStephen Shaw UNQUALIFIED
Morrow J PaprockiSpainXuxue Feng UNQUALIFIED
Leja U MarrierBrazilAmy Elsner QUALIFIED
Greenwood J TollnerItalyIvan Magalhaes RENEWAL
Antonio S RoysterIndiaXuxue Feng RENEWAL
Stacey M OstroskyCanadaIvan Magalhaes QUALIFIED
Ivar A DarakjyAustraliaElwin Sharvill QUALIFIED
Ashley X RutaRussiaIvan Magalhaes UNQUALIFIED
Francesco G ChuiFranceBernardo Dominic RENEWAL
Wickens Q ChuiUnited KingdomElwin Sharvill PROPOSAL
Salvatore B PaprockiGermanyElwin Sharvill NEW
Antonio X ButtItalyStephen Shaw PROPOSAL
Murillo C CaudyBrazilAnna Fali RENEWAL
Frozen Columns
Name
Claire L Rulapaugh
Arvin I Vocelka
Greenwood X Dilliard
Smith Q Dilliard
Sinclair V Doe
Jones C Gaucho
Juan E Whobrey
Claire Q Gaucho
Costa A Sergi
Kaitlin E Butt
Francesco J Briddick
Antonio I Slusarski
David X Slusarski
Kaitlin R Foller
Jennifer N Vocelka
Juan G Darakjy
Aditya N Venere
Jones V Rulapaugh
Maisha M Figeroa
Mujtaba A Stenseth
Murillo B Slusarski
Alejandro E Bowley
Munro W Morasca
Aika S Ruta
Izzy C Flosi
Arvin H Garufi
Costa X Foller
Tony M Maclead
Nicolas O Oldroyd
Morrow Z Dilliard
Greenwood E Morasca
Ricardo O Doe
Ricardo N Schemmer
Tony G Vocelka
Aika G Schemmer
Kadeem O Glick
Octavia M Garufi
Francesco P Albares
Claire O Garufi
Jefferson A Briddick
Claire J Saylors
Arvin X Stockham
Munro U Shinko
Julie U Poquette
Smith E Stockham
Leja C Stockham
Leja K Ruta
Johnson K Shinko
Smith L Bowley
Aika H Maclead
IdCountryDate
1000Italy2024-04-28
1001Spain2024-05-22
1002Spain2024-04-29
1003Spain2024-05-10
1004Argentina2024-05-14
1005Brazil2024-04-29
1006India2024-05-04
1007Italy2024-05-03
1008Spain2024-05-07
1009Japan2024-05-23
1010France2024-05-23
1011United Kingdom2024-05-18
1012France2024-05-09
1013India2024-05-09
1014Argentina2024-05-15
1015Germany2024-05-02
1016Germany2024-05-03
1017Italy2024-05-22
1018Brazil2024-05-27
1019Germany2024-05-26
1020United Kingdom2024-05-14
1021Canada2024-05-05
1022Russia2024-05-27
1023Brazil2024-05-24
1024Russia2024-05-14
1025India2024-05-12
1026Australia2024-05-10
1027Spain2024-05-23
1028Brazil2024-05-24
1029Brazil2024-04-30
1030United Kingdom2024-05-24
1031Japan2024-05-09
1032Argentina2024-05-03
1033India2024-05-23
1034Australia2024-04-30
1035Italy2024-05-04
1036Argentina2024-05-25
1037Canada2024-05-01
1038Brazil2024-05-19
1039Argentina2024-05-16
1040Australia2024-05-20
1041Brazil2024-05-25
1042Brazil2024-05-16
1043Italy2024-05-21
1044Australia2024-05-09
1045United Kingdom2024-05-19
1046Germany2024-05-26
1047India2024-05-23
1048Brazil2024-05-19
1049Canada2024-05-11

On-Demand Data

NameIdCountryDate
Alejandro Y Poquette1000France2024-05-15
Johnson B Kolmetz1001Canada2024-05-09
Greenwood A Darakjy1002Germany2024-05-24
Izzy L Foller1003Brazil2024-05-07
Greenwood E Chui1004Russia2024-05-04
Murillo N Paprocki1005France2024-05-03
Alejandro Q Oldroyd1006United Kingdom2024-05-07
Kadeem Q Schemmer1007Brazil2024-05-14
Jennifer L Saylors1008Canada2024-05-02
Jeanfrancois X Chui1009Canada2024-04-28
Darci K Poquette1010Russia2024-05-13
Ricardo G Wieser1011Australia2024-05-10
Isabel G Malet1012Spain2024-05-18
Isabel I Ostrosky1013Germany2024-05-17
Greenwood Z Inouye1014Italy2024-04-30
Leja U Ostrosky1015Argentina2024-05-02
Juan Z Chui1016United Kingdom2024-05-22
Maria C Rulapaugh1017United Kingdom2024-04-29
Aditya J Rulapaugh1018India2024-05-25
David Y Shinko1019Italy2024-05-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio X AmigonBrazilElwin Sharvill PROPOSAL
Maria A MaletBrazilStephen Shaw NEGOTIATION
Costa Y FigeroaJapanOnyama Limba RENEWAL
Adams C PaprockiArgentinaAmy Elsner NEGOTIATION
Darci B RimIndiaOnyama Limba NEW
Morrow P MacleadItalyOnyama Limba UNQUALIFIED
Maria L PerinCanadaElwin Sharvill RENEWAL
Kaitlin I MaletBrazilIoni Bowcher NEW
Antonio I InouyeAustraliaOnyama Limba NEGOTIATION
Maria P ShinkoIndiaElwin Sharvill NEGOTIATION
Maisha C FerenczRussiaOnyama Limba NEW
Misaki L SergiSpainAnna Fali QUALIFIED
Jeanfrancois S CaldareraArgentinaAmy Elsner RENEWAL
Francesco A BowleyItalyXuxue Feng NEW
Mujtaba D VenereJapanAmy Elsner QUALIFIED
Aika B SergiRussiaStephen Shaw RENEWAL
Arvin A SchemmerArgentinaIvan Magalhaes NEW
Francesco Q FlosiIndiaIvan Magalhaes QUALIFIED
Ivar X RimCanadaBernardo Dominic NEW
Chavez M TollnerArgentinaStephen Shaw RENEWAL
Morrow R StockhamJapanAnna Fali UNQUALIFIED
Mayumi N CaldareraGermanyIvan Magalhaes QUALIFIED
Nicolas T MaletUnited KingdomAsiya Javayant PROPOSAL
Aika O MaletArgentinaAmy Elsner NEGOTIATION
Faith A MarrierAustraliaStephen Shaw QUALIFIED
Faith X AlbaresItalyXuxue Feng RENEWAL
Mayumi I CampainRussiaXuxue Feng UNQUALIFIED
Juan Q SlusarskiIndiaAnna Fali PROPOSAL
Ricardo J MorascaIndiaIvan Magalhaes UNQUALIFIED
Juan D StockhamIndiaAmy Elsner RENEWAL
Johnson O FerenczJapanOnyama Limba QUALIFIED
Darci A StensethIndiaBernardo Dominic UNQUALIFIED
Julie I NickaRussiaBernardo Dominic PROPOSAL
Salvatore W MacleadGermanyOnyama Limba PROPOSAL
Aditya B AlbaresAustraliaStephen Shaw NEGOTIATION
Ashley P SergiItalyIvan Magalhaes NEGOTIATION
Johnson V MaletRussiaBernardo Dominic NEGOTIATION
Maria G AmigonGermanyElwin Sharvill PROPOSAL
Murillo S OldroydJapanAsiya Javayant NEW
Kadeem V SlusarskiRussiaXuxue Feng 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>