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
Aika Y PerinCanadaIoni Bowcher UNQUALIFIED
Ivar M OldroydItalyAnna Fali PROPOSAL
David S PaprockiSpainIvan Magalhaes QUALIFIED
Jeanfrancois U ChuiCanadaIvan Magalhaes NEGOTIATION
Aika P WaycottSpainAnna Fali RENEWAL
James E OldroydUnited KingdomIoni Bowcher QUALIFIED
Izzy P AlbaresCanadaAmy Elsner UNQUALIFIED
Deepesh G FollerIndiaElwin Sharvill UNQUALIFIED
Aruna U SaylorsBrazilXuxue Feng QUALIFIED
Johnson Z SaylorsBrazilBernardo Dominic NEW
Cody P DarakjyAustraliaBernardo Dominic RENEWAL
Ivar O RutaGermanyOnyama Limba RENEWAL
Ivar X ChuiBrazilAsiya Javayant UNQUALIFIED
Munro Y MaletGermanyAmy Elsner NEW
Jones M RulapaughItalyIvan Magalhaes NEW
Aika L RimSpainOnyama Limba NEGOTIATION
Greenwood W WieserAustraliaIvan Magalhaes UNQUALIFIED
Chavez W BowleyItalyStephen Shaw PROPOSAL
Misaki Z FollerUnited KingdomIoni Bowcher PROPOSAL
Jennifer T SergiUnited KingdomIoni Bowcher RENEWAL
Murillo Y GillianFranceIoni Bowcher UNQUALIFIED
Misaki I CaldareraIndiaStephen Shaw NEW
Kaitlin T DarakjyFranceAnna Fali NEW
Leja Y MarrierAustraliaIoni Bowcher PROPOSAL
Francesco R FlosiItalyOnyama Limba NEGOTIATION
Octavia B ShinkoFranceElwin Sharvill QUALIFIED
Francesco C PoquetteJapanOnyama Limba QUALIFIED
Aika N OstroskyBrazilXuxue Feng UNQUALIFIED
Ashley O FerenczFranceAmy Elsner NEGOTIATION
Kaitlin M RimSpainBernardo Dominic PROPOSAL
Mujtaba F WaycottItalyIoni Bowcher UNQUALIFIED
Mayumi Q CampainRussiaBernardo Dominic UNQUALIFIED
Jones D WaycottAustraliaOnyama Limba UNQUALIFIED
Maisha I ButtGermanyStephen Shaw UNQUALIFIED
Kaitlin V CaldareraRussiaStephen Shaw RENEWAL
Wickens H GillianFranceStephen Shaw UNQUALIFIED
Johnson R InouyeFranceAmy Elsner QUALIFIED
Salvatore J RulapaughArgentinaAmy Elsner NEGOTIATION
Ricardo K KuskoAustraliaBernardo Dominic RENEWAL
Izzy E WaycottRussiaAmy Elsner NEGOTIATION
Octavia N OstroskyFranceBernardo Dominic NEW
Antonio J WhobreyRussiaOnyama Limba NEW
Maisha G RulapaughIndiaIvan Magalhaes PROPOSAL
Cody W VocelkaRussiaAnna Fali UNQUALIFIED
Faith M OstroskyJapanIvan Magalhaes NEGOTIATION
Wickens J PaprockiJapanStephen Shaw PROPOSAL
Darci S GarufiItalyAsiya Javayant NEW
Munro W MaletJapanAsiya Javayant PROPOSAL
Misaki X AmigonBrazilAnna Fali UNQUALIFIED
Ricardo L KolmetzItalyIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens S SaylorsItalyElwin Sharvill NEW
Adams Y VocelkaBrazilAsiya Javayant PROPOSAL
Alejandro Q GauchoJapanElwin Sharvill RENEWAL
Faith D DilliardGermanyElwin Sharvill NEGOTIATION
Rodrigues Q StockhamItalyXuxue Feng NEGOTIATION
Mujtaba L BriddickCanadaBernardo Dominic NEW
Jefferson W ButtBrazilOnyama Limba PROPOSAL
Arvin G ButtUnited KingdomAmy Elsner NEGOTIATION
Emily P OldroydItalyBernardo Dominic UNQUALIFIED
Silvio L DilliardBrazilElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow N DilliardGermany2024-06-06Chemel, James L Cpa PROPOSAL78Anna Fali
1001Chavez Y CaldareraAustralia2024-06-09Buckley Miller Wright UNQUALIFIED15Onyama Limba
1002Antonio D PerinAustralia2024-06-07Dorl, James J Esq RENEWAL8Ivan Magalhaes
1003Silvio S OstroskyFrance2024-06-08Buckley Miller Wright QUALIFIED86Bernardo Dominic
1004Tony T CaudyItaly2024-06-10Chemel, James L Cpa QUALIFIED61Ivan Magalhaes
1005Faith R GlickUnited Kingdom2024-06-14Printing Dimensions NEGOTIATION97Xuxue Feng
1006Morrow A FigeroaUnited Kingdom2024-06-21Rousseaux, Michael Esq UNQUALIFIED29Xuxue Feng
1007Kadeem B FigeroaJapan2024-06-20Printing Dimensions QUALIFIED74Elwin Sharvill
1008Arvin T GillianUnited Kingdom2024-06-24Chemel, James L Cpa NEGOTIATION11Asiya Javayant
1009Izzy V AlbaresFrance2024-06-09Dorl, James J Esq QUALIFIED67Amy Elsner
1010Wickens E NickaIndia2024-06-07Printing Dimensions NEW35Stephen Shaw
1011Aruna E SlusarskiFrance2024-06-10Chapman, Ross E Esq RENEWAL18Amy Elsner
1012David Y FigeroaUnited Kingdom2024-06-04Commercial Press NEGOTIATION91Ivan Magalhaes
1013David L SergiIndia2024-06-03Truhlar And Truhlar Attys PROPOSAL86Elwin Sharvill
1014Mayumi X CampainSpain2024-06-11Chanay, Jeffrey A Esq PROPOSAL93Ivan Magalhaes
1015Faith K GauchoUnited Kingdom2024-06-24Truhlar And Truhlar Attys NEGOTIATION93Asiya Javayant
1016Aruna C TollnerUnited Kingdom2024-05-26Dorl, James J Esq NEW32Ivan Magalhaes
1017Misaki R SlusarskiArgentina2024-06-08Buckley Miller Wright UNQUALIFIED28Bernardo Dominic
1018Ivar J OstroskyItaly2024-06-12Chanay, Jeffrey A Esq QUALIFIED74Amy Elsner
1019Misaki I AmigonItaly2024-05-31Truhlar And Truhlar Attys PROPOSAL14Xuxue Feng
1020Darci E ChuiGermany2024-06-23Dorl, James J Esq NEGOTIATION53Elwin Sharvill
1021Antonio F ButtJapan2024-06-24Dorl, James J Esq RENEWAL26Amy Elsner
1022Darci L AlbaresCanada2024-06-02Dorl, James J Esq NEW16Anna Fali
1023Aruna U FigeroaUnited Kingdom2024-06-04Dorl, James J Esq NEGOTIATION75Stephen Shaw
1024Arvin A MorascaCanada2024-06-09Chanay, Jeffrey A Esq QUALIFIED52Asiya Javayant
1025Clifford O DilliardJapan2024-06-24Printing Dimensions NEGOTIATION44Anna Fali
1026Mujtaba H IturbideSpain2024-06-18Chapman, Ross E Esq UNQUALIFIED2Ivan Magalhaes
1027Stacey E InouyeItaly2024-06-22Rangoni Of Florence NEW41Xuxue Feng
1028Tony D InouyeUnited Kingdom2024-06-18Buckley Miller Wright NEW58Elwin Sharvill
1029Leja P GauchoIndia2024-06-16Rangoni Of Florence NEGOTIATION74Asiya Javayant
1030Juan P SergiSpain2024-06-08Truhlar And Truhlar Attys QUALIFIED34Bernardo Dominic
1031Jones Y GlickUnited Kingdom2024-06-16Feltz Printing Service NEW48Asiya Javayant
1032Antonio E RulapaughItaly2024-06-09Chanay, Jeffrey A Esq NEW89Ivan Magalhaes
1033Wickens V DoeBrazil2024-06-19Dorl, James J Esq QUALIFIED13Amy Elsner
1034Rodrigues L MarrierRussia2024-05-29Chanay, Jeffrey A Esq NEW9Amy Elsner
1035Jeanfrancois Z GillianRussia2024-06-02Buckley Miller Wright PROPOSAL55Asiya Javayant
1036Morrow L RimItaly2024-05-26Chapman, Ross E Esq PROPOSAL68Onyama Limba
1037Alejandro S AlbaresIndia2024-06-04King, Christopher A Esq NEW15Asiya Javayant
1038Darci U PerinUnited Kingdom2024-05-28Buckley Miller Wright NEGOTIATION38Amy Elsner
1039Isabel V WieserArgentina2024-06-18Buckley Miller Wright RENEWAL2Elwin Sharvill
1040Juan O ButtGermany2024-06-16Rangoni Of Florence QUALIFIED74Stephen Shaw
1041Costa N ChuiSpain2024-06-05Dorl, James J Esq NEGOTIATION59Xuxue Feng
1042Ivar D PoquetteRussia2024-06-22Morlong Associates QUALIFIED70Bernardo Dominic
1043Leja W KolmetzRussia2024-06-10Feltz Printing Service UNQUALIFIED42Asiya Javayant
1044Antonio C AlbaresAustralia2024-06-23Dorl, James J Esq NEW69Amy Elsner
1045Chavez A DilliardArgentina2024-05-28Buckley Miller Wright UNQUALIFIED22Amy Elsner
1046Jones U MaletUnited Kingdom2024-06-15Feltz Printing Service NEW2Bernardo Dominic
1047Morrow R TollnerFrance2024-06-01Feiner Bros RENEWAL29Onyama Limba
1048Johnson X SaylorsJapan2024-05-28Chapman, Ross E Esq PROPOSAL90Ioni Bowcher
1049Tony R RulapaughJapan2024-06-21Benton, John B Jr UNQUALIFIED0Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens G IturbideFranceAsiya Javayant NEW
Sinclair T StockhamUnited KingdomElwin Sharvill QUALIFIED
David B PaprockiFranceAsiya Javayant UNQUALIFIED
Leja K OldroydAustraliaIoni Bowcher NEGOTIATION
Ivar O MaletCanadaAnna Fali UNQUALIFIED
Cody S BriddickItalyStephen Shaw NEW
Sinclair I CampainBrazilAmy Elsner NEGOTIATION
Emily S SlusarskiIndiaAnna Fali NEGOTIATION
Antonio A TollnerFranceBernardo Dominic UNQUALIFIED
Morrow A SlusarskiRussiaAsiya Javayant NEW
Misaki F FerenczRussiaStephen Shaw PROPOSAL
Munro X StensethIndiaXuxue Feng NEW
Deepesh T FlosiRussiaBernardo Dominic RENEWAL
Antonio F CaldareraAustraliaAsiya Javayant UNQUALIFIED
Faith B MacleadAustraliaXuxue Feng UNQUALIFIED
Misaki O NickaFranceAnna Fali NEGOTIATION
Kadeem F VocelkaAustraliaStephen Shaw RENEWAL
Deepesh J SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Tony Q ChuiUnited KingdomIoni Bowcher NEGOTIATION
Sinclair C StensethAustraliaIoni Bowcher NEGOTIATION
Murillo Y GarufiJapanStephen Shaw PROPOSAL
Kaitlin G SergiCanadaAnna Fali RENEWAL
Antonio V FollerAustraliaXuxue Feng RENEWAL
Ashley O NickaRussiaAmy Elsner UNQUALIFIED
Murillo Q ChuiCanadaElwin Sharvill NEGOTIATION
Silvio S RimIndiaAsiya Javayant RENEWAL
Antonio X ChuiAustraliaIvan Magalhaes QUALIFIED
Claire Q StockhamBrazilAmy Elsner RENEWAL
Francesco C StockhamGermanyStephen Shaw NEGOTIATION
Mayumi N IturbideCanadaOnyama Limba PROPOSAL
Leon G GarufiBrazilElwin Sharvill QUALIFIED
Smith F CaudyBrazilXuxue Feng PROPOSAL
Clifford Z CaldareraFranceBernardo Dominic NEGOTIATION
Jennifer Q GillianFranceElwin Sharvill NEGOTIATION
Chavez N WaycottArgentinaAsiya Javayant NEGOTIATION
Emily Y RutaArgentinaAmy Elsner QUALIFIED
Salvatore E PaprockiBrazilElwin Sharvill NEGOTIATION
Maria N PoquetteSpainStephen Shaw QUALIFIED
Misaki A MaletSpainXuxue Feng PROPOSAL
Claire I KolmetzCanadaAnna Fali QUALIFIED
Julie A ButtUnited KingdomBernardo Dominic UNQUALIFIED
Antonio C GauchoArgentinaAnna Fali UNQUALIFIED
Stacey C ButtRussiaAmy Elsner NEGOTIATION
Stacey Q FerenczJapanElwin Sharvill NEW
Antonio X AmigonIndiaAnna Fali QUALIFIED
Johnson N FlosiSpainAmy Elsner QUALIFIED
Misaki D SchemmerAustraliaBernardo Dominic NEW
Murillo M MaletRussiaBernardo Dominic QUALIFIED
Silvio X FollerIndiaBernardo Dominic RENEWAL
Aika B CaldareraArgentinaIoni Bowcher PROPOSAL
Frozen Columns
Name
Costa J Gillian
James K Sergi
Jennifer T Nestle
Murillo A Caldarera
Nicolas N Stockham
Leon Y Ostrosky
Darci Y Nicka
Kadeem C Ruta
Claire A Caudy
Aruna R Whobrey
Ashley M Malet
Francesco Y Doe
David L Kusko
Murillo X Waycott
Adams J Campain
Izzy P Kusko
Adams Z Stenseth
Octavia T Campain
Munro N Ferencz
Antonio V Stockham
James F Iturbide
Claire I Gaucho
Leja A Ruta
Faith D Ostrosky
Leja Y Bowley
Faith G Kolmetz
Leja N Butt
Jones G Paprocki
Darci M Dilliard
Kaitlin T Stockham
Greenwood K Albares
Jones Q Nestle
Cody T Wieser
Sinclair E Venere
Chavez L Rim
Munro K Inouye
Emily Z Sergi
Faith G Kolmetz
Emily E Inouye
Jeanfrancois O Sergi
Darci V Saylors
Salvatore L Slusarski
Juan F Figeroa
Tony S Royster
Emily F Ferencz
Chavez N Campain
Clifford D Bowley
Ashley R Wieser
Aruna I Malet
Chavez G Kusko
IdCountryDate
1000Japan2024-06-07
1001United Kingdom2024-06-05
1002Argentina2024-06-09
1003United Kingdom2024-06-04
1004Germany2024-06-07
1005Italy2024-06-24
1006Argentina2024-06-12
1007Australia2024-06-12
1008United Kingdom2024-06-01
1009Italy2024-06-13
1010France2024-06-24
1011Australia2024-06-04
1012India2024-06-15
1013Japan2024-06-22
1014Italy2024-05-26
1015Germany2024-06-09
1016Germany2024-06-21
1017Spain2024-06-15
1018Canada2024-06-06
1019India2024-06-13
1020India2024-06-12
1021France2024-05-29
1022Spain2024-06-14
1023India2024-06-12
1024Australia2024-06-18
1025Japan2024-06-15
1026United Kingdom2024-05-28
1027France2024-05-29
1028Argentina2024-06-06
1029Brazil2024-06-11
1030France2024-06-03
1031Australia2024-06-13
1032France2024-06-11
1033Germany2024-06-09
1034France2024-06-01
1035France2024-06-04
1036Australia2024-05-26
1037Canada2024-06-02
1038Brazil2024-05-28
1039Argentina2024-06-13
1040United Kingdom2024-06-14
1041Japan2024-06-06
1042Spain2024-06-05
1043Italy2024-06-03
1044Brazil2024-06-09
1045Russia2024-06-10
1046Russia2024-06-20
1047Germany2024-06-21
1048Italy2024-06-06
1049Germany2024-06-18

