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
Faith Y GlickRussiaAmy Elsner RENEWAL
Octavia W VenereRussiaIvan Magalhaes NEGOTIATION
Izzy B FerenczGermanyXuxue Feng NEGOTIATION
Mayumi U TollnerAustraliaXuxue Feng NEW
Faith A RimItalyOnyama Limba NEGOTIATION
Rodrigues P FlosiFranceElwin Sharvill PROPOSAL
Salvatore K FigeroaUnited KingdomOnyama Limba RENEWAL
Chavez F MorascaIndiaIvan Magalhaes NEW
Silvio X PoquetteItalyStephen Shaw UNQUALIFIED
David N OstroskySpainXuxue Feng RENEWAL
James Q PaprockiItalyOnyama Limba UNQUALIFIED
Alejandro K RulapaughItalyXuxue Feng NEW
Francesco B AmigonGermanyAsiya Javayant PROPOSAL
Izzy Y VenereArgentinaIvan Magalhaes NEGOTIATION
Nicolas V ShinkoJapanXuxue Feng NEGOTIATION
Nicolas C GauchoUnited KingdomXuxue Feng NEW
Jefferson H NestleRussiaStephen Shaw PROPOSAL
Silvio L SaylorsRussiaAmy Elsner QUALIFIED
Wickens H BowleyJapanOnyama Limba PROPOSAL
Silvio T DilliardCanadaBernardo Dominic QUALIFIED
Jefferson L FigeroaCanadaAnna Fali QUALIFIED
Ashley P MarrierArgentinaXuxue Feng NEW
Octavia S VocelkaArgentinaElwin Sharvill UNQUALIFIED
Antonio T FlosiFranceElwin Sharvill QUALIFIED
Jones G SlusarskiIndiaIvan Magalhaes QUALIFIED
Aruna Y StensethAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois K RimSpainIoni Bowcher NEGOTIATION
Costa F NestleIndiaXuxue Feng RENEWAL
David R NestleSpainStephen Shaw NEGOTIATION
Cody V SergiAustraliaIoni Bowcher RENEWAL
Silvio W FlosiCanadaIoni Bowcher NEGOTIATION
Clifford T SchemmerItalyIvan Magalhaes NEW
Aruna B GarufiRussiaIvan Magalhaes NEW
Ashley X VenereSpainIoni Bowcher RENEWAL
Wickens Q DilliardArgentinaAnna Fali NEGOTIATION
Arvin N StensethRussiaAsiya Javayant RENEWAL
Octavia W SergiSpainAmy Elsner UNQUALIFIED
Ricardo O MacleadUnited KingdomStephen Shaw UNQUALIFIED
Murillo L AlbaresGermanyAnna Fali NEW
Stacey C WhobreyAustraliaElwin Sharvill NEW
Deepesh S StensethAustraliaXuxue Feng NEGOTIATION
Octavia H FigeroaArgentinaBernardo Dominic UNQUALIFIED
Julie B RulapaughGermanyElwin Sharvill QUALIFIED
Julie M ButtArgentinaAmy Elsner QUALIFIED
Smith W FigeroaSpainIoni Bowcher NEW
Adams H SlusarskiBrazilStephen Shaw PROPOSAL
Izzy B OstroskyJapanAnna Fali QUALIFIED
Munro J BowleySpainBernardo Dominic NEGOTIATION
Silvio Q OldroydItalyStephen Shaw RENEWAL
Ivar C OldroydIndiaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire G BriddickUnited KingdomXuxue Feng QUALIFIED
Sinclair G BriddickSpainBernardo Dominic UNQUALIFIED
Stacey F SaylorsRussiaIoni Bowcher NEGOTIATION
Antonio B SaylorsAustraliaElwin Sharvill QUALIFIED
Aditya K IturbideIndiaAnna Fali NEGOTIATION
Jefferson J TollnerItalyAnna Fali NEW
Sinclair I FollerItalyXuxue Feng PROPOSAL
Jones T GauchoGermanyBernardo Dominic NEW
James C InouyeFranceAnna Fali RENEWAL
Mujtaba U KuskoCanadaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba T BriddickJapan2026-06-28Feltz Printing Service QUALIFIED22Ivan Magalhaes
1001Stacey V RimAustralia2026-06-24Benton, John B Jr NEW31Ivan Magalhaes
1002Cody B NestleGermany2026-06-04Feltz Printing Service PROPOSAL41Amy Elsner
1003Isabel L GarufiJapan2026-06-11Truhlar And Truhlar Attys NEGOTIATION19Ioni Bowcher
1004Kadeem T ButtUnited Kingdom2026-06-18Benton, John B Jr NEW35Amy Elsner
1005Adams Y RoysterGermany2026-06-09Feltz Printing Service RENEWAL77Xuxue Feng
1006Francesco T TollnerSpain2026-06-19Rangoni Of Florence PROPOSAL56Xuxue Feng
1007Greenwood Z RoysterUnited Kingdom2026-06-17Buckley Miller Wright RENEWAL30Onyama Limba
1008Johnson W SaylorsCanada2026-06-05Chemel, James L Cpa NEGOTIATION45Elwin Sharvill
1009Jones Z SaylorsUnited Kingdom2026-06-15Rousseaux, Michael Esq UNQUALIFIED75Onyama Limba
1010Nicolas A DoeIndia2026-06-23Rousseaux, Michael Esq NEGOTIATION66Xuxue Feng
1011Mayumi N AlbaresIndia2026-06-14Benton, John B Jr PROPOSAL65Asiya Javayant
1012Wickens Q MorascaBrazil2026-06-25Buckley Miller Wright RENEWAL2Amy Elsner
1013Murillo M WaycottArgentina2026-06-26Morlong Associates NEGOTIATION59Amy Elsner
1014Izzy O RoysterItaly2026-06-15Morlong Associates PROPOSAL91Anna Fali
1015Alejandro U CampainCanada2026-06-20Printing Dimensions NEW52Amy Elsner
1016Smith V ChuiCanada2026-06-22Commercial Press NEW55Amy Elsner
1017Mujtaba Q GlickArgentina2026-07-01Commercial Press NEGOTIATION61Asiya Javayant
1018Morrow L FerenczRussia2026-07-03Chanay, Jeffrey A Esq QUALIFIED37Xuxue Feng
1019Ashley S FerenczGermany2026-06-21Chapman, Ross E Esq RENEWAL87Bernardo Dominic
1020Cody M VenereJapan2026-06-28Printing Dimensions RENEWAL18Asiya Javayant
1021Leja O AmigonBrazil2026-06-22Buckley Miller Wright RENEWAL96Elwin Sharvill
1022Cody J SchemmerCanada2026-06-30Chapman, Ross E Esq UNQUALIFIED94Bernardo Dominic
1023Clifford P FollerIndia2026-06-25Truhlar And Truhlar Attys NEW56Anna Fali
1024Salvatore F MacleadItaly2026-06-07Dorl, James J Esq UNQUALIFIED88Ioni Bowcher
1025Sinclair Z MacleadIndia2026-06-11Truhlar And Truhlar Attys UNQUALIFIED10Ivan Magalhaes
1026Morrow J NestleFrance2026-06-26King, Christopher A Esq NEGOTIATION62Onyama Limba
1027Maria K GillianCanada2026-06-05Feltz Printing Service NEW61Asiya Javayant
1028Sinclair B ButtIndia2026-06-26Chapman, Ross E Esq NEW3Elwin Sharvill
1029Nicolas Q ShinkoArgentina2026-06-14Morlong Associates NEGOTIATION43Stephen Shaw
1030Leon M CaudyJapan2026-06-16Printing Dimensions PROPOSAL40Anna Fali
1031Maria V PoquetteCanada2026-06-27Dorl, James J Esq QUALIFIED76Amy Elsner
1032Leja F CampainRussia2026-06-11Benton, John B Jr NEW33Onyama Limba
1033Maria R InouyeFrance2026-06-12Chemel, James L Cpa NEGOTIATION98Ivan Magalhaes
1034Munro O NickaGermany2026-06-06Dorl, James J Esq RENEWAL86Stephen Shaw
1035Mayumi T StensethRussia2026-06-10Chanay, Jeffrey A Esq RENEWAL77Amy Elsner
1036Mujtaba I VenereAustralia2026-06-21Chanay, Jeffrey A Esq NEGOTIATION2Asiya Javayant
1037Arvin F FollerArgentina2026-06-13Feltz Printing Service NEGOTIATION52Xuxue Feng
1038Adams O DilliardFrance2026-06-24Truhlar And Truhlar Attys RENEWAL22Anna Fali
1039Darci I FigeroaCanada2026-06-17Benton, John B Jr QUALIFIED7Amy Elsner
1040Chavez T VocelkaRussia2026-06-07Feltz Printing Service UNQUALIFIED54Elwin Sharvill
1041Maria L WhobreyArgentina2026-06-25King, Christopher A Esq QUALIFIED49Elwin Sharvill
1042Jeanfrancois L FollerSpain2026-07-01Morlong Associates QUALIFIED35Anna Fali
1043Deepesh P FollerGermany2026-07-01Chapman, Ross E Esq UNQUALIFIED82Onyama Limba
1044Aruna I FollerItaly2026-06-11Feiner Bros PROPOSAL79Anna Fali
1045Jeanfrancois A FigeroaItaly2026-06-16Buckley Miller Wright UNQUALIFIED3Stephen Shaw
1046Rodrigues U AlbaresGermany2026-06-13Morlong Associates UNQUALIFIED31Xuxue Feng
1047Kaitlin P TollnerUnited Kingdom2026-06-21Printing Dimensions NEGOTIATION54Elwin Sharvill
1048Rodrigues W WaycottRussia2026-06-12Commercial Press NEW31Anna Fali
1049Francesco J NickaItaly2026-06-05Buckley Miller Wright PROPOSAL97Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Juan M InouyeRussiaBernardo Dominic NEW
Francesco T WhobreySpainAmy Elsner UNQUALIFIED
Leja J NickaFranceStephen Shaw UNQUALIFIED
Maria T WaycottArgentinaOnyama Limba NEGOTIATION
Cody F ShinkoJapanAnna Fali QUALIFIED
Aditya C MarrierIndiaElwin Sharvill NEGOTIATION
Darci B BowleyArgentinaAnna Fali NEW
Darci H DarakjyFranceIvan Magalhaes RENEWAL
Adams U WieserGermanyIvan Magalhaes PROPOSAL
Juan L WieserRussiaIoni Bowcher UNQUALIFIED
Aditya J MaletUnited KingdomOnyama Limba PROPOSAL
Ivar T TollnerRussiaAnna Fali QUALIFIED
Aruna T CampainRussiaIoni Bowcher RENEWAL
Costa D MarrierBrazilAsiya Javayant NEW
Juan M SlusarskiSpainXuxue Feng UNQUALIFIED
Mayumi L PoquetteGermanyElwin Sharvill NEGOTIATION
Munro F MacleadAustraliaXuxue Feng UNQUALIFIED
Clifford Z RimUnited KingdomXuxue Feng UNQUALIFIED
Ashley O CaldareraSpainAsiya Javayant RENEWAL
Maria T NickaUnited KingdomIoni Bowcher PROPOSAL
David S NestleUnited KingdomIoni Bowcher RENEWAL
Izzy M MacleadSpainOnyama Limba NEW
Faith U FerenczAustraliaElwin Sharvill UNQUALIFIED
Claire E StockhamCanadaStephen Shaw NEGOTIATION
Jennifer P RoysterCanadaAsiya Javayant PROPOSAL
Ashley O WhobreyItalyAmy Elsner QUALIFIED
Ivar J FlosiGermanyIvan Magalhaes NEW
Juan J FigeroaFranceBernardo Dominic QUALIFIED
Isabel I WaycottJapanOnyama Limba QUALIFIED
Faith B DoeItalyAsiya Javayant RENEWAL
Aditya P ChuiFranceIoni Bowcher RENEWAL
Cody T DoeGermanyAsiya Javayant NEW
Faith K KolmetzCanadaAmy Elsner UNQUALIFIED
David U BriddickItalyOnyama Limba NEW
Alejandro B InouyeAustraliaAmy Elsner QUALIFIED
Leja V PerinBrazilXuxue Feng QUALIFIED
Claire F StensethCanadaOnyama Limba QUALIFIED
Antonio E FollerRussiaIvan Magalhaes QUALIFIED
Arvin O CampainRussiaXuxue Feng NEW
Alejandro L NestleFranceBernardo Dominic RENEWAL
Darci K FerenczGermanyStephen Shaw RENEWAL
Kadeem O FollerSpainXuxue Feng UNQUALIFIED
David G StockhamGermanyXuxue Feng PROPOSAL
Leja A FlosiGermanyBernardo Dominic NEGOTIATION
Aditya I OstroskyFranceAmy Elsner NEW
Murillo D GlickItalyIvan Magalhaes QUALIFIED
Arvin F BowleyRussiaOnyama Limba QUALIFIED
Johnson K CaldareraJapanIvan Magalhaes PROPOSAL
Clifford O RulapaughSpainStephen Shaw NEW
Darci T GlickBrazilAnna Fali RENEWAL
Frozen Columns
Name
James V Chui
Nicolas W Glick
Adams U Schemmer
Maisha Z Malet
Costa A Butt
Mayumi B Dilliard
Leja K Dilliard
Aruna D Whobrey
Stacey P Stockham
Tony I Glick
Darci M Ferencz
Kadeem L Bowley
Nicolas I Kolmetz
Mayumi R Tollner
Tony G Vocelka
Sinclair W Shinko
Jones K Wieser
Clifford Y Saylors
Aika W Tollner
Salvatore I Nestle
Costa K Iturbide
Maria Z Paprocki
Wickens T Inouye
Munro K Amigon
James P Caudy
Kadeem Y Garufi
David L Malet
Juan D Butt
Darci Y Slusarski
Clifford T Rim
Tony K Whobrey
Kaitlin X Rim
Cody O Stenseth
Jennifer J Caldarera
Stacey X Iturbide
Jones C Dilliard
Munro F Venere
Aika N Schemmer
Darci J Slusarski
Ashley T Rulapaugh
Misaki H Malet
James Z Whobrey
Mujtaba Y Saylors
Salvatore C Campain
Chavez I Campain
Antonio O Gaucho
Johnson Y Maclead
Greenwood Y Vocelka
Alejandro J Waycott
Alejandro L Venere
IdCountryDate
1000Brazil2026-06-30
1001United Kingdom2026-06-08
1002United Kingdom2026-06-19
1003India2026-06-18
1004Germany2026-06-10
1005Russia2026-06-16
1006Brazil2026-06-07
1007Russia2026-07-03
1008India2026-06-25
1009United Kingdom2026-06-23
1010United Kingdom2026-06-16
1011Argentina2026-06-08
1012France2026-06-21
1013Canada2026-06-23
1014Brazil2026-06-26
1015Germany2026-06-21
1016Japan2026-07-01
1017United Kingdom2026-06-04
1018Argentina2026-06-16
1019Germany2026-06-12
1020Argentina2026-07-03
1021Canada2026-06-10
1022Argentina2026-06-07
1023France2026-06-14
1024Spain2026-06-18
1025Australia2026-06-10
1026United Kingdom2026-06-27
1027Italy2026-06-28
1028Russia2026-06-17
1029Argentina2026-06-22
1030Spain2026-06-20
1031Japan2026-06-22
1032Canada2026-06-09
1033Russia2026-06-13
1034France2026-06-28
1035United Kingdom2026-07-01
1036Italy2026-06-25
1037Germany2026-06-06
1038France2026-06-25
1039India2026-06-06
1040Russia2026-06-07
1041Argentina2026-06-17
1042France2026-06-21
1043India2026-06-22
1044Canada2026-06-12
1045Brazil2026-07-01
1046France2026-06-12
1047Russia2026-06-20
1048India2026-06-16
1049Argentina2026-06-21

