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
Morrow J WieserSpainBernardo Dominic NEW
Antonio R RutaJapanAnna Fali UNQUALIFIED
Morrow K BowleyGermanyAsiya Javayant PROPOSAL
Emily Y RulapaughIndiaElwin Sharvill PROPOSAL
Smith Q CaudyUnited KingdomXuxue Feng PROPOSAL
Izzy L FigeroaRussiaBernardo Dominic NEW
Costa O RutaArgentinaIvan Magalhaes QUALIFIED
Ricardo Z BowleyFranceAmy Elsner NEW
Leon V FigeroaCanadaStephen Shaw RENEWAL
Jefferson E MorascaArgentinaIvan Magalhaes PROPOSAL
Emily T SaylorsSpainAnna Fali QUALIFIED
Chavez N RimGermanyElwin Sharvill QUALIFIED
Ashley Z MacleadRussiaElwin Sharvill NEW
Salvatore I VocelkaSpainBernardo Dominic RENEWAL
Nicolas K TollnerJapanStephen Shaw NEGOTIATION
Wickens M RimItalyAnna Fali PROPOSAL
Nicolas T FlosiBrazilOnyama Limba QUALIFIED
Arvin Y StockhamItalyElwin Sharvill NEW
Izzy W FigeroaAustraliaIoni Bowcher RENEWAL
Isabel W RoysterSpainAnna Fali NEGOTIATION
Claire Q KuskoCanadaStephen Shaw QUALIFIED
Sinclair K WieserUnited KingdomAmy Elsner RENEWAL
Salvatore X RimSpainXuxue Feng QUALIFIED
Jefferson F MaletCanadaStephen Shaw RENEWAL
Maria I PoquetteRussiaIvan Magalhaes RENEWAL
Aditya Q RulapaughUnited KingdomBernardo Dominic PROPOSAL
Ashley P WieserAustraliaElwin Sharvill UNQUALIFIED
Mayumi L NestleRussiaAnna Fali UNQUALIFIED
Wickens B AlbaresRussiaElwin Sharvill NEGOTIATION
Wickens E DoeRussiaElwin Sharvill RENEWAL
Johnson L RutaGermanyIoni Bowcher NEGOTIATION
Alejandro S KolmetzGermanyStephen Shaw QUALIFIED
Alejandro A BriddickBrazilStephen Shaw RENEWAL
Isabel D MacleadFranceIoni Bowcher PROPOSAL
Emily Y RimUnited KingdomIvan Magalhaes NEGOTIATION
Emily E WieserGermanyIvan Magalhaes UNQUALIFIED
Jefferson U AmigonAustraliaAsiya Javayant UNQUALIFIED
Jefferson X GarufiBrazilAsiya Javayant NEW
Juan U StensethGermanyXuxue Feng UNQUALIFIED
Johnson J TollnerRussiaOnyama Limba PROPOSAL
Deepesh K CampainIndiaStephen Shaw NEW
Chavez J CaudyFranceOnyama Limba NEGOTIATION
Morrow W DarakjyFranceStephen Shaw QUALIFIED
Tony K ChuiCanadaAnna Fali QUALIFIED
Ricardo R NickaAustraliaAmy Elsner PROPOSAL
Maisha Z NestleSpainBernardo Dominic QUALIFIED
Cody O MorascaGermanyIvan Magalhaes RENEWAL
Aika P GarufiFranceOnyama Limba RENEWAL
Antonio S GauchoJapanAnna Fali QUALIFIED
Claire P DilliardCanadaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
James O SaylorsCanadaStephen Shaw NEW
Clifford R SlusarskiRussiaOnyama Limba QUALIFIED
Nicolas D RutaFranceAnna Fali PROPOSAL
Octavia G BowleyUnited KingdomStephen Shaw NEGOTIATION
Chavez G FerenczJapanXuxue Feng UNQUALIFIED
Francesco Q MaletAustraliaIvan Magalhaes NEW
Nicolas Y SaylorsIndiaOnyama Limba UNQUALIFIED
Izzy R MorascaSpainIvan Magalhaes NEW
Johnson A MaletAustraliaStephen Shaw NEW
Kaitlin U RulapaughArgentinaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem W WhobreyBrazil2026-07-13Truhlar And Truhlar Attys NEW57Asiya Javayant
1001James K RutaBrazil2026-07-01Printing Dimensions PROPOSAL81Asiya Javayant
1002David K RimItaly2026-07-06Dorl, James J Esq RENEWAL24Elwin Sharvill
1003Jennifer K BowleyJapan2026-07-16Chapman, Ross E Esq RENEWAL12Elwin Sharvill
1004Jefferson T WhobreyBrazil2026-07-26Rousseaux, Michael Esq NEGOTIATION80Ioni Bowcher
1005Arvin U MaletGermany2026-07-24Chemel, James L Cpa NEW42Bernardo Dominic
1006Francesco J SaylorsArgentina2026-07-10Benton, John B Jr RENEWAL61Ioni Bowcher
1007Mayumi U AmigonIndia2026-07-21Chapman, Ross E Esq QUALIFIED74Elwin Sharvill
1008Costa Y GlickArgentina2026-07-08Chapman, Ross E Esq PROPOSAL80Anna Fali
1009Deepesh G RimRussia2026-07-19Chanay, Jeffrey A Esq NEGOTIATION21Elwin Sharvill
1010Izzy O KuskoArgentina2026-07-21Chapman, Ross E Esq RENEWAL87Ivan Magalhaes
1011Greenwood U FigeroaRussia2026-07-16Commercial Press QUALIFIED9Amy Elsner
1012Octavia A ShinkoBrazil2026-07-16Chemel, James L Cpa NEW13Bernardo Dominic
1013Tony E DarakjyUnited Kingdom2026-07-28Rangoni Of Florence RENEWAL20Bernardo Dominic
1014Jefferson K ChuiFrance2026-07-11Rangoni Of Florence PROPOSAL82Asiya Javayant
1015Antonio F IturbideItaly2026-07-18Printing Dimensions NEW10Onyama Limba
1016Francesco N FerenczArgentina2026-07-12Feltz Printing Service RENEWAL84Stephen Shaw
1017David W TollnerIndia2026-07-08Truhlar And Truhlar Attys QUALIFIED98Onyama Limba
1018Aika K FlosiFrance2026-07-18Commercial Press RENEWAL31Xuxue Feng
1019Emily E ButtBrazil2026-07-06Morlong Associates NEGOTIATION77Amy Elsner
1020Chavez E StockhamIndia2026-07-07Chanay, Jeffrey A Esq UNQUALIFIED74Anna Fali
1021Silvio S RoysterGermany2026-07-16Benton, John B Jr RENEWAL12Stephen Shaw
1022Adams H AmigonAustralia2026-07-16Rangoni Of Florence NEW47Amy Elsner
1023Juan A MaletSpain2026-07-11Dorl, James J Esq NEGOTIATION65Anna Fali
1024Johnson Q InouyeRussia2026-07-23Truhlar And Truhlar Attys PROPOSAL75Stephen Shaw
1025Francesco O BriddickArgentina2026-07-19Chapman, Ross E Esq NEGOTIATION26Ioni Bowcher
1026Isabel K PerinCanada2026-07-05Chanay, Jeffrey A Esq RENEWAL16Ivan Magalhaes
1027Francesco E GlickRussia2026-07-25Rousseaux, Michael Esq RENEWAL72Xuxue Feng
1028Leon P MaletRussia2026-06-30Rousseaux, Michael Esq PROPOSAL66Ioni Bowcher
1029Smith I CaudySpain2026-07-10Rousseaux, Michael Esq PROPOSAL45Ioni Bowcher
1030Nicolas U SchemmerSpain2026-06-29Rousseaux, Michael Esq QUALIFIED31Anna Fali
1031Aruna G VocelkaCanada2026-07-09Commercial Press RENEWAL14Anna Fali
1032Isabel T WhobreyUnited Kingdom2026-07-03Dorl, James J Esq PROPOSAL55Asiya Javayant
1033Jennifer R AlbaresSpain2026-07-06Feltz Printing Service RENEWAL10Ioni Bowcher
1034Alejandro O CaldareraItaly2026-07-10Chanay, Jeffrey A Esq RENEWAL98Onyama Limba
1035Costa C GillianUnited Kingdom2026-06-30Rousseaux, Michael Esq RENEWAL16Stephen Shaw
1036Aditya A DilliardGermany2026-07-03Benton, John B Jr RENEWAL92Elwin Sharvill
1037Costa W MorascaRussia2026-07-04Printing Dimensions RENEWAL72Elwin Sharvill
1038Adams J FollerGermany2026-07-07Printing Dimensions RENEWAL95Xuxue Feng
1039Wickens Q FlosiJapan2026-06-30Feiner Bros RENEWAL82Onyama Limba
1040Maria R OstroskyIndia2026-07-24Morlong Associates QUALIFIED88Ioni Bowcher
1041Misaki X BowleyBrazil2026-07-26Chanay, Jeffrey A Esq PROPOSAL25Elwin Sharvill
1042Murillo P NestleFrance2026-07-08Printing Dimensions UNQUALIFIED96Onyama Limba
1043Sinclair C MacleadIndia2026-07-28Rangoni Of Florence NEW62Onyama Limba
1044Faith L ChuiItaly2026-07-14Rangoni Of Florence RENEWAL16Onyama Limba
1045Darci E MaletAustralia2026-06-29Commercial Press NEW54Elwin Sharvill
1046Johnson T WieserCanada2026-07-03Rousseaux, Michael Esq UNQUALIFIED81Onyama Limba
1047Maisha V AlbaresArgentina2026-07-15King, Christopher A Esq NEGOTIATION17Bernardo Dominic
1048Maria F CaldareraSpain2026-07-22Feltz Printing Service UNQUALIFIED37Anna Fali
1049Misaki H ButtSpain2026-07-28Benton, John B Jr QUALIFIED60Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Faith A DarakjyArgentinaOnyama Limba NEW
Costa Q PoquetteGermanyIvan Magalhaes NEGOTIATION
Jennifer S StockhamItalyOnyama Limba NEGOTIATION
Deepesh T CaudyIndiaOnyama Limba NEGOTIATION
Munro A AmigonGermanyElwin Sharvill NEGOTIATION
Izzy M StockhamAustraliaIvan Magalhaes UNQUALIFIED
Leja G MarrierAustraliaIoni Bowcher UNQUALIFIED
Ricardo H FigeroaSpainIvan Magalhaes NEGOTIATION
Costa I PoquetteBrazilAmy Elsner NEGOTIATION
Mujtaba X GlickGermanyAsiya Javayant NEW
Kadeem Q ShinkoAustraliaAnna Fali UNQUALIFIED
Jeanfrancois E RutaFranceAnna Fali NEGOTIATION
Ashley P FerenczItalyBernardo Dominic UNQUALIFIED
Johnson K MorascaAustraliaAnna Fali QUALIFIED
David U AmigonFranceOnyama Limba NEGOTIATION
Izzy N ShinkoSpainStephen Shaw NEW
Maria S RoysterGermanyElwin Sharvill UNQUALIFIED
James X OstroskyRussiaIvan Magalhaes PROPOSAL
Sinclair F DarakjyItalyIvan Magalhaes PROPOSAL
Adams S NestleRussiaIvan Magalhaes UNQUALIFIED
Claire R ShinkoRussiaElwin Sharvill NEGOTIATION
Murillo E BriddickJapanIvan Magalhaes QUALIFIED
Munro S MaletIndiaAmy Elsner PROPOSAL
Stacey T FerenczSpainAmy Elsner UNQUALIFIED
Isabel I DoeUnited KingdomBernardo Dominic RENEWAL
Ivar E SergiJapanAmy Elsner PROPOSAL
Chavez V MaletIndiaAmy Elsner NEW
Misaki H MaletJapanAnna Fali UNQUALIFIED
Cody J CampainItalyAsiya Javayant UNQUALIFIED
Leja B RulapaughItalyAmy Elsner RENEWAL
Maria H KolmetzGermanyAnna Fali QUALIFIED
Deepesh X RoysterCanadaOnyama Limba NEGOTIATION
Misaki A GlickBrazilAsiya Javayant QUALIFIED
Jones Z GauchoRussiaElwin Sharvill NEGOTIATION
Maisha C RimCanadaOnyama Limba UNQUALIFIED
Darci U CaldareraUnited KingdomAsiya Javayant NEGOTIATION
Morrow W GillianBrazilAnna Fali NEW
Maria K PoquetteFranceOnyama Limba NEGOTIATION
Salvatore Z CaudyRussiaIoni Bowcher NEW
Jones E FerenczIndiaXuxue Feng NEW
Costa S PerinCanadaAnna Fali PROPOSAL
Izzy M GauchoAustraliaOnyama Limba RENEWAL
Aika E NickaGermanyIvan Magalhaes NEW
David I BowleyBrazilIvan Magalhaes NEGOTIATION
Darci V CaudyJapanAsiya Javayant RENEWAL
David U CampainRussiaAnna Fali UNQUALIFIED
Chavez D SlusarskiFranceXuxue Feng QUALIFIED
Aruna D DoeArgentinaBernardo Dominic UNQUALIFIED
Deepesh X RutaAustraliaBernardo Dominic UNQUALIFIED
Ivar A StockhamArgentinaStephen Shaw NEW
Frozen Columns
Name
Isabel A Bolognia
Faith S Dilliard
Kaitlin Y Gillian
Mujtaba B Flosi
Izzy T Marrier
Kaitlin C Vocelka
Aditya L Paprocki
Leon W Campain
Cody S Whobrey
Francesco L Saylors
Francesco F Wieser
Silvio E Kolmetz
Juan L Bolognia
Adams J Stockham
Jones E Butt
Claire D Dilliard
Kaitlin Z Ruta
Munro A Darakjy
Ivar K Shinko
Morrow A Figeroa
Faith J Schemmer
Jeanfrancois B Saylors
Isabel R Kolmetz
Mujtaba B Malet
Aditya Q Shinko
Murillo D Perin
Ricardo E Sergi
Greenwood E Caldarera
Aditya Y Ruta
Aditya P Briddick
Octavia Z Iturbide
Kaitlin S Amigon
Emily R Kusko
James B Caudy
Kaitlin Z Glick
Jones J Maclead
Kadeem C Garufi
Aditya Z Garufi
Maisha Y Campain
Octavia E Iturbide
Ricardo O Perin
Leon J Figeroa
Stacey T Slusarski
Deepesh J Albares
Murillo D Iturbide
Jeanfrancois T Campain
Juan R Malet
Arvin H Slusarski
Antonio S Nestle
Aika B Marrier
IdCountryDate
1000Russia2026-07-09
1001United Kingdom2026-07-28
1002United Kingdom2026-07-18
1003United Kingdom2026-07-15
1004Spain2026-07-13
1005Spain2026-07-18
1006Germany2026-07-06
1007Spain2026-07-08
1008Argentina2026-07-05
1009United Kingdom2026-07-23
1010Japan2026-07-12
1011Italy2026-07-01
1012Canada2026-07-27
1013Japan2026-07-24
1014India2026-07-03
1015Brazil2026-07-24
1016India2026-07-24
1017Spain2026-07-20
1018Australia2026-07-14
1019Spain2026-07-17
1020Brazil2026-07-09
1021Argentina2026-06-29
1022Argentina2026-07-24
1023Brazil2026-07-17
1024Argentina2026-07-03
1025Canada2026-06-29
1026Australia2026-06-30
1027Australia2026-07-07
1028Spain2026-06-29
1029Canada2026-07-07
1030Australia2026-07-21
1031Russia2026-07-17
1032Germany2026-07-02
1033Argentina2026-07-09
1034Russia2026-07-07
1035Canada2026-07-13
1036Canada2026-07-06
1037Italy2026-06-30
1038Canada2026-07-10
1039Argentina2026-07-27
1040Germany2026-07-01
1041Brazil2026-07-16
1042Canada2026-07-18
1043France2026-07-28
1044Australia2026-07-08
1045France2026-07-23
1046Germany2026-07-26
1047Argentina2026-06-30
1048Russia2026-07-13
1049United Kingdom2026-07-11

