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
Ivar R BologniaFranceIoni Bowcher UNQUALIFIED
Alejandro V AlbaresArgentinaAsiya Javayant QUALIFIED
Leon F AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Isabel C PaprockiUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba N FerenczBrazilAmy Elsner RENEWAL
Nicolas K ShinkoRussiaAnna Fali NEGOTIATION
Clifford U GillianAustraliaIoni Bowcher QUALIFIED
Antonio Z WhobreyAustraliaStephen Shaw RENEWAL
Johnson T NestleItalyBernardo Dominic UNQUALIFIED
Alejandro Y GillianCanadaIoni Bowcher RENEWAL
Jefferson E CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Silvio A MaletBrazilStephen Shaw NEW
Ashley K FerenczRussiaBernardo Dominic UNQUALIFIED
David M DilliardAustraliaAsiya Javayant RENEWAL
Stacey Q RutaAustraliaIoni Bowcher QUALIFIED
Arvin W InouyeItalyElwin Sharvill QUALIFIED
Jones O MaletJapanIvan Magalhaes UNQUALIFIED
Greenwood V DilliardGermanyAmy Elsner UNQUALIFIED
Kaitlin Z FlosiJapanElwin Sharvill PROPOSAL
Leja B PerinSpainIvan Magalhaes UNQUALIFIED
Sinclair C KuskoGermanyIvan Magalhaes NEW
Aditya B AmigonRussiaAnna Fali NEGOTIATION
Aditya N WaycottRussiaIoni Bowcher UNQUALIFIED
Chavez W ShinkoItalyBernardo Dominic UNQUALIFIED
Nicolas X KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Maisha H MaletCanadaAsiya Javayant QUALIFIED
Julie C FlosiItalyBernardo Dominic NEW
Maria E WaycottCanadaAsiya Javayant RENEWAL
Rodrigues D IturbideRussiaStephen Shaw NEW
Jefferson R CaldareraUnited KingdomAnna Fali PROPOSAL
Greenwood V MarrierIndiaIoni Bowcher PROPOSAL
Murillo C GillianGermanyBernardo Dominic NEGOTIATION
Mujtaba L KuskoUnited KingdomOnyama Limba NEGOTIATION
Aika I SergiCanadaIvan Magalhaes NEGOTIATION
Nicolas V WieserSpainOnyama Limba PROPOSAL
Aika I InouyeUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois J ButtJapanXuxue Feng QUALIFIED
Faith W KolmetzSpainIvan Magalhaes NEGOTIATION
Deepesh I GarufiItalyBernardo Dominic RENEWAL
Kadeem G GillianArgentinaAsiya Javayant RENEWAL
Mayumi H BowleyCanadaStephen Shaw NEW
Alejandro P SlusarskiAustraliaIvan Magalhaes RENEWAL
Greenwood L BowleyGermanyStephen Shaw RENEWAL
Salvatore V ChuiJapanXuxue Feng UNQUALIFIED
Misaki U DarakjySpainOnyama Limba PROPOSAL
Emily N GlickRussiaStephen Shaw PROPOSAL
Emily F AlbaresJapanIoni Bowcher PROPOSAL
Adams V AlbaresRussiaXuxue Feng PROPOSAL
Antonio F FerenczJapanIvan Magalhaes PROPOSAL
Aruna U OldroydArgentinaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin F PerinJapanAmy Elsner UNQUALIFIED
Jefferson Y DoeJapanIoni Bowcher UNQUALIFIED
Emily F MaletRussiaXuxue Feng NEW
Sinclair I SaylorsJapanIvan Magalhaes UNQUALIFIED
Claire L MaletSpainIvan Magalhaes NEW
Jeanfrancois J WieserArgentinaAnna Fali PROPOSAL
Faith P IturbideSpainOnyama Limba NEW
Morrow E ButtCanadaXuxue Feng RENEWAL
Mujtaba N GillianArgentinaIoni Bowcher RENEWAL
Nicolas R VocelkaItalyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair C PoquetteFrance2024-06-21Buckley Miller Wright NEW18Ioni Bowcher
1001James E CaudySpain2024-06-07King, Christopher A Esq UNQUALIFIED92Onyama Limba
1002Tony R BowleyJapan2024-06-04Commercial Press RENEWAL76Ivan Magalhaes
1003Greenwood C NickaBrazil2024-06-14Dorl, James J Esq RENEWAL55Ioni Bowcher
1004Maisha E ButtGermany2024-06-19Truhlar And Truhlar Attys NEW12Asiya Javayant
1005Wickens O DarakjyArgentina2024-06-12Dorl, James J Esq PROPOSAL89Elwin Sharvill
1006Costa F DoeBrazil2024-06-17Chanay, Jeffrey A Esq NEW31Onyama Limba
1007Salvatore G PaprockiRussia2024-06-11Commercial Press QUALIFIED30Amy Elsner
1008Nicolas S MaletRussia2024-06-05Buckley Miller Wright NEW64Ioni Bowcher
1009Jeanfrancois X NickaBrazil2024-06-14Commercial Press NEGOTIATION22Asiya Javayant
1010Jones P RulapaughGermany2024-06-16Buckley Miller Wright RENEWAL0Onyama Limba
1011Johnson E GauchoGermany2024-06-14Commercial Press PROPOSAL70Onyama Limba
1012Jennifer Z SergiAustralia2024-05-24Rousseaux, Michael Esq NEW47Anna Fali
1013Cody E KolmetzArgentina2024-06-19Dorl, James J Esq UNQUALIFIED40Onyama Limba
1014Izzy S OldroydAustralia2024-06-09Feiner Bros NEW81Bernardo Dominic
1015Emily H SlusarskiIndia2024-06-10King, Christopher A Esq NEGOTIATION28Onyama Limba
1016Antonio J SchemmerSpain2024-06-18Dorl, James J Esq QUALIFIED49Onyama Limba
1017Silvio L WieserItaly2024-06-09Printing Dimensions PROPOSAL26Asiya Javayant
1018Aruna N WhobreyRussia2024-06-16King, Christopher A Esq RENEWAL5Xuxue Feng
1019Cody N AmigonUnited Kingdom2024-06-09Chemel, James L Cpa QUALIFIED84Xuxue Feng
1020Munro A CaudyIndia2024-06-13Truhlar And Truhlar Attys NEGOTIATION51Xuxue Feng
1021Clifford X GlickSpain2024-06-02Benton, John B Jr UNQUALIFIED90Amy Elsner
1022Alejandro X WaycottFrance2024-06-10Printing Dimensions PROPOSAL7Onyama Limba
1023Kadeem M FerenczIndia2024-06-19Truhlar And Truhlar Attys NEW84Onyama Limba
1024Rodrigues W NickaRussia2024-05-24Truhlar And Truhlar Attys PROPOSAL18Elwin Sharvill
1025Francesco E MaletArgentina2024-05-28King, Christopher A Esq NEGOTIATION53Anna Fali
1026Antonio K BowleyAustralia2024-05-24King, Christopher A Esq PROPOSAL31Elwin Sharvill
1027Costa O GlickGermany2024-06-01Buckley Miller Wright UNQUALIFIED97Ivan Magalhaes
1028Rodrigues N StockhamSpain2024-06-01Benton, John B Jr PROPOSAL65Onyama Limba
1029Faith V ChuiAustralia2024-05-27Truhlar And Truhlar Attys NEW1Ivan Magalhaes
1030Francesco N TollnerGermany2024-06-15Chanay, Jeffrey A Esq NEGOTIATION38Stephen Shaw
1031Chavez X CaldareraAustralia2024-06-04Morlong Associates PROPOSAL7Ioni Bowcher
1032Aika H MacleadRussia2024-06-06King, Christopher A Esq QUALIFIED44Anna Fali
1033Mayumi D MacleadArgentina2024-05-27Chanay, Jeffrey A Esq NEGOTIATION31Elwin Sharvill
1034Leon Y WaycottSpain2024-06-09Chanay, Jeffrey A Esq NEW59Asiya Javayant
1035Morrow O SlusarskiBrazil2024-06-22Chapman, Ross E Esq RENEWAL91Anna Fali
1036Misaki G KuskoCanada2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED28Elwin Sharvill
1037Octavia J ShinkoSpain2024-05-31Commercial Press RENEWAL20Onyama Limba
1038Silvio F SaylorsAustralia2024-05-26Dorl, James J Esq QUALIFIED51Onyama Limba
1039Maria P SaylorsBrazil2024-06-06Chanay, Jeffrey A Esq PROPOSAL89Stephen Shaw
1040Claire Z ButtRussia2024-06-07Rangoni Of Florence QUALIFIED53Elwin Sharvill
1041Chavez Y StensethCanada2024-06-08Chemel, James L Cpa RENEWAL42Asiya Javayant
1042Ricardo O ShinkoJapan2024-05-31Truhlar And Truhlar Attys QUALIFIED42Elwin Sharvill
1043Morrow C NickaItaly2024-06-15Morlong Associates NEGOTIATION69Amy Elsner
1044Smith Z BowleyItaly2024-06-09King, Christopher A Esq NEGOTIATION60Asiya Javayant
1045Misaki Q CaldareraCanada2024-06-17Benton, John B Jr QUALIFIED41Stephen Shaw
1046Izzy D CampainFrance2024-06-17Truhlar And Truhlar Attys NEW65Onyama Limba
1047Ivar Z KolmetzGermany2024-05-27Dorl, James J Esq NEGOTIATION21Asiya Javayant
1048Sinclair B DilliardCanada2024-06-20Commercial Press PROPOSAL83Asiya Javayant
1049Rodrigues X VenereFrance2024-06-01Feltz Printing Service UNQUALIFIED20Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues A RimSpainAsiya Javayant NEW
Aika C MorascaAustraliaBernardo Dominic UNQUALIFIED
Nicolas G AmigonBrazilBernardo Dominic NEGOTIATION
Claire R BriddickFranceAnna Fali UNQUALIFIED
Arvin W RoysterAustraliaIvan Magalhaes RENEWAL
Salvatore K CaldareraGermanyXuxue Feng PROPOSAL
Tony N ShinkoAustraliaOnyama Limba UNQUALIFIED
Maisha Y AlbaresCanadaOnyama Limba UNQUALIFIED
Jeanfrancois T VenereSpainXuxue Feng NEGOTIATION
Adams O KolmetzUnited KingdomXuxue Feng NEW
James Q RutaAustraliaAnna Fali NEW
Ashley D CaudyAustraliaAmy Elsner QUALIFIED
Murillo F VenereSpainElwin Sharvill NEW
Nicolas S GauchoFranceElwin Sharvill NEW
Greenwood G MaletJapanIvan Magalhaes UNQUALIFIED
Morrow J CaudyFranceStephen Shaw RENEWAL
Isabel L VenereRussiaIvan Magalhaes QUALIFIED
Francesco H BriddickGermanyIoni Bowcher UNQUALIFIED
Aika A BologniaGermanyStephen Shaw NEGOTIATION
Izzy F RulapaughArgentinaXuxue Feng NEW
Chavez T SchemmerJapanXuxue Feng NEGOTIATION
Jones R VenereSpainIoni Bowcher RENEWAL
Tony I CampainAustraliaBernardo Dominic QUALIFIED
Sinclair E RutaBrazilAmy Elsner NEGOTIATION
Isabel R RimIndiaAnna Fali UNQUALIFIED
Chavez D MacleadBrazilElwin Sharvill PROPOSAL
Darci W KolmetzSpainBernardo Dominic RENEWAL
Alejandro W MorascaAustraliaBernardo Dominic RENEWAL
Ivar J OldroydUnited KingdomAnna Fali NEW
Smith C SergiItalyBernardo Dominic NEGOTIATION
Izzy P OstroskyJapanStephen Shaw NEW
Alejandro F CampainJapanStephen Shaw PROPOSAL
Emily J SlusarskiItalyIvan Magalhaes UNQUALIFIED
Jeanfrancois S DilliardItalyElwin Sharvill PROPOSAL
Misaki H PerinCanadaIoni Bowcher NEGOTIATION
Alejandro I KuskoJapanElwin Sharvill NEW
Adams V ButtAustraliaIvan Magalhaes NEGOTIATION
Ashley Q BowleyJapanStephen Shaw NEGOTIATION
Cody M CaudyRussiaAnna Fali RENEWAL
Mayumi P BriddickAustraliaElwin Sharvill QUALIFIED
Octavia I KolmetzUnited KingdomOnyama Limba RENEWAL
Morrow E MaletJapanIvan Magalhaes PROPOSAL
Ivar M MaletJapanBernardo Dominic NEGOTIATION
Cody F SergiArgentinaAmy Elsner QUALIFIED
Maisha E CaudyItalyIvan Magalhaes NEGOTIATION
Johnson D DoeUnited KingdomOnyama Limba QUALIFIED
Mujtaba H WaycottRussiaOnyama Limba QUALIFIED
Alejandro H CaldareraCanadaAsiya Javayant NEW
Ivar Y AmigonUnited KingdomXuxue Feng NEW
Aruna U FerenczItalyOnyama Limba UNQUALIFIED
Frozen Columns
Name
Murillo P Stenseth
Julie M Chui
Faith D Slusarski
Aruna Z Dilliard
Adams S Glick
Misaki D Ferencz
Jefferson D Amigon
Francesco C Rulapaugh
Silvio O Schemmer
David J Kusko
Smith I Schemmer
James J Foller
Murillo Q Venere
Leja M Darakjy
James P Marrier
Costa S Garufi
Leon W Bowley
Clifford S Ferencz
Wickens G Nicka
Smith H Vocelka
Isabel F Saylors
Francesco J Paprocki
Misaki J Wieser
Nicolas P Gaucho
Silvio Y Inouye
Kaitlin U Caudy
Ricardo A Saylors
Kaitlin F Ferencz
Ricardo O Iturbide
Juan S Wieser
Stacey Y Rulapaugh
Mayumi W Glick
Jones G Darakjy
Misaki H Waycott
Ricardo Z Campain
Stacey W Vocelka
Jones I Ostrosky
Darci H Shinko
Nicolas X Darakjy
Mayumi E Paprocki
Jefferson T Ruta
Maria R Iturbide
Arvin E Wieser
Chavez G Paprocki
Antonio N Schemmer
Smith Y Tollner
James F Maclead
Maisha V Bowley
Kaitlin O Slusarski
Misaki U Schemmer
IdCountryDate
1000Australia2024-06-02
1001Argentina2024-06-10
1002Canada2024-05-27
1003Canada2024-06-04
1004Canada2024-06-07
1005Japan2024-05-31
1006United Kingdom2024-06-22
1007Brazil2024-06-22
1008Australia2024-06-19
1009Japan2024-06-17
1010Italy2024-05-28
1011Argentina2024-06-07
1012Brazil2024-05-25
1013United Kingdom2024-05-27
1014Brazil2024-06-13
1015India2024-06-09
1016Russia2024-06-10
1017Spain2024-06-21
1018Canada2024-05-31
1019Australia2024-06-10
1020Germany2024-06-22
1021Russia2024-06-21
1022United Kingdom2024-06-14
1023Canada2024-06-20
1024France2024-05-24
1025Australia2024-05-26
1026Italy2024-06-22
1027France2024-06-18
1028Spain2024-06-03
1029India2024-05-30
1030Argentina2024-06-16
1031Germany2024-06-07
1032Argentina2024-06-03
1033Brazil2024-06-05
1034Australia2024-06-15
1035India2024-06-17
1036Russia2024-06-12
1037Spain2024-05-31
1038Brazil2024-06-18
1039Canada2024-05-28
1040Spain2024-06-16
1041Brazil2024-05-26
1042India2024-06-10
1043United Kingdom2024-06-06
1044Canada2024-06-06
1045United Kingdom2024-06-10
1046Canada2024-06-20
1047Brazil2024-06-21
1048Japan2024-06-11
1049Australia2024-06-16

