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
Kadeem Y IturbideBrazilXuxue Feng NEGOTIATION
Chavez K WhobreyAustraliaXuxue Feng PROPOSAL
Mujtaba D BologniaSpainIvan Magalhaes QUALIFIED
Maisha E FollerGermanyAnna Fali NEGOTIATION
Cody B GillianGermanyXuxue Feng PROPOSAL
Murillo O FlosiGermanyOnyama Limba RENEWAL
Chavez F MaletJapanAmy Elsner RENEWAL
Isabel S DilliardRussiaBernardo Dominic PROPOSAL
Jefferson K StensethCanadaAnna Fali QUALIFIED
Emily U FerenczBrazilXuxue Feng NEGOTIATION
Sinclair Y AmigonAustraliaAmy Elsner NEGOTIATION
Ashley D InouyeSpainIvan Magalhaes RENEWAL
Deepesh L BowleySpainAmy Elsner RENEWAL
Alejandro A NickaIndiaElwin Sharvill UNQUALIFIED
Juan H BriddickJapanIoni Bowcher PROPOSAL
Maria O DarakjyRussiaBernardo Dominic NEW
Aika V CampainFranceAsiya Javayant UNQUALIFIED
Silvio T StensethCanadaIvan Magalhaes RENEWAL
Aditya Q KolmetzIndiaIoni Bowcher NEW
Stacey G VenereCanadaOnyama Limba PROPOSAL
Stacey P OstroskyAustraliaXuxue Feng QUALIFIED
James T NestleRussiaBernardo Dominic NEW
Ashley J GlickSpainAmy Elsner RENEWAL
Darci B FollerJapanAnna Fali NEW
Sinclair W WieserUnited KingdomOnyama Limba NEW
Murillo P InouyeIndiaIoni Bowcher UNQUALIFIED
Wickens Z SaylorsAustraliaOnyama Limba QUALIFIED
Jones S FigeroaFranceAsiya Javayant QUALIFIED
Ivar I KuskoJapanOnyama Limba NEW
Sinclair K WaycottUnited KingdomXuxue Feng RENEWAL
Murillo S GillianUnited KingdomElwin Sharvill UNQUALIFIED
Jones H SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Maria P WieserGermanyOnyama Limba UNQUALIFIED
David H FigeroaGermanyElwin Sharvill QUALIFIED
Clifford V KuskoUnited KingdomAmy Elsner QUALIFIED
Julie Y CaudyJapanStephen Shaw NEGOTIATION
Maria K KolmetzGermanyAnna Fali RENEWAL
Nicolas F GarufiArgentinaAnna Fali UNQUALIFIED
Deepesh J StensethRussiaElwin Sharvill NEGOTIATION
Silvio T RoysterJapanIoni Bowcher PROPOSAL
Tony B OldroydIndiaIvan Magalhaes UNQUALIFIED
Darci J FigeroaSpainXuxue Feng PROPOSAL
Stacey W IturbideIndiaAsiya Javayant UNQUALIFIED
Jefferson T ShinkoArgentinaXuxue Feng UNQUALIFIED
Ricardo U KuskoCanadaAmy Elsner NEGOTIATION
Ricardo K WieserUnited KingdomOnyama Limba NEW
Aditya R IturbideItalyIoni Bowcher RENEWAL
Deepesh T BologniaArgentinaStephen Shaw PROPOSAL
Arvin T MacleadGermanyAsiya Javayant NEGOTIATION
Mujtaba W FlosiRussiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Johnson S ShinkoRussiaIoni Bowcher NEGOTIATION
Smith D PoquetteSpainIoni Bowcher NEW
Isabel Q StensethUnited KingdomAnna Fali PROPOSAL
Izzy P MacleadItalyAmy Elsner NEGOTIATION
Ivar I AmigonUnited KingdomElwin Sharvill PROPOSAL
Ashley R SlusarskiArgentinaIvan Magalhaes PROPOSAL
Kaitlin L MaletGermanyXuxue Feng NEGOTIATION
Isabel X ShinkoIndiaAmy Elsner QUALIFIED
Maisha C StockhamFranceAsiya Javayant NEW
Julie E RulapaughJapanAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James B RulapaughJapan2024-05-28Chanay, Jeffrey A Esq RENEWAL61Ioni Bowcher
1001Nicolas J GlickFrance2024-06-06Benton, John B Jr NEGOTIATION11Amy Elsner
1002Isabel N SergiIndia2024-05-28Benton, John B Jr PROPOSAL92Amy Elsner
1003Kadeem B NickaFrance2024-06-23Feiner Bros UNQUALIFIED54Anna Fali
1004Wickens W MarrierAustralia2024-05-29Chapman, Ross E Esq NEGOTIATION5Elwin Sharvill
1005James R DoeFrance2024-06-10Feiner Bros RENEWAL27Stephen Shaw
1006Ivar D RulapaughJapan2024-06-18Truhlar And Truhlar Attys QUALIFIED8Elwin Sharvill
1007Mujtaba A BriddickCanada2024-06-17Printing Dimensions NEGOTIATION55Onyama Limba
1008Tony J CaldareraJapan2024-06-14Chapman, Ross E Esq QUALIFIED58Onyama Limba
1009Mujtaba N PaprockiAustralia2024-05-26Feiner Bros NEGOTIATION46Onyama Limba
1010Darci P IturbideBrazil2024-06-14Benton, John B Jr PROPOSAL30Anna Fali
1011Nicolas V SergiBrazil2024-06-14Rousseaux, Michael Esq RENEWAL7Onyama Limba
1012Jennifer E TollnerRussia2024-06-19Chanay, Jeffrey A Esq PROPOSAL21Asiya Javayant
1013Greenwood B PerinItaly2024-06-17Rousseaux, Michael Esq RENEWAL63Anna Fali
1014Claire Q SergiRussia2024-05-25Feltz Printing Service QUALIFIED84Elwin Sharvill
1015Leon J DilliardSpain2024-06-07Rangoni Of Florence NEW70Xuxue Feng
1016Ivar E MarrierBrazil2024-06-10Buckley Miller Wright UNQUALIFIED25Stephen Shaw
1017Juan I AmigonArgentina2024-06-14Morlong Associates RENEWAL66Onyama Limba
1018Leon V RulapaughIndia2024-06-04Truhlar And Truhlar Attys UNQUALIFIED69Asiya Javayant
1019Salvatore O KolmetzItaly2024-05-25Truhlar And Truhlar Attys UNQUALIFIED42Elwin Sharvill
1020Salvatore K MarrierSpain2024-06-21Dorl, James J Esq NEGOTIATION72Asiya Javayant
1021Stacey B PaprockiArgentina2024-06-13Printing Dimensions NEW94Anna Fali
1022Maria S BologniaSpain2024-06-05Dorl, James J Esq PROPOSAL10Amy Elsner
1023Juan V FigeroaFrance2024-06-11Truhlar And Truhlar Attys NEW45Asiya Javayant
1024Morrow Z BologniaCanada2024-05-28Chemel, James L Cpa NEGOTIATION6Stephen Shaw
1025Isabel S OstroskyGermany2024-06-02Chemel, James L Cpa RENEWAL63Anna Fali
1026Mujtaba T GillianItaly2024-06-22Rangoni Of Florence NEGOTIATION14Ivan Magalhaes
1027Morrow X DoeSpain2024-06-18Dorl, James J Esq PROPOSAL50Stephen Shaw
1028Leon D CaldareraFrance2024-06-09King, Christopher A Esq NEW53Stephen Shaw
1029Faith M DoeJapan2024-06-11Feltz Printing Service NEW46Anna Fali
1030Jefferson J RoysterRussia2024-06-12King, Christopher A Esq QUALIFIED18Ivan Magalhaes
1031Cody B GillianIndia2024-06-19Benton, John B Jr PROPOSAL35Ivan Magalhaes
1032Deepesh U ShinkoFrance2024-06-20Buckley Miller Wright RENEWAL16Ivan Magalhaes
1033Costa P PoquetteJapan2024-06-22Printing Dimensions QUALIFIED85Stephen Shaw
1034Mayumi Q CaudySpain2024-06-02Dorl, James J Esq QUALIFIED50Amy Elsner
1035Jeanfrancois L MaletIndia2024-06-09Feltz Printing Service RENEWAL75Amy Elsner
1036Cody B PoquetteArgentina2024-06-07Chemel, James L Cpa PROPOSAL66Asiya Javayant
1037Sinclair J KuskoJapan2024-06-07Truhlar And Truhlar Attys UNQUALIFIED9Elwin Sharvill
1038Julie Y FigeroaArgentina2024-06-06Printing Dimensions NEW90Bernardo Dominic
1039Ivar W WhobreyGermany2024-06-13Benton, John B Jr QUALIFIED38Ioni Bowcher
1040Antonio N DarakjyItaly2024-06-08Commercial Press RENEWAL92Ioni Bowcher
1041Mujtaba U FigeroaItaly2024-06-17Chemel, James L Cpa UNQUALIFIED49Ivan Magalhaes
1042Juan E DarakjyJapan2024-06-14Rangoni Of Florence NEW22Ivan Magalhaes
1043Wickens A KuskoItaly2024-06-19Benton, John B Jr NEW30Elwin Sharvill
1044Ricardo N RimJapan2024-06-20Benton, John B Jr RENEWAL29Asiya Javayant
1045Isabel Q VenereAustralia2024-06-20Chapman, Ross E Esq QUALIFIED58Ioni Bowcher
1046Smith K KolmetzRussia2024-05-27Commercial Press RENEWAL68Ioni Bowcher
1047Nicolas N SergiRussia2024-06-05Chemel, James L Cpa NEW65Asiya Javayant
1048Mujtaba V SergiRussia2024-05-27Feiner Bros QUALIFIED15Bernardo Dominic
1049Izzy V DarakjyRussia2024-06-10Printing Dimensions NEW79Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Arvin L VocelkaRussiaElwin Sharvill PROPOSAL
Silvio W GauchoUnited KingdomElwin Sharvill NEW
Munro N WaycottItalyAmy Elsner NEW
Isabel A DarakjyJapanAnna Fali PROPOSAL
Leja H DarakjyJapanBernardo Dominic NEGOTIATION
Leon S CaldareraArgentinaBernardo Dominic RENEWAL
Murillo F DilliardCanadaXuxue Feng PROPOSAL
Aruna O BowleyIndiaOnyama Limba QUALIFIED
Munro P SchemmerItalyAnna Fali RENEWAL
Juan E NestleAustraliaAnna Fali PROPOSAL
Ashley N KolmetzGermanyStephen Shaw RENEWAL
Jones R CampainIndiaIoni Bowcher RENEWAL
Clifford M DoeAustraliaAnna Fali NEW
Johnson X MaletFranceStephen Shaw RENEWAL
Juan U BologniaSpainAsiya Javayant PROPOSAL
Ivar W WhobreyAustraliaBernardo Dominic UNQUALIFIED
Mayumi R RoysterAustraliaAnna Fali UNQUALIFIED
Misaki B FollerIndiaXuxue Feng NEW
Adams R RimAustraliaAnna Fali NEGOTIATION
Isabel W VenereArgentinaAmy Elsner NEW
Jones E NickaSpainIoni Bowcher UNQUALIFIED
Maria A StensethAustraliaAnna Fali NEGOTIATION
Leon R TollnerIndiaIoni Bowcher NEGOTIATION
Munro I TollnerUnited KingdomAmy Elsner RENEWAL
Munro V MacleadSpainAmy Elsner UNQUALIFIED
Aruna O FlosiIndiaAmy Elsner QUALIFIED
Ricardo R ButtBrazilIoni Bowcher NEW
Deepesh Z FollerFranceAsiya Javayant QUALIFIED
Clifford Y SchemmerAustraliaStephen Shaw NEW
Isabel L BriddickIndiaBernardo Dominic UNQUALIFIED
Antonio I VenereBrazilBernardo Dominic UNQUALIFIED
Maisha M DoeSpainIvan Magalhaes QUALIFIED
Kaitlin Z ChuiArgentinaStephen Shaw QUALIFIED
Isabel Q RutaAustraliaXuxue Feng RENEWAL
Kadeem M MaletFranceAsiya Javayant NEGOTIATION
Emily Y WaycottItalyAmy Elsner RENEWAL
Johnson J IturbideAustraliaBernardo Dominic NEW
Mayumi K TollnerSpainOnyama Limba UNQUALIFIED
James G SaylorsItalyXuxue Feng UNQUALIFIED
Johnson W SaylorsItalyAmy Elsner QUALIFIED
Salvatore X DarakjySpainElwin Sharvill PROPOSAL
Deepesh Y CaudyFranceAnna Fali RENEWAL
Ashley Q ShinkoJapanAmy Elsner NEW
Faith B StockhamArgentinaAsiya Javayant NEW
Emily I ShinkoCanadaAmy Elsner PROPOSAL
Julie U CampainSpainAmy Elsner NEW
Julie L SaylorsSpainXuxue Feng PROPOSAL
Ashley V GarufiJapanElwin Sharvill UNQUALIFIED
Johnson J GarufiIndiaAsiya Javayant QUALIFIED
James K OstroskyJapanXuxue Feng PROPOSAL
Frozen Columns
Name
Juan R Bowley
Aika I Nicka
Misaki L Oldroyd
David P Iturbide
Munro B Vocelka
Mayumi B Stenseth
Costa B Inouye
Rodrigues K Rim
Juan Z Glick
Johnson A Waycott
Wickens H Kolmetz
David H Malet
Silvio H Caudy
Maria M Rim
Salvatore G Caldarera
Alejandro V Royster
Isabel L Inouye
Salvatore Y Caldarera
Clifford T Perin
Aika Z Royster
Wickens O Sergi
Jennifer V Nestle
Claire H Nicka
Jeanfrancois V Stenseth
Octavia K Paprocki
Faith J Caldarera
Munro I Venere
Clifford T Iturbide
Arvin T Iturbide
Nicolas C Tollner
Greenwood Z Tollner
Wickens X Doe
Deepesh Q Stenseth
Clifford U Wieser
Mayumi F Nicka
Chavez W Bowley
Maria M Royster
Leja T Ruta
Cody Q Bowley
Aika D Schemmer
Ricardo S Waycott
Cody X Garufi
Sinclair M Stenseth
Ricardo A Royster
Morrow F Royster
Maisha P Caudy
Leon U Rim
Deepesh P Gaucho
Ricardo N Malet
Maisha Y Stenseth
IdCountryDate
1000France2024-06-08
1001Germany2024-06-05
1002Japan2024-05-25
1003Canada2024-06-23
1004Spain2024-05-26
1005Germany2024-06-14
1006Japan2024-06-09
1007India2024-06-07
1008Russia2024-05-30
1009Canada2024-05-26
1010France2024-06-15
1011Canada2024-06-02
1012Brazil2024-05-29
1013United Kingdom2024-06-17
1014France2024-06-23
1015Russia2024-05-31
1016India2024-06-03
1017United Kingdom2024-06-06
1018Spain2024-06-17
1019Australia2024-06-22
1020Russia2024-06-07
1021Brazil2024-06-23
1022France2024-06-10
1023Brazil2024-06-08
1024Japan2024-06-22
1025Russia2024-05-25
1026Canada2024-06-06
1027France2024-06-10
1028Argentina2024-06-12
1029Brazil2024-06-03
1030Canada2024-06-20
1031Argentina2024-05-28
1032Spain2024-06-08
1033Spain2024-06-15
1034Australia2024-05-31
1035Brazil2024-06-14
1036India2024-05-26
1037France2024-05-25
1038Australia2024-06-14
1039United Kingdom2024-06-21
1040Brazil2024-05-25
1041Australia2024-05-28
1042Canada2024-06-17
1043Italy2024-06-16
1044Germany2024-06-19
1045Germany2024-06-04
1046Italy2024-06-16
1047India2024-06-01
1048Spain2024-06-03
1049Spain2024-06-23

