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 WhobreyRussiaStephen Shaw NEW
Emily K FerenczArgentinaStephen Shaw PROPOSAL
Francesco I CaudyCanadaElwin Sharvill UNQUALIFIED
Antonio N WaycottCanadaAsiya Javayant UNQUALIFIED
Tony E BowleyArgentinaAnna Fali PROPOSAL
Morrow U FollerSpainAsiya Javayant NEGOTIATION
Rodrigues C PoquetteBrazilAnna Fali RENEWAL
Mayumi S SaylorsBrazilAnna Fali NEW
Kadeem Y SchemmerArgentinaStephen Shaw UNQUALIFIED
Murillo X SlusarskiJapanXuxue Feng NEW
Clifford S StockhamSpainBernardo Dominic QUALIFIED
Alejandro D SaylorsAustraliaOnyama Limba RENEWAL
Costa V AmigonJapanOnyama Limba NEGOTIATION
Misaki S OstroskyAustraliaElwin Sharvill PROPOSAL
Munro K VenereJapanIvan Magalhaes UNQUALIFIED
Leon L CaudyGermanyIvan Magalhaes QUALIFIED
Octavia A SchemmerAustraliaElwin Sharvill NEGOTIATION
Emily F AmigonSpainAmy Elsner NEGOTIATION
Rodrigues B DilliardSpainXuxue Feng QUALIFIED
David P ShinkoBrazilElwin Sharvill NEW
Antonio G FigeroaArgentinaIoni Bowcher NEW
James F BowleyItalyBernardo Dominic RENEWAL
Ricardo P InouyeArgentinaOnyama Limba NEGOTIATION
Costa W SergiUnited KingdomAnna Fali NEW
Stacey C InouyeUnited KingdomStephen Shaw RENEWAL
Jefferson S GillianBrazilElwin Sharvill QUALIFIED
Deepesh M MarrierIndiaStephen Shaw RENEWAL
Nicolas G ChuiSpainOnyama Limba UNQUALIFIED
Kaitlin W MaletJapanIoni Bowcher QUALIFIED
Clifford B KolmetzCanadaXuxue Feng UNQUALIFIED
Sinclair Q PerinFranceAmy Elsner PROPOSAL
Jeanfrancois Z PaprockiArgentinaStephen Shaw PROPOSAL
Isabel F WaycottBrazilAsiya Javayant NEGOTIATION
Murillo B GarufiRussiaStephen Shaw QUALIFIED
Alejandro M DoeItalyStephen Shaw NEGOTIATION
Aruna H DilliardCanadaOnyama Limba NEW
Greenwood B MorascaJapanAnna Fali RENEWAL
Julie V ShinkoCanadaElwin Sharvill QUALIFIED
Jefferson G WaycottItalyAmy Elsner RENEWAL
Julie A OldroydBrazilStephen Shaw NEW
Costa T BriddickSpainAmy Elsner NEGOTIATION
James N BowleySpainXuxue Feng UNQUALIFIED
Arvin I ShinkoJapanElwin Sharvill NEW
Salvatore L FigeroaIndiaAmy Elsner PROPOSAL
Smith C RoysterAustraliaAmy Elsner RENEWAL
Mayumi G MacleadCanadaXuxue Feng NEW
Kaitlin D RulapaughUnited KingdomElwin Sharvill RENEWAL
Johnson M OldroydFranceXuxue Feng PROPOSAL
Ashley W BowleyJapanIvan Magalhaes UNQUALIFIED
Chavez O CaldareraBrazilElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore P GauchoFranceElwin Sharvill NEW
Mayumi Z CaudyArgentinaIvan Magalhaes UNQUALIFIED
Juan A CaudyUnited KingdomAmy Elsner PROPOSAL
Adams Z MaletSpainIvan Magalhaes PROPOSAL
David Z GillianArgentinaAsiya Javayant RENEWAL
Kaitlin G MaletGermanyOnyama Limba NEW
Mujtaba M TollnerArgentinaAmy Elsner NEGOTIATION
Faith U SergiItalyStephen Shaw NEGOTIATION
David I MorascaArgentinaAsiya Javayant RENEWAL
Antonio P MorascaCanadaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones Y BologniaBrazil2024-06-19Rangoni Of Florence PROPOSAL94Ioni Bowcher
1001Deepesh S CampainIndia2024-06-16Feltz Printing Service UNQUALIFIED60Anna Fali
1002Stacey L SchemmerJapan2024-06-14Benton, John B Jr QUALIFIED84Ioni Bowcher
1003Tony H SchemmerAustralia2024-06-13Rousseaux, Michael Esq UNQUALIFIED85Bernardo Dominic
1004Adams M KuskoArgentina2024-06-07Commercial Press QUALIFIED76Amy Elsner
1005Misaki Y SergiGermany2024-06-13Printing Dimensions PROPOSAL61Asiya Javayant
1006Kaitlin O OldroydBrazil2024-06-03Truhlar And Truhlar Attys QUALIFIED64Anna Fali
1007Adams O FlosiUnited Kingdom2024-06-03Truhlar And Truhlar Attys RENEWAL46Stephen Shaw
1008Johnson O NestleBrazil2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED92Ioni Bowcher
1009Faith M MarrierBrazil2024-06-07Truhlar And Truhlar Attys NEGOTIATION83Ioni Bowcher
1010Francesco U NickaGermany2024-05-27Chanay, Jeffrey A Esq NEW27Asiya Javayant
1011Mayumi P SaylorsAustralia2024-06-20Commercial Press UNQUALIFIED74Amy Elsner
1012Izzy I NickaJapan2024-06-08Truhlar And Truhlar Attys NEW34Asiya Javayant
1013Wickens B NestleJapan2024-06-05Dorl, James J Esq QUALIFIED66Onyama Limba
1014Julie J MaletJapan2024-05-24Chapman, Ross E Esq NEGOTIATION34Onyama Limba
1015Leon D TollnerUnited Kingdom2024-06-14Dorl, James J Esq PROPOSAL51Ivan Magalhaes
1016Antonio C FerenczAustralia2024-05-28Printing Dimensions QUALIFIED57Anna Fali
1017Octavia B WaycottArgentina2024-05-24Chapman, Ross E Esq NEW23Bernardo Dominic
1018Leja E DoeRussia2024-05-28Dorl, James J Esq UNQUALIFIED37Anna Fali
1019Chavez R OstroskySpain2024-06-18King, Christopher A Esq UNQUALIFIED77Onyama Limba
1020Smith K WhobreyAustralia2024-06-08Chanay, Jeffrey A Esq PROPOSAL68Asiya Javayant
1021Juan Y RimCanada2024-06-15King, Christopher A Esq NEW58Ioni Bowcher
1022Morrow W ShinkoUnited Kingdom2024-06-10Feiner Bros RENEWAL12Onyama Limba
1023Ivar G RoysterItaly2024-05-25King, Christopher A Esq NEW46Asiya Javayant
1024Emily Q BriddickCanada2024-06-16Rangoni Of Florence RENEWAL36Amy Elsner
1025Wickens Q WaycottJapan2024-06-09Feltz Printing Service QUALIFIED22Stephen Shaw
1026Julie R BriddickRussia2024-06-06Commercial Press NEGOTIATION8Bernardo Dominic
1027Jeanfrancois E BologniaArgentina2024-06-15Chanay, Jeffrey A Esq RENEWAL9Xuxue Feng
1028Leon Q SchemmerFrance2024-05-31Rousseaux, Michael Esq PROPOSAL49Ivan Magalhaes
1029Chavez S SlusarskiRussia2024-05-27Commercial Press RENEWAL53Onyama Limba
1030Kaitlin Z PerinCanada2024-05-26King, Christopher A Esq NEGOTIATION12Onyama Limba
1031Aditya G BowleyUnited Kingdom2024-06-09Rangoni Of Florence RENEWAL42Ivan Magalhaes
1032Aruna S ChuiIndia2024-06-22Chemel, James L Cpa UNQUALIFIED87Ioni Bowcher
1033Faith K SaylorsArgentina2024-06-15Buckley Miller Wright NEGOTIATION15Xuxue Feng
1034Ashley X RoysterCanada2024-06-13Benton, John B Jr NEW12Xuxue Feng
1035Ivar U BriddickAustralia2024-05-26Commercial Press QUALIFIED72Asiya Javayant
1036Francesco K GarufiCanada2024-06-11Chapman, Ross E Esq NEW56Elwin Sharvill
1037Darci T RulapaughCanada2024-06-21Truhlar And Truhlar Attys PROPOSAL46Anna Fali
1038Wickens L MorascaArgentina2024-06-05Chemel, James L Cpa NEGOTIATION40Onyama Limba
1039Nicolas S PerinFrance2024-06-13Chapman, Ross E Esq UNQUALIFIED7Elwin Sharvill
1040Arvin F NickaBrazil2024-06-14Rousseaux, Michael Esq QUALIFIED1Onyama Limba
1041Rodrigues Z SergiItaly2024-06-11Morlong Associates UNQUALIFIED73Bernardo Dominic
1042Murillo P NickaFrance2024-06-17King, Christopher A Esq RENEWAL30Amy Elsner
1043Chavez J VenereItaly2024-06-06Buckley Miller Wright QUALIFIED96Stephen Shaw
1044Misaki A StensethCanada2024-05-27Chapman, Ross E Esq RENEWAL93Xuxue Feng
1045Antonio B OldroydFrance2024-05-24Printing Dimensions UNQUALIFIED41Anna Fali
1046Ivar F FlosiUnited Kingdom2024-06-09Truhlar And Truhlar Attys QUALIFIED49Xuxue Feng
1047Kaitlin B VocelkaCanada2024-06-15Chanay, Jeffrey A Esq QUALIFIED45Amy Elsner
1048Munro R GlickGermany2024-06-14Benton, John B Jr NEGOTIATION74Bernardo Dominic
1049Sinclair M DoeJapan2024-06-17Dorl, James J Esq PROPOSAL87Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Alejandro A ButtJapanOnyama Limba NEW
Morrow C IturbideAustraliaXuxue Feng QUALIFIED
Arvin C VenereJapanAmy Elsner NEW
Maisha Z RimRussiaAnna Fali NEGOTIATION
Adams K VocelkaGermanyAnna Fali QUALIFIED
Aika R MorascaBrazilIoni Bowcher UNQUALIFIED
Leja Y SlusarskiArgentinaAsiya Javayant RENEWAL
Deepesh S DoeSpainOnyama Limba QUALIFIED
Stacey A RutaRussiaOnyama Limba RENEWAL
Aruna E ButtSpainAnna Fali UNQUALIFIED
Kadeem R GlickItalyAnna Fali NEGOTIATION
Stacey X GarufiArgentinaIvan Magalhaes NEGOTIATION
Mujtaba T CampainRussiaAsiya Javayant NEGOTIATION
Mujtaba Y FlosiIndiaIoni Bowcher UNQUALIFIED
Leja C SchemmerCanadaOnyama Limba QUALIFIED
Ashley E OstroskyCanadaAmy Elsner UNQUALIFIED
Cody Z DilliardGermanyBernardo Dominic UNQUALIFIED
Wickens X CaldareraUnited KingdomBernardo Dominic RENEWAL
Clifford Q ChuiJapanIvan Magalhaes NEW
Misaki K OldroydIndiaIoni Bowcher NEGOTIATION
Chavez R PoquetteRussiaIoni Bowcher PROPOSAL
Leon D WhobreyCanadaIoni Bowcher RENEWAL
Claire L SchemmerCanadaOnyama Limba NEGOTIATION
Jefferson H KolmetzSpainXuxue Feng UNQUALIFIED
Francesco C OldroydCanadaAnna Fali NEGOTIATION
Maisha H FerenczRussiaElwin Sharvill RENEWAL
Smith Q MorascaAustraliaAmy Elsner QUALIFIED
Aruna N MaletRussiaOnyama Limba PROPOSAL
Claire V DoeUnited KingdomStephen Shaw PROPOSAL
Salvatore Y StensethBrazilBernardo Dominic PROPOSAL
Murillo W NickaItalyXuxue Feng UNQUALIFIED
Jeanfrancois U WaycottIndiaIvan Magalhaes NEGOTIATION
Kaitlin A PerinUnited KingdomBernardo Dominic NEW
Claire N NestleIndiaIvan Magalhaes NEW
Tony W PerinJapanIoni Bowcher QUALIFIED
Kadeem M IturbideFranceIoni Bowcher UNQUALIFIED
Salvatore T CaudyGermanyAmy Elsner NEGOTIATION
Ivar S DoeFranceStephen Shaw RENEWAL
Octavia T AmigonArgentinaAsiya Javayant UNQUALIFIED
Nicolas F MacleadFranceIoni Bowcher UNQUALIFIED
Alejandro X CaudyUnited KingdomXuxue Feng QUALIFIED
Murillo X TollnerRussiaBernardo Dominic QUALIFIED
Silvio T MaletUnited KingdomIvan Magalhaes PROPOSAL
Izzy M WhobreyItalyAmy Elsner PROPOSAL
Aika E VocelkaGermanyAsiya Javayant UNQUALIFIED
Claire B AmigonGermanyAnna Fali RENEWAL
Faith G CaudyUnited KingdomBernardo Dominic RENEWAL
Jefferson C CaldareraSpainAsiya Javayant QUALIFIED
Tony A BologniaUnited KingdomAsiya Javayant RENEWAL
Alejandro B SergiUnited KingdomAnna Fali QUALIFIED
Frozen Columns
Name
Kadeem N Bolognia
Aruna A Albares
Faith L Stenseth
Isabel T Foller
Chavez N Waycott
Julie J Perin
Salvatore Q Royster
Chavez V Gillian
Antonio U Doe
Leja M Morasca
David F Marrier
David H Kusko
Darci Z Briddick
Tony U Tollner
Faith C Rulapaugh
Silvio H Malet
Emily O Ferencz
Izzy N Rulapaugh
Mayumi C Kusko
Claire D Sergi
Emily X Slusarski
Jefferson M Campain
Juan M Chui
Jeanfrancois D Garufi
Munro H Gaucho
Antonio W Bowley
Salvatore S Tollner
Jennifer Z Figeroa
Murillo C Kusko
Kaitlin S Ferencz
Ivar V Wieser
Misaki H Doe
Jeanfrancois J Tollner
Salvatore I Ferencz
Munro E Doe
Aika I Poquette
Antonio K Doe
Darci X Waycott
Chavez I Briddick
Costa J Campain
Izzy V Iturbide
Costa V Nicka
Jones L Whobrey
Jeanfrancois Y Butt
Julie D Malet
Salvatore Y Campain
Cody P Poquette
Costa P Chui
Mujtaba E Caudy
Maisha N Tollner
IdCountryDate
1000Brazil2024-06-19
1001India2024-06-04
1002Brazil2024-06-04
1003Argentina2024-06-04
1004Italy2024-06-02
1005France2024-05-26
1006India2024-06-21
1007India2024-06-02
1008United Kingdom2024-05-27
1009United Kingdom2024-06-05
1010Canada2024-06-15
1011Germany2024-06-04
1012India2024-05-29
1013United Kingdom2024-06-19
1014Italy2024-06-19
1015Argentina2024-06-15
1016Italy2024-06-04
1017France2024-06-11
1018United Kingdom2024-06-16
1019United Kingdom2024-05-30
1020Australia2024-06-12
1021Japan2024-06-09
1022India2024-06-04
1023Spain2024-05-28
1024Spain2024-06-11
1025Argentina2024-06-07
1026Argentina2024-05-28
1027Russia2024-05-24
1028United Kingdom2024-06-01
1029Canada2024-06-04
1030France2024-06-15
1031Brazil2024-05-29
1032Brazil2024-06-19
1033Canada2024-05-30
1034Germany2024-06-20
1035India2024-06-11
1036United Kingdom2024-05-30
1037Brazil2024-06-20
1038India2024-06-04
1039Russia2024-06-18
1040Germany2024-06-17
1041United Kingdom2024-06-14
1042Argentina2024-06-18
1043Russia2024-06-07
1044Russia2024-06-04
1045Germany2024-06-16
1046India2024-05-28
1047United Kingdom2024-06-22
1048Brazil2024-06-09
1049Germany2024-06-19

