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
Julie R PerinBrazilAmy Elsner RENEWAL
Claire S RoysterSpainIoni Bowcher UNQUALIFIED
Silvio K StensethJapanOnyama Limba PROPOSAL
Smith W RoysterUnited KingdomAsiya Javayant QUALIFIED
Misaki V RimAustraliaIvan Magalhaes NEW
Darci P ButtSpainAmy Elsner UNQUALIFIED
Kadeem N OldroydGermanyOnyama Limba UNQUALIFIED
Alejandro C KuskoArgentinaStephen Shaw UNQUALIFIED
Clifford D AlbaresSpainStephen Shaw QUALIFIED
Clifford J CaudyJapanAnna Fali NEGOTIATION
Izzy B ButtSpainOnyama Limba NEW
Costa K OstroskyGermanyStephen Shaw UNQUALIFIED
James Q KuskoSpainBernardo Dominic NEW
Munro G SlusarskiAustraliaElwin Sharvill QUALIFIED
Aika P ChuiJapanBernardo Dominic PROPOSAL
Leon I GlickJapanBernardo Dominic PROPOSAL
Emily W TollnerGermanyXuxue Feng NEGOTIATION
Ricardo Z DilliardJapanXuxue Feng UNQUALIFIED
Stacey F AmigonJapanOnyama Limba PROPOSAL
Darci H DarakjyJapanOnyama Limba PROPOSAL
Kaitlin F DarakjyCanadaIvan Magalhaes NEW
Cody L KuskoRussiaStephen Shaw UNQUALIFIED
Smith H DoeItalyAsiya Javayant NEGOTIATION
Alejandro L ChuiCanadaStephen Shaw QUALIFIED
Tony V AmigonRussiaIvan Magalhaes PROPOSAL
Kaitlin X RoysterSpainAsiya Javayant PROPOSAL
Francesco P SaylorsItalyBernardo Dominic QUALIFIED
James W StensethJapanAmy Elsner NEGOTIATION
Salvatore W BologniaIndiaIoni Bowcher PROPOSAL
Jennifer H CaudyArgentinaIvan Magalhaes UNQUALIFIED
Juan O PaprockiGermanyAsiya Javayant QUALIFIED
Emily W CampainAustraliaXuxue Feng PROPOSAL
Jennifer Y BowleyJapanStephen Shaw NEGOTIATION
Octavia I CampainRussiaBernardo Dominic QUALIFIED
Munro R WieserItalyOnyama Limba NEW
Greenwood S TollnerUnited KingdomIvan Magalhaes QUALIFIED
Emily O InouyeAustraliaElwin Sharvill UNQUALIFIED
Smith I FerenczCanadaAnna Fali QUALIFIED
Kaitlin P CaudyAustraliaAsiya Javayant NEGOTIATION
Juan E GlickBrazilAnna Fali QUALIFIED
Greenwood A DarakjyIndiaStephen Shaw NEGOTIATION
Adams R MarrierItalyBernardo Dominic NEW
Leon F TollnerItalyStephen Shaw RENEWAL
Emily J ChuiJapanAsiya Javayant PROPOSAL
Leon F OldroydAustraliaOnyama Limba NEW
Morrow E AmigonGermanyAnna Fali RENEWAL
Juan C AmigonRussiaAnna Fali NEW
Jefferson G RoysterIndiaOnyama Limba RENEWAL
Smith C BologniaGermanyStephen Shaw NEGOTIATION
Claire O VocelkaArgentinaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Faith Z KolmetzItalyXuxue Feng UNQUALIFIED
Greenwood X StockhamBrazilElwin Sharvill UNQUALIFIED
David Z FollerAustraliaElwin Sharvill QUALIFIED
Mayumi Y CampainFranceIvan Magalhaes UNQUALIFIED
Morrow J GillianIndiaAnna Fali NEW
Leja Y CaldareraBrazilIoni Bowcher PROPOSAL
Alejandro W MaletCanadaElwin Sharvill PROPOSAL
James N StensethRussiaAmy Elsner QUALIFIED
Salvatore F DoeGermanyAnna Fali UNQUALIFIED
David L BologniaGermanyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya Q MorascaAustralia2024-06-24Truhlar And Truhlar Attys RENEWAL99Amy Elsner
1001Rodrigues G FollerUnited Kingdom2024-05-31King, Christopher A Esq NEW14Ioni Bowcher
1002Murillo P SergiJapan2024-06-20Rousseaux, Michael Esq PROPOSAL63Bernardo Dominic
1003Ivar Y WieserIndia2024-06-03Dorl, James J Esq NEGOTIATION18Xuxue Feng
1004Mujtaba A VenereFrance2024-06-17Feiner Bros PROPOSAL73Elwin Sharvill
1005Isabel Z BriddickAustralia2024-06-03Chemel, James L Cpa PROPOSAL67Amy Elsner
1006David A SlusarskiJapan2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED77Ivan Magalhaes
1007Aika K SergiBrazil2024-06-24Feiner Bros PROPOSAL37Ivan Magalhaes
1008Aruna G WhobreyCanada2024-06-23Benton, John B Jr PROPOSAL19Stephen Shaw
1009Sinclair P WieserRussia2024-06-23King, Christopher A Esq NEW16Bernardo Dominic
1010Leja B DilliardItaly2024-06-22Chanay, Jeffrey A Esq RENEWAL69Onyama Limba
1011Juan R VenereItaly2024-06-16Commercial Press UNQUALIFIED76Ioni Bowcher
1012Smith X BologniaAustralia2024-05-27Dorl, James J Esq QUALIFIED25Stephen Shaw
1013Izzy O NickaSpain2024-06-24Feltz Printing Service RENEWAL45Anna Fali
1014Smith X OstroskyAustralia2024-05-30Chemel, James L Cpa UNQUALIFIED30Amy Elsner
1015Darci A DarakjyArgentina2024-06-03Chemel, James L Cpa RENEWAL75Bernardo Dominic
1016Rodrigues V AlbaresGermany2024-05-31Chemel, James L Cpa QUALIFIED93Asiya Javayant
1017Faith I FigeroaItaly2024-05-31Feltz Printing Service PROPOSAL24Ivan Magalhaes
1018Jones D ButtCanada2024-05-28Dorl, James J Esq UNQUALIFIED99Elwin Sharvill
1019Emily W PerinJapan2024-06-24Benton, John B Jr NEW3Ioni Bowcher
1020Smith E MacleadArgentina2024-06-11Printing Dimensions NEW12Ioni Bowcher
1021Arvin G NickaUnited Kingdom2024-06-07Commercial Press NEW64Asiya Javayant
1022Deepesh I MacleadCanada2024-05-26Dorl, James J Esq RENEWAL43Ivan Magalhaes
1023Jennifer K OstroskyGermany2024-06-03Buckley Miller Wright RENEWAL28Anna Fali
1024Emily S WhobreyItaly2024-06-15Chemel, James L Cpa NEGOTIATION27Bernardo Dominic
1025Leon M GauchoArgentina2024-06-16Rousseaux, Michael Esq QUALIFIED15Asiya Javayant
1026Julie Y VocelkaItaly2024-06-16Truhlar And Truhlar Attys NEGOTIATION25Onyama Limba
1027Murillo T ChuiAustralia2024-06-08Feltz Printing Service RENEWAL49Ivan Magalhaes
1028Murillo X RoysterCanada2024-06-01Truhlar And Truhlar Attys RENEWAL71Onyama Limba
1029Wickens C BriddickJapan2024-06-07Chapman, Ross E Esq UNQUALIFIED55Elwin Sharvill
1030Deepesh H SchemmerJapan2024-06-01Morlong Associates QUALIFIED94Asiya Javayant
1031Alejandro L WhobreyArgentina2024-05-28Dorl, James J Esq RENEWAL50Onyama Limba
1032Darci O BriddickIndia2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED73Ioni Bowcher
1033Leja D RulapaughGermany2024-06-22King, Christopher A Esq NEW97Anna Fali
1034Ashley K RutaSpain2024-06-06Dorl, James J Esq NEGOTIATION50Stephen Shaw
1035Aditya N DarakjyIndia2024-05-27King, Christopher A Esq QUALIFIED93Asiya Javayant
1036Aruna W IturbideBrazil2024-06-19Truhlar And Truhlar Attys PROPOSAL12Ioni Bowcher
1037Jones R PerinUnited Kingdom2024-05-29Rousseaux, Michael Esq RENEWAL13Elwin Sharvill
1038Mayumi Q StensethBrazil2024-05-28Commercial Press UNQUALIFIED9Onyama Limba
1039Kaitlin R FigeroaJapan2024-06-22Feiner Bros PROPOSAL82Bernardo Dominic
1040Chavez K FollerIndia2024-06-12Feltz Printing Service RENEWAL66Stephen Shaw
1041Kaitlin P StockhamCanada2024-06-20King, Christopher A Esq RENEWAL49Stephen Shaw
1042Jefferson Y ShinkoItaly2024-05-29Dorl, James J Esq QUALIFIED39Anna Fali
1043Kaitlin Y RulapaughArgentina2024-06-02Benton, John B Jr PROPOSAL41Anna Fali
1044Salvatore Q SergiUnited Kingdom2024-06-16Rangoni Of Florence UNQUALIFIED95Xuxue Feng
1045Francesco N AmigonFrance2024-06-17Chanay, Jeffrey A Esq QUALIFIED40Ioni Bowcher
1046Jennifer O VenereArgentina2024-05-30Morlong Associates NEGOTIATION55Asiya Javayant
1047Arvin V NestleJapan2024-06-11Chapman, Ross E Esq RENEWAL96Elwin Sharvill
1048Aruna E DarakjyBrazil2024-06-17Feiner Bros UNQUALIFIED87Asiya Javayant
1049Salvatore L DilliardFrance2024-06-13Chanay, Jeffrey A Esq QUALIFIED77Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Faith A CaldareraGermanyAnna Fali NEGOTIATION
Ashley O OldroydArgentinaAnna Fali NEW
Claire K SaylorsIndiaBernardo Dominic UNQUALIFIED
Jennifer E ChuiAustraliaBernardo Dominic PROPOSAL
Jefferson P RulapaughBrazilElwin Sharvill NEW
Rodrigues R WhobreyGermanyIvan Magalhaes NEGOTIATION
Morrow U PoquetteBrazilBernardo Dominic QUALIFIED
Jeanfrancois I CaudySpainXuxue Feng UNQUALIFIED
Greenwood X ChuiIndiaXuxue Feng NEW
Ashley H FigeroaItalyIvan Magalhaes PROPOSAL
Deepesh X GlickBrazilStephen Shaw NEGOTIATION
Wickens X WieserRussiaAmy Elsner NEW
Stacey P FigeroaAustraliaBernardo Dominic UNQUALIFIED
Arvin X PaprockiArgentinaAnna Fali QUALIFIED
Octavia M RutaJapanIoni Bowcher PROPOSAL
Misaki H MaletIndiaIoni Bowcher UNQUALIFIED
Nicolas S WhobreyRussiaOnyama Limba NEGOTIATION
Tony X GauchoUnited KingdomAnna Fali NEW
Julie Z RimUnited KingdomElwin Sharvill QUALIFIED
Aika E BologniaJapanIoni Bowcher NEGOTIATION
Wickens D PaprockiBrazilStephen Shaw RENEWAL
Rodrigues X VenereRussiaAnna Fali UNQUALIFIED
Cody G MorascaRussiaAsiya Javayant UNQUALIFIED
Francesco O KolmetzJapanStephen Shaw UNQUALIFIED
Murillo L IturbideFranceIvan Magalhaes NEGOTIATION
Aruna B MarrierCanadaIvan Magalhaes NEW
Octavia Y BowleyUnited KingdomXuxue Feng PROPOSAL
Juan Q InouyeAustraliaAnna Fali PROPOSAL
Nicolas B ShinkoBrazilAsiya Javayant NEGOTIATION
Stacey L SergiUnited KingdomXuxue Feng NEGOTIATION
Silvio L CaudySpainIoni Bowcher NEGOTIATION
Wickens Y SchemmerSpainIvan Magalhaes PROPOSAL
Wickens L PoquetteAustraliaXuxue Feng UNQUALIFIED
Rodrigues S GlickJapanElwin Sharvill NEW
Claire U MaletSpainAmy Elsner NEW
James V CaldareraAustraliaXuxue Feng RENEWAL
Isabel U PaprockiRussiaIoni Bowcher NEW
Kaitlin P NestleCanadaXuxue Feng RENEWAL
Izzy N IturbideCanadaBernardo Dominic UNQUALIFIED
Francesco V DilliardBrazilXuxue Feng PROPOSAL
Ashley L SergiFranceAsiya Javayant NEW
Octavia F AmigonCanadaXuxue Feng UNQUALIFIED
Salvatore W RimItalyAmy Elsner NEGOTIATION
Adams W RulapaughCanadaIoni Bowcher RENEWAL
Jones K RimGermanyIvan Magalhaes UNQUALIFIED
Nicolas E GlickItalyOnyama Limba RENEWAL
Maisha B NickaItalyIoni Bowcher NEGOTIATION
Kaitlin Q WhobreyArgentinaOnyama Limba RENEWAL
Isabel H FlosiSpainIoni Bowcher NEGOTIATION
Faith Q ButtBrazilXuxue Feng NEW
Frozen Columns
Name
Leon W Ostrosky
Jefferson E Slusarski
Silvio S Amigon
Jeanfrancois S Paprocki
Murillo S Chui
Juan H Butt
Francesco P Stockham
Salvatore C Whobrey
David X Gaucho
Ricardo V Dilliard
Juan H Bowley
Jennifer X Sergi
Ashley J Dilliard
Jones E Ruta
Ivar B Venere
Maisha F Oldroyd
Kaitlin N Rulapaugh
Maisha J Albares
Sinclair B Albares
Greenwood R Stockham
James Q Garufi
Darci A Ferencz
Aditya R Nicka
Maria M Royster
Alejandro W Albares
Mayumi U Tollner
Adams G Nicka
Rodrigues I Marrier
Kadeem D Royster
Mujtaba O Bolognia
Mujtaba H Kusko
Jones E Amigon
Juan X Flosi
Aika F Figeroa
Morrow W Iturbide
Deepesh V Sergi
Antonio I Malet
Nicolas Q Perin
Munro M Stockham
Jeanfrancois E Dilliard
Ivar M Paprocki
Ricardo A Ferencz
Jefferson Q Tollner
Deepesh I Darakjy
Maisha Y Poquette
Aditya U Saylors
Jefferson B Waycott
Darci T Doe
Jones G Dilliard
Mujtaba K Rim
IdCountryDate
1000India2024-06-07
1001Italy2024-06-12
1002France2024-05-31
1003Spain2024-05-28
1004India2024-06-04
1005Russia2024-06-08
1006United Kingdom2024-06-17
1007Russia2024-06-11
1008Spain2024-06-17
1009Russia2024-06-19
1010Japan2024-06-02
1011Canada2024-06-05
1012Canada2024-06-23
1013Japan2024-06-23
1014Canada2024-06-06
1015United Kingdom2024-06-19
1016Australia2024-05-30
1017Australia2024-06-07
1018Australia2024-05-29
1019Brazil2024-06-07
1020Canada2024-06-17
1021France2024-06-15
1022Argentina2024-06-01
1023Germany2024-06-14
1024Italy2024-06-08
1025Argentina2024-06-16
1026France2024-06-18
1027Brazil2024-06-22
1028Australia2024-06-03
1029India2024-06-05
1030United Kingdom2024-06-09
1031Germany2024-06-23
1032Canada2024-06-05
1033Brazil2024-06-23
1034Spain2024-06-01
1035Germany2024-06-17
1036Russia2024-06-15
1037United Kingdom2024-06-04
1038Australia2024-05-29
1039Germany2024-06-11
1040France2024-05-28
1041India2024-06-24
1042Argentina2024-06-22
1043Canada2024-05-30
1044Germany2024-06-24
1045Brazil2024-06-12
1046Italy2024-06-14
1047Canada2024-06-07
1048United Kingdom2024-06-08
1049Spain2024-06-15

