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
Jones G AmigonIndiaXuxue Feng UNQUALIFIED
Darci D FigeroaIndiaBernardo Dominic UNQUALIFIED
Ivar W SaylorsFranceAsiya Javayant QUALIFIED
Jefferson Q AlbaresItalyAnna Fali UNQUALIFIED
Silvio T SaylorsGermanyIoni Bowcher RENEWAL
Murillo W NickaFranceAnna Fali NEGOTIATION
Adams Y KolmetzAustraliaXuxue Feng RENEWAL
Ricardo M GauchoAustraliaIvan Magalhaes QUALIFIED
Ricardo J GillianRussiaIoni Bowcher UNQUALIFIED
Deepesh N NickaIndiaIvan Magalhaes QUALIFIED
Stacey D GillianJapanXuxue Feng QUALIFIED
Juan F GauchoArgentinaAmy Elsner PROPOSAL
Maisha C RoysterGermanyAsiya Javayant QUALIFIED
Aditya Q ShinkoJapanAmy Elsner PROPOSAL
Claire S BowleyGermanyBernardo Dominic NEGOTIATION
Claire Z CampainItalyAmy Elsner NEGOTIATION
Antonio X SchemmerBrazilAmy Elsner PROPOSAL
Jennifer F BologniaArgentinaAnna Fali QUALIFIED
Darci E CaudySpainAsiya Javayant NEGOTIATION
Leja J AlbaresCanadaStephen Shaw NEW
Stacey H DarakjyAustraliaIoni Bowcher QUALIFIED
Jennifer K ChuiAustraliaBernardo Dominic NEGOTIATION
Mayumi S VocelkaItalyIoni Bowcher NEW
Darci R RimAustraliaAsiya Javayant UNQUALIFIED
Faith C FlosiUnited KingdomIvan Magalhaes QUALIFIED
Leon R SlusarskiArgentinaStephen Shaw QUALIFIED
Ricardo J NickaAustraliaIoni Bowcher QUALIFIED
Stacey Z GillianJapanAnna Fali PROPOSAL
Morrow I GillianArgentinaIvan Magalhaes NEGOTIATION
Jennifer F IturbideItalyIoni Bowcher UNQUALIFIED
Jeanfrancois U SlusarskiBrazilAsiya Javayant PROPOSAL
Julie D ShinkoArgentinaStephen Shaw PROPOSAL
Juan K MaletArgentinaBernardo Dominic QUALIFIED
Chavez G WaycottBrazilXuxue Feng RENEWAL
Stacey I DilliardCanadaIoni Bowcher NEGOTIATION
Misaki V StockhamCanadaIvan Magalhaes NEGOTIATION
Costa D RoysterUnited KingdomBernardo Dominic RENEWAL
Jefferson L SaylorsAustraliaStephen Shaw NEGOTIATION
Maisha N BowleyCanadaOnyama Limba RENEWAL
Leon C MaletFranceElwin Sharvill NEW
Costa J FerenczJapanIvan Magalhaes NEGOTIATION
Munro B BologniaItalyAnna Fali NEGOTIATION
Aruna I InouyeJapanOnyama Limba RENEWAL
Munro A BowleyGermanyIvan Magalhaes PROPOSAL
Kadeem X TollnerJapanAsiya Javayant NEGOTIATION
Alejandro C PoquetteIndiaAmy Elsner RENEWAL
Johnson S GauchoUnited KingdomXuxue Feng PROPOSAL
Leon S GauchoArgentinaBernardo Dominic UNQUALIFIED
Wickens N OldroydCanadaAmy Elsner QUALIFIED
Faith G PerinArgentinaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin O KuskoRussiaElwin Sharvill RENEWAL
Mayumi V BologniaFranceAnna Fali QUALIFIED
Maisha N DilliardSpainAmy Elsner NEGOTIATION
Smith H PaprockiAustraliaXuxue Feng NEW
Faith H DoeGermanyStephen Shaw NEGOTIATION
Ashley S KolmetzGermanyIoni Bowcher RENEWAL
Silvio W ShinkoSpainAnna Fali QUALIFIED
Stacey E ChuiRussiaElwin Sharvill RENEWAL
Izzy Y FigeroaGermanyIvan Magalhaes UNQUALIFIED
Costa P AlbaresIndiaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo P CaldareraAustralia2025-06-08Chemel, James L Cpa NEW20Anna Fali
1001Leja J AmigonAustralia2025-05-29Feiner Bros UNQUALIFIED86Ivan Magalhaes
1002Greenwood T GarufiUnited Kingdom2025-05-21Rousseaux, Michael Esq UNQUALIFIED35Amy Elsner
1003Kaitlin K AmigonBrazil2025-05-18Feltz Printing Service UNQUALIFIED50Ioni Bowcher
1004Isabel A FollerArgentina2025-05-29Rangoni Of Florence UNQUALIFIED87Onyama Limba
1005Mayumi U FerenczSpain2025-05-30Chapman, Ross E Esq NEGOTIATION18Anna Fali
1006Aika G GillianGermany2025-06-08Printing Dimensions NEW8Asiya Javayant
1007Isabel P OstroskyBrazil2025-06-15Chapman, Ross E Esq QUALIFIED16Ivan Magalhaes
1008Silvio Y NestleAustralia2025-06-14Chemel, James L Cpa NEGOTIATION13Asiya Javayant
1009Cody Z SaylorsRussia2025-06-09Chanay, Jeffrey A Esq QUALIFIED6Onyama Limba
1010Murillo C VenereAustralia2025-06-04Chanay, Jeffrey A Esq NEW84Ivan Magalhaes
1011Stacey W VocelkaSpain2025-06-03Printing Dimensions NEW2Stephen Shaw
1012Stacey N RulapaughGermany2025-06-04Chapman, Ross E Esq NEW55Stephen Shaw
1013Sinclair S OldroydAustralia2025-05-26Chemel, James L Cpa QUALIFIED6Elwin Sharvill
1014Ricardo V MorascaFrance2025-05-30Commercial Press NEW2Ivan Magalhaes
1015Darci A DoeSpain2025-06-10Chanay, Jeffrey A Esq NEW64Elwin Sharvill
1016Rodrigues G DarakjyUnited Kingdom2025-05-20King, Christopher A Esq NEGOTIATION12Stephen Shaw
1017Salvatore W WieserItaly2025-06-13Chapman, Ross E Esq NEW27Elwin Sharvill
1018Ashley I SergiUnited Kingdom2025-06-11Truhlar And Truhlar Attys PROPOSAL22Bernardo Dominic
1019Emily K MorascaUnited Kingdom2025-05-23Commercial Press UNQUALIFIED64Ivan Magalhaes
1020Claire X VocelkaCanada2025-06-12Benton, John B Jr QUALIFIED19Ivan Magalhaes
1021Stacey U CaudyFrance2025-06-03Feltz Printing Service NEW84Onyama Limba
1022Maisha M RutaFrance2025-06-15Dorl, James J Esq UNQUALIFIED22Bernardo Dominic
1023Deepesh R StensethIndia2025-06-16Dorl, James J Esq NEGOTIATION19Ioni Bowcher
1024Morrow O WhobreyArgentina2025-05-27Morlong Associates RENEWAL77Amy Elsner
1025Smith L AmigonBrazil2025-05-21Buckley Miller Wright RENEWAL76Ioni Bowcher
1026David K GauchoItaly2025-06-07Printing Dimensions RENEWAL75Anna Fali
1027Deepesh Z AlbaresCanada2025-06-11Rangoni Of Florence NEGOTIATION0Onyama Limba
1028Arvin D NestleRussia2025-05-21Chemel, James L Cpa NEGOTIATION43Elwin Sharvill
1029Ashley F FerenczGermany2025-06-10Dorl, James J Esq NEW15Asiya Javayant
1030Kadeem T NestleBrazil2025-06-01Rousseaux, Michael Esq NEW4Ioni Bowcher
1031Ashley O MarrierUnited Kingdom2025-06-09Dorl, James J Esq UNQUALIFIED45Asiya Javayant
1032Claire Z GlickFrance2025-05-31King, Christopher A Esq UNQUALIFIED49Elwin Sharvill
1033Morrow I RoysterGermany2025-06-16Dorl, James J Esq RENEWAL89Ioni Bowcher
1034Silvio G ShinkoItaly2025-05-22Chemel, James L Cpa NEW20Bernardo Dominic
1035Darci D GillianUnited Kingdom2025-05-21Truhlar And Truhlar Attys NEGOTIATION61Ioni Bowcher
1036Jones F KuskoCanada2025-06-11Chemel, James L Cpa NEGOTIATION81Bernardo Dominic
1037Maisha H FlosiGermany2025-06-10Feltz Printing Service PROPOSAL71Xuxue Feng
1038Morrow Z WhobreySpain2025-06-13Chapman, Ross E Esq NEW88Ivan Magalhaes
1039Francesco A GarufiIndia2025-06-05Morlong Associates NEW12Elwin Sharvill
1040Chavez C SchemmerJapan2025-05-22King, Christopher A Esq NEGOTIATION49Anna Fali
1041Adams X SaylorsGermany2025-06-12Benton, John B Jr UNQUALIFIED94Onyama Limba
1042Deepesh W InouyeSpain2025-06-09Buckley Miller Wright UNQUALIFIED58Amy Elsner
1043Jennifer Q PoquetteUnited Kingdom2025-05-19Truhlar And Truhlar Attys RENEWAL51Anna Fali
1044Antonio Y WhobreyFrance2025-05-29Chanay, Jeffrey A Esq QUALIFIED87Ioni Bowcher
1045Murillo U FlosiGermany2025-05-31Feiner Bros QUALIFIED79Bernardo Dominic
1046Aika K OldroydRussia2025-06-14Dorl, James J Esq RENEWAL68Xuxue Feng
1047Adams M AmigonJapan2025-06-11Chemel, James L Cpa QUALIFIED65Asiya Javayant
1048David N StockhamSpain2025-05-30Chanay, Jeffrey A Esq RENEWAL5Elwin Sharvill
1049Alejandro N NestleFrance2025-05-22Chanay, Jeffrey A Esq UNQUALIFIED38Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues O GarufiFranceElwin Sharvill QUALIFIED
Ricardo U BriddickJapanIvan Magalhaes PROPOSAL
Clifford M SergiCanadaAnna Fali QUALIFIED
Sinclair T WaycottCanadaStephen Shaw QUALIFIED
Ashley L RimRussiaElwin Sharvill RENEWAL
Misaki R GillianUnited KingdomAnna Fali PROPOSAL
Maisha M MacleadFranceAnna Fali PROPOSAL
Mayumi O BowleyUnited KingdomXuxue Feng RENEWAL
Silvio N MarrierJapanAnna Fali NEGOTIATION
Leja W GillianFranceBernardo Dominic NEW
Murillo D ChuiFranceIvan Magalhaes UNQUALIFIED
Stacey C PerinCanadaOnyama Limba PROPOSAL
Claire J PaprockiGermanyBernardo Dominic QUALIFIED
Emily L CampainJapanStephen Shaw PROPOSAL
Kadeem W OstroskyGermanyAsiya Javayant QUALIFIED
Antonio E SlusarskiIndiaBernardo Dominic RENEWAL
Octavia U BriddickArgentinaOnyama Limba UNQUALIFIED
Costa Z GarufiSpainXuxue Feng NEW
Isabel X MaletItalyElwin Sharvill RENEWAL
Nicolas B FerenczBrazilOnyama Limba RENEWAL
Francesco W GauchoBrazilAsiya Javayant NEW
Jeanfrancois I CaudyIndiaStephen Shaw PROPOSAL
Sinclair F KolmetzAustraliaAnna Fali PROPOSAL
Claire C TollnerArgentinaStephen Shaw UNQUALIFIED
Ashley V BowleyJapanAsiya Javayant RENEWAL
Faith U CaudyGermanyIvan Magalhaes UNQUALIFIED
Kadeem M PoquetteGermanyOnyama Limba NEW
Misaki F FollerJapanAmy Elsner NEGOTIATION
Arvin D BowleyUnited KingdomAmy Elsner PROPOSAL
David L SergiJapanBernardo Dominic UNQUALIFIED
Kadeem V DilliardRussiaIoni Bowcher NEGOTIATION
Faith X MacleadFranceStephen Shaw PROPOSAL
Silvio Z TollnerIndiaXuxue Feng NEW
Alejandro B OldroydAustraliaOnyama Limba QUALIFIED
Adams O CaudySpainXuxue Feng UNQUALIFIED
Maria H DarakjyJapanAsiya Javayant RENEWAL
Jeanfrancois B NickaGermanyBernardo Dominic UNQUALIFIED
Johnson Y RimItalyOnyama Limba UNQUALIFIED
Wickens W SchemmerUnited KingdomIvan Magalhaes NEW
Nicolas I NestleBrazilAmy Elsner QUALIFIED
Wickens J MarrierBrazilXuxue Feng RENEWAL
Munro D BologniaAustraliaXuxue Feng QUALIFIED
Greenwood Z MaletRussiaElwin Sharvill UNQUALIFIED
Mujtaba Z VocelkaSpainAmy Elsner QUALIFIED
Faith W IturbideIndiaAsiya Javayant NEGOTIATION
Mayumi W GillianSpainAnna Fali RENEWAL
Johnson F WaycottUnited KingdomXuxue Feng QUALIFIED
Octavia B RulapaughBrazilElwin Sharvill NEW
Antonio H KolmetzFranceAsiya Javayant NEW
Ricardo Y WaycottAustraliaBernardo Dominic NEGOTIATION
Frozen Columns
Name
David K Chui
Costa F Amigon
Johnson X Campain
Costa D Stenseth
Aika I Marrier
Sinclair W Stockham
Stacey B Venere
Salvatore W Glick
Wickens R Perin
Faith X Glick
Ashley E Campain
Francesco M Inouye
Octavia C Gaucho
Juan F Caldarera
Maria P Malet
Jeanfrancois L Bowley
Ivar H Darakjy
Jefferson J Ostrosky
Jennifer V Perin
Antonio C Kolmetz
Jefferson H Caudy
Nicolas H Royster
Darci L Flosi
Faith B Rim
Leon I Foller
Silvio C Malet
Antonio Z Doe
David V Dilliard
Ricardo H Perin
Adams J Amigon
Aruna Y Morasca
Octavia G Foller
Wickens G Stenseth
Mayumi F Rim
Silvio D Garufi
Misaki H Malet
Jeanfrancois H Glick
Cody V Iturbide
Kadeem Z Waycott
Chavez P Iturbide
Jennifer K Malet
Mayumi P Briddick
Deepesh J Figeroa
Ricardo J Foller
Nicolas A Maclead
James J Morasca
Smith E Maclead
Isabel C Inouye
Deepesh S Bolognia
Murillo Z Saylors
IdCountryDate
1000Canada2025-05-25
1001Argentina2025-05-18
1002Russia2025-06-16
1003India2025-06-08
1004Germany2025-05-28
1005Australia2025-06-12
1006France2025-05-22
1007Canada2025-05-18
1008Australia2025-05-23
1009Germany2025-06-16
1010Spain2025-05-30
1011India2025-05-24
1012France2025-05-18
1013Spain2025-06-15
1014France2025-05-30
1015United Kingdom2025-05-20
1016Spain2025-06-10
1017Brazil2025-06-15
1018Japan2025-06-08
1019Russia2025-06-03
1020Japan2025-06-03
1021Brazil2025-06-15
1022Canada2025-05-23
1023United Kingdom2025-05-23
1024Russia2025-05-21
1025Australia2025-06-09
1026Russia2025-05-19
1027Canada2025-05-21
1028Spain2025-05-31
1029Italy2025-05-29
1030Japan2025-06-06
1031Italy2025-05-22
1032France2025-05-22
1033Russia2025-06-02
1034Canada2025-06-12
1035Canada2025-05-28
1036Italy2025-06-15
1037Russia2025-05-18
1038United Kingdom2025-06-02
1039Spain2025-06-07
1040Canada2025-06-11
1041Russia2025-05-22
1042India2025-06-04
1043Brazil2025-05-24
1044Australia2025-05-20
1045Italy2025-05-19
1046Germany2025-06-05
1047Japan2025-06-12
1048Japan2025-06-11
1049Argentina2025-06-06