On-Demand Data

NameIdCountryDate
Darci J Venere1000Australia2026-06-29
Darci L Tollner1001United Kingdom2026-06-16
Claire K Venere1002United Kingdom2026-06-22
Ashley C Oldroyd1003Canada2026-06-30
Juan X Albares1004Germany2026-06-30
Arvin J Albares1005Brazil2026-06-28
Aruna A Shinko1006Japan2026-06-11
David I Slusarski1007Germany2026-07-01
Chavez P Royster1008Russia2026-06-10
Salvatore C Albares1009Argentina2026-06-06
Maisha P Whobrey1010Canada2026-06-24
Antonio Q Oldroyd1011Italy2026-07-02
Greenwood Z Caldarera1012Italy2026-06-22
Leja B Royster1013India2026-06-25
Wickens A Butt1014Russia2026-06-18
Ricardo S Rim1015Germany2026-06-26
Alejandro P Albares1016Japan2026-06-27
Ricardo T Inouye1017India2026-06-21
Izzy N Flosi1018Russia2026-06-21
Aruna D Gaucho1019Japan2026-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire N SlusarskiJapanElwin Sharvill RENEWAL
Ivar G VenereFranceBernardo Dominic NEW
Sinclair F NestleGermanyBernardo Dominic UNQUALIFIED
Wickens R VocelkaRussiaElwin Sharvill QUALIFIED
Claire D VenereJapanAnna Fali NEW
Costa F NickaCanadaBernardo Dominic UNQUALIFIED
Clifford B RimSpainIvan Magalhaes RENEWAL
Izzy M MaletGermanyStephen Shaw QUALIFIED
Jones A DoeArgentinaElwin Sharvill PROPOSAL
Aditya L KuskoRussiaXuxue Feng PROPOSAL
Maria U BowleyItalyAmy Elsner UNQUALIFIED
Ivar H SlusarskiGermanyOnyama Limba QUALIFIED
Costa H WhobreyItalyStephen Shaw NEW
Adams B FollerItalyAsiya Javayant PROPOSAL
Mayumi A PoquetteItalyAnna Fali NEW
Mujtaba S BowleyBrazilAsiya Javayant UNQUALIFIED
Aruna K GauchoFranceElwin Sharvill QUALIFIED
Morrow X OldroydFranceAnna Fali UNQUALIFIED
Johnson J PoquetteCanadaBernardo Dominic NEGOTIATION
Maria O SergiGermanyElwin Sharvill QUALIFIED
Francesco V PaprockiGermanyAsiya Javayant UNQUALIFIED
Cody Q BologniaIndiaIoni Bowcher QUALIFIED
Mujtaba H RoysterFranceAmy Elsner UNQUALIFIED
Faith Q MaletJapanOnyama Limba NEW
Maisha S RimFranceAnna Fali RENEWAL
Nicolas E TollnerCanadaIoni Bowcher NEW
Kaitlin E MaletGermanyBernardo Dominic NEW
Clifford Q CaudySpainElwin Sharvill RENEWAL
Costa O StensethItalyAmy Elsner PROPOSAL
Julie T MaletAustraliaIoni Bowcher PROPOSAL
Sinclair L MacleadRussiaBernardo Dominic NEW
Kaitlin R RulapaughItalyElwin Sharvill NEGOTIATION
David Q StockhamJapanIoni Bowcher UNQUALIFIED
Ivar T WieserUnited KingdomAsiya Javayant NEGOTIATION
Sinclair O FigeroaAustraliaIvan Magalhaes NEW
Arvin Y PoquetteFranceStephen Shaw QUALIFIED
Leon F FigeroaCanadaOnyama Limba PROPOSAL
Chavez E RutaJapanIvan Magalhaes NEW
Mujtaba P InouyeItalyXuxue Feng QUALIFIED
Octavia U NickaJapanIvan Magalhaes 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>