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
Aditya Q BowleyUnited KingdomAnna Fali PROPOSAL
Kaitlin T DarakjySpainStephen Shaw NEW
Aruna L DarakjyItalyAmy Elsner NEW
Maria I ChuiFranceAsiya Javayant PROPOSAL
Cody S BologniaSpainStephen Shaw RENEWAL
Alejandro W ShinkoItalyAsiya Javayant NEW
Darci A FerenczArgentinaAmy Elsner UNQUALIFIED
Sinclair M MorascaBrazilIoni Bowcher NEGOTIATION
Morrow V GauchoFranceAmy Elsner UNQUALIFIED
Jeanfrancois E SaylorsSpainAsiya Javayant QUALIFIED
Johnson M ChuiFranceAnna Fali PROPOSAL
Ricardo F SaylorsJapanAmy Elsner QUALIFIED
Johnson O BowleyIndiaOnyama Limba QUALIFIED
Octavia X RoysterGermanyElwin Sharvill NEW
Wickens W FollerSpainXuxue Feng PROPOSAL
Jefferson Y GarufiUnited KingdomAsiya Javayant NEW
Chavez M FerenczUnited KingdomXuxue Feng NEGOTIATION
Salvatore R NestleSpainIoni Bowcher NEGOTIATION
David S RutaBrazilXuxue Feng UNQUALIFIED
Jeanfrancois N KolmetzSpainBernardo Dominic NEGOTIATION
Faith W WhobreySpainAmy Elsner PROPOSAL
Greenwood G BologniaJapanStephen Shaw RENEWAL
Ivar Q PaprockiSpainElwin Sharvill NEW
Julie L FerenczUnited KingdomAnna Fali NEW
Salvatore Z PaprockiAustraliaAsiya Javayant PROPOSAL
Smith P VenereBrazilStephen Shaw NEGOTIATION
Greenwood N PaprockiGermanyBernardo Dominic NEGOTIATION
Morrow A CampainRussiaIoni Bowcher NEGOTIATION
Leon P CaldareraJapanXuxue Feng NEGOTIATION
Julie C RimBrazilIvan Magalhaes NEW
Faith X GillianFranceBernardo Dominic RENEWAL
Faith J FerenczSpainIoni Bowcher RENEWAL
Darci K SlusarskiGermanyOnyama Limba RENEWAL
Nicolas G StensethJapanBernardo Dominic NEW
Claire G SaylorsFranceIvan Magalhaes QUALIFIED
Stacey H CaudyIndiaStephen Shaw PROPOSAL
Morrow S BowleyFranceAmy Elsner NEGOTIATION
James I AlbaresGermanyXuxue Feng NEGOTIATION
Jefferson X RimIndiaXuxue Feng RENEWAL
Chavez N WaycottRussiaIvan Magalhaes NEGOTIATION
Nicolas Q KuskoItalyStephen Shaw UNQUALIFIED
Leja L GauchoFranceElwin Sharvill NEW
Deepesh J TollnerUnited KingdomIvan Magalhaes RENEWAL
Jefferson G PerinJapanStephen Shaw NEGOTIATION
Maria K RutaSpainIvan Magalhaes UNQUALIFIED
Jeanfrancois M CaudyRussiaElwin Sharvill QUALIFIED
Adams W ButtJapanOnyama Limba UNQUALIFIED
Nicolas B VenereJapanAsiya Javayant QUALIFIED
Silvio G RutaGermanyAmy Elsner RENEWAL
Salvatore G RimJapanStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams M IturbideUnited KingdomAsiya Javayant RENEWAL
Chavez Y KolmetzRussiaXuxue Feng QUALIFIED
Deepesh C BowleyRussiaIoni Bowcher RENEWAL
Wickens A PerinArgentinaAnna Fali UNQUALIFIED
James W WieserBrazilStephen Shaw NEGOTIATION
Costa N PaprockiArgentinaElwin Sharvill UNQUALIFIED
Johnson G StockhamItalyElwin Sharvill PROPOSAL
Octavia P SergiUnited KingdomBernardo Dominic QUALIFIED
Faith C GarufiIndiaAnna Fali QUALIFIED
Silvio Y VenereArgentinaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria S RulapaughGermany2026-08-10Chapman, Ross E Esq UNQUALIFIED8Onyama Limba
1001Ashley W FigeroaGermany2026-08-13Commercial Press PROPOSAL26Elwin Sharvill
1002Francesco M ChuiIndia2026-08-12Chanay, Jeffrey A Esq RENEWAL87Ioni Bowcher
1003Mujtaba C FlosiRussia2026-08-04Chapman, Ross E Esq NEW97Ioni Bowcher
1004Mayumi X MaletAustralia2026-07-27Commercial Press NEW70Stephen Shaw
1005Costa S ButtIndia2026-08-09Morlong Associates NEW21Ioni Bowcher
1006Aruna L VenereFrance2026-07-27Printing Dimensions QUALIFIED8Anna Fali
1007Claire B TollnerSpain2026-08-13Feltz Printing Service RENEWAL33Xuxue Feng
1008Rodrigues S PaprockiBrazil2026-08-11Feiner Bros QUALIFIED93Asiya Javayant
1009Costa W DarakjySpain2026-08-07Chapman, Ross E Esq NEGOTIATION70Elwin Sharvill
1010Izzy K MorascaCanada2026-07-15Chapman, Ross E Esq UNQUALIFIED1Xuxue Feng
1011Cody N BologniaUnited Kingdom2026-07-18Truhlar And Truhlar Attys RENEWAL65Ivan Magalhaes
1012Deepesh R SaylorsFrance2026-08-09Feltz Printing Service PROPOSAL86Elwin Sharvill
1013Cody T OldroydBrazil2026-07-17Truhlar And Truhlar Attys UNQUALIFIED14Ivan Magalhaes
1014Silvio Y SaylorsSpain2026-07-21King, Christopher A Esq PROPOSAL67Ioni Bowcher
1015Leon S SaylorsIndia2026-07-23Commercial Press QUALIFIED30Anna Fali
1016Salvatore Y MaletIndia2026-07-16Rousseaux, Michael Esq PROPOSAL17Bernardo Dominic
1017Ivar D RimGermany2026-07-29Buckley Miller Wright RENEWAL96Asiya Javayant
1018James C SergiJapan2026-07-21Rangoni Of Florence PROPOSAL71Xuxue Feng
1019Aruna B TollnerAustralia2026-08-02Chanay, Jeffrey A Esq NEW95Stephen Shaw
1020Antonio F FerenczFrance2026-08-12Chapman, Ross E Esq NEGOTIATION9Ivan Magalhaes
1021Alejandro V MorascaItaly2026-07-21Rangoni Of Florence RENEWAL43Xuxue Feng
1022Aditya Y ChuiJapan2026-07-21Feiner Bros RENEWAL58Stephen Shaw
1023Claire I KuskoRussia2026-07-15Dorl, James J Esq PROPOSAL46Anna Fali
1024Mujtaba H NestleArgentina2026-08-12Rousseaux, Michael Esq NEGOTIATION5Xuxue Feng
1025Salvatore D CampainJapan2026-08-04Feltz Printing Service QUALIFIED61Stephen Shaw
1026Antonio N BriddickJapan2026-08-04Feltz Printing Service PROPOSAL48Xuxue Feng
1027Francesco K WhobreyRussia2026-08-09Dorl, James J Esq QUALIFIED80Elwin Sharvill
1028Jefferson Y InouyeIndia2026-07-29Chemel, James L Cpa NEGOTIATION40Elwin Sharvill
1029Nicolas D AmigonItaly2026-08-07Rousseaux, Michael Esq NEW27Elwin Sharvill
1030Ivar C OstroskyUnited Kingdom2026-08-08Benton, John B Jr QUALIFIED63Xuxue Feng
1031Leon O FlosiItaly2026-07-30Benton, John B Jr RENEWAL57Bernardo Dominic
1032Mujtaba V SaylorsUnited Kingdom2026-07-25Dorl, James J Esq RENEWAL64Amy Elsner
1033Cody G OstroskyCanada2026-07-24Rousseaux, Michael Esq RENEWAL82Bernardo Dominic
1034Murillo Y GillianUnited Kingdom2026-08-07Chapman, Ross E Esq QUALIFIED66Amy Elsner
1035Arvin R MorascaJapan2026-07-27Morlong Associates UNQUALIFIED86Anna Fali
1036Stacey Y RulapaughGermany2026-07-31Chapman, Ross E Esq UNQUALIFIED30Bernardo Dominic
1037Juan C WieserRussia2026-07-23Rangoni Of Florence NEGOTIATION6Stephen Shaw
1038Salvatore U FerenczCanada2026-08-07Rousseaux, Michael Esq QUALIFIED24Anna Fali
1039Antonio C RutaBrazil2026-07-17Feltz Printing Service PROPOSAL63Bernardo Dominic
1040Ashley M SlusarskiUnited Kingdom2026-07-27Commercial Press NEW81Xuxue Feng
1041Ricardo K WaycottBrazil2026-07-15Rousseaux, Michael Esq PROPOSAL0Amy Elsner
1042Jones K VocelkaItaly2026-07-15Chanay, Jeffrey A Esq QUALIFIED21Ioni Bowcher
1043Darci Z KolmetzIndia2026-08-06Chapman, Ross E Esq PROPOSAL10Bernardo Dominic
1044Kadeem X NestleIndia2026-07-20King, Christopher A Esq QUALIFIED57Ivan Magalhaes
1045Alejandro X SergiUnited Kingdom2026-07-21Benton, John B Jr RENEWAL15Asiya Javayant
1046Maisha S AlbaresJapan2026-08-05Truhlar And Truhlar Attys PROPOSAL3Bernardo Dominic
1047Cody G FerenczItaly2026-07-25King, Christopher A Esq UNQUALIFIED20Onyama Limba
1048Sinclair V GillianAustralia2026-07-20Chemel, James L Cpa UNQUALIFIED94Anna Fali
1049Arvin Y GarufiGermany2026-07-31Rangoni Of Florence NEGOTIATION24Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mayumi C NestleGermanyIvan Magalhaes NEW
Greenwood G FigeroaCanadaOnyama Limba NEGOTIATION
Wickens A DoeBrazilBernardo Dominic QUALIFIED
Kaitlin J GarufiCanadaAmy Elsner QUALIFIED
Misaki Y IturbideAustraliaAsiya Javayant UNQUALIFIED
Salvatore O WaycottCanadaOnyama Limba UNQUALIFIED
Smith L SchemmerGermanyXuxue Feng RENEWAL
Mayumi F PaprockiBrazilOnyama Limba RENEWAL
Wickens T FlosiArgentinaOnyama Limba NEW
Tony B RutaItalyStephen Shaw QUALIFIED
Tony E CampainItalyBernardo Dominic PROPOSAL
Leon U VocelkaGermanyAmy Elsner QUALIFIED
David Z MaletArgentinaAsiya Javayant NEGOTIATION
Aruna R RoysterGermanyStephen Shaw PROPOSAL
Tony K GarufiCanadaBernardo Dominic UNQUALIFIED
Alejandro R NickaSpainIoni Bowcher PROPOSAL
Greenwood L PerinFranceElwin Sharvill NEW
Costa K SchemmerItalyXuxue Feng NEW
Jennifer D KolmetzUnited KingdomBernardo Dominic RENEWAL
Nicolas W KolmetzFranceOnyama Limba NEW
Maisha K FigeroaJapanOnyama Limba RENEWAL
Greenwood E RoysterBrazilIoni Bowcher QUALIFIED
Faith X StockhamArgentinaOnyama Limba NEW
Aditya Q TollnerSpainStephen Shaw PROPOSAL
Silvio W DarakjyArgentinaIoni Bowcher UNQUALIFIED
Johnson O KuskoRussiaXuxue Feng RENEWAL
Morrow K StockhamCanadaIvan Magalhaes UNQUALIFIED
Antonio O DilliardArgentinaBernardo Dominic PROPOSAL
James T SergiFranceIoni Bowcher NEW
Wickens E GarufiFranceOnyama Limba QUALIFIED
Darci Q RoysterIndiaIvan Magalhaes UNQUALIFIED
Julie T GillianJapanOnyama Limba UNQUALIFIED
James X CaldareraSpainIoni Bowcher NEGOTIATION
Alejandro I WhobreyBrazilStephen Shaw UNQUALIFIED
Misaki H FlosiIndiaIvan Magalhaes NEW
Murillo X FlosiGermanyElwin Sharvill PROPOSAL
Chavez O ShinkoAustraliaAsiya Javayant QUALIFIED
Darci D PerinArgentinaAnna Fali PROPOSAL
Darci E StockhamBrazilIvan Magalhaes RENEWAL
Wickens I SergiBrazilIoni Bowcher NEGOTIATION
Munro G GlickGermanyXuxue Feng QUALIFIED
Octavia A GarufiCanadaAmy Elsner RENEWAL
Costa B PaprockiUnited KingdomAsiya Javayant QUALIFIED
Aika Z RoysterCanadaAnna Fali NEW
Maria T FlosiFranceStephen Shaw QUALIFIED
Nicolas E MaletBrazilAsiya Javayant RENEWAL
Wickens L WaycottFranceIvan Magalhaes UNQUALIFIED
Leon H CampainBrazilXuxue Feng PROPOSAL
Alejandro C GauchoGermanyStephen Shaw NEW
Munro F GarufiCanadaAmy Elsner RENEWAL
Frozen Columns
Name
Aruna X Waycott
Sinclair R Kolmetz
Darci I Foller
Leon I Shinko
Aditya U Shinko
Alejandro V Flosi
Jefferson B Marrier
Johnson R Malet
Stacey Z Rulapaugh
Francesco V Paprocki
Maisha Q Gillian
Clifford V Paprocki
Greenwood I Morasca
Murillo N Darakjy
Greenwood C Iturbide
Antonio T Kusko
Aditya G Glick
Nicolas M Malet
Arvin I Glick
Rodrigues Z Iturbide
Sinclair O Maclead
Clifford T Malet
Julie G Gillian
Johnson Q Perin
Ivar M Bolognia
Darci N Campain
Isabel R Ruta
Juan N Shinko
Alejandro U Royster
Murillo R Tollner
Leja X Waycott
Kadeem I Kolmetz
Juan T Flosi
Cody K Bolognia
Alejandro W Venere
Ashley G Schemmer
Sinclair S Royster
Claire A Doe
Nicolas D Oldroyd
Faith H Kusko
Isabel U Tollner
Ashley G Flosi
Chavez Q Amigon
Octavia S Amigon
Munro W Darakjy
Aruna I Ferencz
Aika O Gillian
Leon U Stockham
Jennifer V Kolmetz
Aruna M Bowley
IdCountryDate
1000France2026-08-13
1001Japan2026-08-13
1002Japan2026-08-10
1003France2026-07-19
1004United Kingdom2026-07-22
1005France2026-08-05
1006Australia2026-07-31
1007Australia2026-07-26
1008Argentina2026-08-07
1009France2026-07-24
1010Spain2026-07-24
1011France2026-07-15
1012Spain2026-08-10
1013Russia2026-07-16
1014Germany2026-08-08
1015France2026-07-30
1016Australia2026-07-16
1017Brazil2026-07-17
1018Canada2026-07-21
1019Canada2026-08-09
1020Japan2026-07-31
1021France2026-08-02
1022Brazil2026-08-01
1023Spain2026-08-03
1024Russia2026-07-21
1025Australia2026-07-17
1026Italy2026-07-30
1027Germany2026-07-25
1028Australia2026-08-10
1029Spain2026-07-28
1030Russia2026-07-30
1031United Kingdom2026-07-22
1032Canada2026-08-07
1033Brazil2026-07-29
1034Argentina2026-07-19
1035Brazil2026-07-18
1036Japan2026-08-04
1037Argentina2026-07-28
1038Russia2026-07-19
1039Argentina2026-08-13
1040Australia2026-08-03
1041Germany2026-08-05
1042India2026-08-01
1043Italy2026-08-03
1044Australia2026-08-10
1045Germany2026-08-12
1046Argentina2026-08-11
1047Canada2026-08-05
1048United Kingdom2026-07-21
1049United Kingdom2026-07-20

