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
Faith H RulapaughUnited KingdomAnna Fali RENEWAL
Jefferson L PaprockiItalyAsiya Javayant RENEWAL
Juan P StockhamUnited KingdomAnna Fali RENEWAL
Ashley P OstroskyArgentinaStephen Shaw RENEWAL
Aditya R SergiBrazilIoni Bowcher NEW
Jeanfrancois G OstroskyUnited KingdomAmy Elsner NEW
Sinclair W SaylorsIndiaBernardo Dominic RENEWAL
Stacey D DarakjySpainStephen Shaw NEGOTIATION
Smith D GlickJapanIoni Bowcher RENEWAL
Kadeem C MorascaGermanyOnyama Limba NEGOTIATION
Jefferson K FerenczIndiaIvan Magalhaes NEGOTIATION
Sinclair N RoysterJapanStephen Shaw NEW
Antonio J ShinkoAustraliaIoni Bowcher NEGOTIATION
Juan E RimIndiaBernardo Dominic UNQUALIFIED
Silvio H PaprockiIndiaXuxue Feng PROPOSAL
Murillo L SaylorsJapanXuxue Feng RENEWAL
Jeanfrancois F KolmetzGermanyAnna Fali RENEWAL
Sinclair X OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Munro J CaldareraBrazilXuxue Feng NEW
Ivar F ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Adams S ButtGermanyXuxue Feng PROPOSAL
Silvio V NickaFranceOnyama Limba NEW
Cody A TollnerBrazilElwin Sharvill QUALIFIED
Mujtaba F MorascaBrazilBernardo Dominic PROPOSAL
Alejandro C FigeroaSpainXuxue Feng RENEWAL
Ricardo U CaldareraArgentinaElwin Sharvill UNQUALIFIED
Claire T OldroydAustraliaBernardo Dominic NEGOTIATION
Francesco A StensethSpainOnyama Limba QUALIFIED
Johnson V DilliardIndiaIvan Magalhaes QUALIFIED
Antonio P DilliardFranceAnna Fali RENEWAL
Maisha X VenereUnited KingdomAsiya Javayant RENEWAL
Isabel X SergiIndiaIvan Magalhaes NEW
Smith W RoysterGermanyXuxue Feng PROPOSAL
Claire U GauchoJapanAnna Fali UNQUALIFIED
Greenwood M PaprockiArgentinaAmy Elsner QUALIFIED
Jeanfrancois M FigeroaBrazilOnyama Limba PROPOSAL
Morrow Q BriddickCanadaBernardo Dominic NEGOTIATION
Jones Q DoeRussiaOnyama Limba QUALIFIED
Salvatore O WaycottFranceStephen Shaw NEGOTIATION
Octavia P MorascaItalyStephen Shaw RENEWAL
Smith S FigeroaAustraliaBernardo Dominic QUALIFIED
Antonio A VocelkaJapanElwin Sharvill PROPOSAL
Morrow N AmigonSpainIoni Bowcher NEW
Juan F KuskoItalyOnyama Limba NEGOTIATION
Leja C WhobreyIndiaIoni Bowcher QUALIFIED
Misaki D DilliardFranceIvan Magalhaes NEGOTIATION
Julie Y PaprockiAustraliaIvan Magalhaes RENEWAL
Arvin N MaletGermanyElwin Sharvill UNQUALIFIED
Mayumi S CampainUnited KingdomIoni Bowcher NEGOTIATION
Chavez E DoeBrazilAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Munro S SchemmerGermanyAnna Fali UNQUALIFIED
Francesco K FigeroaFranceAsiya Javayant NEGOTIATION
Jeanfrancois T GillianFranceBernardo Dominic RENEWAL
Aika E MacleadJapanAnna Fali NEGOTIATION
Jennifer A MarrierJapanIoni Bowcher RENEWAL
Clifford B InouyeIndiaStephen Shaw NEGOTIATION
James Z OldroydSpainElwin Sharvill RENEWAL
Aruna T SaylorsFranceElwin Sharvill RENEWAL
Arvin A TollnerRussiaAsiya Javayant PROPOSAL
Greenwood F IturbideItalyIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith C MaletSpain2024-06-16Feltz Printing Service NEGOTIATION6Anna Fali
1001Mujtaba O WaycottItaly2024-06-05Dorl, James J Esq NEGOTIATION40Stephen Shaw
1002Antonio S CampainItaly2024-06-13Chanay, Jeffrey A Esq RENEWAL24Ivan Magalhaes
1003Wickens G RulapaughCanada2024-05-26Printing Dimensions QUALIFIED79Ioni Bowcher
1004Morrow W NickaUnited Kingdom2024-06-09Chapman, Ross E Esq PROPOSAL28Onyama Limba
1005Jeanfrancois Z StensethRussia2024-06-12Rousseaux, Michael Esq QUALIFIED66Elwin Sharvill
1006Mujtaba R SchemmerRussia2024-06-01Rangoni Of Florence PROPOSAL1Anna Fali
1007Ricardo I FlosiRussia2024-05-29Rousseaux, Michael Esq NEGOTIATION81Anna Fali
1008Mayumi F FigeroaCanada2024-06-14Rangoni Of Florence UNQUALIFIED19Ivan Magalhaes
1009Tony K InouyeItaly2024-06-02Buckley Miller Wright RENEWAL35Stephen Shaw
1010Smith C MorascaJapan2024-06-16Morlong Associates NEGOTIATION95Anna Fali
1011Francesco V MorascaBrazil2024-06-09King, Christopher A Esq NEGOTIATION10Amy Elsner
1012James S RoysterGermany2024-06-08Commercial Press QUALIFIED48Anna Fali
1013Mujtaba X SergiItaly2024-06-07Chemel, James L Cpa NEGOTIATION47Amy Elsner
1014David W OldroydGermany2024-06-12Commercial Press UNQUALIFIED55Asiya Javayant
1015Alejandro C BowleyRussia2024-06-08Rousseaux, Michael Esq RENEWAL45Stephen Shaw
1016Maria T PerinAustralia2024-06-13Rousseaux, Michael Esq RENEWAL63Xuxue Feng
1017Aditya U ChuiRussia2024-05-27Buckley Miller Wright RENEWAL90Asiya Javayant
1018Maria S DarakjyArgentina2024-06-17Chemel, James L Cpa QUALIFIED39Anna Fali
1019Chavez I SaylorsUnited Kingdom2024-06-21King, Christopher A Esq NEW23Ioni Bowcher
1020Kaitlin K OstroskyGermany2024-05-27Rousseaux, Michael Esq UNQUALIFIED34Anna Fali
1021Mayumi C StensethAustralia2024-06-21Rousseaux, Michael Esq NEW53Asiya Javayant
1022Maria Q ChuiGermany2024-06-13Benton, John B Jr UNQUALIFIED79Stephen Shaw
1023Kaitlin D MorascaIndia2024-05-27Benton, John B Jr PROPOSAL49Anna Fali
1024Silvio I MaletArgentina2024-05-27King, Christopher A Esq RENEWAL23Onyama Limba
1025Chavez K RoysterIndia2024-05-25Morlong Associates QUALIFIED22Asiya Javayant
1026Misaki L SlusarskiItaly2024-06-07Printing Dimensions NEGOTIATION1Anna Fali
1027Costa Q RutaJapan2024-06-06Chapman, Ross E Esq UNQUALIFIED0Onyama Limba
1028Antonio Q InouyeIndia2024-06-03Chanay, Jeffrey A Esq RENEWAL16Elwin Sharvill
1029Maisha H ShinkoCanada2024-05-26Dorl, James J Esq QUALIFIED41Anna Fali
1030Murillo Y GillianAustralia2024-06-17Feiner Bros NEW76Amy Elsner
1031Darci E DoeJapan2024-05-24Chemel, James L Cpa NEW24Bernardo Dominic
1032Aika Q CaldareraJapan2024-05-30Feltz Printing Service NEGOTIATION4Amy Elsner
1033Costa U StensethIndia2024-05-26King, Christopher A Esq UNQUALIFIED92Asiya Javayant
1034Costa V VocelkaJapan2024-05-28Truhlar And Truhlar Attys QUALIFIED16Elwin Sharvill
1035Munro L VenereCanada2024-06-05Dorl, James J Esq PROPOSAL66Amy Elsner
1036Claire Z ChuiUnited Kingdom2024-06-10Feltz Printing Service PROPOSAL23Amy Elsner
1037Munro R RoysterCanada2024-05-28Commercial Press RENEWAL16Ivan Magalhaes
1038Jones P KolmetzJapan2024-06-06Feltz Printing Service PROPOSAL67Xuxue Feng
1039Ivar Z MaletFrance2024-06-07Rousseaux, Michael Esq NEGOTIATION54Amy Elsner
1040Claire R StensethSpain2024-06-15Chapman, Ross E Esq QUALIFIED95Stephen Shaw
1041Adams I GarufiCanada2024-06-08Chemel, James L Cpa UNQUALIFIED60Ioni Bowcher
1042Juan T ShinkoIndia2024-06-17Feiner Bros NEGOTIATION8Amy Elsner
1043Munro A CaldareraFrance2024-06-18Rangoni Of Florence QUALIFIED82Anna Fali
1044Alejandro W NickaUnited Kingdom2024-05-26Dorl, James J Esq UNQUALIFIED94Xuxue Feng
1045Adams U CaudyCanada2024-06-01Chapman, Ross E Esq RENEWAL71Ivan Magalhaes
1046Aditya Y VenereArgentina2024-05-29Benton, John B Jr PROPOSAL65Onyama Limba
1047Maria O SchemmerAustralia2024-06-21Feiner Bros NEGOTIATION49Elwin Sharvill
1048Silvio J GlickJapan2024-06-01Chapman, Ross E Esq NEW36Anna Fali
1049Silvio Z VocelkaUnited Kingdom2024-06-10King, Christopher A Esq PROPOSAL73Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ivar C OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Darci D ButtCanadaIvan Magalhaes NEGOTIATION
Rodrigues C StockhamGermanyBernardo Dominic NEGOTIATION
Misaki S SaylorsCanadaAsiya Javayant UNQUALIFIED
Nicolas Y GillianItalyAmy Elsner UNQUALIFIED
Francesco Y SaylorsFranceElwin Sharvill PROPOSAL
Sinclair Y WaycottJapanAmy Elsner QUALIFIED
Emily R VenereRussiaIvan Magalhaes UNQUALIFIED
Jennifer P PerinItalyStephen Shaw UNQUALIFIED
Misaki Y ButtItalyIvan Magalhaes NEW
Wickens J TollnerFranceElwin Sharvill PROPOSAL
Jeanfrancois Z CaldareraItalyIoni Bowcher QUALIFIED
Sinclair L WaycottAustraliaBernardo Dominic NEW
Kaitlin Y ChuiRussiaAsiya Javayant NEGOTIATION
Ashley J OldroydItalyAsiya Javayant RENEWAL
Costa F GlickItalyOnyama Limba NEGOTIATION
Silvio T OstroskyArgentinaXuxue Feng UNQUALIFIED
Stacey W NestleCanadaAnna Fali NEGOTIATION
Francesco A RulapaughIndiaAsiya Javayant PROPOSAL
Morrow T MorascaIndiaAsiya Javayant PROPOSAL
Ivar I SchemmerFranceIoni Bowcher NEGOTIATION
Aditya M TollnerAustraliaXuxue Feng QUALIFIED
Jefferson T RutaFranceAnna Fali NEW
David Q BriddickBrazilElwin Sharvill RENEWAL
Octavia T PerinItalyIoni Bowcher PROPOSAL
Isabel V PaprockiBrazilAnna Fali NEW
Morrow T MaletRussiaAmy Elsner NEW
Chavez Q ChuiFranceAnna Fali RENEWAL
Clifford Y VenereJapanElwin Sharvill NEGOTIATION
Aditya O FerenczFranceStephen Shaw RENEWAL
Izzy L SchemmerArgentinaAnna Fali UNQUALIFIED
Maisha N FlosiCanadaXuxue Feng QUALIFIED
Izzy J DarakjyBrazilStephen Shaw QUALIFIED
Jones N GlickRussiaIvan Magalhaes UNQUALIFIED
Kadeem J MaletAustraliaElwin Sharvill RENEWAL
David X CaldareraArgentinaStephen Shaw QUALIFIED
Silvio W IturbideFranceBernardo Dominic NEGOTIATION
Silvio W AmigonBrazilAmy Elsner PROPOSAL
Mayumi J CaldareraAustraliaIoni Bowcher NEW
Juan H AlbaresIndiaIoni Bowcher RENEWAL
Leja X WaycottFranceElwin Sharvill NEW
Ricardo L CaldareraGermanyIvan Magalhaes RENEWAL
Antonio W SlusarskiIndiaStephen Shaw RENEWAL
Smith B RutaSpainAnna Fali UNQUALIFIED
Isabel L CampainSpainXuxue Feng QUALIFIED
Murillo H WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas Y SaylorsSpainOnyama Limba RENEWAL
Deepesh B MacleadFranceOnyama Limba PROPOSAL
Claire Y SergiIndiaBernardo Dominic RENEWAL
Juan D NickaSpainXuxue Feng RENEWAL
Frozen Columns
Name
Greenwood P Figeroa
Claire E Whobrey
Leon O Poquette
Julie F Briddick
Jones P Dilliard
Smith D Tollner
Munro V Waycott
Francesco C Foller
Tony G Butt
Sinclair G Marrier
Silvio N Amigon
Julie V Kusko
Smith O Vocelka
Kaitlin Z Venere
Rodrigues E Poquette
Mayumi W Slusarski
James C Gaucho
Silvio K Malet
Leja F Dilliard
Arvin M Foller
Izzy X Amigon
Ricardo I Saylors
Maria U Nestle
Faith C Malet
Aika F Tollner
Mayumi N Ruta
Antonio O Morasca
Octavia P Rulapaugh
Ivar R Shinko
Nicolas E Morasca
Jefferson R Campain
Ricardo A Perin
Mayumi J Malet
Arvin L Tollner
Ivar Z Rulapaugh
Isabel N Amigon
Murillo Z Kusko
Costa V Sergi
Munro Z Whobrey
Tony F Slusarski
Sinclair C Paprocki
Murillo C Flosi
Tony B Poquette
Adams P Stenseth
Morrow M Gaucho
Nicolas Z Morasca
Juan W Gillian
Salvatore B Gaucho
Kadeem P Flosi
Maisha S Gaucho
IdCountryDate
1000Brazil2024-06-09
1001Japan2024-06-21
1002Spain2024-05-25
1003Spain2024-06-02
1004Argentina2024-05-24
1005Argentina2024-06-06
1006Germany2024-06-13
1007France2024-06-17
1008France2024-06-13
1009Japan2024-05-25
1010India2024-06-18
1011Japan2024-06-16
1012Japan2024-06-21
1013Brazil2024-06-05
1014Canada2024-06-11
1015Argentina2024-06-17
1016Brazil2024-06-09
1017Argentina2024-06-14
1018United Kingdom2024-05-30
1019Italy2024-05-27
1020Russia2024-06-14
1021India2024-06-10
1022Russia2024-06-12
1023Japan2024-06-01
1024France2024-06-21
1025Germany2024-05-27
1026Brazil2024-06-09
1027France2024-06-08
1028Germany2024-06-03
1029Argentina2024-05-31
1030India2024-06-06
1031Australia2024-06-09
1032Canada2024-05-27
1033Brazil2024-06-20
1034Brazil2024-06-15
1035Brazil2024-06-08
1036Canada2024-05-24
1037Brazil2024-06-19
1038Japan2024-05-28
1039Spain2024-06-18
1040Italy2024-06-17
1041Russia2024-05-29
1042Brazil2024-06-01
1043Brazil2024-05-26
1044Brazil2024-06-03
1045Japan2024-05-26
1046Italy2024-05-31
1047Japan2024-06-03
1048Russia2024-06-06
1049Canada2024-06-20

