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
Leon A NickaGermanyBernardo Dominic NEGOTIATION
Kadeem C ShinkoAustraliaElwin Sharvill QUALIFIED
Jennifer T KolmetzUnited KingdomIvan Magalhaes NEW
Maisha M DoeBrazilAsiya Javayant UNQUALIFIED
Jones R RutaItalyAmy Elsner RENEWAL
Maria F MaletSpainAsiya Javayant RENEWAL
Leja U MorascaUnited KingdomOnyama Limba NEGOTIATION
Leon G WaycottCanadaStephen Shaw PROPOSAL
Wickens L NickaGermanyAnna Fali RENEWAL
Aditya K CaldareraBrazilXuxue Feng RENEWAL
Mujtaba Z AmigonItalyIvan Magalhaes NEW
Ashley Q GarufiRussiaStephen Shaw PROPOSAL
Silvio V SergiCanadaAsiya Javayant NEW
Alejandro U OldroydGermanyAsiya Javayant UNQUALIFIED
Juan K BologniaCanadaIvan Magalhaes NEW
Smith C BologniaSpainElwin Sharvill NEW
David G StensethItalyElwin Sharvill NEGOTIATION
Isabel K MacleadAustraliaIvan Magalhaes PROPOSAL
Maria B VocelkaUnited KingdomOnyama Limba NEW
Mayumi P SchemmerArgentinaOnyama Limba PROPOSAL
Chavez H NickaAustraliaStephen Shaw NEGOTIATION
Munro H RutaArgentinaStephen Shaw RENEWAL
Rodrigues Q VenereIndiaAnna Fali UNQUALIFIED
Smith N CaudyRussiaStephen Shaw NEW
Maisha T RulapaughIndiaIoni Bowcher NEW
Wickens M MarrierUnited KingdomIvan Magalhaes PROPOSAL
Maria N SergiAustraliaAsiya Javayant UNQUALIFIED
Smith O NestleFranceAnna Fali UNQUALIFIED
Jeanfrancois I WhobreyRussiaXuxue Feng NEW
Jefferson L CaldareraIndiaBernardo Dominic UNQUALIFIED
Juan Z MaletUnited KingdomIoni Bowcher QUALIFIED
Salvatore Z BriddickArgentinaAsiya Javayant UNQUALIFIED
Maisha I AmigonFranceAsiya Javayant UNQUALIFIED
Misaki V SaylorsFranceIvan Magalhaes QUALIFIED
Jeanfrancois Y InouyeUnited KingdomElwin Sharvill NEW
Mayumi X AmigonAustraliaStephen Shaw NEW
Arvin W SergiGermanyBernardo Dominic UNQUALIFIED
Faith V CampainFranceAmy Elsner UNQUALIFIED
Johnson A CaldareraFranceOnyama Limba QUALIFIED
Clifford Q InouyeGermanyElwin Sharvill PROPOSAL
Tony T FollerFranceAmy Elsner QUALIFIED
Emily D NestleAustraliaStephen Shaw NEGOTIATION
Smith E DoeFranceOnyama Limba QUALIFIED
Clifford F FerenczCanadaOnyama Limba NEW
Francesco P SlusarskiGermanyIvan Magalhaes NEGOTIATION
Claire N FlosiGermanyAmy Elsner NEGOTIATION
Julie R ShinkoSpainIvan Magalhaes UNQUALIFIED
Deepesh U KolmetzIndiaOnyama Limba RENEWAL
Ashley G WhobreyIndiaElwin Sharvill QUALIFIED
Greenwood N GauchoIndiaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna K GauchoRussiaOnyama Limba NEW
Ricardo J MorascaCanadaAmy Elsner NEGOTIATION
Ashley P FigeroaUnited KingdomAsiya Javayant NEW
Munro J FollerGermanyIvan Magalhaes NEGOTIATION
Johnson N KolmetzGermanyIoni Bowcher RENEWAL
Greenwood L SergiItalyAnna Fali NEW
Wickens C NickaJapanBernardo Dominic PROPOSAL
Izzy W CaudyJapanIvan Magalhaes UNQUALIFIED
Jones B WaycottAustraliaAmy Elsner UNQUALIFIED
Arvin A PoquetteGermanyBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones Z OldroydAustralia2024-06-08Printing Dimensions UNQUALIFIED20Amy Elsner
1001Costa T KolmetzBrazil2024-06-06Rousseaux, Michael Esq RENEWAL67Ivan Magalhaes
1002Faith M GillianJapan2024-05-21Chapman, Ross E Esq NEW96Onyama Limba
1003Julie F RoysterFrance2024-06-11Buckley Miller Wright QUALIFIED17Amy Elsner
1004Jeanfrancois L FlosiJapan2024-06-17Truhlar And Truhlar Attys NEW52Elwin Sharvill
1005Leon X OstroskyIndia2024-06-07Truhlar And Truhlar Attys NEGOTIATION64Anna Fali
1006Kadeem P ShinkoIndia2024-06-03Printing Dimensions UNQUALIFIED88Amy Elsner
1007Salvatore Y InouyeJapan2024-06-01Rangoni Of Florence UNQUALIFIED95Xuxue Feng
1008Ashley N KuskoRussia2024-06-07Feiner Bros QUALIFIED10Xuxue Feng
1009Deepesh F RimCanada2024-05-24King, Christopher A Esq PROPOSAL25Xuxue Feng
1010Octavia C RulapaughIndia2024-06-10Truhlar And Truhlar Attys NEGOTIATION32Ivan Magalhaes
1011Mujtaba Z SchemmerBrazil2024-06-09Feltz Printing Service NEGOTIATION26Asiya Javayant
1012Juan N OldroydIndia2024-05-21Printing Dimensions PROPOSAL14Ivan Magalhaes
1013Aruna W KolmetzGermany2024-06-07Commercial Press NEW6Asiya Javayant
1014Misaki P ShinkoBrazil2024-05-25Dorl, James J Esq RENEWAL91Bernardo Dominic
1015Murillo K StensethGermany2024-06-13Rangoni Of Florence UNQUALIFIED33Stephen Shaw
1016Jefferson D PaprockiAustralia2024-06-11Feltz Printing Service NEGOTIATION80Amy Elsner
1017Jennifer I SaylorsArgentina2024-06-09Truhlar And Truhlar Attys RENEWAL91Asiya Javayant
1018Emily E AmigonSpain2024-05-21Printing Dimensions QUALIFIED53Bernardo Dominic
1019Adams R CaudyFrance2024-06-14Benton, John B Jr PROPOSAL80Onyama Limba
1020Isabel Z RutaCanada2024-05-22Truhlar And Truhlar Attys QUALIFIED26Asiya Javayant
1021Tony Y RulapaughItaly2024-05-20Rousseaux, Michael Esq NEGOTIATION68Ioni Bowcher
1022James T PerinIndia2024-06-17Chemel, James L Cpa NEGOTIATION15Ivan Magalhaes
1023Alejandro D MaletAustralia2024-06-09Rousseaux, Michael Esq UNQUALIFIED58Asiya Javayant
1024Francesco I BriddickBrazil2024-05-26Rousseaux, Michael Esq NEGOTIATION5Bernardo Dominic
1025Smith T TollnerGermany2024-06-04Buckley Miller Wright PROPOSAL79Asiya Javayant
1026Jefferson O ButtRussia2024-05-20Feiner Bros UNQUALIFIED86Stephen Shaw
1027Jennifer O BriddickGermany2024-05-20Morlong Associates NEGOTIATION23Ivan Magalhaes
1028Morrow G DarakjyJapan2024-05-21Feltz Printing Service UNQUALIFIED91Onyama Limba
1029Francesco Y PaprockiItaly2024-06-15King, Christopher A Esq RENEWAL75Ioni Bowcher
1030Aika V RutaCanada2024-06-14Feltz Printing Service UNQUALIFIED8Asiya Javayant
1031Stacey P WhobreyCanada2024-06-02Feltz Printing Service QUALIFIED97Stephen Shaw
1032Jennifer J CampainAustralia2024-06-11Chanay, Jeffrey A Esq NEGOTIATION10Elwin Sharvill
1033Johnson I StensethRussia2024-06-04Rangoni Of Florence RENEWAL9Anna Fali
1034Izzy N AlbaresFrance2024-06-07Dorl, James J Esq PROPOSAL12Amy Elsner
1035Darci F ChuiJapan2024-06-10Printing Dimensions QUALIFIED13Xuxue Feng
1036Isabel F WhobreyGermany2024-06-02Dorl, James J Esq NEW61Ivan Magalhaes
1037Mayumi C PerinCanada2024-05-25Dorl, James J Esq QUALIFIED83Ivan Magalhaes
1038Isabel C PoquetteRussia2024-06-09King, Christopher A Esq RENEWAL27Ioni Bowcher
1039Misaki H FlosiArgentina2024-05-22Truhlar And Truhlar Attys NEW2Ioni Bowcher
1040Jefferson M PaprockiAustralia2024-05-28Chanay, Jeffrey A Esq NEW66Xuxue Feng
1041Smith R RimRussia2024-06-05Feiner Bros RENEWAL79Ivan Magalhaes
1042Chavez D AmigonSpain2024-05-29Commercial Press UNQUALIFIED67Bernardo Dominic
1043Leon U GlickCanada2024-06-05Chanay, Jeffrey A Esq QUALIFIED89Ioni Bowcher
1044Mayumi T OldroydCanada2024-05-23Morlong Associates QUALIFIED1Amy Elsner
1045Ivar W MaletUnited Kingdom2024-06-10Morlong Associates RENEWAL62Bernardo Dominic
1046Faith V NickaIndia2024-05-20Printing Dimensions PROPOSAL83Anna Fali
1047Antonio G BriddickAustralia2024-06-06Rousseaux, Michael Esq NEGOTIATION76Amy Elsner
1048Wickens Z CampainUnited Kingdom2024-06-04Chanay, Jeffrey A Esq NEW3Stephen Shaw
1049Darci Z NickaJapan2024-06-15Rangoni Of Florence NEGOTIATION8Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois L PoquetteJapanElwin Sharvill RENEWAL
Leja G NestleArgentinaStephen Shaw RENEWAL
Faith B KolmetzRussiaIvan Magalhaes UNQUALIFIED
James X OldroydJapanElwin Sharvill NEW
Jeanfrancois T GauchoUnited KingdomIoni Bowcher NEW
Munro E StockhamSpainIoni Bowcher RENEWAL
Maisha E SlusarskiFranceIoni Bowcher UNQUALIFIED
Arvin H RimAustraliaAmy Elsner QUALIFIED
Rodrigues W VenereArgentinaElwin Sharvill NEW
Jeanfrancois U GillianBrazilIoni Bowcher RENEWAL
Misaki J PaprockiRussiaStephen Shaw NEGOTIATION
Aika Y OstroskySpainXuxue Feng PROPOSAL
Kadeem M SlusarskiArgentinaIoni Bowcher NEGOTIATION
Jennifer V DilliardAustraliaIvan Magalhaes RENEWAL
Darci O KolmetzAustraliaXuxue Feng RENEWAL
Smith O StockhamFranceElwin Sharvill NEGOTIATION
Ricardo F CaldareraRussiaBernardo Dominic RENEWAL
Aditya J OldroydSpainAsiya Javayant QUALIFIED
Salvatore O WaycottArgentinaIvan Magalhaes PROPOSAL
Kadeem N PoquetteIndiaBernardo Dominic PROPOSAL
Kadeem F RulapaughRussiaXuxue Feng QUALIFIED
Jefferson B MarrierGermanyAmy Elsner NEGOTIATION
Alejandro A GlickGermanyAnna Fali NEGOTIATION
Aditya K ChuiUnited KingdomBernardo Dominic PROPOSAL
Jefferson F CaldareraArgentinaAnna Fali NEGOTIATION
Kadeem O IturbideItalyOnyama Limba UNQUALIFIED
Jefferson D GarufiSpainIoni Bowcher PROPOSAL
Nicolas J TollnerCanadaXuxue Feng NEGOTIATION
Nicolas M WhobreyRussiaIvan Magalhaes NEGOTIATION
Rodrigues B DarakjyGermanyIvan Magalhaes NEGOTIATION
Stacey K PaprockiAustraliaBernardo Dominic QUALIFIED
Mayumi H SlusarskiRussiaXuxue Feng RENEWAL
Sinclair K DarakjySpainElwin Sharvill QUALIFIED
Jennifer J PaprockiArgentinaBernardo Dominic UNQUALIFIED
Alejandro A DarakjyRussiaOnyama Limba NEGOTIATION
Salvatore N ShinkoSpainAsiya Javayant RENEWAL
Morrow I GillianIndiaBernardo Dominic PROPOSAL
Nicolas Z DoeFranceOnyama Limba PROPOSAL
Ashley L FollerArgentinaOnyama Limba UNQUALIFIED
Tony F RimSpainAsiya Javayant NEGOTIATION
Isabel O MaletBrazilIoni Bowcher PROPOSAL
James V RulapaughIndiaIvan Magalhaes NEW
Claire K SchemmerFranceIoni Bowcher NEW
Jeanfrancois S WaycottUnited KingdomIvan Magalhaes RENEWAL
Nicolas D RutaCanadaOnyama Limba QUALIFIED
Ricardo H KolmetzUnited KingdomStephen Shaw PROPOSAL
Julie A GlickFranceAmy Elsner RENEWAL
Ashley N InouyeSpainElwin Sharvill UNQUALIFIED
Jennifer X IturbideArgentinaIoni Bowcher QUALIFIED
Cody Y FollerItalyBernardo Dominic RENEWAL
Frozen Columns
Name
Jennifer U Figeroa
Tony P Sergi
Rodrigues Q Doe
Isabel T Ostrosky
Emily T Campain
Clifford O Paprocki
Francesco E Dilliard
Sinclair C Shinko
Aruna O Saylors
Aditya F Amigon
Jones K Briddick
Chavez Z Briddick
Emily W Perin
Mujtaba X Briddick
Octavia Z Ruta
Costa F Perin
Silvio V Kusko
Silvio G Nicka
Costa G Sergi
Arvin E Bowley
Mujtaba A Saylors
Francesco U Waycott
Octavia F Royster
Darci V Stenseth
Morrow X Venere
Greenwood R Malet
Mujtaba A Stenseth
Octavia X Caudy
Juan I Kusko
Aruna H Albares
Ivar O Flosi
Smith W Paprocki
Cody B Rim
Morrow Q Rulapaugh
Misaki G Caldarera
Maria M Dilliard
Stacey T Amigon
Jefferson W Oldroyd
Tony C Chui
Jeanfrancois I Ostrosky
Morrow M Caudy
Wickens O Stenseth
Jones F Gaucho
Aditya G Garufi
Isabel Q Malet
Cody N Iturbide
Rodrigues F Doe
Julie E Gaucho
Jennifer P Vocelka
Salvatore E Maclead
IdCountryDate
1000Australia2024-05-19
1001Germany2024-06-03
1002Argentina2024-05-23
1003Canada2024-06-06
1004United Kingdom2024-06-17
1005Germany2024-06-07
1006Spain2024-05-22
1007Japan2024-06-03
1008United Kingdom2024-06-01
1009Australia2024-05-19
1010Italy2024-06-15
1011France2024-06-01
1012Australia2024-05-23
1013Argentina2024-05-28
1014Argentina2024-06-04
1015Russia2024-05-30
1016India2024-05-20
1017India2024-05-21
1018Spain2024-05-31
1019Brazil2024-06-12
1020France2024-06-11
1021Brazil2024-05-25
1022Australia2024-05-23
1023Argentina2024-06-12
1024India2024-06-01
1025Italy2024-05-20
1026Australia2024-06-01
1027United Kingdom2024-06-09
1028United Kingdom2024-05-22
1029Australia2024-06-04
1030Russia2024-06-17
1031France2024-06-14
1032Japan2024-06-06
1033Argentina2024-06-09
1034Germany2024-06-17
1035Italy2024-06-11
1036Germany2024-06-09
1037Russia2024-06-05
1038Germany2024-05-24
1039Russia2024-05-30
1040India2024-06-03
1041Argentina2024-05-23
1042Australia2024-05-24
1043Argentina2024-06-08
1044Brazil2024-06-07
1045Japan2024-05-30
1046United Kingdom2024-06-04
1047Canada2024-05-21
1048United Kingdom2024-05-21
1049Brazil2024-06-01

