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
Maria F VenereArgentinaBernardo Dominic NEW
Darci N CaldareraArgentinaElwin Sharvill RENEWAL
Greenwood B FollerItalyAmy Elsner RENEWAL
Misaki P MaletFranceElwin Sharvill QUALIFIED
Juan O StockhamItalyAnna Fali NEW
Clifford F MorascaUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas U IturbideAustraliaAmy Elsner QUALIFIED
Jennifer X AlbaresIndiaElwin Sharvill NEGOTIATION
Ivar L ButtFranceIoni Bowcher UNQUALIFIED
Kadeem N CampainIndiaAnna Fali PROPOSAL
Jones T ButtItalyElwin Sharvill RENEWAL
Leja J SaylorsAustraliaXuxue Feng NEGOTIATION
Jefferson S PoquetteIndiaOnyama Limba UNQUALIFIED
Antonio H PerinJapanStephen Shaw PROPOSAL
Costa D BologniaIndiaOnyama Limba UNQUALIFIED
Aika Y AlbaresUnited KingdomIvan Magalhaes NEW
Sinclair H GillianSpainIvan Magalhaes NEGOTIATION
Claire I CaldareraSpainStephen Shaw NEW
Greenwood I VocelkaRussiaBernardo Dominic UNQUALIFIED
Julie F GarufiArgentinaXuxue Feng RENEWAL
Maisha L StockhamCanadaXuxue Feng NEGOTIATION
Rodrigues X VocelkaUnited KingdomAmy Elsner NEGOTIATION
Sinclair D PoquetteItalyStephen Shaw NEW
Izzy I ShinkoArgentinaAnna Fali UNQUALIFIED
Morrow W FlosiAustraliaIoni Bowcher RENEWAL
Isabel X StockhamIndiaIvan Magalhaes QUALIFIED
Maria A SchemmerGermanyAsiya Javayant UNQUALIFIED
Jones P GauchoBrazilStephen Shaw NEGOTIATION
Emily Q VenereItalyAnna Fali RENEWAL
James E FollerRussiaBernardo Dominic RENEWAL
Johnson Q MarrierIndiaBernardo Dominic NEW
Cody H DarakjyItalyIoni Bowcher QUALIFIED
Rodrigues M KuskoArgentinaOnyama Limba NEW
Octavia H KolmetzIndiaOnyama Limba NEGOTIATION
Nicolas D VocelkaSpainBernardo Dominic NEGOTIATION
Munro P BologniaUnited KingdomIoni Bowcher NEW
Aika A KolmetzItalyStephen Shaw QUALIFIED
Alejandro F AlbaresIndiaAmy Elsner RENEWAL
Cody Q BologniaAustraliaStephen Shaw PROPOSAL
Antonio G NickaSpainIvan Magalhaes RENEWAL
Izzy D NickaArgentinaIoni Bowcher NEW
Rodrigues E GauchoUnited KingdomOnyama Limba PROPOSAL
Johnson T PoquetteFranceIoni Bowcher PROPOSAL
Mayumi V BriddickCanadaIvan Magalhaes UNQUALIFIED
Rodrigues Z CaudyCanadaStephen Shaw QUALIFIED
Greenwood T DoeJapanAsiya Javayant QUALIFIED
Octavia C RoysterSpainIoni Bowcher NEW
Leja Q AlbaresCanadaIvan Magalhaes NEGOTIATION
Johnson K MacleadSpainElwin Sharvill UNQUALIFIED
Sinclair M OstroskyBrazilElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer D RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Murillo U StensethCanadaElwin Sharvill QUALIFIED
Arvin L ShinkoIndiaXuxue Feng NEGOTIATION
Aika R InouyeIndiaAnna Fali NEW
Sinclair H RutaIndiaIoni Bowcher QUALIFIED
Cody P KolmetzAustraliaIoni Bowcher RENEWAL
Darci X RimAustraliaElwin Sharvill NEGOTIATION
Aditya E StockhamSpainIoni Bowcher NEW
Julie I InouyeUnited KingdomAsiya Javayant NEGOTIATION
David T FlosiArgentinaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna K IturbideRussia2026-07-21Feiner Bros PROPOSAL55Ivan Magalhaes
1001James J OldroydRussia2026-07-08Dorl, James J Esq PROPOSAL38Elwin Sharvill
1002Kadeem K PerinFrance2026-07-01Truhlar And Truhlar Attys QUALIFIED38Stephen Shaw
1003Salvatore I VocelkaJapan2026-07-12Commercial Press RENEWAL45Onyama Limba
1004Isabel V WaycottJapan2026-07-11Commercial Press QUALIFIED66Asiya Javayant
1005Ivar I OldroydUnited Kingdom2026-07-09Rousseaux, Michael Esq QUALIFIED4Asiya Javayant
1006Octavia M MorascaItaly2026-06-27Dorl, James J Esq PROPOSAL97Anna Fali
1007David H InouyeUnited Kingdom2026-07-02Dorl, James J Esq NEGOTIATION51Ioni Bowcher
1008Adams L CampainItaly2026-07-12Chanay, Jeffrey A Esq QUALIFIED17Bernardo Dominic
1009Salvatore F IturbideItaly2026-07-16Chemel, James L Cpa PROPOSAL56Ivan Magalhaes
1010Johnson C WaycottBrazil2026-06-25Truhlar And Truhlar Attys NEW62Amy Elsner
1011Maria S OstroskyAustralia2026-06-29Feltz Printing Service PROPOSAL62Onyama Limba
1012Mayumi U SlusarskiCanada2026-07-10King, Christopher A Esq PROPOSAL72Amy Elsner
1013Misaki N GlickUnited Kingdom2026-07-15Feiner Bros NEGOTIATION61Asiya Javayant
1014Jones D FerenczGermany2026-07-16Commercial Press NEGOTIATION13Asiya Javayant
1015Kaitlin O MorascaCanada2026-07-05King, Christopher A Esq RENEWAL49Ivan Magalhaes
1016David C InouyeBrazil2026-07-19Feltz Printing Service UNQUALIFIED92Stephen Shaw
1017Octavia W RoysterGermany2026-07-01Rangoni Of Florence QUALIFIED74Ivan Magalhaes
1018Alejandro Q VocelkaFrance2026-06-26Dorl, James J Esq NEGOTIATION34Stephen Shaw
1019Greenwood B PoquetteArgentina2026-07-17Chapman, Ross E Esq PROPOSAL94Ioni Bowcher
1020Isabel R KuskoFrance2026-07-10Rousseaux, Michael Esq NEW44Ioni Bowcher
1021Mujtaba Y RoysterAustralia2026-06-25Rousseaux, Michael Esq RENEWAL64Elwin Sharvill
1022Izzy A SaylorsUnited Kingdom2026-06-29Feiner Bros NEW55Ivan Magalhaes
1023Juan E RulapaughUnited Kingdom2026-06-26Rousseaux, Michael Esq RENEWAL81Stephen Shaw
1024Kaitlin F IturbideGermany2026-07-15Dorl, James J Esq RENEWAL83Elwin Sharvill
1025Adams H GauchoArgentina2026-06-27Feltz Printing Service NEGOTIATION66Elwin Sharvill
1026Jeanfrancois S RulapaughBrazil2026-06-25King, Christopher A Esq NEGOTIATION79Onyama Limba
1027Kadeem W SergiAustralia2026-07-05King, Christopher A Esq NEW13Stephen Shaw
1028Sinclair T KuskoJapan2026-07-17Benton, John B Jr PROPOSAL95Anna Fali
1029Ricardo T FollerJapan2026-07-15Chapman, Ross E Esq QUALIFIED56Stephen Shaw
1030Wickens H StensethIndia2026-07-19Dorl, James J Esq PROPOSAL20Elwin Sharvill
1031Arvin Y OldroydJapan2026-07-04Morlong Associates RENEWAL97Bernardo Dominic
1032Adams S WieserAustralia2026-07-16Buckley Miller Wright RENEWAL76Elwin Sharvill
1033Francesco W WhobreyBrazil2026-06-23Chapman, Ross E Esq NEGOTIATION10Bernardo Dominic
1034Francesco Z WaycottJapan2026-07-05Commercial Press NEW52Stephen Shaw
1035Francesco I SergiGermany2026-07-07Printing Dimensions NEGOTIATION61Xuxue Feng
1036Clifford Q KuskoCanada2026-06-27Rousseaux, Michael Esq PROPOSAL5Elwin Sharvill
1037Wickens S KuskoAustralia2026-07-15Chemel, James L Cpa QUALIFIED69Stephen Shaw
1038Aika H CaldareraCanada2026-07-18Chapman, Ross E Esq PROPOSAL60Ioni Bowcher
1039Kadeem B DilliardItaly2026-07-10Feltz Printing Service RENEWAL89Amy Elsner
1040Mayumi X FerenczUnited Kingdom2026-07-12Dorl, James J Esq NEW38Amy Elsner
1041Francesco B DoeIndia2026-07-07Feiner Bros PROPOSAL40Ivan Magalhaes
1042Adams X AlbaresFrance2026-06-28Benton, John B Jr QUALIFIED38Onyama Limba
1043Isabel H MorascaUnited Kingdom2026-07-20Chemel, James L Cpa RENEWAL73Amy Elsner
1044Deepesh A FollerCanada2026-07-14Chapman, Ross E Esq RENEWAL28Amy Elsner
1045Cody J GarufiUnited Kingdom2026-07-11Benton, John B Jr RENEWAL20Ivan Magalhaes
1046Julie W ShinkoAustralia2026-07-20Printing Dimensions UNQUALIFIED86Xuxue Feng
1047Rodrigues V StockhamCanada2026-07-19Chemel, James L Cpa QUALIFIED34Xuxue Feng
1048Aruna C BologniaUnited Kingdom2026-06-23Benton, John B Jr NEW72Elwin Sharvill
1049Johnson W SlusarskiJapan2026-07-21Printing Dimensions NEGOTIATION62Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Chavez M IturbideSpainAmy Elsner NEGOTIATION
Mujtaba K SchemmerBrazilIoni Bowcher UNQUALIFIED
Maisha Q WaycottFranceAnna Fali PROPOSAL
Jones R StockhamIndiaAnna Fali RENEWAL
Murillo P InouyeItalyStephen Shaw RENEWAL
Aika R AmigonBrazilXuxue Feng PROPOSAL
Wickens E BriddickBrazilIvan Magalhaes RENEWAL
Chavez L SergiItalyIoni Bowcher RENEWAL
Silvio P WaycottItalyBernardo Dominic UNQUALIFIED
Julie Y RimCanadaAsiya Javayant QUALIFIED
Julie U PoquetteSpainIoni Bowcher NEGOTIATION
Smith R MorascaCanadaIoni Bowcher UNQUALIFIED
Silvio B CampainFranceAnna Fali QUALIFIED
Jeanfrancois X SergiJapanIoni Bowcher QUALIFIED
Aditya I WaycottFranceAsiya Javayant NEW
James A DarakjyAustraliaIoni Bowcher PROPOSAL
Izzy M CaudyJapanElwin Sharvill NEGOTIATION
Adams V FigeroaCanadaElwin Sharvill NEW
Sinclair O AlbaresBrazilStephen Shaw NEW
Jefferson S PoquetteIndiaXuxue Feng NEGOTIATION
Isabel B WaycottRussiaBernardo Dominic QUALIFIED
Rodrigues Q ChuiSpainOnyama Limba RENEWAL
Murillo O MaletItalyAnna Fali NEGOTIATION
Octavia D NickaCanadaIoni Bowcher NEW
Adams N WhobreyIndiaIoni Bowcher NEGOTIATION
Ricardo A AlbaresIndiaOnyama Limba UNQUALIFIED
Octavia S MaletArgentinaBernardo Dominic PROPOSAL
Murillo H FollerUnited KingdomXuxue Feng RENEWAL
Julie V FollerGermanyIvan Magalhaes NEW
Morrow Y GauchoIndiaAsiya Javayant PROPOSAL
Munro Z CaudySpainAsiya Javayant PROPOSAL
Julie V WhobreyGermanyStephen Shaw NEGOTIATION
Ashley M RimRussiaElwin Sharvill RENEWAL
Costa H SergiItalyIvan Magalhaes RENEWAL
Chavez Z StockhamSpainAsiya Javayant UNQUALIFIED
Darci E ChuiRussiaIvan Magalhaes NEW
Munro F ChuiRussiaAnna Fali PROPOSAL
Deepesh Y StensethRussiaXuxue Feng RENEWAL
Adams L CaldareraSpainOnyama Limba NEW
Munro Z TollnerUnited KingdomStephen Shaw NEGOTIATION
Antonio L OstroskyBrazilElwin Sharvill RENEWAL
Sinclair F BriddickSpainAsiya Javayant QUALIFIED
Smith H CampainArgentinaAsiya Javayant UNQUALIFIED
Isabel W ButtAustraliaStephen Shaw NEGOTIATION
Maria D RulapaughSpainIvan Magalhaes NEW
Ivar W RutaRussiaBernardo Dominic PROPOSAL
Darci C FlosiAustraliaOnyama Limba NEW
Tony S BologniaIndiaAnna Fali NEGOTIATION
Alejandro Z TollnerBrazilAmy Elsner UNQUALIFIED
Costa C VocelkaFranceIoni Bowcher PROPOSAL
Frozen Columns
Name
Aditya N Malet
Johnson H Schemmer
Izzy H Rim
Leja M Butt
Aditya X Glick
Ashley H Ferencz
Antonio A Oldroyd
Mujtaba D Slusarski
Julie W Darakjy
Octavia D Caldarera
Murillo F Bolognia
Leja S Albares
Kadeem U Stenseth
Johnson A Foller
Aditya N Figeroa
Tony Y Bolognia
Faith R Paprocki
Mujtaba D Poquette
Claire W Caldarera
Clifford C Iturbide
Darci C Wieser
Cody I Glick
Isabel U Gaucho
Mujtaba A Gaucho
Maria D Briddick
Misaki A Bowley
Adams Z Ferencz
Isabel U Schemmer
Costa G Slusarski
Misaki I Ferencz
Greenwood F Morasca
Clifford T Albares
Cody S Flosi
Kaitlin I Doe
Cody W Malet
Ivar I Royster
Jeanfrancois C Rim
Alejandro F Inouye
Murillo V Paprocki
Octavia W Campain
Arvin S Amigon
Silvio M Inouye
Jones Z Venere
Emily N Flosi
Murillo M Dilliard
Adams W Ostrosky
Adams E Slusarski
Emily W Shinko
Cody S Kolmetz
Munro E Doe
IdCountryDate
1000Argentina2026-07-17
1001Spain2026-07-06
1002Japan2026-07-10
1003Canada2026-06-27
1004France2026-06-22
1005Brazil2026-07-02
1006Argentina2026-06-30
1007Argentina2026-07-01
1008Russia2026-07-06
1009Russia2026-07-17
1010India2026-06-29
1011Russia2026-06-23
1012Brazil2026-06-29
1013France2026-07-14
1014Japan2026-07-12
1015Japan2026-06-22
1016Argentina2026-07-07
1017Canada2026-06-26
1018Argentina2026-06-28
1019Russia2026-07-19
1020Canada2026-07-06
1021Argentina2026-07-11
1022Australia2026-07-02
1023Brazil2026-07-15
1024Russia2026-07-11
1025Brazil2026-06-22
1026France2026-07-16
1027Italy2026-07-16
1028Italy2026-07-12
1029Italy2026-06-30
1030Argentina2026-07-01
1031Brazil2026-06-28
1032Argentina2026-06-24
1033Germany2026-06-22
1034Russia2026-07-20
1035Argentina2026-06-24
1036Germany2026-07-05
1037France2026-07-08
1038Japan2026-07-11
1039Italy2026-06-28
1040Australia2026-07-18
1041United Kingdom2026-07-17
1042Japan2026-06-29
1043India2026-07-01
1044Germany2026-07-14
1045Germany2026-07-04
1046Japan2026-06-22
1047France2026-07-16
1048Brazil2026-06-29
1049Italy2026-07-04