On-Demand Data

NameIdCountryDate
Jennifer Z Kolmetz1000Australia2024-05-27
Izzy W Ruta1001Australia2024-06-21
Antonio I Inouye1002Argentina2024-06-08
Rodrigues H Butt1003Japan2024-06-03
James S Kolmetz1004Argentina2024-06-09
Munro F Wieser1005Italy2024-05-27
Deepesh W Kusko1006Brazil2024-06-04
Jones A Waycott1007United Kingdom2024-06-02
Julie M Campain1008United Kingdom2024-06-20
Jeanfrancois L Waycott1009India2024-06-15
Emily J Saylors1010Brazil2024-06-13
Ashley Z Ruta1011Australia2024-06-17
Ashley B Chui1012Australia2024-06-13
Emily T Shinko1013Brazil2024-06-14
Izzy B Bolognia1014United Kingdom2024-06-19
Jefferson D Slusarski1015Germany2024-06-10
Adams U Bowley1016Japan2024-06-15
Clifford J Doe1017Canada2024-05-26
Stacey L Chui1018Brazil2024-06-18
Mujtaba G Kusko1019Italy2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley F NickaItalyAsiya Javayant PROPOSAL
Greenwood W ChuiBrazilXuxue Feng PROPOSAL
Izzy L CaudyArgentinaXuxue Feng UNQUALIFIED
Wickens O DoeRussiaIvan Magalhaes NEGOTIATION
Izzy G CaudyRussiaXuxue Feng PROPOSAL
Francesco Z PoquetteBrazilElwin Sharvill NEGOTIATION
Juan B WaycottUnited KingdomAmy Elsner NEGOTIATION
Morrow G AlbaresArgentinaXuxue Feng RENEWAL
Cody A RulapaughGermanyOnyama Limba RENEWAL
Maisha D RoysterItalyIvan Magalhaes RENEWAL
Jennifer H NickaJapanStephen Shaw NEW
Darci H OldroydGermanyAmy Elsner NEGOTIATION
Cody J TollnerUnited KingdomAsiya Javayant RENEWAL
Salvatore D PaprockiIndiaElwin Sharvill NEW
David Z NickaItalyXuxue Feng QUALIFIED
Murillo H PaprockiBrazilIvan Magalhaes QUALIFIED
Arvin I MaletSpainStephen Shaw PROPOSAL
Jefferson U KolmetzCanadaAnna Fali NEW
Greenwood B GillianCanadaElwin Sharvill RENEWAL
Mujtaba G CaudyIndiaAmy Elsner RENEWAL
Izzy J OstroskySpainStephen Shaw QUALIFIED
Nicolas Z StensethCanadaIvan Magalhaes NEW
Clifford R PoquetteGermanyIoni Bowcher PROPOSAL
Wickens E DarakjyCanadaAnna Fali PROPOSAL
Salvatore M VocelkaArgentinaOnyama Limba NEGOTIATION
Smith M AmigonCanadaAsiya Javayant PROPOSAL
Misaki O GarufiArgentinaIoni Bowcher RENEWAL
Isabel K FerenczGermanyBernardo Dominic NEGOTIATION
Deepesh B WaycottRussiaXuxue Feng PROPOSAL
Jeanfrancois T NestleBrazilAsiya Javayant PROPOSAL
Clifford M DarakjyIndiaAsiya Javayant QUALIFIED
Maria S MaletRussiaBernardo Dominic PROPOSAL
Clifford I NickaRussiaAsiya Javayant UNQUALIFIED
Costa A AlbaresAustraliaAmy Elsner QUALIFIED
Julie R GauchoSpainAnna Fali PROPOSAL
Aika H FlosiUnited KingdomIoni Bowcher NEW
Aika C WieserFranceOnyama Limba NEGOTIATION
Stacey H RutaAustraliaXuxue Feng UNQUALIFIED
Salvatore T OldroydFranceAsiya Javayant NEGOTIATION
Clifford E FlosiSpainBernardo Dominic QUALIFIED

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