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
Emily U CaudyUnited KingdomOnyama Limba NEW
Costa Z RimRussiaElwin Sharvill PROPOSAL
Aditya Y StockhamArgentinaIvan Magalhaes RENEWAL
Maria K GarufiRussiaStephen Shaw UNQUALIFIED
Cody P NestleArgentinaXuxue Feng RENEWAL
Jones X SaylorsUnited KingdomAsiya Javayant RENEWAL
Juan X PaprockiSpainAsiya Javayant NEGOTIATION
Misaki N SchemmerAustraliaBernardo Dominic NEGOTIATION
Mayumi O CampainGermanyOnyama Limba RENEWAL
Wickens H CampainBrazilIoni Bowcher NEGOTIATION
Octavia H FlosiAustraliaElwin Sharvill QUALIFIED
Chavez F OstroskyItalyAmy Elsner UNQUALIFIED
Nicolas Q FigeroaAustraliaBernardo Dominic UNQUALIFIED
Misaki T TollnerGermanyXuxue Feng NEW
Salvatore S IturbideBrazilBernardo Dominic PROPOSAL
Jennifer S RutaUnited KingdomAsiya Javayant NEW
Sinclair V SchemmerArgentinaAsiya Javayant NEW
Darci R VenereSpainElwin Sharvill PROPOSAL
Salvatore U MorascaGermanyXuxue Feng QUALIFIED
Jeanfrancois G AlbaresGermanyStephen Shaw NEW
Johnson K MarrierCanadaElwin Sharvill RENEWAL
Misaki F GillianJapanIvan Magalhaes NEW
Alejandro Q PaprockiSpainIoni Bowcher PROPOSAL
Aika W IturbideUnited KingdomAmy Elsner UNQUALIFIED
Wickens T DoeGermanyAsiya Javayant RENEWAL
Jefferson Y FollerUnited KingdomBernardo Dominic PROPOSAL
Faith U ButtCanadaXuxue Feng PROPOSAL
Juan G MaletSpainAnna Fali PROPOSAL
Ricardo H GarufiGermanyOnyama Limba NEW
Mujtaba L BologniaRussiaBernardo Dominic NEGOTIATION
Tony X KuskoCanadaIoni Bowcher NEW
Mujtaba O FollerFranceElwin Sharvill RENEWAL
Aruna Y CaldareraItalyElwin Sharvill QUALIFIED
Octavia Y MorascaSpainIoni Bowcher NEGOTIATION
Mujtaba Y VocelkaCanadaAsiya Javayant NEGOTIATION
Salvatore Q AmigonIndiaXuxue Feng PROPOSAL
Mayumi H SchemmerArgentinaAnna Fali QUALIFIED
Adams P IturbideBrazilBernardo Dominic PROPOSAL
Munro N ChuiJapanIvan Magalhaes PROPOSAL
Izzy W PaprockiCanadaXuxue Feng PROPOSAL
Jeanfrancois Y TollnerGermanyStephen Shaw UNQUALIFIED
Alejandro X RimArgentinaXuxue Feng NEW
Johnson L GillianAustraliaIvan Magalhaes NEGOTIATION
Misaki I DoeArgentinaIoni Bowcher PROPOSAL
Izzy J CaudyItalyIvan Magalhaes NEGOTIATION
Nicolas B AlbaresFranceAsiya Javayant NEW
Faith J MaletGermanyAsiya Javayant NEW
James X DoeItalyBernardo Dominic NEGOTIATION
Emily B FerenczItalyStephen Shaw NEGOTIATION
Costa D MaletArgentinaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire V CaudyRussiaIvan Magalhaes RENEWAL
Ricardo R BriddickBrazilOnyama Limba RENEWAL
Tony C TollnerIndiaIvan Magalhaes RENEWAL
Leon A TollnerItalyElwin Sharvill PROPOSAL
Jefferson I GillianArgentinaElwin Sharvill NEGOTIATION
Ricardo V CaudyItalyXuxue Feng NEGOTIATION
Mujtaba Z NestleRussiaIvan Magalhaes PROPOSAL
Rodrigues R KolmetzBrazilIvan Magalhaes UNQUALIFIED
Munro B FigeroaUnited KingdomXuxue Feng NEW
Wickens B PaprockiIndiaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki Z OstroskyJapan2024-05-31Feltz Printing Service NEW62Xuxue Feng
1001Johnson N ShinkoGermany2024-06-01Chemel, James L Cpa PROPOSAL87Ioni Bowcher
1002Greenwood V FollerUnited Kingdom2024-05-30Feltz Printing Service QUALIFIED73Asiya Javayant
1003Sinclair K SaylorsArgentina2024-05-28Chapman, Ross E Esq PROPOSAL15Xuxue Feng
1004James P SchemmerFrance2024-06-07Truhlar And Truhlar Attys NEW66Ivan Magalhaes
1005Leja O SlusarskiFrance2024-06-13Chanay, Jeffrey A Esq QUALIFIED20Anna Fali
1006Morrow I AlbaresRussia2024-06-20Commercial Press NEGOTIATION21Ivan Magalhaes
1007Ricardo C SlusarskiItaly2024-05-27Chapman, Ross E Esq PROPOSAL74Xuxue Feng
1008Julie U FigeroaItaly2024-06-04Morlong Associates NEW79Onyama Limba
1009Tony O FigeroaFrance2024-06-04King, Christopher A Esq RENEWAL69Onyama Limba
1010Faith E BriddickUnited Kingdom2024-06-15Rangoni Of Florence NEW38Asiya Javayant
1011Maisha Z ButtAustralia2024-06-04Chemel, James L Cpa NEGOTIATION39Elwin Sharvill
1012Alejandro T CampainGermany2024-05-23Truhlar And Truhlar Attys RENEWAL0Bernardo Dominic
1013Munro S VenereArgentina2024-06-14Benton, John B Jr RENEWAL15Ioni Bowcher
1014Silvio H StockhamIndia2024-05-27Rangoni Of Florence RENEWAL72Stephen Shaw
1015Ivar D NestleCanada2024-05-25Morlong Associates QUALIFIED64Anna Fali
1016Mayumi A RimBrazil2024-06-04Chemel, James L Cpa RENEWAL60Asiya Javayant
1017Kadeem T OldroydGermany2024-06-16Feltz Printing Service UNQUALIFIED15Ioni Bowcher
1018Octavia T StensethCanada2024-06-14Truhlar And Truhlar Attys UNQUALIFIED4Onyama Limba
1019Silvio T PaprockiSpain2024-06-11Rangoni Of Florence NEGOTIATION35Anna Fali
1020Maria U CaudyRussia2024-06-08Benton, John B Jr NEW52Ioni Bowcher
1021Sinclair N FigeroaCanada2024-06-04Chapman, Ross E Esq RENEWAL48Bernardo Dominic
1022Nicolas W MacleadIndia2024-06-16Morlong Associates RENEWAL51Ivan Magalhaes
1023Morrow F RutaBrazil2024-05-31Chemel, James L Cpa NEGOTIATION90Stephen Shaw
1024Alejandro G RutaBrazil2024-05-26King, Christopher A Esq NEW12Ioni Bowcher
1025Silvio K CaudyItaly2024-06-21King, Christopher A Esq QUALIFIED24Elwin Sharvill
1026Ashley V SlusarskiSpain2024-06-06Rousseaux, Michael Esq PROPOSAL29Xuxue Feng
1027Clifford T SchemmerSpain2024-05-23Rousseaux, Michael Esq NEW70Bernardo Dominic
1028Aika T TollnerIndia2024-06-04Benton, John B Jr PROPOSAL78Amy Elsner
1029Cody N MorascaSpain2024-05-31Chanay, Jeffrey A Esq PROPOSAL7Bernardo Dominic
1030Octavia O RutaUnited Kingdom2024-06-06Benton, John B Jr NEW17Elwin Sharvill
1031Morrow S MaletRussia2024-06-16Chapman, Ross E Esq PROPOSAL73Amy Elsner
1032Octavia Y KuskoAustralia2024-06-15Feltz Printing Service RENEWAL81Bernardo Dominic
1033Antonio A SchemmerUnited Kingdom2024-05-27Truhlar And Truhlar Attys UNQUALIFIED93Elwin Sharvill
1034Mayumi Y BriddickArgentina2024-06-03Chapman, Ross E Esq UNQUALIFIED9Asiya Javayant
1035Jennifer J FollerFrance2024-05-25Feltz Printing Service NEW98Ivan Magalhaes
1036Ricardo A StensethJapan2024-06-01Benton, John B Jr RENEWAL46Asiya Javayant
1037Ashley Q PaprockiGermany2024-06-14Buckley Miller Wright NEW64Xuxue Feng
1038Leon R InouyeRussia2024-06-17Chapman, Ross E Esq NEGOTIATION80Elwin Sharvill
1039Jefferson Y BologniaIndia2024-05-27Rousseaux, Michael Esq RENEWAL85Bernardo Dominic
1040Leja L ChuiGermany2024-06-15Rangoni Of Florence NEGOTIATION13Xuxue Feng
1041Adams Z RutaAustralia2024-05-25Rangoni Of Florence NEW37Ioni Bowcher
1042Emily U OldroydAustralia2024-05-26Truhlar And Truhlar Attys NEGOTIATION88Onyama Limba
1043Jones S GauchoRussia2024-06-09Chemel, James L Cpa NEGOTIATION73Elwin Sharvill
1044Mujtaba D StensethGermany2024-06-18Dorl, James J Esq NEGOTIATION70Asiya Javayant
1045Juan D SergiItaly2024-06-08Feltz Printing Service UNQUALIFIED91Amy Elsner
1046Ashley D GlickGermany2024-06-05Benton, John B Jr QUALIFIED1Bernardo Dominic
1047Wickens D BowleyCanada2024-05-30Feltz Printing Service RENEWAL99Ioni Bowcher
1048Mujtaba U GarufiIndia2024-06-02Dorl, James J Esq NEW87Ioni Bowcher
1049Juan Z AlbaresFrance2024-06-03Chapman, Ross E Esq PROPOSAL70Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Nicolas Z RoysterIndiaXuxue Feng NEW
Francesco A TollnerArgentinaOnyama Limba NEGOTIATION
Adams E PerinItalyOnyama Limba UNQUALIFIED
Juan A PoquetteIndiaAnna Fali NEGOTIATION
Octavia B WhobreyJapanIoni Bowcher NEGOTIATION
Smith P DilliardBrazilOnyama Limba NEGOTIATION
Munro C FlosiBrazilIoni Bowcher QUALIFIED
Jones J BologniaAustraliaAmy Elsner UNQUALIFIED
Adams E FigeroaBrazilBernardo Dominic RENEWAL
Stacey I ShinkoJapanAmy Elsner RENEWAL
Kadeem W BriddickSpainBernardo Dominic UNQUALIFIED
Johnson G DarakjyArgentinaAmy Elsner UNQUALIFIED
Aditya A RimRussiaOnyama Limba UNQUALIFIED
Francesco Z MacleadBrazilAsiya Javayant PROPOSAL
Ricardo C NestleFranceIvan Magalhaes PROPOSAL
Kadeem Z FollerFranceStephen Shaw QUALIFIED
Morrow C CaldareraItalyAmy Elsner RENEWAL
Wickens L AlbaresItalyBernardo Dominic UNQUALIFIED
Rodrigues T MaletArgentinaAsiya Javayant QUALIFIED
Kadeem M VocelkaArgentinaOnyama Limba RENEWAL
Salvatore U CaudyIndiaIoni Bowcher UNQUALIFIED
Adams H IturbideAustraliaStephen Shaw NEGOTIATION
Chavez Q BriddickAustraliaOnyama Limba QUALIFIED
Ashley H IturbideArgentinaBernardo Dominic NEGOTIATION
James Q NestleItalyAnna Fali UNQUALIFIED
Greenwood Y FerenczFranceAnna Fali RENEWAL
Maisha F BologniaArgentinaAnna Fali PROPOSAL
Ricardo Z DilliardFranceIoni Bowcher RENEWAL
Maria Z PaprockiCanadaAsiya Javayant QUALIFIED
Mayumi N PaprockiSpainAmy Elsner PROPOSAL
Leja O VenereUnited KingdomAnna Fali NEW
Wickens H RimAustraliaAsiya Javayant QUALIFIED
Darci O RoysterIndiaStephen Shaw PROPOSAL
Faith L TollnerArgentinaIoni Bowcher QUALIFIED
Deepesh P NestleFranceOnyama Limba NEW
Aruna G DarakjyJapanAmy Elsner QUALIFIED
Juan C OldroydAustraliaStephen Shaw PROPOSAL
Jones S BologniaRussiaStephen Shaw NEGOTIATION
Leja X VenereIndiaIvan Magalhaes NEGOTIATION
Ivar O SlusarskiUnited KingdomStephen Shaw QUALIFIED
Nicolas N PaprockiArgentinaOnyama Limba PROPOSAL
Leja Y ChuiAustraliaIvan Magalhaes QUALIFIED
Smith U StockhamCanadaXuxue Feng RENEWAL
Kaitlin Q FlosiAustraliaElwin Sharvill QUALIFIED
Francesco B KuskoUnited KingdomStephen Shaw NEGOTIATION
Emily Z NestleIndiaOnyama Limba UNQUALIFIED
Aruna W VocelkaIndiaIvan Magalhaes QUALIFIED
Juan L GarufiArgentinaStephen Shaw NEGOTIATION
Faith H GarufiAustraliaAmy Elsner PROPOSAL
Clifford W MarrierAustraliaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Izzy G Figeroa
Johnson A Poquette
Jones P Stenseth
Deepesh M Rim
Octavia H Tollner
Mujtaba G Perin
Aditya Q Bowley
Maisha U Iturbide
Ashley O Oldroyd
Tony C Malet
Silvio A Flosi
Chavez Y Malet
Aruna L Morasca
Izzy I Darakjy
Greenwood C Saylors
Smith Y Ferencz
Rodrigues N Bolognia
Johnson X Shinko
Tony R Vocelka
Ivar X Glick
Maisha N Perin
Chavez F Garufi
Jefferson S Morasca
Emily K Inouye
Cody Y Doe
Deepesh W Rulapaugh
Deepesh A Gaucho
Cody O Perin
Sinclair T Ruta
Mayumi D Shinko
Tony Q Kusko
Aika T Bowley
Rodrigues D Malet
Smith O Slusarski
Mayumi L Gillian
Leja N Ruta
Antonio J Bolognia
Maria Q Flosi
Ricardo K Oldroyd
Darci H Kusko
Claire O Caldarera
Leon V Kolmetz
James U Morasca
Izzy K Stenseth
Tony M Ferencz
Chavez F Bolognia
Tony I Stenseth
Ashley G Sergi
Izzy V Bowley
Johnson I Stenseth
IdCountryDate
1000Brazil2024-06-19
1001Spain2024-05-31
1002Argentina2024-05-24
1003Italy2024-05-24
1004Spain2024-06-05
1005India2024-06-06
1006Germany2024-06-15
1007India2024-06-11
1008Australia2024-06-14
1009India2024-06-08
1010Argentina2024-05-30
1011Canada2024-06-17
1012Japan2024-05-24
1013India2024-06-02
1014Australia2024-06-18
1015India2024-06-07
1016Australia2024-06-03
1017Germany2024-05-31
1018Japan2024-06-13
1019Japan2024-06-02
1020Argentina2024-05-24
1021Canada2024-06-06
1022Argentina2024-06-18
1023Japan2024-05-31
1024Canada2024-05-30
1025Argentina2024-06-11
1026Japan2024-06-04
1027Germany2024-05-26
1028Russia2024-06-13
1029Canada2024-06-11
1030Brazil2024-05-29
1031Argentina2024-06-10
1032Germany2024-06-07
1033Canada2024-06-20
1034Brazil2024-05-25
1035Italy2024-05-28
1036Brazil2024-05-26
1037Italy2024-05-25
1038Japan2024-06-10
1039United Kingdom2024-06-14
1040Germany2024-06-07
1041France2024-06-18
1042United Kingdom2024-06-20
1043Germany2024-06-04
1044Canada2024-05-29
1045United Kingdom2024-06-18
1046Australia2024-05-25
1047Spain2024-06-10
1048Brazil2024-06-02
1049Russia2024-05-29

