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 X OstroskyCanadaIvan Magalhaes RENEWAL
Ashley Y VocelkaJapanElwin Sharvill PROPOSAL
Maria A WieserArgentinaStephen Shaw RENEWAL
Murillo O WhobreySpainIoni Bowcher QUALIFIED
Jeanfrancois T DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Jefferson J MarrierCanadaAmy Elsner PROPOSAL
Adams S MaletBrazilElwin Sharvill UNQUALIFIED
Aika C GillianGermanyAmy Elsner RENEWAL
Silvio W VenereSpainAnna Fali UNQUALIFIED
Emily H OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Isabel Q StockhamFranceAmy Elsner NEGOTIATION
Isabel J RutaGermanyAmy Elsner NEGOTIATION
Stacey L MaletCanadaBernardo Dominic PROPOSAL
Adams L BologniaAustraliaStephen Shaw NEGOTIATION
David N MaletGermanyXuxue Feng NEGOTIATION
Sinclair J MorascaUnited KingdomOnyama Limba NEW
Alejandro O ButtRussiaAnna Fali NEW
Maria L ChuiSpainElwin Sharvill RENEWAL
Munro D OstroskyRussiaElwin Sharvill UNQUALIFIED
Aditya X StockhamAustraliaAsiya Javayant NEW
Mayumi X KuskoSpainElwin Sharvill NEW
Rodrigues D SchemmerRussiaAnna Fali UNQUALIFIED
Johnson J FigeroaItalyBernardo Dominic RENEWAL
Leon D BowleyJapanIvan Magalhaes QUALIFIED
James O DilliardArgentinaXuxue Feng QUALIFIED
Leon R ButtAustraliaOnyama Limba NEW
Leja C ShinkoCanadaIoni Bowcher UNQUALIFIED
Aika C VenereArgentinaIvan Magalhaes RENEWAL
Antonio Q DilliardGermanyIoni Bowcher NEW
Julie E OstroskyJapanAmy Elsner QUALIFIED
Nicolas N ShinkoItalyBernardo Dominic NEW
Wickens T StockhamSpainXuxue Feng UNQUALIFIED
Munro W PaprockiBrazilAmy Elsner UNQUALIFIED
Deepesh M MaletAustraliaIvan Magalhaes RENEWAL
Ashley O DilliardGermanyIoni Bowcher NEGOTIATION
Jefferson Y CampainJapanAmy Elsner PROPOSAL
David R NestleItalyAnna Fali NEGOTIATION
Aditya H PaprockiBrazilElwin Sharvill QUALIFIED
Nicolas W CaudyArgentinaOnyama Limba NEW
Faith M AlbaresArgentinaAnna Fali QUALIFIED
Francesco T PaprockiRussiaAnna Fali PROPOSAL
Ivar Q IturbideCanadaStephen Shaw UNQUALIFIED
Aika D DarakjyUnited KingdomBernardo Dominic NEGOTIATION
Faith S PerinGermanyIoni Bowcher RENEWAL
Johnson Y KuskoRussiaOnyama Limba NEGOTIATION
Juan H ChuiFranceOnyama Limba PROPOSAL
Isabel V CampainItalyAsiya Javayant QUALIFIED
Misaki E BowleyRussiaOnyama Limba NEGOTIATION
Kadeem I MaletSpainIvan Magalhaes RENEWAL
Munro E InouyeRussiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Julie J CampainJapanAmy Elsner RENEWAL
Munro T TollnerItalyAsiya Javayant PROPOSAL
Antonio H ButtAustraliaStephen Shaw PROPOSAL
Smith Z GauchoBrazilBernardo Dominic RENEWAL
Emily Y SaylorsGermanyIvan Magalhaes NEW
Claire S VocelkaAustraliaOnyama Limba PROPOSAL
Wickens T MaletUnited KingdomAmy Elsner NEW
Juan M FerenczFranceElwin Sharvill NEGOTIATION
Darci D SaylorsGermanyStephen Shaw NEGOTIATION
Nicolas X RoysterCanadaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki M GillianArgentina2024-05-05Buckley Miller Wright NEW90Ivan Magalhaes
1001Francesco D RutaGermany2024-05-30Chemel, James L Cpa QUALIFIED18Bernardo Dominic
1002Ricardo Q StensethItaly2024-05-22Dorl, James J Esq PROPOSAL77Anna Fali
1003Clifford V ChuiSpain2024-05-20Buckley Miller Wright UNQUALIFIED20Anna Fali
1004Nicolas G KuskoFrance2024-05-10King, Christopher A Esq NEGOTIATION25Onyama Limba
1005Kaitlin X WhobreyItaly2024-05-09Rangoni Of Florence QUALIFIED81Xuxue Feng
1006Claire L PaprockiSpain2024-05-06King, Christopher A Esq UNQUALIFIED3Ioni Bowcher
1007Clifford B StensethArgentina2024-05-22Truhlar And Truhlar Attys NEGOTIATION30Xuxue Feng
1008Smith L DilliardCanada2024-05-11Truhlar And Truhlar Attys NEW79Onyama Limba
1009Francesco R KolmetzIndia2024-05-23Dorl, James J Esq NEW45Bernardo Dominic
1010Clifford V SlusarskiAustralia2024-05-06Printing Dimensions QUALIFIED2Asiya Javayant
1011Ricardo Q GlickGermany2024-05-17Commercial Press RENEWAL56Elwin Sharvill
1012Greenwood V GillianGermany2024-05-15Chemel, James L Cpa NEGOTIATION82Stephen Shaw
1013Julie F KuskoBrazil2024-05-26Chapman, Ross E Esq PROPOSAL88Bernardo Dominic
1014Munro L OstroskyJapan2024-05-06Commercial Press RENEWAL92Xuxue Feng
1015Johnson W PoquetteArgentina2024-06-03Buckley Miller Wright NEW62Amy Elsner
1016Maria A InouyeIndia2024-05-24Benton, John B Jr NEGOTIATION59Anna Fali
1017Salvatore E AlbaresGermany2024-05-31Morlong Associates NEW32Ioni Bowcher
1018Murillo R OldroydUnited Kingdom2024-05-10Chanay, Jeffrey A Esq RENEWAL2Amy Elsner
1019Jeanfrancois K GillianAustralia2024-05-22Chemel, James L Cpa RENEWAL75Amy Elsner
1020James U WaycottCanada2024-05-28Chapman, Ross E Esq QUALIFIED71Onyama Limba
1021Antonio S RoysterAustralia2024-05-14Chanay, Jeffrey A Esq RENEWAL35Xuxue Feng
1022Juan S GillianAustralia2024-05-12Rousseaux, Michael Esq PROPOSAL57Xuxue Feng
1023Smith I BowleyJapan2024-05-27Chemel, James L Cpa NEW32Elwin Sharvill
1024Antonio M FlosiRussia2024-06-02Truhlar And Truhlar Attys NEW40Bernardo Dominic
1025Costa D MacleadJapan2024-05-12Chanay, Jeffrey A Esq UNQUALIFIED37Anna Fali
1026Ivar C FigeroaRussia2024-05-23King, Christopher A Esq PROPOSAL33Amy Elsner
1027Sinclair W FollerGermany2024-05-09King, Christopher A Esq PROPOSAL71Onyama Limba
1028Greenwood O PoquetteSpain2024-06-03Dorl, James J Esq UNQUALIFIED70Elwin Sharvill
1029Darci C MaletAustralia2024-06-01Chemel, James L Cpa PROPOSAL19Ivan Magalhaes
1030Johnson X VenereIndia2024-05-05King, Christopher A Esq RENEWAL22Ioni Bowcher
1031Emily A ButtGermany2024-06-03Chemel, James L Cpa NEGOTIATION69Stephen Shaw
1032Aditya O WaycottCanada2024-05-05Chanay, Jeffrey A Esq NEW86Ivan Magalhaes
1033James I DarakjyJapan2024-05-08Morlong Associates UNQUALIFIED12Asiya Javayant
1034Arvin Z SchemmerBrazil2024-06-01Printing Dimensions PROPOSAL2Ivan Magalhaes
1035Darci D MorascaJapan2024-05-13Feiner Bros NEGOTIATION40Stephen Shaw
1036Izzy J MorascaArgentina2024-05-08Feltz Printing Service NEW65Xuxue Feng
1037Alejandro P CampainRussia2024-05-16Morlong Associates PROPOSAL94Ioni Bowcher
1038Leon U CaldareraSpain2024-05-28Morlong Associates NEGOTIATION11Asiya Javayant
1039Kadeem A RoysterBrazil2024-05-31Printing Dimensions RENEWAL77Asiya Javayant
1040Rodrigues X OstroskyArgentina2024-06-01Printing Dimensions NEW69Onyama Limba
1041Jennifer Z KuskoIndia2024-05-21Dorl, James J Esq UNQUALIFIED23Stephen Shaw
1042Francesco Y InouyeRussia2024-05-26Commercial Press NEW6Bernardo Dominic
1043Ricardo Z BowleyFrance2024-06-03Morlong Associates RENEWAL77Ivan Magalhaes
1044Wickens T RoysterRussia2024-05-12Chemel, James L Cpa NEGOTIATION79Xuxue Feng
1045Aruna D VenereRussia2024-05-11Benton, John B Jr QUALIFIED82Ioni Bowcher
1046Octavia J CampainUnited Kingdom2024-05-10Feiner Bros NEW0Bernardo Dominic
1047Jeanfrancois A MacleadBrazil2024-05-12Feiner Bros PROPOSAL12Asiya Javayant
1048Costa O RutaAustralia2024-05-19Truhlar And Truhlar Attys PROPOSAL34Anna Fali
1049Adams Y VocelkaItaly2024-05-28Benton, John B Jr UNQUALIFIED26Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jennifer X BologniaCanadaBernardo Dominic PROPOSAL
Ivar P WieserBrazilElwin Sharvill RENEWAL
Costa M KuskoItalyIvan Magalhaes UNQUALIFIED
Aika M CampainFranceOnyama Limba NEGOTIATION
Smith X DarakjyCanadaXuxue Feng QUALIFIED
Mayumi W NestleArgentinaAsiya Javayant PROPOSAL
Jefferson R StensethUnited KingdomAnna Fali PROPOSAL
Darci B SchemmerFranceElwin Sharvill NEGOTIATION
Chavez G SlusarskiFranceOnyama Limba RENEWAL
Munro Z FlosiIndiaStephen Shaw PROPOSAL
Mujtaba C CampainAustraliaIvan Magalhaes UNQUALIFIED
Greenwood V MorascaUnited KingdomIvan Magalhaes RENEWAL
Emily V MorascaArgentinaBernardo Dominic NEGOTIATION
Juan M PoquetteUnited KingdomXuxue Feng RENEWAL
Munro J MaletUnited KingdomXuxue Feng UNQUALIFIED
Faith K BowleyArgentinaElwin Sharvill PROPOSAL
Silvio U SaylorsAustraliaIoni Bowcher NEW
Morrow A FollerBrazilAsiya Javayant NEGOTIATION
Morrow W PaprockiGermanyStephen Shaw NEGOTIATION
Jennifer Q BriddickJapanXuxue Feng PROPOSAL
Cody U DilliardFranceAsiya Javayant UNQUALIFIED
Costa D FerenczJapanAsiya Javayant QUALIFIED
Johnson N FigeroaCanadaElwin Sharvill RENEWAL
Francesco F FlosiFranceAmy Elsner QUALIFIED
Mujtaba P CaudyJapanIvan Magalhaes PROPOSAL
Nicolas G RulapaughItalyAsiya Javayant NEW
Johnson X MarrierAustraliaAnna Fali QUALIFIED
Stacey K GlickFranceElwin Sharvill NEW
Greenwood J FollerFranceOnyama Limba UNQUALIFIED
Jeanfrancois A PerinIndiaIoni Bowcher QUALIFIED
Julie H VenereFranceAmy Elsner PROPOSAL
Adams F KolmetzItalyStephen Shaw PROPOSAL
Adams A DoeJapanXuxue Feng QUALIFIED
Maria F MaletGermanyBernardo Dominic RENEWAL
Nicolas M RutaJapanOnyama Limba NEGOTIATION
Leon V RulapaughIndiaAnna Fali RENEWAL
Ashley Q RoysterCanadaStephen Shaw NEW
Leon J PoquetteBrazilIvan Magalhaes PROPOSAL
Emily N PerinCanadaAsiya Javayant RENEWAL
Francesco R SlusarskiSpainXuxue Feng UNQUALIFIED
Octavia A NestleCanadaBernardo Dominic NEW
Smith P SaylorsGermanyXuxue Feng RENEWAL
Maisha O VenereGermanyXuxue Feng PROPOSAL
Emily N BowleyCanadaStephen Shaw RENEWAL
Kaitlin E CampainGermanyXuxue Feng RENEWAL
Jeanfrancois Y PaprockiCanadaBernardo Dominic UNQUALIFIED
Leon R WhobreyArgentinaStephen Shaw QUALIFIED
Greenwood Y FerenczUnited KingdomXuxue Feng NEGOTIATION
Mayumi R ChuiIndiaAnna Fali NEGOTIATION
Morrow I WieserGermanyXuxue Feng UNQUALIFIED
Frozen Columns
Name
James E Stockham
Mayumi Z Amigon
Stacey Q Kusko
Juan L Doe
Mujtaba H Dilliard
Alejandro F Nicka
Munro W Schemmer
Kadeem R Ostrosky
Munro H Wieser
Alejandro G Stenseth
Ivar A Caldarera
James Y Bolognia
Ricardo F Schemmer
Misaki A Waycott
Ricardo M Dilliard
Silvio I Albares
Adams C Waycott
Julie H Flosi
Aditya I Ostrosky
Aruna Y Nestle
Isabel J Oldroyd
Adams K Rulapaugh
Adams B Campain
Wickens F Marrier
Maria Y Figeroa
Kadeem K Kolmetz
Salvatore A Maclead
Chavez X Slusarski
Wickens G Albares
Deepesh G Gaucho
Murillo N Ruta
Maisha F Campain
Izzy V Perin
Jennifer W Paprocki
Clifford N Stockham
Johnson P Shinko
Murillo Q Slusarski
Clifford V Kusko
Costa Q Ostrosky
Stacey J Paprocki
Cody N Darakjy
Chavez J Kolmetz
Nicolas E Wieser
Clifford C Caudy
Rodrigues H Kusko
Maisha J Stenseth
Aika C Shinko
Morrow S Marrier
Maria A Shinko
Stacey W Nicka
IdCountryDate
1000Germany2024-05-18
1001Argentina2024-05-08
1002Italy2024-05-06
1003Canada2024-05-05
1004Japan2024-05-20
1005Germany2024-05-17
1006Japan2024-05-16
1007Germany2024-05-25
1008India2024-05-31
1009Canada2024-05-17
1010Australia2024-05-24
1011Germany2024-05-17
1012Brazil2024-05-28
1013Italy2024-05-10
1014United Kingdom2024-05-18
1015France2024-05-28
1016Canada2024-05-22
1017France2024-05-20
1018Japan2024-05-26
1019Italy2024-05-09
1020United Kingdom2024-05-21
1021Spain2024-05-24
1022Brazil2024-05-29
1023Russia2024-05-18
1024Russia2024-05-13
1025France2024-05-17
1026India2024-05-06
1027Brazil2024-06-03
1028Germany2024-06-03
1029France2024-05-05
1030Brazil2024-05-19
1031Australia2024-05-18
1032Italy2024-05-16
1033Germany2024-05-24
1034Spain2024-05-07
1035India2024-05-10
1036United Kingdom2024-05-14
1037Brazil2024-05-22
1038Brazil2024-05-28
1039Canada2024-05-10
1040India2024-05-25
1041France2024-05-13
1042Brazil2024-05-14
1043Russia2024-06-03
1044Brazil2024-06-02
1045India2024-05-22
1046Germany2024-06-03
1047Japan2024-05-10
1048Spain2024-05-13
1049United Kingdom2024-05-08

