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
David L VocelkaCanadaAnna Fali UNQUALIFIED
Leon R BologniaCanadaElwin Sharvill NEGOTIATION
Stacey K ButtAustraliaElwin Sharvill QUALIFIED
Silvio P ChuiItalyBernardo Dominic RENEWAL
Rodrigues K StensethGermanyAmy Elsner RENEWAL
Munro S KolmetzItalyBernardo Dominic RENEWAL
Aruna A OstroskyAustraliaElwin Sharvill NEGOTIATION
Chavez D MaletFranceStephen Shaw NEW
Morrow D WieserItalyIoni Bowcher NEW
Julie W OldroydItalyIoni Bowcher QUALIFIED
Jones Q CaudyRussiaAsiya Javayant RENEWAL
Nicolas J FigeroaIndiaAmy Elsner RENEWAL
Antonio P WieserGermanyStephen Shaw QUALIFIED
Jefferson M FollerItalyXuxue Feng PROPOSAL
Morrow Q NickaJapanElwin Sharvill NEW
Claire T PerinItalyAmy Elsner NEGOTIATION
Costa B MaletUnited KingdomElwin Sharvill RENEWAL
Ivar S WieserAustraliaOnyama Limba NEW
Alejandro K GlickIndiaIoni Bowcher PROPOSAL
Izzy D PerinItalyBernardo Dominic UNQUALIFIED
Claire C MarrierArgentinaOnyama Limba NEW
Octavia G OldroydItalyStephen Shaw NEW
Tony R SchemmerItalyAnna Fali NEW
Julie W WaycottSpainAnna Fali RENEWAL
Jefferson D TollnerIndiaAnna Fali PROPOSAL
Chavez N ButtGermanyBernardo Dominic UNQUALIFIED
Misaki Z GillianUnited KingdomStephen Shaw NEW
Deepesh C GillianRussiaIoni Bowcher NEGOTIATION
Maisha Q FollerSpainAmy Elsner NEW
Octavia V StockhamIndiaAsiya Javayant RENEWAL
Isabel V BologniaAustraliaAmy Elsner RENEWAL
Cody Z WhobreyItalyAsiya Javayant QUALIFIED
Kaitlin M WhobreyAustraliaAnna Fali NEGOTIATION
Kaitlin D OldroydCanadaAmy Elsner RENEWAL
Maisha G OstroskyArgentinaIvan Magalhaes PROPOSAL
Aika R FerenczFranceAmy Elsner PROPOSAL
Kadeem L ChuiFranceStephen Shaw NEW
Silvio V PerinArgentinaOnyama Limba UNQUALIFIED
Leon D WieserFranceIoni Bowcher UNQUALIFIED
Kadeem E SergiJapanElwin Sharvill NEW
Murillo I CaldareraFranceAsiya Javayant QUALIFIED
Chavez C BriddickIndiaStephen Shaw RENEWAL
Ricardo B GillianArgentinaXuxue Feng QUALIFIED
Salvatore A KuskoJapanElwin Sharvill NEW
Salvatore H InouyeSpainOnyama Limba NEGOTIATION
Juan I PoquetteRussiaIvan Magalhaes QUALIFIED
Francesco C OldroydGermanyIvan Magalhaes NEW
Leja D MaletJapanAnna Fali QUALIFIED
Tony N OldroydBrazilAnna Fali QUALIFIED
Claire J ChuiFranceOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Mujtaba D SergiBrazilAsiya Javayant QUALIFIED
Greenwood O GauchoRussiaXuxue Feng UNQUALIFIED
Johnson Q BowleyCanadaXuxue Feng QUALIFIED
Johnson N MorascaUnited KingdomIoni Bowcher QUALIFIED
Greenwood W CaldareraCanadaIoni Bowcher NEW
Francesco R FerenczItalyBernardo Dominic NEGOTIATION
Octavia H OstroskyItalyStephen Shaw QUALIFIED
Munro G FlosiAustraliaIvan Magalhaes NEGOTIATION
Misaki P FigeroaCanadaBernardo Dominic UNQUALIFIED
Clifford X PaprockiItalyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones T ShinkoFrance2026-07-04Chemel, James L Cpa QUALIFIED94Anna Fali
1001Octavia D GlickJapan2026-06-26Printing Dimensions RENEWAL33Onyama Limba
1002Deepesh Q WaycottArgentina2026-07-14Rousseaux, Michael Esq PROPOSAL54Bernardo Dominic
1003Tony S InouyeRussia2026-06-29Commercial Press RENEWAL74Anna Fali
1004Johnson Q ShinkoGermany2026-07-03Chanay, Jeffrey A Esq UNQUALIFIED6Ioni Bowcher
1005Misaki O CaudyIndia2026-07-06Rangoni Of Florence NEGOTIATION43Bernardo Dominic
1006Morrow B PerinAustralia2026-06-28Buckley Miller Wright NEGOTIATION27Onyama Limba
1007Greenwood P InouyeCanada2026-07-05Chemel, James L Cpa UNQUALIFIED66Xuxue Feng
1008Stacey K FlosiRussia2026-07-05Rangoni Of Florence QUALIFIED31Ioni Bowcher
1009Stacey P BologniaIndia2026-07-08Chanay, Jeffrey A Esq RENEWAL73Elwin Sharvill
1010Maisha A FerenczIndia2026-07-14Benton, John B Jr RENEWAL95Asiya Javayant
1011Silvio Q OstroskySpain2026-07-06Chemel, James L Cpa PROPOSAL85Amy Elsner
1012Jeanfrancois D PerinFrance2026-06-25Dorl, James J Esq QUALIFIED67Stephen Shaw
1013Emily D MorascaArgentina2026-07-04King, Christopher A Esq PROPOSAL78Amy Elsner
1014Jones N GlickGermany2026-07-01Chanay, Jeffrey A Esq NEW34Anna Fali
1015Jennifer Y StensethIndia2026-07-07Morlong Associates NEW8Amy Elsner
1016Clifford W InouyeIndia2026-07-01Chemel, James L Cpa QUALIFIED66Amy Elsner
1017Murillo G WieserArgentina2026-06-19Truhlar And Truhlar Attys RENEWAL27Anna Fali
1018Jeanfrancois M PoquetteCanada2026-07-12Chemel, James L Cpa NEW49Asiya Javayant
1019Aika M FerenczUnited Kingdom2026-06-23Printing Dimensions NEGOTIATION50Anna Fali
1020Claire O NickaSpain2026-06-19King, Christopher A Esq UNQUALIFIED96Ioni Bowcher
1021Wickens X BriddickIndia2026-07-06Commercial Press UNQUALIFIED49Stephen Shaw
1022Aditya D StensethIndia2026-07-12Buckley Miller Wright NEGOTIATION88Bernardo Dominic
1023Clifford U GlickAustralia2026-07-12Dorl, James J Esq NEGOTIATION18Ivan Magalhaes
1024Murillo N BologniaFrance2026-06-25Printing Dimensions NEGOTIATION20Stephen Shaw
1025Costa O InouyeIndia2026-07-13Chanay, Jeffrey A Esq PROPOSAL23Elwin Sharvill
1026Wickens A IturbideUnited Kingdom2026-06-17Benton, John B Jr NEW75Stephen Shaw
1027Chavez M InouyeJapan2026-06-21Morlong Associates UNQUALIFIED6Ioni Bowcher
1028Isabel S CaldareraArgentina2026-07-09Chapman, Ross E Esq QUALIFIED86Ivan Magalhaes
1029Maisha H InouyeIndia2026-07-14Truhlar And Truhlar Attys RENEWAL89Asiya Javayant
1030Kadeem G GlickRussia2026-07-05Dorl, James J Esq RENEWAL46Ioni Bowcher
1031Faith G RoysterAustralia2026-06-18Rousseaux, Michael Esq NEGOTIATION30Ioni Bowcher
1032Stacey E SergiCanada2026-07-03King, Christopher A Esq NEGOTIATION84Amy Elsner
1033Chavez P RoysterGermany2026-06-27Chemel, James L Cpa NEW87Ioni Bowcher
1034Misaki K PerinRussia2026-06-30Chemel, James L Cpa QUALIFIED51Anna Fali
1035Munro F GillianAustralia2026-07-09Chapman, Ross E Esq RENEWAL28Ivan Magalhaes
1036Izzy M VenereItaly2026-06-28Chemel, James L Cpa QUALIFIED6Stephen Shaw
1037Octavia I MaletJapan2026-07-14Feiner Bros NEGOTIATION76Amy Elsner
1038Chavez O GarufiArgentina2026-07-15Morlong Associates PROPOSAL36Ioni Bowcher
1039Octavia V PoquetteItaly2026-06-27Printing Dimensions UNQUALIFIED57Elwin Sharvill
1040Rodrigues B KuskoArgentina2026-07-09Rousseaux, Michael Esq PROPOSAL8Asiya Javayant
1041Maisha T GauchoIndia2026-06-24Printing Dimensions QUALIFIED56Amy Elsner
1042Johnson I BowleyUnited Kingdom2026-07-06Printing Dimensions QUALIFIED26Bernardo Dominic
1043Maisha Q BologniaCanada2026-07-14Printing Dimensions QUALIFIED71Stephen Shaw
1044Ricardo E CaldareraUnited Kingdom2026-06-25Chanay, Jeffrey A Esq QUALIFIED43Onyama Limba
1045Octavia K OldroydAustralia2026-07-02Feltz Printing Service NEGOTIATION47Stephen Shaw
1046Deepesh R VocelkaIndia2026-06-23Dorl, James J Esq RENEWAL93Amy Elsner
1047Kaitlin H StockhamGermany2026-07-10Rousseaux, Michael Esq NEW31Anna Fali
1048Aika N StensethItaly2026-07-07Printing Dimensions NEW44Xuxue Feng
1049Antonio D ButtArgentina2026-07-05Feiner Bros NEGOTIATION90Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jefferson J RoysterCanadaBernardo Dominic QUALIFIED
Clifford Q RoysterCanadaElwin Sharvill NEGOTIATION
Tony C BriddickRussiaIvan Magalhaes QUALIFIED
Aika S ButtJapanStephen Shaw NEGOTIATION
Ivar Q RutaJapanAmy Elsner NEGOTIATION
Francesco B MorascaItalyIvan Magalhaes QUALIFIED
Chavez G OstroskyJapanIoni Bowcher QUALIFIED
Aruna L BriddickIndiaAmy Elsner RENEWAL
Arvin O DoeUnited KingdomStephen Shaw QUALIFIED
Ashley R TollnerFranceBernardo Dominic PROPOSAL
Mujtaba F StockhamBrazilAnna Fali NEGOTIATION
Cody A MorascaCanadaBernardo Dominic NEW
Greenwood E ShinkoRussiaBernardo Dominic RENEWAL
Wickens M RulapaughRussiaAsiya Javayant PROPOSAL
Adams Z CaudyJapanBernardo Dominic NEGOTIATION
Isabel Q SlusarskiGermanyElwin Sharvill RENEWAL
Rodrigues C GlickSpainBernardo Dominic UNQUALIFIED
Jeanfrancois O GillianArgentinaXuxue Feng NEW
Aika B ButtUnited KingdomBernardo Dominic NEW
Wickens C MaletArgentinaXuxue Feng NEW
Aditya C FlosiCanadaIoni Bowcher UNQUALIFIED
Smith W FollerAustraliaBernardo Dominic NEW
Sinclair D SergiJapanAnna Fali NEW
Misaki C BriddickCanadaStephen Shaw QUALIFIED
Ivar E VenereArgentinaIvan Magalhaes NEW
Salvatore R SergiIndiaBernardo Dominic NEW
Ricardo J SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Izzy F SaylorsRussiaAnna Fali NEW
Adams O MacleadCanadaBernardo Dominic QUALIFIED
Ricardo H WieserAustraliaOnyama Limba QUALIFIED
Rodrigues R RoysterIndiaIoni Bowcher PROPOSAL
Ricardo C ButtUnited KingdomElwin Sharvill RENEWAL
Claire Y MaletSpainBernardo Dominic RENEWAL
Stacey O DarakjyArgentinaIvan Magalhaes QUALIFIED
Mujtaba A StensethGermanyOnyama Limba NEW
Izzy N StensethBrazilXuxue Feng QUALIFIED
Stacey P ChuiFranceStephen Shaw RENEWAL
Munro S PoquetteBrazilAmy Elsner PROPOSAL
Faith E NickaGermanyBernardo Dominic NEGOTIATION
Tony F MaletBrazilIvan Magalhaes QUALIFIED
Silvio Q AmigonGermanyElwin Sharvill PROPOSAL
Jefferson Q AmigonFranceStephen Shaw NEGOTIATION
Costa O RimJapanStephen Shaw NEGOTIATION
Deepesh L CaldareraAustraliaBernardo Dominic NEW
Tony P DarakjyJapanIoni Bowcher NEGOTIATION
Claire Y FlosiJapanXuxue Feng NEGOTIATION
James F AmigonArgentinaStephen Shaw NEW
Leja W FlosiCanadaXuxue Feng NEGOTIATION
Juan G KolmetzItalyBernardo Dominic NEW
Izzy U MarrierGermanyXuxue Feng PROPOSAL
Frozen Columns
Name
Ricardo R Kolmetz
Leon N Venere
Deepesh D Inouye
Antonio M Shinko
Jennifer V Wieser
Jones Z Morasca
Antonio B Iturbide
Claire X Kusko
Jennifer H Figeroa
Mayumi B Bowley
Cody C Rim
David N Rim
Ashley O Darakjy
Juan H Chui
Isabel P Bowley
Nicolas H Waycott
Misaki P Campain
Tony N Malet
Morrow A Poquette
Juan X Ruta
Jones V Morasca
Isabel I Garufi
Deepesh F Perin
James E Kolmetz
Stacey O Iturbide
Costa F Gillian
Julie N Campain
Antonio Y Royster
Adams B Rim
Antonio D Campain
Faith N Campain
James W Glick
Cody Z Chui
Salvatore Z Campain
Alejandro S Caudy
Tony E Caudy
Wickens W Perin
Smith Q Rim
Adams A Nicka
Sinclair J Shinko
Faith L Garufi
Adams W Paprocki
Murillo N Tollner
Costa N Briddick
David S Ruta
Salvatore Z Glick
Sinclair L Chui
Tony U Briddick
Jones P Flosi
Stacey A Ruta
IdCountryDate
1000Russia2026-07-12
1001Germany2026-06-19
1002India2026-07-16
1003France2026-07-03
1004Japan2026-07-15
1005Canada2026-07-05
1006Brazil2026-06-22
1007Brazil2026-06-20
1008Canada2026-07-16
1009France2026-06-24
1010India2026-06-20
1011Canada2026-07-10
1012Australia2026-06-25
1013Spain2026-07-02
1014Russia2026-07-14
1015Spain2026-07-12
1016France2026-06-26
1017Spain2026-06-26
1018Germany2026-07-08
1019Argentina2026-07-08
1020United Kingdom2026-07-01
1021Canada2026-07-12
1022Spain2026-07-03
1023Argentina2026-07-09
1024Italy2026-06-17
1025United Kingdom2026-07-07
1026Japan2026-06-30
1027Argentina2026-07-12
1028Argentina2026-07-12
1029Russia2026-06-27
1030Japan2026-07-02
1031Argentina2026-06-19
1032Australia2026-06-25
1033India2026-07-03
1034Russia2026-07-02
1035Italy2026-07-13
1036Spain2026-07-06
1037France2026-06-18
1038Brazil2026-06-28
1039Russia2026-06-18
1040Spain2026-06-29
1041Germany2026-07-07
1042India2026-07-05
1043Russia2026-06-17
1044Italy2026-07-04
1045Japan2026-07-04
1046Italy2026-07-05
1047India2026-06-19
1048Argentina2026-06-27
1049Australia2026-06-19

