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
Juan U BologniaFranceXuxue Feng QUALIFIED
Aruna Q NestleUnited KingdomIoni Bowcher PROPOSAL
Misaki W MaletIndiaAmy Elsner UNQUALIFIED
Ivar J GarufiCanadaIoni Bowcher UNQUALIFIED
Stacey C AmigonUnited KingdomIoni Bowcher PROPOSAL
Emily N FollerRussiaIoni Bowcher UNQUALIFIED
Antonio O StensethFranceOnyama Limba RENEWAL
Jones Y NestleUnited KingdomAsiya Javayant PROPOSAL
Arvin P DilliardIndiaIvan Magalhaes NEGOTIATION
Alejandro M StensethItalyAmy Elsner UNQUALIFIED
Adams H DarakjyJapanIoni Bowcher PROPOSAL
Ashley W AmigonBrazilOnyama Limba NEW
Sinclair C MarrierIndiaOnyama Limba NEGOTIATION
Mayumi R MaletFranceXuxue Feng RENEWAL
Leja E DoeFranceIoni Bowcher RENEWAL
Aditya I DarakjyRussiaAmy Elsner UNQUALIFIED
Alejandro F VocelkaSpainAmy Elsner PROPOSAL
Leon F StensethItalyAmy Elsner UNQUALIFIED
Maria P DoeCanadaOnyama Limba UNQUALIFIED
Greenwood J NestleArgentinaAsiya Javayant UNQUALIFIED
Maisha K BowleyJapanBernardo Dominic UNQUALIFIED
Izzy X NickaIndiaStephen Shaw NEGOTIATION
Costa U RimBrazilXuxue Feng RENEWAL
James G CampainBrazilOnyama Limba QUALIFIED
Claire W RimCanadaIoni Bowcher RENEWAL
Maisha N GauchoArgentinaIoni Bowcher PROPOSAL
Kaitlin H AmigonItalyAnna Fali RENEWAL
Misaki B MorascaGermanyStephen Shaw NEW
Nicolas U FigeroaArgentinaAsiya Javayant RENEWAL
Jones Y DilliardIndiaAmy Elsner QUALIFIED
Tony B DilliardRussiaIvan Magalhaes RENEWAL
Salvatore N RimGermanyIoni Bowcher PROPOSAL
Isabel T WaycottUnited KingdomXuxue Feng PROPOSAL
Darci D ButtJapanStephen Shaw RENEWAL
David J CaldareraItalyElwin Sharvill NEGOTIATION
Stacey F ShinkoCanadaIoni Bowcher PROPOSAL
Costa Z VocelkaSpainAsiya Javayant RENEWAL
Chavez S GarufiRussiaAsiya Javayant RENEWAL
Greenwood I RulapaughCanadaStephen Shaw NEW
Leja U NickaJapanAmy Elsner NEW
Morrow Q AlbaresSpainElwin Sharvill NEGOTIATION
David T DoeAustraliaBernardo Dominic PROPOSAL
Deepesh G IturbideIndiaOnyama Limba PROPOSAL
Salvatore T StensethRussiaAnna Fali UNQUALIFIED
Izzy W BowleyAustraliaAmy Elsner NEGOTIATION
Darci V MarrierArgentinaOnyama Limba NEGOTIATION
Alejandro S WaycottArgentinaXuxue Feng RENEWAL
Ivar X NickaIndiaIvan Magalhaes PROPOSAL
Costa M MaletUnited KingdomAmy Elsner PROPOSAL
Chavez A OldroydIndiaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna G PaprockiUnited KingdomIoni Bowcher QUALIFIED
James G FerenczJapanAsiya Javayant NEGOTIATION
Morrow V IturbideCanadaAmy Elsner NEGOTIATION
Ricardo J RoysterRussiaElwin Sharvill UNQUALIFIED
Johnson X FigeroaGermanyAnna Fali NEGOTIATION
Isabel V RoysterUnited KingdomAnna Fali UNQUALIFIED
Rodrigues M KuskoJapanStephen Shaw QUALIFIED
David W ChuiBrazilAnna Fali NEW
Leja X InouyeRussiaIvan Magalhaes RENEWAL
Chavez Q FollerCanadaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith K BologniaRussia2024-06-17Rousseaux, Michael Esq QUALIFIED7Stephen Shaw
1001Antonio O MacleadUnited Kingdom2024-06-04Morlong Associates NEW72Xuxue Feng
1002Maisha L StensethArgentina2024-06-06Buckley Miller Wright PROPOSAL30Xuxue Feng
1003Darci E AmigonJapan2024-06-05Chapman, Ross E Esq NEGOTIATION49Anna Fali
1004Murillo R InouyeRussia2024-05-27Feiner Bros QUALIFIED24Ioni Bowcher
1005Izzy K WieserRussia2024-05-31Chanay, Jeffrey A Esq PROPOSAL60Xuxue Feng
1006Adams S CaudyAustralia2024-06-23King, Christopher A Esq PROPOSAL89Xuxue Feng
1007Smith T FlosiRussia2024-06-18Chemel, James L Cpa QUALIFIED76Xuxue Feng
1008Murillo W FigeroaGermany2024-05-31Chemel, James L Cpa UNQUALIFIED97Anna Fali
1009Juan W NickaArgentina2024-05-28Dorl, James J Esq QUALIFIED88Anna Fali
1010David E OldroydSpain2024-06-21Chapman, Ross E Esq RENEWAL41Ivan Magalhaes
1011Salvatore H TollnerSpain2024-06-09Dorl, James J Esq NEGOTIATION60Elwin Sharvill
1012Wickens U StensethRussia2024-06-11Benton, John B Jr NEW86Elwin Sharvill
1013Izzy E PerinJapan2024-06-12Feiner Bros QUALIFIED10Ivan Magalhaes
1014Emily J TollnerItaly2024-06-19Rangoni Of Florence QUALIFIED68Anna Fali
1015Ricardo R OldroydIndia2024-06-14Dorl, James J Esq UNQUALIFIED95Ivan Magalhaes
1016Costa O OldroydUnited Kingdom2024-06-05King, Christopher A Esq QUALIFIED43Xuxue Feng
1017Isabel C NestleAustralia2024-06-09Buckley Miller Wright QUALIFIED23Stephen Shaw
1018Stacey U StensethJapan2024-06-04Truhlar And Truhlar Attys QUALIFIED24Xuxue Feng
1019Sinclair D CaldareraJapan2024-06-10Feltz Printing Service NEGOTIATION97Anna Fali
1020Mayumi S KuskoArgentina2024-06-01Benton, John B Jr NEGOTIATION56Asiya Javayant
1021Juan O SchemmerRussia2024-05-27Chapman, Ross E Esq RENEWAL60Ivan Magalhaes
1022Arvin Q VenereArgentina2024-05-31Rangoni Of Florence NEGOTIATION2Ioni Bowcher
1023Nicolas I MorascaArgentina2024-06-13Printing Dimensions NEGOTIATION7Stephen Shaw
1024Jennifer I OldroydRussia2024-05-27Chemel, James L Cpa NEGOTIATION77Xuxue Feng
1025Stacey M BriddickJapan2024-06-09Chapman, Ross E Esq PROPOSAL0Ioni Bowcher
1026Jeanfrancois J SchemmerUnited Kingdom2024-06-10Dorl, James J Esq NEGOTIATION39Elwin Sharvill
1027Jefferson C VocelkaIndia2024-06-07Benton, John B Jr NEGOTIATION68Xuxue Feng
1028Leon D SergiItaly2024-06-14Dorl, James J Esq QUALIFIED71Elwin Sharvill
1029Tony M StockhamFrance2024-06-14King, Christopher A Esq PROPOSAL8Ivan Magalhaes
1030Smith O KuskoBrazil2024-06-19Rousseaux, Michael Esq NEGOTIATION32Ioni Bowcher
1031Rodrigues Q FlosiItaly2024-06-14Rousseaux, Michael Esq NEGOTIATION84Amy Elsner
1032Adams U ChuiItaly2024-06-06Buckley Miller Wright RENEWAL85Anna Fali
1033Julie B DoeRussia2024-06-19Buckley Miller Wright NEW25Xuxue Feng
1034Deepesh W VocelkaIndia2024-05-30Feiner Bros NEGOTIATION7Ivan Magalhaes
1035Darci T PoquetteAustralia2024-06-04Feiner Bros NEGOTIATION65Ivan Magalhaes
1036Deepesh Y GillianGermany2024-06-11Chanay, Jeffrey A Esq NEW92Xuxue Feng
1037Adams Y NickaAustralia2024-06-19Buckley Miller Wright NEW53Onyama Limba
1038Jeanfrancois W StockhamItaly2024-05-30Benton, John B Jr PROPOSAL45Asiya Javayant
1039Stacey I PerinItaly2024-05-30King, Christopher A Esq UNQUALIFIED82Anna Fali
1040Ivar B DarakjyItaly2024-06-10Chapman, Ross E Esq UNQUALIFIED9Xuxue Feng
1041Emily I ButtFrance2024-06-14Chemel, James L Cpa QUALIFIED3Xuxue Feng
1042Alejandro R OldroydBrazil2024-06-03Chemel, James L Cpa RENEWAL15Xuxue Feng
1043Silvio L FollerArgentina2024-06-17Commercial Press PROPOSAL44Anna Fali
1044Mujtaba H OstroskyArgentina2024-06-06Feiner Bros NEW33Asiya Javayant
1045Aditya Q FollerUnited Kingdom2024-05-28Rangoni Of Florence UNQUALIFIED63Onyama Limba
1046Izzy E DoeCanada2024-06-23Chemel, James L Cpa PROPOSAL26Elwin Sharvill
1047Salvatore A SlusarskiIndia2024-05-29Truhlar And Truhlar Attys RENEWAL38Ioni Bowcher
1048Greenwood P RimFrance2024-06-15King, Christopher A Esq UNQUALIFIED64Amy Elsner
1049Octavia L OldroydRussia2024-06-19Buckley Miller Wright PROPOSAL53Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ashley Z SaylorsSpainBernardo Dominic NEGOTIATION
Izzy X BowleyRussiaAmy Elsner PROPOSAL
Rodrigues A TollnerFranceElwin Sharvill NEGOTIATION
Deepesh V ShinkoArgentinaStephen Shaw RENEWAL
Leon T ShinkoItalyIvan Magalhaes NEGOTIATION
Murillo N FigeroaItalyIoni Bowcher NEGOTIATION
Kaitlin X GlickCanadaElwin Sharvill QUALIFIED
Munro J RulapaughItalyXuxue Feng NEGOTIATION
Francesco F IturbideAustraliaStephen Shaw NEW
Rodrigues N NickaSpainElwin Sharvill NEW
Deepesh W GauchoArgentinaAnna Fali PROPOSAL
Darci X MarrierCanadaAmy Elsner RENEWAL
Greenwood Z WieserGermanyXuxue Feng UNQUALIFIED
Greenwood N DarakjyRussiaAnna Fali NEW
Leon O FlosiFranceIoni Bowcher NEW
Costa V WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Wickens L NickaFranceElwin Sharvill PROPOSAL
Costa L GarufiSpainXuxue Feng UNQUALIFIED
Tony A DarakjyCanadaAmy Elsner UNQUALIFIED
Emily Q CaudyFranceStephen Shaw NEW
Jeanfrancois G WieserUnited KingdomStephen Shaw NEW
Maria M MorascaJapanStephen Shaw NEGOTIATION
Smith Y SlusarskiUnited KingdomAnna Fali UNQUALIFIED
Tony N SaylorsArgentinaElwin Sharvill UNQUALIFIED
Clifford H BowleyItalyOnyama Limba RENEWAL
David V StockhamUnited KingdomAmy Elsner QUALIFIED
Greenwood O SergiIndiaAmy Elsner NEGOTIATION
Smith H ChuiGermanyOnyama Limba PROPOSAL
Wickens N MaletGermanyXuxue Feng QUALIFIED
Rodrigues Y RulapaughIndiaXuxue Feng NEW
Jefferson D SchemmerIndiaElwin Sharvill QUALIFIED
Cody Z DilliardAustraliaBernardo Dominic RENEWAL
Octavia F FigeroaSpainIvan Magalhaes RENEWAL
Arvin M SergiRussiaOnyama Limba QUALIFIED
Ivar Y FlosiItalyBernardo Dominic UNQUALIFIED
Francesco F NestleSpainOnyama Limba NEW
Costa L PaprockiItalyXuxue Feng QUALIFIED
Mayumi D MacleadCanadaOnyama Limba NEW
Chavez J CampainBrazilXuxue Feng UNQUALIFIED
Mujtaba T PoquetteUnited KingdomStephen Shaw UNQUALIFIED
James J WaycottIndiaOnyama Limba RENEWAL
Julie T PerinAustraliaOnyama Limba UNQUALIFIED
Nicolas C SchemmerGermanyElwin Sharvill NEW
Murillo Y BowleyFranceElwin Sharvill UNQUALIFIED
Mayumi J StensethBrazilOnyama Limba PROPOSAL
Leon H SergiAustraliaXuxue Feng PROPOSAL
Emily P AmigonBrazilAsiya Javayant UNQUALIFIED
Rodrigues T InouyeRussiaXuxue Feng RENEWAL
Julie C SergiJapanAnna Fali PROPOSAL
Maria A ButtRussiaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Morrow L Bowley
Tony X Morasca
Ashley W Rim
Faith R Kusko
Ashley B Bowley
Smith E Rulapaugh
Maisha Z Malet
Ricardo Z Figeroa
Nicolas W Sergi
Wickens W Iturbide
Juan F Vocelka
Leja Y Perin
Clifford I Slusarski
Stacey N Slusarski
Morrow I Caudy
Maisha F Amigon
Misaki N Vocelka
Ivar Z Paprocki
Aditya C Dilliard
Stacey R Iturbide
Ashley E Slusarski
Aditya V Slusarski
Darci E Poquette
Cody U Glick
Nicolas J Campain
Morrow V Bowley
Ashley E Kolmetz
Juan W Stenseth
Alejandro C Saylors
Munro U Nicka
Darci D Albares
Leon P Stenseth
Emily Z Royster
Costa A Saylors
Tony X Rim
Adams K Inouye
Tony E Gaucho
Claire U Whobrey
Kadeem H Wieser
Stacey I Schemmer
Faith S Caldarera
Antonio K Royster
Francesco O Foller
Aruna B Doe
Jeanfrancois Z Gaucho
Sinclair E Flosi
Mujtaba C Flosi
Kadeem R Nestle
Rodrigues F Albares
Greenwood I Briddick
IdCountryDate
1000Italy2024-06-13
1001Germany2024-06-11
1002Spain2024-06-13
1003Brazil2024-06-01
1004India2024-06-19
1005Japan2024-06-17
1006Argentina2024-06-02
1007Japan2024-06-15
1008Brazil2024-06-16
1009India2024-06-21
1010Australia2024-06-18
1011Italy2024-05-26
1012Australia2024-06-06
1013Australia2024-06-22
1014India2024-06-06
1015Italy2024-06-15
1016Germany2024-06-08
1017Japan2024-05-30
1018United Kingdom2024-05-29
1019Argentina2024-06-03
1020United Kingdom2024-06-22
1021Russia2024-06-02
1022Italy2024-06-14
1023Australia2024-06-24
1024India2024-06-11
1025India2024-05-31
1026India2024-06-15
1027Brazil2024-06-19
1028Japan2024-06-01
1029India2024-05-27
1030France2024-05-26
1031Argentina2024-06-11
1032Canada2024-06-06
1033India2024-06-20
1034France2024-06-21
1035Canada2024-06-04
1036Canada2024-06-22
1037France2024-06-19
1038Argentina2024-05-29
1039Russia2024-06-09
1040Germany2024-05-31
1041Spain2024-06-06
1042Italy2024-06-06
1043Japan2024-06-04
1044Argentina2024-06-14
1045Canada2024-06-14
1046Argentina2024-06-02
1047Australia2024-06-05
1048Canada2024-06-16
1049Japan2024-06-11

