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
Aika R DarakjyItalyOnyama Limba QUALIFIED
Adams H KuskoBrazilElwin Sharvill PROPOSAL
Tony A StensethIndiaElwin Sharvill UNQUALIFIED
Alejandro N GlickUnited KingdomAsiya Javayant UNQUALIFIED
Darci U SergiJapanOnyama Limba NEGOTIATION
Jennifer W BriddickBrazilAmy Elsner UNQUALIFIED
David T DarakjyCanadaAmy Elsner PROPOSAL
Mujtaba W MaletArgentinaAsiya Javayant UNQUALIFIED
Tony E FigeroaAustraliaXuxue Feng PROPOSAL
Antonio I SchemmerCanadaStephen Shaw RENEWAL
Maisha X WaycottJapanIoni Bowcher QUALIFIED
Octavia A RimGermanyBernardo Dominic NEW
Antonio U TollnerItalyElwin Sharvill QUALIFIED
Smith B SlusarskiIndiaStephen Shaw UNQUALIFIED
Morrow S WieserItalyBernardo Dominic UNQUALIFIED
Mujtaba J FerenczIndiaXuxue Feng UNQUALIFIED
Juan O DarakjyGermanyIvan Magalhaes QUALIFIED
Mayumi O IturbideUnited KingdomStephen Shaw UNQUALIFIED
Isabel Z OldroydUnited KingdomOnyama Limba UNQUALIFIED
Ashley K BologniaCanadaElwin Sharvill RENEWAL
Clifford A RulapaughFranceAnna Fali UNQUALIFIED
Smith T SchemmerRussiaElwin Sharvill PROPOSAL
Tony H PerinFranceOnyama Limba NEGOTIATION
Nicolas J CampainUnited KingdomStephen Shaw NEW
Jeanfrancois D WhobreySpainAmy Elsner NEGOTIATION
Cody E SlusarskiItalyAnna Fali QUALIFIED
Faith L FigeroaItalyElwin Sharvill QUALIFIED
Juan A MarrierSpainIvan Magalhaes PROPOSAL
Juan I IturbideItalyOnyama Limba QUALIFIED
Chavez Q CampainBrazilAsiya Javayant NEW
Ashley T KolmetzArgentinaAnna Fali NEW
Aika S NickaRussiaOnyama Limba RENEWAL
Jeanfrancois A FollerFranceIvan Magalhaes QUALIFIED
Misaki A BologniaJapanIoni Bowcher RENEWAL
Jefferson D ButtBrazilStephen Shaw NEW
Smith V BowleySpainAsiya Javayant RENEWAL
David I GlickBrazilBernardo Dominic NEGOTIATION
Julie P WieserRussiaStephen Shaw NEW
Leon I IturbideAustraliaXuxue Feng QUALIFIED
Kaitlin P FerenczFranceBernardo Dominic UNQUALIFIED
Jefferson R DilliardBrazilElwin Sharvill UNQUALIFIED
Adams C AmigonCanadaOnyama Limba NEGOTIATION
Jones R SergiItalyIvan Magalhaes RENEWAL
Jennifer V FlosiGermanyXuxue Feng PROPOSAL
Jefferson I WhobreyJapanXuxue Feng PROPOSAL
Sinclair I FerenczItalyXuxue Feng PROPOSAL
Aika B DilliardSpainBernardo Dominic NEGOTIATION
Johnson Y AlbaresCanadaAsiya Javayant PROPOSAL
Mujtaba Z BologniaJapanStephen Shaw UNQUALIFIED
Jones N GlickItalyStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Octavia B KolmetzGermanyAsiya Javayant UNQUALIFIED
Wickens Y VenereCanadaAsiya Javayant NEW
Aditya C GarufiAustraliaXuxue Feng UNQUALIFIED
David V RulapaughJapanXuxue Feng NEGOTIATION
Johnson I VocelkaItalyIvan Magalhaes QUALIFIED
Jones D BowleyRussiaXuxue Feng RENEWAL
Rodrigues V SaylorsItalyElwin Sharvill RENEWAL
Jeanfrancois J GarufiSpainAmy Elsner RENEWAL
Greenwood L GarufiSpainAnna Fali UNQUALIFIED
Rodrigues C FigeroaItalyIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco X SchemmerUnited Kingdom2026-08-05Chanay, Jeffrey A Esq NEGOTIATION66Amy Elsner
1001Jennifer G SaylorsIndia2026-08-30Buckley Miller Wright PROPOSAL95Stephen Shaw
1002Stacey T SlusarskiCanada2026-08-12Buckley Miller Wright RENEWAL7Bernardo Dominic
1003Francesco Y VocelkaGermany2026-08-28Chemel, James L Cpa UNQUALIFIED45Onyama Limba
1004Isabel I SlusarskiRussia2026-08-27Truhlar And Truhlar Attys PROPOSAL66Elwin Sharvill
1005Salvatore Y MaletRussia2026-08-20Chapman, Ross E Esq UNQUALIFIED89Amy Elsner
1006Antonio Z MaletFrance2026-08-14Printing Dimensions NEGOTIATION67Stephen Shaw
1007Mayumi W RulapaughIndia2026-08-20Truhlar And Truhlar Attys NEGOTIATION61Ioni Bowcher
1008Aditya Q AmigonItaly2026-08-13Commercial Press RENEWAL24Asiya Javayant
1009Kaitlin H PaprockiBrazil2026-08-31Printing Dimensions UNQUALIFIED48Elwin Sharvill
1010Maisha N VenereIndia2026-08-04Dorl, James J Esq RENEWAL90Xuxue Feng
1011Chavez N GlickIndia2026-08-09Morlong Associates QUALIFIED28Stephen Shaw
1012James L VenereCanada2026-08-18Rousseaux, Michael Esq QUALIFIED76Amy Elsner
1013Johnson Z PaprockiUnited Kingdom2026-08-07Commercial Press QUALIFIED93Ioni Bowcher
1014James A NickaBrazil2026-08-17Rangoni Of Florence RENEWAL73Anna Fali
1015Faith A MaletCanada2026-08-30King, Christopher A Esq RENEWAL62Bernardo Dominic
1016Salvatore H SchemmerRussia2026-08-28Dorl, James J Esq UNQUALIFIED40Asiya Javayant
1017Sinclair H SaylorsJapan2026-08-25King, Christopher A Esq RENEWAL41Anna Fali
1018Rodrigues E DoeFrance2026-08-26Chemel, James L Cpa QUALIFIED89Ivan Magalhaes
1019Kaitlin W GillianRussia2026-08-17Printing Dimensions UNQUALIFIED29Ioni Bowcher
1020Kaitlin O WhobreyAustralia2026-08-13Benton, John B Jr NEW78Amy Elsner
1021James H CampainSpain2026-09-02Buckley Miller Wright UNQUALIFIED75Onyama Limba
1022Antonio Z AlbaresBrazil2026-08-16Chemel, James L Cpa NEGOTIATION87Elwin Sharvill
1023Murillo I GillianSpain2026-09-01Buckley Miller Wright NEW95Elwin Sharvill
1024Aditya K FollerRussia2026-08-10Chanay, Jeffrey A Esq UNQUALIFIED89Bernardo Dominic
1025Leon D MarrierBrazil2026-08-19Morlong Associates PROPOSAL26Elwin Sharvill
1026Mayumi J SergiAustralia2026-08-06King, Christopher A Esq QUALIFIED86Ioni Bowcher
1027Leon P PaprockiIndia2026-08-15Rangoni Of Florence PROPOSAL88Ivan Magalhaes
1028Sinclair G CaldareraGermany2026-08-11Rangoni Of Florence RENEWAL70Ioni Bowcher
1029Misaki E KuskoGermany2026-08-17Rangoni Of Florence NEGOTIATION89Amy Elsner
1030Cody F DarakjyGermany2026-08-30Rousseaux, Michael Esq NEGOTIATION6Onyama Limba
1031Faith H ChuiIndia2026-08-07King, Christopher A Esq NEW78Amy Elsner
1032Juan R MaletCanada2026-08-15Chanay, Jeffrey A Esq NEGOTIATION24Ioni Bowcher
1033David C WhobreyBrazil2026-08-16Rangoni Of Florence RENEWAL14Anna Fali
1034Aruna N RoysterAustralia2026-08-25Commercial Press NEGOTIATION41Ivan Magalhaes
1035Leon V IturbideJapan2026-08-09Chanay, Jeffrey A Esq UNQUALIFIED16Onyama Limba
1036Izzy N ChuiAustralia2026-08-14Commercial Press NEW54Asiya Javayant
1037Ashley T ChuiIndia2026-08-10Rousseaux, Michael Esq RENEWAL73Ioni Bowcher
1038Aditya X OldroydFrance2026-08-06Commercial Press NEW38Ivan Magalhaes
1039Munro D FigeroaUnited Kingdom2026-08-08Feltz Printing Service PROPOSAL64Anna Fali
1040Mujtaba U AmigonIndia2026-08-29Chemel, James L Cpa NEGOTIATION62Asiya Javayant
1041Greenwood Q ButtSpain2026-08-27Dorl, James J Esq NEGOTIATION64Bernardo Dominic
1042Faith M FollerArgentina2026-08-15Truhlar And Truhlar Attys QUALIFIED73Elwin Sharvill
1043Octavia J MaletArgentina2026-08-10Rangoni Of Florence PROPOSAL61Xuxue Feng
1044Jones E BologniaCanada2026-09-02Benton, John B Jr PROPOSAL92Bernardo Dominic
1045Julie G InouyeUnited Kingdom2026-09-01Chemel, James L Cpa QUALIFIED10Anna Fali
1046Izzy B NestleIndia2026-08-08Printing Dimensions PROPOSAL29Amy Elsner
1047Leja I RoysterCanada2026-08-14Feltz Printing Service QUALIFIED34Ivan Magalhaes
1048Salvatore G SaylorsJapan2026-08-29Buckley Miller Wright NEGOTIATION13Onyama Limba
1049Jefferson U NickaUnited Kingdom2026-08-31Rangoni Of Florence RENEWAL12Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Emily P IturbideJapanAnna Fali RENEWAL
Jennifer E CaudyCanadaStephen Shaw QUALIFIED
Izzy C OstroskySpainOnyama Limba UNQUALIFIED
Maria U SchemmerJapanAnna Fali NEGOTIATION
Deepesh P SchemmerCanadaOnyama Limba NEGOTIATION
Munro E KolmetzArgentinaIoni Bowcher QUALIFIED
Maria M OldroydUnited KingdomBernardo Dominic QUALIFIED
David W KolmetzAustraliaAmy Elsner NEW
Deepesh O BologniaGermanyXuxue Feng QUALIFIED
Wickens F GlickFranceElwin Sharvill NEW
Morrow I VenereCanadaElwin Sharvill NEGOTIATION
Tony Z ChuiGermanyAnna Fali PROPOSAL
Clifford X CaudyCanadaAnna Fali NEGOTIATION
Maisha D OstroskyItalyOnyama Limba RENEWAL
Munro P BowleyJapanOnyama Limba PROPOSAL
Rodrigues P NickaItalyAnna Fali UNQUALIFIED
Nicolas L ShinkoIndiaOnyama Limba PROPOSAL
Claire D BowleyCanadaElwin Sharvill RENEWAL
Isabel Y DarakjyCanadaAmy Elsner NEGOTIATION
Ivar C DarakjyGermanyAnna Fali NEW
Adams M PoquetteUnited KingdomIvan Magalhaes NEW
Salvatore D FollerGermanyAmy Elsner PROPOSAL
Adams W MaletUnited KingdomOnyama Limba RENEWAL
Misaki A VenereUnited KingdomStephen Shaw PROPOSAL
Claire W ButtRussiaOnyama Limba NEGOTIATION
Jennifer N DoeSpainBernardo Dominic UNQUALIFIED
Maria D AmigonBrazilIvan Magalhaes RENEWAL
Sinclair F FerenczIndiaAsiya Javayant RENEWAL
Ricardo O DarakjyCanadaAsiya Javayant QUALIFIED
Leja L StockhamArgentinaBernardo Dominic PROPOSAL
Octavia P ShinkoJapanAsiya Javayant NEW
Morrow O OldroydAustraliaIvan Magalhaes PROPOSAL
Izzy V FollerAustraliaAsiya Javayant QUALIFIED
Kaitlin D ShinkoArgentinaBernardo Dominic NEW
Aruna W TollnerRussiaBernardo Dominic RENEWAL
Misaki K MaletUnited KingdomAmy Elsner QUALIFIED
Wickens T MorascaCanadaBernardo Dominic QUALIFIED
Cody M TollnerIndiaIoni Bowcher PROPOSAL
Ivar J RulapaughRussiaAmy Elsner PROPOSAL
Silvio R GlickCanadaBernardo Dominic NEW
Leja B BologniaCanadaAmy Elsner RENEWAL
Nicolas O OldroydIndiaAsiya Javayant PROPOSAL
Maria E CaldareraUnited KingdomStephen Shaw NEGOTIATION
Adams F WaycottItalyAnna Fali UNQUALIFIED
Tony D InouyeSpainAsiya Javayant NEW
Julie F MaletCanadaIvan Magalhaes RENEWAL
Aditya X RulapaughCanadaIvan Magalhaes RENEWAL
Leja T StensethItalyAmy Elsner UNQUALIFIED
Aditya B KolmetzAustraliaAmy Elsner UNQUALIFIED
Francesco T StockhamSpainStephen Shaw UNQUALIFIED
Frozen Columns
Name
Emily E Gillian
Isabel T Whobrey
Jeanfrancois A Darakjy
Leon X Poquette
Munro T Bolognia
Octavia R Perin
Kaitlin J Caldarera
James D Maclead
Francesco X Paprocki
Jennifer I Kusko
Juan R Dilliard
Antonio V Tollner
Isabel H Albares
Aika E Amigon
Jeanfrancois F Campain
Murillo E Albares
Ivar M Schemmer
Antonio P Shinko
James Q Malet
Rodrigues T Shinko
Jennifer X Waycott
Antonio H Slusarski
Leja W Amigon
Leja T Inouye
Wickens W Chui
Costa F Ferencz
Clifford V Morasca
Mayumi U Darakjy
Kadeem Z Malet
Adams X Iturbide
Ashley V Caldarera
Antonio F Gaucho
Wickens M Rim
Greenwood D Darakjy
Aditya N Tollner
Leja J Rim
Aika R Caldarera
Sinclair S Malet
Costa A Amigon
Mayumi K Glick
Greenwood E Nicka
Aditya O Saylors
Kadeem D Tollner
Smith U Waycott
Greenwood Z Darakjy
Tony B Paprocki
Jeanfrancois H Slusarski
Deepesh E Saylors
Clifford Y Bowley
Julie T Slusarski
IdCountryDate
1000Russia2026-08-22
1001Canada2026-09-01
1002Russia2026-08-14
1003Italy2026-08-20
1004India2026-08-22
1005Italy2026-08-07
1006Spain2026-08-15
1007Japan2026-08-12
1008Brazil2026-08-20
1009Japan2026-08-18
1010Spain2026-09-02
1011Spain2026-08-31
1012Brazil2026-08-11
1013Argentina2026-09-01
1014Japan2026-08-06
1015Spain2026-08-16
1016Australia2026-08-23
1017India2026-08-27
1018Russia2026-08-30
1019France2026-08-16
1020Russia2026-08-17
1021France2026-08-30
1022France2026-08-11
1023Italy2026-08-14
1024Russia2026-08-27
1025United Kingdom2026-08-13
1026France2026-08-26
1027Brazil2026-08-11
1028Russia2026-08-08
1029Germany2026-08-29
1030Germany2026-08-31
1031Italy2026-08-17
1032Germany2026-08-10
1033Italy2026-08-31
1034Japan2026-08-06
1035Russia2026-08-13
1036France2026-08-25
1037Spain2026-08-05
1038United Kingdom2026-08-14
1039Germany2026-08-05
1040India2026-09-02
1041Canada2026-08-05
1042Brazil2026-08-29
1043Japan2026-08-13
1044Canada2026-08-06
1045Russia2026-08-14
1046United Kingdom2026-08-09
1047Spain2026-08-16
1048Argentina2026-08-06
1049Japan2026-08-18

