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
Claire R FollerBrazilAmy Elsner QUALIFIED
Ashley Q StockhamArgentinaXuxue Feng QUALIFIED
Octavia Z PerinIndiaIoni Bowcher UNQUALIFIED
Ricardo Q WieserUnited KingdomAnna Fali NEGOTIATION
Costa U MacleadSpainAsiya Javayant NEW
Maisha G RoysterCanadaElwin Sharvill NEW
Jones U DarakjyArgentinaOnyama Limba UNQUALIFIED
Deepesh R RimSpainBernardo Dominic NEGOTIATION
Aika X NestleRussiaStephen Shaw RENEWAL
Maisha U DilliardItalyAnna Fali UNQUALIFIED
Darci Q VocelkaIndiaAsiya Javayant UNQUALIFIED
Alejandro R CampainCanadaElwin Sharvill PROPOSAL
Jefferson F VocelkaAustraliaIoni Bowcher NEGOTIATION
Aruna M FlosiArgentinaAsiya Javayant QUALIFIED
Deepesh W OldroydJapanIoni Bowcher NEGOTIATION
Antonio M VenereRussiaIvan Magalhaes NEGOTIATION
Jennifer O AmigonUnited KingdomElwin Sharvill QUALIFIED
Antonio Q FerenczBrazilXuxue Feng NEGOTIATION
Francesco O WaycottUnited KingdomBernardo Dominic NEGOTIATION
Arvin A MaletIndiaStephen Shaw NEW
Leon A BriddickUnited KingdomElwin Sharvill QUALIFIED
Kadeem L MaletIndiaIoni Bowcher QUALIFIED
Kaitlin L AlbaresSpainAnna Fali RENEWAL
Wickens C KolmetzRussiaBernardo Dominic NEW
Sinclair B NickaRussiaAmy Elsner PROPOSAL
Julie T VenereSpainAmy Elsner PROPOSAL
Greenwood A ButtFranceBernardo Dominic UNQUALIFIED
Salvatore G TollnerAustraliaXuxue Feng NEW
Sinclair J DilliardIndiaBernardo Dominic RENEWAL
Aika R OstroskySpainXuxue Feng PROPOSAL
David D TollnerGermanyOnyama Limba QUALIFIED
Chavez O CaudyJapanIoni Bowcher PROPOSAL
Arvin V FollerCanadaElwin Sharvill QUALIFIED
Octavia J OldroydBrazilIoni Bowcher UNQUALIFIED
Claire L WaycottArgentinaIoni Bowcher NEW
Darci D KolmetzCanadaAsiya Javayant UNQUALIFIED
Julie Z WhobreyItalyXuxue Feng PROPOSAL
Munro V KuskoRussiaIoni Bowcher QUALIFIED
Greenwood R CampainGermanyXuxue Feng NEW
Stacey L ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Francesco Q KolmetzFranceAmy Elsner NEGOTIATION
Morrow P KuskoBrazilIoni Bowcher QUALIFIED
Maria N PaprockiArgentinaAsiya Javayant NEGOTIATION
Leja T PoquetteAustraliaIoni Bowcher PROPOSAL
Adams T GillianCanadaAsiya Javayant NEW
Francesco L RutaFranceIoni Bowcher NEW
Stacey Y VocelkaItalyBernardo Dominic NEW
Silvio G RoysterArgentinaAsiya Javayant RENEWAL
Francesco Y FlosiArgentinaAsiya Javayant PROPOSAL
Maisha C RutaFranceStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem A ShinkoGermanyAmy Elsner QUALIFIED
Darci T ChuiUnited KingdomOnyama Limba NEW
David B GillianJapanIoni Bowcher NEGOTIATION
Claire J VenereIndiaAnna Fali PROPOSAL
Jones P SaylorsSpainStephen Shaw RENEWAL
Adams B BriddickGermanyOnyama Limba PROPOSAL
Chavez Y FigeroaGermanyOnyama Limba NEGOTIATION
Julie G DilliardJapanAmy Elsner PROPOSAL
Maria R GillianFranceBernardo Dominic NEW
Adams C WieserUnited KingdomAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki D PoquetteUnited Kingdom2026-08-02Feltz Printing Service QUALIFIED52Onyama Limba
1001Murillo R WhobreyCanada2026-07-22Rangoni Of Florence RENEWAL66Amy Elsner
1002Jennifer F FerenczFrance2026-08-07Chapman, Ross E Esq RENEWAL14Asiya Javayant
1003Misaki Y StensethIndia2026-07-28Commercial Press UNQUALIFIED14Onyama Limba
1004Salvatore V RoysterJapan2026-07-30Dorl, James J Esq UNQUALIFIED53Anna Fali
1005Wickens M OstroskyIndia2026-07-15Feiner Bros NEGOTIATION48Onyama Limba
1006Mayumi V RoysterGermany2026-07-21Morlong Associates PROPOSAL53Xuxue Feng
1007Chavez U BowleyArgentina2026-07-19Buckley Miller Wright RENEWAL72Stephen Shaw
1008James M MacleadArgentina2026-08-07Chanay, Jeffrey A Esq QUALIFIED78Xuxue Feng
1009Jennifer J PerinItaly2026-08-12Morlong Associates NEW96Ivan Magalhaes
1010Jeanfrancois R StockhamIndia2026-08-10Feltz Printing Service NEGOTIATION37Anna Fali
1011Juan B KolmetzBrazil2026-07-22Rangoni Of Florence NEGOTIATION97Xuxue Feng
1012Ricardo J FerenczCanada2026-07-23Chemel, James L Cpa QUALIFIED66Onyama Limba
1013Isabel W InouyeAustralia2026-07-16Chapman, Ross E Esq RENEWAL70Onyama Limba
1014Mujtaba S InouyeGermany2026-08-12Rangoni Of Florence RENEWAL46Amy Elsner
1015Maisha C CaldareraAustralia2026-07-27Morlong Associates QUALIFIED60Bernardo Dominic
1016Stacey P MarrierIndia2026-08-04Commercial Press UNQUALIFIED42Bernardo Dominic
1017Darci X VenereUnited Kingdom2026-07-26Buckley Miller Wright QUALIFIED88Amy Elsner
1018Mujtaba B IturbideIndia2026-08-11Feiner Bros NEGOTIATION86Bernardo Dominic
1019Maisha Y FerenczBrazil2026-07-24Chemel, James L Cpa QUALIFIED55Asiya Javayant
1020Ricardo Y SaylorsRussia2026-07-29Morlong Associates QUALIFIED97Ivan Magalhaes
1021Sinclair A CaudyAustralia2026-07-18Rousseaux, Michael Esq NEW96Elwin Sharvill
1022Francesco H VenereCanada2026-07-31Chanay, Jeffrey A Esq UNQUALIFIED22Xuxue Feng
1023Kaitlin K FollerUnited Kingdom2026-07-18Morlong Associates PROPOSAL32Stephen Shaw
1024Juan F DilliardFrance2026-08-08Benton, John B Jr NEGOTIATION33Amy Elsner
1025Izzy A BowleyCanada2026-07-20Printing Dimensions NEW62Ioni Bowcher
1026Kaitlin M AmigonCanada2026-07-18Commercial Press UNQUALIFIED46Ivan Magalhaes
1027Wickens U StockhamBrazil2026-07-22Chapman, Ross E Esq PROPOSAL61Onyama Limba
1028Aditya Z NickaUnited Kingdom2026-07-27Feltz Printing Service UNQUALIFIED94Ivan Magalhaes
1029Nicolas L RimBrazil2026-07-27Chapman, Ross E Esq QUALIFIED29Elwin Sharvill
1030Misaki U WaycottGermany2026-07-20Chanay, Jeffrey A Esq PROPOSAL33Asiya Javayant
1031James T OstroskyUnited Kingdom2026-08-09Buckley Miller Wright PROPOSAL87Amy Elsner
1032Jefferson W IturbideFrance2026-07-25Truhlar And Truhlar Attys RENEWAL68Asiya Javayant
1033Juan E MarrierUnited Kingdom2026-07-19Truhlar And Truhlar Attys RENEWAL44Onyama Limba
1034Emily W OldroydItaly2026-07-26Benton, John B Jr RENEWAL67Onyama Limba
1035David D ButtBrazil2026-08-13Feltz Printing Service UNQUALIFIED63Anna Fali
1036Johnson Z MacleadBrazil2026-08-09Commercial Press PROPOSAL92Xuxue Feng
1037Claire I AlbaresSpain2026-07-28Buckley Miller Wright NEGOTIATION4Stephen Shaw
1038Chavez K SergiRussia2026-08-13Feltz Printing Service PROPOSAL19Amy Elsner
1039Leja M FlosiGermany2026-07-17Chanay, Jeffrey A Esq UNQUALIFIED66Ivan Magalhaes
1040Aika K WieserFrance2026-07-25Commercial Press NEW93Onyama Limba
1041Silvio T AlbaresSpain2026-08-13Rangoni Of Florence NEGOTIATION83Elwin Sharvill
1042Julie P CaudyCanada2026-08-06Chapman, Ross E Esq NEGOTIATION84Stephen Shaw
1043Tony Y InouyeSpain2026-08-03Chemel, James L Cpa NEW6Stephen Shaw
1044Ivar K DoeGermany2026-07-25Chemel, James L Cpa UNQUALIFIED5Elwin Sharvill
1045Aruna R NestleFrance2026-07-15Rangoni Of Florence PROPOSAL38Anna Fali
1046Darci A NestleCanada2026-08-05Printing Dimensions QUALIFIED80Stephen Shaw
1047Costa M OstroskyArgentina2026-07-26Rangoni Of Florence QUALIFIED44Elwin Sharvill
1048Leon C DoeFrance2026-08-05Truhlar And Truhlar Attys UNQUALIFIED82Elwin Sharvill
1049Salvatore K DilliardGermany2026-08-04Chapman, Ross E Esq NEGOTIATION6Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Emily B InouyeArgentinaStephen Shaw NEGOTIATION
Ivar B GillianGermanyElwin Sharvill NEGOTIATION
Murillo J VenereAustraliaAmy Elsner RENEWAL
Misaki L PoquetteSpainIvan Magalhaes QUALIFIED
Cody B CampainIndiaIvan Magalhaes NEGOTIATION
Darci M DilliardSpainXuxue Feng PROPOSAL
Jefferson I StensethJapanElwin Sharvill NEW
Clifford K WieserJapanStephen Shaw UNQUALIFIED
Claire J ButtJapanBernardo Dominic RENEWAL
Aruna I FigeroaRussiaElwin Sharvill NEW
Nicolas I OldroydArgentinaAnna Fali NEW
Maisha I DilliardUnited KingdomAmy Elsner NEW
Jeanfrancois O RulapaughAustraliaOnyama Limba NEGOTIATION
Faith I DoeUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford L AlbaresAustraliaBernardo Dominic QUALIFIED
Ivar Q GlickCanadaBernardo Dominic QUALIFIED
Adams P WaycottBrazilAnna Fali NEW
Ivar X IturbideIndiaBernardo Dominic PROPOSAL
Aika L BowleyIndiaXuxue Feng NEGOTIATION
James J KolmetzArgentinaElwin Sharvill NEW
Alejandro L GillianAustraliaAsiya Javayant QUALIFIED
Salvatore I MaletCanadaAmy Elsner NEGOTIATION
Rodrigues V DarakjySpainAnna Fali NEGOTIATION
Juan P WaycottCanadaXuxue Feng UNQUALIFIED
Nicolas E RimRussiaIoni Bowcher PROPOSAL
David Y ChuiGermanyBernardo Dominic NEW
Alejandro Q BowleyBrazilAnna Fali RENEWAL
Isabel A OstroskyCanadaElwin Sharvill UNQUALIFIED
Leja Y CampainArgentinaXuxue Feng PROPOSAL
Alejandro Z GlickRussiaStephen Shaw PROPOSAL
Deepesh M FerenczBrazilXuxue Feng RENEWAL
Maisha B MacleadArgentinaAsiya Javayant NEW
Silvio N FerenczCanadaAsiya Javayant NEGOTIATION
Julie P KolmetzUnited KingdomBernardo Dominic UNQUALIFIED
Maisha V BowleySpainAmy Elsner UNQUALIFIED
Ashley D WhobreySpainIvan Magalhaes RENEWAL
Ricardo J GlickFranceIvan Magalhaes PROPOSAL
Alejandro A OldroydFranceXuxue Feng UNQUALIFIED
Kadeem O FerenczArgentinaOnyama Limba UNQUALIFIED
Cody B NestleFranceAnna Fali UNQUALIFIED
Jones T MarrierRussiaIvan Magalhaes NEGOTIATION
Leon Z MarrierGermanyAmy Elsner NEW
Maisha B MarrierAustraliaAnna Fali QUALIFIED
Deepesh K WieserRussiaAmy Elsner NEW
Darci H RutaIndiaAmy Elsner NEGOTIATION
Ricardo K DilliardBrazilAmy Elsner NEGOTIATION
Silvio T PerinItalyElwin Sharvill NEW
Francesco Z StensethSpainAnna Fali PROPOSAL
Faith Q DarakjyRussiaBernardo Dominic RENEWAL
Sinclair T ChuiAustraliaXuxue Feng PROPOSAL
Frozen Columns
Name
Emily V Briddick
Mujtaba T Saylors
Leja S Campain
Kadeem N Saylors
Ivar V Paprocki
Mujtaba L Amigon
Leon H Kusko
Isabel T Rim
Aditya M Doe
Wickens V Ruta
Mujtaba Z Slusarski
Mujtaba W Malet
Arvin B Albares
Ivar P Stenseth
Ashley R Ferencz
Jennifer B Vocelka
Julie C Ostrosky
Murillo Y Kolmetz
Kadeem Y Caldarera
Clifford B Ferencz
Aditya Q Tollner
Mujtaba F Bolognia
Wickens R Malet
Wickens Q Rim
Francesco W Ferencz
Aruna T Garufi
Jennifer I Gillian
Antonio W Poquette
Misaki V Bowley
Julie E Figeroa
Tony F Figeroa
Juan P Caudy
Juan G Dilliard
Maria F Gaucho
Claire B Paprocki
Misaki Y Malet
Juan S Nestle
Mayumi K Waycott
Leja T Ruta
Deepesh T Bolognia
Misaki D Doe
Rodrigues Z Figeroa
Alejandro E Figeroa
Claire P Royster
Jones C Ferencz
Francesco P Gillian
Jennifer X Briddick
Alejandro E Marrier
Morrow X Dilliard
Jefferson X Ferencz
IdCountryDate
1000India2026-08-06
1001India2026-08-02
1002Japan2026-08-11
1003Argentina2026-08-06
1004Argentina2026-07-25
1005Argentina2026-07-20
1006France2026-08-02
1007Argentina2026-08-09
1008Australia2026-08-12
1009United Kingdom2026-08-13
1010Spain2026-08-05
1011India2026-08-11
1012Spain2026-08-05
1013Germany2026-07-26
1014Spain2026-08-04
1015Germany2026-08-01
1016France2026-07-16
1017Germany2026-08-09
1018United Kingdom2026-08-05
1019Brazil2026-07-17
1020Canada2026-07-29
1021Argentina2026-07-27
1022France2026-08-01
1023France2026-07-29
1024Argentina2026-07-16
1025India2026-07-24
1026Germany2026-07-17
1027Spain2026-08-02
1028Argentina2026-07-31
1029Italy2026-08-12
1030Canada2026-07-28
1031Canada2026-07-27
1032Italy2026-07-16
1033Australia2026-08-10
1034Germany2026-07-22
1035Spain2026-07-26
1036Russia2026-07-18
1037Australia2026-07-30
1038India2026-07-15
1039Russia2026-07-15
1040Japan2026-07-16
1041Japan2026-07-20
1042Australia2026-08-12
1043France2026-08-01
1044Russia2026-07-16
1045Japan2026-07-28
1046United Kingdom2026-08-05
1047Russia2026-08-04
1048Japan2026-07-19
1049Brazil2026-07-27