On-Demand Data

NameIdCountryDate
Jefferson O Morasca1000United Kingdom2026-07-27
Mujtaba T Nestle1001India2026-07-27
Aditya J Kolmetz1002Spain2026-07-29
Deepesh N Flosi1003India2026-07-20
Wickens G Campain1004France2026-07-17
Rodrigues N Kusko1005Germany2026-07-17
Chavez A Nestle1006Canada2026-08-03
Nicolas F Stockham1007Argentina2026-08-09
Ivar X Figeroa1008Germany2026-07-31
Costa F Ferencz1009Australia2026-07-31
Mayumi U Malet1010Australia2026-07-16
Alejandro X Saylors1011Brazil2026-08-02
Morrow W Dilliard1012Australia2026-07-17
Clifford X Malet1013Japan2026-08-12
Misaki M Stenseth1014Russia2026-08-11
Nicolas T Bolognia1015Japan2026-08-08
James X Figeroa1016Australia2026-08-09
Leon T Nicka1017Italy2026-07-23
Jefferson N Figeroa1018Germany2026-07-17
Costa J Gaucho1019India2026-08-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy U VenereBrazilXuxue Feng QUALIFIED
Emily S SergiArgentinaElwin Sharvill QUALIFIED
Salvatore O FollerAustraliaStephen Shaw PROPOSAL
Chavez T KolmetzRussiaAmy Elsner NEGOTIATION
Maisha G AlbaresIndiaBernardo Dominic RENEWAL
Izzy W RoysterAustraliaElwin Sharvill NEW
Wickens K DarakjyUnited KingdomStephen Shaw QUALIFIED
James A SchemmerFranceAsiya Javayant UNQUALIFIED
Deepesh P FollerFranceOnyama Limba UNQUALIFIED
Cody Z FollerJapanStephen Shaw NEW
Johnson G GauchoIndiaElwin Sharvill PROPOSAL
Mujtaba W DoeIndiaAmy Elsner NEGOTIATION
Jennifer Y MacleadCanadaOnyama Limba NEGOTIATION
Leon Y VenereFranceAsiya Javayant UNQUALIFIED
Claire Z ButtSpainIoni Bowcher RENEWAL
Arvin E PoquetteBrazilOnyama Limba NEW
Julie R GlickAustraliaBernardo Dominic PROPOSAL
Ivar Y ButtArgentinaOnyama Limba NEW
Juan U BologniaSpainAsiya Javayant QUALIFIED
Chavez E GillianIndiaElwin Sharvill RENEWAL
Aika Y NickaIndiaStephen Shaw QUALIFIED
Greenwood F OstroskyItalyIoni Bowcher NEW
Mayumi O BologniaAustraliaIoni Bowcher NEGOTIATION
Sinclair X InouyeFranceAmy Elsner NEGOTIATION
Misaki W ShinkoGermanyOnyama Limba NEW
Julie E GlickFranceElwin Sharvill QUALIFIED
Octavia D OldroydUnited KingdomStephen Shaw NEW
Faith S RoysterItalyBernardo Dominic QUALIFIED
Ricardo G WieserCanadaAnna Fali PROPOSAL
Antonio L CaldareraArgentinaXuxue Feng NEGOTIATION
Silvio O PerinRussiaIoni Bowcher QUALIFIED
Morrow U StensethSpainBernardo Dominic RENEWAL
Rodrigues M OstroskyBrazilAsiya Javayant QUALIFIED
Costa N InouyeCanadaOnyama Limba QUALIFIED
Adams T FlosiJapanAmy Elsner UNQUALIFIED
Alejandro D BriddickJapanAsiya Javayant NEGOTIATION
Kaitlin J GillianGermanyAsiya Javayant NEGOTIATION
Costa V WhobreyUnited KingdomAnna Fali NEW
Munro H SchemmerItalyAmy Elsner QUALIFIED
Alejandro G CampainSpainBernardo Dominic UNQUALIFIED

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