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
Ricardo E StockhamAustraliaAnna Fali PROPOSAL
Misaki R MorascaGermanyStephen Shaw RENEWAL
Kaitlin R GlickBrazilElwin Sharvill PROPOSAL
Clifford H GillianGermanyAsiya Javayant NEW
Johnson V PoquetteJapanElwin Sharvill RENEWAL
Julie X SergiJapanOnyama Limba NEW
Maisha G GillianGermanyXuxue Feng NEW
Aditya J RimArgentinaAnna Fali UNQUALIFIED
Aditya O ChuiRussiaBernardo Dominic QUALIFIED
Salvatore X ButtGermanyOnyama Limba QUALIFIED
Darci E PerinSpainElwin Sharvill PROPOSAL
Francesco Z GauchoAustraliaStephen Shaw PROPOSAL
Maria Z GauchoIndiaElwin Sharvill NEW
Julie J AlbaresJapanAmy Elsner QUALIFIED
Ricardo J WieserRussiaStephen Shaw RENEWAL
Ricardo Q WaycottArgentinaBernardo Dominic UNQUALIFIED
Rodrigues Y FollerIndiaBernardo Dominic RENEWAL
Costa B PaprockiUnited KingdomAmy Elsner PROPOSAL
Munro Q WieserRussiaOnyama Limba PROPOSAL
Ricardo X NickaArgentinaAsiya Javayant NEW
Wickens T NestleItalyIvan Magalhaes UNQUALIFIED
Julie H RutaBrazilOnyama Limba NEW
Leon J VenereFranceElwin Sharvill UNQUALIFIED
Ricardo B WieserAustraliaAnna Fali QUALIFIED
Ashley F StensethRussiaIoni Bowcher PROPOSAL
Chavez L PoquetteIndiaAmy Elsner RENEWAL
Kaitlin J RutaUnited KingdomOnyama Limba RENEWAL
Emily K WaycottRussiaStephen Shaw UNQUALIFIED
David E DoeSpainStephen Shaw QUALIFIED
Ashley P RimFranceOnyama Limba NEGOTIATION
Jones E NestleSpainOnyama Limba NEW
Chavez C TollnerAustraliaAnna Fali NEGOTIATION
Salvatore E WieserCanadaXuxue Feng PROPOSAL
Leon V SchemmerJapanIoni Bowcher NEW
Jefferson H KolmetzArgentinaIoni Bowcher NEW
Faith B SergiArgentinaStephen Shaw NEW
Misaki A ShinkoBrazilAmy Elsner PROPOSAL
James Y FigeroaFranceOnyama Limba PROPOSAL
Izzy W DilliardJapanStephen Shaw PROPOSAL
Stacey T GarufiFranceAmy Elsner UNQUALIFIED
Darci S DarakjyJapanXuxue Feng UNQUALIFIED
Mayumi N StensethIndiaAsiya Javayant NEW
Munro L StockhamJapanOnyama Limba UNQUALIFIED
Ivar N MacleadUnited KingdomOnyama Limba NEW
Morrow H StockhamArgentinaXuxue Feng NEGOTIATION
Julie Q FollerAustraliaOnyama Limba NEW
Ashley U DoeBrazilXuxue Feng NEW
Arvin J KuskoJapanIoni Bowcher RENEWAL
Arvin E CaldareraJapanIvan Magalhaes NEGOTIATION
Greenwood S BologniaSpainIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia K SaylorsIndiaIoni Bowcher RENEWAL
Wickens S PaprockiCanadaBernardo Dominic UNQUALIFIED
Izzy U KolmetzCanadaAsiya Javayant UNQUALIFIED
Alejandro F BologniaFranceAsiya Javayant RENEWAL
Aditya J MorascaItalyOnyama Limba PROPOSAL
Nicolas M RulapaughItalyIoni Bowcher RENEWAL
Misaki A StockhamArgentinaIoni Bowcher QUALIFIED
Rodrigues N VocelkaIndiaStephen Shaw QUALIFIED
Munro K BowleyFranceAnna Fali UNQUALIFIED
Leon A ShinkoUnited KingdomOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore Y InouyeFrance2024-09-07Rousseaux, Michael Esq QUALIFIED85Anna Fali
1001Alejandro Q RimGermany2024-09-13Feiner Bros NEW35Ioni Bowcher
1002Leja A RutaFrance2024-09-10Chapman, Ross E Esq NEW83Bernardo Dominic
1003James I ShinkoSpain2024-09-17Chemel, James L Cpa PROPOSAL26Ivan Magalhaes
1004Ricardo R DilliardItaly2024-08-26Chemel, James L Cpa NEGOTIATION13Xuxue Feng
1005Julie I BowleyIndia2024-09-08Chemel, James L Cpa NEW89Ioni Bowcher
1006Kaitlin J ChuiItaly2024-08-30Rousseaux, Michael Esq QUALIFIED43Stephen Shaw
1007Misaki I DoeArgentina2024-09-08Morlong Associates NEW64Stephen Shaw
1008Emily W CampainGermany2024-08-29Benton, John B Jr QUALIFIED78Ioni Bowcher
1009Clifford D MaletGermany2024-09-04Chemel, James L Cpa PROPOSAL41Ioni Bowcher
1010Morrow M ShinkoItaly2024-09-19Chapman, Ross E Esq NEGOTIATION83Onyama Limba
1011Clifford P GillianGermany2024-08-31Feiner Bros QUALIFIED50Onyama Limba
1012Faith K ButtJapan2024-09-19Buckley Miller Wright RENEWAL6Stephen Shaw
1013Greenwood W BowleyBrazil2024-08-28Buckley Miller Wright QUALIFIED56Amy Elsner
1014Ivar A WhobreyItaly2024-09-17Buckley Miller Wright UNQUALIFIED52Ioni Bowcher
1015Aika D MarrierGermany2024-09-09Chanay, Jeffrey A Esq QUALIFIED61Amy Elsner
1016Leja F SchemmerSpain2024-09-04Morlong Associates QUALIFIED35Onyama Limba
1017Claire O MarrierFrance2024-08-29Printing Dimensions RENEWAL27Onyama Limba
1018Adams S ChuiAustralia2024-09-16Printing Dimensions UNQUALIFIED86Anna Fali
1019Cody U BriddickFrance2024-08-31Printing Dimensions NEW82Bernardo Dominic
1020Jeanfrancois T WieserGermany2024-09-05Chanay, Jeffrey A Esq RENEWAL1Xuxue Feng
1021Ashley A TollnerJapan2024-09-20Chemel, James L Cpa NEGOTIATION70Ivan Magalhaes
1022Jefferson J CaldareraItaly2024-09-21Chapman, Ross E Esq UNQUALIFIED40Elwin Sharvill
1023Mayumi O FlosiFrance2024-09-11Chapman, Ross E Esq RENEWAL17Onyama Limba
1024Arvin C SlusarskiCanada2024-09-11Printing Dimensions QUALIFIED88Anna Fali
1025Sinclair M AlbaresBrazil2024-09-07Benton, John B Jr QUALIFIED30Ivan Magalhaes
1026Cody A ButtFrance2024-08-30Printing Dimensions RENEWAL24Asiya Javayant
1027Isabel E GlickBrazil2024-09-23Feltz Printing Service RENEWAL3Ioni Bowcher
1028Johnson A WaycottIndia2024-08-27Printing Dimensions QUALIFIED49Stephen Shaw
1029Clifford F NickaFrance2024-09-16Buckley Miller Wright PROPOSAL82Elwin Sharvill
1030David G GlickJapan2024-09-17Feltz Printing Service PROPOSAL28Ivan Magalhaes
1031Munro F MaletRussia2024-09-17Feltz Printing Service QUALIFIED77Anna Fali
1032Ricardo P KuskoUnited Kingdom2024-09-13Rousseaux, Michael Esq NEGOTIATION25Stephen Shaw
1033Izzy E WaycottFrance2024-09-11Benton, John B Jr QUALIFIED49Asiya Javayant
1034Izzy F GillianRussia2024-09-16Chapman, Ross E Esq QUALIFIED9Bernardo Dominic
1035Wickens D AmigonAustralia2024-08-31Dorl, James J Esq NEW8Bernardo Dominic
1036Alejandro X GillianAustralia2024-09-03Chapman, Ross E Esq PROPOSAL92Stephen Shaw
1037Ivar F PaprockiIndia2024-09-09Buckley Miller Wright NEW75Asiya Javayant
1038Costa G InouyeBrazil2024-08-25Printing Dimensions RENEWAL64Anna Fali
1039Arvin L SlusarskiJapan2024-09-03Buckley Miller Wright NEGOTIATION3Stephen Shaw
1040Mujtaba U WieserIndia2024-08-27Feltz Printing Service NEW61Onyama Limba
1041Kaitlin J ChuiAustralia2024-09-23Benton, John B Jr RENEWAL21Stephen Shaw
1042Kadeem L VocelkaItaly2024-09-16Morlong Associates RENEWAL32Ioni Bowcher
1043Rodrigues Q VenereUnited Kingdom2024-09-14Feltz Printing Service NEW42Elwin Sharvill
1044Jennifer U GauchoIndia2024-09-02Commercial Press RENEWAL15Bernardo Dominic
1045Misaki Q GillianSpain2024-09-06Benton, John B Jr NEGOTIATION33Ivan Magalhaes
1046Nicolas W WaycottIndia2024-09-07Chapman, Ross E Esq NEW68Asiya Javayant
1047James E RoysterJapan2024-09-02Feltz Printing Service QUALIFIED97Anna Fali
1048Nicolas B GauchoCanada2024-09-16Chemel, James L Cpa NEGOTIATION26Elwin Sharvill
1049Maria C ChuiSpain2024-09-14Chapman, Ross E Esq NEGOTIATION29Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Julie D PerinSpainElwin Sharvill NEGOTIATION
Wickens P ShinkoGermanyAnna Fali NEGOTIATION
Cody U VocelkaGermanyIvan Magalhaes QUALIFIED
Aditya X AlbaresJapanIoni Bowcher NEGOTIATION
Isabel L RimItalyAmy Elsner RENEWAL
Octavia L MorascaUnited KingdomAmy Elsner UNQUALIFIED
Leon T SaylorsItalyBernardo Dominic NEGOTIATION
Rodrigues V OldroydArgentinaIvan Magalhaes NEW
Antonio P NestleUnited KingdomAmy Elsner RENEWAL
Sinclair R RimSpainBernardo Dominic PROPOSAL
Silvio S GlickBrazilIoni Bowcher NEW
Maria J BowleyRussiaAsiya Javayant NEGOTIATION
Smith C FigeroaUnited KingdomStephen Shaw QUALIFIED
Kadeem G SergiItalyStephen Shaw RENEWAL
Morrow S SaylorsGermanyIoni Bowcher RENEWAL
Nicolas Z SlusarskiJapanIvan Magalhaes RENEWAL
Clifford R FigeroaFranceOnyama Limba NEGOTIATION
Izzy W GauchoCanadaAmy Elsner QUALIFIED
Adams O MacleadItalyIvan Magalhaes NEW
Smith B FerenczJapanIvan Magalhaes UNQUALIFIED
Costa G ChuiBrazilBernardo Dominic PROPOSAL
Kadeem B BowleySpainIvan Magalhaes NEW
Ashley D PoquetteJapanOnyama Limba UNQUALIFIED
Aruna G FigeroaCanadaIoni Bowcher RENEWAL
Leja Z GillianBrazilAnna Fali UNQUALIFIED
Mayumi K WhobreyBrazilAmy Elsner PROPOSAL
Isabel P RoysterBrazilXuxue Feng NEW
Claire C MaletGermanyIoni Bowcher PROPOSAL
Wickens L FigeroaJapanXuxue Feng RENEWAL
Emily T WaycottArgentinaIvan Magalhaes NEW
Aika N MaletSpainXuxue Feng PROPOSAL
Juan T VocelkaUnited KingdomBernardo Dominic QUALIFIED
Nicolas F SchemmerAustraliaStephen Shaw PROPOSAL
Wickens R OstroskySpainElwin Sharvill UNQUALIFIED
Chavez S MorascaFranceElwin Sharvill NEGOTIATION
Misaki O VenereSpainAmy Elsner UNQUALIFIED
Greenwood Z StockhamFranceOnyama Limba QUALIFIED
Wickens I RimCanadaAsiya Javayant NEW
Izzy H RutaIndiaIvan Magalhaes QUALIFIED
Morrow X IturbideBrazilOnyama Limba PROPOSAL
Jefferson T MaletFranceOnyama Limba PROPOSAL
Aika H RutaBrazilAsiya Javayant PROPOSAL
Jennifer F MaletSpainIoni Bowcher QUALIFIED
Rodrigues V SaylorsAustraliaIvan Magalhaes RENEWAL
Ricardo C MacleadRussiaXuxue Feng NEW
Arvin C FlosiFranceElwin Sharvill UNQUALIFIED
Faith D GarufiSpainAmy Elsner QUALIFIED
Wickens H FerenczIndiaAsiya Javayant RENEWAL
Stacey V GauchoBrazilAsiya Javayant QUALIFIED
Mayumi Q RimItalyAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Izzy F Perin
Mayumi Y Tollner
Emily J Gillian
Costa A Rulapaugh
Aruna Z Rim
Sinclair Q Schemmer
Deepesh I Campain
Leon D Amigon
Francesco B Tollner
Juan H Malet
Ivar L Royster
Mujtaba D Iturbide
Wickens K Maclead
Ivar W Nestle
Smith S Kusko
Aika Z Rulapaugh
Izzy B Dilliard
Juan A Kolmetz
Munro N Figeroa
Darci G Kusko
Maria C Dilliard
Munro M Gaucho
Rodrigues H Schemmer
Kadeem P Inouye
Ashley M Ruta
Munro V Kolmetz
Cody W Foller
Emily I Bolognia
Greenwood C Malet
Jeanfrancois V Rim
Jeanfrancois I Kolmetz
Mayumi Y Malet
Sinclair H Ferencz
Johnson R Amigon
Aditya X Chui
Smith V Dilliard
Smith O Vocelka
Tony C Figeroa
Ashley G Stenseth
Jennifer C Iturbide
Aika S Doe
Misaki D Vocelka
Jeanfrancois F Inouye
Nicolas D Chui
Costa A Morasca
Aruna E Morasca
Clifford H Vocelka
Ricardo C Glick
Adams B Saylors
Octavia O Royster
IdCountryDate
1000France2024-09-23
1001Australia2024-08-30
1002Japan2024-09-10
1003Italy2024-09-09
1004Brazil2024-09-07
1005Germany2024-08-25
1006Germany2024-09-21
1007United Kingdom2024-09-04
1008Brazil2024-09-20
1009Brazil2024-09-08
1010Brazil2024-08-31
1011France2024-09-05
1012Russia2024-09-08
1013Italy2024-09-17
1014Italy2024-08-27
1015India2024-08-25
1016Argentina2024-09-09
1017France2024-08-26
1018Brazil2024-09-02
1019Canada2024-09-07
1020United Kingdom2024-09-06
1021Australia2024-09-11
1022Italy2024-09-14
1023Japan2024-09-18
1024France2024-08-27
1025Spain2024-09-23
1026Spain2024-08-28
1027India2024-09-23
1028Canada2024-09-21
1029Australia2024-09-16
1030Australia2024-08-31
1031Japan2024-08-30
1032Russia2024-08-28
1033Germany2024-09-12
1034Italy2024-09-23
1035India2024-09-08
1036United Kingdom2024-09-06
1037Spain2024-09-15
1038Argentina2024-09-06
1039Germany2024-09-19
1040Australia2024-09-15
1041Japan2024-09-20
1042Canada2024-09-22
1043United Kingdom2024-09-21
1044France2024-09-14
1045Italy2024-08-31
1046Spain2024-09-14
1047Russia2024-08-26
1048United Kingdom2024-09-23
1049United Kingdom2024-09-08

