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
Nicolas H PerinIndiaIvan Magalhaes QUALIFIED
Izzy P AlbaresUnited KingdomElwin Sharvill PROPOSAL
Rodrigues I VocelkaCanadaBernardo Dominic RENEWAL
Claire A VenereSpainOnyama Limba NEGOTIATION
James M RutaBrazilBernardo Dominic NEW
Maria K TollnerJapanBernardo Dominic QUALIFIED
Ashley Q WhobreyFranceIvan Magalhaes PROPOSAL
Adams T InouyeItalyIvan Magalhaes UNQUALIFIED
Ricardo K SaylorsRussiaIvan Magalhaes RENEWAL
Silvio E RutaItalyAnna Fali UNQUALIFIED
Murillo B ShinkoGermanyAnna Fali QUALIFIED
Jefferson S RutaRussiaIvan Magalhaes NEW
Leon W RimCanadaAnna Fali UNQUALIFIED
Aruna A DarakjyUnited KingdomStephen Shaw PROPOSAL
Greenwood J BologniaGermanyStephen Shaw NEW
Costa M GauchoBrazilIvan Magalhaes QUALIFIED
Maisha S IturbideRussiaAmy Elsner NEW
Antonio W ButtSpainAmy Elsner QUALIFIED
Francesco C MorascaGermanyIvan Magalhaes QUALIFIED
Misaki M ChuiCanadaStephen Shaw RENEWAL
Claire K CampainSpainIoni Bowcher PROPOSAL
Faith C RimRussiaXuxue Feng UNQUALIFIED
Jeanfrancois I MorascaFranceStephen Shaw PROPOSAL
Jennifer S BologniaAustraliaStephen Shaw QUALIFIED
Emily L IturbideUnited KingdomIvan Magalhaes UNQUALIFIED
Jones G AmigonRussiaIoni Bowcher RENEWAL
Arvin F WhobreyIndiaElwin Sharvill NEGOTIATION
Ivar V PoquetteBrazilElwin Sharvill UNQUALIFIED
Izzy D KolmetzUnited KingdomStephen Shaw NEGOTIATION
Munro T KolmetzSpainOnyama Limba PROPOSAL
Deepesh M CampainArgentinaXuxue Feng QUALIFIED
Octavia G RimItalyBernardo Dominic RENEWAL
Morrow D CaudySpainIoni Bowcher QUALIFIED
Darci K NestleFranceBernardo Dominic RENEWAL
Emily X GauchoCanadaStephen Shaw RENEWAL
Deepesh L TollnerBrazilOnyama Limba NEW
James D CaldareraRussiaOnyama Limba NEW
Kaitlin R SergiGermanyElwin Sharvill NEW
Clifford B WhobreyItalyAmy Elsner NEGOTIATION
Adams P FigeroaItalyIoni Bowcher PROPOSAL
Maria G GauchoRussiaAmy Elsner NEW
Murillo T MarrierRussiaElwin Sharvill UNQUALIFIED
Wickens L MorascaFranceAnna Fali RENEWAL
Johnson O KuskoBrazilIoni Bowcher RENEWAL
Clifford V OldroydArgentinaXuxue Feng PROPOSAL
Leja O CampainJapanAsiya Javayant UNQUALIFIED
Clifford L AmigonIndiaIoni Bowcher PROPOSAL
Faith K MacleadFranceAsiya Javayant PROPOSAL
Deepesh M RoysterItalyBernardo Dominic NEW
Maisha Q GlickSpainAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David M BologniaGermanyOnyama Limba NEW
Salvatore R OstroskyCanadaXuxue Feng QUALIFIED
Francesco R PoquetteSpainIoni Bowcher NEW
Faith E NickaGermanyStephen Shaw PROPOSAL
Adams D CaudyGermanyElwin Sharvill PROPOSAL
Octavia Z ShinkoSpainXuxue Feng UNQUALIFIED
Cody M CaudyArgentinaAmy Elsner RENEWAL
Jefferson Q AmigonIndiaBernardo Dominic PROPOSAL
Claire Z DilliardFranceXuxue Feng PROPOSAL
Leon V PaprockiArgentinaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy G StensethFrance2024-05-27Chanay, Jeffrey A Esq RENEWAL91Ivan Magalhaes
1001Cody R CaldareraFrance2024-05-09Chanay, Jeffrey A Esq NEW66Xuxue Feng
1002Faith H PerinRussia2024-05-10Rangoni Of Florence UNQUALIFIED90Ioni Bowcher
1003Tony K WaycottBrazil2024-05-19Rousseaux, Michael Esq NEGOTIATION92Bernardo Dominic
1004Ivar H MacleadGermany2024-05-25Rousseaux, Michael Esq QUALIFIED23Anna Fali
1005Izzy C DarakjyAustralia2024-05-21Benton, John B Jr QUALIFIED32Bernardo Dominic
1006Kadeem R SaylorsArgentina2024-05-22Feltz Printing Service NEGOTIATION20Amy Elsner
1007Emily L BologniaUnited Kingdom2024-04-29Chemel, James L Cpa PROPOSAL32Stephen Shaw
1008Morrow D MacleadArgentina2024-05-09Benton, John B Jr UNQUALIFIED22Amy Elsner
1009Sinclair Z AmigonItaly2024-05-23Morlong Associates NEW60Stephen Shaw
1010Murillo W VenereItaly2024-05-11Feltz Printing Service RENEWAL83Amy Elsner
1011Murillo H RutaRussia2024-05-24King, Christopher A Esq UNQUALIFIED28Onyama Limba
1012David U DilliardUnited Kingdom2024-05-25Morlong Associates NEW30Onyama Limba
1013Isabel F NestleArgentina2024-05-13King, Christopher A Esq PROPOSAL56Asiya Javayant
1014Emily U BowleyBrazil2024-05-11Buckley Miller Wright QUALIFIED99Asiya Javayant
1015Aruna D ChuiRussia2024-05-09Feiner Bros RENEWAL66Asiya Javayant
1016Greenwood B PoquetteSpain2024-05-03Chemel, James L Cpa NEW25Bernardo Dominic
1017Munro I RulapaughCanada2024-05-08Printing Dimensions PROPOSAL98Anna Fali
1018Smith M MaletRussia2024-05-12Feltz Printing Service UNQUALIFIED57Stephen Shaw
1019Jones W RutaCanada2024-05-09Truhlar And Truhlar Attys NEGOTIATION74Ioni Bowcher
1020Misaki Z SlusarskiAustralia2024-05-22Rangoni Of Florence RENEWAL33Xuxue Feng
1021David Y StockhamAustralia2024-05-22Morlong Associates QUALIFIED79Onyama Limba
1022Aditya L FerenczArgentina2024-05-06Chapman, Ross E Esq QUALIFIED99Ivan Magalhaes
1023Ricardo N PoquetteArgentina2024-05-22Feiner Bros NEGOTIATION12Onyama Limba
1024Juan Y StockhamBrazil2024-05-12Feiner Bros NEW14Stephen Shaw
1025Deepesh F ShinkoRussia2024-05-13Commercial Press UNQUALIFIED59Amy Elsner
1026Costa N DarakjyRussia2024-05-18Feiner Bros PROPOSAL75Amy Elsner
1027James H MaletGermany2024-05-09Dorl, James J Esq NEGOTIATION43Amy Elsner
1028Smith B TollnerArgentina2024-05-09Feltz Printing Service PROPOSAL73Ioni Bowcher
1029Ricardo X PaprockiBrazil2024-05-10Printing Dimensions UNQUALIFIED86Stephen Shaw
1030Aruna Q DoeRussia2024-04-30Feiner Bros NEW64Amy Elsner
1031Tony O GillianAustralia2024-05-08Feiner Bros NEGOTIATION10Asiya Javayant
1032Wickens Q FigeroaSpain2024-05-27Commercial Press QUALIFIED99Anna Fali
1033Costa F DarakjyFrance2024-05-09Chapman, Ross E Esq NEW28Xuxue Feng
1034Isabel Q FlosiArgentina2024-05-12Benton, John B Jr PROPOSAL45Ioni Bowcher
1035Ivar R OldroydSpain2024-05-04Truhlar And Truhlar Attys NEGOTIATION9Asiya Javayant
1036Greenwood C CaldareraUnited Kingdom2024-04-28Chanay, Jeffrey A Esq QUALIFIED64Anna Fali
1037Ashley Z MaletCanada2024-05-04Rousseaux, Michael Esq NEW57Bernardo Dominic
1038Munro B AlbaresJapan2024-05-26Buckley Miller Wright UNQUALIFIED67Anna Fali
1039Claire R FerenczJapan2024-05-17Buckley Miller Wright QUALIFIED42Anna Fali
1040Jennifer Y KolmetzIndia2024-05-17Feiner Bros NEW59Ioni Bowcher
1041Izzy V DarakjyArgentina2024-05-22Morlong Associates NEGOTIATION29Ioni Bowcher
1042Maria I PaprockiAustralia2024-05-04Chanay, Jeffrey A Esq NEW80Ioni Bowcher
1043Salvatore E FerenczIndia2024-05-12Rangoni Of Florence QUALIFIED83Onyama Limba
1044James S FollerArgentina2024-05-14Chanay, Jeffrey A Esq NEGOTIATION70Anna Fali
1045Johnson V StockhamGermany2024-05-02Buckley Miller Wright UNQUALIFIED19Ivan Magalhaes
1046Jeanfrancois V GillianUnited Kingdom2024-05-21Printing Dimensions NEW21Ioni Bowcher
1047Deepesh S PoquetteIndia2024-05-07Dorl, James J Esq RENEWAL37Ivan Magalhaes
1048Aditya B DilliardFrance2024-05-16Chanay, Jeffrey A Esq QUALIFIED4Elwin Sharvill
1049Chavez Y RimFrance2024-05-06Truhlar And Truhlar Attys PROPOSAL1Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Salvatore R GillianUnited KingdomAnna Fali QUALIFIED
Wickens S WieserGermanyIvan Magalhaes NEW
Isabel I StensethIndiaAnna Fali RENEWAL
David L PoquetteJapanXuxue Feng PROPOSAL
Francesco F GarufiIndiaIoni Bowcher NEGOTIATION
Misaki Q FigeroaArgentinaXuxue Feng NEGOTIATION
Smith I SlusarskiGermanyAsiya Javayant QUALIFIED
Kaitlin P NickaArgentinaAsiya Javayant NEW
Salvatore L RoysterFranceBernardo Dominic RENEWAL
Ricardo Y KolmetzFranceStephen Shaw QUALIFIED
Francesco W SergiRussiaBernardo Dominic PROPOSAL
Tony B FigeroaIndiaAmy Elsner PROPOSAL
Greenwood V ShinkoUnited KingdomIoni Bowcher PROPOSAL
Clifford Z FollerBrazilAsiya Javayant NEGOTIATION
Sinclair T FollerItalyAsiya Javayant RENEWAL
Rodrigues G OldroydBrazilAsiya Javayant RENEWAL
Leja N NickaUnited KingdomElwin Sharvill NEW
Tony W RimAustraliaAmy Elsner NEW
David W ShinkoJapanBernardo Dominic UNQUALIFIED
James H PaprockiJapanStephen Shaw UNQUALIFIED
Johnson G GillianAustraliaElwin Sharvill UNQUALIFIED
Ashley L CaldareraCanadaStephen Shaw RENEWAL
Mayumi O GillianIndiaIvan Magalhaes PROPOSAL
Mujtaba Z MorascaGermanyBernardo Dominic RENEWAL
Johnson D BriddickBrazilAnna Fali RENEWAL
Darci L NickaSpainAmy Elsner PROPOSAL
Salvatore U WhobreyCanadaAmy Elsner NEGOTIATION
Isabel L GillianBrazilAnna Fali NEGOTIATION
Mujtaba I WhobreyBrazilAnna Fali UNQUALIFIED
Munro M ShinkoAustraliaIoni Bowcher RENEWAL
Greenwood H WaycottGermanyStephen Shaw RENEWAL
Stacey X ChuiFranceIvan Magalhaes RENEWAL
Maisha R KuskoCanadaIoni Bowcher NEW
Greenwood I CaudyBrazilAsiya Javayant UNQUALIFIED
Octavia O RutaRussiaAsiya Javayant UNQUALIFIED
Mujtaba T SchemmerItalyXuxue Feng PROPOSAL
Emily Q TollnerGermanyAsiya Javayant PROPOSAL
Nicolas J OstroskyCanadaIoni Bowcher PROPOSAL
Alejandro Z RimArgentinaElwin Sharvill RENEWAL
Jones M SergiGermanyXuxue Feng PROPOSAL
Greenwood L InouyeBrazilStephen Shaw NEGOTIATION
Smith C RoysterItalyAnna Fali UNQUALIFIED
Tony L GarufiSpainIvan Magalhaes NEGOTIATION
Stacey A WieserJapanAsiya Javayant NEGOTIATION
Adams B SlusarskiFranceElwin Sharvill PROPOSAL
Rodrigues V PaprockiGermanyElwin Sharvill RENEWAL
Darci N AmigonArgentinaAmy Elsner NEW
Mayumi O VocelkaUnited KingdomXuxue Feng QUALIFIED
Cody A BologniaBrazilStephen Shaw NEW
Jones C MarrierItalyAsiya Javayant QUALIFIED
Frozen Columns
Name
Clifford A Ostrosky
Maria E Oldroyd
Kaitlin J Slusarski
Nicolas Z Garufi
Salvatore A Tollner
Darci K Kolmetz
Ashley G Amigon
Jones E Saylors
Aditya C Inouye
Wickens H Maclead
Kaitlin Z Slusarski
Arvin A Slusarski
Leja T Royster
Ivar V Butt
Silvio Z Perin
Aditya K Stockham
Clifford N Darakjy
Aditya W Albares
Kadeem A Bowley
Jennifer L Inouye
Clifford U Doe
Darci Q Garufi
Morrow W Royster
Mujtaba A Wieser
Leon N Bolognia
Mujtaba M Malet
Salvatore I Maclead
Emily C Wieser
Greenwood T Stenseth
Clifford W Kusko
Johnson A Malet
Jefferson P Sergi
Alejandro V Nestle
David C Royster
David C Perin
Aruna I Caldarera
Aika X Nestle
Smith Z Albares
Francesco K Rulapaugh
Ashley X Doe
Aika T Maclead
Alejandro S Venere
Arvin B Gaucho
Mujtaba E Vocelka
Jeanfrancois W Tollner
Clifford W Ostrosky
Nicolas Z Saylors
Julie H Bolognia
Tony B Gillian
Claire X Doe
IdCountryDate
1000France2024-05-01
1001Brazil2024-05-27
1002Australia2024-05-12
1003Germany2024-05-16
1004Canada2024-04-29
1005Russia2024-05-19
1006Germany2024-04-30
1007Australia2024-05-10
1008Brazil2024-04-28
1009Canada2024-05-20
1010Australia2024-05-02
1011Japan2024-05-16
1012France2024-04-28
1013Russia2024-05-15
1014Brazil2024-04-30
1015Australia2024-05-04
1016Germany2024-05-17
1017Germany2024-05-25
1018Australia2024-05-21
1019Japan2024-05-07
1020Spain2024-05-24
1021France2024-05-23
1022France2024-05-08
1023Germany2024-05-03
1024India2024-05-17
1025Japan2024-05-18
1026India2024-05-19
1027India2024-05-05
1028Russia2024-05-25
1029France2024-05-27
1030Russia2024-05-23
1031Japan2024-05-25
1032Russia2024-05-03
1033Russia2024-04-30
1034India2024-05-08
1035United Kingdom2024-05-11
1036Argentina2024-05-10
1037Russia2024-05-11
1038Russia2024-05-26
1039Canada2024-04-29
1040Australia2024-05-18
1041United Kingdom2024-05-12
1042Italy2024-05-12
1043Spain2024-05-23
1044Brazil2024-05-08
1045Spain2024-05-08
1046Argentina2024-05-21
1047Italy2024-05-20
1048Canada2024-05-05
1049Australia2024-05-12

