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
Ricardo Z PaprockiFranceOnyama Limba QUALIFIED
Alejandro I FerenczJapanAsiya Javayant PROPOSAL
Chavez M StensethBrazilStephen Shaw PROPOSAL
Aika M NestleIndiaAmy Elsner PROPOSAL
Octavia K SlusarskiFranceAnna Fali QUALIFIED
Francesco S DoeIndiaOnyama Limba UNQUALIFIED
Faith J KuskoCanadaOnyama Limba QUALIFIED
Ashley J FigeroaFranceXuxue Feng QUALIFIED
Johnson O PerinAustraliaOnyama Limba UNQUALIFIED
Mayumi F OstroskyUnited KingdomIoni Bowcher PROPOSAL
Silvio A OstroskyArgentinaAnna Fali UNQUALIFIED
Jennifer C GarufiItalyAmy Elsner NEW
Isabel R ButtCanadaIvan Magalhaes NEGOTIATION
Antonio X WaycottRussiaStephen Shaw NEGOTIATION
Maria S GlickSpainBernardo Dominic RENEWAL
Misaki X RulapaughRussiaBernardo Dominic PROPOSAL
Ashley B CampainCanadaBernardo Dominic NEGOTIATION
Mujtaba R FigeroaAustraliaAmy Elsner QUALIFIED
Greenwood L CaudyJapanStephen Shaw NEGOTIATION
Mayumi T ChuiSpainAmy Elsner UNQUALIFIED
Emily B MorascaAustraliaOnyama Limba UNQUALIFIED
Cody I AlbaresCanadaBernardo Dominic RENEWAL
Costa H RimCanadaAnna Fali QUALIFIED
Morrow Z DoeArgentinaBernardo Dominic NEW
Tony C RutaUnited KingdomAmy Elsner UNQUALIFIED
Maria F KuskoSpainAsiya Javayant PROPOSAL
Deepesh H WaycottArgentinaBernardo Dominic UNQUALIFIED
Costa T BowleyAustraliaAmy Elsner PROPOSAL
Mayumi I SaylorsFranceElwin Sharvill NEW
Adams B BologniaIndiaElwin Sharvill UNQUALIFIED
Francesco J GarufiRussiaIvan Magalhaes UNQUALIFIED
Leon X CaldareraBrazilBernardo Dominic PROPOSAL
Clifford D GlickIndiaAmy Elsner UNQUALIFIED
Sinclair G MaletJapanOnyama Limba NEGOTIATION
Kaitlin P GauchoIndiaStephen Shaw UNQUALIFIED
Leja D IturbideFranceBernardo Dominic NEW
Greenwood E SlusarskiAustraliaXuxue Feng NEGOTIATION
Ricardo B TollnerSpainStephen Shaw PROPOSAL
Salvatore D AlbaresJapanAsiya Javayant PROPOSAL
Stacey O MacleadFranceOnyama Limba QUALIFIED
Francesco O MaletGermanyBernardo Dominic QUALIFIED
Sinclair I AlbaresFranceStephen Shaw NEGOTIATION
Aika U RulapaughFranceAsiya Javayant NEGOTIATION
Ricardo X ShinkoJapanElwin Sharvill UNQUALIFIED
Jefferson U WieserJapanElwin Sharvill RENEWAL
Leon H OstroskyJapanAnna Fali NEW
Salvatore G WieserBrazilIvan Magalhaes RENEWAL
Maisha L ButtIndiaIvan Magalhaes QUALIFIED
Isabel W CaldareraRussiaBernardo Dominic NEW
Costa P WieserSpainAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith D RutaArgentinaIvan Magalhaes QUALIFIED
Ivar L MorascaSpainOnyama Limba QUALIFIED
Aruna C RulapaughArgentinaOnyama Limba NEGOTIATION
Francesco M GillianFranceAsiya Javayant PROPOSAL
Kaitlin K RutaUnited KingdomStephen Shaw UNQUALIFIED
Nicolas O PaprockiJapanAnna Fali UNQUALIFIED
Stacey D MacleadBrazilStephen Shaw UNQUALIFIED
Munro D BowleyGermanyOnyama Limba UNQUALIFIED
Octavia F ShinkoRussiaOnyama Limba PROPOSAL
Kadeem K GillianRussiaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire E MorascaJapan2024-06-07Benton, John B Jr NEGOTIATION60Anna Fali
1001Kadeem R SchemmerJapan2024-06-06King, Christopher A Esq NEGOTIATION23Amy Elsner
1002Salvatore H ShinkoIndia2024-06-17Dorl, James J Esq NEW33Elwin Sharvill
1003Antonio N GauchoBrazil2024-06-18Chemel, James L Cpa NEW99Ioni Bowcher
1004Claire I StockhamItaly2024-05-31Chanay, Jeffrey A Esq NEGOTIATION33Stephen Shaw
1005Cody Y ButtGermany2024-06-10Truhlar And Truhlar Attys QUALIFIED96Ivan Magalhaes
1006Julie F SlusarskiSpain2024-06-22Morlong Associates RENEWAL19Stephen Shaw
1007Ricardo O VocelkaFrance2024-06-01Feiner Bros UNQUALIFIED66Anna Fali
1008Emily I StockhamAustralia2024-06-12Rangoni Of Florence UNQUALIFIED45Bernardo Dominic
1009Costa B SchemmerBrazil2024-06-07Feiner Bros RENEWAL46Bernardo Dominic
1010Arvin A GauchoIndia2024-06-20Feltz Printing Service NEW86Asiya Javayant
1011Deepesh K ButtJapan2024-06-01Feiner Bros QUALIFIED27Asiya Javayant
1012Clifford D RoysterUnited Kingdom2024-06-17Rangoni Of Florence QUALIFIED66Asiya Javayant
1013Darci M DarakjyJapan2024-06-05Chemel, James L Cpa UNQUALIFIED5Ivan Magalhaes
1014Kadeem G MarrierGermany2024-06-05Rangoni Of Florence PROPOSAL90Anna Fali
1015Izzy E RulapaughUnited Kingdom2024-05-27Truhlar And Truhlar Attys PROPOSAL47Bernardo Dominic
1016Kaitlin P FigeroaArgentina2024-05-29King, Christopher A Esq UNQUALIFIED47Ivan Magalhaes
1017Claire Y FigeroaIndia2024-06-14Feltz Printing Service QUALIFIED26Onyama Limba
1018Aruna G FlosiSpain2024-06-17Morlong Associates QUALIFIED6Bernardo Dominic
1019Jones I PaprockiGermany2024-06-22Chanay, Jeffrey A Esq RENEWAL40Elwin Sharvill
1020Stacey E TollnerFrance2024-06-06Feiner Bros UNQUALIFIED83Bernardo Dominic
1021Antonio Q CaudyGermany2024-06-17Rangoni Of Florence NEW48Elwin Sharvill
1022Ashley Q DilliardAustralia2024-06-10Truhlar And Truhlar Attys QUALIFIED40Amy Elsner
1023Antonio O AmigonAustralia2024-06-06Dorl, James J Esq UNQUALIFIED46Xuxue Feng
1024Cody C GauchoItaly2024-06-15Printing Dimensions NEGOTIATION54Anna Fali
1025Chavez X InouyeFrance2024-06-16Buckley Miller Wright PROPOSAL21Onyama Limba
1026Cody X BriddickGermany2024-06-09Chemel, James L Cpa PROPOSAL36Stephen Shaw
1027Wickens K MaletIndia2024-06-22Morlong Associates UNQUALIFIED88Onyama Limba
1028Misaki P MorascaItaly2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED60Asiya Javayant
1029Ricardo W RoysterFrance2024-06-17Chapman, Ross E Esq QUALIFIED79Asiya Javayant
1030Antonio W MorascaGermany2024-05-24Rangoni Of Florence UNQUALIFIED7Onyama Limba
1031Mujtaba F KolmetzIndia2024-06-14Chapman, Ross E Esq NEGOTIATION89Ioni Bowcher
1032Leja B PoquetteAustralia2024-05-28Benton, John B Jr NEW40Onyama Limba
1033Adams R MaletGermany2024-06-13Chapman, Ross E Esq QUALIFIED69Ioni Bowcher
1034Salvatore E PaprockiAustralia2024-06-20Dorl, James J Esq NEGOTIATION0Elwin Sharvill
1035Octavia B ChuiAustralia2024-06-20Printing Dimensions RENEWAL27Ioni Bowcher
1036Misaki Y SaylorsRussia2024-05-25Printing Dimensions RENEWAL49Stephen Shaw
1037Leon K PoquetteAustralia2024-06-22Commercial Press NEW80Onyama Limba
1038Aruna L SergiIndia2024-06-17Buckley Miller Wright NEGOTIATION37Stephen Shaw
1039Maisha E OstroskyJapan2024-06-13Chapman, Ross E Esq PROPOSAL8Ioni Bowcher
1040Ivar N MacleadSpain2024-05-28Truhlar And Truhlar Attys NEGOTIATION91Elwin Sharvill
1041Claire Z PerinAustralia2024-05-25Feltz Printing Service PROPOSAL80Bernardo Dominic
1042Munro J DarakjyIndia2024-06-04Rousseaux, Michael Esq RENEWAL33Asiya Javayant
1043Claire W PoquetteArgentina2024-05-29Buckley Miller Wright QUALIFIED48Bernardo Dominic
1044Kaitlin K AlbaresGermany2024-06-05Truhlar And Truhlar Attys QUALIFIED53Ivan Magalhaes
1045Octavia Q PerinIndia2024-06-10Chapman, Ross E Esq RENEWAL64Ivan Magalhaes
1046Aruna D FollerSpain2024-05-26Dorl, James J Esq NEW85Ioni Bowcher
1047Aruna D FerenczAustralia2024-05-30Rousseaux, Michael Esq PROPOSAL69Xuxue Feng
1048Jeanfrancois V PoquetteAustralia2024-05-31Chanay, Jeffrey A Esq NEGOTIATION50Elwin Sharvill
1049Maisha P GillianRussia2024-06-09Morlong Associates QUALIFIED84Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Adams K BologniaFranceBernardo Dominic RENEWAL
Aika N KuskoArgentinaBernardo Dominic PROPOSAL
Clifford P MarrierFranceAsiya Javayant PROPOSAL
Rodrigues O OldroydBrazilOnyama Limba NEGOTIATION
Aruna N RutaArgentinaAnna Fali UNQUALIFIED
Ashley F CaldareraBrazilAmy Elsner UNQUALIFIED
Izzy F SchemmerAustraliaOnyama Limba RENEWAL
Arvin V ChuiRussiaIoni Bowcher UNQUALIFIED
Misaki H SergiJapanElwin Sharvill NEGOTIATION
Morrow K ShinkoSpainIoni Bowcher RENEWAL
James Y AlbaresRussiaAsiya Javayant QUALIFIED
Morrow L FerenczItalyStephen Shaw NEW
Isabel N WieserUnited KingdomAmy Elsner QUALIFIED
Jones W SaylorsItalyOnyama Limba QUALIFIED
Deepesh B MarrierArgentinaAsiya Javayant PROPOSAL
Juan R NickaGermanyXuxue Feng RENEWAL
Greenwood D AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Jennifer U RulapaughFranceOnyama Limba RENEWAL
Nicolas S GauchoBrazilStephen Shaw UNQUALIFIED
Chavez M FlosiArgentinaStephen Shaw QUALIFIED
Silvio A IturbideUnited KingdomAnna Fali NEW
Alejandro A SchemmerGermanyStephen Shaw NEW
David Y OstroskyItalyIoni Bowcher NEW
Clifford P MaletIndiaAmy Elsner NEGOTIATION
Aika T RoysterGermanyAmy Elsner NEGOTIATION
Ricardo I VocelkaBrazilAnna Fali NEGOTIATION
Claire F WhobreyAustraliaBernardo Dominic NEW
Cody I PaprockiArgentinaOnyama Limba UNQUALIFIED
Wickens B RoysterItalyBernardo Dominic QUALIFIED
Jones K GarufiFranceIvan Magalhaes QUALIFIED
Misaki S VocelkaCanadaXuxue Feng UNQUALIFIED
Tony I PaprockiItalyAsiya Javayant RENEWAL
Darci F BologniaFranceAnna Fali QUALIFIED
Emily W AlbaresGermanyBernardo Dominic QUALIFIED
Antonio L ChuiGermanyOnyama Limba RENEWAL
Kadeem W WaycottUnited KingdomIvan Magalhaes PROPOSAL
Silvio P SlusarskiIndiaBernardo Dominic NEGOTIATION
Ivar U CampainJapanAmy Elsner PROPOSAL
Francesco S StensethArgentinaBernardo Dominic RENEWAL
Kadeem N GarufiIndiaAmy Elsner PROPOSAL
Stacey O SaylorsSpainElwin Sharvill NEGOTIATION
Silvio S WieserItalyXuxue Feng NEGOTIATION
Leja B SlusarskiJapanAsiya Javayant QUALIFIED
Wickens M FerenczSpainStephen Shaw NEGOTIATION
Aditya C DarakjySpainAnna Fali UNQUALIFIED
Misaki G DilliardBrazilOnyama Limba RENEWAL
Jefferson G ButtUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues L FlosiItalyAsiya Javayant NEW
Stacey T BologniaFranceOnyama Limba PROPOSAL
Francesco F GarufiIndiaElwin Sharvill PROPOSAL
Frozen Columns
Name
Munro P Kusko
Nicolas F Schemmer
Chavez K Royster
Nicolas E Vocelka
Ricardo V Perin
Nicolas P Wieser
Ricardo N Paprocki
Nicolas Z Kolmetz
Alejandro Q Dilliard
Ashley R Schemmer
Francesco T Perin
Costa L Morasca
Misaki X Saylors
Jennifer X Amigon
Jeanfrancois P Kolmetz
Jeanfrancois V Campain
Juan T Slusarski
Leja W Caudy
Julie A Inouye
Misaki X Morasca
Julie J Ferencz
Claire S Kolmetz
Izzy X Caudy
Julie R Figeroa
Adams E Ruta
Sinclair R Paprocki
Arvin B Garufi
Mujtaba N Schemmer
Mujtaba U Stockham
Claire N Perin
Cody H Tollner
Faith I Dilliard
Mujtaba V Bowley
Misaki B Caudy
Stacey X Stenseth
Salvatore O Stockham
Nicolas B Rim
Antonio G Caldarera
Alejandro H Royster
Leon O Butt
Maria V Rim
Ricardo T Morasca
Juan Q Inouye
David F Tollner
Deepesh W Campain
Juan D Tollner
Leon O Schemmer
Maria Q Waycott
Morrow G Briddick
Clifford P Ruta
IdCountryDate
1000Russia2024-06-05
1001Japan2024-06-17
1002United Kingdom2024-06-18
1003Japan2024-06-06
1004Russia2024-06-05
1005Canada2024-06-06
1006Brazil2024-06-18
1007Brazil2024-06-03
1008Japan2024-06-07
1009Spain2024-06-22
1010Germany2024-06-15
1011Argentina2024-05-26
1012Australia2024-05-25
1013Brazil2024-06-21
1014Russia2024-06-07
1015Australia2024-06-21
1016Italy2024-06-15
1017Australia2024-06-12
1018India2024-06-03
1019France2024-06-20
1020France2024-06-21
1021Brazil2024-06-14
1022Australia2024-05-29
1023Japan2024-06-11
1024Russia2024-05-24
1025Russia2024-05-24
1026Brazil2024-06-04
1027Australia2024-06-11
1028Russia2024-06-02
1029United Kingdom2024-06-13
1030Italy2024-05-25
1031Argentina2024-06-17
1032Argentina2024-05-28
1033Germany2024-06-12
1034Canada2024-05-30
1035Germany2024-06-11
1036Japan2024-05-24
1037Brazil2024-06-02
1038France2024-05-24
1039United Kingdom2024-05-28
1040Russia2024-06-06
1041Australia2024-05-24
1042Argentina2024-06-14
1043Germany2024-05-26
1044Spain2024-06-12
1045Italy2024-06-12
1046Brazil2024-06-15
1047Germany2024-06-20
1048Canada2024-06-13
1049Argentina2024-06-09

