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
Darci B DarakjyArgentinaIoni Bowcher NEGOTIATION
Arvin G NickaFranceStephen Shaw NEW
Jennifer B CaudyGermanyStephen Shaw RENEWAL
Antonio L AlbaresItalyAnna Fali UNQUALIFIED
Nicolas O RulapaughGermanyAnna Fali NEGOTIATION
Johnson N GillianUnited KingdomStephen Shaw QUALIFIED
Johnson M SergiAustraliaIvan Magalhaes PROPOSAL
Ivar G PoquetteCanadaXuxue Feng NEW
Clifford P TollnerFranceStephen Shaw RENEWAL
Kaitlin O CaudyCanadaIoni Bowcher UNQUALIFIED
Ashley D StensethGermanyIoni Bowcher RENEWAL
Wickens L RulapaughGermanyOnyama Limba PROPOSAL
Emily L MacleadArgentinaOnyama Limba QUALIFIED
Octavia I VocelkaAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois U RulapaughArgentinaXuxue Feng PROPOSAL
Maisha S OstroskyFranceXuxue Feng NEGOTIATION
Rodrigues P OstroskySpainAmy Elsner NEGOTIATION
Leon B FigeroaCanadaXuxue Feng RENEWAL
Juan Q FerenczRussiaIoni Bowcher UNQUALIFIED
Antonio G PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Jefferson H NickaGermanyStephen Shaw PROPOSAL
James S SaylorsBrazilBernardo Dominic NEW
Leja P OstroskyGermanyXuxue Feng NEGOTIATION
Claire F StensethSpainElwin Sharvill RENEWAL
Munro J RutaRussiaXuxue Feng NEGOTIATION
Isabel R FigeroaUnited KingdomOnyama Limba PROPOSAL
Claire B StensethUnited KingdomIoni Bowcher NEW
Maria Y GarufiArgentinaIvan Magalhaes RENEWAL
Salvatore V StockhamItalyElwin Sharvill NEW
Arvin N AmigonIndiaAsiya Javayant NEGOTIATION
Murillo F RulapaughIndiaAnna Fali QUALIFIED
Aditya O WieserBrazilElwin Sharvill PROPOSAL
Ashley G RoysterSpainIvan Magalhaes RENEWAL
Munro K SergiIndiaXuxue Feng RENEWAL
Mujtaba K WhobreyItalyIoni Bowcher NEGOTIATION
Mujtaba X WaycottUnited KingdomXuxue Feng QUALIFIED
Aruna V ShinkoBrazilStephen Shaw QUALIFIED
Salvatore N GauchoSpainAnna Fali RENEWAL
Wickens O FerenczGermanyElwin Sharvill NEGOTIATION
Ivar B DoeJapanAsiya Javayant NEW
Juan J CaudyArgentinaAmy Elsner NEW
Sinclair J RulapaughJapanIoni Bowcher UNQUALIFIED
Ashley V WhobreyBrazilBernardo Dominic UNQUALIFIED
Sinclair N GlickSpainIvan Magalhaes NEW
Juan F SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Aditya U GlickItalyBernardo Dominic PROPOSAL
Nicolas B AmigonUnited KingdomBernardo Dominic NEW
Wickens Z InouyeCanadaOnyama Limba UNQUALIFIED
Alejandro P IturbideBrazilBernardo Dominic NEW
Smith Q GlickJapanIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel A RutaBrazilIoni Bowcher QUALIFIED
David B CaudyGermanyBernardo Dominic NEW
Jennifer W PoquetteItalyXuxue Feng UNQUALIFIED
Darci U TollnerItalyAnna Fali RENEWAL
Mujtaba A ShinkoArgentinaIvan Magalhaes RENEWAL
Clifford L RimJapanBernardo Dominic RENEWAL
Murillo F FollerBrazilElwin Sharvill RENEWAL
Aruna F MarrierItalyIoni Bowcher NEW
Smith G FlosiGermanyAsiya Javayant NEW
Emily A OldroydAustraliaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie Y FerenczUnited Kingdom2026-06-26Benton, John B Jr QUALIFIED25Ivan Magalhaes
1001Nicolas P FerenczBrazil2026-06-22Chanay, Jeffrey A Esq UNQUALIFIED65Xuxue Feng
1002Arvin Z RoysterItaly2026-06-15Benton, John B Jr PROPOSAL17Bernardo Dominic
1003Aditya D DilliardArgentina2026-06-30Commercial Press PROPOSAL7Amy Elsner
1004Munro I OstroskyJapan2026-06-25Buckley Miller Wright QUALIFIED70Ioni Bowcher
1005Jones W MaletIndia2026-06-16Feiner Bros QUALIFIED40Bernardo Dominic
1006Rodrigues W FigeroaSpain2026-06-07Chanay, Jeffrey A Esq RENEWAL7Stephen Shaw
1007Arvin J PerinFrance2026-06-09Chemel, James L Cpa NEGOTIATION94Bernardo Dominic
1008Jennifer G KolmetzIndia2026-06-11Chemel, James L Cpa RENEWAL50Ioni Bowcher
1009Octavia P BologniaFrance2026-06-26Chanay, Jeffrey A Esq RENEWAL18Anna Fali
1010Ricardo S AlbaresIndia2026-06-20Feltz Printing Service NEGOTIATION59Bernardo Dominic
1011Julie P WaycottItaly2026-07-05Feiner Bros UNQUALIFIED87Asiya Javayant
1012Leon H MarrierArgentina2026-06-24Feiner Bros RENEWAL65Ivan Magalhaes
1013Stacey P InouyeIndia2026-06-13Morlong Associates NEGOTIATION65Bernardo Dominic
1014Stacey J DarakjyItaly2026-06-07Chapman, Ross E Esq NEGOTIATION89Anna Fali
1015Antonio W VocelkaGermany2026-06-11Benton, John B Jr NEW64Elwin Sharvill
1016Aditya A VenereUnited Kingdom2026-06-13Benton, John B Jr QUALIFIED30Xuxue Feng
1017Jennifer F OldroydBrazil2026-06-08Dorl, James J Esq PROPOSAL62Anna Fali
1018Darci S WieserArgentina2026-06-17Rangoni Of Florence PROPOSAL79Xuxue Feng
1019Deepesh K TollnerRussia2026-06-10Benton, John B Jr NEGOTIATION39Stephen Shaw
1020Aika S AmigonArgentina2026-06-29Commercial Press NEGOTIATION57Stephen Shaw
1021Adams J GauchoJapan2026-06-21Feiner Bros RENEWAL59Ivan Magalhaes
1022David F VenereArgentina2026-06-28Commercial Press UNQUALIFIED30Anna Fali
1023Kaitlin Q SaylorsBrazil2026-07-05Buckley Miller Wright NEW46Xuxue Feng
1024Silvio J BowleyRussia2026-06-27Rousseaux, Michael Esq PROPOSAL33Onyama Limba
1025Jeanfrancois K FigeroaUnited Kingdom2026-06-06Printing Dimensions NEW98Stephen Shaw
1026Octavia E FollerJapan2026-06-20Commercial Press RENEWAL13Ivan Magalhaes
1027Cody W MaletArgentina2026-06-28Commercial Press RENEWAL65Amy Elsner
1028Ricardo W BowleyJapan2026-06-24Feltz Printing Service NEGOTIATION26Ioni Bowcher
1029James T VenereRussia2026-06-22Truhlar And Truhlar Attys NEW35Xuxue Feng
1030Claire Q GillianGermany2026-06-16Truhlar And Truhlar Attys NEGOTIATION77Anna Fali
1031Ricardo R RoysterCanada2026-06-21King, Christopher A Esq PROPOSAL38Stephen Shaw
1032Kadeem Y ChuiItaly2026-06-10Rousseaux, Michael Esq QUALIFIED42Amy Elsner
1033Maria W KuskoArgentina2026-06-30Chanay, Jeffrey A Esq NEW14Xuxue Feng
1034Munro T PoquetteFrance2026-06-07Printing Dimensions QUALIFIED0Ivan Magalhaes
1035Stacey L AmigonJapan2026-06-07King, Christopher A Esq PROPOSAL56Ioni Bowcher
1036Maisha M AmigonGermany2026-07-04Chemel, James L Cpa PROPOSAL8Ioni Bowcher
1037Ashley Z AlbaresIndia2026-06-17Feltz Printing Service NEGOTIATION57Xuxue Feng
1038Ivar D AlbaresRussia2026-06-23Commercial Press NEW57Onyama Limba
1039Wickens J CaudyJapan2026-06-27Feiner Bros RENEWAL70Xuxue Feng
1040Aika Y NestleIndia2026-06-20Benton, John B Jr NEGOTIATION28Ioni Bowcher
1041Wickens Q AmigonGermany2026-07-05Chanay, Jeffrey A Esq NEGOTIATION74Ivan Magalhaes
1042Leja J CaldareraArgentina2026-06-08Morlong Associates PROPOSAL8Asiya Javayant
1043Aika M GarufiItaly2026-07-04Chanay, Jeffrey A Esq NEW2Elwin Sharvill
1044Kadeem P IturbideIndia2026-07-04Printing Dimensions NEGOTIATION14Stephen Shaw
1045David B KolmetzAustralia2026-06-23Dorl, James J Esq QUALIFIED76Xuxue Feng
1046Jones Q BriddickSpain2026-06-29Benton, John B Jr UNQUALIFIED42Onyama Limba
1047Salvatore L NestleAustralia2026-06-26Morlong Associates RENEWAL6Elwin Sharvill
1048Antonio A GauchoJapan2026-06-17Chanay, Jeffrey A Esq PROPOSAL60Stephen Shaw
1049Alejandro G GillianCanada2026-06-16Buckley Miller Wright UNQUALIFIED74Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Tony W PoquetteRussiaBernardo Dominic QUALIFIED
Deepesh E PerinArgentinaXuxue Feng QUALIFIED
Murillo S IturbideGermanyAnna Fali PROPOSAL
Octavia W CaldareraRussiaAmy Elsner RENEWAL
Jefferson O VocelkaSpainAsiya Javayant QUALIFIED
Cody H RulapaughGermanyElwin Sharvill NEW
Silvio R NestleCanadaIoni Bowcher NEGOTIATION
Maria C StensethItalyIoni Bowcher PROPOSAL
Wickens P WieserUnited KingdomAmy Elsner QUALIFIED
Mayumi Y SaylorsCanadaAnna Fali NEGOTIATION
Kaitlin G AmigonFranceAnna Fali UNQUALIFIED
Cody J RoysterIndiaStephen Shaw PROPOSAL
Wickens N TollnerFranceOnyama Limba NEW
Kadeem J MorascaGermanyIoni Bowcher NEW
Adams N DarakjyItalyAnna Fali NEGOTIATION
Isabel C StensethIndiaAmy Elsner UNQUALIFIED
Morrow M ShinkoUnited KingdomAsiya Javayant RENEWAL
Emily T ShinkoArgentinaXuxue Feng PROPOSAL
Jeanfrancois Z StockhamUnited KingdomAnna Fali QUALIFIED
Salvatore P WhobreyIndiaAmy Elsner NEGOTIATION
Antonio G VocelkaSpainAnna Fali RENEWAL
Emily X FlosiBrazilAmy Elsner PROPOSAL
Wickens O ChuiRussiaXuxue Feng PROPOSAL
Jeanfrancois S OldroydSpainXuxue Feng NEW
Darci O SergiBrazilIvan Magalhaes QUALIFIED
Faith R SlusarskiRussiaStephen Shaw UNQUALIFIED
Adams K ChuiAustraliaBernardo Dominic NEW
Claire W NickaSpainElwin Sharvill UNQUALIFIED
Francesco W KuskoRussiaAmy Elsner NEGOTIATION
Smith Z SlusarskiJapanOnyama Limba UNQUALIFIED
Mujtaba F InouyeUnited KingdomOnyama Limba UNQUALIFIED
Arvin K StockhamAustraliaAnna Fali PROPOSAL
Aruna C GauchoJapanIvan Magalhaes UNQUALIFIED
Jones N StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Misaki K KolmetzUnited KingdomElwin Sharvill RENEWAL
Isabel V RoysterJapanIoni Bowcher UNQUALIFIED
Costa V GillianRussiaOnyama Limba NEGOTIATION
Julie K SergiAustraliaXuxue Feng RENEWAL
Mujtaba O NickaBrazilElwin Sharvill UNQUALIFIED
Aruna G BologniaAustraliaIvan Magalhaes NEGOTIATION
Johnson B DilliardCanadaElwin Sharvill RENEWAL
Costa E InouyeSpainAsiya Javayant NEGOTIATION
Salvatore R GarufiUnited KingdomAnna Fali NEGOTIATION
Aruna L WaycottArgentinaBernardo Dominic UNQUALIFIED
Aruna H PerinItalyIoni Bowcher NEGOTIATION
Misaki F MorascaSpainIoni Bowcher PROPOSAL
Claire R MaletUnited KingdomAmy Elsner QUALIFIED
Faith S MorascaIndiaIoni Bowcher NEW
Isabel W FollerArgentinaOnyama Limba QUALIFIED
Smith W TollnerFranceOnyama Limba NEW
Frozen Columns
Name
Julie T Whobrey
Stacey H Amigon
Maria E Royster
Greenwood Y Foller
Ricardo U Butt
Emily G Albares
Deepesh H Stenseth
Johnson D Venere
Ricardo F Nicka
Darci H Flosi
Smith L Darakjy
Mayumi B Campain
Clifford O Caudy
David A Venere
Mayumi X Amigon
Cody H Darakjy
Greenwood L Nicka
Nicolas R Vocelka
Deepesh X Kusko
Stacey B Bolognia
David Z Maclead
Deepesh V Kolmetz
Misaki B Maclead
Munro J Vocelka
Isabel T Stockham
Kadeem M Butt
Faith M Wieser
Antonio Y Flosi
Clifford M Waycott
Ivar Y Malet
Rodrigues O Sergi
Rodrigues U Ruta
Salvatore L Maclead
Morrow R Amigon
Julie T Albares
Aruna Q Stenseth
Adams X Saylors
Faith F Slusarski
Nicolas Y Rim
Ivar O Poquette
Misaki Z Ostrosky
Faith O Glick
Morrow X Albares
Silvio E Inouye
Aditya W Whobrey
Darci H Paprocki
Juan L Rulapaugh
James Z Inouye
Alejandro E Malet
Murillo T Iturbide
IdCountryDate
1000Russia2026-06-27
1001United Kingdom2026-07-02
1002Germany2026-07-02
1003Brazil2026-06-22
1004Italy2026-07-05
1005Australia2026-06-19
1006Australia2026-06-27
1007United Kingdom2026-06-14
1008India2026-06-17
1009United Kingdom2026-06-21
1010Australia2026-06-16
1011Spain2026-06-22
1012Russia2026-06-28
1013Australia2026-06-23
1014Argentina2026-06-23
1015France2026-07-01
1016Argentina2026-06-21
1017Australia2026-06-07
1018Italy2026-06-23
1019Spain2026-07-01
1020Italy2026-06-19
1021India2026-07-04
1022Australia2026-06-12
1023United Kingdom2026-06-29
1024Japan2026-06-12
1025Canada2026-06-22
1026Germany2026-06-16
1027India2026-06-27
1028France2026-06-12
1029Australia2026-06-26
1030Spain2026-06-24
1031United Kingdom2026-06-23
1032Argentina2026-06-19
1033India2026-06-24
1034France2026-06-13
1035Germany2026-06-19
1036France2026-06-14
1037Brazil2026-06-12
1038Canada2026-07-01
1039Germany2026-06-10
1040United Kingdom2026-06-25
1041United Kingdom2026-06-28
1042United Kingdom2026-06-23
1043Italy2026-06-21
1044Germany2026-06-15
1045United Kingdom2026-07-01
1046Russia2026-06-09
1047Spain2026-06-20
1048Brazil2026-06-26
1049Italy2026-06-11

