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
Maria R NickaJapanOnyama Limba NEW
Leja L MorascaUnited KingdomAmy Elsner NEGOTIATION
Kadeem M StockhamRussiaAmy Elsner RENEWAL
Morrow R RulapaughGermanyOnyama Limba RENEWAL
Julie X GauchoFranceAsiya Javayant NEW
Leon D StockhamRussiaAsiya Javayant UNQUALIFIED
Juan W MarrierRussiaIoni Bowcher UNQUALIFIED
Izzy U AmigonIndiaStephen Shaw RENEWAL
Deepesh V CampainSpainAsiya Javayant NEW
Julie D PaprockiCanadaStephen Shaw UNQUALIFIED
Izzy R RoysterRussiaOnyama Limba QUALIFIED
Ricardo J PaprockiBrazilBernardo Dominic NEGOTIATION
Chavez S WhobreyFranceElwin Sharvill NEW
Morrow T GillianGermanyOnyama Limba NEW
Jennifer T RoysterSpainStephen Shaw NEGOTIATION
Stacey F OstroskyAustraliaElwin Sharvill NEGOTIATION
Nicolas F FollerSpainOnyama Limba QUALIFIED
Jennifer U FigeroaSpainIoni Bowcher NEGOTIATION
Smith E GauchoItalyIoni Bowcher RENEWAL
Nicolas S StockhamBrazilOnyama Limba RENEWAL
Jennifer B AlbaresJapanOnyama Limba PROPOSAL
Leja W FigeroaCanadaIoni Bowcher RENEWAL
Kaitlin C GlickRussiaElwin Sharvill PROPOSAL
Deepesh A WhobreyCanadaAmy Elsner PROPOSAL
Adams S VocelkaArgentinaAmy Elsner UNQUALIFIED
Claire Y WaycottSpainAsiya Javayant PROPOSAL
Jeanfrancois U PaprockiJapanOnyama Limba UNQUALIFIED
Chavez I MaletIndiaAsiya Javayant PROPOSAL
Leja C BowleyGermanyAmy Elsner UNQUALIFIED
Cody H OldroydSpainAnna Fali NEGOTIATION
Isabel Q VenereGermanyBernardo Dominic NEGOTIATION
Silvio Q SergiSpainXuxue Feng QUALIFIED
Izzy U FerenczJapanBernardo Dominic QUALIFIED
Octavia I SergiSpainAnna Fali NEW
Tony L VocelkaArgentinaAmy Elsner QUALIFIED
Alejandro K IturbideIndiaElwin Sharvill QUALIFIED
Ivar L NestleItalyXuxue Feng UNQUALIFIED
David Z SaylorsFranceBernardo Dominic RENEWAL
Antonio M PerinIndiaStephen Shaw NEGOTIATION
Greenwood J DarakjySpainAsiya Javayant NEGOTIATION
Clifford D BowleyBrazilAnna Fali RENEWAL
Arvin F DarakjyAustraliaAmy Elsner QUALIFIED
Smith K KuskoIndiaBernardo Dominic NEGOTIATION
Ivar M PoquetteUnited KingdomAnna Fali PROPOSAL
Jefferson O DoeBrazilBernardo Dominic NEW
Chavez Y SchemmerUnited KingdomAnna Fali QUALIFIED
Kaitlin U MacleadFranceAnna Fali PROPOSAL
Jones R FigeroaSpainIoni Bowcher UNQUALIFIED
Mayumi X OstroskySpainIoni Bowcher PROPOSAL
Chavez A DarakjySpainStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer N CaudyJapanIoni Bowcher PROPOSAL
Leja X CaudyBrazilIvan Magalhaes NEW
Greenwood Y MaletIndiaIvan Magalhaes NEW
Ricardo O BowleyFranceAmy Elsner RENEWAL
Adams C ChuiIndiaElwin Sharvill NEW
Morrow K WhobreyGermanyBernardo Dominic NEW
Alejandro X RimArgentinaAsiya Javayant NEGOTIATION
Clifford E NickaAustraliaAmy Elsner NEGOTIATION
Maisha A RutaAustraliaElwin Sharvill QUALIFIED
Salvatore Y BologniaItalyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley V TollnerIndia2025-04-26King, Christopher A Esq UNQUALIFIED9Anna Fali
1001Juan E WieserSpain2025-04-01Buckley Miller Wright RENEWAL56Xuxue Feng
1002Emily B InouyeItaly2025-04-24Truhlar And Truhlar Attys QUALIFIED27Bernardo Dominic
1003Alejandro T DarakjyItaly2025-04-22Rousseaux, Michael Esq UNQUALIFIED8Elwin Sharvill
1004Cody E ShinkoSpain2025-04-19Benton, John B Jr QUALIFIED52Anna Fali
1005Stacey Q BriddickItaly2025-04-10Feltz Printing Service NEW67Xuxue Feng
1006Maisha R KuskoArgentina2025-04-12Dorl, James J Esq UNQUALIFIED61Bernardo Dominic
1007Arvin K FerenczRussia2025-04-29Buckley Miller Wright PROPOSAL1Ioni Bowcher
1008Mayumi S SaylorsIndia2025-04-02Benton, John B Jr QUALIFIED68Asiya Javayant
1009Sinclair M MacleadIndia2025-04-05Printing Dimensions PROPOSAL25Ivan Magalhaes
1010Ivar D RulapaughItaly2025-04-26Morlong Associates PROPOSAL80Ioni Bowcher
1011Maisha Q GillianRussia2025-04-23Benton, John B Jr PROPOSAL20Stephen Shaw
1012Deepesh I RimBrazil2025-04-08Truhlar And Truhlar Attys QUALIFIED89Ivan Magalhaes
1013Octavia R PaprockiIndia2025-04-07Feiner Bros RENEWAL14Amy Elsner
1014Maria H CampainCanada2025-04-04King, Christopher A Esq NEW66Elwin Sharvill
1015Alejandro Y SaylorsCanada2025-04-10Printing Dimensions RENEWAL26Onyama Limba
1016Silvio B SchemmerIndia2025-04-22Commercial Press NEGOTIATION62Amy Elsner
1017Antonio H CampainArgentina2025-04-11Buckley Miller Wright PROPOSAL86Bernardo Dominic
1018Maisha U InouyeGermany2025-04-16Benton, John B Jr RENEWAL22Stephen Shaw
1019Ricardo T FollerSpain2025-04-22Feiner Bros PROPOSAL59Ivan Magalhaes
1020Maisha I ButtFrance2025-04-21Feiner Bros RENEWAL74Stephen Shaw
1021Kaitlin J RimIndia2025-04-06Rangoni Of Florence UNQUALIFIED47Onyama Limba
1022Chavez Q DilliardBrazil2025-04-30Chapman, Ross E Esq PROPOSAL76Stephen Shaw
1023Deepesh H FerenczCanada2025-04-13Benton, John B Jr NEW49Asiya Javayant
1024Mayumi R MorascaFrance2025-04-12Feiner Bros RENEWAL24Stephen Shaw
1025Aditya G WhobreyUnited Kingdom2025-04-14King, Christopher A Esq UNQUALIFIED56Amy Elsner
1026Antonio O CaudyCanada2025-04-20King, Christopher A Esq RENEWAL46Xuxue Feng
1027Nicolas W GauchoUnited Kingdom2025-04-13Dorl, James J Esq NEGOTIATION68Elwin Sharvill
1028Aditya Z MorascaArgentina2025-04-23Benton, John B Jr RENEWAL64Asiya Javayant
1029Jefferson N RimCanada2025-04-13Chemel, James L Cpa PROPOSAL52Asiya Javayant
1030Johnson H NickaItaly2025-04-01Buckley Miller Wright PROPOSAL83Ioni Bowcher
1031Jennifer M AlbaresBrazil2025-04-03Commercial Press QUALIFIED52Anna Fali
1032Emily A VocelkaArgentina2025-04-08Commercial Press QUALIFIED42Onyama Limba
1033Julie Q GauchoArgentina2025-04-22Chanay, Jeffrey A Esq RENEWAL18Asiya Javayant
1034Adams S GlickCanada2025-04-08Dorl, James J Esq PROPOSAL70Amy Elsner
1035Mayumi T GarufiUnited Kingdom2025-04-12Printing Dimensions QUALIFIED29Onyama Limba
1036Johnson N OstroskyBrazil2025-04-03Rousseaux, Michael Esq UNQUALIFIED0Anna Fali
1037Murillo N SlusarskiJapan2025-04-29Rousseaux, Michael Esq UNQUALIFIED2Bernardo Dominic
1038Smith B RimBrazil2025-04-04Feiner Bros NEGOTIATION27Asiya Javayant
1039Claire K SergiArgentina2025-04-12Rousseaux, Michael Esq PROPOSAL4Onyama Limba
1040Johnson T RoysterFrance2025-04-03Rangoni Of Florence NEW21Stephen Shaw
1041Maisha Q FollerUnited Kingdom2025-04-29Buckley Miller Wright NEGOTIATION93Bernardo Dominic
1042Smith T ChuiArgentina2025-04-28Printing Dimensions QUALIFIED20Stephen Shaw
1043Jennifer P MarrierItaly2025-04-06Feiner Bros NEGOTIATION68Anna Fali
1044Adams U BriddickBrazil2025-04-06Printing Dimensions PROPOSAL64Stephen Shaw
1045Ivar Z KuskoRussia2025-04-20Feltz Printing Service UNQUALIFIED47Ivan Magalhaes
1046Arvin D BowleyUnited Kingdom2025-04-25Dorl, James J Esq NEW76Stephen Shaw
1047Johnson E FollerBrazil2025-04-16Printing Dimensions UNQUALIFIED42Ivan Magalhaes
1048Aruna H RutaJapan2025-04-11Morlong Associates UNQUALIFIED1Stephen Shaw
1049Ricardo F BowleySpain2025-04-09King, Christopher A Esq NEW42Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ivar I RoysterCanadaElwin Sharvill RENEWAL
Emily Z SlusarskiSpainOnyama Limba NEGOTIATION
Chavez Z MorascaItalyOnyama Limba QUALIFIED
Ivar B KuskoRussiaIoni Bowcher UNQUALIFIED
Francesco J MaletBrazilAsiya Javayant RENEWAL
Maisha Q FerenczItalyBernardo Dominic RENEWAL
Leon W VenereSpainStephen Shaw NEW
Sinclair J ButtBrazilXuxue Feng NEGOTIATION
Claire E DilliardRussiaStephen Shaw QUALIFIED
Mayumi S BowleyBrazilAsiya Javayant RENEWAL
Adams O GillianJapanOnyama Limba UNQUALIFIED
Misaki M OstroskyRussiaBernardo Dominic NEGOTIATION
Kadeem C VenereItalyAnna Fali RENEWAL
Aditya Q CaudyAustraliaAsiya Javayant QUALIFIED
Mayumi B WaycottBrazilAsiya Javayant QUALIFIED
Jones O WhobreyArgentinaAsiya Javayant PROPOSAL
Munro T ButtBrazilIvan Magalhaes NEGOTIATION
Johnson O SergiBrazilBernardo Dominic UNQUALIFIED
Munro I OldroydCanadaAnna Fali PROPOSAL
Leja Z BologniaAustraliaXuxue Feng PROPOSAL
Salvatore X SlusarskiArgentinaIoni Bowcher QUALIFIED
Emily B BowleyIndiaOnyama Limba NEGOTIATION
Cody V FerenczCanadaAsiya Javayant PROPOSAL
Johnson B FollerSpainBernardo Dominic NEW
Johnson Z StensethUnited KingdomStephen Shaw PROPOSAL
Maria E VocelkaUnited KingdomOnyama Limba NEW
Deepesh H TollnerSpainAmy Elsner NEW
Clifford Y RimArgentinaElwin Sharvill RENEWAL
Mujtaba G OstroskyItalyOnyama Limba QUALIFIED
Sinclair Q PoquetteAustraliaBernardo Dominic RENEWAL
Darci N RoysterFranceAsiya Javayant RENEWAL
Octavia O RutaGermanyBernardo Dominic RENEWAL
Deepesh R GillianBrazilAnna Fali QUALIFIED
Johnson C SlusarskiItalyIvan Magalhaes UNQUALIFIED
Leja W BologniaItalyAnna Fali NEGOTIATION
Emily T IturbideCanadaBernardo Dominic RENEWAL
Jennifer J VocelkaItalyOnyama Limba PROPOSAL
Jeanfrancois F InouyeItalyAmy Elsner QUALIFIED
Morrow S SchemmerCanadaAsiya Javayant PROPOSAL
Deepesh R MaletItalyAnna Fali QUALIFIED
Jennifer D FlosiArgentinaXuxue Feng NEW
Emily U CaudyItalyIvan Magalhaes RENEWAL
David A SlusarskiCanadaOnyama Limba QUALIFIED
Costa E GillianCanadaStephen Shaw NEW
Nicolas I WhobreyJapanElwin Sharvill NEGOTIATION
Maria D FlosiGermanyAnna Fali NEW
Stacey U NestleItalyXuxue Feng PROPOSAL
Francesco Q MaletSpainAsiya Javayant UNQUALIFIED
Clifford J RutaRussiaAmy Elsner QUALIFIED
Misaki Z RoysterFranceAsiya Javayant QUALIFIED
Frozen Columns
Name
Julie P Figeroa
Jeanfrancois H Schemmer
Stacey A Waycott
Silvio F Wieser
Salvatore I Marrier
Stacey T Foller
David N Iturbide
Tony K Paprocki
Tony Z Tollner
Ivar Q Wieser
Jeanfrancois S Rulapaugh
Munro R Maclead
Arvin Z Bowley
Leon O Iturbide
Juan Q Venere
Julie J Doe
Kadeem V Perin
Adams R Saylors
Jennifer Y Stenseth
Juan K Nestle
Octavia N Gaucho
Tony I Bowley
Mayumi B Albares
Clifford T Glick
Maria D Garufi
Misaki N Ferencz
Arvin R Whobrey
Rodrigues H Flosi
Stacey T Caldarera
Leja J Darakjy
Faith B Flosi
Tony A Darakjy
Silvio L Vocelka
Smith A Stenseth
Nicolas C Morasca
David G Rulapaugh
Salvatore N Nicka
Aruna U Stockham
Claire H Poquette
Kaitlin P Campain
Leja Q Caudy
Julie J Amigon
Aika Q Nestle
Munro X Oldroyd
Rodrigues L Ostrosky
Wickens L Schemmer
Ricardo K Doe
Morrow Z Flosi
Tony C Bowley
Clifford K Foller
IdCountryDate
1000Italy2025-04-06
1001India2025-04-07
1002Italy2025-04-24
1003United Kingdom2025-04-17
1004Canada2025-04-14
1005United Kingdom2025-04-09
1006Japan2025-04-03
1007France2025-04-03
1008Brazil2025-04-24
1009Russia2025-04-15
1010India2025-04-26
1011Australia2025-04-03
1012Russia2025-04-13
1013Argentina2025-04-10
1014Canada2025-04-25
1015Italy2025-04-10
1016Russia2025-04-30
1017Canada2025-04-12
1018Spain2025-04-20
1019India2025-04-10
1020United Kingdom2025-04-10
1021Japan2025-04-01
1022Japan2025-04-13
1023Argentina2025-04-23
1024Australia2025-04-30
1025Germany2025-04-14
1026Russia2025-04-23
1027United Kingdom2025-04-21
1028Russia2025-04-23
1029France2025-04-17
1030Argentina2025-04-12
1031Russia2025-04-14
1032United Kingdom2025-04-28
1033Brazil2025-04-27
1034India2025-04-01
1035United Kingdom2025-04-21
1036United Kingdom2025-04-24
1037United Kingdom2025-04-09
1038Germany2025-04-13
1039Germany2025-04-18
1040France2025-04-02
1041Germany2025-04-18
1042Argentina2025-04-27
1043United Kingdom2025-04-01
1044Brazil2025-04-02
1045Spain2025-04-12
1046Italy2025-04-06
1047Japan2025-04-10
1048Argentina2025-04-27
1049France2025-04-23

