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
Sinclair I ShinkoUnited KingdomAnna Fali UNQUALIFIED
David Q GauchoFranceBernardo Dominic NEGOTIATION
Cody B NickaArgentinaAsiya Javayant RENEWAL
Deepesh X GauchoBrazilStephen Shaw RENEWAL
Alejandro U ButtIndiaBernardo Dominic PROPOSAL
Mayumi R FigeroaSpainStephen Shaw NEW
Silvio X CampainUnited KingdomAnna Fali RENEWAL
Arvin O PaprockiGermanyOnyama Limba PROPOSAL
Ashley B CaldareraIndiaIoni Bowcher PROPOSAL
Stacey W KuskoArgentinaAnna Fali PROPOSAL
James N GauchoItalyXuxue Feng UNQUALIFIED
Izzy L RoysterJapanAmy Elsner UNQUALIFIED
Aditya M RimGermanyAmy Elsner UNQUALIFIED
Darci Y RutaBrazilElwin Sharvill QUALIFIED
Octavia S WhobreyFranceIvan Magalhaes QUALIFIED
Stacey U BowleyIndiaIoni Bowcher UNQUALIFIED
Chavez H WieserUnited KingdomIoni Bowcher PROPOSAL
Adams V IturbideUnited KingdomXuxue Feng NEW
Nicolas Z ShinkoBrazilElwin Sharvill PROPOSAL
Claire J RimSpainAsiya Javayant QUALIFIED
Ashley W DoeUnited KingdomXuxue Feng PROPOSAL
Leja C PerinFranceAsiya Javayant NEW
Costa J KuskoCanadaOnyama Limba NEGOTIATION
Darci L GillianBrazilAmy Elsner NEW
Izzy Y BowleyUnited KingdomStephen Shaw UNQUALIFIED
Jeanfrancois C FlosiAustraliaIvan Magalhaes UNQUALIFIED
Wickens W StensethCanadaStephen Shaw UNQUALIFIED
Alejandro W CampainCanadaIvan Magalhaes QUALIFIED
Misaki V RoysterUnited KingdomOnyama Limba UNQUALIFIED
Antonio Z RulapaughCanadaOnyama Limba NEW
Cody T PerinUnited KingdomElwin Sharvill NEW
Sinclair V PerinIndiaXuxue Feng PROPOSAL
Misaki I ShinkoArgentinaAmy Elsner PROPOSAL
Claire B GauchoJapanElwin Sharvill PROPOSAL
Francesco B OldroydGermanyBernardo Dominic NEGOTIATION
Jefferson F FerenczJapanIvan Magalhaes RENEWAL
Juan U ButtIndiaElwin Sharvill UNQUALIFIED
Adams C FollerJapanAsiya Javayant NEGOTIATION
Misaki D PaprockiJapanAnna Fali QUALIFIED
Leon D FollerArgentinaAmy Elsner QUALIFIED
Silvio O KolmetzBrazilStephen Shaw UNQUALIFIED
Misaki R WhobreyAustraliaAnna Fali QUALIFIED
Morrow H KolmetzIndiaIvan Magalhaes NEW
James X KuskoGermanyAsiya Javayant QUALIFIED
Rodrigues O MarrierArgentinaAsiya Javayant UNQUALIFIED
Silvio G WhobreyAustraliaElwin Sharvill RENEWAL
Jefferson M SchemmerCanadaAmy Elsner PROPOSAL
Munro Y StensethItalyIoni Bowcher NEW
Salvatore I RutaFranceAsiya Javayant UNQUALIFIED
Rodrigues V NickaArgentinaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna X NickaRussiaElwin Sharvill UNQUALIFIED
Adams M FollerRussiaStephen Shaw RENEWAL
Jeanfrancois Y OldroydRussiaIvan Magalhaes QUALIFIED
Mujtaba C WaycottArgentinaAnna Fali NEW
Misaki Z ChuiItalyStephen Shaw UNQUALIFIED
Darci Y ButtIndiaAsiya Javayant PROPOSAL
Mayumi V RoysterSpainStephen Shaw UNQUALIFIED
Misaki H StensethCanadaAmy Elsner UNQUALIFIED
Maria Z ButtCanadaAmy Elsner QUALIFIED
Aruna I MarrierBrazilXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily Z VenereArgentina2024-06-14Printing Dimensions PROPOSAL49Stephen Shaw
1001Alejandro W KolmetzSpain2024-05-24Chapman, Ross E Esq NEGOTIATION86Bernardo Dominic
1002Silvio O SlusarskiIndia2024-06-04Chanay, Jeffrey A Esq NEGOTIATION18Ivan Magalhaes
1003Stacey U DoeBrazil2024-06-11Printing Dimensions QUALIFIED5Ivan Magalhaes
1004Darci F BologniaIndia2024-06-16Chapman, Ross E Esq RENEWAL22Stephen Shaw
1005Alejandro E CaudyArgentina2024-06-13Buckley Miller Wright RENEWAL35Asiya Javayant
1006Smith Q FlosiFrance2024-06-06Feltz Printing Service RENEWAL54Ivan Magalhaes
1007Darci H TollnerGermany2024-05-30Rousseaux, Michael Esq NEW12Bernardo Dominic
1008Kaitlin F CaldareraCanada2024-05-24Printing Dimensions RENEWAL49Stephen Shaw
1009Kadeem D GillianArgentina2024-05-26Feiner Bros RENEWAL28Amy Elsner
1010Costa Z SergiAustralia2024-06-12Benton, John B Jr PROPOSAL30Onyama Limba
1011Stacey L CaldareraCanada2024-05-30Commercial Press NEGOTIATION20Asiya Javayant
1012Aruna D AmigonIndia2024-06-14Chapman, Ross E Esq RENEWAL46Onyama Limba
1013Mayumi K DilliardGermany2024-06-01Buckley Miller Wright NEW69Xuxue Feng
1014Francesco W RutaBrazil2024-06-19Buckley Miller Wright PROPOSAL39Asiya Javayant
1015Wickens E PoquetteJapan2024-06-02Commercial Press NEGOTIATION32Ioni Bowcher
1016Stacey L SergiRussia2024-06-05Feltz Printing Service UNQUALIFIED55Onyama Limba
1017Rodrigues F NestleIndia2024-06-01Chapman, Ross E Esq NEW41Amy Elsner
1018Maisha J ShinkoSpain2024-06-21Rousseaux, Michael Esq UNQUALIFIED55Ioni Bowcher
1019Cody Y ShinkoSpain2024-06-19Rousseaux, Michael Esq NEW35Elwin Sharvill
1020Octavia E KuskoUnited Kingdom2024-05-25Benton, John B Jr RENEWAL64Xuxue Feng
1021Emily U KuskoArgentina2024-06-12Benton, John B Jr QUALIFIED7Ivan Magalhaes
1022Johnson A MarrierFrance2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED7Ioni Bowcher
1023Julie M CaudyIndia2024-06-12Feltz Printing Service NEGOTIATION43Stephen Shaw
1024David K CampainJapan2024-06-16Rangoni Of Florence PROPOSAL69Asiya Javayant
1025Salvatore X ShinkoSpain2024-05-24Rousseaux, Michael Esq PROPOSAL82Amy Elsner
1026Murillo K SergiBrazil2024-05-31Dorl, James J Esq NEGOTIATION98Elwin Sharvill
1027Julie G MarrierIndia2024-06-08King, Christopher A Esq RENEWAL46Onyama Limba
1028Octavia E GlickJapan2024-05-29Rousseaux, Michael Esq QUALIFIED62Xuxue Feng
1029Ricardo X WhobreyFrance2024-06-09King, Christopher A Esq NEGOTIATION88Onyama Limba
1030Ivar G ChuiAustralia2024-06-04Commercial Press UNQUALIFIED67Asiya Javayant
1031Rodrigues K MacleadFrance2024-06-21King, Christopher A Esq RENEWAL18Elwin Sharvill
1032Jefferson N RimBrazil2024-06-09Benton, John B Jr QUALIFIED10Anna Fali
1033Cody H MorascaGermany2024-06-02Rangoni Of Florence UNQUALIFIED50Ivan Magalhaes
1034Wickens G SaylorsGermany2024-06-01Rangoni Of Florence NEGOTIATION97Amy Elsner
1035Mayumi Q FlosiRussia2024-06-12Truhlar And Truhlar Attys RENEWAL1Elwin Sharvill
1036Claire V GillianSpain2024-06-12Truhlar And Truhlar Attys PROPOSAL89Xuxue Feng
1037Chavez B FerenczCanada2024-06-05Rousseaux, Michael Esq NEGOTIATION58Stephen Shaw
1038Salvatore K OstroskyAustralia2024-05-25Benton, John B Jr RENEWAL81Amy Elsner
1039Ricardo I PaprockiAustralia2024-05-24Buckley Miller Wright QUALIFIED34Ioni Bowcher
1040Leon U GauchoItaly2024-05-23Buckley Miller Wright NEW71Xuxue Feng
1041Ricardo I WhobreyGermany2024-05-30King, Christopher A Esq PROPOSAL74Asiya Javayant
1042Ashley T RoysterRussia2024-06-19Commercial Press NEGOTIATION83Onyama Limba
1043Izzy K ChuiUnited Kingdom2024-06-12Dorl, James J Esq NEGOTIATION41Elwin Sharvill
1044Kadeem F ChuiBrazil2024-06-11Printing Dimensions NEW2Amy Elsner
1045Antonio Z FerenczCanada2024-05-27Dorl, James J Esq NEGOTIATION49Xuxue Feng
1046Smith E GlickGermany2024-06-11Buckley Miller Wright RENEWAL1Ivan Magalhaes
1047Aditya D MorascaAustralia2024-06-15Truhlar And Truhlar Attys QUALIFIED37Onyama Limba
1048Arvin E StensethBrazil2024-06-05Chapman, Ross E Esq RENEWAL50Stephen Shaw
1049Sinclair Y VenereUnited Kingdom2024-06-01Benton, John B Jr QUALIFIED62Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Alejandro O DoeCanadaElwin Sharvill QUALIFIED
Smith F OstroskyRussiaStephen Shaw UNQUALIFIED
Aditya Z GillianIndiaElwin Sharvill PROPOSAL
Smith N CampainArgentinaStephen Shaw NEW
Smith J RulapaughBrazilXuxue Feng QUALIFIED
Nicolas B GauchoItalyAnna Fali RENEWAL
Ricardo I MorascaRussiaElwin Sharvill NEW
Jefferson W WieserGermanyAmy Elsner QUALIFIED
Juan D OldroydSpainAsiya Javayant QUALIFIED
Rodrigues F SlusarskiUnited KingdomStephen Shaw QUALIFIED
Clifford H MarrierArgentinaBernardo Dominic NEGOTIATION
Clifford T SchemmerJapanAsiya Javayant UNQUALIFIED
Juan A DoeBrazilAmy Elsner QUALIFIED
Juan G ChuiUnited KingdomStephen Shaw PROPOSAL
Darci F MorascaArgentinaIoni Bowcher QUALIFIED
Jefferson I KuskoIndiaIvan Magalhaes PROPOSAL
Misaki Z MaletGermanyOnyama Limba UNQUALIFIED
Leja U OstroskyGermanyAsiya Javayant NEW
Murillo A DarakjyBrazilOnyama Limba NEW
Maisha A NickaAustraliaOnyama Limba UNQUALIFIED
Ashley F FollerSpainAmy Elsner PROPOSAL
Emily E SergiSpainXuxue Feng QUALIFIED
Jefferson F VocelkaBrazilOnyama Limba UNQUALIFIED
Mayumi K AlbaresSpainAsiya Javayant NEW
Leja F CaldareraCanadaAmy Elsner NEW
Aruna N TollnerRussiaIoni Bowcher UNQUALIFIED
Chavez Q DilliardBrazilXuxue Feng UNQUALIFIED
Silvio S CaldareraCanadaAmy Elsner RENEWAL
Kadeem Q AlbaresGermanyIoni Bowcher RENEWAL
Morrow M PaprockiUnited KingdomStephen Shaw NEW
Nicolas D DilliardJapanAmy Elsner NEW
Ashley Q NickaRussiaBernardo Dominic QUALIFIED
Munro D MorascaItalyOnyama Limba NEGOTIATION
Kadeem H NickaBrazilIoni Bowcher NEW
Leja O DarakjyFranceElwin Sharvill NEGOTIATION
Salvatore O RutaCanadaAnna Fali NEGOTIATION
Kadeem Y SchemmerCanadaXuxue Feng NEGOTIATION
Octavia A DarakjyUnited KingdomOnyama Limba PROPOSAL
Smith T NestleBrazilStephen Shaw NEW
Sinclair N OldroydFranceElwin Sharvill UNQUALIFIED
Maria S BriddickUnited KingdomAmy Elsner QUALIFIED
Izzy Y FigeroaArgentinaStephen Shaw RENEWAL
Tony T ButtJapanOnyama Limba PROPOSAL
Arvin O OldroydIndiaIoni Bowcher RENEWAL
Kaitlin T StensethJapanIoni Bowcher NEGOTIATION
James L CampainSpainAsiya Javayant NEGOTIATION
Jefferson X VenereCanadaAsiya Javayant UNQUALIFIED
Munro Y InouyeGermanyXuxue Feng UNQUALIFIED
Costa V OstroskyItalyIvan Magalhaes QUALIFIED
Jefferson P MarrierItalyIvan Magalhaes NEW
Frozen Columns
Name
Clifford K Gaucho
Salvatore L Saylors
Jones Q Bowley
Greenwood E Foller
Stacey W Rim
Leja O Royster
Aika G Nestle
Jones Q Kolmetz
Ashley Y Doe
Misaki V Schemmer
Octavia P Oldroyd
Deepesh W Campain
Rodrigues L Darakjy
Greenwood W Bowley
Smith F Gillian
Mayumi X Amigon
Faith I Ruta
Julie L Ferencz
Morrow Y Morasca
Octavia Y Nicka
Morrow Z Wieser
Johnson G Garufi
Silvio G Ruta
Misaki B Gaucho
Isabel X Kolmetz
Isabel H Stockham
Alejandro D Foller
Claire A Ruta
Misaki G Nicka
Jeanfrancois B Stenseth
Cody R Rim
Jones B Doe
Munro C Rim
Ashley P Darakjy
Costa W Tollner
Isabel S Darakjy
Darci X Dilliard
Cody T Gaucho
Murillo T Bolognia
Johnson H Shinko
Aika M Waycott
Jeanfrancois W Inouye
Arvin K Caldarera
Morrow C Albares
Aruna B Briddick
Mayumi V Royster
Maisha Z Stenseth
Jeanfrancois K Paprocki
Costa Z Maclead
Chavez S Wieser
IdCountryDate
1000Australia2024-06-01
1001Spain2024-06-03
1002Brazil2024-05-23
1003India2024-06-04
1004Russia2024-05-25
1005India2024-06-15
1006Brazil2024-06-01
1007India2024-06-04
1008Japan2024-05-27
1009United Kingdom2024-06-16
1010Brazil2024-06-11
1011United Kingdom2024-06-13
1012Argentina2024-05-26
1013Australia2024-06-05
1014United Kingdom2024-06-11
1015Italy2024-06-08
1016France2024-06-14
1017Japan2024-05-29
1018Japan2024-05-26
1019France2024-06-12
1020Brazil2024-06-21
1021Germany2024-06-15
1022Russia2024-05-28
1023India2024-05-26
1024Japan2024-06-03
1025India2024-06-13
1026Australia2024-06-10
1027Russia2024-06-14
1028Argentina2024-06-12
1029Japan2024-06-01
1030Russia2024-06-10
1031India2024-05-27
1032Brazil2024-05-25
1033Canada2024-06-02
1034United Kingdom2024-05-26
1035Japan2024-05-24
1036France2024-06-02
1037United Kingdom2024-06-04
1038Spain2024-05-27
1039France2024-06-04
1040Brazil2024-06-09
1041India2024-05-31
1042Russia2024-06-20
1043Brazil2024-05-25
1044Canada2024-06-08
1045India2024-06-17
1046Brazil2024-05-30
1047Canada2024-06-13
1048Russia2024-06-14
1049Japan2024-05-26