On-Demand Data

NameIdCountryDate
James J Amigon1000Canada2026-08-25
Clifford O Slusarski1001India2026-08-05
Mujtaba I Morasca1002Spain2026-08-15
Juan Q Figeroa1003Italy2026-08-10
Silvio E Waycott1004Australia2026-08-23
Clifford J Venere1005Germany2026-08-24
Jennifer L Morasca1006Argentina2026-08-25
Sinclair L Tollner1007Argentina2026-08-10
Sinclair G Bolognia1008India2026-08-09
Smith W Kusko1009Brazil2026-08-04
Chavez L Iturbide1010India2026-08-17
Misaki P Waycott1011Canada2026-08-12
Aruna L Nestle1012Brazil2026-09-02
Deepesh W Saylors1013Japan2026-08-16
Wickens S Gillian1014Germany2026-08-20
Greenwood F Kolmetz1015United Kingdom2026-08-22
Darci B Bowley1016France2026-08-31
Aika F Vocelka1017Russia2026-08-19
Emily H Caudy1018Argentina2026-08-04
Octavia X Vocelka1019Japan2026-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson H VocelkaBrazilElwin Sharvill NEW
Francesco Y IturbideAustraliaAnna Fali RENEWAL
Misaki I NickaArgentinaElwin Sharvill NEGOTIATION
Isabel T TollnerUnited KingdomIvan Magalhaes PROPOSAL
Greenwood W CaudyFranceElwin Sharvill NEW
Faith W DarakjyUnited KingdomStephen Shaw QUALIFIED
Morrow R PaprockiBrazilXuxue Feng NEGOTIATION
Silvio I GillianBrazilElwin Sharvill UNQUALIFIED
Aditya Z GillianRussiaBernardo Dominic NEW
Emily L BowleyGermanyAmy Elsner UNQUALIFIED
Johnson S RulapaughSpainBernardo Dominic RENEWAL
Ivar Q PerinUnited KingdomAmy Elsner NEW
Jones V WhobreyArgentinaIoni Bowcher UNQUALIFIED
Aika I WieserBrazilBernardo Dominic NEGOTIATION
James I WaycottSpainAnna Fali PROPOSAL
David H MarrierIndiaAnna Fali PROPOSAL
Jones Z VocelkaRussiaIoni Bowcher RENEWAL
Kaitlin S FigeroaItalyStephen Shaw NEW
James G VenereFranceAnna Fali NEGOTIATION
Wickens D FlosiSpainAsiya Javayant UNQUALIFIED
Mayumi R GarufiFranceStephen Shaw PROPOSAL
Deepesh N SaylorsRussiaElwin Sharvill QUALIFIED
Ricardo J RoysterAustraliaIvan Magalhaes NEGOTIATION
Aika M CaudyIndiaBernardo Dominic PROPOSAL
Jones L SergiArgentinaOnyama Limba QUALIFIED
Greenwood A RimAustraliaXuxue Feng RENEWAL
Smith N TollnerFranceIoni Bowcher NEGOTIATION
Leja R KolmetzArgentinaXuxue Feng RENEWAL
James A SaylorsUnited KingdomXuxue Feng NEGOTIATION
Deepesh X SchemmerGermanyStephen Shaw UNQUALIFIED
Octavia S MacleadArgentinaIoni Bowcher NEW
Rodrigues F PaprockiCanadaIvan Magalhaes RENEWAL
Juan F RimSpainStephen Shaw UNQUALIFIED
Clifford V StensethFranceIvan Magalhaes NEW
Salvatore Y BriddickItalyStephen Shaw NEGOTIATION
Jennifer H FollerFranceAnna Fali NEGOTIATION
Aika Z ChuiCanadaAnna Fali NEW
Kadeem M NickaIndiaAnna Fali QUALIFIED
Jefferson K RulapaughGermanyElwin Sharvill NEW
Arvin C OstroskyAustraliaStephen Shaw 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>