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
Kadeem H MacleadBrazilElwin Sharvill UNQUALIFIED
Faith Y BologniaJapanStephen Shaw QUALIFIED
Ricardo H GlickFranceStephen Shaw NEGOTIATION
Kadeem H WhobreyItalyStephen Shaw UNQUALIFIED
Adams Q ButtBrazilIvan Magalhaes PROPOSAL
Kaitlin K TollnerUnited KingdomXuxue Feng RENEWAL
Silvio H MaletSpainAsiya Javayant NEW
Jeanfrancois M PerinFranceAsiya Javayant QUALIFIED
Ivar K StensethArgentinaElwin Sharvill RENEWAL
Johnson J StockhamAustraliaOnyama Limba NEGOTIATION
Kadeem R StensethGermanyIvan Magalhaes PROPOSAL
Greenwood A ButtCanadaXuxue Feng RENEWAL
Deepesh W BologniaBrazilIvan Magalhaes RENEWAL
Leon B AmigonSpainElwin Sharvill RENEWAL
Emily Z WhobreyUnited KingdomBernardo Dominic NEW
Julie I MaletCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois S MaletGermanyElwin Sharvill NEW
James V FollerArgentinaAnna Fali NEGOTIATION
Darci D ChuiSpainIoni Bowcher RENEWAL
Claire Y GarufiUnited KingdomXuxue Feng NEW
Faith A CaudyJapanXuxue Feng NEW
Emily X IturbideFranceStephen Shaw NEW
Jefferson Y DoeAustraliaStephen Shaw UNQUALIFIED
Johnson W StensethGermanyAmy Elsner QUALIFIED
Jefferson N DoeAustraliaStephen Shaw QUALIFIED
Misaki A InouyeArgentinaElwin Sharvill RENEWAL
Mayumi K StensethJapanAsiya Javayant QUALIFIED
Mayumi Y MacleadJapanAnna Fali RENEWAL
Costa H VenereSpainAsiya Javayant NEGOTIATION
Wickens J CaldareraArgentinaIoni Bowcher UNQUALIFIED
Misaki D ShinkoRussiaAnna Fali NEGOTIATION
Silvio A DarakjyGermanyBernardo Dominic NEGOTIATION
Leja M IturbideAustraliaXuxue Feng NEW
Tony Z AmigonRussiaAnna Fali NEGOTIATION
Wickens B MorascaUnited KingdomXuxue Feng NEGOTIATION
Sinclair O GlickArgentinaElwin Sharvill RENEWAL
Ashley H MaletSpainBernardo Dominic UNQUALIFIED
Leja N FerenczAustraliaXuxue Feng NEW
Clifford D DarakjyArgentinaAnna Fali UNQUALIFIED
Francesco J KolmetzJapanAsiya Javayant QUALIFIED
Aditya E StockhamJapanIvan Magalhaes QUALIFIED
Juan C AlbaresBrazilAsiya Javayant QUALIFIED
Stacey B FigeroaCanadaAnna Fali NEGOTIATION
Kadeem U OldroydSpainBernardo Dominic NEW
Ashley C MaletFranceElwin Sharvill NEW
David W CampainArgentinaIvan Magalhaes RENEWAL
Morrow J CaudySpainOnyama Limba PROPOSAL
Misaki C RulapaughFranceIvan Magalhaes PROPOSAL
Emily J GlickFranceStephen Shaw RENEWAL
Maria D StensethFranceIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa C SchemmerUnited KingdomStephen Shaw RENEWAL
Salvatore F NestleJapanAmy Elsner QUALIFIED
Kaitlin W GauchoRussiaOnyama Limba UNQUALIFIED
Adams C WhobreyFranceAsiya Javayant NEGOTIATION
David G SaylorsSpainIvan Magalhaes PROPOSAL
Greenwood Z CaldareraSpainBernardo Dominic QUALIFIED
Adams I DilliardJapanAsiya Javayant UNQUALIFIED
Mujtaba H MorascaUnited KingdomStephen Shaw RENEWAL
Jefferson N MarrierGermanyAmy Elsner PROPOSAL
Claire C MorascaIndiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson L PaprockiCanada2026-06-09Morlong Associates PROPOSAL88Elwin Sharvill
1001Morrow H MorascaFrance2026-06-20Printing Dimensions NEGOTIATION71Asiya Javayant
1002Leja B IturbideCanada2026-06-18Feltz Printing Service NEW33Xuxue Feng
1003Aditya C GarufiArgentina2026-06-07Morlong Associates PROPOSAL12Anna Fali
1004Julie D MarrierFrance2026-06-01Buckley Miller Wright PROPOSAL97Stephen Shaw
1005Salvatore A FigeroaRussia2026-06-14Printing Dimensions UNQUALIFIED33Anna Fali
1006Aika Q BologniaRussia2026-06-26King, Christopher A Esq PROPOSAL14Anna Fali
1007Silvio C AmigonItaly2026-06-05Chanay, Jeffrey A Esq PROPOSAL86Stephen Shaw
1008Aruna L BowleyIndia2026-06-28Chapman, Ross E Esq NEGOTIATION22Anna Fali
1009Smith N SaylorsJapan2026-06-08Feltz Printing Service NEGOTIATION91Stephen Shaw
1010Isabel O WaycottItaly2026-06-15Rangoni Of Florence UNQUALIFIED48Amy Elsner
1011Jones X BologniaFrance2026-06-02Dorl, James J Esq PROPOSAL36Elwin Sharvill
1012Jeanfrancois E SergiArgentina2026-06-28Chapman, Ross E Esq PROPOSAL84Anna Fali
1013Cody J WieserUnited Kingdom2026-06-10Benton, John B Jr NEW20Onyama Limba
1014Antonio W SergiRussia2026-06-13Chemel, James L Cpa RENEWAL26Xuxue Feng
1015Aruna R ShinkoSpain2026-06-18Benton, John B Jr PROPOSAL86Bernardo Dominic
1016Aika Z DilliardCanada2026-06-11Chemel, James L Cpa UNQUALIFIED3Onyama Limba
1017Faith V WieserCanada2026-06-11Rousseaux, Michael Esq UNQUALIFIED86Amy Elsner
1018Maisha P FerenczJapan2026-06-26Buckley Miller Wright NEW0Bernardo Dominic
1019Clifford S VocelkaGermany2026-06-28King, Christopher A Esq QUALIFIED66Stephen Shaw
1020Ricardo S PerinFrance2026-06-13Rousseaux, Michael Esq QUALIFIED15Elwin Sharvill
1021Alejandro T AlbaresArgentina2026-06-13Buckley Miller Wright QUALIFIED32Onyama Limba
1022Arvin N CaudyUnited Kingdom2026-06-16Rousseaux, Michael Esq NEGOTIATION53Amy Elsner
1023Salvatore K FerenczFrance2026-06-18Feiner Bros NEW89Ioni Bowcher
1024Jefferson J RoysterGermany2026-06-16Printing Dimensions RENEWAL22Asiya Javayant
1025Jones K NickaCanada2026-06-14Commercial Press NEGOTIATION61Ivan Magalhaes
1026Darci N CampainCanada2026-06-11Chanay, Jeffrey A Esq QUALIFIED70Xuxue Feng
1027Sinclair S GauchoItaly2026-06-30Rousseaux, Michael Esq NEGOTIATION71Asiya Javayant
1028Faith H CampainUnited Kingdom2026-06-13Commercial Press RENEWAL86Elwin Sharvill
1029Salvatore Q NestleItaly2026-06-04Chapman, Ross E Esq NEGOTIATION2Stephen Shaw
1030David P PaprockiGermany2026-06-07Feiner Bros PROPOSAL60Anna Fali
1031Greenwood Q PaprockiFrance2026-06-03Truhlar And Truhlar Attys UNQUALIFIED83Anna Fali
1032Ricardo S MaletItaly2026-06-30Feiner Bros UNQUALIFIED84Asiya Javayant
1033Morrow L VocelkaJapan2026-06-01Morlong Associates RENEWAL43Amy Elsner
1034Francesco P RutaIndia2026-06-26Commercial Press UNQUALIFIED48Ivan Magalhaes
1035Leon H DoeItaly2026-06-24Chapman, Ross E Esq NEW3Stephen Shaw
1036Deepesh L SchemmerIndia2026-06-02Feiner Bros PROPOSAL44Asiya Javayant
1037Costa W MarrierArgentina2026-06-25Feltz Printing Service PROPOSAL96Anna Fali
1038Tony O InouyeCanada2026-06-26Rangoni Of Florence UNQUALIFIED87Asiya Javayant
1039Antonio W KuskoBrazil2026-06-09Rousseaux, Michael Esq QUALIFIED29Asiya Javayant
1040Leja K CaldareraGermany2026-06-27Rousseaux, Michael Esq QUALIFIED18Ioni Bowcher
1041Murillo H GillianJapan2026-06-15Truhlar And Truhlar Attys PROPOSAL49Amy Elsner
1042Maisha L AlbaresItaly2026-06-23Feltz Printing Service QUALIFIED10Xuxue Feng
1043Alejandro U BowleyAustralia2026-06-12Chanay, Jeffrey A Esq QUALIFIED5Anna Fali
1044Costa K KuskoSpain2026-06-09Buckley Miller Wright PROPOSAL75Ivan Magalhaes
1045Leja U SergiIndia2026-06-15Truhlar And Truhlar Attys UNQUALIFIED69Elwin Sharvill
1046Antonio V MacleadGermany2026-06-09Feiner Bros NEW18Bernardo Dominic
1047James P OldroydJapan2026-06-28Morlong Associates RENEWAL13Ivan Magalhaes
1048Chavez U DoeJapan2026-06-05Benton, John B Jr PROPOSAL21Bernardo Dominic
1049Jefferson C MaletAustralia2026-06-10Buckley Miller Wright PROPOSAL82Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Faith A CaudyAustraliaIoni Bowcher UNQUALIFIED
Jones J OstroskyUnited KingdomXuxue Feng RENEWAL
Isabel H TollnerUnited KingdomAnna Fali NEGOTIATION
Jennifer E BologniaBrazilXuxue Feng RENEWAL
Clifford S CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Aruna C ButtIndiaIoni Bowcher PROPOSAL
Chavez H InouyeCanadaStephen Shaw PROPOSAL
Ashley E VenereUnited KingdomIoni Bowcher NEW
Jefferson D StensethFranceBernardo Dominic QUALIFIED
Maria M IturbideFranceAmy Elsner UNQUALIFIED
Antonio I MorascaArgentinaXuxue Feng UNQUALIFIED
Maisha W RimUnited KingdomAnna Fali NEW
Juan V KuskoCanadaOnyama Limba NEGOTIATION
Johnson K InouyeCanadaAnna Fali PROPOSAL
Claire T RulapaughIndiaXuxue Feng NEW
Munro W OstroskyFranceStephen Shaw RENEWAL
Leon P StensethGermanyIoni Bowcher PROPOSAL
Nicolas L SaylorsArgentinaStephen Shaw NEGOTIATION
Aruna K FlosiGermanyIvan Magalhaes NEW
Aruna I NickaSpainIvan Magalhaes NEGOTIATION
Alejandro K StockhamIndiaXuxue Feng NEW
Aika A InouyeFranceBernardo Dominic NEW
Octavia Y FlosiUnited KingdomBernardo Dominic QUALIFIED
Ivar F MaletSpainIvan Magalhaes NEGOTIATION
Claire N BologniaAustraliaIvan Magalhaes UNQUALIFIED
Isabel O FerenczItalyStephen Shaw UNQUALIFIED
Murillo G RimGermanyAsiya Javayant PROPOSAL
James P BologniaUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin I BriddickGermanyAsiya Javayant QUALIFIED
Misaki J GarufiAustraliaIvan Magalhaes UNQUALIFIED
Alejandro D GauchoArgentinaOnyama Limba NEW
Munro Q KolmetzFranceXuxue Feng RENEWAL
Tony S RoysterCanadaAsiya Javayant PROPOSAL
Jones A PoquetteArgentinaStephen Shaw PROPOSAL
Francesco P WhobreyItalyAnna Fali NEGOTIATION
Alejandro M KolmetzArgentinaXuxue Feng NEW
Leon W MorascaCanadaBernardo Dominic UNQUALIFIED
Emily J FollerFranceIoni Bowcher RENEWAL
Ashley C DoeArgentinaOnyama Limba NEW
Aika Y RimAustraliaIvan Magalhaes RENEWAL
Wickens L ShinkoJapanIoni Bowcher NEW
Salvatore J CaldareraAustraliaXuxue Feng QUALIFIED
Costa D FollerAustraliaXuxue Feng NEW
Chavez F InouyeIndiaAmy Elsner NEW
Johnson C DoeGermanyAnna Fali QUALIFIED
Ricardo S PoquetteItalyElwin Sharvill NEW
Nicolas Y ShinkoBrazilBernardo Dominic PROPOSAL
Leja I OldroydSpainAnna Fali NEW
Stacey Y CaudyAustraliaStephen Shaw RENEWAL
Kaitlin Y VenereUnited KingdomAnna Fali UNQUALIFIED
Frozen Columns
Name
Sinclair H Rulapaugh
Ivar H Waycott
Aditya I Butt
Murillo D Paprocki
Aruna Z Slusarski
Jones R Stockham
Adams W Stockham
Adams Z Rim
Faith M Bolognia
Wickens C Flosi
Kadeem Z Doe
Emily H Foller
Maisha Y Waycott
Darci N Saylors
Silvio F Bolognia
Tony I Gillian
Adams I Garufi
Silvio B Bolognia
Darci W Bolognia
Izzy X Garufi
Silvio D Glick
Ivar A Wieser
Johnson R Malet
Maria I Kolmetz
Izzy B Doe
Julie E Caudy
Mayumi Z Campain
Sinclair S Nestle
Francesco W Malet
Francesco D Paprocki
Leon G Gillian
Cody Y Ruta
Maisha L Sergi
Jones R Stockham
Aruna F Iturbide
Smith Q Campain
Leon P Bowley
Izzy C Stockham
Sinclair I Maclead
Emily T Caudy
Octavia U Rim
Johnson A Briddick
Mayumi R Foller
Clifford S Doe
Adams W Amigon
Arvin N Nicka
Cody R Caldarera
Jennifer O Sergi
Stacey I Nestle
Adams Q Albares
IdCountryDate
1000Russia2026-06-28
1001France2026-06-21
1002United Kingdom2026-06-15
1003Australia2026-06-07
1004Japan2026-06-20
1005Brazil2026-06-27
1006France2026-06-26
1007Australia2026-06-19
1008Argentina2026-06-26
1009Italy2026-06-15
1010Argentina2026-06-29
1011Argentina2026-06-23
1012Spain2026-06-27
1013Germany2026-06-19
1014France2026-06-22
1015Australia2026-06-10
1016Spain2026-06-15
1017Germany2026-06-09
1018United Kingdom2026-06-05
1019Russia2026-06-25
1020France2026-06-19
1021United Kingdom2026-06-24
1022Australia2026-06-20
1023Germany2026-06-23
1024Japan2026-06-02
1025France2026-06-12
1026Brazil2026-06-09
1027India2026-06-24
1028Japan2026-06-14
1029Germany2026-06-07
1030Argentina2026-06-11
1031Japan2026-06-01
1032Argentina2026-06-13
1033Italy2026-06-28
1034Japan2026-06-29
1035Brazil2026-06-09
1036United Kingdom2026-06-16
1037Japan2026-06-23
1038Argentina2026-06-11
1039Russia2026-06-29
1040France2026-06-22
1041France2026-06-24
1042Australia2026-06-23
1043Spain2026-06-10
1044Russia2026-06-25
1045Brazil2026-06-25
1046Italy2026-06-13
1047Argentina2026-06-07
1048Japan2026-06-10
1049Italy2026-06-26

