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
Deepesh H DoeArgentinaAsiya Javayant NEGOTIATION
Rodrigues F VocelkaSpainBernardo Dominic UNQUALIFIED
Jeanfrancois L RulapaughBrazilAnna Fali NEGOTIATION
Aditya D SergiJapanStephen Shaw NEGOTIATION
Octavia H SlusarskiBrazilIoni Bowcher NEGOTIATION
Jefferson V WaycottUnited KingdomOnyama Limba QUALIFIED
Alejandro O OstroskyBrazilOnyama Limba QUALIFIED
Tony U GauchoAustraliaBernardo Dominic QUALIFIED
Claire K MaletSpainAsiya Javayant UNQUALIFIED
Aika O WieserAustraliaAsiya Javayant PROPOSAL
Izzy L DarakjyGermanyOnyama Limba UNQUALIFIED
Ivar Z PoquetteAustraliaIoni Bowcher QUALIFIED
Nicolas B GauchoSpainElwin Sharvill PROPOSAL
Alejandro S FollerCanadaXuxue Feng UNQUALIFIED
Kaitlin A NickaUnited KingdomStephen Shaw PROPOSAL
James E AmigonRussiaOnyama Limba PROPOSAL
Munro Y CampainItalyAsiya Javayant QUALIFIED
Silvio N BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair Y RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Darci A VenereBrazilIoni Bowcher PROPOSAL
Mujtaba B BriddickRussiaAnna Fali RENEWAL
Morrow I NestleSpainXuxue Feng PROPOSAL
Greenwood A FlosiRussiaElwin Sharvill RENEWAL
Rodrigues P KuskoSpainAnna Fali RENEWAL
Emily D CaudyJapanAsiya Javayant QUALIFIED
Morrow R NickaItalyStephen Shaw PROPOSAL
Costa U WhobreyCanadaAmy Elsner PROPOSAL
David W GauchoArgentinaIoni Bowcher PROPOSAL
Deepesh K KuskoGermanyElwin Sharvill NEW
Wickens H RulapaughAustraliaOnyama Limba QUALIFIED
Jennifer L BriddickRussiaAmy Elsner QUALIFIED
Emily P DilliardIndiaIoni Bowcher NEGOTIATION
Mayumi F ShinkoUnited KingdomIoni Bowcher QUALIFIED
Silvio Z AlbaresItalyIoni Bowcher PROPOSAL
Jones N GarufiGermanyAmy Elsner NEGOTIATION
Silvio H SlusarskiBrazilOnyama Limba UNQUALIFIED
Juan W GauchoUnited KingdomAsiya Javayant NEGOTIATION
Octavia D BriddickAustraliaOnyama Limba NEGOTIATION
Alejandro A DilliardRussiaOnyama Limba NEGOTIATION
Ricardo C MacleadItalyOnyama Limba RENEWAL
Johnson J PoquetteRussiaBernardo Dominic RENEWAL
Mujtaba R CaldareraCanadaStephen Shaw QUALIFIED
Nicolas V ChuiRussiaElwin Sharvill QUALIFIED
Clifford K BologniaSpainXuxue Feng PROPOSAL
David B KolmetzAustraliaOnyama Limba RENEWAL
Octavia I MaletAustraliaAmy Elsner QUALIFIED
Cody D RimCanadaBernardo Dominic QUALIFIED
Clifford M ButtGermanyAmy Elsner NEGOTIATION
Francesco W ShinkoItalyStephen Shaw RENEWAL
Ashley J BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore H BologniaSpainBernardo Dominic UNQUALIFIED
Alejandro Z OldroydAustraliaIvan Magalhaes PROPOSAL
Wickens G SaylorsBrazilStephen Shaw RENEWAL
Greenwood W CaudyUnited KingdomStephen Shaw NEGOTIATION
Aika Y FollerSpainIoni Bowcher PROPOSAL
Maisha U OldroydSpainAmy Elsner QUALIFIED
Adams F CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Emily A OstroskyJapanIoni Bowcher UNQUALIFIED
Kaitlin P AlbaresCanadaAmy Elsner PROPOSAL
Juan P MorascaRussiaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa Y OstroskySpain2024-06-15Commercial Press NEW60Amy Elsner
1001Octavia K AlbaresIndia2024-05-22Feiner Bros UNQUALIFIED89Ioni Bowcher
1002Stacey Z PerinIndia2024-06-08Morlong Associates UNQUALIFIED1Ivan Magalhaes
1003Alejandro O MaletRussia2024-06-18Buckley Miller Wright PROPOSAL1Asiya Javayant
1004Emily A DarakjyAustralia2024-06-10Feiner Bros NEW40Xuxue Feng
1005Darci V WieserBrazil2024-06-03Truhlar And Truhlar Attys PROPOSAL21Ioni Bowcher
1006Salvatore J MaletGermany2024-05-26Morlong Associates NEGOTIATION61Bernardo Dominic
1007Costa A WhobreyUnited Kingdom2024-06-13Rousseaux, Michael Esq NEW44Bernardo Dominic
1008Julie I DoeRussia2024-06-01Dorl, James J Esq RENEWAL30Xuxue Feng
1009Cody R BriddickBrazil2024-06-18Rousseaux, Michael Esq PROPOSAL5Ivan Magalhaes
1010Octavia D OstroskyBrazil2024-05-21Commercial Press RENEWAL80Amy Elsner
1011Leja L FlosiJapan2024-06-17Chapman, Ross E Esq PROPOSAL27Xuxue Feng
1012Kaitlin K MacleadBrazil2024-05-21Chemel, James L Cpa RENEWAL95Stephen Shaw
1013Stacey U MaletUnited Kingdom2024-06-01King, Christopher A Esq NEW35Ioni Bowcher
1014David M WieserGermany2024-06-12King, Christopher A Esq NEW73Amy Elsner
1015Mayumi L SchemmerAustralia2024-05-22Chapman, Ross E Esq NEW11Ioni Bowcher
1016Jones V SergiFrance2024-06-11Chanay, Jeffrey A Esq NEGOTIATION25Elwin Sharvill
1017Aruna C RimFrance2024-05-23Feltz Printing Service RENEWAL87Onyama Limba
1018Clifford P PerinAustralia2024-06-07Dorl, James J Esq PROPOSAL89Amy Elsner
1019Jones X BriddickFrance2024-05-30Chapman, Ross E Esq RENEWAL66Bernardo Dominic
1020Wickens X NickaAustralia2024-06-18Chemel, James L Cpa QUALIFIED99Ioni Bowcher
1021Mayumi P AlbaresItaly2024-06-01Feltz Printing Service NEW19Xuxue Feng
1022Aika S FollerItaly2024-06-10Rousseaux, Michael Esq UNQUALIFIED0Onyama Limba
1023Smith A VenereAustralia2024-05-27Benton, John B Jr RENEWAL69Bernardo Dominic
1024James O RimCanada2024-06-04Benton, John B Jr UNQUALIFIED77Stephen Shaw
1025Ricardo D NestleRussia2024-06-01Buckley Miller Wright QUALIFIED34Elwin Sharvill
1026Munro T OstroskyArgentina2024-05-23Chapman, Ross E Esq UNQUALIFIED17Xuxue Feng
1027Leja M BologniaBrazil2024-06-17Buckley Miller Wright QUALIFIED64Anna Fali
1028Salvatore K IturbideSpain2024-06-16Dorl, James J Esq NEW47Bernardo Dominic
1029Morrow J MacleadItaly2024-06-02Chapman, Ross E Esq QUALIFIED86Asiya Javayant
1030Leja B InouyeJapan2024-05-31Feiner Bros NEGOTIATION55Bernardo Dominic
1031Greenwood U StensethItaly2024-06-04Rousseaux, Michael Esq UNQUALIFIED98Bernardo Dominic
1032Izzy W SaylorsRussia2024-06-06Printing Dimensions PROPOSAL91Asiya Javayant
1033Izzy L FerenczSpain2024-06-09Benton, John B Jr RENEWAL76Ivan Magalhaes
1034Cody H CaudyCanada2024-06-10Chanay, Jeffrey A Esq RENEWAL55Ioni Bowcher
1035Emily J WhobreyItaly2024-06-08Chapman, Ross E Esq QUALIFIED47Ivan Magalhaes
1036Darci C CaudyJapan2024-06-14Morlong Associates QUALIFIED61Bernardo Dominic
1037Jefferson L OstroskyGermany2024-06-04Benton, John B Jr QUALIFIED77Elwin Sharvill
1038Izzy V PoquetteCanada2024-05-27Commercial Press QUALIFIED3Onyama Limba
1039Faith R DoeCanada2024-06-06Dorl, James J Esq NEW36Stephen Shaw
1040Claire Q FerenczBrazil2024-06-14King, Christopher A Esq NEW9Asiya Javayant
1041Maisha C VocelkaItaly2024-06-10Dorl, James J Esq NEGOTIATION5Stephen Shaw
1042Sinclair B ButtBrazil2024-05-26Commercial Press UNQUALIFIED57Onyama Limba
1043Ashley P WhobreySpain2024-06-01Buckley Miller Wright NEGOTIATION82Ivan Magalhaes
1044Darci R OldroydRussia2024-05-29Truhlar And Truhlar Attys NEW14Xuxue Feng
1045Clifford H WhobreyJapan2024-06-04Rangoni Of Florence UNQUALIFIED97Bernardo Dominic
1046Mayumi N OldroydCanada2024-05-26King, Christopher A Esq NEGOTIATION96Amy Elsner
1047Francesco I ShinkoBrazil2024-05-20Rousseaux, Michael Esq QUALIFIED97Ivan Magalhaes
1048Silvio D SergiRussia2024-06-17Feltz Printing Service RENEWAL9Asiya Javayant
1049Juan X RutaSpain2024-05-31Chemel, James L Cpa NEW23Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Johnson K RoysterRussiaElwin Sharvill NEW
Johnson H WaycottUnited KingdomXuxue Feng PROPOSAL
Claire U OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Jones T OstroskyArgentinaIvan Magalhaes QUALIFIED
Sinclair P CampainIndiaXuxue Feng QUALIFIED
Tony X ChuiSpainIoni Bowcher NEGOTIATION
Salvatore N KuskoSpainAsiya Javayant QUALIFIED
Greenwood C ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Francesco Z SergiAustraliaAnna Fali NEW
Antonio R RutaIndiaXuxue Feng NEW
Munro J VenereFranceAnna Fali NEW
Leja O GauchoAustraliaAmy Elsner UNQUALIFIED
James H GlickBrazilAmy Elsner QUALIFIED
Greenwood R StensethJapanXuxue Feng QUALIFIED
Jeanfrancois J VenereAustraliaIvan Magalhaes NEW
Alejandro R PerinCanadaBernardo Dominic NEW
Nicolas D DilliardGermanyXuxue Feng UNQUALIFIED
Cody R NestleFranceAnna Fali UNQUALIFIED
Mujtaba D GlickGermanyIoni Bowcher RENEWAL
Aika K ShinkoSpainXuxue Feng QUALIFIED
Sinclair X WieserIndiaOnyama Limba UNQUALIFIED
Francesco Q BriddickGermanyIvan Magalhaes RENEWAL
Misaki T FerenczUnited KingdomAmy Elsner PROPOSAL
Cody H VocelkaUnited KingdomIoni Bowcher QUALIFIED
Jennifer Q RimAustraliaBernardo Dominic PROPOSAL
Leon J PaprockiFranceOnyama Limba RENEWAL
Aruna G VenereAustraliaIoni Bowcher UNQUALIFIED
Ivar U SlusarskiItalyIoni Bowcher NEGOTIATION
Izzy F GarufiGermanyOnyama Limba PROPOSAL
Cody O MarrierArgentinaBernardo Dominic UNQUALIFIED
Kadeem J StockhamArgentinaElwin Sharvill NEW
Rodrigues Z BowleyRussiaIoni Bowcher RENEWAL
James N CaudyCanadaOnyama Limba NEW
Aika F WieserArgentinaAsiya Javayant RENEWAL
Johnson I StockhamIndiaXuxue Feng NEW
Sinclair B SchemmerGermanyBernardo Dominic RENEWAL
Emily O KolmetzSpainAnna Fali NEW
Juan T FigeroaSpainIoni Bowcher NEW
Emily V PaprockiAustraliaOnyama Limba NEGOTIATION
Izzy U VenereItalyAsiya Javayant QUALIFIED
Jeanfrancois N GauchoJapanElwin Sharvill QUALIFIED
Rodrigues Y FollerBrazilOnyama Limba QUALIFIED
Clifford E SchemmerFranceBernardo Dominic QUALIFIED
Darci O StensethFranceOnyama Limba NEGOTIATION
Ashley F MaletRussiaIoni Bowcher UNQUALIFIED
Chavez A FollerSpainAnna Fali NEGOTIATION
Jeanfrancois X BologniaCanadaAmy Elsner PROPOSAL
Silvio I ChuiGermanyStephen Shaw QUALIFIED
Deepesh L MaletAustraliaIoni Bowcher PROPOSAL
Ivar M DoeGermanyXuxue Feng NEGOTIATION
Frozen Columns
Name
Aika S Ferencz
Isabel J Saylors
Mayumi V Ruta
Deepesh J Foller
Aika B Albares
Smith Q Malet
Ivar U Chui
Murillo E Royster
Chavez F Slusarski
Ivar G Poquette
Mayumi W Stockham
Alejandro G Rim
Izzy A Foller
Jeanfrancois W Royster
Ricardo V Bowley
Julie H Vocelka
Mayumi T Schemmer
Francesco G Marrier
David E Sergi
David Q Gillian
Kaitlin Z Vocelka
Arvin S Marrier
Clifford N Maclead
Arvin M Bolognia
Faith B Whobrey
Nicolas P Morasca
Clifford S Bolognia
Nicolas R Venere
Sinclair A Whobrey
Tony S Briddick
Smith B Kusko
Adams K Iturbide
Ivar D Paprocki
James K Gaucho
Kaitlin P Rim
Rodrigues J Doe
Leon T Foller
Cody Q Butt
Clifford R Marrier
Alejandro R Butt
Adams U Flosi
Juan U Saylors
Ricardo N Gillian
Murillo P Figeroa
Juan C Caldarera
Chavez P Campain
Kadeem G Gillian
Jefferson E Chui
Munro V Inouye
Silvio I Nicka
IdCountryDate
1000India2024-06-01
1001Australia2024-05-27
1002United Kingdom2024-06-10
1003France2024-05-26
1004Italy2024-06-12
1005Australia2024-06-11
1006United Kingdom2024-05-29
1007Italy2024-06-12
1008Argentina2024-05-23
1009United Kingdom2024-06-16
1010Canada2024-06-05
1011Australia2024-06-05
1012Australia2024-06-10
1013Argentina2024-06-18
1014France2024-06-05
1015Spain2024-05-29
1016Canada2024-06-12
1017Russia2024-06-12
1018Argentina2024-05-30
1019Canada2024-05-20
1020India2024-06-05
1021Canada2024-05-30
1022United Kingdom2024-05-27
1023India2024-06-07
1024Japan2024-05-25
1025Brazil2024-06-18
1026Australia2024-06-08
1027United Kingdom2024-05-24
1028Spain2024-06-15
1029India2024-06-12
1030Australia2024-06-07
1031Argentina2024-05-20
1032Japan2024-05-29
1033France2024-05-26
1034United Kingdom2024-05-25
1035Brazil2024-05-28
1036United Kingdom2024-05-26
1037Germany2024-06-09
1038Germany2024-05-21
1039Argentina2024-06-05
1040Germany2024-06-01
1041Japan2024-06-10
1042Japan2024-06-06
1043Australia2024-05-24
1044Argentina2024-06-09
1045Australia2024-05-24
1046France2024-06-03
1047Canada2024-06-03
1048Spain2024-05-29
1049Canada2024-06-13

