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
Nicolas S SlusarskiSpainIvan Magalhaes UNQUALIFIED
Wickens J TollnerFranceAnna Fali UNQUALIFIED
Aruna G PerinFranceStephen Shaw UNQUALIFIED
Deepesh K VenereJapanAnna Fali NEW
Sinclair T RutaItalyAsiya Javayant NEGOTIATION
Nicolas H PaprockiArgentinaXuxue Feng NEW
Emily I RutaSpainStephen Shaw PROPOSAL
Mayumi Q GarufiCanadaAsiya Javayant NEW
Izzy Z TollnerFranceAnna Fali PROPOSAL
Antonio F GillianBrazilOnyama Limba PROPOSAL
David H InouyeCanadaAmy Elsner UNQUALIFIED
Arvin P RoysterArgentinaIoni Bowcher QUALIFIED
Juan G BriddickSpainXuxue Feng NEW
Emily M ButtIndiaXuxue Feng NEGOTIATION
Murillo L FerenczAustraliaIvan Magalhaes NEGOTIATION
Wickens T GauchoArgentinaBernardo Dominic NEGOTIATION
Mayumi T ChuiArgentinaElwin Sharvill UNQUALIFIED
Kaitlin C MaletRussiaIvan Magalhaes NEGOTIATION
Claire T DilliardFranceOnyama Limba NEGOTIATION
Mayumi J FerenczArgentinaAnna Fali PROPOSAL
Julie O ButtJapanAsiya Javayant RENEWAL
Clifford N KolmetzAustraliaXuxue Feng UNQUALIFIED
Arvin Q SchemmerSpainAnna Fali NEGOTIATION
Morrow P ShinkoBrazilXuxue Feng QUALIFIED
Claire A PoquetteFranceAnna Fali QUALIFIED
Greenwood E DilliardSpainAsiya Javayant RENEWAL
Emily R PerinGermanyIoni Bowcher NEW
Rodrigues K ButtGermanyStephen Shaw NEGOTIATION
Johnson O KuskoRussiaElwin Sharvill NEGOTIATION
Aika Y WaycottCanadaAnna Fali NEW
Izzy L ButtUnited KingdomIoni Bowcher UNQUALIFIED
Leon G PerinRussiaIvan Magalhaes NEW
Arvin D ShinkoFranceAnna Fali NEGOTIATION
Alejandro E MaletIndiaIvan Magalhaes QUALIFIED
Kaitlin A IturbideArgentinaOnyama Limba QUALIFIED
Adams R RimArgentinaIoni Bowcher NEW
Jeanfrancois M PoquetteJapanIvan Magalhaes RENEWAL
Claire Q StensethRussiaIoni Bowcher PROPOSAL
Mayumi P WhobreyGermanyXuxue Feng RENEWAL
Izzy B GauchoCanadaOnyama Limba UNQUALIFIED
Maria P ShinkoUnited KingdomOnyama Limba NEGOTIATION
Costa M KuskoCanadaStephen Shaw UNQUALIFIED
Cody C CampainItalyAsiya Javayant NEW
Smith D FlosiCanadaElwin Sharvill UNQUALIFIED
Morrow E TollnerBrazilIvan Magalhaes NEW
Arvin X ShinkoArgentinaElwin Sharvill RENEWAL
Greenwood K FlosiCanadaOnyama Limba UNQUALIFIED
Clifford M OstroskyRussiaAnna Fali PROPOSAL
Smith S AmigonIndiaAmy Elsner UNQUALIFIED
Aika V MacleadAustraliaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Faith L FollerSpainIvan Magalhaes QUALIFIED
Smith V SergiSpainAsiya Javayant RENEWAL
Johnson O GauchoBrazilAmy Elsner PROPOSAL
Ricardo B CaudyUnited KingdomAmy Elsner QUALIFIED
Wickens C VocelkaRussiaAsiya Javayant NEGOTIATION
Antonio G MarrierBrazilElwin Sharvill UNQUALIFIED
Ashley U DilliardCanadaAnna Fali NEGOTIATION
Silvio X RulapaughBrazilAsiya Javayant NEGOTIATION
Jennifer Q OstroskyAustraliaAsiya Javayant UNQUALIFIED
Smith M FerenczRussiaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa F PaprockiAustralia2024-06-08King, Christopher A Esq NEGOTIATION35Ivan Magalhaes
1001Jefferson J KolmetzCanada2024-06-08Dorl, James J Esq RENEWAL72Amy Elsner
1002Aika T SchemmerGermany2024-05-23Dorl, James J Esq NEW54Bernardo Dominic
1003Alejandro I GlickFrance2024-06-15Printing Dimensions NEW32Ivan Magalhaes
1004Leon R FigeroaJapan2024-06-07Dorl, James J Esq RENEWAL45Onyama Limba
1005Sinclair H BriddickRussia2024-05-21Rousseaux, Michael Esq RENEWAL9Onyama Limba
1006Leja H PoquetteCanada2024-06-01Chapman, Ross E Esq RENEWAL64Amy Elsner
1007Kaitlin O OstroskyBrazil2024-05-29Rangoni Of Florence RENEWAL1Ivan Magalhaes
1008Munro Q IturbideBrazil2024-06-02Rangoni Of Florence NEGOTIATION23Bernardo Dominic
1009Salvatore H RimFrance2024-06-03Chemel, James L Cpa NEW73Anna Fali
1010Greenwood P GillianItaly2024-06-04Buckley Miller Wright UNQUALIFIED19Ivan Magalhaes
1011Rodrigues Q MaletCanada2024-06-17Feltz Printing Service QUALIFIED84Elwin Sharvill
1012Claire X InouyeAustralia2024-05-27King, Christopher A Esq PROPOSAL46Ioni Bowcher
1013Costa E PaprockiRussia2024-05-26Truhlar And Truhlar Attys PROPOSAL52Stephen Shaw
1014Cody J SergiIndia2024-06-04Printing Dimensions NEGOTIATION35Ioni Bowcher
1015Leon Y OldroydFrance2024-06-09Rangoni Of Florence RENEWAL91Ioni Bowcher
1016Mayumi Y DoeFrance2024-06-05Dorl, James J Esq NEGOTIATION48Xuxue Feng
1017Greenwood R RoysterBrazil2024-06-14Printing Dimensions NEW16Ioni Bowcher
1018Kaitlin V InouyeArgentina2024-06-12Feiner Bros NEW32Stephen Shaw
1019Octavia I CampainIndia2024-05-28Rousseaux, Michael Esq UNQUALIFIED78Ioni Bowcher
1020James J NestleGermany2024-05-26Printing Dimensions NEW46Asiya Javayant
1021Leja C ButtAustralia2024-05-21Rousseaux, Michael Esq UNQUALIFIED57Amy Elsner
1022Mujtaba T OldroydBrazil2024-06-16Truhlar And Truhlar Attys PROPOSAL22Anna Fali
1023Murillo D AlbaresGermany2024-06-04Chanay, Jeffrey A Esq NEW49Anna Fali
1024Costa M ShinkoGermany2024-06-17Feltz Printing Service PROPOSAL65Ivan Magalhaes
1025Jones A WhobreyJapan2024-06-07Feiner Bros NEGOTIATION35Bernardo Dominic
1026Maria Q FigeroaItaly2024-06-16Printing Dimensions RENEWAL4Amy Elsner
1027Julie S StockhamIndia2024-05-31Commercial Press RENEWAL51Amy Elsner
1028Francesco U TollnerItaly2024-05-27Morlong Associates NEGOTIATION62Bernardo Dominic
1029Murillo V KolmetzSpain2024-06-01Chemel, James L Cpa QUALIFIED40Amy Elsner
1030Francesco N BowleyBrazil2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED82Bernardo Dominic
1031Maria R KuskoJapan2024-06-16Morlong Associates PROPOSAL80Amy Elsner
1032Silvio U BologniaRussia2024-06-04Commercial Press NEGOTIATION20Onyama Limba
1033Isabel H SaylorsJapan2024-05-29Buckley Miller Wright UNQUALIFIED1Onyama Limba
1034Julie P WaycottBrazil2024-06-15Dorl, James J Esq NEGOTIATION19Xuxue Feng
1035Clifford V IturbideAustralia2024-06-15Feltz Printing Service NEGOTIATION87Anna Fali
1036Mayumi S PerinBrazil2024-06-01Dorl, James J Esq NEW38Ivan Magalhaes
1037Juan Z RutaItaly2024-06-01Commercial Press QUALIFIED79Ioni Bowcher
1038Aika T SlusarskiArgentina2024-06-09Truhlar And Truhlar Attys PROPOSAL82Asiya Javayant
1039Deepesh U DilliardCanada2024-06-10Printing Dimensions UNQUALIFIED36Bernardo Dominic
1040Morrow X MacleadIndia2024-06-16Buckley Miller Wright NEW95Anna Fali
1041Tony Y CampainArgentina2024-06-08Chemel, James L Cpa PROPOSAL36Ivan Magalhaes
1042Murillo L OldroydFrance2024-05-27Feltz Printing Service UNQUALIFIED24Onyama Limba
1043Mayumi H RoysterRussia2024-06-15Rousseaux, Michael Esq UNQUALIFIED29Elwin Sharvill
1044Wickens U MorascaCanada2024-06-16King, Christopher A Esq NEGOTIATION39Ivan Magalhaes
1045Isabel M AmigonAustralia2024-06-01Chanay, Jeffrey A Esq NEW94Anna Fali
1046Juan S KolmetzFrance2024-05-24Feltz Printing Service QUALIFIED14Anna Fali
1047Juan U TollnerCanada2024-06-06Benton, John B Jr PROPOSAL19Onyama Limba
1048Isabel I StockhamGermany2024-06-17Feiner Bros RENEWAL79Onyama Limba
1049Murillo E BriddickRussia2024-06-03Printing Dimensions NEW26Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James P TollnerBrazilElwin Sharvill NEGOTIATION
Silvio C RulapaughCanadaXuxue Feng PROPOSAL
Francesco R StensethIndiaStephen Shaw NEGOTIATION
Clifford L FollerUnited KingdomBernardo Dominic PROPOSAL
Francesco R MaletFranceOnyama Limba RENEWAL
Adams X CaldareraSpainAsiya Javayant PROPOSAL
Claire F RimIndiaBernardo Dominic PROPOSAL
Emily Z VocelkaGermanyXuxue Feng NEGOTIATION
Murillo J IturbideArgentinaIoni Bowcher NEGOTIATION
Aditya H OldroydFranceIoni Bowcher RENEWAL
Alejandro O MarrierBrazilXuxue Feng UNQUALIFIED
Kaitlin S ChuiIndiaElwin Sharvill PROPOSAL
Morrow I KolmetzAustraliaAsiya Javayant QUALIFIED
Francesco C SaylorsAustraliaElwin Sharvill PROPOSAL
Adams E ShinkoJapanAnna Fali UNQUALIFIED
Deepesh Z PerinJapanIvan Magalhaes QUALIFIED
Mayumi B KolmetzUnited KingdomStephen Shaw QUALIFIED
Cody N CaudyCanadaAmy Elsner QUALIFIED
Aika V SchemmerGermanyStephen Shaw PROPOSAL
Ricardo C ButtSpainXuxue Feng RENEWAL
Sinclair R RulapaughUnited KingdomXuxue Feng NEW
Nicolas B RulapaughUnited KingdomElwin Sharvill PROPOSAL
Aditya R BowleyAustraliaAnna Fali PROPOSAL
Smith F KuskoGermanyXuxue Feng NEGOTIATION
Morrow V KolmetzArgentinaAsiya Javayant RENEWAL
Chavez J GlickArgentinaAmy Elsner UNQUALIFIED
Morrow P GlickUnited KingdomOnyama Limba PROPOSAL
Emily H FlosiArgentinaAnna Fali UNQUALIFIED
Jones C InouyeUnited KingdomAnna Fali NEGOTIATION
Emily N RulapaughIndiaStephen Shaw NEGOTIATION
Tony V TollnerGermanyAnna Fali NEGOTIATION
Arvin J SergiRussiaBernardo Dominic UNQUALIFIED
Juan O KolmetzRussiaElwin Sharvill QUALIFIED
Chavez J PoquetteIndiaBernardo Dominic PROPOSAL
Jefferson A RulapaughGermanyStephen Shaw QUALIFIED
Faith D KolmetzUnited KingdomAmy Elsner NEW
Stacey I VenereUnited KingdomOnyama Limba RENEWAL
Nicolas K SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Deepesh V VenereGermanyOnyama Limba NEW
Mujtaba N AlbaresSpainAsiya Javayant NEW
James J StensethGermanyOnyama Limba NEGOTIATION
Morrow E ShinkoBrazilAmy Elsner PROPOSAL
Maria S FigeroaItalyBernardo Dominic UNQUALIFIED
Chavez X WaycottCanadaBernardo Dominic PROPOSAL
Jefferson B CampainCanadaOnyama Limba PROPOSAL
Chavez G IturbideBrazilIvan Magalhaes QUALIFIED
Aika E FigeroaSpainIvan Magalhaes PROPOSAL
James K NickaSpainAmy Elsner NEGOTIATION
Aditya U RoysterItalyIoni Bowcher UNQUALIFIED
Ashley N AlbaresGermanyAmy Elsner NEW
Frozen Columns
Name
Wickens Z Wieser
Chavez W Butt
Isabel S Nestle
Aditya S Morasca
Faith S Schemmer
Nicolas Z Perin
Isabel K Figeroa
James N Amigon
David H Paprocki
Adams I Royster
Costa J Glick
Murillo G Doe
Ivar H Stenseth
Claire S Whobrey
Octavia E Rim
Silvio M Waycott
Stacey R Butt
Wickens F Glick
Faith L Ostrosky
Salvatore S Flosi
Leon U Schemmer
Ashley Q Vocelka
Leja V Marrier
Juan T Oldroyd
Juan I Stenseth
Salvatore D Nicka
Greenwood L Stenseth
Emily R Schemmer
Aika O Briddick
Morrow W Butt
Jones I Marrier
Maria W Campain
Stacey E Caldarera
Salvatore H Doe
Jennifer B Flosi
Wickens M Poquette
Jeanfrancois U Kusko
Claire W Schemmer
Arvin C Bolognia
Greenwood E Tollner
Stacey R Briddick
Jeanfrancois X Ostrosky
Ivar B Stockham
Munro N Briddick
Izzy J Albares
Jones W Caldarera
Nicolas A Malet
Maisha S Ferencz
Julie S Campain
Tony F Glick
IdCountryDate
1000Brazil2024-06-01
1001Spain2024-06-12
1002Germany2024-06-05
1003France2024-06-18
1004Italy2024-06-11
1005Germany2024-05-22
1006Brazil2024-05-20
1007Spain2024-06-06
1008India2024-06-12
1009Australia2024-06-10
1010Canada2024-05-20
1011Brazil2024-06-02
1012France2024-06-15
1013Brazil2024-06-13
1014Japan2024-06-14
1015United Kingdom2024-06-11
1016Italy2024-06-09
1017United Kingdom2024-06-12
1018Russia2024-06-06
1019France2024-06-07
1020India2024-05-20
1021Japan2024-05-30
1022Argentina2024-06-05
1023India2024-05-24
1024Germany2024-06-12
1025United Kingdom2024-06-17
1026United Kingdom2024-06-12
1027Italy2024-05-25
1028Spain2024-05-27
1029Brazil2024-05-30
1030Canada2024-06-17
1031Japan2024-06-17
1032India2024-05-24
1033Argentina2024-06-09
1034France2024-05-24
1035United Kingdom2024-06-08
1036Italy2024-06-09
1037Canada2024-06-02
1038Canada2024-06-18
1039France2024-06-04
1040Japan2024-06-18
1041Italy2024-06-16
1042Russia2024-06-07
1043United Kingdom2024-05-22
1044United Kingdom2024-05-29
1045Australia2024-06-17
1046Spain2024-06-08
1047Spain2024-06-02
1048Australia2024-06-04
1049France2024-06-12

