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
Jeanfrancois P RulapaughIndiaXuxue Feng UNQUALIFIED
Octavia C BowleyFranceXuxue Feng RENEWAL
Julie H WhobreyIndiaAnna Fali NEW
Silvio F GlickUnited KingdomOnyama Limba NEW
Emily Q NestleGermanyXuxue Feng QUALIFIED
Munro Y SchemmerGermanyIvan Magalhaes QUALIFIED
Rodrigues I ButtSpainAnna Fali UNQUALIFIED
Emily U NestleJapanStephen Shaw NEGOTIATION
Julie A NestleJapanElwin Sharvill UNQUALIFIED
Chavez D PerinAustraliaBernardo Dominic NEGOTIATION
Kadeem U PerinAustraliaIoni Bowcher NEGOTIATION
Morrow Q ChuiJapanAmy Elsner NEW
Francesco O SchemmerSpainIvan Magalhaes NEGOTIATION
Antonio U OldroydCanadaAmy Elsner PROPOSAL
Antonio D WaycottBrazilOnyama Limba PROPOSAL
Johnson Z WaycottAustraliaBernardo Dominic QUALIFIED
Sinclair M RimBrazilOnyama Limba PROPOSAL
Murillo Z VocelkaRussiaIvan Magalhaes NEW
Rodrigues N BriddickFranceAmy Elsner NEGOTIATION
James X NestleSpainAmy Elsner RENEWAL
Wickens Z BowleySpainElwin Sharvill NEW
Misaki Z TollnerRussiaAnna Fali NEW
Mayumi R RulapaughJapanAnna Fali NEW
Mujtaba U VocelkaSpainAmy Elsner RENEWAL
Maisha H OldroydArgentinaStephen Shaw NEW
Wickens L TollnerJapanAnna Fali NEW
Jones D ShinkoSpainAsiya Javayant NEW
Juan C ButtUnited KingdomOnyama Limba PROPOSAL
Alejandro W WaycottItalyIvan Magalhaes QUALIFIED
Claire W DilliardGermanyIoni Bowcher PROPOSAL
Clifford K AmigonArgentinaAmy Elsner UNQUALIFIED
Silvio L PerinFranceOnyama Limba PROPOSAL
Isabel G CaudyGermanyBernardo Dominic RENEWAL
Chavez O AmigonUnited KingdomIoni Bowcher NEW
Arvin D FollerJapanElwin Sharvill UNQUALIFIED
Octavia B IturbideArgentinaIoni Bowcher QUALIFIED
Silvio S CampainBrazilStephen Shaw NEW
Rodrigues X OldroydBrazilIvan Magalhaes NEGOTIATION
Misaki O WaycottItalyAnna Fali NEW
Leja T PerinUnited KingdomStephen Shaw PROPOSAL
Stacey I WieserArgentinaIoni Bowcher UNQUALIFIED
James G VenereFranceAnna Fali UNQUALIFIED
Morrow B RoysterGermanyAnna Fali UNQUALIFIED
Maisha F StockhamFranceElwin Sharvill QUALIFIED
Leja H FerenczBrazilElwin Sharvill PROPOSAL
Misaki A GauchoItalyXuxue Feng UNQUALIFIED
Maria O OldroydFranceBernardo Dominic NEGOTIATION
Antonio C NickaGermanyBernardo Dominic UNQUALIFIED
Sinclair V MaletAustraliaElwin Sharvill UNQUALIFIED
Cody Z FerenczItalyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire L CampainSpainBernardo Dominic UNQUALIFIED
Claire E ButtGermanyIvan Magalhaes RENEWAL
Julie H PaprockiRussiaXuxue Feng PROPOSAL
Leja W MaletBrazilAmy Elsner NEW
Aruna H RimJapanIoni Bowcher QUALIFIED
Julie D FigeroaSpainElwin Sharvill RENEWAL
Julie R WaycottBrazilAmy Elsner RENEWAL
Aruna X MarrierGermanyAsiya Javayant UNQUALIFIED
Darci W MacleadBrazilAmy Elsner NEGOTIATION
Salvatore F OstroskyItalyOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore N WieserItaly2025-06-15Benton, John B Jr PROPOSAL21Ioni Bowcher
1001Izzy Y CaudyBrazil2025-06-11Chemel, James L Cpa PROPOSAL6Elwin Sharvill
1002Nicolas Q StockhamSpain2025-06-13Rangoni Of Florence NEGOTIATION73Asiya Javayant
1003Morrow N MaletJapan2025-06-12Chapman, Ross E Esq NEW31Asiya Javayant
1004Kaitlin H PoquetteUnited Kingdom2025-05-20King, Christopher A Esq RENEWAL87Xuxue Feng
1005Mayumi A GlickCanada2025-05-27Rousseaux, Michael Esq QUALIFIED47Asiya Javayant
1006Misaki X RimFrance2025-06-10Printing Dimensions QUALIFIED1Stephen Shaw
1007Mayumi S FollerSpain2025-05-19Truhlar And Truhlar Attys NEW87Elwin Sharvill
1008Maria R ButtJapan2025-05-25Dorl, James J Esq PROPOSAL45Ioni Bowcher
1009Silvio U PerinUnited Kingdom2025-06-07Feiner Bros UNQUALIFIED74Xuxue Feng
1010Munro B RulapaughIndia2025-06-08Feltz Printing Service PROPOSAL56Stephen Shaw
1011Darci I StockhamIndia2025-06-02Chemel, James L Cpa PROPOSAL41Stephen Shaw
1012Arvin A CaudySpain2025-06-13Chapman, Ross E Esq RENEWAL81Onyama Limba
1013Maisha U WhobreyArgentina2025-06-03Dorl, James J Esq UNQUALIFIED45Xuxue Feng
1014Emily O ChuiAustralia2025-05-21Dorl, James J Esq NEGOTIATION24Anna Fali
1015Ashley U CaudyGermany2025-06-10King, Christopher A Esq NEW83Elwin Sharvill
1016Izzy O VocelkaFrance2025-05-23Morlong Associates RENEWAL7Bernardo Dominic
1017Nicolas M CampainSpain2025-06-10Chapman, Ross E Esq PROPOSAL21Ivan Magalhaes
1018Francesco N StockhamRussia2025-06-06Chanay, Jeffrey A Esq UNQUALIFIED46Onyama Limba
1019David W ChuiGermany2025-06-07Benton, John B Jr QUALIFIED29Amy Elsner
1020Deepesh T ShinkoUnited Kingdom2025-05-26Chemel, James L Cpa PROPOSAL44Amy Elsner
1021Octavia C MarrierRussia2025-06-10Printing Dimensions NEW4Onyama Limba
1022Mayumi S GlickArgentina2025-06-11Truhlar And Truhlar Attys NEW63Onyama Limba
1023Misaki B GauchoJapan2025-05-31Buckley Miller Wright RENEWAL65Bernardo Dominic
1024Salvatore T GarufiSpain2025-06-09Printing Dimensions RENEWAL70Ioni Bowcher
1025Faith T NickaSpain2025-06-13Printing Dimensions PROPOSAL27Stephen Shaw
1026Claire Q WaycottGermany2025-06-13Buckley Miller Wright RENEWAL73Amy Elsner
1027Aika D NickaSpain2025-06-06Rangoni Of Florence RENEWAL61Amy Elsner
1028David H RutaCanada2025-06-12Rousseaux, Michael Esq PROPOSAL33Xuxue Feng
1029Ashley D StockhamRussia2025-06-10Commercial Press RENEWAL1Xuxue Feng
1030Mayumi U ChuiUnited Kingdom2025-06-02Commercial Press NEGOTIATION69Ioni Bowcher
1031Tony N WhobreyJapan2025-05-26Feiner Bros PROPOSAL60Ioni Bowcher
1032Stacey I CaldareraGermany2025-06-16Commercial Press NEGOTIATION43Ivan Magalhaes
1033Sinclair D FigeroaArgentina2025-06-05Rousseaux, Michael Esq PROPOSAL10Elwin Sharvill
1034Cody H VenereCanada2025-05-30Rangoni Of Florence PROPOSAL49Bernardo Dominic
1035Sinclair D BriddickRussia2025-06-14Commercial Press PROPOSAL69Ivan Magalhaes
1036Tony D BowleyCanada2025-05-21Chemel, James L Cpa PROPOSAL16Bernardo Dominic
1037Leon N SchemmerArgentina2025-06-06Chanay, Jeffrey A Esq UNQUALIFIED23Xuxue Feng
1038Ricardo M NestleBrazil2025-06-10Truhlar And Truhlar Attys QUALIFIED86Asiya Javayant
1039Jones O KuskoJapan2025-06-05Feiner Bros PROPOSAL86Xuxue Feng
1040Kaitlin M AlbaresUnited Kingdom2025-05-18King, Christopher A Esq RENEWAL97Elwin Sharvill
1041Darci B CampainJapan2025-06-12King, Christopher A Esq RENEWAL50Xuxue Feng
1042Arvin Y BowleyBrazil2025-05-23Chanay, Jeffrey A Esq UNQUALIFIED17Amy Elsner
1043Silvio T WaycottGermany2025-05-25Chapman, Ross E Esq PROPOSAL69Xuxue Feng
1044Smith W RimItaly2025-06-02Commercial Press QUALIFIED3Elwin Sharvill
1045Silvio Z SergiCanada2025-06-03Buckley Miller Wright QUALIFIED30Xuxue Feng
1046Costa V SaylorsArgentina2025-06-14Morlong Associates NEGOTIATION93Amy Elsner
1047Juan Y FollerRussia2025-06-07Commercial Press UNQUALIFIED37Xuxue Feng
1048Misaki U RoysterItaly2025-05-28Benton, John B Jr RENEWAL20Stephen Shaw
1049Ashley L StockhamItaly2025-05-22Morlong Associates NEW90Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
David V BriddickItalyAmy Elsner RENEWAL
Isabel Y IturbideUnited KingdomIoni Bowcher NEGOTIATION
Leon Z ShinkoRussiaAmy Elsner NEGOTIATION
Chavez G RoysterCanadaStephen Shaw NEGOTIATION
Stacey H VenereRussiaAsiya Javayant RENEWAL
Aditya B VenereItalyAnna Fali UNQUALIFIED
Ashley N FerenczArgentinaXuxue Feng NEGOTIATION
Julie J MaletSpainOnyama Limba RENEWAL
Adams C StensethUnited KingdomIoni Bowcher NEGOTIATION
Morrow I VenereAustraliaAnna Fali QUALIFIED
James B MacleadBrazilIvan Magalhaes QUALIFIED
Jefferson H PerinSpainBernardo Dominic PROPOSAL
Kaitlin A FlosiItalyOnyama Limba UNQUALIFIED
Deepesh T AmigonArgentinaOnyama Limba RENEWAL
Aditya X OstroskyJapanIoni Bowcher QUALIFIED
Aika K WieserArgentinaBernardo Dominic NEGOTIATION
Silvio P SlusarskiIndiaXuxue Feng NEW
Tony G SaylorsFranceAmy Elsner UNQUALIFIED
Johnson E KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Emily Z StockhamGermanyXuxue Feng QUALIFIED
Kadeem J FollerUnited KingdomBernardo Dominic UNQUALIFIED
Sinclair D MacleadAustraliaAsiya Javayant NEGOTIATION
Darci R GlickFranceIoni Bowcher NEW
Maria C VenereIndiaElwin Sharvill PROPOSAL
Alejandro L MarrierAustraliaOnyama Limba RENEWAL
Cody N MaletBrazilIvan Magalhaes NEW
Clifford C RulapaughItalyElwin Sharvill QUALIFIED
Mujtaba C InouyeSpainStephen Shaw PROPOSAL
Aruna Z MaletAustraliaElwin Sharvill UNQUALIFIED
Ivar W AmigonUnited KingdomStephen Shaw QUALIFIED
Chavez O StensethJapanIvan Magalhaes NEW
Arvin B StockhamJapanAnna Fali RENEWAL
Leja J PerinFranceAsiya Javayant QUALIFIED
Maisha B StockhamAustraliaXuxue Feng UNQUALIFIED
Morrow Z AmigonCanadaXuxue Feng PROPOSAL
Mujtaba W TollnerFranceBernardo Dominic PROPOSAL
Isabel C CampainCanadaAnna Fali RENEWAL
Aditya D SchemmerBrazilBernardo Dominic NEGOTIATION
Isabel Z SchemmerGermanyElwin Sharvill NEGOTIATION
Octavia U SaylorsRussiaAsiya Javayant PROPOSAL
Aruna X DoeJapanBernardo Dominic PROPOSAL
Maria S ChuiFranceXuxue Feng NEW
Chavez C MacleadArgentinaStephen Shaw UNQUALIFIED
Deepesh B MorascaCanadaAsiya Javayant QUALIFIED
Wickens M StockhamBrazilOnyama Limba UNQUALIFIED
Rodrigues X DarakjyRussiaElwin Sharvill UNQUALIFIED
Wickens J MarrierItalyElwin Sharvill NEGOTIATION
Murillo B KuskoArgentinaAnna Fali NEW
Stacey X ButtCanadaOnyama Limba QUALIFIED
Mayumi E StockhamAustraliaElwin Sharvill NEW
Frozen Columns
Name
Ivar C Amigon
Maisha F Whobrey
Silvio V Morasca
Faith A Schemmer
Salvatore V Schemmer
Maisha G Kusko
Stacey W Chui
Morrow F Oldroyd
Mujtaba G Wieser
Morrow S Albares
Ashley Y Poquette
Mayumi W Briddick
Sinclair U Ruta
Rodrigues X Kusko
Aika T Saylors
Nicolas B Ostrosky
Salvatore K Wieser
Adams B Slusarski
Deepesh Z Ostrosky
Octavia Q Gillian
Clifford F Maclead
Leja X Ferencz
Ivar Q Campain
Mayumi E Nestle
Rodrigues K Paprocki
David X Royster
Costa C Kolmetz
Izzy K Garufi
Rodrigues G Rulapaugh
Leja X Darakjy
Clifford U Campain
Sinclair W Dilliard
Aika D Butt
Antonio T Nicka
Costa K Ferencz
Alejandro Y Waycott
Leja N Malet
Cody H Royster
Isabel Q Bolognia
Isabel D Briddick
Johnson L Garufi
Silvio A Foller
Juan B Albares
Mujtaba L Saylors
Morrow K Gillian
Jeanfrancois T Garufi
Murillo U Doe
Francesco H Poquette
Aruna D Flosi
Wickens G Paprocki
IdCountryDate
1000United Kingdom2025-05-31
1001Spain2025-05-28
1002Germany2025-05-20
1003Brazil2025-05-22
1004Italy2025-06-08
1005United Kingdom2025-05-19
1006France2025-05-31
1007Australia2025-06-10
1008Germany2025-06-07
1009Spain2025-06-02
1010Russia2025-06-15
1011Germany2025-05-27
1012Canada2025-05-19
1013Argentina2025-05-31
1014Argentina2025-05-18
1015United Kingdom2025-05-22
1016Japan2025-06-03
1017Italy2025-05-20
1018Brazil2025-06-07
1019Australia2025-05-21
1020India2025-06-06
1021Japan2025-05-23
1022Italy2025-05-28
1023France2025-06-11
1024Japan2025-06-09
1025Brazil2025-06-06
1026France2025-05-18
1027Germany2025-05-31
1028France2025-06-16
1029Canada2025-05-19
1030France2025-06-01
1031Italy2025-06-16
1032France2025-06-06
1033France2025-05-22
1034United Kingdom2025-06-05
1035Italy2025-06-10
1036Italy2025-06-10
1037Spain2025-06-11
1038Australia2025-05-19
1039Germany2025-06-06
1040United Kingdom2025-06-10
1041United Kingdom2025-06-08
1042Russia2025-06-10
1043Australia2025-06-04
1044Canada2025-06-03
1045Japan2025-05-18
1046Japan2025-06-04
1047Spain2025-06-10
1048Italy2025-06-10
1049Australia2025-06-15