On-Demand Data

NameIdCountryDate
Johnson E Rim1000Japan2026-06-09
Silvio T Bowley1001Canada2026-06-02
Aika J Wieser1002France2026-06-15
Maisha G Bowley1003Japan2026-06-20
Misaki G Rulapaugh1004India2026-06-08
Murillo B Kolmetz1005United Kingdom2026-06-28
Tony W Rulapaugh1006Australia2026-06-26
Leja I Foller1007Argentina2026-06-30
Jennifer Q Albares1008Germany2026-06-12
Kaitlin D Paprocki1009Brazil2026-06-23
Leja U Sergi1010Brazil2026-06-06
Faith B Chui1011Italy2026-06-23
Greenwood R Schemmer1012India2026-06-23
Deepesh G Darakjy1013Germany2026-06-15
Arvin A Stockham1014Argentina2026-06-09
Salvatore B Sergi1015India2026-06-24
Darci Y Sergi1016Brazil2026-06-07
Salvatore I Ostrosky1017Italy2026-06-18
Jones C Ferencz1018Brazil2026-06-26
Deepesh G Venere1019France2026-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood O NestleCanadaStephen Shaw QUALIFIED
Izzy V SlusarskiJapanAsiya Javayant PROPOSAL
Morrow I FerenczUnited KingdomAmy Elsner UNQUALIFIED
Clifford E FlosiRussiaAmy Elsner QUALIFIED
Smith F VenereAustraliaIoni Bowcher RENEWAL
Emily Q WaycottAustraliaBernardo Dominic NEGOTIATION
Maria N KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Leja E StensethSpainOnyama Limba NEW
Julie V SlusarskiRussiaIvan Magalhaes PROPOSAL
Silvio M WhobreyIndiaIvan Magalhaes NEGOTIATION
Munro R CampainRussiaElwin Sharvill UNQUALIFIED
Kadeem X RulapaughJapanXuxue Feng NEW
Jennifer Z BriddickBrazilXuxue Feng RENEWAL
Kadeem S ChuiFranceAnna Fali PROPOSAL
Kadeem H RoysterRussiaAmy Elsner UNQUALIFIED
Adams O CaldareraBrazilIvan Magalhaes UNQUALIFIED
Emily U GarufiArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois G KuskoCanadaStephen Shaw PROPOSAL
Izzy B FollerRussiaIoni Bowcher QUALIFIED
Greenwood I BriddickGermanyStephen Shaw NEGOTIATION
Maisha C FlosiAustraliaAnna Fali NEW
Darci C RutaBrazilAsiya Javayant RENEWAL
Jeanfrancois E CampainJapanIoni Bowcher RENEWAL
Faith O TollnerItalyAnna Fali QUALIFIED
Smith I ShinkoCanadaAsiya Javayant NEW
Arvin S FollerUnited KingdomStephen Shaw NEGOTIATION
Darci Q FerenczRussiaElwin Sharvill UNQUALIFIED
Aditya L ShinkoIndiaAsiya Javayant NEW
Adams N RoysterFranceAnna Fali RENEWAL
Chavez H CaldareraRussiaAmy Elsner PROPOSAL
Cody Y SergiBrazilAsiya Javayant RENEWAL
Tony H PaprockiAustraliaBernardo Dominic QUALIFIED
James S SlusarskiCanadaOnyama Limba QUALIFIED
Octavia L ChuiCanadaAmy Elsner NEGOTIATION
Smith Y WaycottSpainOnyama Limba RENEWAL
Greenwood P OldroydCanadaAmy Elsner PROPOSAL
Isabel G DilliardAustraliaIoni Bowcher NEW
Salvatore H FerenczArgentinaOnyama Limba PROPOSAL
Sinclair M KuskoCanadaStephen Shaw PROPOSAL
Ricardo H SlusarskiFranceElwin Sharvill 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>