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
Costa S VenereRussiaElwin Sharvill RENEWAL
Mujtaba S AmigonIndiaIvan Magalhaes PROPOSAL
Alejandro O TollnerRussiaXuxue Feng UNQUALIFIED
Ricardo W WhobreyBrazilAnna Fali QUALIFIED
Aditya T MaletCanadaOnyama Limba UNQUALIFIED
Ivar M CaldareraItalyIoni Bowcher UNQUALIFIED
Nicolas D KolmetzGermanyStephen Shaw RENEWAL
Kaitlin W MarrierBrazilAmy Elsner UNQUALIFIED
Izzy F ButtArgentinaStephen Shaw NEW
Juan R GarufiBrazilIoni Bowcher RENEWAL
Aika R BologniaArgentinaBernardo Dominic NEGOTIATION
Alejandro I MarrierUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba A SlusarskiFranceIvan Magalhaes UNQUALIFIED
Octavia P BriddickArgentinaAsiya Javayant RENEWAL
Kadeem H PoquetteSpainAnna Fali UNQUALIFIED
Aditya B MaletJapanStephen Shaw RENEWAL
Chavez V BriddickRussiaAnna Fali NEW
Maisha C SaylorsGermanyIoni Bowcher RENEWAL
David D MacleadUnited KingdomAsiya Javayant NEW
Darci Z GauchoItalyStephen Shaw NEGOTIATION
Smith B SlusarskiGermanyOnyama Limba PROPOSAL
Tony M FerenczFranceIvan Magalhaes QUALIFIED
Cody P OstroskyIndiaStephen Shaw UNQUALIFIED
Sinclair N MorascaFranceIvan Magalhaes NEGOTIATION
Alejandro X FollerArgentinaOnyama Limba RENEWAL
Ashley K NestleFranceAsiya Javayant QUALIFIED
Leon U TollnerCanadaIvan Magalhaes RENEWAL
Francesco S CampainCanadaElwin Sharvill NEW
Greenwood P GillianRussiaAsiya Javayant QUALIFIED
Cody H RoysterBrazilIvan Magalhaes NEW
Cody E MarrierIndiaAsiya Javayant PROPOSAL
Maria G MorascaArgentinaAnna Fali RENEWAL
Juan V TollnerSpainAmy Elsner NEGOTIATION
Mujtaba R RulapaughItalyIvan Magalhaes UNQUALIFIED
Silvio V FerenczGermanyElwin Sharvill PROPOSAL
Alejandro V RulapaughArgentinaAmy Elsner NEW
David D AlbaresBrazilIvan Magalhaes QUALIFIED
Stacey N NickaCanadaAnna Fali NEGOTIATION
Arvin L KuskoItalyAnna Fali RENEWAL
Smith L SaylorsCanadaAmy Elsner UNQUALIFIED
Kaitlin C FerenczBrazilElwin Sharvill NEGOTIATION
Mujtaba N RulapaughArgentinaAmy Elsner RENEWAL
Jennifer W CaldareraAustraliaAsiya Javayant RENEWAL
Costa J DoeCanadaOnyama Limba UNQUALIFIED
Kadeem B RoysterBrazilAnna Fali UNQUALIFIED
Deepesh J DilliardIndiaElwin Sharvill PROPOSAL
Alejandro X WhobreyGermanyIoni Bowcher QUALIFIED
Izzy R NestleIndiaBernardo Dominic PROPOSAL
Leja T StensethGermanyIoni Bowcher UNQUALIFIED
Misaki T KolmetzRussiaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Morrow Y StensethUnited KingdomStephen Shaw PROPOSAL
Izzy J OstroskyAustraliaElwin Sharvill RENEWAL
David N VenereRussiaIvan Magalhaes PROPOSAL
Aruna O NestleArgentinaIvan Magalhaes RENEWAL
Maria X BriddickFranceAmy Elsner PROPOSAL
Salvatore J RimUnited KingdomOnyama Limba NEGOTIATION
Octavia H ChuiJapanElwin Sharvill UNQUALIFIED
Jones B SlusarskiGermanyBernardo Dominic UNQUALIFIED
Maria T FigeroaUnited KingdomAnna Fali PROPOSAL
Johnson O ChuiUnited KingdomAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James A StockhamRussia2024-05-11Benton, John B Jr UNQUALIFIED54Ioni Bowcher
1001Julie S MarrierAustralia2024-05-15Printing Dimensions QUALIFIED58Anna Fali
1002Rodrigues C InouyeAustralia2024-05-02Buckley Miller Wright UNQUALIFIED48Ivan Magalhaes
1003Aruna A PerinGermany2024-05-22Buckley Miller Wright NEGOTIATION19Anna Fali
1004Tony Q PoquetteIndia2024-05-18Commercial Press NEW67Anna Fali
1005Misaki U GlickBrazil2024-05-13Rousseaux, Michael Esq NEGOTIATION39Xuxue Feng
1006Chavez G OldroydRussia2024-05-23Rangoni Of Florence NEGOTIATION63Asiya Javayant
1007Mujtaba P PaprockiUnited Kingdom2024-05-04Commercial Press UNQUALIFIED36Amy Elsner
1008James Y DarakjySpain2024-05-25Buckley Miller Wright NEGOTIATION25Ivan Magalhaes
1009Greenwood P WieserBrazil2024-05-16King, Christopher A Esq RENEWAL50Amy Elsner
1010Johnson S CaldareraArgentina2024-05-27Buckley Miller Wright UNQUALIFIED71Stephen Shaw
1011Tony Q SaylorsIndia2024-04-29Rangoni Of Florence QUALIFIED30Xuxue Feng
1012Clifford H FlosiArgentina2024-05-26Truhlar And Truhlar Attys QUALIFIED2Ioni Bowcher
1013Deepesh X MacleadCanada2024-05-14Dorl, James J Esq QUALIFIED86Onyama Limba
1014Johnson B WhobreyBrazil2024-05-23Chapman, Ross E Esq RENEWAL46Elwin Sharvill
1015Aruna B BowleySpain2024-05-19King, Christopher A Esq QUALIFIED12Onyama Limba
1016Jones Z VocelkaFrance2024-05-14King, Christopher A Esq RENEWAL95Amy Elsner
1017Claire S PerinUnited Kingdom2024-05-07Morlong Associates RENEWAL20Anna Fali
1018Jennifer X KuskoRussia2024-05-24Rousseaux, Michael Esq UNQUALIFIED72Ivan Magalhaes
1019James Z VenereGermany2024-05-09Dorl, James J Esq RENEWAL80Elwin Sharvill
1020Wickens N VocelkaFrance2024-05-14Dorl, James J Esq NEW83Xuxue Feng
1021Salvatore G InouyeAustralia2024-05-13Feiner Bros NEW43Ivan Magalhaes
1022Kaitlin X RimRussia2024-05-09Printing Dimensions UNQUALIFIED6Stephen Shaw
1023Greenwood C GillianArgentina2024-05-02Rousseaux, Michael Esq UNQUALIFIED15Amy Elsner
1024Aika P WhobreyBrazil2024-05-10Feltz Printing Service NEGOTIATION8Elwin Sharvill
1025Deepesh P PerinFrance2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED69Onyama Limba
1026Alejandro B FlosiRussia2024-05-01Printing Dimensions QUALIFIED41Ivan Magalhaes
1027Francesco Z RimRussia2024-05-04Rangoni Of Florence NEGOTIATION29Bernardo Dominic
1028Octavia Y RoysterCanada2024-05-16Feltz Printing Service PROPOSAL19Ioni Bowcher
1029Jennifer B BowleySpain2024-05-26Chanay, Jeffrey A Esq PROPOSAL83Asiya Javayant
1030Clifford I FollerAustralia2024-04-30Truhlar And Truhlar Attys QUALIFIED28Bernardo Dominic
1031Kadeem L StockhamIndia2024-05-19Feiner Bros QUALIFIED63Amy Elsner
1032Munro D DoeIndia2024-05-12Chapman, Ross E Esq RENEWAL17Onyama Limba
1033Salvatore S IturbideBrazil2024-05-01Chanay, Jeffrey A Esq QUALIFIED13Asiya Javayant
1034Kaitlin G BowleyItaly2024-05-25King, Christopher A Esq RENEWAL94Anna Fali
1035Francesco R MacleadUnited Kingdom2024-05-18Buckley Miller Wright PROPOSAL59Stephen Shaw
1036Faith A VenereArgentina2024-05-16Rousseaux, Michael Esq QUALIFIED9Ivan Magalhaes
1037Arvin M CampainArgentina2024-04-29Chapman, Ross E Esq NEW40Bernardo Dominic
1038Juan Z GillianBrazil2024-05-17Rousseaux, Michael Esq NEW63Ioni Bowcher
1039Julie P CaudyJapan2024-05-14Rousseaux, Michael Esq PROPOSAL95Stephen Shaw
1040David V RutaAustralia2024-05-07Chemel, James L Cpa RENEWAL44Bernardo Dominic
1041David P MarrierCanada2024-05-22Buckley Miller Wright QUALIFIED51Ioni Bowcher
1042Morrow P SaylorsFrance2024-05-07Printing Dimensions UNQUALIFIED29Anna Fali
1043Ricardo C ButtRussia2024-05-08Morlong Associates UNQUALIFIED30Stephen Shaw
1044Aditya L StensethSpain2024-05-10Feiner Bros UNQUALIFIED89Anna Fali
1045Kaitlin C StockhamGermany2024-04-30Printing Dimensions UNQUALIFIED92Ivan Magalhaes
1046Ricardo I RoysterGermany2024-05-01Benton, John B Jr UNQUALIFIED80Onyama Limba
1047Aditya O KuskoArgentina2024-05-10Rangoni Of Florence NEW94Asiya Javayant
1048James R NickaJapan2024-05-08Chanay, Jeffrey A Esq UNQUALIFIED31Onyama Limba
1049Octavia A RutaIndia2024-05-22Chemel, James L Cpa UNQUALIFIED40Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jefferson S GlickFranceIvan Magalhaes RENEWAL
Leon L KuskoRussiaAnna Fali RENEWAL
Emily N BologniaAustraliaStephen Shaw QUALIFIED
Ashley Q CaldareraBrazilBernardo Dominic NEGOTIATION
Jeanfrancois L PerinSpainElwin Sharvill RENEWAL
Maria Z VocelkaAustraliaElwin Sharvill PROPOSAL
Emily G GillianRussiaOnyama Limba QUALIFIED
Alejandro N PaprockiRussiaIvan Magalhaes UNQUALIFIED
Clifford W OldroydUnited KingdomStephen Shaw UNQUALIFIED
Julie I MorascaUnited KingdomXuxue Feng PROPOSAL
Sinclair F MaletItalyAnna Fali QUALIFIED
Morrow A BriddickAustraliaAnna Fali QUALIFIED
Aruna Y WieserJapanIvan Magalhaes RENEWAL
Mayumi V RimBrazilBernardo Dominic RENEWAL
Faith V SlusarskiJapanIvan Magalhaes NEW
Mayumi W AmigonBrazilAmy Elsner RENEWAL
Misaki I SaylorsGermanyOnyama Limba UNQUALIFIED
Mujtaba D NestleGermanyElwin Sharvill QUALIFIED
Darci B IturbideItalyStephen Shaw NEGOTIATION
Sinclair Q RutaIndiaXuxue Feng QUALIFIED
Maisha P CaldareraUnited KingdomIoni Bowcher RENEWAL
Octavia I WhobreyAustraliaBernardo Dominic QUALIFIED
Maisha E GarufiArgentinaXuxue Feng RENEWAL
Izzy V NickaAustraliaAnna Fali PROPOSAL
Antonio N StockhamJapanAnna Fali UNQUALIFIED
Jefferson Z StensethItalyStephen Shaw NEW
Maisha Q GillianItalyIvan Magalhaes UNQUALIFIED
Johnson M MarrierUnited KingdomAsiya Javayant PROPOSAL
Wickens U PerinGermanyAnna Fali NEW
Emily U RutaJapanAmy Elsner UNQUALIFIED
Clifford M BowleySpainStephen Shaw PROPOSAL
Juan B DoeBrazilAsiya Javayant UNQUALIFIED
Leon E DarakjyFranceAnna Fali NEW
Octavia B ButtItalyAsiya Javayant RENEWAL
Arvin K WieserBrazilAmy Elsner QUALIFIED
Munro N StensethUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois H GauchoRussiaElwin Sharvill QUALIFIED
Alejandro P BriddickFranceStephen Shaw PROPOSAL
Julie Z IturbideIndiaOnyama Limba UNQUALIFIED
Deepesh J FerenczUnited KingdomElwin Sharvill NEW
Jones X BologniaUnited KingdomXuxue Feng NEW
Darci Q StockhamArgentinaElwin Sharvill QUALIFIED
Cody A PerinJapanIoni Bowcher UNQUALIFIED
Francesco D PaprockiRussiaElwin Sharvill QUALIFIED
Mayumi P SergiIndiaOnyama Limba RENEWAL
Salvatore Z SaylorsJapanAsiya Javayant UNQUALIFIED
Alejandro L PoquetteBrazilOnyama Limba NEGOTIATION
Cody U WaycottItalyStephen Shaw RENEWAL
Jeanfrancois S SaylorsIndiaBernardo Dominic RENEWAL
Claire P WhobreyBrazilElwin Sharvill RENEWAL
Frozen Columns
Name
Greenwood X Caldarera
Nicolas G Flosi
Jeanfrancois F Gaucho
Jones G Campain
Darci N Saylors
Leja C Gaucho
Juan G Vocelka
Mujtaba D Chui
Leja T Morasca
Smith C Doe
Leja A Dilliard
Jennifer D Bowley
Julie H Caldarera
Maisha C Iturbide
Jefferson B Slusarski
Deepesh G Malet
Jones A Foller
Maisha Z Royster
Deepesh N Waycott
Izzy D Iturbide
Kaitlin A Kusko
Aditya A Waycott
Smith S Waycott
Tony Y Shinko
Jennifer H Sergi
Julie W Shinko
Cody H Doe
Aika O Kolmetz
Chavez U Nicka
Maisha P Flosi
Smith K Amigon
Jones W Saylors
Ivar V Nestle
James D Waycott
Misaki O Ruta
Nicolas Z Sergi
Smith E Tollner
Ricardo M Ruta
Leja Y Malet
Nicolas E Slusarski
Morrow H Ferencz
Stacey L Bowley
Costa K Maclead
Ricardo E Royster
Salvatore M Gaucho
Aruna F Amigon
Ashley D Malet
Stacey D Morasca
Izzy Z Waycott
Murillo H Shinko
IdCountryDate
1000Argentina2024-04-29
1001Germany2024-05-09
1002Italy2024-05-13
1003France2024-05-11
1004Brazil2024-05-24
1005Germany2024-04-28
1006France2024-04-29
1007India2024-05-21
1008India2024-04-30
1009Russia2024-05-10
1010Germany2024-05-12
1011Canada2024-05-03
1012Germany2024-04-28
1013Italy2024-05-12
1014France2024-05-11
1015Australia2024-05-02
1016Russia2024-05-10
1017Italy2024-05-08
1018United Kingdom2024-04-30
1019Japan2024-04-29
1020Italy2024-05-11
1021France2024-05-02
1022France2024-05-10
1023Spain2024-05-13
1024Argentina2024-05-07
1025Italy2024-05-25
1026Argentina2024-05-15
1027Australia2024-05-15
1028Canada2024-05-12
1029Brazil2024-04-30
1030Russia2024-05-04
1031Japan2024-05-10
1032India2024-05-22
1033Brazil2024-05-09
1034Argentina2024-05-05
1035Italy2024-05-25
1036Argentina2024-05-18
1037Japan2024-05-04
1038Italy2024-05-11
1039Brazil2024-05-16
1040Spain2024-05-24
1041United Kingdom2024-05-04
1042Australia2024-05-03
1043Canada2024-05-02
1044Russia2024-05-12
1045Germany2024-05-06
1046India2024-05-03
1047Spain2024-05-04
1048Italy2024-05-13
1049Argentina2024-05-16

