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
Deepesh T ShinkoSpainAsiya Javayant NEW
Wickens T FollerAustraliaBernardo Dominic NEW
Jefferson K FlosiItalyBernardo Dominic RENEWAL
Faith B DarakjyIndiaIvan Magalhaes QUALIFIED
Silvio X OstroskyUnited KingdomBernardo Dominic QUALIFIED
Munro R StensethRussiaElwin Sharvill NEGOTIATION
Murillo T FollerGermanyBernardo Dominic PROPOSAL
Leja W NestleBrazilXuxue Feng NEGOTIATION
Alejandro J RoysterUnited KingdomIvan Magalhaes NEW
Emily G VenereSpainIvan Magalhaes NEW
Silvio Z MorascaFranceOnyama Limba NEGOTIATION
Sinclair N SergiBrazilIoni Bowcher UNQUALIFIED
James Z NickaUnited KingdomOnyama Limba NEW
Aika L NestleGermanyIvan Magalhaes NEW
Kaitlin G MarrierGermanyBernardo Dominic NEW
Sinclair S CaldareraUnited KingdomAnna Fali NEGOTIATION
Faith Q GillianArgentinaAnna Fali RENEWAL
Isabel W TollnerJapanAnna Fali UNQUALIFIED
Darci T StockhamSpainAnna Fali PROPOSAL
Costa L NestleAustraliaAmy Elsner RENEWAL
Morrow H RimFranceOnyama Limba PROPOSAL
Costa J CaldareraBrazilIoni Bowcher NEGOTIATION
Tony F WhobreyCanadaBernardo Dominic RENEWAL
Sinclair V FlosiIndiaAmy Elsner UNQUALIFIED
Claire U PaprockiCanadaIoni Bowcher NEW
Salvatore X ChuiAustraliaBernardo Dominic NEW
Julie R FollerSpainElwin Sharvill UNQUALIFIED
Aika C NickaFranceBernardo Dominic QUALIFIED
James N KuskoRussiaIoni Bowcher NEW
Salvatore L AlbaresCanadaOnyama Limba PROPOSAL
Greenwood U VocelkaBrazilStephen Shaw QUALIFIED
Arvin D CaudyJapanBernardo Dominic NEW
Kadeem V SaylorsSpainElwin Sharvill RENEWAL
Jennifer S SergiFranceBernardo Dominic NEGOTIATION
Sinclair T SchemmerBrazilIvan Magalhaes NEW
Sinclair D VenereItalyElwin Sharvill RENEWAL
Wickens Y DarakjyIndiaAmy Elsner QUALIFIED
Juan H GlickRussiaIoni Bowcher NEGOTIATION
David T AlbaresAustraliaAsiya Javayant RENEWAL
David S RutaAustraliaAmy Elsner NEW
Stacey Y SchemmerItalyAsiya Javayant PROPOSAL
Julie S GarufiAustraliaOnyama Limba NEW
Salvatore N PerinJapanXuxue Feng RENEWAL
Sinclair X CampainSpainElwin Sharvill UNQUALIFIED
Alejandro Q DoeFranceAmy Elsner QUALIFIED
Morrow W OldroydGermanyIoni Bowcher NEGOTIATION
Salvatore E RoysterCanadaStephen Shaw QUALIFIED
Antonio N FollerRussiaAsiya Javayant NEGOTIATION
Kaitlin P OldroydJapanXuxue Feng QUALIFIED
Ivar I MacleadIndiaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Izzy E PoquetteUnited KingdomIvan Magalhaes QUALIFIED
James S SergiSpainIoni Bowcher RENEWAL
Silvio X StensethCanadaXuxue Feng RENEWAL
Chavez U ChuiRussiaAnna Fali NEW
Faith O GillianFranceIoni Bowcher QUALIFIED
Francesco C NestleAustraliaAnna Fali UNQUALIFIED
Tony D KolmetzRussiaXuxue Feng NEW
Costa C OldroydItalyStephen Shaw UNQUALIFIED
Juan N RutaCanadaAsiya Javayant RENEWAL
David D SergiItalyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha C WhobreyIndia2026-07-17Chapman, Ross E Esq RENEWAL15Stephen Shaw
1001Julie Q WaycottRussia2026-07-05Benton, John B Jr RENEWAL34Onyama Limba
1002Francesco S TollnerBrazil2026-07-03Rousseaux, Michael Esq NEGOTIATION16Elwin Sharvill
1003Leja J VenereCanada2026-07-08Rangoni Of Florence NEGOTIATION24Asiya Javayant
1004Octavia G BowleyJapan2026-07-23Benton, John B Jr PROPOSAL41Asiya Javayant
1005Isabel O MacleadAustralia2026-07-22Morlong Associates NEGOTIATION27Ioni Bowcher
1006Chavez G SchemmerJapan2026-07-21Printing Dimensions UNQUALIFIED50Amy Elsner
1007Aruna J RimFrance2026-07-15Printing Dimensions QUALIFIED6Ioni Bowcher
1008Misaki O RimRussia2026-07-17Buckley Miller Wright UNQUALIFIED54Asiya Javayant
1009Kadeem R AlbaresAustralia2026-07-15Chapman, Ross E Esq UNQUALIFIED31Xuxue Feng
1010Munro I RulapaughSpain2026-06-30Buckley Miller Wright UNQUALIFIED85Bernardo Dominic
1011Silvio M GauchoFrance2026-07-16King, Christopher A Esq QUALIFIED25Stephen Shaw
1012Faith S CaldareraSpain2026-07-04Feiner Bros NEGOTIATION38Amy Elsner
1013Izzy B MaletFrance2026-07-05Chemel, James L Cpa RENEWAL70Ivan Magalhaes
1014Leja K NickaGermany2026-07-04Morlong Associates UNQUALIFIED15Amy Elsner
1015Misaki R BologniaFrance2026-06-28Printing Dimensions NEGOTIATION2Elwin Sharvill
1016Sinclair P BriddickItaly2026-07-19Truhlar And Truhlar Attys UNQUALIFIED66Anna Fali
1017Salvatore H SaylorsAustralia2026-07-03Morlong Associates PROPOSAL97Xuxue Feng
1018Juan R WaycottUnited Kingdom2026-07-18Rousseaux, Michael Esq UNQUALIFIED96Onyama Limba
1019Costa E SlusarskiGermany2026-07-04Buckley Miller Wright UNQUALIFIED29Elwin Sharvill
1020Ricardo P NickaArgentina2026-06-28King, Christopher A Esq NEW18Amy Elsner
1021Munro N MaletBrazil2026-07-10Rousseaux, Michael Esq QUALIFIED52Ivan Magalhaes
1022Munro R MaletRussia2026-07-23Morlong Associates PROPOSAL92Asiya Javayant
1023Maisha J RutaArgentina2026-07-13Chanay, Jeffrey A Esq RENEWAL8Elwin Sharvill
1024Jones J NestleCanada2026-06-26Printing Dimensions QUALIFIED19Onyama Limba
1025Murillo Z PoquetteRussia2026-07-12Commercial Press RENEWAL10Bernardo Dominic
1026Kadeem X CaudyRussia2026-07-05Buckley Miller Wright RENEWAL93Amy Elsner
1027Jefferson Q CaldareraBrazil2026-07-13Dorl, James J Esq UNQUALIFIED20Elwin Sharvill
1028Chavez T StensethFrance2026-06-27Chapman, Ross E Esq UNQUALIFIED69Ivan Magalhaes
1029Maria R WhobreyRussia2026-07-14Feiner Bros PROPOSAL11Stephen Shaw
1030Chavez R MaletSpain2026-07-09Rousseaux, Michael Esq PROPOSAL58Onyama Limba
1031Isabel A KuskoArgentina2026-07-16King, Christopher A Esq NEW65Onyama Limba
1032James U WieserItaly2026-07-09King, Christopher A Esq UNQUALIFIED39Onyama Limba
1033Deepesh E KolmetzRussia2026-07-21Benton, John B Jr PROPOSAL90Elwin Sharvill
1034Arvin G BologniaGermany2026-07-05Morlong Associates NEGOTIATION81Ivan Magalhaes
1035Mayumi G SchemmerUnited Kingdom2026-07-01Chapman, Ross E Esq QUALIFIED52Amy Elsner
1036Julie S OstroskyFrance2026-07-15King, Christopher A Esq NEGOTIATION36Elwin Sharvill
1037Sinclair M FigeroaUnited Kingdom2026-07-17Feiner Bros NEGOTIATION91Stephen Shaw
1038Darci P FerenczCanada2026-06-25Morlong Associates NEGOTIATION15Amy Elsner
1039Jefferson T GarufiUnited Kingdom2026-07-10Chemel, James L Cpa UNQUALIFIED56Xuxue Feng
1040Francesco L KuskoAustralia2026-07-01Chanay, Jeffrey A Esq RENEWAL18Bernardo Dominic
1041Octavia P StensethItaly2026-07-22Rousseaux, Michael Esq PROPOSAL10Asiya Javayant
1042Izzy L StensethCanada2026-07-11Chapman, Ross E Esq PROPOSAL56Elwin Sharvill
1043Aika V KolmetzGermany2026-07-18King, Christopher A Esq RENEWAL67Xuxue Feng
1044Alejandro Q ChuiItaly2026-07-09Buckley Miller Wright UNQUALIFIED0Bernardo Dominic
1045Octavia O KuskoIndia2026-07-19King, Christopher A Esq NEGOTIATION67Xuxue Feng
1046James X NickaIndia2026-07-18Benton, John B Jr NEW71Bernardo Dominic
1047Chavez T CaudyItaly2026-07-05Printing Dimensions NEW72Asiya Javayant
1048Johnson K FlosiFrance2026-07-10Printing Dimensions NEGOTIATION71Ivan Magalhaes
1049Maria K BriddickUnited Kingdom2026-07-02Chapman, Ross E Esq QUALIFIED76Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aditya Q MacleadSpainXuxue Feng NEW
Cody J PaprockiFranceAsiya Javayant QUALIFIED
Greenwood Y MacleadRussiaIoni Bowcher PROPOSAL
Morrow A MarrierIndiaOnyama Limba PROPOSAL
Johnson D CaudyIndiaStephen Shaw NEW
Isabel I FollerFranceAnna Fali QUALIFIED
Leja U VocelkaSpainAmy Elsner NEW
James H MaletIndiaBernardo Dominic NEGOTIATION
Maisha H OstroskyFranceStephen Shaw PROPOSAL
Cody H PaprockiIndiaIvan Magalhaes PROPOSAL
James U WhobreyIndiaXuxue Feng QUALIFIED
Greenwood B MaletBrazilAsiya Javayant RENEWAL
Julie N CaldareraGermanyBernardo Dominic RENEWAL
Maria Q NickaCanadaXuxue Feng PROPOSAL
Octavia X BriddickGermanyXuxue Feng NEGOTIATION
Sinclair U VenereAustraliaAsiya Javayant RENEWAL
Claire Q SaylorsUnited KingdomIvan Magalhaes NEW
Salvatore V DarakjyArgentinaBernardo Dominic NEGOTIATION
Claire H AlbaresGermanyStephen Shaw PROPOSAL
Antonio F RoysterIndiaStephen Shaw RENEWAL
Maria L PaprockiBrazilXuxue Feng NEW
Jones R MorascaCanadaAmy Elsner RENEWAL
Jeanfrancois U AlbaresBrazilXuxue Feng RENEWAL
Aditya K AlbaresSpainAsiya Javayant QUALIFIED
Aruna K OstroskyGermanyBernardo Dominic UNQUALIFIED
Misaki V FollerAustraliaStephen Shaw PROPOSAL
Chavez I SaylorsSpainOnyama Limba UNQUALIFIED
Julie P RimRussiaAmy Elsner NEGOTIATION
Nicolas A MarrierRussiaStephen Shaw NEW
Munro C ShinkoArgentinaAmy Elsner UNQUALIFIED
Jennifer R CaldareraBrazilStephen Shaw PROPOSAL
Maria U PoquetteJapanIvan Magalhaes RENEWAL
Wickens E FerenczArgentinaIoni Bowcher QUALIFIED
Darci A RimFranceStephen Shaw QUALIFIED
Adams A RimGermanyAsiya Javayant PROPOSAL
Izzy Y PerinGermanyElwin Sharvill QUALIFIED
Darci D OldroydAustraliaIoni Bowcher PROPOSAL
Adams T RulapaughSpainAmy Elsner NEGOTIATION
Aruna H FigeroaJapanElwin Sharvill RENEWAL
Izzy R NestleArgentinaElwin Sharvill RENEWAL
Morrow E RutaJapanElwin Sharvill NEW
Kaitlin R SchemmerFranceBernardo Dominic NEW
Wickens Z MacleadGermanyAnna Fali UNQUALIFIED
Jefferson R MaletIndiaIoni Bowcher NEGOTIATION
Antonio M GillianUnited KingdomIoni Bowcher NEW
Costa T RimCanadaAmy Elsner NEGOTIATION
Deepesh B MarrierAustraliaIoni Bowcher QUALIFIED
Deepesh W MarrierAustraliaElwin Sharvill UNQUALIFIED
Julie I BowleyArgentinaIoni Bowcher RENEWAL
Maisha N ShinkoFranceAmy Elsner NEW
Frozen Columns
Name
Jones U Foller
Munro N Iturbide
Kadeem M Bowley
Murillo D Ostrosky
Leon P Malet
Alejandro N Gillian
Ashley K Doe
Jeanfrancois C Wieser
Cody F Poquette
Leon J Amigon
Leja I Ostrosky
Maisha I Wieser
Kadeem S Waycott
Kadeem S Vocelka
Smith N Foller
Nicolas J Stockham
Juan Q Albares
Adams E Morasca
Rodrigues X Stenseth
Stacey Z Wieser
Faith X Flosi
Claire Z Vocelka
Aruna N Oldroyd
Jones P Marrier
Izzy X Caldarera
Rodrigues D Malet
Leon U Doe
Juan T Gillian
Morrow G Kusko
Murillo S Morasca
Maisha F Waycott
Juan X Inouye
Deepesh B Garufi
Stacey X Schemmer
Ashley E Whobrey
Ashley L Darakjy
Aditya A Morasca
Sinclair J Flosi
Mayumi H Stockham
Arvin W Iturbide
Mujtaba N Malet
Aika O Bolognia
Deepesh Y Waycott
Kadeem H Slusarski
Munro Q Stockham
Adams I Stenseth
Mayumi S Maclead
Jennifer I Morasca
Arvin I Stenseth
Jefferson A Stockham
IdCountryDate
1000Canada2026-07-19
1001Australia2026-06-25
1002Japan2026-07-21
1003Italy2026-07-13
1004United Kingdom2026-07-23
1005Brazil2026-07-11
1006Brazil2026-06-26
1007Spain2026-07-02
1008India2026-07-05
1009United Kingdom2026-06-28
1010India2026-06-30
1011France2026-07-15
1012France2026-07-02
1013Italy2026-07-15
1014France2026-07-17
1015India2026-07-24
1016Argentina2026-07-21
1017Spain2026-07-10
1018France2026-07-03
1019Canada2026-07-04
1020Japan2026-07-02
1021Germany2026-07-22
1022Argentina2026-07-15
1023United Kingdom2026-07-04
1024India2026-07-09
1025Spain2026-06-28
1026Germany2026-07-15
1027Brazil2026-07-08
1028Japan2026-07-04
1029France2026-07-08
1030Japan2026-07-24
1031Spain2026-07-19
1032India2026-06-30
1033United Kingdom2026-07-13
1034Italy2026-07-03
1035Spain2026-07-09
1036Argentina2026-07-18
1037Brazil2026-06-28
1038India2026-07-05
1039United Kingdom2026-06-30
1040India2026-07-01
1041Spain2026-07-11
1042Germany2026-07-04
1043Italy2026-07-05
1044India2026-07-06
1045France2026-07-21
1046Canada2026-07-08
1047Spain2026-07-05
1048France2026-07-18
1049France2026-07-05

