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
Stacey Z FerenczSpainXuxue Feng RENEWAL
Izzy P WaycottFranceIoni Bowcher UNQUALIFIED
Julie L CaldareraAustraliaIoni Bowcher NEW
Claire O ChuiUnited KingdomAsiya Javayant NEW
Emily B BowleyCanadaAnna Fali QUALIFIED
Morrow C MaletJapanBernardo Dominic RENEWAL
Wickens H RimCanadaOnyama Limba NEGOTIATION
James H NestleRussiaBernardo Dominic NEGOTIATION
Jennifer D CampainArgentinaXuxue Feng PROPOSAL
Nicolas Q PaprockiUnited KingdomOnyama Limba NEW
Morrow Y IturbideFranceIoni Bowcher QUALIFIED
Ashley N ChuiRussiaBernardo Dominic QUALIFIED
Leja S DilliardBrazilStephen Shaw RENEWAL
Morrow X FerenczIndiaOnyama Limba QUALIFIED
Aruna E SlusarskiSpainOnyama Limba RENEWAL
Misaki S GauchoAustraliaAnna Fali RENEWAL
Leon A KuskoGermanyAmy Elsner UNQUALIFIED
Mujtaba N RoysterSpainStephen Shaw PROPOSAL
Munro Q CaudyRussiaOnyama Limba UNQUALIFIED
Greenwood A RoysterSpainAnna Fali NEGOTIATION
Ricardo P DilliardCanadaElwin Sharvill PROPOSAL
Salvatore Q ButtRussiaAnna Fali RENEWAL
Aruna U FollerUnited KingdomAmy Elsner RENEWAL
Murillo Z PaprockiGermanyAnna Fali NEW
Isabel X StensethUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem G OstroskyGermanyElwin Sharvill NEGOTIATION
Jeanfrancois U TollnerFranceAmy Elsner NEGOTIATION
Smith N StockhamIndiaIvan Magalhaes PROPOSAL
Darci X DilliardItalyStephen Shaw PROPOSAL
Maisha J IturbideCanadaElwin Sharvill RENEWAL
Francesco V PoquetteUnited KingdomIvan Magalhaes RENEWAL
Kaitlin F GarufiIndiaAmy Elsner QUALIFIED
Johnson H PoquetteJapanOnyama Limba RENEWAL
Alejandro O NickaArgentinaIoni Bowcher PROPOSAL
Jefferson V StockhamItalyAsiya Javayant QUALIFIED
Wickens G GillianSpainOnyama Limba NEGOTIATION
Wickens B SlusarskiFranceElwin Sharvill PROPOSAL
Aruna A FerenczArgentinaAsiya Javayant UNQUALIFIED
Aruna Z DarakjyFranceIoni Bowcher RENEWAL
Kaitlin L AlbaresCanadaAnna Fali UNQUALIFIED
Maisha C FollerGermanyBernardo Dominic RENEWAL
Faith U AlbaresBrazilAnna Fali QUALIFIED
Julie H DilliardSpainAnna Fali RENEWAL
Darci X MaletAustraliaAnna Fali PROPOSAL
Octavia Z MaletFranceIoni Bowcher RENEWAL
Chavez F PerinSpainXuxue Feng RENEWAL
Misaki B InouyeSpainBernardo Dominic NEGOTIATION
Deepesh W SaylorsCanadaBernardo Dominic PROPOSAL
Costa N NestleGermanyAnna Fali RENEWAL
Jeanfrancois J OstroskyCanadaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki K MarrierJapanAmy Elsner NEW
Kaitlin S GauchoBrazilAsiya Javayant NEW
Jeanfrancois E KolmetzUnited KingdomIvan Magalhaes NEW
Costa M BriddickJapanOnyama Limba RENEWAL
Isabel L WaycottFranceBernardo Dominic PROPOSAL
Chavez Z DarakjyItalyIoni Bowcher NEW
Costa W StockhamAustraliaIoni Bowcher RENEWAL
Chavez Q AmigonSpainAnna Fali NEW
Jennifer V WieserJapanAmy Elsner QUALIFIED
Ashley X InouyeUnited KingdomAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas U MaletFrance2024-05-05Chemel, James L Cpa NEGOTIATION38Ioni Bowcher
1001Deepesh K RoysterGermany2024-05-24Chanay, Jeffrey A Esq QUALIFIED25Anna Fali
1002David H BowleyArgentina2024-04-27Benton, John B Jr NEGOTIATION68Onyama Limba
1003Morrow D GlickCanada2024-05-03Chemel, James L Cpa QUALIFIED30Ioni Bowcher
1004Morrow H BologniaGermany2024-05-16Chanay, Jeffrey A Esq QUALIFIED40Asiya Javayant
1005Aruna S KuskoSpain2024-05-24Rousseaux, Michael Esq UNQUALIFIED71Ivan Magalhaes
1006Jones D PerinUnited Kingdom2024-05-09Benton, John B Jr NEGOTIATION98Ioni Bowcher
1007Leja L SergiAustralia2024-05-24Chemel, James L Cpa UNQUALIFIED43Onyama Limba
1008Tony C SlusarskiIndia2024-05-08Feltz Printing Service RENEWAL45Bernardo Dominic
1009Jefferson T TollnerIndia2024-05-22Chemel, James L Cpa PROPOSAL23Ivan Magalhaes
1010Rodrigues N CampainAustralia2024-04-28Dorl, James J Esq RENEWAL73Ioni Bowcher
1011Aditya U GarufiItaly2024-05-12Rangoni Of Florence RENEWAL52Anna Fali
1012Misaki A SaylorsFrance2024-04-28Buckley Miller Wright UNQUALIFIED38Ivan Magalhaes
1013Stacey K FlosiAustralia2024-05-21King, Christopher A Esq UNQUALIFIED38Elwin Sharvill
1014Tony N DoeIndia2024-05-08Benton, John B Jr NEGOTIATION96Bernardo Dominic
1015Julie J RoysterIndia2024-05-01Dorl, James J Esq UNQUALIFIED76Asiya Javayant
1016Francesco K SaylorsCanada2024-04-30Rousseaux, Michael Esq PROPOSAL16Asiya Javayant
1017Smith A MaletAustralia2024-05-02Feiner Bros NEW46Anna Fali
1018Munro H DarakjyUnited Kingdom2024-04-30Buckley Miller Wright NEGOTIATION72Anna Fali
1019Rodrigues V DilliardUnited Kingdom2024-05-14Rousseaux, Michael Esq UNQUALIFIED60Ivan Magalhaes
1020Aika Z FollerBrazil2024-05-17Benton, John B Jr UNQUALIFIED42Ioni Bowcher
1021Stacey I FlosiUnited Kingdom2024-05-11Commercial Press NEGOTIATION6Amy Elsner
1022James L DoeArgentina2024-05-17King, Christopher A Esq NEGOTIATION23Xuxue Feng
1023Jennifer P StensethCanada2024-05-11Commercial Press UNQUALIFIED63Amy Elsner
1024Claire U VenereArgentina2024-05-01Feiner Bros NEW1Stephen Shaw
1025Mujtaba F SlusarskiBrazil2024-05-21Chapman, Ross E Esq RENEWAL97Xuxue Feng
1026Tony B OldroydArgentina2024-05-08King, Christopher A Esq UNQUALIFIED52Elwin Sharvill
1027Clifford U InouyeSpain2024-05-12Benton, John B Jr NEW32Asiya Javayant
1028Alejandro V DilliardRussia2024-05-17Chanay, Jeffrey A Esq RENEWAL4Ivan Magalhaes
1029Darci Z StockhamUnited Kingdom2024-05-16Chanay, Jeffrey A Esq QUALIFIED52Ioni Bowcher
1030Julie W DoeBrazil2024-05-08Truhlar And Truhlar Attys QUALIFIED17Asiya Javayant
1031Aruna V AmigonItaly2024-04-27Rangoni Of Florence RENEWAL43Asiya Javayant
1032Claire J PerinRussia2024-04-27Benton, John B Jr QUALIFIED33Ivan Magalhaes
1033Francesco Z KuskoSpain2024-05-23Dorl, James J Esq RENEWAL93Bernardo Dominic
1034Rodrigues A VenereSpain2024-05-13Buckley Miller Wright NEGOTIATION6Asiya Javayant
1035Tony M GlickSpain2024-05-10Chanay, Jeffrey A Esq QUALIFIED10Xuxue Feng
1036Morrow E WieserRussia2024-05-15Chapman, Ross E Esq PROPOSAL3Ioni Bowcher
1037Chavez Y ShinkoUnited Kingdom2024-05-13Truhlar And Truhlar Attys NEW3Ioni Bowcher
1038Jones Z IturbideIndia2024-05-02Rangoni Of Florence NEW84Xuxue Feng
1039Faith U ShinkoItaly2024-05-21Chemel, James L Cpa QUALIFIED69Amy Elsner
1040Rodrigues I WieserJapan2024-05-16Chemel, James L Cpa QUALIFIED21Elwin Sharvill
1041Salvatore L CaldareraArgentina2024-05-09Chanay, Jeffrey A Esq QUALIFIED76Onyama Limba
1042Emily X RoysterSpain2024-05-09Rousseaux, Michael Esq NEW27Anna Fali
1043Rodrigues O FlosiIndia2024-05-02Benton, John B Jr RENEWAL58Bernardo Dominic
1044Chavez W KuskoAustralia2024-05-10Rangoni Of Florence PROPOSAL99Xuxue Feng
1045David S VocelkaUnited Kingdom2024-05-17King, Christopher A Esq NEGOTIATION99Stephen Shaw
1046Izzy P ShinkoIndia2024-05-13Buckley Miller Wright PROPOSAL61Asiya Javayant
1047Ricardo W VenereRussia2024-05-19Morlong Associates NEW41Amy Elsner
1048Smith Z BologniaGermany2024-05-02Chapman, Ross E Esq NEGOTIATION62Stephen Shaw
1049Ricardo G DilliardBrazil2024-05-23Rangoni Of Florence RENEWAL79Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba A KuskoItalyOnyama Limba UNQUALIFIED
Julie H FollerIndiaAnna Fali UNQUALIFIED
Alejandro A BowleyRussiaBernardo Dominic RENEWAL
Misaki Y PerinSpainXuxue Feng NEGOTIATION
Chavez K ShinkoFranceElwin Sharvill QUALIFIED
Maisha B BriddickGermanyAsiya Javayant QUALIFIED
Aruna Y GarufiIndiaStephen Shaw PROPOSAL
Darci H ShinkoIndiaAnna Fali NEGOTIATION
Juan A ButtJapanAmy Elsner QUALIFIED
Silvio W KolmetzItalyElwin Sharvill UNQUALIFIED
Mujtaba G WhobreyArgentinaXuxue Feng UNQUALIFIED
Claire P StensethBrazilAnna Fali NEGOTIATION
Smith H WaycottSpainAsiya Javayant NEGOTIATION
Maria V MaletItalyOnyama Limba NEGOTIATION
Arvin X MarrierGermanyOnyama Limba RENEWAL
Stacey S DarakjyJapanAmy Elsner UNQUALIFIED
Mayumi H NestleIndiaAnna Fali NEW
Greenwood H VenereJapanOnyama Limba NEGOTIATION
Mujtaba A VocelkaAustraliaElwin Sharvill UNQUALIFIED
Ashley S ChuiArgentinaStephen Shaw QUALIFIED
Johnson B BowleyGermanyBernardo Dominic NEW
Morrow F MaletGermanyXuxue Feng NEW
Ashley A BowleyArgentinaOnyama Limba NEW
David M NickaUnited KingdomAmy Elsner RENEWAL
Ashley S KolmetzBrazilBernardo Dominic PROPOSAL
Adams A GauchoFranceXuxue Feng UNQUALIFIED
Salvatore C WhobreyRussiaIvan Magalhaes RENEWAL
James U WaycottJapanAmy Elsner NEGOTIATION
Jennifer A MaletBrazilXuxue Feng NEGOTIATION
Misaki M RimGermanyOnyama Limba PROPOSAL
Chavez F RulapaughUnited KingdomAmy Elsner QUALIFIED
Antonio B WieserAustraliaIvan Magalhaes UNQUALIFIED
David R GarufiCanadaStephen Shaw PROPOSAL
Izzy H StockhamSpainBernardo Dominic UNQUALIFIED
Rodrigues S ButtFranceBernardo Dominic NEGOTIATION
Munro W AmigonBrazilIoni Bowcher UNQUALIFIED
Sinclair S StensethRussiaIoni Bowcher PROPOSAL
Juan J CaldareraCanadaElwin Sharvill QUALIFIED
Silvio Y GauchoUnited KingdomStephen Shaw UNQUALIFIED
Jennifer G ChuiArgentinaIoni Bowcher NEW
Aditya N KolmetzFranceOnyama Limba NEW
Ricardo Z RimBrazilAsiya Javayant RENEWAL
James S AlbaresBrazilIvan Magalhaes RENEWAL
Ashley W CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues M FlosiAustraliaStephen Shaw NEGOTIATION
Johnson Z StensethAustraliaBernardo Dominic RENEWAL
Ashley O DarakjyRussiaAnna Fali NEGOTIATION
Wickens G VocelkaGermanyAmy Elsner QUALIFIED
Stacey Y OstroskyItalyElwin Sharvill RENEWAL
Maisha P SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Frozen Columns
Name
Murillo X Rulapaugh
Aruna E Rim
Clifford C Sergi
Deepesh V Darakjy
Ricardo W Vocelka
Rodrigues B Butt
Emily U Saylors
Silvio O Stenseth
Morrow Y Ferencz
Sinclair O Stenseth
Faith P Campain
Rodrigues T Amigon
Adams I Campain
Antonio V Schemmer
Francesco C Foller
Mayumi M Garufi
Aika L Foller
Alejandro B Slusarski
Mujtaba V Glick
Mujtaba L Whobrey
Rodrigues X Malet
Stacey O Stenseth
Jennifer F Nestle
Juan H Figeroa
Kaitlin E Tollner
Darci K Oldroyd
Isabel C Stenseth
Wickens W Glick
Ricardo F Wieser
Smith Y Rim
Jennifer P Malet
Nicolas G Caudy
Rodrigues S Poquette
Arvin N Waycott
Adams G Glick
Izzy A Butt
Morrow Z Doe
Ashley T Waycott
Wickens C Saylors
Morrow B Chui
Arvin R Perin
Munro X Foller
Faith J Stockham
Ivar X Sergi
Mayumi V Shinko
Smith N Gillian
Rodrigues V Rulapaugh
Julie V Malet
Mayumi C Briddick
Emily C Morasca
IdCountryDate
1000France2024-05-13
1001Spain2024-05-16
1002Italy2024-05-17
1003United Kingdom2024-05-18
1004France2024-05-23
1005Argentina2024-05-07
1006Italy2024-05-04
1007Canada2024-05-15
1008Australia2024-05-08
1009Japan2024-04-27
1010France2024-05-15
1011France2024-05-12
1012Japan2024-04-28
1013Italy2024-05-23
1014Argentina2024-05-19
1015Germany2024-05-23
1016Brazil2024-05-23
1017Russia2024-05-01
1018Canada2024-05-04
1019Russia2024-05-11
1020Germany2024-04-26
1021Canada2024-05-01
1022Italy2024-05-13
1023Japan2024-05-07
1024France2024-05-01
1025Italy2024-04-25
1026Russia2024-05-19
1027France2024-05-04
1028Brazil2024-05-02
1029Italy2024-05-16
1030Canada2024-05-22
1031Japan2024-05-24
1032Italy2024-05-02
1033Canada2024-05-03
1034Italy2024-05-09
1035Japan2024-05-08
1036Brazil2024-05-17
1037Brazil2024-05-12
1038Japan2024-05-05
1039Australia2024-04-30
1040Brazil2024-05-03
1041France2024-05-13
1042Italy2024-04-25
1043Spain2024-05-06
1044Australia2024-05-22
1045Brazil2024-05-24
1046United Kingdom2024-04-26
1047Italy2024-05-10
1048Japan2024-04-30
1049Japan2024-05-20