On-Demand Data

NameIdCountryDate
Ricardo K Bolognia1000Australia2024-06-08
Aditya K Poquette1001France2024-06-11
Smith I Malet1002Canada2024-06-18
Ivar O Vocelka1003Argentina2024-06-08
Jennifer F Maclead1004Italy2024-06-10
Claire G Wieser1005India2024-06-20
Maisha E Glick1006Brazil2024-06-19
Ashley W Malet1007Japan2024-06-16
Sinclair T Kusko1008Australia2024-06-12
Nicolas Q Malet1009Argentina2024-05-26
Maria W Marrier1010Germany2024-06-15
Cody V Oldroyd1011Brazil2024-06-13
Jones W Ruta1012Spain2024-05-24
Ivar V Gillian1013Brazil2024-06-17
Rodrigues A Ostrosky1014Argentina2024-05-24
Antonio E Vocelka1015Japan2024-06-21
Rodrigues W Foller1016United Kingdom2024-06-09
Cody G Caudy1017Canada2024-06-18
Izzy S Caudy1018Spain2024-06-08
Ivar A Briddick1019Canada2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer H RoysterGermanyOnyama Limba PROPOSAL
Munro F RulapaughFranceIoni Bowcher UNQUALIFIED
Ivar J DarakjyItalyBernardo Dominic RENEWAL
Arvin J DarakjySpainAmy Elsner QUALIFIED
Silvio X SchemmerBrazilOnyama Limba NEW
Nicolas A ShinkoBrazilBernardo Dominic RENEWAL
Claire R RulapaughBrazilAnna Fali NEGOTIATION
Nicolas C RoysterItalyBernardo Dominic UNQUALIFIED
Munro O TollnerArgentinaElwin Sharvill NEW
Jones C SchemmerRussiaStephen Shaw PROPOSAL
Nicolas M CaudyCanadaIvan Magalhaes NEW
Ivar X FerenczAustraliaIvan Magalhaes NEW
Silvio U FerenczBrazilOnyama Limba NEW
Izzy L NestleJapanIoni Bowcher RENEWAL
Kaitlin L StockhamAustraliaXuxue Feng QUALIFIED
Leja B GillianArgentinaIvan Magalhaes UNQUALIFIED
Kaitlin A StockhamBrazilAnna Fali RENEWAL
Kaitlin N FollerRussiaBernardo Dominic RENEWAL
Jones Q BowleyItalyBernardo Dominic NEW
Octavia O MaletIndiaOnyama Limba PROPOSAL
Izzy K SaylorsGermanyAsiya Javayant NEW
Munro I OldroydIndiaAmy Elsner RENEWAL
Johnson H MacleadCanadaIoni Bowcher NEW
Antonio V RulapaughCanadaStephen Shaw UNQUALIFIED
Francesco C NickaFranceIvan Magalhaes UNQUALIFIED
Mujtaba J ChuiBrazilAnna Fali UNQUALIFIED
Salvatore D MorascaRussiaStephen Shaw QUALIFIED
David W PaprockiUnited KingdomStephen Shaw QUALIFIED
Octavia W GillianAustraliaAsiya Javayant RENEWAL
Ricardo R BologniaCanadaStephen Shaw PROPOSAL
Izzy J SlusarskiJapanBernardo Dominic UNQUALIFIED
Kaitlin C ShinkoIndiaElwin Sharvill QUALIFIED
Johnson O AmigonUnited KingdomAmy Elsner NEGOTIATION
Murillo J BologniaAustraliaOnyama Limba NEW
Wickens Z SergiJapanIvan Magalhaes NEW
Isabel L DoeArgentinaBernardo Dominic QUALIFIED
Jennifer W BologniaItalyBernardo Dominic PROPOSAL
Emily C PaprockiRussiaStephen Shaw QUALIFIED
Francesco P VocelkaItalyAmy Elsner RENEWAL
Wickens P InouyeArgentinaStephen Shaw QUALIFIED

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