On-Demand Data

NameIdCountryDate
Emily G Paprocki1000Australia2026-07-22
Mujtaba X Glick1001Italy2026-07-13
Munro V Darakjy1002Brazil2026-07-12
Emily N Glick1003Argentina2026-07-12
Darci H Stockham1004Argentina2026-07-03
Francesco Q Flosi1005Russia2026-07-26
Silvio F Caldarera1006Italy2026-07-10
James L Inouye1007Spain2026-07-23
Deepesh G Flosi1008France2026-07-16
Murillo T Kolmetz1009Argentina2026-07-22
Morrow T Malet1010Argentina2026-07-06
Leja I Inouye1011India2026-07-23
Aruna Q Malet1012Russia2026-07-11
Nicolas M Malet1013United Kingdom2026-07-13
Aika M Doe1014Canada2026-07-24
Costa Q Doe1015Italy2026-07-11
Francesco H Dilliard1016Japan2026-07-21
Wickens U Butt1017Brazil2026-07-12
Aika Y Marrier1018Canada2026-07-24
Maisha A Doe1019France2026-07-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio B BologniaItalyElwin Sharvill RENEWAL
Claire Q BriddickGermanyXuxue Feng PROPOSAL
Juan B NickaRussiaAsiya Javayant NEW
Chavez H FigeroaGermanyOnyama Limba NEW
Mayumi P VenereJapanAsiya Javayant RENEWAL
Jeanfrancois U FollerBrazilAnna Fali QUALIFIED
James C WaycottCanadaIvan Magalhaes QUALIFIED
Aditya I BowleyRussiaIvan Magalhaes RENEWAL
Greenwood O BriddickArgentinaOnyama Limba NEW
Juan Y SchemmerJapanOnyama Limba PROPOSAL
Juan C VenereIndiaIoni Bowcher QUALIFIED
Ricardo Y BowleyItalyIoni Bowcher UNQUALIFIED
Isabel X NestleRussiaStephen Shaw NEW
Arvin W MarrierGermanyAmy Elsner RENEWAL
Claire C OldroydIndiaXuxue Feng PROPOSAL
Jennifer O InouyeCanadaElwin Sharvill PROPOSAL
Nicolas Y WhobreyIndiaXuxue Feng UNQUALIFIED
David Q FollerUnited KingdomAmy Elsner PROPOSAL
Maisha M MacleadGermanyBernardo Dominic RENEWAL
Rodrigues O BriddickFranceXuxue Feng RENEWAL
Aruna G CampainIndiaStephen Shaw RENEWAL
Jeanfrancois B PoquetteItalyIoni Bowcher PROPOSAL
Jennifer U VenereRussiaAsiya Javayant QUALIFIED
Rodrigues Q RutaBrazilIoni Bowcher NEW
Mayumi F VenereCanadaStephen Shaw UNQUALIFIED
Octavia R SlusarskiJapanOnyama Limba NEGOTIATION
Greenwood S OstroskyGermanyAmy Elsner PROPOSAL
Clifford I CampainJapanBernardo Dominic NEW
Costa Y FigeroaBrazilXuxue Feng PROPOSAL
Jefferson B AlbaresFranceXuxue Feng RENEWAL
Misaki L StockhamSpainIvan Magalhaes NEW
Ashley M FlosiItalyXuxue Feng QUALIFIED
Misaki H FigeroaIndiaBernardo Dominic RENEWAL
Mayumi G StockhamItalyOnyama Limba PROPOSAL
Chavez A KuskoBrazilXuxue Feng NEGOTIATION
Jefferson L PerinGermanyOnyama Limba QUALIFIED
Jennifer K IturbideCanadaElwin Sharvill UNQUALIFIED
Misaki H ShinkoCanadaIvan Magalhaes QUALIFIED
James L MaletJapanAsiya Javayant NEW
Ricardo B BriddickArgentinaStephen Shaw 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>