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
Costa E FollerRussiaAmy Elsner QUALIFIED
Morrow W RutaCanadaBernardo Dominic UNQUALIFIED
Costa I SlusarskiRussiaBernardo Dominic RENEWAL
Maria I AmigonItalyElwin Sharvill RENEWAL
Francesco D GlickGermanyAsiya Javayant NEGOTIATION
Johnson P CampainJapanAnna Fali QUALIFIED
Jones S NickaGermanyOnyama Limba NEW
Murillo H DarakjyItalyBernardo Dominic UNQUALIFIED
Claire U DoeJapanIoni Bowcher NEGOTIATION
Aruna B ShinkoJapanAsiya Javayant NEGOTIATION
Cody A SergiSpainAsiya Javayant NEW
Faith Y BriddickJapanXuxue Feng QUALIFIED
Greenwood H OstroskySpainAsiya Javayant NEW
Juan X GauchoRussiaAmy Elsner NEW
Johnson M BriddickArgentinaAsiya Javayant UNQUALIFIED
Wickens V RimItalyXuxue Feng UNQUALIFIED
Faith G PerinRussiaIvan Magalhaes NEGOTIATION
Izzy K BologniaBrazilIoni Bowcher RENEWAL
Morrow D KolmetzUnited KingdomAmy Elsner PROPOSAL
Rodrigues U RutaGermanyIvan Magalhaes RENEWAL
Wickens V DilliardUnited KingdomStephen Shaw PROPOSAL
Octavia H InouyeBrazilAnna Fali QUALIFIED
Ivar S PoquetteJapanOnyama Limba UNQUALIFIED
Cody C MaletCanadaIoni Bowcher RENEWAL
Ashley S DarakjyArgentinaElwin Sharvill UNQUALIFIED
Darci H MarrierUnited KingdomAmy Elsner NEW
Izzy V RoysterIndiaIvan Magalhaes RENEWAL
Arvin U DoeSpainBernardo Dominic QUALIFIED
Maria B RulapaughItalyAsiya Javayant UNQUALIFIED
Adams Z StensethGermanyOnyama Limba UNQUALIFIED
Claire B InouyeAustraliaElwin Sharvill PROPOSAL
Claire M PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Ashley A KolmetzBrazilStephen Shaw QUALIFIED
Aika D StockhamCanadaAmy Elsner UNQUALIFIED
Isabel V NestleCanadaXuxue Feng RENEWAL
Isabel I WaycottGermanyIvan Magalhaes NEW
Tony P StockhamItalyStephen Shaw RENEWAL
Kaitlin L IturbideRussiaXuxue Feng UNQUALIFIED
David Q CaldareraBrazilXuxue Feng NEW
Salvatore U NestleGermanyStephen Shaw UNQUALIFIED
David N BowleyCanadaElwin Sharvill NEW
Emily B MacleadGermanyXuxue Feng NEW
Johnson R StensethFranceElwin Sharvill NEW
James D ButtItalyIvan Magalhaes NEW
Claire Z SchemmerUnited KingdomElwin Sharvill QUALIFIED
Izzy A AmigonIndiaBernardo Dominic PROPOSAL
Murillo H OldroydItalyIoni Bowcher NEW
Octavia J GlickItalyAmy Elsner UNQUALIFIED
Darci P RulapaughItalyIvan Magalhaes PROPOSAL
Sinclair N ChuiAustraliaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones U BowleyAustraliaAnna Fali NEGOTIATION
Aruna P GauchoArgentinaAsiya Javayant NEGOTIATION
Jefferson B RutaItalyIvan Magalhaes QUALIFIED
Ricardo S RutaItalyAmy Elsner NEGOTIATION
Salvatore X WieserGermanyBernardo Dominic NEW
Jones R RulapaughAustraliaXuxue Feng NEW
Smith C KolmetzBrazilOnyama Limba QUALIFIED
Izzy X ShinkoGermanyXuxue Feng NEGOTIATION
James N IturbideIndiaStephen Shaw PROPOSAL
Jones S NickaBrazilAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore J MorascaUnited Kingdom2025-04-06Chanay, Jeffrey A Esq NEW41Anna Fali
1001Greenwood D FlosiItaly2025-04-10Rousseaux, Michael Esq NEGOTIATION44Onyama Limba
1002Octavia Z DilliardItaly2025-04-29Chemel, James L Cpa NEGOTIATION19Asiya Javayant
1003Aditya H MaletSpain2025-04-17Rangoni Of Florence PROPOSAL55Asiya Javayant
1004James O MarrierGermany2025-04-28Printing Dimensions UNQUALIFIED79Ioni Bowcher
1005Jennifer E PerinBrazil2025-04-26Truhlar And Truhlar Attys RENEWAL97Amy Elsner
1006Aruna Z SchemmerJapan2025-04-21Feiner Bros NEW95Onyama Limba
1007Greenwood K CampainCanada2025-04-17Feiner Bros RENEWAL13Ivan Magalhaes
1008Francesco Y DarakjyArgentina2025-04-28Printing Dimensions PROPOSAL45Onyama Limba
1009David P GauchoArgentina2025-04-21Chapman, Ross E Esq QUALIFIED46Anna Fali
1010Silvio R CaudyItaly2025-04-25Chemel, James L Cpa QUALIFIED19Asiya Javayant
1011Chavez H SergiBrazil2025-04-07Morlong Associates QUALIFIED95Onyama Limba
1012Aika O CaldareraAustralia2025-04-10Commercial Press QUALIFIED71Xuxue Feng
1013Morrow C DarakjyArgentina2025-04-04Chapman, Ross E Esq UNQUALIFIED38Stephen Shaw
1014David M SergiCanada2025-04-07Dorl, James J Esq UNQUALIFIED49Stephen Shaw
1015Greenwood R IturbideUnited Kingdom2025-04-23Truhlar And Truhlar Attys NEW46Elwin Sharvill
1016Ivar Y SergiBrazil2025-04-19Truhlar And Truhlar Attys QUALIFIED36Elwin Sharvill
1017Maria P FollerUnited Kingdom2025-04-23Morlong Associates PROPOSAL4Amy Elsner
1018Julie A GarufiGermany2025-04-19Dorl, James J Esq PROPOSAL9Stephen Shaw
1019Faith D KuskoArgentina2025-04-24Rangoni Of Florence QUALIFIED87Amy Elsner
1020Ashley H RimCanada2025-04-06Buckley Miller Wright RENEWAL25Anna Fali
1021Salvatore R DarakjyBrazil2025-04-07Feiner Bros UNQUALIFIED72Xuxue Feng
1022Juan J BowleyBrazil2025-04-06King, Christopher A Esq NEW81Elwin Sharvill
1023Wickens E RoysterIndia2025-04-18Buckley Miller Wright NEW76Ivan Magalhaes
1024Mujtaba U OldroydAustralia2025-04-06Rangoni Of Florence QUALIFIED72Asiya Javayant
1025Stacey D DilliardCanada2025-04-02Dorl, James J Esq QUALIFIED98Elwin Sharvill
1026Adams F BologniaCanada2025-04-22Morlong Associates UNQUALIFIED69Ioni Bowcher
1027Leja X GarufiGermany2025-04-07Truhlar And Truhlar Attys NEW47Onyama Limba
1028Aika S VenereRussia2025-04-15Morlong Associates NEW48Elwin Sharvill
1029Sinclair G SchemmerRussia2025-04-26Dorl, James J Esq UNQUALIFIED98Asiya Javayant
1030Julie Y GauchoJapan2025-04-01Feltz Printing Service RENEWAL75Stephen Shaw
1031Claire R GauchoCanada2025-04-30Printing Dimensions NEW51Elwin Sharvill
1032Claire M MaletCanada2025-04-02Dorl, James J Esq PROPOSAL92Stephen Shaw
1033Claire V RimFrance2025-04-18Morlong Associates NEGOTIATION46Ioni Bowcher
1034Mayumi Y AlbaresGermany2025-04-10Rangoni Of Florence QUALIFIED40Onyama Limba
1035Leon U MaletUnited Kingdom2025-04-05Dorl, James J Esq NEGOTIATION35Onyama Limba
1036Emily B PoquetteAustralia2025-04-28Printing Dimensions NEW41Ioni Bowcher
1037Julie R ChuiSpain2025-04-12Chanay, Jeffrey A Esq PROPOSAL74Asiya Javayant
1038Isabel H FigeroaArgentina2025-04-03Chapman, Ross E Esq QUALIFIED25Stephen Shaw
1039Deepesh Y WaycottRussia2025-04-11Chapman, Ross E Esq UNQUALIFIED82Ioni Bowcher
1040Johnson X ShinkoAustralia2025-04-29Feiner Bros PROPOSAL52Ioni Bowcher
1041Chavez S NestleArgentina2025-04-24Morlong Associates QUALIFIED91Amy Elsner
1042Alejandro O SaylorsCanada2025-04-16Rousseaux, Michael Esq UNQUALIFIED83Amy Elsner
1043Ricardo Z ShinkoFrance2025-04-05Chemel, James L Cpa NEW75Ivan Magalhaes
1044Ivar B WaycottCanada2025-04-28Benton, John B Jr PROPOSAL19Amy Elsner
1045Emily V WaycottArgentina2025-04-25Buckley Miller Wright RENEWAL95Onyama Limba
1046Stacey M OldroydArgentina2025-04-22Chapman, Ross E Esq QUALIFIED42Ioni Bowcher
1047Aruna U DilliardIndia2025-04-12Rangoni Of Florence NEW99Onyama Limba
1048Faith Z DilliardItaly2025-04-08Feltz Printing Service QUALIFIED70Anna Fali
1049Juan I ShinkoAustralia2025-04-02Chemel, James L Cpa QUALIFIED4Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Leja S BriddickFranceXuxue Feng PROPOSAL
Julie M StockhamArgentinaIvan Magalhaes RENEWAL
James H RulapaughUnited KingdomElwin Sharvill QUALIFIED
Arvin Z RoysterJapanBernardo Dominic PROPOSAL
Alejandro W BriddickCanadaIoni Bowcher RENEWAL
Ashley R TollnerFranceBernardo Dominic RENEWAL
Salvatore Q DilliardFranceBernardo Dominic NEW
Kaitlin W FerenczAustraliaAsiya Javayant NEGOTIATION
Arvin G FerenczArgentinaIvan Magalhaes QUALIFIED
Cody B GlickFranceBernardo Dominic UNQUALIFIED
Cody J FigeroaArgentinaIoni Bowcher UNQUALIFIED
Nicolas B CaudySpainAsiya Javayant PROPOSAL
Misaki P DilliardBrazilOnyama Limba NEGOTIATION
Costa K GlickUnited KingdomStephen Shaw NEGOTIATION
Ivar C WaycottSpainOnyama Limba NEW
Aditya H DilliardUnited KingdomAsiya Javayant NEW
James O MaletBrazilAnna Fali QUALIFIED
Juan I FerenczAustraliaAsiya Javayant PROPOSAL
Claire H PoquetteFranceXuxue Feng RENEWAL
Stacey I FigeroaJapanStephen Shaw UNQUALIFIED
Claire J ChuiFranceOnyama Limba RENEWAL
James R DarakjyUnited KingdomStephen Shaw NEW
Jefferson W DilliardUnited KingdomAsiya Javayant RENEWAL
Salvatore R RoysterItalyIvan Magalhaes NEW
Cody L GillianItalyAsiya Javayant NEW
Salvatore Y SchemmerSpainIoni Bowcher PROPOSAL
Darci L AlbaresFranceElwin Sharvill QUALIFIED
Tony E RoysterRussiaXuxue Feng QUALIFIED
Mayumi T KolmetzAustraliaElwin Sharvill UNQUALIFIED
David S FlosiSpainIoni Bowcher PROPOSAL
Octavia K NestleFranceAsiya Javayant PROPOSAL
Johnson I NickaFranceIvan Magalhaes UNQUALIFIED
Antonio H RulapaughArgentinaAsiya Javayant UNQUALIFIED
Emily E SchemmerUnited KingdomAmy Elsner RENEWAL
Ashley P MacleadUnited KingdomOnyama Limba PROPOSAL
Smith G TollnerCanadaAmy Elsner QUALIFIED
Antonio H BriddickBrazilAnna Fali NEW
Jones T NickaRussiaOnyama Limba QUALIFIED
Jefferson U CampainUnited KingdomStephen Shaw QUALIFIED
Costa S MaletUnited KingdomOnyama Limba RENEWAL
Julie A FigeroaAustraliaOnyama Limba NEW
Leja Z ShinkoJapanBernardo Dominic RENEWAL
Darci W RulapaughJapanAnna Fali QUALIFIED
Cody P BologniaCanadaIvan Magalhaes NEGOTIATION
Mayumi T FigeroaCanadaXuxue Feng NEW
Jones M RimFranceBernardo Dominic QUALIFIED
Murillo K DoeIndiaStephen Shaw UNQUALIFIED
Kadeem X SchemmerFranceBernardo Dominic RENEWAL
Octavia H CampainFranceXuxue Feng QUALIFIED
Alejandro F AlbaresSpainIvan Magalhaes RENEWAL
Frozen Columns
Name
David R Butt
Tony H Glick
Adams X Gaucho
Francesco E Saylors
Jeanfrancois R Schemmer
Darci P Ruta
Juan G Bowley
Maisha Y Chui
Adams O Kolmetz
Aika I Chui
Murillo F Whobrey
Ricardo H Darakjy
Tony H Stenseth
Mayumi B Venere
Nicolas L Rulapaugh
James X Gaucho
Alejandro J Caldarera
Emily Z Butt
Darci L Inouye
Morrow R Malet
Silvio X Kusko
Misaki E Shinko
Deepesh Z Paprocki
Tony M Ferencz
Kaitlin N Nicka
James Y Foller
Mayumi W Bowley
Aditya W Perin
Salvatore J Stenseth
Jeanfrancois B Poquette
Wickens G Saylors
Leja K Sergi
Cody X Schemmer
Ricardo K Poquette
Jones B Vocelka
Murillo U Perin
Maisha V Slusarski
Rodrigues O Malet
Julie Z Darakjy
Aika I Perin
Mayumi A Marrier
Izzy G Amigon
Emily X Poquette
Nicolas A Butt
Julie O Malet
Alejandro I Morasca
Ivar N Butt
Ricardo K Waycott
Smith W Butt
Maisha L Perin
IdCountryDate
1000Japan2025-04-02
1001Argentina2025-04-14
1002India2025-04-19
1003Japan2025-04-14
1004Germany2025-04-28
1005Italy2025-04-14
1006United Kingdom2025-04-25
1007India2025-04-16
1008France2025-04-05
1009France2025-04-21
1010Australia2025-04-19
1011Italy2025-04-13
1012United Kingdom2025-04-11
1013Germany2025-04-28
1014Canada2025-04-29
1015Brazil2025-04-28
1016India2025-04-25
1017Russia2025-04-17
1018Russia2025-04-11
1019India2025-04-10
1020India2025-04-30
1021Argentina2025-04-12
1022Canada2025-04-20
1023India2025-04-07
1024Brazil2025-04-05
1025Canada2025-04-19
1026Brazil2025-04-05
1027Russia2025-04-19
1028Japan2025-04-17
1029Spain2025-04-09
1030Spain2025-04-26
1031France2025-04-22
1032Argentina2025-04-26
1033Brazil2025-04-13
1034Germany2025-04-04
1035United Kingdom2025-04-20
1036Argentina2025-04-05
1037Germany2025-04-20
1038France2025-04-15
1039Canada2025-04-14
1040Germany2025-04-06
1041Canada2025-04-17
1042Spain2025-04-27
1043Italy2025-04-21
1044Canada2025-04-03
1045Brazil2025-04-05
1046Brazil2025-04-03
1047France2025-04-20
1048Argentina2025-04-02
1049Japan2025-04-24

