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
Maisha I PaprockiRussiaAsiya Javayant PROPOSAL
Clifford A VocelkaGermanyIoni Bowcher NEW
Stacey V KolmetzBrazilElwin Sharvill NEGOTIATION
James G WaycottUnited KingdomBernardo Dominic RENEWAL
Greenwood E VocelkaJapanAmy Elsner NEW
Silvio F BriddickAustraliaAmy Elsner QUALIFIED
Smith B BologniaSpainElwin Sharvill RENEWAL
James Q BowleyArgentinaElwin Sharvill NEW
Greenwood J MaletRussiaIoni Bowcher QUALIFIED
Ashley T OstroskyAustraliaOnyama Limba NEGOTIATION
Mayumi F SlusarskiArgentinaBernardo Dominic NEGOTIATION
Wickens K AlbaresFranceStephen Shaw NEGOTIATION
Aika M FigeroaSpainIoni Bowcher QUALIFIED
Francesco Z KolmetzFranceIvan Magalhaes NEGOTIATION
Arvin K AlbaresRussiaAmy Elsner PROPOSAL
Ivar I GarufiFranceIoni Bowcher QUALIFIED
Tony B SchemmerBrazilAsiya Javayant PROPOSAL
Aika P PerinFranceAnna Fali UNQUALIFIED
Ashley D DoeGermanyAsiya Javayant PROPOSAL
Francesco G StockhamAustraliaBernardo Dominic RENEWAL
David H ButtItalyXuxue Feng PROPOSAL
Francesco U FollerArgentinaIoni Bowcher PROPOSAL
Izzy P MacleadItalyBernardo Dominic UNQUALIFIED
Maria C WieserGermanyAsiya Javayant NEGOTIATION
Mayumi R SlusarskiCanadaIvan Magalhaes NEW
Alejandro E NickaUnited KingdomIvan Magalhaes UNQUALIFIED
Emily P RimUnited KingdomAsiya Javayant RENEWAL
Julie T ButtJapanAsiya Javayant RENEWAL
Deepesh B InouyeIndiaBernardo Dominic QUALIFIED
Francesco K SlusarskiFranceIoni Bowcher PROPOSAL
Ricardo H OstroskyBrazilAsiya Javayant PROPOSAL
Misaki V ChuiRussiaAnna Fali PROPOSAL
Jeanfrancois A WieserFranceIoni Bowcher RENEWAL
Alejandro H BriddickRussiaAsiya Javayant RENEWAL
Misaki P DoeRussiaElwin Sharvill QUALIFIED
Izzy G CampainItalyIoni Bowcher PROPOSAL
Mayumi Z ButtFranceAsiya Javayant NEGOTIATION
Salvatore Z GlickItalyAnna Fali NEGOTIATION
Maria P CampainFranceXuxue Feng UNQUALIFIED
Izzy G FlosiCanadaXuxue Feng NEGOTIATION
Salvatore D AmigonItalyIoni Bowcher NEGOTIATION
Mujtaba T DilliardFranceAnna Fali RENEWAL
Clifford P VocelkaItalyAsiya Javayant RENEWAL
Silvio L TollnerFranceXuxue Feng NEGOTIATION
Juan N FigeroaFranceOnyama Limba UNQUALIFIED
Leja N CaudyAustraliaIvan Magalhaes RENEWAL
Jefferson K RoysterIndiaOnyama Limba QUALIFIED
Costa G MorascaFranceAsiya Javayant UNQUALIFIED
Cody G NestleUnited KingdomOnyama Limba NEGOTIATION
Leon K KolmetzJapanElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas B StensethJapanAsiya Javayant QUALIFIED
Leon U SaylorsItalyAsiya Javayant UNQUALIFIED
Emily Z StensethUnited KingdomOnyama Limba RENEWAL
Smith Q RoysterGermanyBernardo Dominic NEW
Darci S SchemmerCanadaAmy Elsner RENEWAL
Alejandro Z FollerArgentinaStephen Shaw RENEWAL
Aditya A NickaAustraliaElwin Sharvill RENEWAL
Greenwood Z GillianItalyIoni Bowcher NEW
Misaki K MarrierCanadaAnna Fali UNQUALIFIED
Cody N FlosiGermanyAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams J BriddickGermany2024-06-01Chapman, Ross E Esq UNQUALIFIED74Ioni Bowcher
1001Leja L WaycottCanada2024-06-07Chapman, Ross E Esq RENEWAL15Elwin Sharvill
1002Misaki R RoysterIndia2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED94Asiya Javayant
1003Antonio B TollnerRussia2024-05-30King, Christopher A Esq NEGOTIATION29Asiya Javayant
1004Aditya F BowleyRussia2024-06-07Rousseaux, Michael Esq NEGOTIATION99Ivan Magalhaes
1005Maria R MaletGermany2024-06-17Commercial Press UNQUALIFIED27Asiya Javayant
1006Aika R NickaArgentina2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED69Ivan Magalhaes
1007Leon Q ChuiArgentina2024-06-03Dorl, James J Esq RENEWAL32Asiya Javayant
1008Ashley D MaletItaly2024-06-14Chanay, Jeffrey A Esq QUALIFIED32Ivan Magalhaes
1009Aditya V WaycottGermany2024-06-02Benton, John B Jr PROPOSAL99Ioni Bowcher
1010Cody L FollerItaly2024-06-06Printing Dimensions NEGOTIATION50Onyama Limba
1011Ivar N VenereGermany2024-05-25Morlong Associates PROPOSAL6Onyama Limba
1012Julie A StockhamItaly2024-06-16Commercial Press UNQUALIFIED30Bernardo Dominic
1013Stacey A KuskoGermany2024-06-04Chanay, Jeffrey A Esq PROPOSAL44Ioni Bowcher
1014Octavia V SchemmerItaly2024-06-17Chemel, James L Cpa UNQUALIFIED20Stephen Shaw
1015Clifford L PaprockiJapan2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED38Xuxue Feng
1016Claire T TollnerJapan2024-06-12Chemel, James L Cpa NEGOTIATION28Anna Fali
1017Chavez O FlosiSpain2024-06-11Chemel, James L Cpa NEGOTIATION63Anna Fali
1018Alejandro K VenereRussia2024-06-14King, Christopher A Esq QUALIFIED25Bernardo Dominic
1019Kaitlin J CaldareraBrazil2024-05-27Truhlar And Truhlar Attys NEW78Ioni Bowcher
1020Jeanfrancois W DilliardItaly2024-06-04Dorl, James J Esq RENEWAL67Elwin Sharvill
1021Arvin F BologniaGermany2024-05-27Rousseaux, Michael Esq RENEWAL17Xuxue Feng
1022Silvio J GarufiGermany2024-06-02Benton, John B Jr PROPOSAL78Stephen Shaw
1023Leja V MaletSpain2024-06-11Printing Dimensions UNQUALIFIED25Bernardo Dominic
1024Kadeem D MaletAustralia2024-05-26Rousseaux, Michael Esq UNQUALIFIED38Ivan Magalhaes
1025James L MaletUnited Kingdom2024-06-10Chemel, James L Cpa RENEWAL28Ivan Magalhaes
1026Claire R CaudyFrance2024-06-09Rousseaux, Michael Esq UNQUALIFIED86Elwin Sharvill
1027Johnson O FlosiArgentina2024-05-26Truhlar And Truhlar Attys RENEWAL45Ivan Magalhaes
1028Aruna Q WaycottArgentina2024-06-08Dorl, James J Esq RENEWAL61Bernardo Dominic
1029Juan V PerinFrance2024-05-24Benton, John B Jr NEGOTIATION98Ivan Magalhaes
1030Jeanfrancois Q PerinJapan2024-06-13Truhlar And Truhlar Attys UNQUALIFIED14Xuxue Feng
1031Stacey O GillianSpain2024-06-03Morlong Associates PROPOSAL43Bernardo Dominic
1032Leja N RoysterItaly2024-05-25Printing Dimensions NEW81Xuxue Feng
1033Maisha Q InouyeRussia2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED94Elwin Sharvill
1034James E CaldareraIndia2024-06-18Chapman, Ross E Esq NEGOTIATION60Amy Elsner
1035Octavia S PerinArgentina2024-06-09King, Christopher A Esq RENEWAL26Xuxue Feng
1036Ivar N BologniaCanada2024-06-06Chanay, Jeffrey A Esq NEGOTIATION51Asiya Javayant
1037Darci A PaprockiBrazil2024-06-03Chapman, Ross E Esq PROPOSAL51Bernardo Dominic
1038Silvio V ButtItaly2024-06-08Chemel, James L Cpa NEW20Anna Fali
1039Nicolas Z FigeroaRussia2024-06-11Benton, John B Jr NEW38Elwin Sharvill
1040Leon T AmigonFrance2024-05-26Feiner Bros UNQUALIFIED3Asiya Javayant
1041Chavez C PaprockiGermany2024-06-01Chanay, Jeffrey A Esq RENEWAL28Amy Elsner
1042Ivar K CampainCanada2024-06-08King, Christopher A Esq NEW16Asiya Javayant
1043Adams N BologniaUnited Kingdom2024-06-14Dorl, James J Esq PROPOSAL73Onyama Limba
1044Costa X GarufiSpain2024-06-22Truhlar And Truhlar Attys NEW51Bernardo Dominic
1045Maisha D MorascaGermany2024-05-29Chapman, Ross E Esq RENEWAL62Bernardo Dominic
1046Jeanfrancois J GarufiGermany2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED7Ivan Magalhaes
1047Murillo I MarrierAustralia2024-06-11Rangoni Of Florence QUALIFIED22Onyama Limba
1048Kaitlin Z StensethAustralia2024-05-24Feltz Printing Service UNQUALIFIED90Anna Fali
1049Mayumi P MaletCanada2024-06-14Commercial Press UNQUALIFIED80Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jefferson O WaycottIndiaStephen Shaw QUALIFIED
Morrow O KuskoUnited KingdomIvan Magalhaes QUALIFIED
Ivar P StensethIndiaOnyama Limba RENEWAL
Francesco C NickaIndiaIvan Magalhaes NEW
Aruna K RutaJapanXuxue Feng QUALIFIED
Chavez X CampainArgentinaIvan Magalhaes NEW
Munro W BriddickFranceAmy Elsner NEW
Kaitlin L NickaArgentinaOnyama Limba RENEWAL
Jones N AlbaresIndiaAmy Elsner UNQUALIFIED
Aika U PerinAustraliaAmy Elsner NEGOTIATION
Jeanfrancois P BowleyGermanyXuxue Feng PROPOSAL
Faith H BologniaRussiaIoni Bowcher UNQUALIFIED
Claire V AmigonIndiaStephen Shaw UNQUALIFIED
Julie V AlbaresJapanBernardo Dominic NEGOTIATION
Maisha M MorascaSpainBernardo Dominic NEGOTIATION
Faith T AlbaresJapanAmy Elsner NEW
Chavez C BologniaIndiaStephen Shaw PROPOSAL
Greenwood Z DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Juan E ChuiRussiaStephen Shaw UNQUALIFIED
Octavia A WaycottItalyElwin Sharvill NEW
James F WieserCanadaXuxue Feng PROPOSAL
Ashley K WieserUnited KingdomAsiya Javayant PROPOSAL
Adams Z ButtUnited KingdomOnyama Limba PROPOSAL
Jefferson J OstroskyAustraliaOnyama Limba NEGOTIATION
Mayumi J ShinkoCanadaIoni Bowcher NEGOTIATION
Mujtaba U SlusarskiCanadaAmy Elsner NEW
Ricardo L ButtCanadaBernardo Dominic NEGOTIATION
Alejandro Z IturbideSpainBernardo Dominic RENEWAL
Murillo R VenereAustraliaStephen Shaw NEGOTIATION
Mujtaba I ShinkoJapanBernardo Dominic NEGOTIATION
Clifford S CaldareraJapanStephen Shaw PROPOSAL
Rodrigues E RutaUnited KingdomStephen Shaw PROPOSAL
Cody O RutaFranceXuxue Feng RENEWAL
Isabel D GarufiArgentinaIoni Bowcher RENEWAL
Adams B TollnerRussiaStephen Shaw RENEWAL
Murillo X CampainSpainAmy Elsner NEW
Alejandro G GauchoFranceIoni Bowcher NEW
Greenwood U FlosiIndiaBernardo Dominic PROPOSAL
Tony K CaldareraArgentinaStephen Shaw NEGOTIATION
David H OldroydAustraliaAnna Fali PROPOSAL
Kaitlin C FerenczSpainElwin Sharvill NEGOTIATION
Jones U MacleadGermanyElwin Sharvill UNQUALIFIED
Morrow L MaletUnited KingdomIvan Magalhaes RENEWAL
Jones V RulapaughSpainIvan Magalhaes RENEWAL
Leja Y FigeroaItalyStephen Shaw PROPOSAL
Smith P AlbaresCanadaXuxue Feng RENEWAL
Morrow Z PerinSpainAsiya Javayant UNQUALIFIED
Rodrigues W GlickItalyBernardo Dominic PROPOSAL
Jennifer N OstroskyItalyXuxue Feng RENEWAL
Greenwood N OstroskyItalyStephen Shaw RENEWAL
Frozen Columns
Name
Ashley H Shinko
Silvio B Paprocki
Leja O Stenseth
Maisha T Briddick
Francesco U Slusarski
Chavez N Malet
Chavez B Malet
Aruna D Poquette
Stacey Y Morasca
Deepesh S Venere
Costa Y Stockham
Claire S Butt
Johnson Y Darakjy
Mayumi S Perin
Faith B Darakjy
Wickens T Morasca
Nicolas K Ostrosky
Claire D Ostrosky
Claire Q Rim
Morrow E Ferencz
Morrow J Caldarera
Kadeem Y Foller
Arvin L Nicka
Aditya Q Amigon
Smith R Tollner
Deepesh M Malet
Nicolas V Amigon
Izzy B Bowley
Munro V Iturbide
Greenwood K Maclead
Aruna T Inouye
Jennifer Y Dilliard
Sinclair P Wieser
Ashley K Morasca
James T Kusko
Misaki J Stenseth
Kadeem F Nicka
James Z Glick
Misaki O Maclead
Costa A Caudy
Tony N Malet
Costa H Schemmer
Ricardo P Foller
Leja B Slusarski
Alejandro T Nestle
Stacey D Tollner
Maria V Nicka
Nicolas M Dilliard
David I Ruta
Rodrigues L Figeroa
IdCountryDate
1000Germany2024-06-04
1001Japan2024-06-10
1002France2024-06-21
1003Australia2024-06-08
1004United Kingdom2024-06-07
1005France2024-06-03
1006Italy2024-06-12
1007Canada2024-06-05
1008India2024-06-21
1009Italy2024-06-20
1010United Kingdom2024-06-18
1011Russia2024-05-31
1012Argentina2024-05-30
1013Argentina2024-05-30
1014Japan2024-06-08
1015Russia2024-05-28
1016Italy2024-06-20
1017Italy2024-06-02
1018Canada2024-06-02
1019Brazil2024-06-13
1020India2024-06-06
1021France2024-06-18
1022Russia2024-06-22
1023Spain2024-05-30
1024Australia2024-06-10
1025United Kingdom2024-06-19
1026Brazil2024-06-17
1027Russia2024-06-10
1028India2024-05-27
1029France2024-06-17
1030Argentina2024-05-24
1031Spain2024-06-05
1032India2024-06-01
1033Argentina2024-06-22
1034India2024-06-19
1035France2024-06-07
1036Argentina2024-06-17
1037India2024-06-08
1038Argentina2024-06-02
1039Germany2024-06-12
1040Italy2024-06-10
1041India2024-06-02
1042Japan2024-05-27
1043Australia2024-05-25
1044Canada2024-05-28
1045Canada2024-05-29
1046Spain2024-05-31
1047Japan2024-05-26
1048Argentina2024-06-09
1049Argentina2024-06-13

