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
Maisha V GillianFranceIoni Bowcher UNQUALIFIED
Leon R DilliardFranceElwin Sharvill NEW
Jennifer L ShinkoBrazilAnna Fali PROPOSAL
Johnson H RutaItalyAmy Elsner NEGOTIATION
Julie P BriddickCanadaOnyama Limba NEGOTIATION
Tony V FigeroaRussiaBernardo Dominic PROPOSAL
Aika J RimJapanIoni Bowcher UNQUALIFIED
Aruna L RutaGermanyOnyama Limba NEW
Faith Y RoysterCanadaAsiya Javayant QUALIFIED
Leon R DarakjyItalyIoni Bowcher RENEWAL
Leja Z NestleRussiaOnyama Limba NEW
Aditya Z CampainSpainAnna Fali RENEWAL
Maisha X DarakjyUnited KingdomOnyama Limba RENEWAL
Costa O FlosiJapanAmy Elsner QUALIFIED
Juan D SaylorsCanadaAmy Elsner UNQUALIFIED
Kaitlin C RulapaughBrazilStephen Shaw NEGOTIATION
Aruna V RimUnited KingdomAmy Elsner QUALIFIED
Cody O PaprockiBrazilOnyama Limba RENEWAL
Leon Z WaycottCanadaElwin Sharvill RENEWAL
Francesco M OstroskyAustraliaIoni Bowcher QUALIFIED
Johnson T AlbaresAustraliaAnna Fali PROPOSAL
Faith N IturbideJapanStephen Shaw QUALIFIED
Salvatore T MorascaBrazilElwin Sharvill NEGOTIATION
Jeanfrancois V FerenczItalyAmy Elsner QUALIFIED
Costa B FollerIndiaAnna Fali RENEWAL
Nicolas I NestleGermanyBernardo Dominic NEW
Arvin J RoysterBrazilXuxue Feng RENEWAL
Emily Z WieserRussiaIoni Bowcher PROPOSAL
Juan M GlickCanadaAnna Fali UNQUALIFIED
Isabel B BriddickArgentinaAsiya Javayant NEW
Antonio X NickaCanadaElwin Sharvill PROPOSAL
Greenwood L StockhamSpainIoni Bowcher NEGOTIATION
Maisha B VenereUnited KingdomIoni Bowcher PROPOSAL
Jeanfrancois O KuskoBrazilXuxue Feng NEW
Arvin N AmigonSpainBernardo Dominic NEW
Kaitlin G PerinGermanyAmy Elsner RENEWAL
Jefferson S InouyeRussiaAmy Elsner NEW
Isabel D StockhamRussiaElwin Sharvill UNQUALIFIED
Nicolas J BowleyBrazilOnyama Limba RENEWAL
Murillo Q MaletSpainIvan Magalhaes RENEWAL
Kadeem X ShinkoRussiaAnna Fali UNQUALIFIED
Misaki Y OstroskyArgentinaIoni Bowcher NEW
Izzy G AmigonBrazilXuxue Feng RENEWAL
Kaitlin Y MaletArgentinaIoni Bowcher PROPOSAL
Chavez T ChuiIndiaElwin Sharvill UNQUALIFIED
Jennifer I VenereGermanyOnyama Limba PROPOSAL
Ashley P OldroydRussiaAmy Elsner NEGOTIATION
Nicolas V GillianJapanXuxue Feng NEGOTIATION
Silvio P WaycottItalyOnyama Limba RENEWAL
Wickens F NickaIndiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Mujtaba F RoysterUnited KingdomOnyama Limba QUALIFIED
Faith A FollerSpainBernardo Dominic UNQUALIFIED
Nicolas W StensethCanadaXuxue Feng PROPOSAL
Kadeem R GlickUnited KingdomOnyama Limba PROPOSAL
Kaitlin X DarakjyCanadaIvan Magalhaes NEW
Juan S CaudyBrazilIoni Bowcher PROPOSAL
Munro G InouyeItalyIoni Bowcher NEGOTIATION
Chavez U SaylorsCanadaAmy Elsner PROPOSAL
James J SaylorsSpainAmy Elsner UNQUALIFIED
Kaitlin P OstroskyJapanXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey N FlosiGermany2026-06-22Dorl, James J Esq RENEWAL38Bernardo Dominic
1001Francesco Z WieserUnited Kingdom2026-06-27Commercial Press UNQUALIFIED29Elwin Sharvill
1002Sinclair D PerinJapan2026-07-03Commercial Press NEGOTIATION69Elwin Sharvill
1003Silvio Q ShinkoUnited Kingdom2026-06-26Morlong Associates NEGOTIATION70Amy Elsner
1004Salvatore J GillianFrance2026-07-01Buckley Miller Wright NEGOTIATION43Xuxue Feng
1005Maisha R KolmetzUnited Kingdom2026-07-01Commercial Press NEW10Bernardo Dominic
1006Ivar K NickaBrazil2026-07-10Rangoni Of Florence NEGOTIATION27Onyama Limba
1007Maria J RoysterJapan2026-07-12Feltz Printing Service UNQUALIFIED26Asiya Javayant
1008Greenwood N OldroydCanada2026-06-27Printing Dimensions PROPOSAL59Xuxue Feng
1009Juan H BowleyIndia2026-07-19Buckley Miller Wright NEW93Bernardo Dominic
1010Wickens C KuskoAustralia2026-07-18Chemel, James L Cpa NEW91Anna Fali
1011Cody L SchemmerRussia2026-07-09Chanay, Jeffrey A Esq QUALIFIED88Xuxue Feng
1012Sinclair V OstroskyCanada2026-06-27Rangoni Of Florence RENEWAL59Xuxue Feng
1013Clifford P SaylorsFrance2026-07-08Dorl, James J Esq UNQUALIFIED12Elwin Sharvill
1014Maria G GlickFrance2026-07-07Buckley Miller Wright QUALIFIED77Stephen Shaw
1015Salvatore D WhobreyItaly2026-07-10Buckley Miller Wright RENEWAL24Stephen Shaw
1016Aruna V KuskoFrance2026-07-14Rangoni Of Florence UNQUALIFIED65Ioni Bowcher
1017Jennifer F MaletCanada2026-07-11Morlong Associates QUALIFIED33Stephen Shaw
1018Ivar B MorascaSpain2026-07-21Chapman, Ross E Esq NEW96Onyama Limba
1019Smith L PerinUnited Kingdom2026-07-10Chapman, Ross E Esq NEGOTIATION12Anna Fali
1020Maria T VenereRussia2026-07-10Printing Dimensions QUALIFIED1Ioni Bowcher
1021Ricardo V OstroskySpain2026-07-02Rousseaux, Michael Esq NEW90Amy Elsner
1022Jennifer K FollerArgentina2026-06-30Buckley Miller Wright PROPOSAL83Anna Fali
1023Clifford K IturbideCanada2026-06-24Dorl, James J Esq UNQUALIFIED38Elwin Sharvill
1024Mujtaba S GauchoJapan2026-07-13Rousseaux, Michael Esq NEW8Ivan Magalhaes
1025Nicolas A VenereIndia2026-07-07Chemel, James L Cpa NEW99Anna Fali
1026Cody Z VenereArgentina2026-07-05Printing Dimensions RENEWAL16Anna Fali
1027Maisha K WieserIndia2026-06-27Buckley Miller Wright NEGOTIATION48Anna Fali
1028Kadeem V StockhamGermany2026-07-09Feiner Bros QUALIFIED94Xuxue Feng
1029Aika N VocelkaItaly2026-06-25Dorl, James J Esq PROPOSAL31Xuxue Feng
1030Mujtaba G BologniaAustralia2026-07-15Buckley Miller Wright NEGOTIATION26Xuxue Feng
1031Smith B CampainIndia2026-06-22Feiner Bros QUALIFIED64Asiya Javayant
1032Ashley B InouyeItaly2026-07-02Buckley Miller Wright QUALIFIED33Elwin Sharvill
1033Chavez T StensethFrance2026-07-04Truhlar And Truhlar Attys QUALIFIED62Ivan Magalhaes
1034Claire S RulapaughIndia2026-06-28Buckley Miller Wright QUALIFIED90Ivan Magalhaes
1035Leon E ChuiSpain2026-07-05Rangoni Of Florence UNQUALIFIED32Asiya Javayant
1036Leja Y RulapaughSpain2026-07-04Chapman, Ross E Esq NEW67Bernardo Dominic
1037Maria X BologniaGermany2026-07-17Chapman, Ross E Esq NEW50Stephen Shaw
1038Smith T MaletUnited Kingdom2026-07-18Truhlar And Truhlar Attys PROPOSAL9Asiya Javayant
1039Ashley L MacleadAustralia2026-06-28Feltz Printing Service NEW57Elwin Sharvill
1040Ricardo I TollnerArgentina2026-07-20Feltz Printing Service QUALIFIED89Stephen Shaw
1041Stacey X FigeroaIndia2026-07-20Feltz Printing Service NEGOTIATION79Xuxue Feng
1042Chavez C AmigonBrazil2026-06-30Feiner Bros QUALIFIED96Elwin Sharvill
1043Aika O BowleyFrance2026-07-05Chemel, James L Cpa UNQUALIFIED71Elwin Sharvill
1044Faith N ShinkoArgentina2026-07-08Morlong Associates UNQUALIFIED16Stephen Shaw
1045James N ChuiAustralia2026-07-18Feltz Printing Service RENEWAL43Asiya Javayant
1046Julie S SlusarskiFrance2026-07-10King, Christopher A Esq NEW89Amy Elsner
1047Morrow F FlosiCanada2026-07-20Truhlar And Truhlar Attys NEW1Anna Fali
1048Johnson H CampainGermany2026-07-03Chemel, James L Cpa NEGOTIATION12Elwin Sharvill
1049Deepesh U VenereAustralia2026-07-12Truhlar And Truhlar Attys PROPOSAL27Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba K FerenczCanadaAmy Elsner NEGOTIATION
Misaki F SergiIndiaXuxue Feng UNQUALIFIED
Johnson W WhobreyCanadaOnyama Limba NEW
Jefferson U ShinkoAustraliaStephen Shaw QUALIFIED
Aditya L MorascaJapanAmy Elsner RENEWAL
Greenwood V WaycottRussiaXuxue Feng UNQUALIFIED
Aruna D InouyeSpainIvan Magalhaes PROPOSAL
Izzy T FerenczFranceAmy Elsner PROPOSAL
Jeanfrancois V OstroskyCanadaXuxue Feng UNQUALIFIED
Sinclair Q RutaSpainElwin Sharvill PROPOSAL
Murillo K MacleadAustraliaBernardo Dominic NEGOTIATION
Arvin Q TollnerAustraliaElwin Sharvill PROPOSAL
Ashley B ButtAustraliaOnyama Limba UNQUALIFIED
Aika A ButtUnited KingdomElwin Sharvill NEGOTIATION
Emily L MaletItalyBernardo Dominic PROPOSAL
Mayumi I DarakjyBrazilIvan Magalhaes UNQUALIFIED
Emily X DoeFranceAnna Fali QUALIFIED
Rodrigues P GarufiBrazilBernardo Dominic PROPOSAL
Leja C WhobreyItalyAnna Fali PROPOSAL
Mayumi S StensethUnited KingdomOnyama Limba UNQUALIFIED
Chavez A FerenczIndiaOnyama Limba NEW
Morrow V PoquetteGermanyBernardo Dominic QUALIFIED
Wickens K MaletUnited KingdomAsiya Javayant RENEWAL
Costa Z MorascaUnited KingdomOnyama Limba RENEWAL
Maria C AlbaresItalyBernardo Dominic UNQUALIFIED
Francesco M VocelkaCanadaXuxue Feng QUALIFIED
David U CampainUnited KingdomStephen Shaw NEW
Jennifer B DarakjyArgentinaAmy Elsner PROPOSAL
Jennifer S MaletFranceStephen Shaw NEGOTIATION
Clifford K FigeroaGermanyElwin Sharvill PROPOSAL
Johnson X FollerIndiaAsiya Javayant PROPOSAL
Munro T StensethAustraliaIoni Bowcher RENEWAL
Munro G DoeSpainOnyama Limba NEGOTIATION
Mayumi G DarakjyRussiaOnyama Limba QUALIFIED
Antonio H ButtBrazilAnna Fali UNQUALIFIED
Mayumi H SaylorsBrazilBernardo Dominic QUALIFIED
Clifford K ButtRussiaIvan Magalhaes NEW
Misaki T BowleyBrazilOnyama Limba QUALIFIED
Clifford D StockhamSpainIvan Magalhaes RENEWAL
Rodrigues X BowleyBrazilOnyama Limba QUALIFIED
Claire B KolmetzFranceAsiya Javayant QUALIFIED
Leja L GarufiIndiaElwin Sharvill QUALIFIED
Deepesh T MacleadSpainAsiya Javayant UNQUALIFIED
Clifford R FlosiBrazilIoni Bowcher NEGOTIATION
Morrow S StockhamJapanElwin Sharvill NEW
Claire X RoysterSpainAsiya Javayant UNQUALIFIED
Darci U OldroydRussiaStephen Shaw RENEWAL
Maria R CaudyFranceBernardo Dominic PROPOSAL
Jennifer O AmigonRussiaOnyama Limba NEW
Nicolas E FigeroaFranceXuxue Feng NEW
Frozen Columns
Name
David L Wieser
Adams U Oldroyd
Wickens Y Caudy
Kaitlin B Gaucho
Francesco M Rulapaugh
Isabel T Morasca
Leon Z Nicka
Cody R Oldroyd
Octavia X Ostrosky
Smith U Flosi
Juan G Schemmer
Munro U Stenseth
Aika H Kolmetz
Costa G Bolognia
Murillo B Darakjy
Ivar Z Waycott
Emily O Kusko
Wickens L Marrier
Leon P Flosi
Salvatore W Morasca
Sinclair K Figeroa
Izzy H Shinko
Aditya O Bowley
Izzy A Iturbide
Alejandro M Slusarski
Morrow N Glick
Mujtaba L Ferencz
Adams Q Chui
Greenwood X Royster
Arvin P Caldarera
Wickens H Sergi
Julie U Campain
Kaitlin J Vocelka
Tony C Vocelka
Salvatore K Vocelka
Antonio N Vocelka
Jones D Royster
Octavia H Slusarski
Leon D Briddick
Nicolas J Kolmetz
Arvin B Iturbide
Maisha U Caudy
Wickens D Briddick
Ricardo Z Nicka
Johnson B Flosi
Arvin U Whobrey
Ashley M Kusko
Julie V Ostrosky
Kadeem M Flosi
Deepesh S Slusarski
IdCountryDate
1000Canada2026-06-25
1001France2026-07-03
1002United Kingdom2026-07-02
1003Argentina2026-07-19
1004United Kingdom2026-07-07
1005Russia2026-06-24
1006Japan2026-07-05
1007Russia2026-07-04
1008Germany2026-07-03
1009Australia2026-07-01
1010Argentina2026-07-03
1011Italy2026-06-22
1012Germany2026-07-06
1013Spain2026-07-12
1014Italy2026-07-11
1015Canada2026-07-11
1016France2026-07-15
1017Brazil2026-07-11
1018Canada2026-06-29
1019Australia2026-07-14
1020India2026-07-02
1021Argentina2026-07-02
1022Italy2026-07-11
1023Russia2026-06-29
1024India2026-07-04
1025United Kingdom2026-06-26
1026India2026-07-10
1027Germany2026-07-17
1028France2026-07-07
1029Argentina2026-07-20
1030Brazil2026-06-25
1031Argentina2026-07-01
1032Italy2026-07-09
1033United Kingdom2026-06-28
1034Japan2026-07-04
1035Argentina2026-07-21
1036Italy2026-07-11
1037Canada2026-07-17
1038France2026-07-07
1039Spain2026-06-22
1040Japan2026-07-03
1041Australia2026-07-18
1042Brazil2026-07-01
1043Russia2026-06-22
1044Brazil2026-07-03
1045Japan2026-06-28
1046Canada2026-07-21
1047Italy2026-06-30
1048Spain2026-07-04
1049France2026-07-13