On-Demand Data

NameIdCountryDate
Leja T Royster1000India2026-06-14
Morrow U Bowley1001India2026-07-01
Chavez N Tollner1002Italy2026-07-04
Julie Q Maclead1003Australia2026-06-30
Isabel C Venere1004United Kingdom2026-06-16
Francesco S Bolognia1005Brazil2026-07-02
Salvatore K Stockham1006Australia2026-06-10
Ivar G Marrier1007Russia2026-06-27
Tony V Ostrosky1008Canada2026-06-14
Wickens S Saylors1009France2026-06-18
Maisha E Caldarera1010Germany2026-06-30
Leon T Marrier1011Argentina2026-06-27
David I Rim1012France2026-06-17
Chavez U Sergi1013Japan2026-07-04
Jefferson G Briddick1014Japan2026-06-13
David M Gaucho1015Russia2026-06-21
Aruna A Butt1016Spain2026-06-19
Kaitlin H Schemmer1017Argentina2026-06-25
Julie Q Waycott1018Japan2026-06-23
Ashley T Caudy1019Spain2026-06-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh K VocelkaItalyStephen Shaw NEW
Silvio T RulapaughAustraliaBernardo Dominic UNQUALIFIED
Silvio Q PerinAustraliaAnna Fali NEGOTIATION
Claire O SchemmerAustraliaAsiya Javayant PROPOSAL
Chavez C PoquetteGermanyIoni Bowcher UNQUALIFIED
Greenwood A IturbideCanadaAmy Elsner RENEWAL
Maisha H BologniaItalyXuxue Feng QUALIFIED
Kadeem J FollerBrazilOnyama Limba UNQUALIFIED
Rodrigues P MaletUnited KingdomElwin Sharvill QUALIFIED
Misaki Z FlosiUnited KingdomIvan Magalhaes PROPOSAL
Octavia L WieserGermanyXuxue Feng QUALIFIED
David C PaprockiCanadaOnyama Limba PROPOSAL
Silvio Z CaldareraBrazilElwin Sharvill UNQUALIFIED
Faith G KolmetzRussiaStephen Shaw RENEWAL
Stacey M VenereCanadaBernardo Dominic NEW
Juan W TollnerIndiaAsiya Javayant PROPOSAL
Sinclair N CampainIndiaXuxue Feng NEGOTIATION
Isabel D OldroydSpainIoni Bowcher NEGOTIATION
Ivar V GillianAustraliaOnyama Limba RENEWAL
Alejandro U KuskoIndiaXuxue Feng PROPOSAL
Jefferson V DilliardGermanyXuxue Feng NEGOTIATION
Johnson L NickaFranceElwin Sharvill NEW
Sinclair X BowleyIndiaIvan Magalhaes UNQUALIFIED
Silvio F RoysterAustraliaIvan Magalhaes RENEWAL
Mujtaba L MaletGermanyXuxue Feng NEGOTIATION
Clifford D GlickArgentinaBernardo Dominic NEGOTIATION
Cody F CampainFranceXuxue Feng PROPOSAL
Juan X NestleFranceBernardo Dominic PROPOSAL
Misaki F BowleyItalyElwin Sharvill RENEWAL
Leja I PoquetteItalyXuxue Feng QUALIFIED
Morrow X SlusarskiFranceAmy Elsner NEW
Maria R MaletJapanStephen Shaw PROPOSAL
Tony O GarufiJapanBernardo Dominic NEGOTIATION
Alejandro Z PoquetteGermanyIoni Bowcher PROPOSAL
Morrow Z CaudyAustraliaStephen Shaw NEW
Kadeem Y CaldareraItalyBernardo Dominic NEGOTIATION
Arvin M KuskoSpainOnyama Limba NEGOTIATION
Julie B IturbideRussiaBernardo Dominic PROPOSAL
Rodrigues K OldroydBrazilElwin Sharvill PROPOSAL
Ivar I FlosiFranceXuxue Feng 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>