On-Demand Data

NameIdCountryDate
Adams P Stenseth1000Japan2024-06-11
Sinclair A Foller1001Spain2024-06-10
Jennifer Y Malet1002Germany2024-06-04
Rodrigues F Bowley1003Japan2024-06-15
Johnson E Malet1004Japan2024-06-14
Nicolas C Campain1005Russia2024-06-11
Misaki J Ostrosky1006Brazil2024-06-19
Francesco L Malet1007Russia2024-06-11
Wickens E Ferencz1008Germany2024-06-15
Nicolas O Stockham1009Italy2024-06-20
Aruna Q Shinko1010Canada2024-06-07
Aditya N Dilliard1011United Kingdom2024-06-07
David Y Ostrosky1012Australia2024-06-22
Jones O Caudy1013Argentina2024-06-14
Salvatore K Caudy1014Germany2024-06-06
Kaitlin O Malet1015Spain2024-05-26
Costa U Marrier1016Spain2024-05-26
Misaki Q Paprocki1017Spain2024-06-16
Jones I Malet1018Germany2024-05-29
Claire U Butt1019Canada2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas M OstroskySpainElwin Sharvill PROPOSAL
Nicolas I DarakjyArgentinaBernardo Dominic NEW
David N DarakjyFranceIoni Bowcher PROPOSAL
Alejandro K BowleyCanadaIoni Bowcher RENEWAL
Aika M IturbideFranceAnna Fali NEGOTIATION
Emily F BriddickIndiaIvan Magalhaes NEGOTIATION
Mujtaba H RimGermanyIoni Bowcher QUALIFIED
Aditya R WieserGermanyBernardo Dominic PROPOSAL
Leja Q GauchoBrazilBernardo Dominic UNQUALIFIED
Kaitlin E StockhamItalyBernardo Dominic RENEWAL
Jones I StockhamArgentinaAsiya Javayant NEW
Kadeem E KolmetzJapanAmy Elsner PROPOSAL
Adams P FigeroaUnited KingdomAsiya Javayant RENEWAL
Wickens Z WaycottIndiaIvan Magalhaes QUALIFIED
Johnson Z BologniaItalyElwin Sharvill RENEWAL
Kaitlin J CaudyFranceXuxue Feng UNQUALIFIED
Darci H BriddickGermanyXuxue Feng PROPOSAL
Salvatore U StockhamArgentinaIvan Magalhaes RENEWAL
Aruna F FerenczJapanAsiya Javayant QUALIFIED
Francesco G SlusarskiAustraliaOnyama Limba NEGOTIATION
Izzy H RutaRussiaAmy Elsner NEGOTIATION
Arvin B CampainFranceAnna Fali QUALIFIED
Julie E SlusarskiArgentinaXuxue Feng NEGOTIATION
Octavia W ShinkoCanadaXuxue Feng UNQUALIFIED
Adams H MaletAustraliaBernardo Dominic NEW
Munro X CaldareraRussiaStephen Shaw NEW
Aditya U AmigonJapanIoni Bowcher RENEWAL
Munro V PoquetteArgentinaOnyama Limba NEW
Arvin V GillianBrazilIoni Bowcher NEGOTIATION
Maisha O GillianItalyStephen Shaw NEW
Rodrigues I OldroydUnited KingdomAnna Fali PROPOSAL
Maisha I VenereRussiaAnna Fali NEGOTIATION
Izzy A BowleyJapanAnna Fali UNQUALIFIED
Octavia T ButtRussiaElwin Sharvill NEGOTIATION
Kadeem H BriddickSpainAnna Fali PROPOSAL
Alejandro Y PerinFranceElwin Sharvill UNQUALIFIED
Chavez G StockhamBrazilIvan Magalhaes RENEWAL
Mujtaba C MaletBrazilIoni Bowcher PROPOSAL
Claire O FollerArgentinaBernardo Dominic QUALIFIED
Deepesh L MaletFranceIvan Magalhaes 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>