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
Arvin F RutaCanadaIvan Magalhaes NEGOTIATION
Munro D NestleArgentinaBernardo Dominic PROPOSAL
Aditya C GauchoGermanyBernardo Dominic NEGOTIATION
Maria V FlosiItalyIoni Bowcher NEGOTIATION
Jeanfrancois F RoysterAustraliaAnna Fali QUALIFIED
Julie E RutaGermanyAnna Fali QUALIFIED
Mayumi D GauchoArgentinaAnna Fali NEW
Stacey E ButtBrazilOnyama Limba NEGOTIATION
David R PerinFranceAmy Elsner QUALIFIED
James K GauchoSpainAmy Elsner QUALIFIED
Rodrigues U ButtCanadaOnyama Limba QUALIFIED
Clifford M DarakjyArgentinaIvan Magalhaes QUALIFIED
Maisha G WieserFranceAmy Elsner NEW
Costa B RulapaughArgentinaElwin Sharvill UNQUALIFIED
Jones Q NestleJapanOnyama Limba NEW
Antonio B SlusarskiItalyStephen Shaw UNQUALIFIED
Kaitlin F NestleRussiaXuxue Feng PROPOSAL
Wickens K PerinRussiaOnyama Limba NEW
Darci Q ChuiArgentinaOnyama Limba NEGOTIATION
Aditya R MaletIndiaAnna Fali NEW
Ivar F GarufiIndiaOnyama Limba NEGOTIATION
Alejandro F MarrierRussiaElwin Sharvill PROPOSAL
Wickens S MacleadAustraliaAnna Fali PROPOSAL
David P RutaArgentinaOnyama Limba PROPOSAL
Maria W MaletArgentinaAsiya Javayant PROPOSAL
Smith L GarufiRussiaIvan Magalhaes NEW
Munro F PoquetteGermanyBernardo Dominic QUALIFIED
David I OldroydRussiaElwin Sharvill UNQUALIFIED
Darci Z SlusarskiSpainIoni Bowcher PROPOSAL
Cody X NestleFranceElwin Sharvill QUALIFIED
Aruna M OldroydGermanyElwin Sharvill NEW
Izzy I GlickJapanIoni Bowcher QUALIFIED
Costa F FerenczIndiaAmy Elsner NEGOTIATION
Maria M MaletItalyAmy Elsner QUALIFIED
Munro B SaylorsAustraliaOnyama Limba QUALIFIED
Alejandro G WieserRussiaOnyama Limba RENEWAL
Alejandro K FerenczCanadaXuxue Feng RENEWAL
Cody K InouyeUnited KingdomAsiya Javayant QUALIFIED
Tony M BowleyGermanyIvan Magalhaes UNQUALIFIED
Costa Y TollnerItalyAsiya Javayant PROPOSAL
Aruna L MarrierRussiaElwin Sharvill QUALIFIED
Salvatore L FerenczSpainOnyama Limba UNQUALIFIED
Johnson J DarakjyBrazilXuxue Feng RENEWAL
Nicolas C WieserRussiaIvan Magalhaes PROPOSAL
Salvatore W PerinGermanyXuxue Feng NEGOTIATION
Francesco O OldroydIndiaAmy Elsner UNQUALIFIED
Silvio E RutaFranceAmy Elsner QUALIFIED
Aditya U RulapaughJapanStephen Shaw QUALIFIED
Francesco U FollerJapanIvan Magalhaes NEW
Julie E ShinkoRussiaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Leja A GillianArgentinaBernardo Dominic PROPOSAL
Adams O DilliardRussiaAnna Fali QUALIFIED
Juan T MorascaAustraliaAmy Elsner PROPOSAL
Octavia R PoquetteAustraliaOnyama Limba RENEWAL
Aika L GarufiItalyElwin Sharvill NEGOTIATION
Ivar O IturbideCanadaAsiya Javayant NEGOTIATION
Izzy J VocelkaJapanIvan Magalhaes RENEWAL
Octavia W InouyeSpainAnna Fali QUALIFIED
Salvatore S NickaUnited KingdomAmy Elsner QUALIFIED
Morrow Z SlusarskiItalyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones M BowleyCanada2025-04-21Buckley Miller Wright UNQUALIFIED54Onyama Limba
1001Aruna W SergiIndia2025-04-11Benton, John B Jr NEW59Ivan Magalhaes
1002Salvatore N GillianFrance2025-04-22Rangoni Of Florence NEGOTIATION23Elwin Sharvill
1003Ricardo V OldroydSpain2025-04-10Rangoni Of Florence NEGOTIATION85Xuxue Feng
1004Aditya A SchemmerAustralia2025-04-16King, Christopher A Esq UNQUALIFIED51Elwin Sharvill
1005Ricardo V GillianAustralia2025-04-30Commercial Press UNQUALIFIED48Elwin Sharvill
1006Leon B FigeroaFrance2025-04-03Morlong Associates RENEWAL52Xuxue Feng
1007Alejandro D SlusarskiIndia2025-04-28Truhlar And Truhlar Attys NEW17Stephen Shaw
1008Leon Z SlusarskiCanada2025-04-07Morlong Associates QUALIFIED35Onyama Limba
1009James J SaylorsIndia2025-04-15Rangoni Of Florence NEW1Xuxue Feng
1010Maria E StockhamBrazil2025-04-09Chanay, Jeffrey A Esq RENEWAL14Onyama Limba
1011Jeanfrancois S CaudyIndia2025-04-22Chapman, Ross E Esq QUALIFIED92Stephen Shaw
1012Johnson Y CampainArgentina2025-04-15Dorl, James J Esq NEW65Asiya Javayant
1013James Z SlusarskiIndia2025-04-24Buckley Miller Wright PROPOSAL99Elwin Sharvill
1014Izzy E DoeFrance2025-04-20King, Christopher A Esq UNQUALIFIED6Asiya Javayant
1015David I RoysterSpain2025-04-29Rangoni Of Florence UNQUALIFIED99Elwin Sharvill
1016Morrow D BriddickItaly2025-04-24Chapman, Ross E Esq PROPOSAL75Bernardo Dominic
1017Greenwood Z CaldareraCanada2025-04-14Benton, John B Jr RENEWAL18Ivan Magalhaes
1018Ricardo Z ShinkoCanada2025-04-23Benton, John B Jr QUALIFIED38Onyama Limba
1019Ricardo X AlbaresGermany2025-04-29Benton, John B Jr PROPOSAL75Asiya Javayant
1020Leja U OstroskyJapan2025-04-03Buckley Miller Wright NEGOTIATION52Asiya Javayant
1021Salvatore A PaprockiSpain2025-04-29Rousseaux, Michael Esq UNQUALIFIED63Asiya Javayant
1022Alejandro V VenereArgentina2025-04-10Benton, John B Jr QUALIFIED17Elwin Sharvill
1023Mayumi Y FigeroaAustralia2025-04-20Chemel, James L Cpa UNQUALIFIED70Ioni Bowcher
1024Aditya Z ShinkoAustralia2025-05-01Rangoni Of Florence NEW88Onyama Limba
1025Silvio Q FlosiUnited Kingdom2025-05-01King, Christopher A Esq PROPOSAL47Ivan Magalhaes
1026Ashley J KolmetzArgentina2025-04-22Benton, John B Jr NEGOTIATION11Ioni Bowcher
1027Faith Y WieserBrazil2025-04-24Feltz Printing Service NEGOTIATION20Asiya Javayant
1028Julie Z OldroydItaly2025-04-24Printing Dimensions NEW18Asiya Javayant
1029Jennifer A RulapaughGermany2025-04-30King, Christopher A Esq NEW37Ioni Bowcher
1030Murillo G MorascaFrance2025-04-30Chapman, Ross E Esq UNQUALIFIED49Amy Elsner
1031Juan U SlusarskiArgentina2025-04-09King, Christopher A Esq NEGOTIATION49Ioni Bowcher
1032Tony H SchemmerJapan2025-04-03Dorl, James J Esq NEGOTIATION19Bernardo Dominic
1033Cody K FlosiCanada2025-04-29Rousseaux, Michael Esq NEGOTIATION6Xuxue Feng
1034Jefferson Q WhobreyRussia2025-04-22Rousseaux, Michael Esq NEGOTIATION28Ioni Bowcher
1035Munro Y AmigonUnited Kingdom2025-04-03Rangoni Of Florence NEW9Anna Fali
1036Nicolas D GauchoJapan2025-04-28Benton, John B Jr PROPOSAL80Ivan Magalhaes
1037Emily I FollerItaly2025-04-02Feltz Printing Service NEGOTIATION49Asiya Javayant
1038Aika S SchemmerGermany2025-04-10Commercial Press UNQUALIFIED30Xuxue Feng
1039Misaki P PoquetteArgentina2025-05-01Feiner Bros UNQUALIFIED84Ivan Magalhaes
1040Claire S PoquetteCanada2025-04-24Rangoni Of Florence QUALIFIED86Amy Elsner
1041Mayumi S VenereFrance2025-04-23Morlong Associates NEGOTIATION81Ioni Bowcher
1042Octavia S SlusarskiBrazil2025-05-01Morlong Associates NEW46Anna Fali
1043Chavez F RutaFrance2025-04-16Chapman, Ross E Esq PROPOSAL10Ioni Bowcher
1044Cody L StockhamJapan2025-04-28Feltz Printing Service UNQUALIFIED14Onyama Limba
1045Mujtaba A OldroydJapan2025-04-20Rousseaux, Michael Esq RENEWAL90Xuxue Feng
1046Jennifer Q SchemmerRussia2025-04-15King, Christopher A Esq NEGOTIATION49Onyama Limba
1047Rodrigues X StensethFrance2025-04-12Commercial Press QUALIFIED24Ioni Bowcher
1048Costa B ChuiBrazil2025-05-01King, Christopher A Esq PROPOSAL66Xuxue Feng
1049Sinclair J SergiGermany2025-04-08Printing Dimensions NEGOTIATION81Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Stacey P VenereAustraliaAnna Fali PROPOSAL
Aika A AmigonCanadaElwin Sharvill NEW
Adams Y NestleJapanOnyama Limba QUALIFIED
Jefferson Z FigeroaSpainOnyama Limba RENEWAL
Adams G PerinRussiaAsiya Javayant QUALIFIED
Leon K VocelkaAustraliaIvan Magalhaes QUALIFIED
Julie V CampainUnited KingdomAnna Fali QUALIFIED
Ivar P PoquetteFranceIvan Magalhaes NEGOTIATION
Antonio A SaylorsRussiaIvan Magalhaes RENEWAL
Silvio I SaylorsJapanOnyama Limba NEGOTIATION
Alejandro Z RoysterIndiaIvan Magalhaes NEW
Nicolas Q MaletFranceStephen Shaw PROPOSAL
Aditya R KolmetzFranceElwin Sharvill RENEWAL
Sinclair W VocelkaCanadaXuxue Feng NEGOTIATION
Sinclair F KuskoBrazilIoni Bowcher PROPOSAL
Murillo W FollerSpainXuxue Feng NEW
Chavez I BowleyIndiaIoni Bowcher RENEWAL
Francesco S OstroskyRussiaIvan Magalhaes PROPOSAL
Leon A WieserJapanOnyama Limba NEW
Jennifer I CampainGermanyIvan Magalhaes UNQUALIFIED
Costa D ChuiJapanOnyama Limba NEGOTIATION
Tony Y BriddickArgentinaXuxue Feng QUALIFIED
Adams D RimGermanyIoni Bowcher NEW
Izzy U ChuiCanadaIoni Bowcher UNQUALIFIED
Sinclair S FollerRussiaIoni Bowcher RENEWAL
Isabel B SergiRussiaIoni Bowcher PROPOSAL
Maisha S GarufiRussiaStephen Shaw UNQUALIFIED
Mujtaba P DarakjyArgentinaIoni Bowcher RENEWAL
Julie A KuskoArgentinaBernardo Dominic QUALIFIED
Smith V GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha U WhobreyGermanyElwin Sharvill RENEWAL
Salvatore Y StockhamAustraliaXuxue Feng UNQUALIFIED
Tony T OstroskyGermanyIoni Bowcher QUALIFIED
Jefferson S PaprockiGermanyStephen Shaw UNQUALIFIED
Jefferson P GlickRussiaIoni Bowcher PROPOSAL
Adams J BologniaAustraliaXuxue Feng NEW
Maisha B ChuiSpainStephen Shaw PROPOSAL
Mujtaba T DilliardAustraliaElwin Sharvill UNQUALIFIED
Kaitlin S BriddickRussiaElwin Sharvill QUALIFIED
Leja M DarakjyAustraliaAnna Fali QUALIFIED
Adams Y StockhamItalyIoni Bowcher UNQUALIFIED
Adams D GillianAustraliaStephen Shaw RENEWAL
Jefferson V MacleadFranceIvan Magalhaes QUALIFIED
Claire Z RulapaughItalyElwin Sharvill QUALIFIED
Stacey Q SlusarskiJapanOnyama Limba NEGOTIATION
Kaitlin D SergiCanadaStephen Shaw NEGOTIATION
Smith K InouyeArgentinaXuxue Feng PROPOSAL
Smith N MorascaBrazilIvan Magalhaes RENEWAL
Darci R GarufiFranceBernardo Dominic QUALIFIED
Maria Q MaletArgentinaAmy Elsner NEGOTIATION
Frozen Columns
Name
Cody C Rim
Costa E Tollner
Arvin S Briddick
Maria S Malet
Nicolas M Chui
Jeanfrancois S Campain
Jeanfrancois P Oldroyd
Greenwood P Ruta
Maisha H Briddick
Morrow J Morasca
Octavia E Campain
Aditya V Caldarera
Costa X Perin
Ashley H Gillian
Stacey O Darakjy
Darci I Marrier
Sinclair C Sergi
Kaitlin V Doe
Smith O Slusarski
Claire H Stenseth
Emily P Figeroa
Salvatore W Darakjy
Kadeem N Rulapaugh
Kadeem E Stockham
Murillo Q Marrier
Aruna C Sergi
Murillo R Doe
Misaki M Amigon
Clifford N Waycott
Chavez Z Bowley
Clifford C Slusarski
Alejandro S Malet
Julie B Figeroa
Leja Y Kusko
Tony O Schemmer
Alejandro R Ruta
Ricardo B Bowley
Emily W Paprocki
Johnson Z Malet
Juan R Oldroyd
Smith T Campain
Kadeem H Kusko
Murillo M Stockham
Mayumi O Gillian
Rodrigues M Oldroyd
Johnson E Kolmetz
Emily S Saylors
Costa X Morasca
Clifford S Vocelka
Jefferson S Flosi
IdCountryDate
1000France2025-04-26
1001Germany2025-04-03
1002Spain2025-04-23
1003Canada2025-04-29
1004Argentina2025-04-03
1005India2025-04-21
1006Japan2025-04-21
1007Argentina2025-04-15
1008Argentina2025-04-03
1009Germany2025-04-08
1010France2025-04-18
1011Canada2025-04-12
1012Canada2025-04-06
1013Spain2025-04-10
1014Japan2025-04-17
1015Italy2025-04-22
1016Brazil2025-04-06
1017India2025-04-21
1018Australia2025-04-05
1019Germany2025-04-30
1020Argentina2025-04-02
1021France2025-04-27
1022Germany2025-04-28
1023Argentina2025-04-08
1024Russia2025-04-30
1025Russia2025-04-05
1026Australia2025-04-02
1027United Kingdom2025-04-27
1028Japan2025-04-08
1029Spain2025-04-27
1030Brazil2025-04-06
1031France2025-04-19
1032Brazil2025-04-19
1033Argentina2025-04-08
1034India2025-04-03
1035Russia2025-04-21
1036Canada2025-04-13
1037Italy2025-05-01
1038Australia2025-04-27
1039Russia2025-04-13
1040Australia2025-04-07
1041Spain2025-04-14
1042India2025-04-02
1043Canada2025-04-24
1044Russia2025-04-04
1045Brazil2025-04-14
1046France2025-04-06
1047Spain2025-04-22
1048United Kingdom2025-04-14
1049India2025-04-23