On-Demand Data

NameIdCountryDate
Johnson Y Campain1000Russia2024-06-22
Silvio Z Oldroyd1001Brazil2024-06-01
Wickens J Malet1002Italy2024-06-06
James I Inouye1003Canada2024-06-04
Morrow Z Nestle1004Germany2024-06-12
Rodrigues G Butt1005Germany2024-06-12
Greenwood Q Gaucho1006United Kingdom2024-06-02
Clifford F Maclead1007Japan2024-06-21
Mujtaba L Royster1008Argentina2024-05-29
Izzy J Kolmetz1009Japan2024-06-05
Deepesh K Ostrosky1010Argentina2024-06-09
Darci U Malet1011Italy2024-06-08
Maria K Venere1012Italy2024-06-09
Darci Y Wieser1013Russia2024-05-29
Darci F Nicka1014France2024-06-11
Sinclair Q Morasca1015Australia2024-06-24
Julie A Dilliard1016Germany2024-06-12
Claire H Inouye1017United Kingdom2024-06-20
Aditya U Oldroyd1018Brazil2024-05-26
Isabel D Malet1019France2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody L ChuiCanadaBernardo Dominic QUALIFIED
Juan N MarrierGermanyStephen Shaw NEW
Stacey T ButtJapanOnyama Limba NEW
Jefferson J InouyeFranceAnna Fali NEGOTIATION
Darci Q CaudyBrazilXuxue Feng PROPOSAL
Emily R NestleIndiaBernardo Dominic PROPOSAL
Juan X DoeUnited KingdomAnna Fali PROPOSAL
Kaitlin E VenereSpainIvan Magalhaes QUALIFIED
Tony W TollnerGermanyIoni Bowcher UNQUALIFIED
Faith J PoquetteSpainXuxue Feng PROPOSAL
Salvatore K BologniaArgentinaIvan Magalhaes PROPOSAL
David P RimAustraliaOnyama Limba NEGOTIATION
Isabel V PaprockiRussiaIoni Bowcher NEGOTIATION
Tony E TollnerItalyOnyama Limba NEW
Morrow V PaprockiAustraliaStephen Shaw RENEWAL
Kaitlin X RimIndiaOnyama Limba RENEWAL
Ricardo O NestleItalyAsiya Javayant QUALIFIED
Costa S NestleAustraliaAsiya Javayant QUALIFIED
Sinclair F RulapaughBrazilXuxue Feng QUALIFIED
Antonio S GlickUnited KingdomStephen Shaw QUALIFIED
Tony L DoeGermanyOnyama Limba UNQUALIFIED
Sinclair A VocelkaRussiaOnyama Limba UNQUALIFIED
Misaki O AmigonUnited KingdomAnna Fali NEW
Silvio Y FlosiCanadaBernardo Dominic RENEWAL
Nicolas P MarrierAustraliaAsiya Javayant RENEWAL
Kaitlin G CaldareraIndiaXuxue Feng UNQUALIFIED
Deepesh V DarakjyIndiaAnna Fali QUALIFIED
Clifford L TollnerSpainIoni Bowcher NEGOTIATION
Octavia Q KuskoGermanyBernardo Dominic PROPOSAL
Munro B RoysterGermanyStephen Shaw UNQUALIFIED
Emily C MaletJapanBernardo Dominic UNQUALIFIED
Stacey P GarufiItalyAmy Elsner UNQUALIFIED
Johnson G MacleadItalyAsiya Javayant RENEWAL
James W GauchoAustraliaIoni Bowcher NEGOTIATION
Aruna K IturbideAustraliaIoni Bowcher UNQUALIFIED
Misaki P OstroskyIndiaAmy Elsner UNQUALIFIED
Isabel L TollnerUnited KingdomIvan Magalhaes NEGOTIATION
Clifford A RulapaughCanadaAsiya Javayant NEGOTIATION
Ricardo S SaylorsCanadaIoni Bowcher UNQUALIFIED
Smith D GlickRussiaIvan 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>