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
Morrow A SergiJapanAnna Fali UNQUALIFIED
Aruna L KuskoBrazilIvan Magalhaes NEW
Emily F WieserGermanyIoni Bowcher PROPOSAL
Rodrigues O MarrierIndiaIvan Magalhaes QUALIFIED
Kadeem K PerinUnited KingdomIoni Bowcher NEW
Kaitlin T BowleyRussiaAsiya Javayant NEW
Arvin K FigeroaRussiaOnyama Limba UNQUALIFIED
Ashley G GarufiAustraliaOnyama Limba PROPOSAL
Ashley N CaudyItalyOnyama Limba RENEWAL
Arvin L RimIndiaAmy Elsner RENEWAL
Munro M BriddickUnited KingdomAmy Elsner UNQUALIFIED
Claire D VenereFranceAsiya Javayant UNQUALIFIED
David C MacleadGermanyBernardo Dominic NEW
Morrow P InouyeArgentinaIoni Bowcher RENEWAL
Clifford R WieserUnited KingdomElwin Sharvill RENEWAL
Arvin F WhobreySpainStephen Shaw NEW
Mujtaba M CaudyFranceIvan Magalhaes NEW
Johnson S SchemmerBrazilAmy Elsner RENEWAL
Johnson T DilliardGermanyIoni Bowcher RENEWAL
Stacey O SlusarskiGermanyElwin Sharvill UNQUALIFIED
Octavia M MaletCanadaElwin Sharvill NEGOTIATION
Maisha Z GillianBrazilXuxue Feng QUALIFIED
Emily F MaletItalyOnyama Limba NEW
Ivar N VenereItalyStephen Shaw NEGOTIATION
Nicolas A GlickAustraliaBernardo Dominic QUALIFIED
Emily Q FerenczCanadaOnyama Limba QUALIFIED
Francesco G SergiAustraliaAsiya Javayant QUALIFIED
Mayumi Q GillianCanadaAmy Elsner NEW
Deepesh H DilliardArgentinaAsiya Javayant PROPOSAL
Silvio W VenereUnited KingdomAsiya Javayant QUALIFIED
Aika G RimJapanXuxue Feng NEW
Alejandro K FollerCanadaAsiya Javayant NEGOTIATION
Aditya E MaletGermanyAsiya Javayant NEGOTIATION
Wickens L MaletRussiaAsiya Javayant RENEWAL
Mujtaba V WhobreyItalyBernardo Dominic RENEWAL
Jones X StensethBrazilAnna Fali UNQUALIFIED
Faith O InouyeIndiaBernardo Dominic RENEWAL
Deepesh N NickaUnited KingdomIvan Magalhaes QUALIFIED
Munro J MaletBrazilAnna Fali QUALIFIED
Aruna A SaylorsCanadaXuxue Feng PROPOSAL
Stacey F WieserItalyIvan Magalhaes UNQUALIFIED
Kaitlin T AlbaresAustraliaOnyama Limba NEGOTIATION
Kadeem V IturbideItalyXuxue Feng PROPOSAL
Claire K CaudyBrazilIoni Bowcher QUALIFIED
Darci B ChuiUnited KingdomAsiya Javayant PROPOSAL
Costa D PerinGermanyIoni Bowcher NEGOTIATION
Smith L DilliardGermanyAmy Elsner RENEWAL
Maisha H WaycottGermanyBernardo Dominic NEGOTIATION
Maria A BriddickUnited KingdomStephen Shaw RENEWAL
David Y VocelkaGermanyOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
James D FlosiSpainAmy Elsner QUALIFIED
Maria U AlbaresGermanyIvan Magalhaes NEGOTIATION
Maria J RulapaughRussiaElwin Sharvill NEGOTIATION
Greenwood J RoysterItalyIvan Magalhaes NEGOTIATION
Tony Q CampainAustraliaElwin Sharvill NEGOTIATION
David Q VenereBrazilIvan Magalhaes NEW
Clifford C GillianFranceAmy Elsner PROPOSAL
Morrow W InouyeBrazilIoni Bowcher NEGOTIATION
Maisha H DilliardFranceAnna Fali NEW
Francesco X OstroskyGermanyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas R MaletRussia2025-04-22Benton, John B Jr PROPOSAL70Xuxue Feng
1001Jefferson J MaletFrance2025-04-04Benton, John B Jr RENEWAL34Xuxue Feng
1002Jones B MorascaUnited Kingdom2025-04-15Dorl, James J Esq UNQUALIFIED89Anna Fali
1003Aditya C WhobreyCanada2025-04-20Feiner Bros PROPOSAL37Ivan Magalhaes
1004Kadeem P SaylorsIndia2025-04-18Feiner Bros UNQUALIFIED75Onyama Limba
1005Jones B MacleadFrance2025-04-25Benton, John B Jr QUALIFIED55Onyama Limba
1006Aruna Y ShinkoGermany2025-04-02Feltz Printing Service PROPOSAL47Asiya Javayant
1007Mayumi Q DilliardBrazil2025-04-09Buckley Miller Wright NEGOTIATION67Amy Elsner
1008Emily Z KolmetzBrazil2025-04-02Feiner Bros UNQUALIFIED79Elwin Sharvill
1009Julie E VenereAustralia2025-04-28Chanay, Jeffrey A Esq UNQUALIFIED19Elwin Sharvill
1010Costa B CaudySpain2025-04-21Feiner Bros NEW51Asiya Javayant
1011Jefferson C WieserArgentina2025-04-20Feltz Printing Service NEW72Onyama Limba
1012Julie A StockhamAustralia2025-04-08Morlong Associates RENEWAL26Ioni Bowcher
1013James N CaudyArgentina2025-04-05Chanay, Jeffrey A Esq NEW70Amy Elsner
1014Ashley X SchemmerItaly2025-04-24Truhlar And Truhlar Attys NEW92Asiya Javayant
1015Jennifer L FollerUnited Kingdom2025-04-20Morlong Associates QUALIFIED38Asiya Javayant
1016Aruna H VocelkaRussia2025-04-05Chapman, Ross E Esq QUALIFIED23Stephen Shaw
1017Rodrigues C VenereSpain2025-04-07Rangoni Of Florence PROPOSAL17Bernardo Dominic
1018Darci S WieserCanada2025-04-01Buckley Miller Wright NEW53Onyama Limba
1019Emily H ChuiUnited Kingdom2025-04-01Chemel, James L Cpa UNQUALIFIED89Xuxue Feng
1020Aika J WieserUnited Kingdom2025-04-01Truhlar And Truhlar Attys NEGOTIATION9Onyama Limba
1021Munro Q SchemmerArgentina2025-04-22Rousseaux, Michael Esq UNQUALIFIED48Anna Fali
1022Silvio A StensethGermany2025-04-14Rangoni Of Florence NEGOTIATION42Elwin Sharvill
1023Silvio K NickaBrazil2025-04-10Chapman, Ross E Esq RENEWAL80Elwin Sharvill
1024Arvin V MaletCanada2025-04-11Feiner Bros NEGOTIATION45Ioni Bowcher
1025Smith I VenereSpain2025-04-07Chemel, James L Cpa UNQUALIFIED34Bernardo Dominic
1026Wickens V FollerJapan2025-04-13Commercial Press NEGOTIATION52Xuxue Feng
1027Silvio D CaldareraBrazil2025-04-05Feltz Printing Service UNQUALIFIED33Stephen Shaw
1028Sinclair I GlickCanada2025-04-17Feiner Bros PROPOSAL72Stephen Shaw
1029Chavez B StensethFrance2025-04-05Buckley Miller Wright UNQUALIFIED6Stephen Shaw
1030Misaki A FlosiItaly2025-04-20Chapman, Ross E Esq NEW92Elwin Sharvill
1031Deepesh U RulapaughItaly2025-04-05Chemel, James L Cpa NEW66Stephen Shaw
1032James Q DilliardBrazil2025-04-17Chapman, Ross E Esq NEW38Onyama Limba
1033Costa P ChuiRussia2025-04-08Chapman, Ross E Esq NEGOTIATION52Elwin Sharvill
1034Ashley C VocelkaArgentina2025-04-25Chapman, Ross E Esq NEW12Bernardo Dominic
1035Darci Q SlusarskiAustralia2025-04-15Chemel, James L Cpa PROPOSAL3Bernardo Dominic
1036Ashley P PerinBrazil2025-04-07Commercial Press PROPOSAL48Bernardo Dominic
1037Francesco O GillianUnited Kingdom2025-04-04Rousseaux, Michael Esq QUALIFIED44Stephen Shaw
1038Jones K RimAustralia2025-04-01Morlong Associates NEGOTIATION79Elwin Sharvill
1039Mayumi H PaprockiBrazil2025-04-12Truhlar And Truhlar Attys NEW43Bernardo Dominic
1040Maisha E WaycottAustralia2025-04-25Buckley Miller Wright PROPOSAL80Stephen Shaw
1041Juan M MaletJapan2025-04-20Benton, John B Jr NEGOTIATION19Asiya Javayant
1042Maria F MaletBrazil2025-04-30Feiner Bros PROPOSAL92Stephen Shaw
1043Aruna Y GarufiJapan2025-04-30Rousseaux, Michael Esq RENEWAL30Stephen Shaw
1044Leon U AlbaresRussia2025-04-16Rangoni Of Florence PROPOSAL60Onyama Limba
1045Jeanfrancois I WieserUnited Kingdom2025-04-24Chemel, James L Cpa UNQUALIFIED7Xuxue Feng
1046Aditya Q SlusarskiBrazil2025-04-22Printing Dimensions NEW56Ivan Magalhaes
1047David F KuskoAustralia2025-04-16Printing Dimensions NEGOTIATION83Xuxue Feng
1048Leja Y SchemmerCanada2025-04-23Rangoni Of Florence UNQUALIFIED5Ioni Bowcher
1049Leja H FigeroaIndia2025-04-26Morlong Associates PROPOSAL73Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ivar J WaycottAustraliaAsiya Javayant RENEWAL
Isabel D GillianIndiaXuxue Feng UNQUALIFIED
Ivar T InouyeIndiaIoni Bowcher PROPOSAL
Alejandro A RoysterGermanyBernardo Dominic UNQUALIFIED
Stacey W KolmetzCanadaAsiya Javayant NEW
Cody V GillianItalyOnyama Limba UNQUALIFIED
Francesco V WhobreyGermanyAnna Fali PROPOSAL
Izzy L InouyeArgentinaOnyama Limba QUALIFIED
Jeanfrancois B CampainIndiaAnna Fali QUALIFIED
Juan S StensethJapanAmy Elsner NEGOTIATION
James Z NickaRussiaStephen Shaw UNQUALIFIED
Deepesh K GarufiBrazilXuxue Feng UNQUALIFIED
Rodrigues F PerinJapanStephen Shaw RENEWAL
Aika M CaudySpainAsiya Javayant QUALIFIED
Ashley Y WieserGermanyIoni Bowcher PROPOSAL
Julie E StockhamJapanXuxue Feng RENEWAL
Silvio J TollnerIndiaAmy Elsner RENEWAL
Francesco U ButtJapanBernardo Dominic PROPOSAL
Izzy J DarakjyJapanAnna Fali QUALIFIED
Arvin K MaletJapanAmy Elsner NEGOTIATION
David O PaprockiBrazilOnyama Limba NEW
Johnson Y NickaBrazilOnyama Limba NEGOTIATION
Julie M MaletSpainOnyama Limba UNQUALIFIED
Costa K OldroydJapanBernardo Dominic NEGOTIATION
Tony C GillianRussiaAsiya Javayant UNQUALIFIED
Murillo E FlosiFranceAnna Fali QUALIFIED
Sinclair W SergiCanadaAnna Fali RENEWAL
Kaitlin I RoysterGermanyOnyama Limba NEW
Rodrigues N VocelkaGermanyElwin Sharvill NEW
Johnson Q MacleadUnited KingdomElwin Sharvill NEW
Adams O BologniaItalyAmy Elsner NEGOTIATION
Aruna U StensethJapanIoni Bowcher UNQUALIFIED
Maisha V RutaBrazilBernardo Dominic UNQUALIFIED
Octavia X GarufiItalyOnyama Limba PROPOSAL
David N FerenczFranceStephen Shaw PROPOSAL
James Y RoysterIndiaIvan Magalhaes QUALIFIED
Deepesh X SlusarskiAustraliaBernardo Dominic RENEWAL
Jennifer N MaletJapanAmy Elsner UNQUALIFIED
Emily W SlusarskiCanadaAmy Elsner UNQUALIFIED
Aditya A GarufiCanadaIvan Magalhaes PROPOSAL
Silvio M RulapaughSpainAnna Fali UNQUALIFIED
Adams J PerinBrazilElwin Sharvill PROPOSAL
Silvio Q FollerUnited KingdomOnyama Limba UNQUALIFIED
Greenwood X ChuiArgentinaIoni Bowcher UNQUALIFIED
Greenwood T MaletJapanIvan Magalhaes RENEWAL
Jennifer Z GauchoUnited KingdomIoni Bowcher RENEWAL
Darci G FollerIndiaElwin Sharvill RENEWAL
Aika V DarakjyAustraliaAsiya Javayant RENEWAL
Aditya N PerinRussiaAmy Elsner NEGOTIATION
Morrow O GauchoSpainElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Leon L Iturbide
Kaitlin G Chui
Faith S Garufi
Munro Z Saylors
Ricardo P Schemmer
Chavez V Slusarski
Izzy U Royster
Isabel F Wieser
Sinclair N Ostrosky
Ricardo S Ostrosky
Rodrigues V Garufi
Francesco Q Bolognia
Clifford I Ferencz
Greenwood S Oldroyd
Chavez V Morasca
Maria S Bowley
Jeanfrancois A Saylors
Adams W Sergi
Alejandro L Kolmetz
Tony Z Marrier
Misaki C Nestle
Johnson I Marrier
Jones J Marrier
Kaitlin U Nicka
Leon E Kusko
Arvin M Darakjy
Maisha M Amigon
Greenwood H Morasca
Greenwood S Kolmetz
Nicolas Y Whobrey
Aditya B Flosi
Johnson Y Tollner
Greenwood K Rulapaugh
Julie D Foller
Leja V Perin
Francesco A Caudy
Stacey G Kolmetz
Ashley B Stenseth
Claire T Ruta
Ashley L Shinko
Ivar I Tollner
Darci Y Darakjy
Greenwood Q Saylors
Ivar Q Royster
Izzy Z Kusko
Claire Y Malet
Stacey J Vocelka
Cody J Stockham
Tony N Caldarera
Murillo W Whobrey
IdCountryDate
1000Argentina2025-04-28
1001Germany2025-04-22
1002Italy2025-04-05
1003France2025-04-15
1004Italy2025-04-07
1005Spain2025-04-05
1006Russia2025-04-17
1007Spain2025-04-07
1008Italy2025-04-05
1009Argentina2025-04-27
1010Italy2025-04-01
1011Australia2025-04-09
1012Canada2025-04-29
1013Japan2025-04-02
1014Argentina2025-04-29
1015Canada2025-04-15
1016Russia2025-04-01
1017Italy2025-04-15
1018Germany2025-04-20
1019Germany2025-04-22
1020Argentina2025-04-02
1021Spain2025-04-04
1022France2025-04-08
1023Argentina2025-04-04
1024Argentina2025-04-14
1025Argentina2025-04-20
1026India2025-04-03
1027Japan2025-04-10
1028Canada2025-04-26
1029Argentina2025-04-16
1030Australia2025-04-28
1031Canada2025-04-02
1032France2025-04-06
1033United Kingdom2025-04-09
1034Canada2025-04-05
1035France2025-04-01
1036Italy2025-04-13
1037Brazil2025-04-06
1038Japan2025-04-23
1039Argentina2025-04-14
1040Canada2025-04-29
1041Spain2025-04-02
1042Argentina2025-04-16
1043Spain2025-04-01
1044United Kingdom2025-04-25
1045Russia2025-04-18
1046Brazil2025-04-22
1047India2025-04-20
1048France2025-04-11
1049Spain2025-04-24