On-Demand Data

NameIdCountryDate
Jeanfrancois Z Darakjy1000France2024-05-20
Kaitlin K Marrier1001Australia2024-05-01
Costa W Caudy1002Germany2024-05-13
Murillo X Bowley1003Italy2024-05-03
Costa P Paprocki1004Canada2024-05-02
Wickens Y Perin1005France2024-05-23
Francesco S Schemmer1006Japan2024-05-23
Tony M Garufi1007India2024-05-08
Aditya Y Gaucho1008United Kingdom2024-05-17
Jennifer T Paprocki1009Germany2024-05-23
Ivar O Tollner1010United Kingdom2024-05-21
Clifford F Morasca1011Germany2024-05-11
Tony L Butt1012France2024-05-11
Juan Q Darakjy1013United Kingdom2024-05-21
James W Darakjy1014Russia2024-04-25
Sinclair H Doe1015Brazil2024-05-24
Maria J Maclead1016Brazil2024-05-03
Salvatore X Campain1017Australia2024-05-12
Sinclair L Gaucho1018Spain2024-05-10
Emily B Stockham1019Russia2024-04-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh V OldroydRussiaXuxue Feng NEGOTIATION
Rodrigues N DarakjyAustraliaAnna Fali QUALIFIED
Deepesh Y GlickFranceAnna Fali PROPOSAL
Ivar B MarrierUnited KingdomAnna Fali QUALIFIED
Adams Z WhobreyArgentinaElwin Sharvill QUALIFIED
Maisha T ChuiItalyIvan Magalhaes RENEWAL
Arvin E ShinkoAustraliaXuxue Feng NEW
Jones X RulapaughBrazilXuxue Feng UNQUALIFIED
Aruna W SergiItalyIoni Bowcher UNQUALIFIED
Chavez S DilliardItalyXuxue Feng UNQUALIFIED
Emily B MaletGermanyXuxue Feng NEGOTIATION
Cody C ButtAustraliaXuxue Feng RENEWAL
Julie X CampainFranceAsiya Javayant RENEWAL
Julie V DoeAustraliaAsiya Javayant RENEWAL
Mujtaba I VenereGermanyAsiya Javayant NEGOTIATION
Ivar M RulapaughBrazilAmy Elsner NEGOTIATION
Emily Q MaletIndiaOnyama Limba UNQUALIFIED
Claire A VocelkaJapanAnna Fali QUALIFIED
Jennifer N RutaItalyAnna Fali UNQUALIFIED
Costa X CaldareraSpainXuxue Feng NEGOTIATION
James D RoysterAustraliaAmy Elsner NEGOTIATION
Silvio Q VenereJapanOnyama Limba NEGOTIATION
Rodrigues H SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens P WaycottGermanyElwin Sharvill UNQUALIFIED
Antonio U MaletFranceAnna Fali PROPOSAL
Alejandro J VocelkaFranceAsiya Javayant QUALIFIED
Mujtaba K CaudyBrazilAnna Fali PROPOSAL
Ricardo Q SergiBrazilElwin Sharvill QUALIFIED
Stacey A PerinUnited KingdomStephen Shaw UNQUALIFIED
Darci D VenereUnited KingdomXuxue Feng QUALIFIED
Tony N AmigonBrazilAsiya Javayant NEW
Alejandro L MarrierUnited KingdomOnyama Limba NEGOTIATION
Aditya T KolmetzSpainStephen Shaw PROPOSAL
Antonio C AlbaresJapanAsiya Javayant NEGOTIATION
Faith F FlosiAustraliaBernardo Dominic UNQUALIFIED
Maria F ButtBrazilIoni Bowcher PROPOSAL
Jefferson S CaudyRussiaBernardo Dominic UNQUALIFIED
Darci I ButtIndiaIoni Bowcher NEW
Ashley W IturbideBrazilAmy Elsner NEGOTIATION
Julie S NickaBrazilXuxue Feng PROPOSAL

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