On-Demand Data

NameIdCountryDate
Aruna R Schemmer1000Argentina2026-06-29
Aika N Gillian1001France2026-07-02
Jones N Garufi1002Argentina2026-07-07
Octavia O Morasca1003Germany2026-07-07
Morrow P Waycott1004Japan2026-07-06
Izzy A Morasca1005Canada2026-07-20
Ivar N Poquette1006Canada2026-07-04
Morrow T Chui1007Russia2026-07-08
Arvin A Gillian1008India2026-07-03
Leja I Doe1009Germany2026-07-04
Aruna T Bolognia1010United Kingdom2026-06-28
Mujtaba P Rulapaugh1011Japan2026-06-25
Jefferson S Darakjy1012Brazil2026-07-05
Faith T Oldroyd1013Australia2026-06-27
Munro N Briddick1014India2026-06-24
Smith E Butt1015Italy2026-07-07
Costa A Garufi1016Spain2026-06-29
Kaitlin U Nicka1017Australia2026-07-19
Aruna L Ruta1018Brazil2026-07-21
Octavia U Figeroa1019Spain2026-07-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin Y MaletFranceOnyama Limba RENEWAL
Munro D BowleyBrazilXuxue Feng NEW
Isabel N IturbideBrazilAnna Fali PROPOSAL
Antonio P AmigonUnited KingdomAsiya Javayant PROPOSAL
Salvatore S WhobreyFranceAsiya Javayant NEW
Maria E InouyeSpainAnna Fali QUALIFIED
Faith U DilliardAustraliaAmy Elsner NEGOTIATION
Maisha L MacleadSpainIoni Bowcher NEGOTIATION
Silvio Z FigeroaCanadaIoni Bowcher NEGOTIATION
Adams X IturbideAustraliaElwin Sharvill UNQUALIFIED
Aruna I KuskoSpainOnyama Limba PROPOSAL
Cody G ButtAustraliaAnna Fali RENEWAL
Aditya B CaldareraFranceAnna Fali NEW
Salvatore Z MacleadIndiaIoni Bowcher PROPOSAL
Tony I FollerGermanyIvan Magalhaes RENEWAL
Jeanfrancois U WaycottGermanyStephen Shaw NEGOTIATION
Leja A DoeSpainAnna Fali UNQUALIFIED
Mayumi Q BologniaAustraliaAnna Fali QUALIFIED
Greenwood K RoysterArgentinaBernardo Dominic QUALIFIED
Kaitlin T MacleadAustraliaXuxue Feng UNQUALIFIED
Sinclair Z WhobreyJapanElwin Sharvill NEW
Maisha I NickaBrazilIvan Magalhaes NEGOTIATION
Adams O SchemmerCanadaAnna Fali NEGOTIATION
Aika C MaletJapanStephen Shaw QUALIFIED
Wickens G MaletFranceIvan Magalhaes QUALIFIED
Silvio Y GauchoArgentinaBernardo Dominic NEW
Morrow N PoquetteArgentinaIvan Magalhaes NEW
Misaki B GillianFranceIoni Bowcher UNQUALIFIED
James C PoquetteCanadaAsiya Javayant RENEWAL
Darci I WhobreySpainBernardo Dominic PROPOSAL
Munro G GarufiBrazilElwin Sharvill NEW
Alejandro M DoeItalyBernardo Dominic UNQUALIFIED
Smith I InouyeSpainBernardo Dominic NEGOTIATION
Aika J ChuiUnited KingdomOnyama Limba QUALIFIED
Claire J WhobreyItalyStephen Shaw RENEWAL
Adams U CaldareraItalyIoni Bowcher RENEWAL
James K GauchoJapanAsiya Javayant UNQUALIFIED
Mayumi O AlbaresAustraliaAnna Fali NEGOTIATION
Murillo W CaudyGermanyBernardo Dominic UNQUALIFIED
Ashley I FlosiUnited KingdomXuxue Feng NEW

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