On-Demand Data

NameIdCountryDate
Silvio Y Perin1000Japan2026-07-26
Wickens K Morasca1001Italy2026-07-20
Mayumi J Venere1002Germany2026-08-04
Costa Z Briddick1003Spain2026-07-16
Arvin Q Ostrosky1004Spain2026-07-31
Clifford W Glick1005Japan2026-08-13
Jeanfrancois P Garufi1006Italy2026-07-16
Maria Z Ferencz1007Italy2026-07-22
Salvatore B Slusarski1008Japan2026-08-13
Murillo S Vocelka1009Argentina2026-08-12
Deepesh N Sergi1010Japan2026-07-27
Antonio R Maclead1011Russia2026-08-05
Izzy X Sergi1012Brazil2026-08-13
Misaki H Wieser1013Germany2026-07-26
Darci V Stenseth1014Canada2026-07-18
Morrow L Bowley1015Canada2026-08-08
Izzy K Shinko1016Russia2026-07-25
Jeanfrancois B Perin1017France2026-08-05
Ricardo E Foller1018Spain2026-07-18
Clifford I Dilliard1019Australia2026-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues G MaletIndiaOnyama Limba NEGOTIATION
Misaki Y PoquetteArgentinaBernardo Dominic UNQUALIFIED
Francesco B CampainUnited KingdomAmy Elsner NEW
Kadeem H RoysterJapanIvan Magalhaes NEGOTIATION
Arvin R StensethArgentinaIoni Bowcher UNQUALIFIED
Francesco F BriddickGermanyElwin Sharvill QUALIFIED
Julie W MacleadAustraliaElwin Sharvill UNQUALIFIED
Smith T GauchoBrazilAmy Elsner QUALIFIED
Antonio J FollerIndiaXuxue Feng UNQUALIFIED
Sinclair X ChuiIndiaIvan Magalhaes RENEWAL
Octavia U CaldareraFranceXuxue Feng PROPOSAL
Clifford S InouyeArgentinaAmy Elsner QUALIFIED
Clifford M WaycottUnited KingdomIoni Bowcher QUALIFIED
Jennifer E AmigonGermanyBernardo Dominic QUALIFIED
Ivar M KuskoSpainIoni Bowcher PROPOSAL
Jones A AmigonBrazilStephen Shaw PROPOSAL
Ashley R RimBrazilOnyama Limba UNQUALIFIED
Jennifer F TollnerItalyElwin Sharvill RENEWAL
Tony T MorascaIndiaAnna Fali NEW
Leon L WaycottRussiaXuxue Feng UNQUALIFIED
Maria E BowleyArgentinaAsiya Javayant UNQUALIFIED
Clifford J RoysterBrazilXuxue Feng RENEWAL
Cody X MaletFranceAnna Fali NEW
Ashley O RoysterJapanElwin Sharvill PROPOSAL
Octavia U CaldareraRussiaAsiya Javayant RENEWAL
Emily S SchemmerArgentinaAnna Fali NEGOTIATION
James K NickaItalyOnyama Limba UNQUALIFIED
Claire A GauchoFranceAmy Elsner PROPOSAL
Stacey X StockhamCanadaAnna Fali NEW
Ivar R DilliardSpainIvan Magalhaes UNQUALIFIED
Tony V KolmetzRussiaAnna Fali QUALIFIED
Ivar U TollnerIndiaStephen Shaw QUALIFIED
Smith X MaletGermanyAmy Elsner QUALIFIED
Stacey X GillianUnited KingdomAsiya Javayant UNQUALIFIED
Wickens D GauchoSpainElwin Sharvill RENEWAL
Maria P VocelkaArgentinaIoni Bowcher NEGOTIATION
Rodrigues K GlickFranceAsiya Javayant NEGOTIATION
Aditya L CaudyAustraliaIoni Bowcher PROPOSAL
Aika K KolmetzUnited KingdomOnyama Limba RENEWAL
David E GauchoAustraliaIvan Magalhaes PROPOSAL

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