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
Greenwood Y MaletItalyElwin Sharvill RENEWAL
Ashley S CaudyIndiaOnyama Limba RENEWAL
Tony B DarakjyAustraliaXuxue Feng NEGOTIATION
Jones A SlusarskiBrazilXuxue Feng NEW
James R MacleadJapanAnna Fali NEGOTIATION
Emily L OstroskyCanadaOnyama Limba UNQUALIFIED
Johnson H PoquetteCanadaElwin Sharvill NEGOTIATION
Clifford R NickaItalyBernardo Dominic QUALIFIED
Jennifer H SaylorsUnited KingdomIoni Bowcher QUALIFIED
Stacey M SchemmerAustraliaAnna Fali UNQUALIFIED
Sinclair V TollnerCanadaBernardo Dominic NEGOTIATION
Salvatore G GarufiGermanyElwin Sharvill RENEWAL
Maria Y SergiRussiaIvan Magalhaes RENEWAL
Jeanfrancois S DilliardArgentinaAmy Elsner NEGOTIATION
Stacey G DoeUnited KingdomAnna Fali NEGOTIATION
Octavia O NickaUnited KingdomAsiya Javayant UNQUALIFIED
Clifford G ShinkoAustraliaOnyama Limba NEW
Smith F WieserUnited KingdomAmy Elsner NEGOTIATION
Antonio J FollerUnited KingdomAsiya Javayant UNQUALIFIED
James S KuskoBrazilAnna Fali NEGOTIATION
Kadeem Y FollerArgentinaBernardo Dominic PROPOSAL
Emily P AmigonSpainIoni Bowcher NEGOTIATION
Ivar F TollnerUnited KingdomAmy Elsner NEGOTIATION
Jennifer A CaudyGermanyXuxue Feng NEW
Leja C NickaCanadaElwin Sharvill QUALIFIED
Chavez E BriddickBrazilIvan Magalhaes PROPOSAL
Jennifer W StockhamBrazilAmy Elsner NEW
Clifford J DarakjyItalyAmy Elsner NEGOTIATION
Isabel I AlbaresRussiaElwin Sharvill NEW
Deepesh X TollnerFranceBernardo Dominic RENEWAL
Juan C DoeBrazilAsiya Javayant NEGOTIATION
Morrow X DilliardJapanAnna Fali UNQUALIFIED
Ivar Y CaldareraGermanyElwin Sharvill RENEWAL
Jefferson O MaletGermanyAmy Elsner NEGOTIATION
Smith W GarufiSpainXuxue Feng RENEWAL
Adams U CaudyArgentinaIoni Bowcher NEW
Julie Y AlbaresBrazilStephen Shaw QUALIFIED
Adams J KuskoFranceAnna Fali RENEWAL
Tony S VocelkaGermanyIvan Magalhaes NEGOTIATION
Wickens L PerinRussiaStephen Shaw NEGOTIATION
Mujtaba E WieserAustraliaAsiya Javayant RENEWAL
Adams R MarrierJapanAnna Fali RENEWAL
Alejandro G CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Maisha C StensethSpainIoni Bowcher QUALIFIED
Nicolas E PerinUnited KingdomAnna Fali NEW
Mayumi A WhobreyItalyXuxue Feng UNQUALIFIED
Tony I IturbideIndiaBernardo Dominic UNQUALIFIED
Claire K ChuiItalyOnyama Limba PROPOSAL
Octavia K StensethAustraliaAnna Fali NEGOTIATION
Chavez T DoeAustraliaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson P PoquetteAustraliaAnna Fali UNQUALIFIED
Aika G SergiBrazilAsiya Javayant NEW
James C MarrierJapanAmy Elsner NEW
Kaitlin Z AlbaresRussiaXuxue Feng RENEWAL
Silvio K BowleySpainElwin Sharvill PROPOSAL
Jones E GarufiArgentinaBernardo Dominic RENEWAL
Maria G OstroskyFranceBernardo Dominic NEGOTIATION
Kadeem O MorascaRussiaXuxue Feng PROPOSAL
Maria Z NestleArgentinaAmy Elsner RENEWAL
Kadeem O CaldareraCanadaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony M TollnerItaly2024-05-29Rangoni Of Florence NEGOTIATION41Anna Fali
1001Maria E VenereAustralia2024-06-09Benton, John B Jr RENEWAL14Ioni Bowcher
1002Wickens W ShinkoUnited Kingdom2024-06-08Rousseaux, Michael Esq QUALIFIED62Amy Elsner
1003Morrow V AmigonFrance2024-05-20Chemel, James L Cpa RENEWAL17Ivan Magalhaes
1004Tony Q DilliardSpain2024-06-04Commercial Press QUALIFIED29Ivan Magalhaes
1005Jefferson Y DilliardSpain2024-06-08King, Christopher A Esq QUALIFIED90Ivan Magalhaes
1006Smith Y GarufiUnited Kingdom2024-06-17Benton, John B Jr RENEWAL21Elwin Sharvill
1007Jefferson H CaudyRussia2024-05-25King, Christopher A Esq NEGOTIATION68Elwin Sharvill
1008Johnson Y RimUnited Kingdom2024-06-07Benton, John B Jr QUALIFIED95Amy Elsner
1009Faith C MaletRussia2024-06-18Morlong Associates PROPOSAL82Ioni Bowcher
1010Salvatore C MaletSpain2024-05-30Chapman, Ross E Esq UNQUALIFIED87Anna Fali
1011Deepesh Z RulapaughIndia2024-05-31Commercial Press PROPOSAL52Stephen Shaw
1012Smith K WieserGermany2024-06-14King, Christopher A Esq QUALIFIED94Stephen Shaw
1013Clifford E RulapaughCanada2024-05-26Benton, John B Jr QUALIFIED52Onyama Limba
1014Antonio Y TollnerCanada2024-06-10Chemel, James L Cpa UNQUALIFIED22Asiya Javayant
1015Aruna U RoysterSpain2024-06-03Chapman, Ross E Esq NEW92Onyama Limba
1016Ivar P DarakjySpain2024-06-07Rousseaux, Michael Esq PROPOSAL19Amy Elsner
1017Juan S SaylorsIndia2024-06-08Buckley Miller Wright NEGOTIATION6Ivan Magalhaes
1018Costa M ShinkoFrance2024-06-17Feltz Printing Service QUALIFIED0Amy Elsner
1019Mujtaba V InouyeArgentina2024-05-28Feiner Bros QUALIFIED6Elwin Sharvill
1020Smith L RoysterJapan2024-05-31Feltz Printing Service NEGOTIATION89Bernardo Dominic
1021Darci E FerenczUnited Kingdom2024-05-24Chemel, James L Cpa NEGOTIATION17Xuxue Feng
1022Silvio Z FerenczArgentina2024-05-22King, Christopher A Esq RENEWAL82Ivan Magalhaes
1023Alejandro V VenereFrance2024-06-15Rangoni Of Florence QUALIFIED43Onyama Limba
1024James D CaldareraCanada2024-05-28Morlong Associates NEW53Elwin Sharvill
1025Emily H RutaCanada2024-05-20Morlong Associates PROPOSAL18Ioni Bowcher
1026Greenwood B MaletIndia2024-06-16Truhlar And Truhlar Attys PROPOSAL58Ioni Bowcher
1027Leon G RimGermany2024-06-12Truhlar And Truhlar Attys UNQUALIFIED14Asiya Javayant
1028Leja B GillianBrazil2024-06-02Rangoni Of Florence UNQUALIFIED29Elwin Sharvill
1029Emily U MorascaUnited Kingdom2024-06-17Chapman, Ross E Esq NEW47Onyama Limba
1030Johnson Y MaletAustralia2024-06-01Feiner Bros NEGOTIATION45Anna Fali
1031Octavia Y MorascaRussia2024-06-01Commercial Press QUALIFIED38Stephen Shaw
1032Tony I MorascaArgentina2024-05-22Morlong Associates QUALIFIED11Xuxue Feng
1033Murillo D KuskoGermany2024-06-12Rousseaux, Michael Esq PROPOSAL22Ivan Magalhaes
1034Wickens Y AlbaresJapan2024-05-21Rousseaux, Michael Esq PROPOSAL87Onyama Limba
1035Leja P GlickSpain2024-06-07Dorl, James J Esq NEGOTIATION28Xuxue Feng
1036Misaki K OldroydArgentina2024-05-28Dorl, James J Esq RENEWAL72Onyama Limba
1037Juan W AmigonIndia2024-06-17Feiner Bros RENEWAL0Asiya Javayant
1038Misaki Z GarufiUnited Kingdom2024-06-09Printing Dimensions NEW43Amy Elsner
1039Stacey U WaycottRussia2024-05-26King, Christopher A Esq RENEWAL89Anna Fali
1040Tony I SlusarskiItaly2024-05-25Commercial Press NEW30Elwin Sharvill
1041Morrow K DilliardBrazil2024-05-28Feltz Printing Service NEW56Onyama Limba
1042David S BologniaCanada2024-05-25King, Christopher A Esq NEGOTIATION25Onyama Limba
1043Julie Z AmigonJapan2024-06-13Chemel, James L Cpa UNQUALIFIED13Ivan Magalhaes
1044Faith F MarrierBrazil2024-06-12Commercial Press NEGOTIATION30Xuxue Feng
1045Chavez Z MarrierBrazil2024-05-26Commercial Press UNQUALIFIED74Onyama Limba
1046Aruna K IturbideItaly2024-06-06Buckley Miller Wright RENEWAL82Xuxue Feng
1047Rodrigues E GauchoRussia2024-05-20Rousseaux, Michael Esq RENEWAL53Elwin Sharvill
1048Ashley C DarakjyRussia2024-06-03Commercial Press QUALIFIED29Elwin Sharvill
1049James E NickaJapan2024-06-15Feiner Bros NEGOTIATION75Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Stacey I SaylorsUnited KingdomAnna Fali NEW
Leon A IturbideFranceBernardo Dominic NEW
Jennifer U BriddickFranceOnyama Limba NEW
Murillo G PoquetteRussiaAmy Elsner RENEWAL
Faith W RoysterFranceStephen Shaw RENEWAL
Emily D MaletBrazilIoni Bowcher QUALIFIED
Aditya X TollnerIndiaOnyama Limba UNQUALIFIED
Chavez L CaldareraBrazilAmy Elsner RENEWAL
Francesco B RutaRussiaAmy Elsner RENEWAL
Juan L GillianCanadaAmy Elsner NEW
Greenwood H GillianFranceAsiya Javayant RENEWAL
Silvio J StensethCanadaBernardo Dominic NEGOTIATION
Darci G WieserCanadaAsiya Javayant RENEWAL
Faith T PoquetteFranceIoni Bowcher UNQUALIFIED
Izzy R BriddickCanadaStephen Shaw UNQUALIFIED
Rodrigues G StockhamIndiaAmy Elsner NEGOTIATION
Jeanfrancois O CaldareraFranceBernardo Dominic NEW
Leon Z ShinkoArgentinaStephen Shaw NEGOTIATION
Murillo V KuskoIndiaAnna Fali NEGOTIATION
Aika L SlusarskiArgentinaAmy Elsner QUALIFIED
Darci N DilliardUnited KingdomIvan Magalhaes RENEWAL
Wickens L AlbaresUnited KingdomXuxue Feng NEGOTIATION
David W PerinRussiaOnyama Limba RENEWAL
Misaki K OstroskySpainStephen Shaw QUALIFIED
Mujtaba C OldroydArgentinaAsiya Javayant PROPOSAL
Sinclair I OstroskyBrazilIoni Bowcher QUALIFIED
Emily C DarakjyUnited KingdomOnyama Limba PROPOSAL
Claire E StensethAustraliaAsiya Javayant PROPOSAL
Silvio H MaletSpainStephen Shaw NEGOTIATION
Julie G RimCanadaXuxue Feng RENEWAL
Claire X RimArgentinaElwin Sharvill PROPOSAL
Aditya T IturbideGermanyStephen Shaw PROPOSAL
Sinclair N OstroskyRussiaAnna Fali QUALIFIED
Rodrigues A CaldareraRussiaStephen Shaw NEW
Smith T FigeroaBrazilAsiya Javayant NEGOTIATION
Emily T KuskoArgentinaAnna Fali PROPOSAL
Alejandro X InouyeArgentinaElwin Sharvill NEGOTIATION
Nicolas B GillianJapanOnyama Limba NEW
Mujtaba B StockhamJapanIvan Magalhaes NEW
Aika C FigeroaArgentinaOnyama Limba UNQUALIFIED
James R AlbaresCanadaAsiya Javayant NEGOTIATION
Claire O BriddickJapanIvan Magalhaes UNQUALIFIED
Izzy O VocelkaBrazilXuxue Feng PROPOSAL
Johnson B SergiFranceStephen Shaw QUALIFIED
Ashley P ChuiIndiaOnyama Limba NEGOTIATION
Greenwood M VocelkaCanadaXuxue Feng RENEWAL
Mayumi L RimSpainIoni Bowcher NEGOTIATION
Alejandro H NickaGermanyAsiya Javayant PROPOSAL
James R OldroydUnited KingdomOnyama Limba QUALIFIED
Aika K FigeroaAustraliaXuxue Feng NEGOTIATION
Frozen Columns
Name
Clifford P Dilliard
Misaki X Rim
Maria J Inouye
Costa T Albares
Nicolas H Vocelka
Mujtaba Q Darakjy
Mujtaba F Kusko
Ricardo C Sergi
Aruna N Amigon
Adams Q Inouye
Cody U Sergi
Wickens R Iturbide
Mujtaba P Maclead
Octavia E Flosi
Octavia J Stenseth
Costa W Figeroa
Misaki W Caudy
Juan J Garufi
Leon H Rim
Aditya V Chui
Alejandro K Albares
Octavia D Stockham
Kaitlin A Slusarski
Emily H Bolognia
Francesco A Ferencz
Johnson K Perin
Mujtaba T Butt
Johnson I Stenseth
James O Slusarski
Arvin Z Iturbide
Kadeem U Nestle
Costa J Campain
Ricardo P Garufi
Cody T Venere
Maisha J Doe
Juan T Figeroa
Cody R Vocelka
Ricardo V Paprocki
Juan S Ruta
Wickens F Darakjy
Jeanfrancois B Stenseth
Emily I Oldroyd
Francesco Z Briddick
Mujtaba P Figeroa
Ricardo P Nicka
Smith R Gaucho
Leon Y Inouye
David L Gillian
Adams S Shinko
Deepesh K Schemmer
IdCountryDate
1000Russia2024-05-26
1001Japan2024-06-12
1002Brazil2024-05-25
1003France2024-06-01
1004Italy2024-06-17
1005Canada2024-06-15
1006United Kingdom2024-06-01
1007Argentina2024-06-09
1008Germany2024-06-03
1009Germany2024-06-03
1010Spain2024-06-04
1011Italy2024-06-07
1012Japan2024-06-09
1013Germany2024-05-23
1014Brazil2024-05-29
1015Germany2024-06-15
1016Australia2024-05-22
1017Germany2024-06-08
1018Brazil2024-06-01
1019Canada2024-06-13
1020India2024-06-16
1021France2024-06-18
1022India2024-06-04
1023France2024-06-17
1024Argentina2024-05-27
1025Spain2024-06-04
1026Argentina2024-06-13
1027United Kingdom2024-05-20
1028Spain2024-05-26
1029Italy2024-06-02
1030Australia2024-05-31
1031Argentina2024-05-21
1032France2024-06-06
1033Italy2024-06-11
1034France2024-05-30
1035Russia2024-06-06
1036United Kingdom2024-05-23
1037United Kingdom2024-05-23
1038Spain2024-05-20
1039Spain2024-06-05
1040Canada2024-06-12
1041Australia2024-05-28
1042Brazil2024-05-23
1043India2024-05-26
1044India2024-05-23
1045France2024-06-06
1046Argentina2024-05-31
1047Argentina2024-05-31
1048France2024-06-15
1049Argentina2024-05-20