On-Demand Data

NameIdCountryDate
David V Albares1000Spain2024-05-27
Octavia F Albares1001Russia2024-06-15
Francesco C Malet1002United Kingdom2024-06-09
Julie E Slusarski1003Italy2024-06-14
Aditya W Poquette1004India2024-05-30
Munro W Stockham1005Russia2024-05-24
Salvatore O Vocelka1006United Kingdom2024-06-13
Clifford H Iturbide1007Japan2024-06-15
Jeanfrancois T Bowley1008Brazil2024-05-30
Murillo F Nicka1009United Kingdom2024-06-03
Jeanfrancois I Chui1010Brazil2024-05-27
Ricardo I Briddick1011Russia2024-06-01
Cody Z Nicka1012Argentina2024-06-07
Munro U Poquette1013Italy2024-05-31
Mujtaba N Campain1014Spain2024-06-05
Salvatore C Morasca1015Germany2024-05-30
Arvin M Chui1016Germany2024-05-19
Aika S Gaucho1017United Kingdom2024-06-06
Aruna J Dilliard1018Spain2024-06-16
Kadeem A Nicka1019Italy2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James M GlickJapanAsiya Javayant NEGOTIATION
Aruna E RoysterCanadaIvan Magalhaes RENEWAL
Mayumi R CampainIndiaIoni Bowcher RENEWAL
Ricardo M PerinCanadaIvan Magalhaes NEGOTIATION
Jones Q FerenczBrazilAsiya Javayant UNQUALIFIED
Jennifer X AlbaresAustraliaStephen Shaw RENEWAL
Johnson F OldroydJapanXuxue Feng QUALIFIED
Kadeem J AmigonSpainXuxue Feng RENEWAL
Jones D NestleSpainXuxue Feng QUALIFIED
Octavia G SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Octavia A MacleadGermanyElwin Sharvill QUALIFIED
Izzy N GarufiUnited KingdomOnyama Limba RENEWAL
Aruna H FollerJapanBernardo Dominic NEGOTIATION
Morrow S PaprockiArgentinaAnna Fali PROPOSAL
Izzy H IturbideItalyAnna Fali QUALIFIED
Sinclair X OldroydSpainOnyama Limba NEGOTIATION
Greenwood J WhobreySpainIoni Bowcher PROPOSAL
Claire W SlusarskiRussiaAmy Elsner NEGOTIATION
Stacey Y NestleUnited KingdomXuxue Feng NEGOTIATION
Johnson I IturbideCanadaStephen Shaw RENEWAL
Aditya L DoeFranceIvan Magalhaes RENEWAL
Alejandro O IturbideBrazilXuxue Feng NEW
Kaitlin K DarakjyCanadaAsiya Javayant PROPOSAL
Juan S RoysterArgentinaElwin Sharvill UNQUALIFIED
Kadeem Q DarakjyIndiaOnyama Limba QUALIFIED
Maisha E PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Jones R DarakjyBrazilAsiya Javayant RENEWAL
Isabel V BriddickArgentinaXuxue Feng NEW
Claire T CampainFranceOnyama Limba UNQUALIFIED
Darci G VenereGermanyAnna Fali RENEWAL
Cody P PaprockiBrazilXuxue Feng RENEWAL
Juan Q WaycottBrazilAsiya Javayant NEGOTIATION
Misaki G CampainJapanOnyama Limba NEGOTIATION
Juan U AlbaresItalyIoni Bowcher NEGOTIATION
Mayumi B BowleyJapanElwin Sharvill UNQUALIFIED
Faith C MarrierCanadaBernardo Dominic UNQUALIFIED
Francesco H NickaSpainElwin Sharvill UNQUALIFIED
Jefferson P PoquetteGermanyAnna Fali NEW
Maria P VocelkaArgentinaElwin Sharvill NEGOTIATION
Aruna S DarakjyFranceIvan Magalhaes 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>