On-Demand Data

NameIdCountryDate
Greenwood G Nestle1000United Kingdom2025-04-12
Sinclair F Amigon1001United Kingdom2025-04-10
Faith S Briddick1002Russia2025-04-20
Murillo Q Briddick1003Canada2025-04-14
Kaitlin G Waycott1004India2025-04-10
Costa Y Chui1005Argentina2025-04-08
Rodrigues Z Tollner1006Canada2025-04-11
Arvin Y Garufi1007Argentina2025-04-19
Misaki V Gaucho1008Germany2025-04-05
Silvio Y Dilliard1009Argentina2025-04-03
Isabel N Foller1010Russia2025-04-22
Smith Q Ostrosky1011Italy2025-04-14
Munro T Gillian1012Germany2025-04-28
Faith K Rulapaugh1013Brazil2025-04-12
Maisha U Slusarski1014Italy2025-04-26
Maisha Z Paprocki1015Italy2025-04-23
Jeanfrancois F Whobrey1016France2025-04-27
Octavia K Albares1017United Kingdom2025-04-21
Ricardo S Amigon1018United Kingdom2025-04-29
Juan Z Oldroyd1019Argentina2025-04-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois E StockhamBrazilAsiya Javayant NEGOTIATION
Maisha J AmigonJapanAnna Fali RENEWAL
Jennifer N MaletSpainOnyama Limba NEW
Darci W ButtCanadaIoni Bowcher PROPOSAL
Aika F PoquetteSpainIoni Bowcher QUALIFIED
Greenwood R AlbaresRussiaXuxue Feng PROPOSAL
Ashley D GauchoIndiaAnna Fali NEGOTIATION
Antonio D ChuiRussiaIvan Magalhaes UNQUALIFIED
Faith Q FerenczJapanStephen Shaw NEW
Rodrigues D WhobreyBrazilElwin Sharvill QUALIFIED
Jefferson U MorascaBrazilAmy Elsner UNQUALIFIED
Leon O KolmetzCanadaIoni Bowcher UNQUALIFIED
Stacey F BriddickIndiaOnyama Limba QUALIFIED
Jefferson Y FigeroaIndiaXuxue Feng QUALIFIED
Faith Y GillianJapanXuxue Feng UNQUALIFIED
Sinclair B SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Faith O OstroskyCanadaAmy Elsner UNQUALIFIED
Munro K GillianFranceOnyama Limba QUALIFIED
Stacey M AmigonRussiaAnna Fali PROPOSAL
Salvatore Q CampainAustraliaStephen Shaw NEGOTIATION
James F KuskoJapanIvan Magalhaes NEGOTIATION
Leja Y MarrierCanadaBernardo Dominic RENEWAL
Smith U MaletItalyBernardo Dominic NEW
Mujtaba X FlosiUnited KingdomAsiya Javayant UNQUALIFIED
Aika P MorascaItalyOnyama Limba NEW
Darci G BowleyIndiaIvan Magalhaes RENEWAL
Aika Y CampainJapanAsiya Javayant UNQUALIFIED
James B NickaGermanyXuxue Feng NEGOTIATION
Ivar H AmigonIndiaIoni Bowcher RENEWAL
Jennifer N BologniaArgentinaIvan Magalhaes QUALIFIED
Silvio P RoysterSpainElwin Sharvill NEGOTIATION
Jeanfrancois E RimGermanyStephen Shaw UNQUALIFIED
Cody B GillianBrazilBernardo Dominic NEW
Chavez G WieserArgentinaOnyama Limba UNQUALIFIED
Izzy H WaycottCanadaXuxue Feng RENEWAL
Wickens H AlbaresSpainStephen Shaw NEGOTIATION
Izzy X MorascaFranceXuxue Feng RENEWAL
Ricardo Q TollnerBrazilIoni Bowcher UNQUALIFIED
Izzy G BologniaFranceStephen Shaw QUALIFIED
Mujtaba J MorascaCanadaAsiya Javayant 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>