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
Adams S RimCanadaElwin Sharvill NEW
Johnson M NestleGermanyElwin Sharvill UNQUALIFIED
Ricardo T DoeCanadaElwin Sharvill NEW
Juan F KolmetzRussiaStephen Shaw PROPOSAL
Smith B DilliardAustraliaAsiya Javayant UNQUALIFIED
Octavia X DarakjyJapanIoni Bowcher NEW
Julie S DarakjyCanadaXuxue Feng NEW
Wickens N GillianUnited KingdomOnyama Limba QUALIFIED
James O WieserCanadaIoni Bowcher NEGOTIATION
Rodrigues T GlickSpainAnna Fali NEGOTIATION
Claire Q GauchoIndiaIoni Bowcher UNQUALIFIED
Darci J FerenczRussiaIoni Bowcher PROPOSAL
Isabel L PoquetteArgentinaIvan Magalhaes NEGOTIATION
Chavez M FollerCanadaBernardo Dominic PROPOSAL
Nicolas Y NickaGermanyBernardo Dominic NEGOTIATION
Sinclair N GauchoGermanyIoni Bowcher NEW
James Z ShinkoArgentinaStephen Shaw RENEWAL
Deepesh S FlosiGermanyAmy Elsner QUALIFIED
Silvio X PoquetteArgentinaStephen Shaw RENEWAL
James U SergiAustraliaXuxue Feng NEGOTIATION
Faith J BowleyGermanyAsiya Javayant PROPOSAL
Silvio G DilliardIndiaBernardo Dominic UNQUALIFIED
Mujtaba I OstroskyArgentinaOnyama Limba UNQUALIFIED
Ricardo F CaldareraUnited KingdomOnyama Limba RENEWAL
Kaitlin W FlosiFranceIvan Magalhaes QUALIFIED
Stacey U BowleyUnited KingdomAmy Elsner QUALIFIED
Claire D VocelkaBrazilAnna Fali NEGOTIATION
Morrow A IturbideCanadaOnyama Limba UNQUALIFIED
Wickens M PaprockiFranceBernardo Dominic PROPOSAL
Stacey Q VenereCanadaElwin Sharvill NEGOTIATION
Chavez M BowleyGermanyAsiya Javayant NEW
Francesco D TollnerRussiaBernardo Dominic UNQUALIFIED
Ashley W MarrierJapanAnna Fali NEW
Maria F FerenczFranceIvan Magalhaes NEW
Smith P ShinkoItalyStephen Shaw NEW
Darci K BriddickIndiaIoni Bowcher PROPOSAL
Stacey T ShinkoArgentinaBernardo Dominic UNQUALIFIED
Maria K SchemmerAustraliaElwin Sharvill QUALIFIED
Juan Z MarrierJapanBernardo Dominic NEGOTIATION
David R PaprockiCanadaAmy Elsner UNQUALIFIED
Tony S TollnerGermanyOnyama Limba QUALIFIED
Clifford F GauchoAustraliaBernardo Dominic NEGOTIATION
David Y CampainAustraliaIoni Bowcher RENEWAL
Ivar B CampainGermanyXuxue Feng PROPOSAL
Munro A GlickCanadaOnyama Limba UNQUALIFIED
Isabel Y FigeroaSpainIoni Bowcher NEW
Maria W ChuiJapanIoni Bowcher PROPOSAL
Alejandro H SlusarskiGermanyBernardo Dominic UNQUALIFIED
Arvin P SergiJapanAsiya Javayant PROPOSAL
Isabel F WhobreyCanadaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Munro P FollerUnited KingdomBernardo Dominic NEW
Ivar X MarrierArgentinaAmy Elsner NEGOTIATION
Julie H OstroskyJapanXuxue Feng NEW
Murillo V GlickAustraliaAmy Elsner NEGOTIATION
Izzy V VenereItalyStephen Shaw PROPOSAL
Julie J RimItalyAnna Fali RENEWAL
James T MorascaRussiaAmy Elsner PROPOSAL
Munro V SaylorsArgentinaBernardo Dominic QUALIFIED
Jeanfrancois C VenereSpainAnna Fali QUALIFIED
Octavia M RoysterJapanOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues C CaudyUnited Kingdom2026-07-27Feiner Bros NEGOTIATION23Ivan Magalhaes
1001Kaitlin M TollnerUnited Kingdom2026-08-08Printing Dimensions UNQUALIFIED19Xuxue Feng
1002Alejandro X IturbideJapan2026-07-15Dorl, James J Esq PROPOSAL98Onyama Limba
1003Antonio L SaylorsUnited Kingdom2026-07-22Commercial Press RENEWAL90Asiya Javayant
1004Jennifer H SlusarskiGermany2026-07-25Commercial Press NEGOTIATION4Anna Fali
1005Johnson G CampainAustralia2026-07-12Feiner Bros QUALIFIED94Stephen Shaw
1006Kaitlin Q SaylorsJapan2026-07-17Dorl, James J Esq NEW66Stephen Shaw
1007David O GauchoGermany2026-07-19Feltz Printing Service PROPOSAL90Onyama Limba
1008Jefferson X CaldareraJapan2026-08-05Rangoni Of Florence NEW20Onyama Limba
1009Jennifer K MaletJapan2026-07-14Commercial Press UNQUALIFIED83Ioni Bowcher
1010Munro Z StockhamBrazil2026-08-04Truhlar And Truhlar Attys NEGOTIATION37Elwin Sharvill
1011Juan W SaylorsUnited Kingdom2026-07-27Morlong Associates UNQUALIFIED70Anna Fali
1012Munro O RulapaughAustralia2026-08-09Buckley Miller Wright UNQUALIFIED66Amy Elsner
1013Sinclair M MarrierBrazil2026-07-14Truhlar And Truhlar Attys NEGOTIATION47Onyama Limba
1014Costa W SaylorsAustralia2026-07-30Printing Dimensions NEW44Onyama Limba
1015Morrow L RutaJapan2026-08-01Chemel, James L Cpa PROPOSAL62Xuxue Feng
1016David Q NickaGermany2026-07-21Rangoni Of Florence QUALIFIED10Ioni Bowcher
1017Adams W OstroskyBrazil2026-07-15Dorl, James J Esq RENEWAL61Ioni Bowcher
1018Silvio T CaudyRussia2026-07-16Rousseaux, Michael Esq PROPOSAL71Ivan Magalhaes
1019Maria Z VenereCanada2026-07-22Buckley Miller Wright PROPOSAL83Ioni Bowcher
1020Maria F FlosiIndia2026-08-02Dorl, James J Esq QUALIFIED61Ivan Magalhaes
1021Mujtaba Y BowleyGermany2026-07-14Feiner Bros UNQUALIFIED11Anna Fali
1022Arvin S StensethBrazil2026-07-13Benton, John B Jr QUALIFIED93Ivan Magalhaes
1023Rodrigues V BologniaGermany2026-07-19Printing Dimensions NEW35Elwin Sharvill
1024Jones L MaletCanada2026-08-05King, Christopher A Esq QUALIFIED90Elwin Sharvill
1025Kadeem O DilliardArgentina2026-08-02Truhlar And Truhlar Attys NEW11Onyama Limba
1026Leon C AlbaresJapan2026-07-21Dorl, James J Esq PROPOSAL40Amy Elsner
1027Misaki E GarufiJapan2026-07-25Dorl, James J Esq PROPOSAL93Asiya Javayant
1028Chavez P NickaBrazil2026-08-01Benton, John B Jr NEGOTIATION83Onyama Limba
1029Rodrigues X VocelkaUnited Kingdom2026-08-02Feltz Printing Service QUALIFIED28Anna Fali
1030Emily P OldroydSpain2026-08-03Commercial Press QUALIFIED63Xuxue Feng
1031Aditya R RutaArgentina2026-08-04Feltz Printing Service NEGOTIATION77Onyama Limba
1032Faith Y NickaJapan2026-07-30Chapman, Ross E Esq NEGOTIATION85Xuxue Feng
1033Leon Z StockhamBrazil2026-08-09King, Christopher A Esq UNQUALIFIED8Bernardo Dominic
1034Ricardo B ShinkoSpain2026-07-22Dorl, James J Esq RENEWAL89Ivan Magalhaes
1035Emily Q MacleadItaly2026-07-11Benton, John B Jr RENEWAL63Bernardo Dominic
1036Claire M MaletBrazil2026-08-04Chanay, Jeffrey A Esq NEW82Bernardo Dominic
1037Juan C SaylorsFrance2026-07-15Feiner Bros PROPOSAL63Xuxue Feng
1038Rodrigues C DarakjyFrance2026-07-28Rousseaux, Michael Esq NEW1Ioni Bowcher
1039Smith V OldroydGermany2026-08-02Rousseaux, Michael Esq RENEWAL29Ioni Bowcher
1040Cody I MaletIndia2026-07-28Rousseaux, Michael Esq PROPOSAL53Ivan Magalhaes
1041Isabel C WieserBrazil2026-07-13Feltz Printing Service NEW42Ivan Magalhaes
1042Octavia Y MorascaGermany2026-07-20Chanay, Jeffrey A Esq PROPOSAL13Asiya Javayant
1043Mayumi Z WieserGermany2026-07-12Commercial Press QUALIFIED10Anna Fali
1044Emily S MaletJapan2026-07-22Morlong Associates NEGOTIATION68Elwin Sharvill
1045Jefferson S InouyeGermany2026-07-20Rousseaux, Michael Esq NEW7Ioni Bowcher
1046Faith U RimFrance2026-07-15King, Christopher A Esq RENEWAL13Onyama Limba
1047Octavia O ButtJapan2026-07-14Printing Dimensions NEW22Asiya Javayant
1048Salvatore P WhobreyJapan2026-07-31Feiner Bros NEW22Ivan Magalhaes
1049Salvatore W FerenczArgentina2026-08-07Feiner Bros NEGOTIATION33Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens L RoysterAustraliaStephen Shaw NEGOTIATION
Jefferson T CaldareraArgentinaAsiya Javayant RENEWAL
James L RimUnited KingdomIoni Bowcher NEW
David O InouyeGermanyAmy Elsner NEW
Izzy J NickaRussiaAmy Elsner NEGOTIATION
Kadeem G BowleyJapanBernardo Dominic NEW
Aruna O FerenczUnited KingdomStephen Shaw NEGOTIATION
Cody Z MorascaIndiaAnna Fali PROPOSAL
Jefferson U GarufiItalyIoni Bowcher NEGOTIATION
Octavia K NickaFranceStephen Shaw PROPOSAL
Maria U FollerItalyAmy Elsner UNQUALIFIED
Cody G SergiArgentinaIvan Magalhaes UNQUALIFIED
Misaki Q AmigonArgentinaAsiya Javayant RENEWAL
Smith Y SlusarskiGermanyOnyama Limba NEW
Clifford Z SchemmerIndiaIoni Bowcher QUALIFIED
Smith T MaletArgentinaStephen Shaw NEGOTIATION
Misaki X BologniaArgentinaAsiya Javayant RENEWAL
Maisha Q VenereRussiaAnna Fali NEW
Kaitlin A DoeAustraliaElwin Sharvill NEGOTIATION
Murillo A AmigonGermanyAsiya Javayant NEGOTIATION
Johnson Q IturbideCanadaOnyama Limba UNQUALIFIED
Adams E MacleadUnited KingdomIoni Bowcher PROPOSAL
Nicolas U OstroskyAustraliaElwin Sharvill RENEWAL
Tony R NestleFranceIoni Bowcher PROPOSAL
Claire E VocelkaFranceIoni Bowcher RENEWAL
David S BriddickSpainXuxue Feng PROPOSAL
Isabel E BriddickGermanyOnyama Limba UNQUALIFIED
Tony V WaycottAustraliaXuxue Feng UNQUALIFIED
Arvin B MaletIndiaXuxue Feng QUALIFIED
Juan K SergiAustraliaXuxue Feng UNQUALIFIED
Juan R OstroskyItalyAnna Fali UNQUALIFIED
Costa Y FlosiGermanyStephen Shaw QUALIFIED
Silvio Y DoeGermanyAmy Elsner NEGOTIATION
Alejandro C CaldareraRussiaStephen Shaw PROPOSAL
Smith C CampainGermanyAsiya Javayant RENEWAL
Costa K MaletRussiaAmy Elsner UNQUALIFIED
Sinclair E CaudyJapanStephen Shaw RENEWAL
Claire Y PoquetteRussiaStephen Shaw RENEWAL
Greenwood B MaletGermanyElwin Sharvill NEW
Sinclair X SergiUnited KingdomElwin Sharvill RENEWAL
Kaitlin Q DoeIndiaAsiya Javayant UNQUALIFIED
Darci P TollnerRussiaAnna Fali NEW
Rodrigues U InouyeItalyAsiya Javayant UNQUALIFIED
Salvatore X SergiAustraliaStephen Shaw RENEWAL
Costa E MarrierBrazilElwin Sharvill PROPOSAL
Morrow V GauchoCanadaBernardo Dominic PROPOSAL
Morrow F MaletFranceBernardo Dominic NEGOTIATION
Claire O WieserIndiaStephen Shaw NEW
Leja W RulapaughArgentinaXuxue Feng RENEWAL
Alejandro H PaprockiAustraliaXuxue Feng RENEWAL
Frozen Columns
Name
Kaitlin J Tollner
Deepesh O Briddick
Mayumi A Whobrey
Rodrigues S Morasca
Julie F Morasca
Izzy D Glick
Julie G Maclead
Maisha L Ruta
Smith Z Nestle
Adams R Slusarski
Kadeem H Inouye
Jones V Gaucho
David N Amigon
Juan P Garufi
Emily D Malet
Emily S Malet
Faith I Slusarski
Adams W Amigon
Emily I Royster
Clifford B Stockham
Alejandro I Inouye
Francesco M Stenseth
Leon Q Nicka
Julie H Ostrosky
Nicolas I Marrier
Misaki V Garufi
Wickens Q Sergi
Kaitlin E Sergi
Smith E Inouye
Izzy Y Iturbide
Deepesh B Caudy
Ricardo M Ostrosky
Costa R Rim
Munro O Doe
Leja H Rulapaugh
Greenwood S Albares
Leja Q Iturbide
Jefferson A Saylors
Jefferson V Kusko
Antonio V Poquette
Silvio U Wieser
Aruna R Dilliard
Adams I Royster
Johnson V Marrier
Kaitlin K Caldarera
Morrow R Albares
Darci Y Waycott
Isabel M Briddick
Chavez T Wieser
Isabel T Morasca
IdCountryDate
1000Italy2026-07-22
1001United Kingdom2026-08-07
1002Argentina2026-07-27
1003Italy2026-07-14
1004India2026-08-09
1005Russia2026-08-02
1006Russia2026-08-02
1007Spain2026-07-31
1008France2026-07-21
1009Brazil2026-07-12
1010Australia2026-08-04
1011United Kingdom2026-08-09
1012Australia2026-07-16
1013Canada2026-08-04
1014United Kingdom2026-08-02
1015Brazil2026-07-26
1016Spain2026-08-07
1017United Kingdom2026-07-28
1018Japan2026-07-17
1019India2026-07-23
1020Spain2026-07-30
1021France2026-07-14
1022Germany2026-07-26
1023United Kingdom2026-08-08
1024Australia2026-07-14
1025United Kingdom2026-08-05
1026Canada2026-08-09
1027India2026-07-30
1028Brazil2026-07-22
1029Russia2026-08-09
1030Canada2026-08-09
1031Japan2026-07-27
1032United Kingdom2026-07-30
1033Italy2026-07-25
1034France2026-08-03
1035Canada2026-07-15
1036India2026-08-09
1037Canada2026-08-01
1038Japan2026-08-05
1039France2026-08-01
1040Japan2026-07-20
1041Germany2026-07-27
1042Brazil2026-07-30
1043Germany2026-08-02
1044Japan2026-07-17
1045United Kingdom2026-08-08
1046Russia2026-07-28
1047India2026-08-01
1048Australia2026-08-05
1049United Kingdom2026-08-02