On-Demand Data

NameIdCountryDate
Misaki R Nicka1000Australia2024-09-13
David V Ferencz1001Argentina2024-09-05
Kaitlin F Stockham1002Italy2024-09-16
Deepesh A Tollner1003Italy2024-09-04
Costa R Saylors1004Canada2024-09-11
Arvin B Marrier1005France2024-09-11
Leon L Ferencz1006Spain2024-09-18
Johnson W Doe1007India2024-09-16
Silvio V Foller1008Brazil2024-09-19
Jones B Kolmetz1009Russia2024-09-20
Silvio F Tollner1010India2024-08-25
Stacey P Wieser1011France2024-09-05
Jones U Venere1012India2024-09-06
Murillo A Gillian1013France2024-09-13
Sinclair U Garufi1014Argentina2024-08-30
Smith V Shinko1015United Kingdom2024-09-02
Cody Y Caudy1016United Kingdom2024-08-28
James D Dilliard1017Australia2024-08-30
Ivar L Figeroa1018Brazil2024-08-29
Sinclair G Wieser1019France2024-08-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson R InouyeGermanyOnyama Limba NEW
Jefferson A DilliardBrazilAnna Fali NEW
Antonio D PerinUnited KingdomOnyama Limba NEGOTIATION
Jones X SchemmerBrazilStephen Shaw NEGOTIATION
Alejandro R PerinFranceAsiya Javayant RENEWAL
Kadeem F ShinkoCanadaStephen Shaw NEGOTIATION
Darci S GauchoArgentinaBernardo Dominic PROPOSAL
Greenwood G KuskoItalyStephen Shaw UNQUALIFIED
Antonio Y FollerBrazilIvan Magalhaes UNQUALIFIED
Maisha J GillianSpainIvan Magalhaes RENEWAL
Maisha S MaletCanadaIvan Magalhaes NEW
Smith B NickaSpainXuxue Feng NEGOTIATION
Antonio I WaycottIndiaAsiya Javayant RENEWAL
Antonio Z RulapaughJapanAsiya Javayant NEW
Wickens A NickaAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois W BriddickItalyIvan Magalhaes UNQUALIFIED
Clifford D CampainRussiaAsiya Javayant PROPOSAL
Costa X WaycottSpainXuxue Feng RENEWAL
Salvatore U SchemmerRussiaAnna Fali QUALIFIED
Silvio H VocelkaItalyBernardo Dominic PROPOSAL
Jeanfrancois T SchemmerBrazilAnna Fali RENEWAL
Misaki A ButtBrazilStephen Shaw RENEWAL
Leon K KuskoItalyXuxue Feng UNQUALIFIED
Ivar M SaylorsAustraliaElwin Sharvill UNQUALIFIED
Jones B AlbaresUnited KingdomAsiya Javayant NEW
Maria G CaldareraFranceAnna Fali UNQUALIFIED
Julie U CampainCanadaBernardo Dominic NEGOTIATION
David C AmigonRussiaElwin Sharvill UNQUALIFIED
Alejandro I NickaRussiaOnyama Limba QUALIFIED
Tony M DilliardGermanyStephen Shaw QUALIFIED
Smith C StensethBrazilElwin Sharvill QUALIFIED
Wickens Z SlusarskiSpainAsiya Javayant RENEWAL
Claire N RulapaughGermanyStephen Shaw RENEWAL
Faith B ButtBrazilBernardo Dominic RENEWAL
Murillo U RutaIndiaIoni Bowcher UNQUALIFIED
Chavez C StensethItalyOnyama Limba QUALIFIED
Adams C OstroskyArgentinaIoni Bowcher NEW
Emily G ChuiJapanAnna Fali PROPOSAL
Octavia J RimSpainXuxue Feng QUALIFIED
Kadeem A VocelkaFranceIvan Magalhaes PROPOSAL

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