On-Demand Data

NameIdCountryDate
Chavez E Ferencz1000Australia2025-05-25
Ricardo R Morasca1001Canada2025-05-27
Wickens H Doe1002India2025-06-11
Wickens H Garufi1003Argentina2025-05-19
Mayumi X Albares1004France2025-06-08
Faith X Malet1005Italy2025-05-23
Deepesh M Rim1006Canada2025-05-29
Maisha X Ferencz1007India2025-06-16
Jennifer G Sergi1008Canada2025-05-26
Wickens A Stenseth1009Russia2025-05-27
Ivar R Figeroa1010Russia2025-05-19
Adams M Sergi1011Argentina2025-06-03
Arvin U Stenseth1012Italy2025-06-13
Alejandro P Kolmetz1013Spain2025-05-24
Alejandro O Marrier1014India2025-05-26
Sinclair E Kusko1015France2025-06-06
Greenwood R Gaucho1016France2025-06-05
Smith P Kusko1017United Kingdom2025-05-24
Darci N Kolmetz1018Germany2025-06-13
Clifford A Tollner1019Russia2025-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas Q RulapaughItalyXuxue Feng NEGOTIATION
Kadeem X GillianAustraliaElwin Sharvill NEGOTIATION
Emily L MorascaFranceAnna Fali RENEWAL
Tony D SergiArgentinaOnyama Limba PROPOSAL
Maisha E VocelkaItalyAmy Elsner UNQUALIFIED
Johnson W SchemmerItalyAsiya Javayant NEGOTIATION
David D CaldareraItalyAnna Fali UNQUALIFIED
Darci I PoquetteRussiaAnna Fali QUALIFIED
Julie Y RoysterItalyBernardo Dominic UNQUALIFIED
Leja A NestleFranceOnyama Limba RENEWAL
Faith R CaudyRussiaXuxue Feng NEW
Ricardo J GauchoJapanElwin Sharvill UNQUALIFIED
Morrow G WaycottArgentinaIoni Bowcher NEGOTIATION
Johnson T MaletItalyStephen Shaw UNQUALIFIED
Morrow W SlusarskiGermanyAnna Fali PROPOSAL
Mujtaba Y SchemmerFranceOnyama Limba PROPOSAL
Ricardo I SlusarskiItalyIoni Bowcher PROPOSAL
Clifford H FlosiAustraliaAsiya Javayant NEGOTIATION
Jefferson C GlickUnited KingdomBernardo Dominic QUALIFIED
Alejandro G PaprockiSpainIvan Magalhaes UNQUALIFIED
Ashley F WhobreyItalyBernardo Dominic PROPOSAL
Claire Y RimFranceXuxue Feng RENEWAL
Jennifer C KolmetzUnited KingdomStephen Shaw NEW
Smith O MaletJapanAsiya Javayant NEW
Costa H SergiItalyIoni Bowcher QUALIFIED
Costa P StensethCanadaIvan Magalhaes UNQUALIFIED
Kadeem J FerenczJapanStephen Shaw NEW
Faith J InouyeJapanAsiya Javayant PROPOSAL
Aika K MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Maisha G TollnerRussiaElwin Sharvill NEGOTIATION
Izzy G FigeroaIndiaAnna Fali QUALIFIED
Kadeem W InouyeArgentinaBernardo Dominic QUALIFIED
Emily Z AlbaresIndiaXuxue Feng NEGOTIATION
Misaki D StensethUnited KingdomXuxue Feng NEW
Jefferson K SlusarskiItalyAmy Elsner QUALIFIED
Aditya A DilliardCanadaAmy Elsner PROPOSAL
Francesco A BologniaSpainIoni Bowcher QUALIFIED
Aditya P StensethFranceAnna Fali RENEWAL
Jefferson L FerenczAustraliaAnna Fali NEGOTIATION
Maisha X MaletSpainAsiya Javayant UNQUALIFIED

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