On-Demand Data

NameIdCountryDate
Morrow G Slusarski1000Canada2025-05-26
Leon U Ostrosky1001France2025-06-02
Salvatore W Stenseth1002Australia2025-06-03
Darci Q Stockham1003Australia2025-06-16
Emily S Oldroyd1004Argentina2025-05-30
Leon W Waycott1005Italy2025-05-31
Ivar J Marrier1006France2025-05-24
Silvio I Dilliard1007Argentina2025-06-15
Ricardo X Malet1008Russia2025-05-30
Stacey J Albares1009Germany2025-06-02
Faith S Bolognia1010Italy2025-05-29
James U Amigon1011Germany2025-05-31
Aruna K Campain1012Italy2025-05-27
Nicolas Y Tollner1013Italy2025-05-31
Arvin M Rim1014India2025-06-13
Silvio L Figeroa1015Germany2025-06-12
Jones M Bowley1016Russia2025-06-04
Rodrigues M Kolmetz1017United Kingdom2025-06-09
Deepesh K Briddick1018France2025-06-16
Munro I Ostrosky1019India2025-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin S RulapaughGermanyStephen Shaw NEW
Kadeem C CampainCanadaIoni Bowcher RENEWAL
Faith Z OstroskyFranceAmy Elsner QUALIFIED
Salvatore Y NickaJapanIoni Bowcher PROPOSAL
Jones I AmigonIndiaStephen Shaw PROPOSAL
Faith L ChuiGermanyStephen Shaw RENEWAL
Johnson M WieserBrazilOnyama Limba NEW
Johnson X NickaCanadaIoni Bowcher QUALIFIED
Ashley Y ChuiAustraliaStephen Shaw RENEWAL
Costa R VenereJapanStephen Shaw QUALIFIED
Leja G DilliardRussiaOnyama Limba QUALIFIED
Salvatore A FlosiArgentinaAmy Elsner NEGOTIATION
Wickens X FlosiCanadaAsiya Javayant NEW
Nicolas L AlbaresItalyIoni Bowcher QUALIFIED
Stacey O GarufiJapanOnyama Limba RENEWAL
Misaki R AmigonIndiaIvan Magalhaes RENEWAL
Aditya B VocelkaSpainIoni Bowcher PROPOSAL
James Z PerinFranceStephen Shaw RENEWAL
Alejandro N FlosiUnited KingdomStephen Shaw UNQUALIFIED
Sinclair Q RutaGermanyAmy Elsner UNQUALIFIED
Mujtaba Z MarrierGermanyAnna Fali NEW
Juan W OldroydArgentinaIoni Bowcher PROPOSAL
Greenwood A WieserArgentinaAmy Elsner UNQUALIFIED
Isabel F MaletFranceAnna Fali RENEWAL
Mujtaba K BologniaItalyIoni Bowcher RENEWAL
Antonio Z DilliardUnited KingdomAnna Fali QUALIFIED
Claire Y FlosiCanadaElwin Sharvill UNQUALIFIED
Costa I WhobreyJapanStephen Shaw QUALIFIED
Antonio S FigeroaUnited KingdomXuxue Feng NEW
Munro S GlickJapanIvan Magalhaes QUALIFIED
Maria Z RutaCanadaIvan Magalhaes NEGOTIATION
Aruna W RutaJapanOnyama Limba QUALIFIED
Salvatore D IturbideGermanyIoni Bowcher NEGOTIATION
Darci W StensethFranceAnna Fali NEW
Kadeem Y GauchoFranceXuxue Feng UNQUALIFIED
Aditya L DoeJapanBernardo Dominic NEW
Mayumi J CampainItalyIoni Bowcher NEGOTIATION
Deepesh B DarakjyGermanyOnyama Limba NEGOTIATION
Darci W PerinArgentinaAsiya Javayant NEGOTIATION
Aditya Q AmigonJapanStephen Shaw 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>