On-Demand Data

NameIdCountryDate
Arvin Q Iturbide1000Australia2024-05-31
Mujtaba B Caldarera1001Canada2024-06-22
Julie P Butt1002Italy2024-06-14
Alejandro V Vocelka1003Argentina2024-05-27
Jefferson G Butt1004Australia2024-05-26
Cody N Whobrey1005Argentina2024-06-20
Smith U Morasca1006Italy2024-05-29
Tony R Malet1007United Kingdom2024-06-16
Leja H Vocelka1008United Kingdom2024-05-30
Kaitlin L Kolmetz1009Japan2024-06-24
Kaitlin M Rim1010United Kingdom2024-06-13
Rodrigues B Morasca1011Japan2024-05-30
Mayumi N Oldroyd1012France2024-06-23
Kaitlin K Glick1013India2024-06-22
Silvio X Royster1014Australia2024-06-11
Leja P Oldroyd1015Brazil2024-06-03
Clifford O Oldroyd1016France2024-06-11
Leon X Albares1017Russia2024-06-18
Greenwood A Venere1018India2024-06-01
Juan O Royster1019Spain2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo B ButtArgentinaStephen Shaw NEGOTIATION
Misaki P KuskoGermanyOnyama Limba NEW
Faith U CaudyFranceAsiya Javayant QUALIFIED
Julie X AlbaresUnited KingdomIoni Bowcher NEGOTIATION
Juan Y RulapaughBrazilIvan Magalhaes NEGOTIATION
Juan V GarufiArgentinaBernardo Dominic NEGOTIATION
Smith I NickaSpainOnyama Limba UNQUALIFIED
Morrow G ShinkoBrazilIoni Bowcher UNQUALIFIED
Silvio B CaldareraFranceStephen Shaw NEW
Aditya Y MaletArgentinaIvan Magalhaes NEW
Claire C AmigonBrazilAsiya Javayant QUALIFIED
Julie L WieserFranceBernardo Dominic NEGOTIATION
Claire M FollerRussiaIvan Magalhaes RENEWAL
Sinclair N ButtUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues V FlosiUnited KingdomIoni Bowcher RENEWAL
Maisha C KuskoBrazilAnna Fali NEGOTIATION
Ashley D RimFranceAmy Elsner NEGOTIATION
Aruna B BowleySpainBernardo Dominic NEGOTIATION
Darci Y PaprockiArgentinaAmy Elsner PROPOSAL
Francesco Y ShinkoArgentinaAmy Elsner RENEWAL
Jefferson X SaylorsUnited KingdomOnyama Limba NEW
Costa A WieserFranceAmy Elsner NEGOTIATION
Maisha X WaycottItalyIvan Magalhaes NEW
Claire C GarufiFranceElwin Sharvill UNQUALIFIED
Julie R RimSpainIvan Magalhaes QUALIFIED
Claire G VocelkaAustraliaOnyama Limba UNQUALIFIED
Wickens L RulapaughSpainElwin Sharvill NEW
Clifford K VocelkaGermanyOnyama Limba NEW
Adams X VocelkaItalyAsiya Javayant RENEWAL
Clifford W DarakjyIndiaIoni Bowcher NEW
Adams K OstroskyRussiaAmy Elsner RENEWAL
Leon V WaycottRussiaXuxue Feng NEW
Maria Z InouyeBrazilIvan Magalhaes RENEWAL
Darci I FigeroaJapanAsiya Javayant NEGOTIATION
Kadeem V AlbaresUnited KingdomXuxue Feng PROPOSAL
Tony N MacleadAustraliaOnyama Limba UNQUALIFIED
Misaki F RutaFranceAmy Elsner UNQUALIFIED
Ashley Q AlbaresArgentinaXuxue Feng NEGOTIATION
Claire A DilliardJapanIvan Magalhaes NEW
Emily I SchemmerItalyBernardo Dominic 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>