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
Kaitlin R RutaFranceStephen Shaw UNQUALIFIED
Munro K RutaIndiaAsiya Javayant RENEWAL
Tony T GillianJapanAsiya Javayant QUALIFIED
Morrow R MarrierAustraliaAnna Fali QUALIFIED
Kadeem K FigeroaIndiaBernardo Dominic PROPOSAL
Jones T RutaGermanyAmy Elsner NEW
Jeanfrancois L ChuiGermanyBernardo Dominic NEW
Morrow U TollnerRussiaIoni Bowcher QUALIFIED
Leja Q FollerItalyIoni Bowcher UNQUALIFIED
Ashley O RulapaughSpainOnyama Limba NEGOTIATION
Leon M MaletItalyIoni Bowcher PROPOSAL
Chavez M KuskoFranceOnyama Limba QUALIFIED
Sinclair P PerinBrazilIoni Bowcher NEGOTIATION
Deepesh P RimUnited KingdomIoni Bowcher QUALIFIED
Aditya I WieserGermanyStephen Shaw NEW
Faith E VenereIndiaBernardo Dominic QUALIFIED
Chavez O OldroydCanadaAmy Elsner PROPOSAL
Kaitlin Q FollerBrazilBernardo Dominic QUALIFIED
Leon N CaudyCanadaIvan Magalhaes PROPOSAL
Emily V DarakjyRussiaOnyama Limba RENEWAL
Leja K OstroskyCanadaStephen Shaw NEW
Costa T WaycottArgentinaStephen Shaw NEGOTIATION
Deepesh E FlosiIndiaOnyama Limba NEW
Mujtaba E MaletBrazilAsiya Javayant RENEWAL
Alejandro P MorascaBrazilIvan Magalhaes NEGOTIATION
Mayumi Y CaldareraIndiaBernardo Dominic NEW
Jefferson P NickaIndiaIoni Bowcher PROPOSAL
Octavia U BriddickJapanXuxue Feng NEGOTIATION
Julie H KolmetzRussiaIoni Bowcher PROPOSAL
Francesco D TollnerItalyAsiya Javayant RENEWAL
Leon U OstroskyUnited KingdomAmy Elsner NEW
Ivar B SergiAustraliaElwin Sharvill RENEWAL
Darci N RulapaughAustraliaIvan Magalhaes QUALIFIED
David C RutaIndiaAmy Elsner RENEWAL
Emily R WhobreyJapanBernardo Dominic RENEWAL
Mujtaba B OstroskyJapanIvan Magalhaes QUALIFIED
Jennifer F BriddickGermanyAnna Fali QUALIFIED
Jeanfrancois B MacleadArgentinaBernardo Dominic RENEWAL
Cody Z PaprockiAustraliaAsiya Javayant RENEWAL
Jeanfrancois W FlosiCanadaOnyama Limba QUALIFIED
Tony M PaprockiJapanAmy Elsner UNQUALIFIED
Tony V GillianGermanyAnna Fali UNQUALIFIED
Isabel F StockhamJapanOnyama Limba UNQUALIFIED
Emily L BowleyItalyBernardo Dominic UNQUALIFIED
Aditya R MorascaBrazilStephen Shaw NEW
Claire V OstroskyItalyStephen Shaw QUALIFIED
Chavez X FlosiCanadaBernardo Dominic PROPOSAL
Darci Y PoquetteBrazilAnna Fali PROPOSAL
Isabel Q RoysterRussiaAmy Elsner NEW
Chavez Y TollnerItalyOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Smith C NestleUnited KingdomIoni Bowcher NEW
Juan V WaycottFranceXuxue Feng QUALIFIED
Maria G PaprockiItalyIvan Magalhaes NEGOTIATION
Octavia L StockhamAustraliaBernardo Dominic NEW
Rodrigues W OstroskyCanadaXuxue Feng UNQUALIFIED
Aruna K GarufiItalyAnna Fali NEGOTIATION
Arvin F TollnerBrazilXuxue Feng PROPOSAL
Deepesh J GlickGermanyAmy Elsner PROPOSAL
David I MaletUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba H GauchoIndiaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin G ChuiRussia2025-05-06Buckley Miller Wright RENEWAL1Stephen Shaw
1001Murillo K WieserAustralia2025-05-10Rousseaux, Michael Esq RENEWAL7Elwin Sharvill
1002Misaki G BowleyUnited Kingdom2025-05-05Chapman, Ross E Esq PROPOSAL96Ioni Bowcher
1003Leon U PaprockiArgentina2025-04-27Dorl, James J Esq UNQUALIFIED31Ioni Bowcher
1004Jefferson X RimBrazil2025-04-20Morlong Associates PROPOSAL67Ivan Magalhaes
1005Kadeem N DarakjyRussia2025-05-07Morlong Associates NEW16Onyama Limba
1006Costa T ChuiGermany2025-04-25Printing Dimensions UNQUALIFIED84Stephen Shaw
1007Munro R NestleRussia2025-05-08Buckley Miller Wright PROPOSAL14Ivan Magalhaes
1008Maria N VocelkaUnited Kingdom2025-04-16Truhlar And Truhlar Attys PROPOSAL82Bernardo Dominic
1009Aika J FigeroaSpain2025-04-20Dorl, James J Esq RENEWAL52Onyama Limba
1010David F SergiUnited Kingdom2025-05-10Dorl, James J Esq RENEWAL47Ioni Bowcher
1011Antonio P GauchoGermany2025-05-10Truhlar And Truhlar Attys NEGOTIATION59Ioni Bowcher
1012Kadeem G OldroydArgentina2025-04-14Feltz Printing Service UNQUALIFIED99Onyama Limba
1013Rodrigues P FerenczIndia2025-05-03Dorl, James J Esq NEGOTIATION59Bernardo Dominic
1014Jefferson C DarakjyBrazil2025-04-12Morlong Associates QUALIFIED14Asiya Javayant
1015Cody P MacleadBrazil2025-04-16Rousseaux, Michael Esq NEGOTIATION97Bernardo Dominic
1016Chavez Q PaprockiIndia2025-04-18Truhlar And Truhlar Attys PROPOSAL3Asiya Javayant
1017Nicolas F IturbideIndia2025-05-09Buckley Miller Wright RENEWAL30Onyama Limba
1018Aditya H KuskoArgentina2025-04-12Feiner Bros NEW45Elwin Sharvill
1019Ivar T GarufiGermany2025-04-14Benton, John B Jr QUALIFIED67Xuxue Feng
1020Silvio T IturbideUnited Kingdom2025-04-23Rangoni Of Florence UNQUALIFIED36Amy Elsner
1021Munro P SaylorsSpain2025-05-01Printing Dimensions UNQUALIFIED57Bernardo Dominic
1022Greenwood V RimAustralia2025-04-13Printing Dimensions PROPOSAL8Onyama Limba
1023Mayumi W PoquetteGermany2025-05-05Feltz Printing Service RENEWAL31Ioni Bowcher
1024Emily M MarrierIndia2025-04-15Commercial Press PROPOSAL87Amy Elsner
1025Francesco S BowleyRussia2025-04-13Dorl, James J Esq QUALIFIED98Xuxue Feng
1026Clifford G PaprockiCanada2025-05-09Rangoni Of Florence NEW65Ioni Bowcher
1027Munro K DarakjyArgentina2025-05-07Rousseaux, Michael Esq RENEWAL22Bernardo Dominic
1028Nicolas X ShinkoUnited Kingdom2025-05-10Chapman, Ross E Esq UNQUALIFIED60Ivan Magalhaes
1029Antonio V WaycottFrance2025-04-28Rousseaux, Michael Esq NEGOTIATION37Ioni Bowcher
1030Greenwood M StensethFrance2025-04-22Commercial Press RENEWAL49Elwin Sharvill
1031Francesco Z VenereCanada2025-04-29Rangoni Of Florence UNQUALIFIED99Asiya Javayant
1032Tony C MacleadFrance2025-04-11Rousseaux, Michael Esq PROPOSAL95Onyama Limba
1033Emily F SchemmerFrance2025-04-18King, Christopher A Esq UNQUALIFIED97Ivan Magalhaes
1034Murillo Q MaletBrazil2025-04-21Feiner Bros PROPOSAL71Onyama Limba
1035Deepesh H KuskoBrazil2025-05-09Printing Dimensions QUALIFIED28Onyama Limba
1036Salvatore K KolmetzFrance2025-05-02Chapman, Ross E Esq RENEWAL40Amy Elsner
1037Izzy P PoquetteJapan2025-05-04Buckley Miller Wright RENEWAL59Stephen Shaw
1038Morrow Y BriddickArgentina2025-04-28Rousseaux, Michael Esq QUALIFIED51Asiya Javayant
1039Isabel B BowleySpain2025-05-03King, Christopher A Esq NEW54Amy Elsner
1040Claire O BowleyFrance2025-04-26Chanay, Jeffrey A Esq NEW79Onyama Limba
1041Octavia A SchemmerCanada2025-04-17King, Christopher A Esq QUALIFIED38Stephen Shaw
1042Munro S MacleadRussia2025-04-22Rousseaux, Michael Esq QUALIFIED82Amy Elsner
1043Emily C FollerGermany2025-04-24Commercial Press NEW40Ivan Magalhaes
1044David Z GauchoAustralia2025-04-27Rousseaux, Michael Esq PROPOSAL4Onyama Limba
1045Costa Z WieserItaly2025-04-25Morlong Associates RENEWAL32Bernardo Dominic
1046Aruna N MarrierFrance2025-05-04Benton, John B Jr RENEWAL77Bernardo Dominic
1047Izzy C VenereItaly2025-05-05Chemel, James L Cpa UNQUALIFIED4Amy Elsner
1048Kadeem L OldroydUnited Kingdom2025-05-07Buckley Miller Wright NEW39Xuxue Feng
1049Ivar L CaudyRussia2025-05-07King, Christopher A Esq NEGOTIATION19Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ricardo Q IturbideCanadaBernardo Dominic NEGOTIATION
Francesco R RutaItalyXuxue Feng NEGOTIATION
Cody Q KuskoJapanBernardo Dominic RENEWAL
Leja Y IturbideItalyXuxue Feng RENEWAL
Smith D PoquetteCanadaOnyama Limba NEGOTIATION
Silvio S RutaUnited KingdomElwin Sharvill RENEWAL
Morrow I BriddickBrazilIvan Magalhaes QUALIFIED
Stacey I PerinItalyIvan Magalhaes PROPOSAL
Aika B RulapaughItalyAmy Elsner QUALIFIED
James J SlusarskiArgentinaAmy Elsner RENEWAL
Munro D MarrierItalyIoni Bowcher QUALIFIED
Jones C GlickIndiaIoni Bowcher NEGOTIATION
Jones I BowleySpainBernardo Dominic QUALIFIED
Jennifer A FlosiFranceAmy Elsner UNQUALIFIED
Deepesh D CampainItalyAmy Elsner QUALIFIED
Octavia H MacleadBrazilStephen Shaw PROPOSAL
Emily H VenereJapanOnyama Limba PROPOSAL
Clifford Y SlusarskiRussiaIvan Magalhaes NEW
Aditya D ChuiUnited KingdomStephen Shaw QUALIFIED
Juan R CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Chavez C PaprockiCanadaBernardo Dominic NEW
Aditya I PaprockiGermanyBernardo Dominic RENEWAL
Ashley S MacleadIndiaBernardo Dominic PROPOSAL
Kaitlin U GlickItalyAsiya Javayant NEW
Jones Q WieserCanadaElwin Sharvill QUALIFIED
Leon H FollerUnited KingdomIvan Magalhaes QUALIFIED
Salvatore X DarakjyBrazilBernardo Dominic UNQUALIFIED
Darci R DoeIndiaXuxue Feng PROPOSAL
Chavez B BologniaJapanAsiya Javayant RENEWAL
Leja J GlickArgentinaIoni Bowcher RENEWAL
Ashley F MaletGermanyXuxue Feng QUALIFIED
Jefferson M AmigonJapanAnna Fali NEGOTIATION
Juan L StensethFranceIoni Bowcher RENEWAL
Claire S RutaAustraliaIvan Magalhaes QUALIFIED
Arvin E SlusarskiArgentinaAsiya Javayant PROPOSAL
Adams O GarufiRussiaBernardo Dominic UNQUALIFIED
Izzy U PoquetteRussiaXuxue Feng UNQUALIFIED
Claire S CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Aika T AmigonIndiaIvan Magalhaes NEGOTIATION
Nicolas Q BologniaJapanIoni Bowcher UNQUALIFIED
Juan O GillianCanadaAsiya Javayant NEGOTIATION
Francesco L PoquetteFranceXuxue Feng UNQUALIFIED
David A KolmetzIndiaOnyama Limba RENEWAL
Mujtaba A GlickCanadaElwin Sharvill QUALIFIED
Mujtaba I WieserGermanyIvan Magalhaes UNQUALIFIED
Nicolas S WieserItalyStephen Shaw RENEWAL
Arvin T CaldareraIndiaAmy Elsner PROPOSAL
Leja F GarufiItalyStephen Shaw NEW
Adams C WhobreyGermanyElwin Sharvill UNQUALIFIED
Alejandro T RimAustraliaAnna Fali QUALIFIED
Frozen Columns
Name
Alejandro G Paprocki
Deepesh H Maclead
Octavia I Saylors
Mujtaba W Chui
Aditya U Wieser
Ivar R Briddick
Ashley Y Butt
Emily K Albares
Antonio A Iturbide
Cody G Morasca
Nicolas H Marrier
Antonio A Caldarera
Misaki G Malet
Leon B Saylors
Izzy E Caudy
Morrow M Wieser
Munro J Dilliard
Jennifer S Paprocki
Jones O Chui
Aika Z Shinko
Smith C Maclead
Mayumi T Bolognia
Aditya G Garufi
Maria P Maclead
Jones L Ruta
Sinclair J Schemmer
Stacey X Venere
Jefferson C Perin
Aruna B Campain
Octavia S Inouye
Aika K Ostrosky
Octavia X Briddick
Silvio J Malet
Octavia V Perin
Emily F Rim
Leja I Saylors
Chavez N Kolmetz
Costa F Iturbide
Mayumi F Rulapaugh
Clifford U Glick
Jefferson V Morasca
Deepesh S Bolognia
Munro V Stockham
Rodrigues N Vocelka
Kaitlin R Rim
Wickens G Wieser
David R Caudy
Jones U Nicka
Ivar C Butt
Antonio A Venere
IdCountryDate
1000Germany2025-04-22
1001Germany2025-05-04
1002United Kingdom2025-05-03
1003Russia2025-04-13
1004France2025-05-07
1005Spain2025-05-06
1006India2025-04-21
1007Argentina2025-04-27
1008Germany2025-04-19
1009United Kingdom2025-04-20
1010Spain2025-05-02
1011France2025-04-14
1012Russia2025-04-17
1013India2025-04-29
1014France2025-04-14
1015United Kingdom2025-05-06
1016Italy2025-04-17
1017Spain2025-05-09
1018Russia2025-04-20
1019Germany2025-04-13
1020Australia2025-04-16
1021Germany2025-04-17
1022Australia2025-04-16
1023United Kingdom2025-04-15
1024Russia2025-04-12
1025Spain2025-04-28
1026Russia2025-05-02
1027Spain2025-04-22
1028United Kingdom2025-05-09
1029Italy2025-04-15
1030Argentina2025-04-16
1031Spain2025-04-15
1032Australia2025-04-22
1033France2025-04-12
1034Australia2025-04-20
1035Italy2025-04-18
1036Germany2025-04-12
1037United Kingdom2025-04-20
1038France2025-04-26
1039Germany2025-05-03
1040France2025-04-19
1041Argentina2025-05-02
1042Canada2025-05-10
1043Australia2025-05-01
1044Russia2025-04-18
1045Brazil2025-04-26
1046Argentina2025-04-16
1047Australia2025-05-04
1048Japan2025-05-06
1049Germany2025-04-30