On-Demand Data

NameIdCountryDate
Claire M Foller1000Canada2026-07-07
Ashley O Foller1001Canada2026-07-24
Juan R Kolmetz1002Japan2026-07-13
James U Ostrosky1003Australia2026-07-22
Salvatore S Foller1004Brazil2026-06-26
Kaitlin B Campain1005Canada2026-07-12
Smith B Morasca1006India2026-07-21
Nicolas W Amigon1007United Kingdom2026-07-07
Clifford B Garufi1008France2026-07-14
Tony A Gillian1009Italy2026-07-22
Kadeem V Whobrey1010France2026-07-04
Greenwood T Marrier1011Canada2026-07-04
Tony Z Kolmetz1012Brazil2026-07-19
Izzy O Poquette1013United Kingdom2026-07-08
Jeanfrancois O Tollner1014Spain2026-06-29
Faith J Vocelka1015Japan2026-06-30
Munro J Darakjy1016Argentina2026-07-04
Costa D Saylors1017Brazil2026-07-05
Julie Z Sergi1018United Kingdom2026-07-21
Ricardo N Dilliard1019Russia2026-07-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo W StockhamJapanXuxue Feng RENEWAL
Rodrigues L IturbideRussiaStephen Shaw PROPOSAL
Ivar J BowleyUnited KingdomStephen Shaw PROPOSAL
Kaitlin E SlusarskiUnited KingdomAsiya Javayant RENEWAL
Leon T KuskoRussiaStephen Shaw PROPOSAL
Izzy A ButtRussiaAmy Elsner UNQUALIFIED
Adams D BowleyCanadaAmy Elsner QUALIFIED
Nicolas Y StockhamUnited KingdomBernardo Dominic PROPOSAL
Jennifer E MacleadBrazilAsiya Javayant NEGOTIATION
Misaki S TollnerArgentinaIoni Bowcher QUALIFIED
James L RoysterAustraliaStephen Shaw NEGOTIATION
Greenwood A NickaFranceElwin Sharvill NEW
Juan U KolmetzItalyIoni Bowcher PROPOSAL
Leon Y SchemmerJapanOnyama Limba NEGOTIATION
Jeanfrancois D PoquetteFranceAmy Elsner NEGOTIATION
Kaitlin A RutaAustraliaElwin Sharvill NEW
Adams W CaudyUnited KingdomAnna Fali PROPOSAL
James B OstroskyJapanAsiya Javayant UNQUALIFIED
Munro A StensethCanadaIoni Bowcher RENEWAL
Antonio S CaudyFranceAsiya Javayant PROPOSAL
Johnson W GarufiGermanyIvan Magalhaes PROPOSAL
Silvio Y RimFranceIoni Bowcher NEW
Silvio O MaletCanadaStephen Shaw NEGOTIATION
Claire X BriddickGermanyAmy Elsner NEW
Arvin K RulapaughGermanyOnyama Limba NEW
Munro L MorascaIndiaIvan Magalhaes NEGOTIATION
Ricardo W FerenczCanadaOnyama Limba NEW
Leja I StensethUnited KingdomXuxue Feng NEGOTIATION
Costa Z MaletItalyIoni Bowcher QUALIFIED
Aruna H ButtRussiaStephen Shaw NEW
Izzy F SchemmerBrazilElwin Sharvill UNQUALIFIED
David V OstroskyGermanyBernardo Dominic NEGOTIATION
Mayumi C SaylorsItalyStephen Shaw QUALIFIED
Kaitlin A SchemmerFranceXuxue Feng RENEWAL
Ivar L BriddickJapanOnyama Limba RENEWAL
Claire A StockhamIndiaIoni Bowcher PROPOSAL
Julie O AmigonAustraliaIoni Bowcher PROPOSAL
Kaitlin I IturbideRussiaAnna Fali RENEWAL
James Z OldroydArgentinaBernardo Dominic NEGOTIATION
Stacey U MaletSpainAnna Fali 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>