On-Demand Data

NameIdCountryDate
Aika H Marrier1000Italy2024-05-29
Claire K Poquette1001India2024-05-31
Adams J Waycott1002Brazil2024-05-24
Kadeem T Rulapaugh1003Japan2024-05-28
Jefferson R Perin1004Spain2024-06-21
Kadeem K Gillian1005Argentina2024-06-06
Clifford U Bolognia1006Brazil2024-06-21
James I Chui1007Brazil2024-06-14
Chavez N Schemmer1008France2024-06-12
Chavez D Butt1009Brazil2024-06-16
Emily N Malet1010Brazil2024-06-04
Maria Y Gillian1011France2024-06-09
Silvio V Perin1012Spain2024-05-26
Faith W Flosi1013Italy2024-05-31
Faith E Malet1014Germany2024-06-05
Greenwood L Foller1015United Kingdom2024-05-24
Isabel I Wieser1016Spain2024-06-03
Maria H Gaucho1017United Kingdom2024-06-05
Adams P Slusarski1018Russia2024-05-30
Antonio I Poquette1019Russia2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith X SchemmerSpainIvan Magalhaes PROPOSAL
Ivar H IturbideArgentinaElwin Sharvill RENEWAL
Nicolas K CaudyAustraliaIvan Magalhaes PROPOSAL
Claire H FerenczBrazilXuxue Feng PROPOSAL
Kadeem Z VenereAustraliaXuxue Feng UNQUALIFIED
Francesco E AmigonSpainBernardo Dominic QUALIFIED
Aruna A RulapaughUnited KingdomXuxue Feng NEGOTIATION
Mayumi W VocelkaJapanAmy Elsner PROPOSAL
Claire G MorascaCanadaStephen Shaw NEGOTIATION
Costa A ButtBrazilAmy Elsner UNQUALIFIED
David E ChuiUnited KingdomIoni Bowcher NEW
Greenwood P CampainCanadaIoni Bowcher RENEWAL
Morrow O FerenczSpainAsiya Javayant UNQUALIFIED
Silvio L FlosiRussiaOnyama Limba PROPOSAL
Misaki I InouyeItalyAsiya Javayant UNQUALIFIED
Kaitlin F NickaFranceOnyama Limba RENEWAL
Antonio L InouyeFranceElwin Sharvill NEGOTIATION
Chavez Z ChuiRussiaElwin Sharvill UNQUALIFIED
James H GlickRussiaIoni Bowcher QUALIFIED
Misaki U AlbaresArgentinaIoni Bowcher QUALIFIED
Murillo K VenereItalyAmy Elsner PROPOSAL
Wickens M FerenczArgentinaElwin Sharvill QUALIFIED
Johnson O CaudyGermanyBernardo Dominic UNQUALIFIED
Stacey J SergiGermanyIoni Bowcher NEGOTIATION
Munro T FollerSpainElwin Sharvill PROPOSAL
Jennifer L KuskoGermanyBernardo Dominic RENEWAL
Francesco D GarufiRussiaOnyama Limba RENEWAL
Stacey W DilliardIndiaAmy Elsner RENEWAL
Deepesh G CaldareraIndiaAsiya Javayant RENEWAL
Mayumi Z NestleCanadaElwin Sharvill UNQUALIFIED
Stacey Z WieserRussiaOnyama Limba QUALIFIED
Jefferson W DilliardIndiaAnna Fali QUALIFIED
Johnson E PaprockiSpainOnyama Limba NEGOTIATION
David Y GauchoIndiaAsiya Javayant PROPOSAL
Sinclair U PoquetteJapanAsiya Javayant PROPOSAL
Silvio D PoquetteCanadaOnyama Limba UNQUALIFIED
Ashley Z WieserArgentinaBernardo Dominic UNQUALIFIED
Stacey G RoysterUnited KingdomOnyama Limba NEGOTIATION
Jones F FollerJapanBernardo Dominic PROPOSAL
Leon H WhobreyJapanAnna Fali 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>