On-Demand Data

NameIdCountryDate
Nicolas T Glick1000Australia2025-04-09
Jeanfrancois Q Foller1001Argentina2025-04-12
Octavia U Perin1002Russia2025-04-30
Mujtaba Y Vocelka1003United Kingdom2025-04-25
Aruna J Briddick1004Italy2025-04-04
Kaitlin T Oldroyd1005Argentina2025-04-15
Aika O Albares1006Argentina2025-04-17
Ashley D Doe1007Argentina2025-04-03
Chavez T Foller1008Brazil2025-04-23
Izzy C Iturbide1009Brazil2025-04-15
Julie W Malet1010Italy2025-04-13
Maria B Morasca1011Argentina2025-04-26
Kadeem B Stenseth1012Japan2025-04-28
Claire B Glick1013Russia2025-04-17
Francesco M Albares1014Spain2025-04-18
Alejandro F Oldroyd1015Japan2025-04-24
Costa O Rim1016Canada2025-04-15
Faith A Morasca1017Brazil2025-04-07
Arvin U Foller1018Germany2025-04-08
Sinclair S Butt1019France2025-04-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens S KolmetzGermanyElwin Sharvill QUALIFIED
Rodrigues I ButtItalyAsiya Javayant UNQUALIFIED
Sinclair A VenereUnited KingdomAnna Fali NEGOTIATION
Jones V MorascaUnited KingdomAnna Fali NEW
James W FigeroaArgentinaBernardo Dominic QUALIFIED
Isabel Q MaletGermanyIvan Magalhaes RENEWAL
Murillo A SchemmerCanadaOnyama Limba NEW
Octavia V AlbaresIndiaXuxue Feng PROPOSAL
Rodrigues C OldroydCanadaIvan Magalhaes PROPOSAL
James F PerinItalyOnyama Limba QUALIFIED
Adams N KuskoFranceOnyama Limba UNQUALIFIED
Murillo S GarufiAustraliaAmy Elsner RENEWAL
Silvio M NestleArgentinaIvan Magalhaes RENEWAL
Maisha V CampainGermanyIoni Bowcher UNQUALIFIED
Salvatore X KolmetzFranceOnyama Limba NEW
Chavez P RimUnited KingdomXuxue Feng PROPOSAL
Emily K MaletJapanAsiya Javayant QUALIFIED
Morrow B DoeCanadaStephen Shaw RENEWAL
Adams N BowleyCanadaIvan Magalhaes NEGOTIATION
Cody P PaprockiItalyIvan Magalhaes NEW
Greenwood B FollerUnited KingdomElwin Sharvill NEW
Adams S FerenczCanadaXuxue Feng NEW
Costa D PerinArgentinaStephen Shaw PROPOSAL
Morrow O SaylorsFranceAmy Elsner UNQUALIFIED
Arvin X GauchoRussiaOnyama Limba NEGOTIATION
David D DilliardFranceAmy Elsner PROPOSAL
Silvio Q BowleyRussiaElwin Sharvill NEGOTIATION
Jones E SaylorsIndiaIvan Magalhaes UNQUALIFIED
Murillo G DarakjyRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois S PaprockiUnited KingdomAsiya Javayant NEGOTIATION
Deepesh O WhobreyBrazilIoni Bowcher PROPOSAL
Leja F OldroydArgentinaStephen Shaw RENEWAL
Francesco A InouyeSpainElwin Sharvill NEW
Mujtaba A FollerIndiaOnyama Limba QUALIFIED
Mayumi Q FollerUnited KingdomIvan Magalhaes NEW
Jennifer M ShinkoFranceIvan Magalhaes NEW
Mayumi E StensethBrazilAnna Fali QUALIFIED
James Z GlickBrazilBernardo Dominic NEGOTIATION
Jefferson T VocelkaArgentinaXuxue Feng RENEWAL
Claire H GarufiSpainBernardo Dominic 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>