On-Demand Data

NameIdCountryDate
Juan H Stockham1000Germany2024-06-09
Darci P Gaucho1001Spain2024-06-07
Mayumi G Saylors1002United Kingdom2024-05-28
Sinclair W Nestle1003United Kingdom2024-06-09
Clifford B Foller1004Australia2024-06-11
Jeanfrancois Z Malet1005Brazil2024-05-30
Ashley R Whobrey1006Japan2024-06-11
Rodrigues D Kolmetz1007Italy2024-06-15
Antonio I Wieser1008Australia2024-06-15
Octavia B Nicka1009Italy2024-06-03
Ricardo O Tollner1010France2024-06-08
Tony J Whobrey1011Australia2024-06-10
Misaki T Vocelka1012France2024-06-04
Sinclair V Gaucho1013Germany2024-05-30
Aruna K Wieser1014Spain2024-06-21
Julie H Glick1015Japan2024-05-29
Sinclair R Royster1016Italy2024-06-21
Maisha C Morasca1017Germany2024-06-13
Maria I Doe1018Brazil2024-05-27
Silvio C Wieser1019Australia2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair U OldroydRussiaIoni Bowcher PROPOSAL
Faith X FigeroaUnited KingdomElwin Sharvill RENEWAL
Deepesh V SchemmerAustraliaIoni Bowcher QUALIFIED
Maria E CaudyRussiaAsiya Javayant RENEWAL
Rodrigues V WaycottFranceBernardo Dominic UNQUALIFIED
Jeanfrancois S IturbideFranceStephen Shaw UNQUALIFIED
Costa T GillianFranceElwin Sharvill QUALIFIED
Mayumi S ShinkoSpainAsiya Javayant NEW
Julie W BriddickIndiaStephen Shaw QUALIFIED
Wickens A OstroskyArgentinaIvan Magalhaes RENEWAL
Rodrigues P MorascaJapanAmy Elsner NEGOTIATION
Deepesh L MaletRussiaStephen Shaw PROPOSAL
Murillo I DarakjyFranceIvan Magalhaes QUALIFIED
Ashley F RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez O StensethArgentinaOnyama Limba NEW
Aika A PerinUnited KingdomXuxue Feng RENEWAL
Isabel Q FerenczBrazilXuxue Feng RENEWAL
Rodrigues Q MorascaIndiaAsiya Javayant UNQUALIFIED
Emily X RoysterUnited KingdomStephen Shaw PROPOSAL
Chavez X VocelkaCanadaAnna Fali UNQUALIFIED
Leon Q ButtSpainIvan Magalhaes RENEWAL
Juan U MorascaUnited KingdomStephen Shaw PROPOSAL
Francesco I GlickBrazilIvan Magalhaes PROPOSAL
Maisha U GauchoAustraliaIoni Bowcher RENEWAL
Silvio I VenereJapanXuxue Feng RENEWAL
Ivar M RutaAustraliaAnna Fali NEGOTIATION
Tony J WaycottBrazilAmy Elsner RENEWAL
Mujtaba J RimGermanyElwin Sharvill NEGOTIATION
Jennifer J StockhamUnited KingdomAmy Elsner RENEWAL
Kaitlin Y ShinkoRussiaBernardo Dominic NEW
Kadeem J FigeroaCanadaAnna Fali QUALIFIED
Aruna Z MorascaArgentinaXuxue Feng RENEWAL
Wickens F MaletCanadaOnyama Limba UNQUALIFIED
Octavia N StensethIndiaOnyama Limba RENEWAL
Johnson Y AlbaresItalyStephen Shaw NEGOTIATION
Mayumi Q AmigonRussiaIvan Magalhaes NEW
Aika H MaletArgentinaBernardo Dominic QUALIFIED
Chavez U FollerCanadaElwin Sharvill NEW
Morrow I ChuiIndiaXuxue Feng RENEWAL
David E GauchoAustraliaAmy Elsner RENEWAL

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