On-Demand Data

NameIdCountryDate
Ivar N Bowley1000Germany2026-07-03
Kaitlin K Iturbide1001United Kingdom2026-07-03
Octavia Y Glick1002United Kingdom2026-06-21
Jennifer I Bowley1003Argentina2026-07-04
Deepesh I Slusarski1004United Kingdom2026-06-18
Johnson N Shinko1005United Kingdom2026-07-16
Aika X Malet1006Germany2026-07-05
Maisha A Gillian1007Spain2026-07-09
Mayumi V Bolognia1008Japan2026-07-06
Mayumi J Wieser1009Japan2026-07-02
Salvatore M Dilliard1010Russia2026-07-14
Tony B Gillian1011Spain2026-07-11
Aika S Poquette1012Japan2026-07-01
Murillo L Paprocki1013Italy2026-06-24
Silvio Z Shinko1014Italy2026-07-03
Greenwood Q Stenseth1015France2026-07-01
Deepesh F Chui1016United Kingdom2026-06-17
Munro U Rulapaugh1017Canada2026-07-10
Darci Y Slusarski1018France2026-07-13
Aditya I Nicka1019Australia2026-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore A SaylorsBrazilAmy Elsner NEGOTIATION
James P DoeItalyBernardo Dominic RENEWAL
Tony O FollerCanadaAsiya Javayant NEGOTIATION
Mayumi D WieserBrazilAnna Fali QUALIFIED
Maria F PerinArgentinaAsiya Javayant RENEWAL
Jones M PaprockiRussiaBernardo Dominic PROPOSAL
Izzy O CaldareraRussiaAnna Fali NEGOTIATION
Antonio V ChuiFranceIoni Bowcher UNQUALIFIED
Antonio J GillianArgentinaXuxue Feng PROPOSAL
Jeanfrancois L StensethGermanyBernardo Dominic UNQUALIFIED
Leon P OldroydUnited KingdomIvan Magalhaes NEW
Ashley O SaylorsGermanyStephen Shaw PROPOSAL
Deepesh K PoquetteJapanStephen Shaw RENEWAL
Tony H DoeSpainXuxue Feng UNQUALIFIED
Francesco N InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Murillo Q BologniaAustraliaIoni Bowcher UNQUALIFIED
Sinclair K RulapaughItalyStephen Shaw NEGOTIATION
Mujtaba N CampainSpainAmy Elsner NEGOTIATION
Maria Z VenereAustraliaBernardo Dominic NEW
Maria X FollerAustraliaAnna Fali NEW
Misaki D OldroydGermanyAnna Fali RENEWAL
Isabel C RutaGermanyElwin Sharvill UNQUALIFIED
Stacey H FigeroaIndiaIvan Magalhaes PROPOSAL
Costa K ButtJapanAmy Elsner NEGOTIATION
Isabel U SchemmerCanadaElwin Sharvill NEGOTIATION
Leja Q SaylorsBrazilXuxue Feng NEGOTIATION
Salvatore M WieserJapanBernardo Dominic RENEWAL
Kadeem U DoeIndiaElwin Sharvill NEW
Mujtaba T FlosiIndiaElwin Sharvill NEGOTIATION
Isabel L AmigonUnited KingdomStephen Shaw NEW
Maria H ShinkoBrazilAnna Fali PROPOSAL
Adams X TollnerCanadaElwin Sharvill UNQUALIFIED
David S DarakjyUnited KingdomXuxue Feng NEGOTIATION
Aditya V KuskoSpainAnna Fali QUALIFIED
Leon Z AlbaresGermanyOnyama Limba PROPOSAL
Julie W KolmetzGermanyStephen Shaw QUALIFIED
Jeanfrancois L PerinJapanXuxue Feng QUALIFIED
Morrow W CampainRussiaAsiya Javayant NEGOTIATION
Maria P WieserUnited KingdomAmy Elsner NEGOTIATION
Jefferson A GillianIndiaIoni Bowcher 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>