On-Demand Data

NameIdCountryDate
Antonio J Maclead1000France2024-06-15
Jones B Ostrosky1001Russia2024-06-22
Francesco C Briddick1002Australia2024-06-18
Maria S Shinko1003Australia2024-06-12
Kaitlin W Perin1004Brazil2024-06-20
James W Stockham1005Australia2024-06-16
Jones V Wieser1006France2024-06-20
Emily I Waycott1007Italy2024-05-26
Aditya Q Shinko1008Russia2024-06-09
Jones E Whobrey1009Italy2024-06-08
Maria D Tollner1010Argentina2024-05-27
Sinclair L Kusko1011France2024-06-04
Wickens P Nicka1012Russia2024-06-03
Nicolas O Albares1013India2024-06-02
Ashley S Maclead1014Canada2024-06-02
Kadeem L Caudy1015Russia2024-06-19
Faith M Amigon1016Australia2024-05-29
Misaki Z Vocelka1017France2024-06-07
Ivar F Campain1018Italy2024-06-13
Isabel W Morasca1019India2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci R FollerJapanAmy Elsner PROPOSAL
Jeanfrancois P RutaCanadaOnyama Limba QUALIFIED
Antonio G SergiBrazilBernardo Dominic QUALIFIED
Nicolas P DilliardJapanStephen Shaw QUALIFIED
Chavez X BriddickJapanAmy Elsner PROPOSAL
Jones E PaprockiRussiaIoni Bowcher UNQUALIFIED
Nicolas O SaylorsJapanAmy Elsner UNQUALIFIED
Faith D SaylorsArgentinaIoni Bowcher UNQUALIFIED
Francesco H RimCanadaIoni Bowcher NEGOTIATION
Greenwood T InouyeUnited KingdomAsiya Javayant PROPOSAL
Morrow E DilliardIndiaAmy Elsner UNQUALIFIED
Johnson L CaudyBrazilAmy Elsner NEW
Aika A VenereAustraliaOnyama Limba RENEWAL
Faith R AlbaresBrazilBernardo Dominic NEGOTIATION
Kadeem Q MarrierIndiaIoni Bowcher NEGOTIATION
Aruna W ButtItalyAnna Fali NEGOTIATION
Wickens Y SlusarskiArgentinaAmy Elsner NEGOTIATION
Silvio Z BologniaSpainIoni Bowcher UNQUALIFIED
Murillo R StensethRussiaStephen Shaw RENEWAL
Kaitlin I PaprockiArgentinaAnna Fali QUALIFIED
Ricardo I IturbideUnited KingdomAnna Fali QUALIFIED
David F StensethIndiaIvan Magalhaes UNQUALIFIED
Kadeem S WaycottCanadaAnna Fali NEW
Mayumi U MorascaArgentinaXuxue Feng NEW
Adams Z MaletGermanyIvan Magalhaes RENEWAL
Greenwood S FerenczBrazilBernardo Dominic NEW
Murillo B WieserUnited KingdomStephen Shaw NEGOTIATION
Kadeem O InouyeGermanyBernardo Dominic NEGOTIATION
Juan D OldroydGermanyXuxue Feng QUALIFIED
Darci F FerenczGermanyIvan Magalhaes UNQUALIFIED
Rodrigues Z CaldareraIndiaStephen Shaw UNQUALIFIED
Maisha N InouyeJapanBernardo Dominic NEW
Maria N ShinkoArgentinaOnyama Limba PROPOSAL
Silvio V PoquetteFranceAmy Elsner QUALIFIED
Alejandro U RoysterBrazilElwin Sharvill NEW
Nicolas Y ButtFranceAsiya Javayant QUALIFIED
Chavez O TollnerIndiaElwin Sharvill NEGOTIATION
Nicolas X DoeUnited KingdomStephen Shaw UNQUALIFIED
Francesco N RulapaughItalyOnyama Limba QUALIFIED
Rodrigues R RutaCanadaAmy Elsner 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>