On-Demand Data

NameIdCountryDate
Sinclair F Glick1000Australia2024-06-18
David C Malet1001France2024-06-22
James U Gillian1002Russia2024-06-15
Isabel H Ostrosky1003United Kingdom2024-06-14
Costa C Ferencz1004India2024-05-27
Nicolas C Caldarera1005India2024-06-15
Nicolas T Bowley1006Italy2024-05-24
Faith Z Butt1007United Kingdom2024-06-12
Kaitlin V Morasca1008Argentina2024-05-28
Aditya Z Rulapaugh1009Brazil2024-06-05
Kaitlin N Albares1010Brazil2024-06-08
Costa M Garufi1011Spain2024-05-24
James I Gaucho1012United Kingdom2024-06-18
Aditya W Rim1013Argentina2024-06-15
Greenwood O Dilliard1014Canada2024-06-20
Silvio X Vocelka1015Germany2024-05-27
Mujtaba N Butt1016United Kingdom2024-05-28
Julie P Garufi1017Russia2024-05-31
Johnson V Venere1018France2024-06-10
Mayumi S Shinko1019Japan2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco W DoeFranceIvan Magalhaes PROPOSAL
Darci V GarufiJapanBernardo Dominic QUALIFIED
Salvatore S SaylorsJapanIoni Bowcher PROPOSAL
Mujtaba H NestleSpainStephen Shaw NEGOTIATION
Johnson V InouyeUnited KingdomAmy Elsner QUALIFIED
Stacey Q StockhamGermanyBernardo Dominic RENEWAL
Alejandro D TollnerCanadaStephen Shaw PROPOSAL
Maria D DilliardAustraliaStephen Shaw PROPOSAL
Ricardo Y TollnerRussiaAmy Elsner QUALIFIED
Rodrigues U CampainRussiaIoni Bowcher NEGOTIATION
David L KolmetzBrazilXuxue Feng UNQUALIFIED
Leja J KuskoArgentinaIoni Bowcher RENEWAL
Deepesh H MorascaBrazilIoni Bowcher RENEWAL
Juan Z PaprockiFranceStephen Shaw RENEWAL
Octavia A MaletUnited KingdomElwin Sharvill QUALIFIED
Deepesh V RutaUnited KingdomElwin Sharvill NEW
Salvatore J ButtItalyStephen Shaw QUALIFIED
James E WhobreyBrazilAnna Fali PROPOSAL
Jefferson M StensethBrazilBernardo Dominic NEGOTIATION
Ashley S PaprockiAustraliaOnyama Limba UNQUALIFIED
Smith D MaletUnited KingdomBernardo Dominic QUALIFIED
Murillo O ChuiUnited KingdomBernardo Dominic NEGOTIATION
Munro W GarufiItalyAsiya Javayant PROPOSAL
Mujtaba Y FlosiUnited KingdomBernardo Dominic PROPOSAL
Costa Z MaletArgentinaIvan Magalhaes QUALIFIED
Maria E DoeFranceStephen Shaw PROPOSAL
Mayumi V PerinUnited KingdomAmy Elsner NEW
Kadeem W PoquetteJapanOnyama Limba QUALIFIED
Leja G OldroydIndiaOnyama Limba RENEWAL
Sinclair Q MorascaCanadaOnyama Limba QUALIFIED
Wickens H StockhamJapanIoni Bowcher RENEWAL
Maria N DoeAustraliaStephen Shaw RENEWAL
Rodrigues T DoeItalyXuxue Feng UNQUALIFIED
Francesco C TollnerGermanyXuxue Feng UNQUALIFIED
Clifford Q KolmetzBrazilAsiya Javayant NEW
Kadeem Q ShinkoFranceOnyama Limba QUALIFIED
Ricardo L KuskoFranceIvan Magalhaes NEGOTIATION
Johnson A GillianSpainAmy Elsner UNQUALIFIED
Isabel U DoeCanadaIvan Magalhaes QUALIFIED
Tony B KuskoArgentinaElwin Sharvill RENEWAL

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