On-Demand Data

NameIdCountryDate
Faith X Tollner1000Germany2024-05-20
Sinclair A Nestle1001Australia2024-05-03
Emily R Stenseth1002Japan2024-05-21
Ivar W Caldarera1003Brazil2024-05-09
Misaki Q Bolognia1004Russia2024-05-16
Ivar T Poquette1005United Kingdom2024-04-30
Smith C Maclead1006Australia2024-04-28
Morrow G Caldarera1007Argentina2024-05-16
Leja M Caldarera1008Brazil2024-05-15
Kaitlin T Briddick1009Canada2024-05-22
Jefferson G Oldroyd1010Russia2024-05-21
Francesco S Perin1011Canada2024-05-01
Wickens K Darakjy1012Argentina2024-05-09
Izzy C Perin1013Italy2024-05-22
Jones K Stenseth1014Canada2024-05-22
Julie S Butt1015Brazil2024-05-04
Murillo A Malet1016France2024-05-11
Antonio J Iturbide1017Spain2024-05-19
Costa B Royster1018Russia2024-05-26
Jones F Caldarera1019Italy2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas O PoquetteItalyIoni Bowcher RENEWAL
Kaitlin M ShinkoBrazilOnyama Limba QUALIFIED
Jones W StensethArgentinaXuxue Feng QUALIFIED
Leja T AmigonCanadaXuxue Feng PROPOSAL
Maria J TollnerArgentinaIoni Bowcher RENEWAL
Faith C ShinkoFranceStephen Shaw PROPOSAL
Claire P TollnerRussiaElwin Sharvill QUALIFIED
Emily X InouyeAustraliaOnyama Limba NEGOTIATION
Aika L FollerGermanyAnna Fali PROPOSAL
Jones L StockhamJapanAsiya Javayant UNQUALIFIED
Stacey D SaylorsCanadaOnyama Limba NEGOTIATION
Munro F SaylorsArgentinaIvan Magalhaes PROPOSAL
David B KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
Ivar F GauchoAustraliaAsiya Javayant NEW
Mujtaba H AmigonIndiaAnna Fali NEGOTIATION
Jeanfrancois B CaldareraItalyIvan Magalhaes RENEWAL
Clifford V PoquetteSpainAnna Fali NEW
Smith L MarrierFranceAsiya Javayant UNQUALIFIED
Jeanfrancois R PaprockiGermanyAmy Elsner NEGOTIATION
Mujtaba M IturbideFranceOnyama Limba NEGOTIATION
Munro E KolmetzJapanXuxue Feng QUALIFIED
Faith C OldroydSpainStephen Shaw QUALIFIED
Stacey A WhobreyUnited KingdomStephen Shaw PROPOSAL
Greenwood I ButtRussiaStephen Shaw NEW
Costa N CampainFranceIoni Bowcher PROPOSAL
Wickens Y BologniaAustraliaXuxue Feng QUALIFIED
Kadeem H RoysterGermanyIoni Bowcher NEGOTIATION
Sinclair W AlbaresCanadaAnna Fali PROPOSAL
Maria B GarufiFranceAmy Elsner UNQUALIFIED
Arvin Q NestleBrazilOnyama Limba NEW
Faith N RutaArgentinaAsiya Javayant NEW
Clifford C MaletRussiaBernardo Dominic NEGOTIATION
Antonio Y GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Aditya W GauchoIndiaStephen Shaw PROPOSAL
Francesco A ButtBrazilIvan Magalhaes NEGOTIATION
Kadeem T CaldareraJapanStephen Shaw NEW
Aika W SlusarskiGermanyXuxue Feng QUALIFIED
Aika H SergiItalyElwin Sharvill NEW
Maria E DarakjyGermanyAsiya Javayant PROPOSAL
Mujtaba X DilliardCanadaBernardo 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>