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 B GlickSpainStephen Shaw RENEWAL
Alejandro G DoeUnited KingdomBernardo Dominic PROPOSAL
Maria B MarrierUnited KingdomAsiya Javayant NEGOTIATION
Alejandro W DoeSpainIvan Magalhaes NEGOTIATION
Mujtaba F NestleUnited KingdomIvan Magalhaes PROPOSAL
Isabel S WieserFranceAsiya Javayant PROPOSAL
Ashley B FlosiAustraliaBernardo Dominic NEGOTIATION
Julie E NestleArgentinaAnna Fali NEGOTIATION
Antonio W FerenczItalyAnna Fali NEGOTIATION
Maisha Y FlosiFranceStephen Shaw UNQUALIFIED
Smith L BologniaSpainAmy Elsner PROPOSAL
Juan O RulapaughJapanStephen Shaw PROPOSAL
Morrow X NestleUnited KingdomBernardo Dominic NEGOTIATION
Tony J PerinItalyIoni Bowcher UNQUALIFIED
Cody A GarufiUnited KingdomElwin Sharvill PROPOSAL
Rodrigues Z SlusarskiCanadaOnyama Limba QUALIFIED
Emily O SchemmerAustraliaOnyama Limba QUALIFIED
Jefferson U SergiItalyIvan Magalhaes NEGOTIATION
Misaki T OstroskyUnited KingdomStephen Shaw NEW
Deepesh G CaldareraFranceAmy Elsner QUALIFIED
Alejandro V CampainFranceXuxue Feng UNQUALIFIED
Tony T ShinkoIndiaAsiya Javayant NEW
Cody N MaletRussiaAmy Elsner QUALIFIED
Clifford U OldroydUnited KingdomOnyama Limba NEGOTIATION
Morrow T NestleJapanXuxue Feng UNQUALIFIED
Clifford S PerinAustraliaIoni Bowcher RENEWAL
Clifford W NickaRussiaOnyama Limba RENEWAL
Jennifer Y FerenczBrazilOnyama Limba UNQUALIFIED
Ashley W BologniaItalyIoni Bowcher NEW
Leon A KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Faith K DoeBrazilOnyama Limba NEGOTIATION
Emily C WaycottArgentinaXuxue Feng UNQUALIFIED
Emily E FerenczBrazilElwin Sharvill QUALIFIED
Maisha D WhobreySpainBernardo Dominic NEW
Morrow M PoquetteSpainBernardo Dominic PROPOSAL
Silvio P GillianUnited KingdomXuxue Feng NEGOTIATION
Deepesh D SergiArgentinaXuxue Feng RENEWAL
Jennifer X KuskoAustraliaXuxue Feng NEW
Rodrigues J KolmetzGermanyElwin Sharvill UNQUALIFIED
Maisha Y CaldareraJapanIoni Bowcher NEW
Faith Y SlusarskiRussiaAmy Elsner PROPOSAL
Maisha N MaletJapanAsiya Javayant RENEWAL
Faith I DilliardJapanAmy Elsner RENEWAL
Cody P MaletArgentinaAmy Elsner PROPOSAL
Ashley W CampainRussiaBernardo Dominic PROPOSAL
Clifford R FerenczRussiaIvan Magalhaes NEGOTIATION
Greenwood P CampainRussiaIoni Bowcher PROPOSAL
Ricardo Y FigeroaUnited KingdomBernardo Dominic UNQUALIFIED
David S PerinFranceXuxue Feng RENEWAL
Antonio J FollerIndiaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Isabel S WaycottBrazilIvan Magalhaes PROPOSAL
Aika T WieserBrazilAsiya Javayant NEGOTIATION
Greenwood H CampainSpainStephen Shaw UNQUALIFIED
Jefferson K FerenczArgentinaIoni Bowcher RENEWAL
Greenwood L GlickGermanyAmy Elsner RENEWAL
Tony S ButtBrazilXuxue Feng NEW
Munro G RutaJapanIvan Magalhaes NEW
Smith E RimSpainXuxue Feng NEW
Rodrigues F FlosiCanadaOnyama Limba RENEWAL
Mujtaba E SlusarskiRussiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco K PerinSpain2026-07-05Rangoni Of Florence PROPOSAL31Ioni Bowcher
1001Tony M SchemmerJapan2026-06-09Rousseaux, Michael Esq NEGOTIATION76Xuxue Feng
1002Nicolas G KuskoItaly2026-07-08Chanay, Jeffrey A Esq UNQUALIFIED65Stephen Shaw
1003Sinclair L SchemmerBrazil2026-07-05Morlong Associates NEGOTIATION43Amy Elsner
1004Adams Y WieserBrazil2026-07-01Chapman, Ross E Esq NEW77Ioni Bowcher
1005Stacey J VocelkaSpain2026-07-04Benton, John B Jr NEW67Ioni Bowcher
1006Ricardo V RulapaughItaly2026-06-23King, Christopher A Esq NEW24Onyama Limba
1007Morrow Z CaldareraRussia2026-06-23King, Christopher A Esq QUALIFIED11Asiya Javayant
1008Costa T VocelkaRussia2026-06-12Buckley Miller Wright UNQUALIFIED57Xuxue Feng
1009Mujtaba C OstroskyIndia2026-06-18Dorl, James J Esq NEGOTIATION73Elwin Sharvill
1010Ricardo B CaudyArgentina2026-06-12Chanay, Jeffrey A Esq PROPOSAL34Stephen Shaw
1011Misaki T MacleadUnited Kingdom2026-06-29Benton, John B Jr QUALIFIED20Asiya Javayant
1012Adams X FigeroaCanada2026-06-29Feiner Bros QUALIFIED37Anna Fali
1013Mujtaba V SchemmerJapan2026-06-09Feiner Bros NEW24Asiya Javayant
1014Rodrigues V WhobreyArgentina2026-06-17Morlong Associates PROPOSAL96Xuxue Feng
1015Ivar Z SaylorsGermany2026-07-06Truhlar And Truhlar Attys PROPOSAL67Ioni Bowcher
1016Costa G NestleBrazil2026-06-24Rousseaux, Michael Esq NEW63Ioni Bowcher
1017Sinclair H ShinkoFrance2026-06-10Feiner Bros RENEWAL94Stephen Shaw
1018Salvatore I GarufiSpain2026-06-14Morlong Associates NEGOTIATION12Stephen Shaw
1019Salvatore F PerinItaly2026-07-02Dorl, James J Esq NEW8Ioni Bowcher
1020Kaitlin O MaletAustralia2026-07-07Feltz Printing Service PROPOSAL42Bernardo Dominic
1021Ricardo E ButtItaly2026-06-22Rousseaux, Michael Esq UNQUALIFIED31Asiya Javayant
1022David F NickaRussia2026-06-16Rangoni Of Florence NEGOTIATION70Ivan Magalhaes
1023Leon Y FollerSpain2026-06-30Truhlar And Truhlar Attys RENEWAL54Elwin Sharvill
1024James U MarrierBrazil2026-06-20Feltz Printing Service PROPOSAL68Onyama Limba
1025Wickens D IturbideFrance2026-07-07King, Christopher A Esq NEGOTIATION17Stephen Shaw
1026Greenwood K RulapaughRussia2026-06-22Chanay, Jeffrey A Esq PROPOSAL22Onyama Limba
1027Tony M CaudyArgentina2026-07-05Feiner Bros RENEWAL12Xuxue Feng
1028Francesco O StockhamItaly2026-06-18Commercial Press NEGOTIATION46Anna Fali
1029Kadeem V PoquetteFrance2026-06-23Rousseaux, Michael Esq UNQUALIFIED48Stephen Shaw
1030Nicolas X GarufiJapan2026-06-15Chanay, Jeffrey A Esq NEW93Bernardo Dominic
1031Chavez T SlusarskiUnited Kingdom2026-06-19Rousseaux, Michael Esq RENEWAL73Ivan Magalhaes
1032Johnson R CampainArgentina2026-06-25Commercial Press NEGOTIATION73Onyama Limba
1033Costa N PerinFrance2026-06-25Chapman, Ross E Esq QUALIFIED37Amy Elsner
1034Greenwood G RimSpain2026-06-09Truhlar And Truhlar Attys PROPOSAL12Stephen Shaw
1035Octavia C AlbaresAustralia2026-06-26Benton, John B Jr RENEWAL49Ivan Magalhaes
1036Clifford G RutaBrazil2026-06-29Chanay, Jeffrey A Esq NEW91Ioni Bowcher
1037Nicolas C SaylorsItaly2026-07-04Chemel, James L Cpa PROPOSAL63Asiya Javayant
1038Leon J RimGermany2026-06-21Commercial Press UNQUALIFIED87Ivan Magalhaes
1039Faith Y PoquetteGermany2026-06-16Chapman, Ross E Esq NEGOTIATION71Amy Elsner
1040Munro O WhobreyIndia2026-07-07Chemel, James L Cpa UNQUALIFIED78Stephen Shaw
1041Jefferson I OstroskyRussia2026-07-07Chemel, James L Cpa UNQUALIFIED4Ioni Bowcher
1042Ricardo M GillianBrazil2026-07-05Chanay, Jeffrey A Esq UNQUALIFIED89Xuxue Feng
1043Sinclair E GarufiCanada2026-07-02Rousseaux, Michael Esq NEGOTIATION64Stephen Shaw
1044Deepesh Y OldroydUnited Kingdom2026-06-26Rangoni Of Florence NEW7Asiya Javayant
1045Cody M GauchoItaly2026-06-20Dorl, James J Esq NEGOTIATION83Stephen Shaw
1046Clifford S SaylorsSpain2026-07-06King, Christopher A Esq UNQUALIFIED17Anna Fali
1047Darci X WieserIndia2026-06-28King, Christopher A Esq UNQUALIFIED15Asiya Javayant
1048Murillo J RutaArgentina2026-06-22Rousseaux, Michael Esq NEW63Amy Elsner
1049Wickens S DilliardArgentina2026-06-09Buckley Miller Wright UNQUALIFIED22Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ashley V WieserAustraliaAnna Fali QUALIFIED
David K ShinkoRussiaBernardo Dominic NEGOTIATION
Leon V FerenczAustraliaXuxue Feng NEW
Ricardo T IturbideFranceOnyama Limba NEGOTIATION
Deepesh H MaletGermanyAnna Fali NEGOTIATION
Ashley H FerenczArgentinaStephen Shaw NEW
Greenwood Y WieserFranceAnna Fali RENEWAL
Juan E RoysterIndiaBernardo Dominic PROPOSAL
Ivar F KuskoAustraliaAnna Fali PROPOSAL
Maria E OstroskyUnited KingdomIoni Bowcher NEW
Stacey D RutaRussiaBernardo Dominic PROPOSAL
Tony F BologniaRussiaXuxue Feng QUALIFIED
Octavia Y MaletArgentinaAmy Elsner QUALIFIED
Ivar B NestleUnited KingdomAnna Fali QUALIFIED
Cody O CaldareraFranceIvan Magalhaes NEGOTIATION
Maisha L PoquetteJapanXuxue Feng NEGOTIATION
Jefferson I PerinAustraliaStephen Shaw RENEWAL
Antonio L SchemmerAustraliaIvan Magalhaes NEGOTIATION
Nicolas T StockhamItalyStephen Shaw NEW
Alejandro Q NestleIndiaAmy Elsner QUALIFIED
Aika F OldroydGermanyOnyama Limba NEW
Cody B DoeItalyStephen Shaw NEW
Kadeem I CaudyIndiaAmy Elsner UNQUALIFIED
Jones C WaycottRussiaElwin Sharvill RENEWAL
Isabel L TollnerSpainOnyama Limba UNQUALIFIED
Cody X InouyeIndiaAnna Fali QUALIFIED
Darci X IturbideIndiaAsiya Javayant PROPOSAL
Salvatore Z AmigonArgentinaElwin Sharvill RENEWAL
Sinclair Q AlbaresFranceAnna Fali PROPOSAL
Faith J SlusarskiJapanAnna Fali UNQUALIFIED
Francesco D BriddickUnited KingdomAmy Elsner RENEWAL
Munro G BowleyItalyAnna Fali PROPOSAL
Maisha R DoeRussiaAmy Elsner UNQUALIFIED
Adams T GauchoGermanyXuxue Feng UNQUALIFIED
Ashley F VocelkaIndiaElwin Sharvill UNQUALIFIED
Jennifer J SchemmerGermanyAmy Elsner QUALIFIED
Stacey Y NestleBrazilXuxue Feng UNQUALIFIED
Izzy L StensethRussiaIoni Bowcher NEGOTIATION
Chavez U InouyeItalyAnna Fali NEGOTIATION
Arvin B GauchoCanadaIoni Bowcher QUALIFIED
Claire V BologniaBrazilBernardo Dominic NEGOTIATION
Juan W PoquetteCanadaIoni Bowcher NEGOTIATION
Kadeem W MacleadAustraliaAsiya Javayant QUALIFIED
Smith X MorascaUnited KingdomAsiya Javayant NEW
James G CaldareraCanadaAsiya Javayant NEGOTIATION
Costa C ChuiSpainBernardo Dominic NEGOTIATION
Jeanfrancois N CaudyIndiaAnna Fali NEGOTIATION
Chavez G VocelkaArgentinaElwin Sharvill PROPOSAL
Sinclair V GillianArgentinaAmy Elsner UNQUALIFIED
Munro Y MacleadJapanAnna Fali NEGOTIATION
Frozen Columns
Name
Francesco Y Flosi
Leon K Waycott
Julie P Morasca
Maria A Amigon
David O Iturbide
James U Maclead
Arvin R Morasca
Ashley Q Gillian
Aika B Bowley
Emily Z Glick
Claire O Inouye
Claire P Chui
Stacey C Chui
Kaitlin U Nestle
Kaitlin P Maclead
Isabel G Bolognia
Aditya L Inouye
Alejandro V Kusko
Chavez S Whobrey
Izzy C Kolmetz
Deepesh L Doe
Sinclair O Iturbide
Jennifer O Perin
Nicolas I Gillian
Mayumi L Campain
Alejandro Y Stockham
Antonio I Whobrey
Munro P Rim
Maria R Bowley
Aruna V Whobrey
Johnson M Saylors
Salvatore F Waycott
Izzy F Nestle
Izzy C Slusarski
Aruna O Rulapaugh
Adams N Schemmer
Maria W Butt
Rodrigues L Iturbide
Faith Y Stenseth
Nicolas L Chui
Johnson T Sergi
Leja A Doe
Mayumi A Ostrosky
Darci P Paprocki
Chavez N Sergi
Emily R Wieser
Johnson V Sergi
Tony A Bolognia
Salvatore B Slusarski
Octavia S Gaucho
IdCountryDate
1000India2026-07-06
1001Germany2026-06-23
1002Germany2026-07-03
1003France2026-07-05
1004Canada2026-06-25
1005Japan2026-06-24
1006Brazil2026-06-30
1007Germany2026-06-30
1008Australia2026-06-16
1009Brazil2026-06-27
1010Italy2026-07-08
1011Argentina2026-06-19
1012Brazil2026-07-06
1013United Kingdom2026-06-15
1014Argentina2026-06-25
1015Argentina2026-06-24
1016Japan2026-07-07
1017India2026-07-01
1018Australia2026-06-22
1019Australia2026-06-17
1020India2026-06-12
1021France2026-07-01
1022Australia2026-07-04
1023Russia2026-07-03
1024France2026-06-17
1025Brazil2026-06-12
1026Australia2026-06-29
1027Australia2026-06-20
1028Brazil2026-07-06
1029Canada2026-06-20
1030United Kingdom2026-07-02
1031India2026-06-23
1032India2026-06-20
1033Italy2026-07-05
1034Russia2026-07-03
1035Canada2026-06-27
1036Italy2026-06-18
1037Italy2026-06-27
1038Spain2026-06-26
1039United Kingdom2026-07-01
1040India2026-06-27
1041Italy2026-06-30
1042France2026-06-17
1043Spain2026-06-17
1044Japan2026-07-07
1045Germany2026-06-23
1046United Kingdom2026-06-17
1047Russia2026-07-03
1048Russia2026-06-23
1049Australia2026-06-09

