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
David B CaudyUnited KingdomOnyama Limba NEW
Clifford B ShinkoBrazilAsiya Javayant NEW
Johnson J WieserArgentinaXuxue Feng NEW
Aruna X MaletItalyAnna Fali NEGOTIATION
Johnson B IturbideFranceAnna Fali QUALIFIED
Johnson S AmigonRussiaAnna Fali PROPOSAL
Kaitlin P MacleadSpainOnyama Limba NEGOTIATION
Mayumi Z SlusarskiCanadaBernardo Dominic NEGOTIATION
Rodrigues X WhobreyJapanXuxue Feng UNQUALIFIED
Julie E FigeroaUnited KingdomIoni Bowcher NEGOTIATION
David T RulapaughFranceIoni Bowcher UNQUALIFIED
Costa Y WhobreyFranceBernardo Dominic NEW
Munro M TollnerGermanyBernardo Dominic UNQUALIFIED
Aditya N RutaItalyXuxue Feng UNQUALIFIED
Sinclair E MaletArgentinaBernardo Dominic UNQUALIFIED
Wickens V ButtCanadaOnyama Limba QUALIFIED
Jefferson J SaylorsSpainIoni Bowcher PROPOSAL
Aika P NickaItalyElwin Sharvill PROPOSAL
Deepesh K PerinItalyAmy Elsner UNQUALIFIED
Maria V WaycottGermanyIoni Bowcher RENEWAL
Aika O SergiGermanyStephen Shaw QUALIFIED
Aditya F CampainJapanAmy Elsner NEW
Ashley R VenereJapanAsiya Javayant NEGOTIATION
Isabel M OstroskyCanadaIvan Magalhaes PROPOSAL
Kadeem P OldroydGermanyAmy Elsner NEW
Wickens Y PoquetteIndiaBernardo Dominic UNQUALIFIED
Munro I KuskoSpainAmy Elsner QUALIFIED
Mujtaba L StockhamAustraliaIvan Magalhaes RENEWAL
Costa Z FlosiArgentinaIvan Magalhaes NEGOTIATION
Adams W DarakjyJapanAsiya Javayant NEW
Leja F PoquetteBrazilXuxue Feng RENEWAL
Ashley T WieserIndiaIoni Bowcher NEW
Aika P AlbaresBrazilIoni Bowcher NEGOTIATION
Faith P NickaGermanyElwin Sharvill RENEWAL
Murillo I NestleRussiaXuxue Feng NEW
Emily Y ButtItalyStephen Shaw NEW
Aika O CampainFranceStephen Shaw NEGOTIATION
Wickens F MacleadRussiaOnyama Limba QUALIFIED
Murillo H CaldareraBrazilIvan Magalhaes PROPOSAL
Ivar Y GauchoSpainStephen Shaw PROPOSAL
Isabel L KolmetzArgentinaIvan Magalhaes QUALIFIED
Wickens A ShinkoUnited KingdomXuxue Feng QUALIFIED
David W SlusarskiArgentinaOnyama Limba QUALIFIED
Kaitlin G GarufiSpainAsiya Javayant NEGOTIATION
Johnson Z NestleItalyAmy Elsner RENEWAL
Emily V CaldareraItalyXuxue Feng QUALIFIED
Alejandro B RimIndiaAnna Fali NEGOTIATION
Misaki Z VocelkaIndiaOnyama Limba QUALIFIED
Jeanfrancois E RulapaughBrazilIoni Bowcher NEW
Ricardo O MarrierItalyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Claire O BologniaGermanyStephen Shaw QUALIFIED
Emily V WieserFranceXuxue Feng QUALIFIED
Nicolas L OstroskyBrazilElwin Sharvill RENEWAL
Misaki U MorascaRussiaElwin Sharvill RENEWAL
Aditya L GillianBrazilXuxue Feng QUALIFIED
Misaki R NestleSpainAnna Fali NEGOTIATION
James O InouyeUnited KingdomBernardo Dominic NEW
Leon Z TollnerCanadaIoni Bowcher UNQUALIFIED
Clifford K DoeJapanBernardo Dominic QUALIFIED
Francesco M DilliardJapanIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja S RulapaughGermany2024-06-04Chapman, Ross E Esq PROPOSAL8Xuxue Feng
1001James U CampainItaly2024-06-06Commercial Press QUALIFIED63Asiya Javayant
1002Cody J GlickBrazil2024-06-11Morlong Associates RENEWAL82Anna Fali
1003Isabel P GlickIndia2024-05-26Rangoni Of Florence PROPOSAL7Amy Elsner
1004Tony X PoquetteBrazil2024-06-04Rousseaux, Michael Esq NEW15Elwin Sharvill
1005Aruna P StensethFrance2024-05-31Feiner Bros RENEWAL99Xuxue Feng
1006Jennifer S WieserGermany2024-06-16Feiner Bros RENEWAL5Asiya Javayant
1007Julie M WieserArgentina2024-06-15Morlong Associates UNQUALIFIED37Asiya Javayant
1008Clifford Z FollerCanada2024-06-08Chemel, James L Cpa RENEWAL72Amy Elsner
1009Octavia G FollerGermany2024-06-01Chemel, James L Cpa PROPOSAL85Ioni Bowcher
1010Alejandro Q FerenczJapan2024-05-24Truhlar And Truhlar Attys UNQUALIFIED17Ioni Bowcher
1011Morrow Z InouyeAustralia2024-06-01Buckley Miller Wright PROPOSAL16Anna Fali
1012Jeanfrancois J StensethSpain2024-06-16Feiner Bros QUALIFIED17Onyama Limba
1013Murillo G CampainRussia2024-06-04King, Christopher A Esq QUALIFIED92Stephen Shaw
1014Maisha Q WaycottFrance2024-05-24Chemel, James L Cpa PROPOSAL5Xuxue Feng
1015David Q AmigonFrance2024-06-04King, Christopher A Esq QUALIFIED40Anna Fali
1016Cody M TollnerItaly2024-06-09Chanay, Jeffrey A Esq QUALIFIED47Ioni Bowcher
1017Costa X SaylorsFrance2024-06-10King, Christopher A Esq NEW4Stephen Shaw
1018Aruna Q CampainAustralia2024-05-30Printing Dimensions PROPOSAL7Ivan Magalhaes
1019Claire N StensethFrance2024-05-27Dorl, James J Esq QUALIFIED24Bernardo Dominic
1020Murillo U SergiJapan2024-06-20Dorl, James J Esq NEW90Anna Fali
1021Clifford T SchemmerAustralia2024-06-14Rangoni Of Florence QUALIFIED44Elwin Sharvill
1022Cody Y CampainSpain2024-06-05Buckley Miller Wright UNQUALIFIED17Amy Elsner
1023Aditya O SchemmerJapan2024-05-26Feltz Printing Service PROPOSAL43Amy Elsner
1024Morrow Q PerinArgentina2024-06-19Morlong Associates UNQUALIFIED4Xuxue Feng
1025Izzy B RutaCanada2024-05-30Feiner Bros RENEWAL48Ioni Bowcher
1026Octavia A IturbideArgentina2024-06-03Dorl, James J Esq QUALIFIED7Asiya Javayant
1027Faith P RoysterArgentina2024-06-04Chemel, James L Cpa NEW51Stephen Shaw
1028Kadeem K FlosiSpain2024-06-21Chanay, Jeffrey A Esq NEGOTIATION45Elwin Sharvill
1029Cody U FerenczCanada2024-05-31Rousseaux, Michael Esq RENEWAL18Onyama Limba
1030Salvatore I ShinkoSpain2024-06-05Buckley Miller Wright RENEWAL71Ivan Magalhaes
1031Munro B WhobreyJapan2024-06-05Buckley Miller Wright QUALIFIED59Ivan Magalhaes
1032Mayumi T DoeCanada2024-06-08Feltz Printing Service NEGOTIATION15Amy Elsner
1033Smith N GlickAustralia2024-06-09Dorl, James J Esq QUALIFIED91Elwin Sharvill
1034Smith C CaudyIndia2024-06-08Rousseaux, Michael Esq UNQUALIFIED87Xuxue Feng
1035Stacey H KuskoSpain2024-06-08Chemel, James L Cpa NEGOTIATION97Ivan Magalhaes
1036Deepesh L OldroydItaly2024-06-20Chemel, James L Cpa NEW29Ioni Bowcher
1037Munro V DilliardGermany2024-05-26Morlong Associates QUALIFIED47Anna Fali
1038Jennifer A ButtGermany2024-05-25Benton, John B Jr NEGOTIATION88Amy Elsner
1039Tony X CaldareraCanada2024-06-18Rousseaux, Michael Esq NEW25Stephen Shaw
1040Leon G AmigonRussia2024-05-24Chemel, James L Cpa NEGOTIATION53Amy Elsner
1041Adams M DilliardAustralia2024-06-12Feltz Printing Service NEW56Onyama Limba
1042David X GarufiSpain2024-06-10King, Christopher A Esq UNQUALIFIED18Elwin Sharvill
1043Murillo V WhobreySpain2024-06-07Commercial Press RENEWAL92Amy Elsner
1044Julie V WhobreyAustralia2024-05-30Buckley Miller Wright QUALIFIED67Xuxue Feng
1045Cody H KuskoBrazil2024-06-17Benton, John B Jr UNQUALIFIED89Asiya Javayant
1046Aika F WaycottJapan2024-05-28Chemel, James L Cpa UNQUALIFIED28Amy Elsner
1047Antonio O AlbaresAustralia2024-06-20Rangoni Of Florence PROPOSAL48Asiya Javayant
1048Clifford C StensethItaly2024-06-10Commercial Press PROPOSAL7Xuxue Feng
1049Deepesh W RoysterCanada2024-06-09Buckley Miller Wright NEW18Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aditya B RoysterSpainBernardo Dominic NEGOTIATION
Isabel L RulapaughAustraliaOnyama Limba NEW
Maisha N ButtAustraliaOnyama Limba NEW
Nicolas D VenereJapanStephen Shaw PROPOSAL
Jennifer F FigeroaArgentinaBernardo Dominic QUALIFIED
Kadeem T RutaSpainXuxue Feng QUALIFIED
Murillo D GauchoItalyAsiya Javayant NEGOTIATION
Octavia R GlickCanadaAmy Elsner UNQUALIFIED
Adams D BowleyJapanOnyama Limba QUALIFIED
Greenwood N NestleRussiaStephen Shaw NEGOTIATION
Claire E FollerRussiaIoni Bowcher PROPOSAL
Claire D BologniaArgentinaIvan Magalhaes NEGOTIATION
Deepesh A StockhamUnited KingdomElwin Sharvill PROPOSAL
Ashley H TollnerUnited KingdomIoni Bowcher NEW
Ivar X FollerGermanyXuxue Feng UNQUALIFIED
Arvin V MacleadBrazilElwin Sharvill QUALIFIED
Deepesh E AmigonArgentinaIoni Bowcher NEW
Deepesh F GillianUnited KingdomAsiya Javayant QUALIFIED
Wickens K AlbaresAustraliaAsiya Javayant UNQUALIFIED
Kadeem I CampainItalyElwin Sharvill NEW
Smith T CaldareraIndiaBernardo Dominic QUALIFIED
Smith G ShinkoIndiaIvan Magalhaes NEGOTIATION
Aika C StockhamAustraliaOnyama Limba RENEWAL
Murillo T VocelkaUnited KingdomStephen Shaw RENEWAL
Morrow B RoysterRussiaBernardo Dominic NEW
Salvatore W ChuiRussiaAmy Elsner PROPOSAL
Adams B PerinGermanyOnyama Limba UNQUALIFIED
Leon E RulapaughArgentinaStephen Shaw RENEWAL
Salvatore R MaletSpainElwin Sharvill PROPOSAL
Isabel O OldroydJapanAnna Fali NEGOTIATION
Chavez M RimSpainAsiya Javayant PROPOSAL
Greenwood P FlosiItalyIvan Magalhaes NEGOTIATION
Mayumi N MaletItalyBernardo Dominic NEGOTIATION
Murillo N NestleAustraliaAnna Fali RENEWAL
Clifford T InouyeUnited KingdomElwin Sharvill NEGOTIATION
Izzy C MorascaJapanElwin Sharvill NEW
Jones H DarakjyGermanyBernardo Dominic UNQUALIFIED
Clifford O RutaUnited KingdomElwin Sharvill QUALIFIED
Juan B FollerArgentinaBernardo Dominic QUALIFIED
Francesco X MorascaAustraliaXuxue Feng UNQUALIFIED
Costa F KuskoItalyIvan Magalhaes PROPOSAL
Deepesh U MacleadArgentinaStephen Shaw NEW
Octavia B CaudyArgentinaAnna Fali PROPOSAL
Ivar D KolmetzJapanStephen Shaw RENEWAL
Johnson B DarakjySpainAnna Fali QUALIFIED
Mujtaba L MacleadCanadaBernardo Dominic NEGOTIATION
Deepesh O MacleadCanadaXuxue Feng QUALIFIED
Izzy M MacleadArgentinaAnna Fali UNQUALIFIED
Rodrigues J KuskoItalyXuxue Feng RENEWAL
Kadeem D CampainUnited KingdomAnna Fali NEW
Frozen Columns
Name
Chavez I Poquette
Sinclair S Marrier
Ivar Z Venere
Rodrigues U Venere
Rodrigues R Morasca
Maria C Darakjy
Alejandro Q Gaucho
Aditya P Malet
David O Kusko
Jennifer P Waycott
Sinclair T Kolmetz
Silvio B Tollner
Izzy F Morasca
Juan J Ostrosky
Claire E Campain
Kadeem X Malet
Octavia Y Schemmer
Leja S Whobrey
Jefferson B Waycott
Silvio V Schemmer
Johnson A Briddick
Costa F Ferencz
Jones K Oldroyd
Chavez C Paprocki
Aruna H Malet
Alejandro X Nicka
Francesco O Gaucho
Ricardo F Waycott
Clifford V Chui
Francesco U Inouye
David A Schemmer
Jones D Rim
Smith E Nestle
Adams J Malet
Nicolas Y Oldroyd
Aika K Paprocki
Tony V Malet
Aruna O Ferencz
Clifford R Foller
Greenwood P Malet
Jefferson L Nicka
Ivar X Maclead
Wickens J Chui
Greenwood W Schemmer
Julie Q Briddick
Greenwood D Inouye
Mayumi G Butt
Faith Z Chui
Maisha U Figeroa
Maisha O Vocelka
IdCountryDate
1000Brazil2024-06-04
1001Australia2024-05-30
1002Canada2024-06-16
1003Brazil2024-05-30
1004Germany2024-06-21
1005Germany2024-06-12
1006Australia2024-06-03
1007Germany2024-05-30
1008Canada2024-06-09
1009Brazil2024-06-20
1010Germany2024-06-09
1011Australia2024-06-06
1012Canada2024-05-29
1013India2024-06-06
1014Brazil2024-06-06
1015Argentina2024-05-28
1016United Kingdom2024-06-10
1017Brazil2024-05-24
1018Germany2024-06-11
1019Japan2024-06-01
1020India2024-06-12
1021Italy2024-06-16
1022United Kingdom2024-06-15
1023India2024-06-03
1024Germany2024-06-14
1025France2024-06-19
1026India2024-06-21
1027Australia2024-06-12
1028Argentina2024-05-27
1029Brazil2024-06-15
1030Italy2024-06-13
1031India2024-06-14
1032Brazil2024-06-19
1033Canada2024-06-10
1034Japan2024-05-28
1035United Kingdom2024-05-26
1036Japan2024-06-19
1037India2024-06-13
1038Brazil2024-05-24
1039Australia2024-06-13
1040India2024-05-28
1041France2024-06-03
1042Russia2024-05-29
1043India2024-06-01
1044France2024-05-31
1045France2024-06-18
1046France2024-05-31
1047Argentina2024-05-31
1048Canada2024-06-08
1049Italy2024-06-19