On-Demand Data

NameIdCountryDate
Jefferson R Kolmetz1000Canada2026-08-07
Mujtaba J Poquette1001Argentina2026-07-15
Arvin W Bowley1002Argentina2026-07-21
Claire L Nestle1003Argentina2026-07-23
Munro Q Poquette1004Germany2026-08-08
Deepesh A Flosi1005Russia2026-07-17
Antonio C Doe1006Brazil2026-07-30
Wickens W Poquette1007Italy2026-07-29
Faith N Flosi1008Russia2026-07-26
Francesco W Venere1009Germany2026-07-15
Claire Z Whobrey1010Italy2026-07-20
Munro S Ruta1011Germany2026-07-12
Aruna V Gillian1012Canada2026-07-22
Salvatore L Foller1013Canada2026-07-22
Sinclair L Maclead1014Australia2026-08-01
James D Malet1015United Kingdom2026-07-27
Aruna Y Figeroa1016Russia2026-07-20
Octavia T Flosi1017France2026-07-23
Leja J Bolognia1018Brazil2026-08-08
Alejandro B Kolmetz1019Russia2026-07-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois D WhobreyIndiaXuxue Feng NEW
Maria D MorascaItalyXuxue Feng QUALIFIED
Darci Y PerinBrazilElwin Sharvill NEW
Ricardo S FigeroaArgentinaIoni Bowcher PROPOSAL
Ivar J CaldareraFranceXuxue Feng UNQUALIFIED
Murillo I BriddickFranceAmy Elsner NEW
Darci B FerenczSpainElwin Sharvill QUALIFIED
Juan A VenereUnited KingdomIoni Bowcher UNQUALIFIED
Aditya J RoysterArgentinaStephen Shaw RENEWAL
Clifford H SchemmerIndiaXuxue Feng QUALIFIED
David H KuskoCanadaStephen Shaw NEGOTIATION
Costa R GauchoItalyStephen Shaw UNQUALIFIED
Izzy K TollnerBrazilAmy Elsner NEGOTIATION
Misaki M StockhamJapanElwin Sharvill UNQUALIFIED
Kaitlin F VocelkaGermanyAmy Elsner PROPOSAL
Julie O SergiItalyXuxue Feng NEW
Kadeem R WaycottSpainOnyama Limba UNQUALIFIED
Ricardo T GlickItalyBernardo Dominic RENEWAL
Kadeem Q OldroydCanadaAnna Fali NEW
Murillo C FlosiIndiaIvan Magalhaes NEW
Sinclair T GlickAustraliaBernardo Dominic RENEWAL
Rodrigues J GauchoIndiaAsiya Javayant PROPOSAL
Mujtaba P GillianRussiaBernardo Dominic QUALIFIED
Cody R NickaRussiaAsiya Javayant PROPOSAL
Ashley B GlickAustraliaElwin Sharvill NEW
Silvio X MacleadGermanyAnna Fali NEGOTIATION
Juan F SaylorsFranceIvan Magalhaes PROPOSAL
Maria Q ButtArgentinaStephen Shaw PROPOSAL
Francesco N GillianUnited KingdomAsiya Javayant NEW
Leja Y KolmetzItalyIvan Magalhaes UNQUALIFIED
Chavez T MacleadJapanOnyama Limba QUALIFIED
Aruna L BologniaCanadaIoni Bowcher QUALIFIED
Claire W RutaUnited KingdomElwin Sharvill PROPOSAL
Wickens E AmigonIndiaStephen Shaw PROPOSAL
Adams H FlosiIndiaElwin Sharvill RENEWAL
Juan L StensethFranceAmy Elsner NEGOTIATION
Chavez O BologniaBrazilAsiya Javayant NEW
Cody F RimFranceStephen Shaw NEGOTIATION
Salvatore E ShinkoBrazilAmy Elsner UNQUALIFIED
Nicolas R FlosiGermanyElwin Sharvill 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>