On-Demand Data

NameIdCountryDate
Clifford J Vocelka1000Italy2026-06-17
Jennifer Q Venere1001Germany2026-06-25
Francesco W Stockham1002Canada2026-06-12
James Z Nicka1003France2026-07-06
Jennifer U Bowley1004Australia2026-06-25
Nicolas F Saylors1005Germany2026-06-22
Wickens Y Caldarera1006Canada2026-07-02
Aika J Flosi1007United Kingdom2026-06-15
Morrow F Waycott1008Italy2026-06-25
Adams J Inouye1009India2026-07-06
Greenwood B Malet1010Russia2026-06-22
Morrow G Flosi1011Japan2026-06-20
Nicolas P Foller1012Brazil2026-06-18
Claire X Stenseth1013United Kingdom2026-06-28
Izzy B Stenseth1014Russia2026-06-20
Mayumi A Kusko1015Canada2026-06-19
Jeanfrancois A Morasca1016France2026-06-28
Leon Z Tollner1017India2026-07-05
Arvin T Inouye1018Spain2026-06-25
Deepesh R Malet1019Brazil2026-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar H TollnerSpainAmy Elsner PROPOSAL
Salvatore K ButtArgentinaIvan Magalhaes PROPOSAL
Julie Y SchemmerFranceAsiya Javayant NEGOTIATION
Costa D OstroskySpainElwin Sharvill QUALIFIED
Kaitlin N DilliardRussiaAmy Elsner PROPOSAL
Juan Q FlosiJapanElwin Sharvill RENEWAL
Stacey O IturbideIndiaIoni Bowcher RENEWAL
Kaitlin L StensethItalyAnna Fali QUALIFIED
Deepesh C MaletAustraliaElwin Sharvill NEW
Jennifer G NickaSpainAnna Fali NEW
Murillo Y SergiRussiaElwin Sharvill QUALIFIED
Tony V ChuiRussiaXuxue Feng NEW
Francesco R CaudyBrazilBernardo Dominic PROPOSAL
Cody Y ChuiFranceIoni Bowcher RENEWAL
Alejandro B ShinkoCanadaElwin Sharvill QUALIFIED
Smith J PerinJapanElwin Sharvill RENEWAL
Silvio X CaudyRussiaStephen Shaw NEW
Kaitlin B ChuiItalyIoni Bowcher NEW
Jefferson B AlbaresArgentinaOnyama Limba RENEWAL
Clifford F VenereCanadaBernardo Dominic PROPOSAL
Johnson T DarakjyGermanyElwin Sharvill PROPOSAL
Ashley G StensethJapanXuxue Feng RENEWAL
Stacey B CaudyAustraliaXuxue Feng PROPOSAL
Ricardo Y FlosiAustraliaBernardo Dominic RENEWAL
Octavia D NestleBrazilAnna Fali NEW
Nicolas Q DarakjyJapanElwin Sharvill QUALIFIED
Salvatore M KolmetzItalyAmy Elsner QUALIFIED
Julie I StockhamRussiaBernardo Dominic QUALIFIED
Faith R InouyeGermanyAnna Fali RENEWAL
Maisha N WaycottSpainXuxue Feng QUALIFIED
Tony F BologniaUnited KingdomElwin Sharvill NEW
Antonio M StockhamBrazilElwin Sharvill QUALIFIED
Sinclair S AlbaresFranceElwin Sharvill RENEWAL
Ivar G VocelkaCanadaAsiya Javayant NEW
Kaitlin Y SaylorsIndiaElwin Sharvill PROPOSAL
Tony O WaycottSpainOnyama Limba UNQUALIFIED
Wickens O MaletGermanyAnna Fali RENEWAL
Greenwood X MaletFranceOnyama Limba QUALIFIED
Silvio Y CaldareraIndiaXuxue Feng PROPOSAL
Nicolas V SergiJapanAnna Fali NEW

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