On-Demand Data

NameIdCountryDate
Leon O Stockham1000Japan2025-04-19
Greenwood R Schemmer1001India2025-04-19
Ivar X Morasca1002Australia2025-04-26
Kaitlin M Slusarski1003United Kingdom2025-04-19
Emily G Albares1004Russia2025-04-16
Munro K Poquette1005India2025-04-16
Maisha U Royster1006United Kingdom2025-05-04
Ricardo L Albares1007United Kingdom2025-04-26
Salvatore B Rim1008Germany2025-04-21
Jefferson K Amigon1009Argentina2025-04-11
Deepesh C Amigon1010Russia2025-05-04
Aruna G Butt1011India2025-04-26
Claire S Darakjy1012Canada2025-04-19
Arvin D Waycott1013France2025-04-15
Cody I Doe1014Canada2025-04-27
Juan O Doe1015Japan2025-05-09
Deepesh S Nicka1016Germany2025-05-01
Clifford J Venere1017Spain2025-04-27
Leja M Ostrosky1018Australia2025-04-28
Chavez I Sergi1019Brazil2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa R OstroskySpainIvan Magalhaes NEGOTIATION
Leja S MaletFranceAsiya Javayant QUALIFIED
Claire U MaletAustraliaIvan Magalhaes QUALIFIED
Antonio U BologniaItalyXuxue Feng PROPOSAL
Izzy A IturbideJapanElwin Sharvill QUALIFIED
Claire H GarufiJapanAnna Fali UNQUALIFIED
Adams P MaletArgentinaElwin Sharvill RENEWAL
Smith V AlbaresSpainBernardo Dominic QUALIFIED
Isabel C SlusarskiCanadaXuxue Feng PROPOSAL
Darci P CampainUnited KingdomOnyama Limba UNQUALIFIED
Mayumi I PoquetteArgentinaXuxue Feng UNQUALIFIED
Aruna H WhobreySpainAsiya Javayant UNQUALIFIED
Salvatore S BologniaIndiaElwin Sharvill PROPOSAL
Darci C IturbideUnited KingdomXuxue Feng QUALIFIED
Jefferson H SergiArgentinaOnyama Limba QUALIFIED
Darci N DarakjyGermanyAnna Fali NEW
Jefferson C MarrierItalyElwin Sharvill QUALIFIED
Smith W FollerUnited KingdomIvan Magalhaes PROPOSAL
Murillo B BriddickIndiaAmy Elsner PROPOSAL
Faith V KuskoCanadaAmy Elsner NEW
Claire W ChuiBrazilIoni Bowcher QUALIFIED
Izzy A SchemmerSpainIvan Magalhaes NEW
Darci D BowleyUnited KingdomStephen Shaw UNQUALIFIED
Sinclair O KolmetzBrazilOnyama Limba PROPOSAL
Jefferson N SlusarskiJapanAmy Elsner UNQUALIFIED
Rodrigues N NestleIndiaAmy Elsner NEW
Ricardo Q MaletBrazilAmy Elsner NEGOTIATION
Morrow B WieserCanadaAmy Elsner NEW
Faith X DarakjyGermanyXuxue Feng QUALIFIED
Maisha M ShinkoIndiaAnna Fali NEGOTIATION
Claire S KolmetzArgentinaElwin Sharvill PROPOSAL
Leon V AlbaresGermanyStephen Shaw RENEWAL
Salvatore C CaldareraFranceOnyama Limba NEW
Arvin V NestleUnited KingdomXuxue Feng NEW
Julie C PaprockiUnited KingdomXuxue Feng PROPOSAL
Juan V RimArgentinaAsiya Javayant QUALIFIED
Nicolas P DilliardIndiaIoni Bowcher RENEWAL
Mujtaba S MarrierGermanyIvan Magalhaes UNQUALIFIED
Leja B FerenczFranceOnyama Limba NEW
Ashley I OstroskySpainStephen Shaw 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>