On-Demand Data

NameIdCountryDate
Francesco J Glick1000Spain2026-06-23
Stacey Z Darakjy1001Japan2026-07-21
Nicolas L Foller1002Canada2026-06-23
Smith N Gaucho1003France2026-06-30
Leja G Morasca1004Italy2026-07-11
Costa H Dilliard1005Spain2026-07-21
Alejandro M Darakjy1006Germany2026-07-10
Mayumi R Inouye1007Spain2026-07-13
Ricardo Q Morasca1008India2026-06-26
Rodrigues M Slusarski1009Russia2026-07-07
Misaki Q Waycott1010France2026-06-26
Salvatore L Nestle1011Brazil2026-07-09
Greenwood N Perin1012India2026-07-02
Maria V Royster1013Spain2026-06-22
Nicolas G Doe1014Russia2026-07-13
Maria O Rulapaugh1015Brazil2026-07-15
David W Malet1016United Kingdom2026-07-04
Munro V Oldroyd1017Argentina2026-06-23
Kadeem D Darakjy1018Canada2026-06-25
Aika Z Nestle1019United Kingdom2026-07-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford B StockhamFranceElwin Sharvill RENEWAL
Wickens V DoeUnited KingdomAmy Elsner NEW
Greenwood K AmigonUnited KingdomAmy Elsner QUALIFIED
Jennifer U FerenczBrazilIoni Bowcher PROPOSAL
Tony X FollerGermanyElwin Sharvill RENEWAL
Ricardo R SlusarskiJapanBernardo Dominic PROPOSAL
Jefferson W AmigonArgentinaStephen Shaw PROPOSAL
Izzy F InouyeAustraliaAnna Fali NEW
Cody Q GlickJapanAmy Elsner NEW
David N RulapaughItalyAmy Elsner NEW
Morrow S RutaRussiaAsiya Javayant RENEWAL
Jennifer P NickaUnited KingdomXuxue Feng NEW
Darci G DilliardAustraliaXuxue Feng UNQUALIFIED
James I NestleSpainAsiya Javayant RENEWAL
Mujtaba V PerinRussiaIvan Magalhaes QUALIFIED
Arvin L NestleRussiaXuxue Feng NEGOTIATION
Deepesh H RimRussiaAmy Elsner QUALIFIED
Leon L ShinkoAustraliaOnyama Limba RENEWAL
Julie Q MarrierItalyStephen Shaw QUALIFIED
Silvio N SergiFranceOnyama Limba UNQUALIFIED
Jennifer X BriddickFranceOnyama Limba NEW
Octavia Z SaylorsArgentinaAnna Fali NEGOTIATION
Aika P ShinkoCanadaXuxue Feng QUALIFIED
Stacey M PerinGermanyAsiya Javayant PROPOSAL
Adams E AmigonAustraliaAmy Elsner QUALIFIED
Sinclair S WhobreyUnited KingdomStephen Shaw RENEWAL
James M StockhamCanadaStephen Shaw QUALIFIED
Smith I ChuiFranceXuxue Feng NEGOTIATION
Morrow N BologniaSpainAnna Fali RENEWAL
James Y MarrierSpainOnyama Limba PROPOSAL
Arvin Y MaletGermanyBernardo Dominic PROPOSAL
Cody A RutaItalyAnna Fali PROPOSAL
Nicolas M IturbideItalyAnna Fali RENEWAL
Isabel T CampainArgentinaIoni Bowcher PROPOSAL
Octavia L MorascaItalyStephen Shaw QUALIFIED
Adams V GillianUnited KingdomAmy Elsner RENEWAL
Mujtaba W PoquetteCanadaAnna Fali NEGOTIATION
Darci L VenereAustraliaXuxue Feng UNQUALIFIED
Faith M RutaItalyXuxue Feng UNQUALIFIED
Aruna J MacleadArgentinaAmy Elsner RENEWAL

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