On-Demand Data

NameIdCountryDate
Costa L Butt1000Spain2024-06-19
Sinclair B Slusarski1001Italy2024-06-13
Aruna K Venere1002Argentina2024-06-10
James O Paprocki1003United Kingdom2024-05-23
Munro G Albares1004France2024-06-04
Silvio J Caldarera1005Australia2024-05-28
Francesco A Ruta1006Germany2024-06-01
Johnson A Ruta1007Brazil2024-06-20
Costa K Foller1008Italy2024-06-14
Aika U Whobrey1009Italy2024-05-28
Antonio R Malet1010India2024-06-07
Cody O Malet1011India2024-06-09
Mayumi R Bolognia1012Japan2024-06-18
Morrow D Bowley1013India2024-05-30
Morrow D Royster1014Canada2024-05-26
Smith F Dilliard1015Russia2024-06-17
Sinclair J Amigon1016United Kingdom2024-06-01
Misaki S Kolmetz1017Brazil2024-06-11
Deepesh L Foller1018Russia2024-05-25
Aika K Foller1019Japan2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood F GlickRussiaBernardo Dominic UNQUALIFIED
Clifford P WhobreyBrazilAnna Fali QUALIFIED
Faith L PerinBrazilXuxue Feng NEGOTIATION
Silvio P DarakjyJapanOnyama Limba QUALIFIED
Aditya R KolmetzGermanyIoni Bowcher QUALIFIED
Francesco Z MaletAustraliaXuxue Feng NEW
Jennifer I BriddickRussiaIoni Bowcher QUALIFIED
Greenwood J CampainJapanAmy Elsner NEW
Leon U DoeSpainXuxue Feng QUALIFIED
Mujtaba T DilliardGermanyIvan Magalhaes QUALIFIED
Tony N ButtFranceAmy Elsner NEGOTIATION
Claire V OstroskyIndiaAnna Fali QUALIFIED
Leja N FerenczBrazilIoni Bowcher UNQUALIFIED
Isabel Q VocelkaItalyElwin Sharvill UNQUALIFIED
Smith R RutaBrazilAnna Fali NEW
Salvatore M VocelkaCanadaStephen Shaw QUALIFIED
Juan O VenereRussiaStephen Shaw NEW
Leon D MaletSpainStephen Shaw NEGOTIATION
Julie X AmigonIndiaAmy Elsner RENEWAL
Stacey G GarufiRussiaXuxue Feng PROPOSAL
Nicolas L TollnerRussiaXuxue Feng NEGOTIATION
Darci V PerinJapanElwin Sharvill UNQUALIFIED
Aditya O WaycottBrazilBernardo Dominic NEW
Izzy C MacleadCanadaOnyama Limba RENEWAL
Misaki Q IturbideCanadaAmy Elsner NEGOTIATION
Deepesh E FlosiIndiaBernardo Dominic PROPOSAL
Ivar W PoquetteAustraliaOnyama Limba NEGOTIATION
Alejandro A KolmetzCanadaXuxue Feng RENEWAL
Costa W WieserFranceAnna Fali QUALIFIED
Jones I StockhamGermanyIoni Bowcher PROPOSAL
Aditya S StockhamAustraliaXuxue Feng RENEWAL
Tony E GauchoRussiaElwin Sharvill QUALIFIED
Murillo L SaylorsUnited KingdomOnyama Limba QUALIFIED
Faith X MacleadFranceIvan Magalhaes NEW
Sinclair Q WaycottRussiaAnna Fali NEGOTIATION
Misaki M CaudyGermanyOnyama Limba PROPOSAL
Faith A MacleadCanadaOnyama Limba QUALIFIED
Chavez Q TollnerIndiaAmy Elsner UNQUALIFIED
Alejandro H AmigonIndiaBernardo Dominic NEW
Deepesh U MaletSpainXuxue Feng NEGOTIATION

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