On-Demand Data

NameIdCountryDate
Izzy K Stenseth1000Italy2024-05-27
Kadeem T Garufi1001Canada2024-05-09
Ricardo X Doe1002Italy2024-05-12
Jeanfrancois F Sergi1003Germany2024-05-14
Sinclair F Oldroyd1004Argentina2024-05-07
Leja A Figeroa1005Brazil2024-05-11
Wickens J Waycott1006Brazil2024-05-14
Stacey Z Tollner1007Japan2024-05-04
Silvio G Venere1008Russia2024-05-27
Greenwood Y Shinko1009Argentina2024-05-18
Ashley V Caudy1010Brazil2024-05-18
Jones T Rim1011Canada2024-05-27
Tony G Kolmetz1012Canada2024-05-03
Jones G Schemmer1013India2024-05-15
Aditya A Nicka1014Japan2024-05-26
Ivar B Briddick1015Australia2024-05-02
Silvio X Bowley1016Russia2024-05-26
Salvatore A Inouye1017Germany2024-05-20
Ashley U Stockham1018Canada2024-05-09
Munro I Oldroyd1019Canada2024-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood K DarakjyArgentinaBernardo Dominic NEGOTIATION
Smith Q ButtCanadaOnyama Limba RENEWAL
Mujtaba P RutaAustraliaXuxue Feng RENEWAL
Smith M InouyeArgentinaBernardo Dominic NEGOTIATION
Kaitlin E ChuiCanadaOnyama Limba NEGOTIATION
Claire K MacleadItalyIoni Bowcher NEGOTIATION
Kaitlin X ShinkoFranceIvan Magalhaes UNQUALIFIED
Misaki B MaletJapanStephen Shaw QUALIFIED
Nicolas K DarakjySpainBernardo Dominic NEW
Jones H VenereArgentinaXuxue Feng NEW
Deepesh I AmigonBrazilAnna Fali NEGOTIATION
Antonio F GarufiItalyXuxue Feng PROPOSAL
Leon T PoquetteArgentinaStephen Shaw NEGOTIATION
Kadeem X BowleyGermanyOnyama Limba QUALIFIED
Ashley I MaletJapanStephen Shaw PROPOSAL
Cody G GarufiFranceXuxue Feng UNQUALIFIED
Maria V TollnerItalyStephen Shaw RENEWAL
Arvin Q ShinkoAustraliaAnna Fali RENEWAL
Juan K ShinkoAustraliaOnyama Limba NEGOTIATION
Smith K MacleadGermanyBernardo Dominic PROPOSAL
Mayumi F KuskoAustraliaAsiya Javayant QUALIFIED
Deepesh K PerinGermanyBernardo Dominic PROPOSAL
Kadeem X TollnerAustraliaElwin Sharvill UNQUALIFIED
Misaki D CaudyUnited KingdomBernardo Dominic NEW
Nicolas Y BowleySpainAnna Fali UNQUALIFIED
Jennifer Q MacleadGermanyOnyama Limba NEGOTIATION
Ashley T PoquetteAustraliaAmy Elsner NEGOTIATION
Darci Z SergiUnited KingdomIvan Magalhaes PROPOSAL
Jones V SlusarskiCanadaAmy Elsner QUALIFIED
Tony A BowleyIndiaElwin Sharvill QUALIFIED
Alejandro D OldroydGermanyOnyama Limba NEW
Misaki M VenereBrazilIoni Bowcher UNQUALIFIED
Smith E SchemmerArgentinaOnyama Limba NEW
Arvin K PaprockiGermanyBernardo Dominic QUALIFIED
Clifford E IturbideArgentinaXuxue Feng RENEWAL
Munro X RulapaughItalyIoni Bowcher NEGOTIATION
Darci B ButtFranceIoni Bowcher QUALIFIED
Deepesh O MaletCanadaXuxue Feng NEW
Clifford Y PoquetteJapanAmy Elsner NEGOTIATION
Kaitlin Q OstroskyBrazilAnna Fali PROPOSAL

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