On-Demand Data

NameIdCountryDate
Nicolas G Doe1000Italy2024-06-21
Mujtaba Q Bowley1001Russia2024-06-20
Jeanfrancois F Nestle1002Australia2024-06-03
Leja S Marrier1003Brazil2024-06-19
Faith Z Gaucho1004France2024-06-16
Stacey U Ruta1005India2024-06-18
Claire F Kolmetz1006Canada2024-06-18
Morrow M Venere1007Germany2024-06-17
Aika P Stockham1008India2024-06-10
Ivar U Butt1009Russia2024-05-25
Mujtaba Q Darakjy1010France2024-05-26
Adams J Iturbide1011Italy2024-05-27
Emily L Morasca1012Canada2024-05-30
Salvatore P Ferencz1013Australia2024-06-10
Clifford Q Perin1014Italy2024-06-02
Jennifer N Whobrey1015Germany2024-05-24
Aditya Z Kolmetz1016Australia2024-05-30
Aditya R Marrier1017Brazil2024-05-26
Maria X Perin1018Russia2024-06-03
Jones B Saylors1019France2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem J RimIndiaStephen Shaw UNQUALIFIED
Izzy X GauchoJapanAnna Fali RENEWAL
Misaki N PaprockiCanadaAmy Elsner QUALIFIED
Darci G RoysterSpainElwin Sharvill UNQUALIFIED
Mayumi G GarufiUnited KingdomXuxue Feng QUALIFIED
Kadeem S VenereSpainXuxue Feng UNQUALIFIED
Greenwood W WaycottGermanyIoni Bowcher NEW
Emily C SlusarskiFranceIoni Bowcher QUALIFIED
Jones I NestleCanadaOnyama Limba QUALIFIED
Julie Q SaylorsRussiaAsiya Javayant PROPOSAL
Morrow B PerinItalyElwin Sharvill PROPOSAL
Kaitlin Q MarrierRussiaElwin Sharvill NEW
Kadeem M VocelkaRussiaXuxue Feng NEW
Mayumi Z SergiAustraliaAnna Fali RENEWAL
Chavez V WaycottCanadaAsiya Javayant UNQUALIFIED
Claire A MaletIndiaAsiya Javayant QUALIFIED
Ivar P MaletItalyAsiya Javayant PROPOSAL
Ricardo L SchemmerGermanyOnyama Limba QUALIFIED
Alejandro Y PerinCanadaXuxue Feng NEGOTIATION
Maisha U PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Faith C FigeroaCanadaOnyama Limba QUALIFIED
Alejandro P DoeGermanyIvan Magalhaes RENEWAL
Johnson D FerenczRussiaAmy Elsner RENEWAL
Izzy E CaldareraSpainBernardo Dominic PROPOSAL
Wickens M GillianBrazilAnna Fali NEW
Munro H DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Wickens P AmigonItalyAsiya Javayant QUALIFIED
Jeanfrancois T MarrierFranceBernardo Dominic QUALIFIED
Smith J OstroskyBrazilAsiya Javayant RENEWAL
Kaitlin T GlickJapanBernardo Dominic QUALIFIED
Salvatore V FerenczGermanyElwin Sharvill PROPOSAL
Munro F RutaJapanAmy Elsner QUALIFIED
Deepesh H CampainSpainOnyama Limba UNQUALIFIED
Morrow N SergiAustraliaAmy Elsner NEGOTIATION
Costa M ChuiBrazilOnyama Limba NEGOTIATION
Darci Q WaycottSpainAsiya Javayant RENEWAL
David O FlosiIndiaXuxue Feng NEGOTIATION
David C StensethJapanStephen Shaw RENEWAL
Deepesh T KolmetzJapanAsiya Javayant QUALIFIED
Jefferson G PaprockiCanadaXuxue Feng 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>