On-Demand Data

NameIdCountryDate
Silvio A Caudy1000India2025-04-29
Cody S Oldroyd1001Brazil2025-04-14
Antonio K Glick1002Argentina2025-04-08
Rodrigues F Bowley1003Argentina2025-04-02
Mayumi Y Ferencz1004Brazil2025-04-14
Mayumi V Wieser1005Russia2025-04-17
Maria J Dilliard1006India2025-04-17
Stacey N Rulapaugh1007Spain2025-04-25
Aika J Wieser1008India2025-04-11
Kaitlin U Iturbide1009Spain2025-04-02
Cody Z Ostrosky1010Germany2025-04-11
Faith Z Bowley1011Argentina2025-04-07
Jefferson I Gillian1012Japan2025-04-30
Leon K Briddick1013Brazil2025-04-11
Clifford Z Sergi1014Argentina2025-04-10
Salvatore V Albares1015Italy2025-04-27
Mayumi N Marrier1016Brazil2025-04-10
Jeanfrancois U Iturbide1017United Kingdom2025-04-11
Deepesh F Slusarski1018Russia2025-04-06
Silvio X Ferencz1019Spain2025-04-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair S GarufiGermanyIvan Magalhaes UNQUALIFIED
Chavez W CaudyBrazilStephen Shaw UNQUALIFIED
Munro B OldroydBrazilIvan Magalhaes NEGOTIATION
Claire I NickaFranceAnna Fali NEW
Darci C GauchoFranceElwin Sharvill NEGOTIATION
Stacey J NestleArgentinaAmy Elsner UNQUALIFIED
Nicolas K IturbideArgentinaElwin Sharvill NEGOTIATION
Wickens N MaletRussiaIvan Magalhaes QUALIFIED
Arvin E SchemmerItalyElwin Sharvill UNQUALIFIED
Ricardo R PoquetteUnited KingdomAsiya Javayant UNQUALIFIED
Francesco Z SlusarskiCanadaAmy Elsner UNQUALIFIED
Arvin G StensethGermanyIvan Magalhaes NEW
Isabel N FollerIndiaElwin Sharvill PROPOSAL
Clifford Q SchemmerBrazilBernardo Dominic NEW
Murillo G FerenczGermanyIvan Magalhaes NEW
Ivar G RimIndiaBernardo Dominic NEGOTIATION
Leja Y PoquetteIndiaXuxue Feng PROPOSAL
Alejandro A NickaSpainAsiya Javayant QUALIFIED
Misaki W DilliardFranceElwin Sharvill NEW
Claire N TollnerBrazilAsiya Javayant NEW
Francesco G GillianItalyBernardo Dominic UNQUALIFIED
Johnson U BriddickFranceStephen Shaw QUALIFIED
Leja O RulapaughUnited KingdomAsiya Javayant PROPOSAL
Maria S ShinkoBrazilAmy Elsner UNQUALIFIED
Misaki C MacleadAustraliaOnyama Limba NEW
Greenwood S RoysterCanadaAsiya Javayant UNQUALIFIED
Adams L RutaCanadaIvan Magalhaes PROPOSAL
Costa C CaldareraAustraliaIoni Bowcher NEW
Cody D RutaItalyBernardo Dominic NEW
Antonio E GauchoJapanAsiya Javayant NEGOTIATION
Greenwood X MacleadRussiaAsiya Javayant RENEWAL
Mujtaba J ButtFranceXuxue Feng NEGOTIATION
Chavez M BologniaFranceBernardo Dominic PROPOSAL
Julie G RutaBrazilBernardo Dominic NEW
Nicolas Y RutaUnited KingdomOnyama Limba NEW
David X RulapaughBrazilStephen Shaw UNQUALIFIED
Claire P BriddickBrazilIvan Magalhaes QUALIFIED
James W MorascaIndiaIoni Bowcher RENEWAL
Salvatore A SchemmerFranceElwin Sharvill UNQUALIFIED
Emily E NickaArgentinaIoni Bowcher NEW

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