On-Demand Data

NameIdCountryDate
Johnson M Iturbide1000France2024-06-04
Kadeem M Ferencz1001Russia2024-06-17
Murillo F Venere1002United Kingdom2024-05-25
David M Stockham1003United Kingdom2024-06-01
Alejandro Q Ferencz1004Brazil2024-05-26
Salvatore C Morasca1005Russia2024-06-21
Maisha E Rulapaugh1006France2024-05-27
Arvin R Chui1007Russia2024-06-05
Morrow X Ruta1008Argentina2024-05-29
Tony J Flosi1009India2024-06-04
Misaki L Briddick1010Germany2024-06-04
Adams V Morasca1011United Kingdom2024-06-06
Jefferson P Waycott1012Japan2024-06-01
Rodrigues P Nicka1013Brazil2024-05-31
Julie V Campain1014United Kingdom2024-06-18
Juan E Ruta1015Russia2024-06-03
Juan E Slusarski1016Australia2024-06-06
Johnson V Albares1017Australia2024-05-25
Sinclair U Butt1018Italy2024-06-12
Adams T Malet1019Brazil2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha L PoquetteJapanAmy Elsner QUALIFIED
Darci Y BologniaUnited KingdomAmy Elsner NEGOTIATION
Tony P MaletItalyElwin Sharvill NEGOTIATION
Salvatore W BowleyAustraliaOnyama Limba RENEWAL
Rodrigues K DoeUnited KingdomBernardo Dominic UNQUALIFIED
Chavez P DarakjyGermanyIvan Magalhaes NEW
Jennifer R AmigonGermanyAmy Elsner NEGOTIATION
Jones V RimItalyXuxue Feng NEW
Emily G IturbideFranceAnna Fali NEGOTIATION
Emily W VenereIndiaOnyama Limba QUALIFIED
Mayumi R SchemmerItalyStephen Shaw NEW
Tony V StensethAustraliaAmy Elsner PROPOSAL
Octavia M DarakjySpainStephen Shaw PROPOSAL
Ivar I BowleyJapanStephen Shaw QUALIFIED
David E ButtSpainOnyama Limba RENEWAL
Jeanfrancois H BriddickArgentinaStephen Shaw NEW
Maisha X MorascaBrazilAmy Elsner QUALIFIED
Wickens Z ChuiUnited KingdomAmy Elsner UNQUALIFIED
Ashley N RoysterItalyXuxue Feng UNQUALIFIED
Adams E StockhamRussiaXuxue Feng NEGOTIATION
Silvio J GlickJapanIoni Bowcher PROPOSAL
Mujtaba K SaylorsUnited KingdomXuxue Feng NEW
Aika X DilliardGermanyAmy Elsner PROPOSAL
Jeanfrancois S PerinItalyAmy Elsner NEGOTIATION
Alejandro E CampainFranceElwin Sharvill RENEWAL
Darci C MacleadFranceOnyama Limba UNQUALIFIED
Emily C RimArgentinaAnna Fali NEW
Silvio X FollerIndiaAnna Fali RENEWAL
Munro H KuskoCanadaAnna Fali NEW
Alejandro D MaletFranceElwin Sharvill NEW
Alejandro W FlosiArgentinaElwin Sharvill UNQUALIFIED
Sinclair Z RutaRussiaOnyama Limba NEW
Jones F OstroskyUnited KingdomAnna Fali NEGOTIATION
Leon D FollerBrazilAnna Fali PROPOSAL
Kadeem O MacleadArgentinaOnyama Limba UNQUALIFIED
Johnson M BologniaCanadaAmy Elsner PROPOSAL
Francesco U BologniaSpainXuxue Feng UNQUALIFIED
Silvio R DarakjyBrazilBernardo Dominic NEW
Silvio I NickaBrazilIvan Magalhaes RENEWAL
Juan N FollerFranceOnyama Limba NEW

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