On-Demand Data

NameIdCountryDate
Kadeem O Amigon1000Spain2024-06-09
Murillo I Bowley1001Spain2024-05-24
Misaki W Rulapaugh1002Japan2024-05-29
Ricardo Y Whobrey1003India2024-05-30
Tony C Tollner1004United Kingdom2024-06-02
Ashley L Ruta1005Italy2024-06-16
Emily Y Rulapaugh1006Japan2024-05-28
Nicolas P Morasca1007Russia2024-06-06
Ricardo E Wieser1008Russia2024-05-27
Salvatore Z Caldarera1009Canada2024-06-12
Costa B Tollner1010Germany2024-06-14
Leon G Ostrosky1011France2024-06-16
Leon M Campain1012Australia2024-05-31
Juan U Gillian1013France2024-06-01
Chavez P Stenseth1014Brazil2024-05-28
Sinclair O Garufi1015Spain2024-06-06
Murillo F Poquette1016Brazil2024-05-29
Izzy G Kolmetz1017Brazil2024-06-01
Arvin H Ostrosky1018Japan2024-06-13
Misaki W Saylors1019United Kingdom2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson J RoysterUnited KingdomAnna Fali PROPOSAL
David H SergiFranceBernardo Dominic NEW
Sinclair V GauchoFranceIvan Magalhaes UNQUALIFIED
Wickens F KolmetzJapanAsiya Javayant PROPOSAL
Arvin K RimGermanyOnyama Limba NEGOTIATION
Alejandro V GauchoJapanAmy Elsner NEGOTIATION
Isabel T FlosiGermanyAnna Fali NEGOTIATION
David A RutaUnited KingdomAsiya Javayant NEGOTIATION
Jefferson Y MaletCanadaBernardo Dominic PROPOSAL
Isabel W VenereAustraliaOnyama Limba QUALIFIED
Tony L WhobreyFranceAmy Elsner NEGOTIATION
Leon T BriddickJapanOnyama Limba UNQUALIFIED
Nicolas R PerinRussiaStephen Shaw QUALIFIED
Adams Q MaletIndiaIoni Bowcher QUALIFIED
Rodrigues N NickaAustraliaAnna Fali NEGOTIATION
Jeanfrancois G SlusarskiRussiaXuxue Feng UNQUALIFIED
Faith O FigeroaArgentinaIoni Bowcher QUALIFIED
Sinclair U WaycottUnited KingdomIoni Bowcher QUALIFIED
Isabel P FerenczBrazilBernardo Dominic PROPOSAL
Deepesh W VocelkaJapanAsiya Javayant QUALIFIED
Greenwood L InouyeAustraliaOnyama Limba RENEWAL
Ricardo L GauchoRussiaOnyama Limba NEGOTIATION
Arvin L PerinIndiaBernardo Dominic PROPOSAL
Leja V SaylorsUnited KingdomAsiya Javayant UNQUALIFIED
Costa O VocelkaIndiaStephen Shaw PROPOSAL
Jennifer F StensethGermanyIoni Bowcher NEGOTIATION
Sinclair A SchemmerJapanIoni Bowcher RENEWAL
Emily O ShinkoItalyAmy Elsner PROPOSAL
Aruna F PoquetteBrazilElwin Sharvill PROPOSAL
Alejandro Z OldroydRussiaStephen Shaw PROPOSAL
Smith U BowleyGermanyIoni Bowcher QUALIFIED
Faith J InouyeArgentinaElwin Sharvill NEGOTIATION
Silvio E RimUnited KingdomXuxue Feng UNQUALIFIED
Ricardo W SchemmerFranceElwin Sharvill PROPOSAL
Wickens Q OstroskyBrazilXuxue Feng UNQUALIFIED
Munro A BowleyBrazilAsiya Javayant RENEWAL
Faith M GauchoItalyAmy Elsner PROPOSAL
Munro Q OstroskyFranceAnna Fali PROPOSAL
David K KuskoJapanStephen Shaw QUALIFIED
Maria U GarufiJapanXuxue Feng 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>