On-Demand Data

NameIdCountryDate
Rodrigues B Royster1000Italy2024-05-23
Jones H Figeroa1001Japan2024-06-08
Ricardo T Foller1002Canada2024-05-26
David F Darakjy1003India2024-06-08
Antonio E Royster1004Russia2024-06-18
Octavia R Slusarski1005Italy2024-06-09
Juan I Morasca1006Italy2024-06-07
Salvatore B Kolmetz1007Canada2024-05-29
Arvin H Flosi1008Italy2024-06-14
Claire P Whobrey1009France2024-06-09
Johnson E Sergi1010Spain2024-06-18
Ricardo S Amigon1011United Kingdom2024-06-12
Chavez S Venere1012France2024-05-24
Faith W Chui1013United Kingdom2024-05-29
Kaitlin W Wieser1014Canada2024-06-14
Arvin X Amigon1015Brazil2024-05-24
David F Wieser1016Russia2024-06-08
Jefferson G Rim1017Spain2024-06-07
Ivar N Rim1018Australia2024-05-23
Tony J Marrier1019United Kingdom2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan F MaletItalyAmy Elsner PROPOSAL
Juan G WaycottCanadaElwin Sharvill PROPOSAL
Ricardo S GlickFranceOnyama Limba NEGOTIATION
Deepesh U BowleyItalyXuxue Feng NEGOTIATION
Murillo X RimSpainIvan Magalhaes RENEWAL
Mujtaba J SergiFranceBernardo Dominic QUALIFIED
Claire G FerenczCanadaAmy Elsner QUALIFIED
Deepesh R CampainBrazilIoni Bowcher UNQUALIFIED
Sinclair Z GarufiGermanyElwin Sharvill NEGOTIATION
Kadeem M RutaIndiaOnyama Limba QUALIFIED
Johnson X RutaSpainIvan Magalhaes PROPOSAL
Sinclair Y FlosiGermanyElwin Sharvill PROPOSAL
Murillo P WieserAustraliaIvan Magalhaes NEW
Kaitlin W WieserIndiaAsiya Javayant NEGOTIATION
Stacey Q GarufiJapanIoni Bowcher NEW
Ricardo E BologniaGermanyBernardo Dominic NEGOTIATION
Ivar C BriddickSpainOnyama Limba QUALIFIED
Morrow R RimItalyXuxue Feng NEGOTIATION
Silvio K WhobreyUnited KingdomAsiya Javayant NEGOTIATION
Jefferson T SaylorsCanadaXuxue Feng RENEWAL
Morrow H AlbaresItalyXuxue Feng QUALIFIED
Sinclair C SergiFranceOnyama Limba NEW
Wickens K SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Alejandro X WhobreyRussiaBernardo Dominic PROPOSAL
Greenwood G PoquetteRussiaAmy Elsner NEW
Francesco J GarufiSpainXuxue Feng QUALIFIED
Antonio B DarakjyArgentinaXuxue Feng QUALIFIED
Emily L InouyeFranceAnna Fali NEGOTIATION
Tony A DarakjyItalyAmy Elsner QUALIFIED
Wickens J StockhamCanadaXuxue Feng PROPOSAL
Adams O FerenczSpainAmy Elsner NEGOTIATION
Juan S VenereIndiaStephen Shaw PROPOSAL
Claire Q MaletGermanyXuxue Feng NEGOTIATION
Mujtaba X GillianBrazilAsiya Javayant UNQUALIFIED
Cody C GillianFranceAsiya Javayant NEGOTIATION
Silvio V MarrierIndiaAnna Fali QUALIFIED
Salvatore V PerinAustraliaAsiya Javayant PROPOSAL
Antonio S StensethFranceIvan Magalhaes PROPOSAL
Mayumi H GarufiCanadaOnyama Limba UNQUALIFIED
Claire H BologniaItalyAmy Elsner UNQUALIFIED

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