On-Demand Data

NameIdCountryDate
Faith S Campain1000Canada2024-05-13
Ashley X Caudy1001Brazil2024-05-17
Wickens D Figeroa1002Australia2024-05-15
Jefferson Z Doe1003Canada2024-05-09
Aruna H Gaucho1004Spain2024-05-22
Aruna V Venere1005Japan2024-05-22
Maisha L Inouye1006Canada2024-05-09
Octavia W Shinko1007Japan2024-05-28
Ricardo I Stockham1008Canada2024-06-03
Leon C Campain1009United Kingdom2024-05-28
James K Schemmer1010Italy2024-05-12
Wickens F Kolmetz1011Australia2024-05-24
Nicolas M Shinko1012Brazil2024-05-20
Maisha G Garufi1013Japan2024-05-26
Deepesh V Vocelka1014Russia2024-05-22
Faith A Schemmer1015France2024-05-27
Emily W Garufi1016Russia2024-05-22
Antonio T Foller1017Spain2024-05-20
Deepesh S Doe1018France2024-05-14
Adams N Rulapaugh1019India2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin Z FlosiRussiaStephen Shaw QUALIFIED
Chavez K GillianGermanyElwin Sharvill UNQUALIFIED
Arvin K KuskoArgentinaAmy Elsner PROPOSAL
Jennifer U PoquetteArgentinaOnyama Limba PROPOSAL
Antonio F NickaIndiaOnyama Limba RENEWAL
Ashley L MorascaRussiaIvan Magalhaes QUALIFIED
Stacey R TollnerBrazilAmy Elsner NEGOTIATION
Emily X MaletItalyAnna Fali NEGOTIATION
Maria Q SergiAustraliaElwin Sharvill NEGOTIATION
Murillo I GillianItalyStephen Shaw NEW
Isabel A DarakjySpainIoni Bowcher RENEWAL
Faith I CaldareraFranceIvan Magalhaes NEW
Rodrigues C FigeroaCanadaIvan Magalhaes NEGOTIATION
Nicolas A RoysterAustraliaStephen Shaw PROPOSAL
Kadeem M WieserSpainAsiya Javayant PROPOSAL
Jones J DarakjyBrazilAsiya Javayant UNQUALIFIED
Silvio C FollerArgentinaOnyama Limba NEW
Smith S WaycottRussiaBernardo Dominic QUALIFIED
Alejandro S RulapaughJapanXuxue Feng QUALIFIED
Maria T OstroskyJapanAsiya Javayant RENEWAL
Mujtaba Z TollnerJapanOnyama Limba UNQUALIFIED
Deepesh L OstroskyArgentinaOnyama Limba QUALIFIED
Greenwood I CaudyArgentinaAnna Fali NEW
Jennifer T FlosiBrazilIvan Magalhaes PROPOSAL
Rodrigues T WaycottBrazilElwin Sharvill NEW
Darci U IturbideArgentinaXuxue Feng RENEWAL
Faith J StockhamJapanOnyama Limba NEW
Deepesh L FigeroaFranceStephen Shaw QUALIFIED
Deepesh B DilliardBrazilElwin Sharvill RENEWAL
Aika P CaudyFranceAnna Fali UNQUALIFIED
Chavez I FollerUnited KingdomIoni Bowcher QUALIFIED
Costa V RoysterUnited KingdomAnna Fali NEW
Isabel F DoeUnited KingdomAsiya Javayant NEGOTIATION
Salvatore E MorascaBrazilBernardo Dominic UNQUALIFIED
Munro E OstroskySpainAsiya Javayant RENEWAL
Jones M RulapaughSpainBernardo Dominic UNQUALIFIED
Smith P BriddickRussiaAmy Elsner UNQUALIFIED
Isabel M WieserAustraliaBernardo Dominic RENEWAL
Aika C BologniaJapanOnyama Limba NEW
Mujtaba B OldroydItalyXuxue Feng UNQUALIFIED

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