On-Demand Data

NameIdCountryDate
Ivar D Royster1000Japan2025-04-12
Clifford I Garufi1001India2025-04-12
Maria N Malet1002Brazil2025-04-24
Ricardo T Schemmer1003Italy2025-04-05
Isabel E Kusko1004Argentina2025-04-01
Chavez I Inouye1005Brazil2025-04-17
Izzy U Amigon1006Japan2025-04-19
Sinclair H Glick1007India2025-04-18
Mayumi Y Gaucho1008Japan2025-04-03
Mayumi O Foller1009Brazil2025-04-29
Mayumi I Marrier1010Argentina2025-04-15
Cody Y Malet1011Japan2025-04-12
Clifford V Malet1012Spain2025-04-30
David R Gaucho1013United Kingdom2025-04-25
Jones D Stenseth1014Australia2025-04-23
Stacey L Perin1015Brazil2025-04-01
Arvin A Figeroa1016Germany2025-04-29
Aruna B Nestle1017Spain2025-04-17
Wickens I Kolmetz1018Spain2025-04-09
Izzy J Butt1019France2025-04-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika H WieserBrazilIoni Bowcher PROPOSAL
Ricardo W CaudyIndiaXuxue Feng RENEWAL
James G WaycottUnited KingdomAnna Fali QUALIFIED
Arvin B OstroskyRussiaOnyama Limba UNQUALIFIED
Leon D CampainFranceIvan Magalhaes NEGOTIATION
Mayumi F PoquetteSpainAmy Elsner PROPOSAL
Misaki I StensethItalyIvan Magalhaes UNQUALIFIED
Antonio O OldroydFranceBernardo Dominic QUALIFIED
Sinclair W PerinSpainAmy Elsner PROPOSAL
Maria B SaylorsSpainXuxue Feng UNQUALIFIED
Ashley P IturbideItalyElwin Sharvill UNQUALIFIED
Juan N GarufiCanadaXuxue Feng NEGOTIATION
Aditya O BologniaJapanAnna Fali PROPOSAL
Greenwood B AmigonJapanAmy Elsner NEW
Silvio E VocelkaIndiaStephen Shaw UNQUALIFIED
Claire D PaprockiCanadaIvan Magalhaes PROPOSAL
David J RoysterUnited KingdomAnna Fali QUALIFIED
Sinclair S DoeRussiaAsiya Javayant NEW
Adams X PaprockiRussiaXuxue Feng RENEWAL
Antonio Y WaycottUnited KingdomXuxue Feng UNQUALIFIED
Antonio V NestleArgentinaStephen Shaw RENEWAL
Jones P VenereBrazilAnna Fali PROPOSAL
Aruna C MacleadRussiaAsiya Javayant NEW
Ashley Q MaletBrazilOnyama Limba NEW
Jefferson Y CampainCanadaAsiya Javayant NEW
Aika L AlbaresBrazilElwin Sharvill NEGOTIATION
Murillo Y DilliardBrazilXuxue Feng QUALIFIED
Jones P CaudyJapanIvan Magalhaes NEGOTIATION
Aika A RulapaughJapanIvan Magalhaes UNQUALIFIED
Ashley M DoeAustraliaAnna Fali QUALIFIED
Leja P RoysterArgentinaBernardo Dominic PROPOSAL
Arvin V GauchoRussiaXuxue Feng RENEWAL
Jeanfrancois U ShinkoJapanOnyama Limba NEW
Maisha C GarufiCanadaAmy Elsner NEGOTIATION
Claire Z IturbideGermanyIoni Bowcher PROPOSAL
Salvatore T WieserIndiaBernardo Dominic NEW
Salvatore H GauchoFranceStephen Shaw PROPOSAL
Wickens V FerenczFranceIoni Bowcher QUALIFIED
Johnson Y DoeIndiaIvan Magalhaes QUALIFIED
Maria U RulapaughAustraliaXuxue Feng QUALIFIED

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