On-Demand Data

NameIdCountryDate
Murillo T Dilliard1000India2024-05-28
Tony M Vocelka1001Australia2024-05-31
Nicolas I Caldarera1002Canada2024-06-02
Arvin M Nicka1003Argentina2024-05-24
Ivar M Chui1004Brazil2024-05-28
Aditya Z Flosi1005Italy2024-06-06
Antonio K Nestle1006Spain2024-06-01
Mayumi G Ostrosky1007Russia2024-06-02
Misaki Z Malet1008Italy2024-06-18
Sinclair J Caldarera1009United Kingdom2024-06-02
Jennifer C Ferencz1010Italy2024-05-31
Costa J Nestle1011Argentina2024-06-06
Chavez T Garufi1012Australia2024-05-22
Ashley J Tollner1013France2024-05-27
Julie O Caldarera1014Russia2024-06-16
Alejandro G Malet1015Brazil2024-06-18
Izzy F Bowley1016India2024-05-26
Ricardo V Caldarera1017Brazil2024-05-27
Johnson J Marrier1018Japan2024-05-31
Ricardo T Butt1019Russia2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika Q MorascaUnited KingdomIoni Bowcher RENEWAL
Leon B CampainIndiaAsiya Javayant RENEWAL
Mujtaba W PoquetteSpainAsiya Javayant UNQUALIFIED
Greenwood I NestleCanadaOnyama Limba PROPOSAL
Ricardo T NickaJapanElwin Sharvill RENEWAL
Greenwood B NickaBrazilIvan Magalhaes QUALIFIED
Jefferson B MaletArgentinaElwin Sharvill PROPOSAL
Antonio H InouyeJapanStephen Shaw PROPOSAL
Arvin D KuskoUnited KingdomAnna Fali UNQUALIFIED
Francesco G FollerUnited KingdomBernardo Dominic QUALIFIED
Misaki D InouyeCanadaIvan Magalhaes QUALIFIED
Alejandro R WieserJapanIoni Bowcher UNQUALIFIED
Rodrigues R ButtArgentinaIoni Bowcher NEGOTIATION
Clifford A FlosiFranceOnyama Limba QUALIFIED
Alejandro X MaletAustraliaAnna Fali UNQUALIFIED
Morrow K GillianUnited KingdomIoni Bowcher NEGOTIATION
Silvio H FerenczFranceElwin Sharvill NEW
Claire Y GlickSpainAsiya Javayant PROPOSAL
Arvin H CampainGermanyAnna Fali UNQUALIFIED
Aika I RimItalyIoni Bowcher RENEWAL
Deepesh D CaudyGermanyAmy Elsner NEGOTIATION
Leon J MaletJapanAnna Fali QUALIFIED
Ashley H SchemmerGermanyAsiya Javayant QUALIFIED
Nicolas G RutaBrazilElwin Sharvill QUALIFIED
Maria Q RutaIndiaBernardo Dominic PROPOSAL
Alejandro P FollerGermanyBernardo Dominic UNQUALIFIED
Cody T OldroydArgentinaXuxue Feng NEW
Murillo V SchemmerFranceOnyama Limba RENEWAL
Leon A SlusarskiBrazilElwin Sharvill UNQUALIFIED
Francesco B KolmetzIndiaBernardo Dominic PROPOSAL
Jeanfrancois I NickaIndiaIoni Bowcher QUALIFIED
Deepesh Z StensethIndiaIvan Magalhaes QUALIFIED
Jeanfrancois R AmigonUnited KingdomBernardo Dominic NEW
Misaki Q DarakjyBrazilBernardo Dominic RENEWAL
Stacey N FigeroaFranceElwin Sharvill UNQUALIFIED
Munro X CampainBrazilXuxue Feng NEGOTIATION
Octavia D PerinBrazilOnyama Limba QUALIFIED
Juan W CampainFranceStephen Shaw NEW
Mujtaba G StensethSpainOnyama Limba NEGOTIATION
Munro J GillianIndiaOnyama Limba NEGOTIATION

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