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
Sinclair B StockhamBrazilElwin Sharvill PROPOSAL
Murillo L NickaArgentinaElwin Sharvill QUALIFIED
Adams Q RutaBrazilStephen Shaw UNQUALIFIED
Faith R GlickGermanyAnna Fali NEW
Chavez Z GlickBrazilAsiya Javayant PROPOSAL
Kadeem P KuskoFranceIvan Magalhaes PROPOSAL
Nicolas X FigeroaBrazilIvan Magalhaes UNQUALIFIED
Izzy G StockhamFranceOnyama Limba NEGOTIATION
Munro A ButtCanadaAnna Fali NEGOTIATION
Cody V StockhamJapanIvan Magalhaes RENEWAL
Jones F DarakjySpainXuxue Feng QUALIFIED
Faith H RutaArgentinaAsiya Javayant RENEWAL
Mayumi B StockhamCanadaXuxue Feng NEW
Jennifer D MaletSpainXuxue Feng NEW
Maisha Z PoquetteGermanyXuxue Feng PROPOSAL
Adams D PoquetteGermanyBernardo Dominic RENEWAL
Salvatore H MarrierArgentinaIvan Magalhaes RENEWAL
Jones V NickaBrazilXuxue Feng QUALIFIED
Tony J AmigonGermanyElwin Sharvill RENEWAL
Salvatore J IturbideArgentinaXuxue Feng NEW
Tony Z ShinkoArgentinaAnna Fali NEGOTIATION
Aruna N RimRussiaIoni Bowcher UNQUALIFIED
Leja I GauchoFranceBernardo Dominic NEGOTIATION
Jones F MaletSpainAsiya Javayant QUALIFIED
Johnson I ButtFranceStephen Shaw PROPOSAL
Octavia R PoquetteRussiaOnyama Limba PROPOSAL
Munro Y BologniaArgentinaAsiya Javayant UNQUALIFIED
Maria W FollerGermanyOnyama Limba UNQUALIFIED
Kaitlin S TollnerJapanAmy Elsner NEGOTIATION
Salvatore W DarakjyIndiaAsiya Javayant RENEWAL
Jones T WaycottSpainAnna Fali UNQUALIFIED
Jennifer U SchemmerGermanyElwin Sharvill UNQUALIFIED
Rodrigues R VocelkaUnited KingdomAnna Fali NEW
Jeanfrancois H FigeroaArgentinaAnna Fali NEGOTIATION
David N CampainRussiaIoni Bowcher QUALIFIED
Deepesh L DoeAustraliaAmy Elsner QUALIFIED
Juan S InouyeBrazilBernardo Dominic NEGOTIATION
Claire P GarufiFranceAnna Fali NEGOTIATION
Deepesh L NickaBrazilAmy Elsner NEW
Tony Z WhobreyIndiaXuxue Feng NEW
Munro G AmigonSpainElwin Sharvill PROPOSAL
James Q IturbideIndiaStephen Shaw UNQUALIFIED
Aditya K PoquetteAustraliaXuxue Feng UNQUALIFIED
Adams J RoysterArgentinaAsiya Javayant PROPOSAL
David K GlickItalyXuxue Feng PROPOSAL
Maisha K SergiBrazilStephen Shaw UNQUALIFIED
Kadeem O VocelkaItalyIoni Bowcher QUALIFIED
Johnson A KuskoCanadaAnna Fali UNQUALIFIED
Emily C PerinUnited KingdomIvan Magalhaes PROPOSAL
Salvatore V IturbideBrazilIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Rodrigues C BologniaIndiaElwin Sharvill RENEWAL
Rodrigues L GarufiUnited KingdomBernardo Dominic NEGOTIATION
Cody H MaletAustraliaIoni Bowcher QUALIFIED
Kadeem Y WieserSpainIvan Magalhaes PROPOSAL
Juan Y WieserBrazilIoni Bowcher PROPOSAL
Isabel V GauchoArgentinaStephen Shaw RENEWAL
James A InouyeAustraliaIvan Magalhaes QUALIFIED
Emily C BriddickJapanXuxue Feng QUALIFIED
Emily R OldroydIndiaXuxue Feng NEW
Leja A GarufiSpainIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey P ButtIndia2024-06-19King, Christopher A Esq UNQUALIFIED42Anna Fali
1001Rodrigues N DoeSpain2024-06-17Chemel, James L Cpa PROPOSAL11Xuxue Feng
1002Jennifer G FlosiRussia2024-05-26Chemel, James L Cpa NEGOTIATION38Anna Fali
1003Nicolas C DilliardItaly2024-06-09King, Christopher A Esq QUALIFIED97Ioni Bowcher
1004Chavez Y SaylorsArgentina2024-06-11Feltz Printing Service RENEWAL83Xuxue Feng
1005Francesco Z ChuiFrance2024-06-21Benton, John B Jr UNQUALIFIED75Amy Elsner
1006Arvin H GillianCanada2024-06-16Rangoni Of Florence UNQUALIFIED97Stephen Shaw
1007Mujtaba G KolmetzUnited Kingdom2024-06-19Chapman, Ross E Esq PROPOSAL72Ioni Bowcher
1008Mayumi T CampainRussia2024-05-26Dorl, James J Esq RENEWAL18Stephen Shaw
1009Munro F GillianFrance2024-06-01Morlong Associates QUALIFIED18Ioni Bowcher
1010Francesco H GillianGermany2024-05-29Dorl, James J Esq UNQUALIFIED48Bernardo Dominic
1011Wickens S WaycottBrazil2024-05-31Printing Dimensions RENEWAL78Onyama Limba
1012Greenwood K FlosiIndia2024-05-30Chemel, James L Cpa NEGOTIATION68Bernardo Dominic
1013Johnson U PoquetteAustralia2024-06-12Commercial Press QUALIFIED29Bernardo Dominic
1014Morrow S StensethAustralia2024-06-21Benton, John B Jr NEW30Bernardo Dominic
1015Aika Q PoquetteItaly2024-06-21Truhlar And Truhlar Attys NEW95Amy Elsner
1016Julie E RimUnited Kingdom2024-06-10Truhlar And Truhlar Attys NEW83Ivan Magalhaes
1017Adams M MarrierRussia2024-06-10Benton, John B Jr NEW62Bernardo Dominic
1018Juan R CaldareraRussia2024-05-25King, Christopher A Esq UNQUALIFIED1Stephen Shaw
1019Octavia P MarrierArgentina2024-06-06King, Christopher A Esq QUALIFIED17Asiya Javayant
1020Munro M MarrierItaly2024-06-21Buckley Miller Wright NEGOTIATION71Bernardo Dominic
1021Isabel Q ShinkoUnited Kingdom2024-06-08Feiner Bros QUALIFIED15Asiya Javayant
1022Aditya D DarakjyCanada2024-06-18King, Christopher A Esq NEGOTIATION11Ivan Magalhaes
1023Jennifer I MacleadItaly2024-06-21Rousseaux, Michael Esq NEGOTIATION41Ivan Magalhaes
1024Johnson L GlickAustralia2024-06-15Rangoni Of Florence PROPOSAL95Ivan Magalhaes
1025Johnson W MaletJapan2024-06-03Chemel, James L Cpa RENEWAL99Amy Elsner
1026Juan H SaylorsSpain2024-06-21Chanay, Jeffrey A Esq RENEWAL77Xuxue Feng
1027Jennifer C CaldareraRussia2024-05-28Dorl, James J Esq NEGOTIATION93Ivan Magalhaes
1028Smith L RulapaughCanada2024-06-20Morlong Associates PROPOSAL1Amy Elsner
1029Clifford P ShinkoIndia2024-06-08Rangoni Of Florence UNQUALIFIED37Bernardo Dominic
1030James Z ChuiBrazil2024-05-28Chemel, James L Cpa NEW5Bernardo Dominic
1031Greenwood J RimAustralia2024-05-28Feiner Bros RENEWAL23Ioni Bowcher
1032Nicolas A KuskoRussia2024-06-12Rousseaux, Michael Esq QUALIFIED88Xuxue Feng
1033Octavia L SchemmerUnited Kingdom2024-06-20Buckley Miller Wright NEGOTIATION48Ivan Magalhaes
1034Maisha R AmigonFrance2024-06-13Chemel, James L Cpa PROPOSAL34Onyama Limba
1035Maria M RulapaughItaly2024-05-26Printing Dimensions NEW74Stephen Shaw
1036Mayumi J FigeroaUnited Kingdom2024-06-22Rousseaux, Michael Esq RENEWAL35Anna Fali
1037Darci N InouyeArgentina2024-06-20Chanay, Jeffrey A Esq PROPOSAL13Ivan Magalhaes
1038Jones X NickaUnited Kingdom2024-05-27King, Christopher A Esq NEGOTIATION70Bernardo Dominic
1039Jeanfrancois J MaletAustralia2024-06-21Printing Dimensions NEGOTIATION26Ioni Bowcher
1040Darci M WieserFrance2024-05-24Dorl, James J Esq NEW77Xuxue Feng
1041David K CaldareraGermany2024-06-13Truhlar And Truhlar Attys UNQUALIFIED63Ioni Bowcher
1042Rodrigues D ChuiIndia2024-06-02Printing Dimensions NEW69Ivan Magalhaes
1043Ivar F PoquetteItaly2024-06-22Truhlar And Truhlar Attys NEGOTIATION49Xuxue Feng
1044Octavia V FerenczUnited Kingdom2024-06-06Chanay, Jeffrey A Esq RENEWAL8Elwin Sharvill
1045Izzy W KolmetzSpain2024-06-04Chemel, James L Cpa QUALIFIED39Xuxue Feng
1046Salvatore X OstroskyGermany2024-05-29Chanay, Jeffrey A Esq QUALIFIED25Bernardo Dominic
1047Aditya Z StensethItaly2024-05-31King, Christopher A Esq NEW97Xuxue Feng
1048Isabel I AmigonBrazil2024-06-11Rangoni Of Florence NEW51Amy Elsner
1049Costa X RutaItaly2024-06-19Rousseaux, Michael Esq UNQUALIFIED1Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois V FigeroaAustraliaIoni Bowcher UNQUALIFIED
Ashley M GarufiUnited KingdomXuxue Feng RENEWAL
Morrow X WaycottJapanBernardo Dominic NEGOTIATION
Cody R AlbaresAustraliaStephen Shaw UNQUALIFIED
Costa C FerenczCanadaBernardo Dominic NEGOTIATION
Jones D NestleFranceElwin Sharvill UNQUALIFIED
David I ButtAustraliaBernardo Dominic NEGOTIATION
Maria O SergiCanadaAmy Elsner RENEWAL
Murillo J SergiGermanyElwin Sharvill UNQUALIFIED
Misaki L FerenczFranceXuxue Feng NEW
Misaki N DoeUnited KingdomAsiya Javayant RENEWAL
Deepesh F OldroydIndiaStephen Shaw PROPOSAL
Wickens O ButtRussiaAsiya Javayant UNQUALIFIED
Maria V SlusarskiAustraliaAnna Fali QUALIFIED
Clifford G PaprockiBrazilElwin Sharvill UNQUALIFIED
Ivar R SaylorsRussiaElwin Sharvill UNQUALIFIED
Darci U SlusarskiRussiaBernardo Dominic NEGOTIATION
Izzy X DilliardBrazilAnna Fali QUALIFIED
Emily Q VocelkaItalyXuxue Feng RENEWAL
Claire O WieserAustraliaAnna Fali UNQUALIFIED
Mujtaba A RimArgentinaIoni Bowcher NEGOTIATION
Tony G MorascaCanadaOnyama Limba UNQUALIFIED
Costa G DilliardAustraliaStephen Shaw PROPOSAL
Isabel M VenereArgentinaIoni Bowcher UNQUALIFIED
Julie U AlbaresItalyXuxue Feng QUALIFIED
Aditya W SaylorsRussiaXuxue Feng NEW
Greenwood C CaldareraItalyStephen Shaw PROPOSAL
Chavez I FerenczItalyAsiya Javayant NEGOTIATION
Sinclair E PerinRussiaIvan Magalhaes QUALIFIED
Arvin C OldroydArgentinaAnna Fali RENEWAL
Costa H PoquetteArgentinaAmy Elsner PROPOSAL
Deepesh J CaudyArgentinaOnyama Limba QUALIFIED
Nicolas O PerinSpainAsiya Javayant NEW
Kadeem F GlickUnited KingdomOnyama Limba NEW
Maisha K MacleadArgentinaStephen Shaw QUALIFIED
Mujtaba I StockhamRussiaAmy Elsner QUALIFIED
Aika B BowleyGermanyAnna Fali NEW
Jefferson Z NestleItalyAnna Fali NEW
Chavez W RutaBrazilStephen Shaw NEGOTIATION
Greenwood Z NestleJapanElwin Sharvill RENEWAL
Ashley S AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Emily V WhobreyBrazilIoni Bowcher RENEWAL
Clifford M NickaArgentinaOnyama Limba UNQUALIFIED
Kadeem K FlosiAustraliaElwin Sharvill NEW
James W FollerUnited KingdomBernardo Dominic NEGOTIATION
Isabel Y CampainArgentinaStephen Shaw NEW
Morrow R ButtUnited KingdomAnna Fali QUALIFIED
Rodrigues P MaletFranceIoni Bowcher UNQUALIFIED
Antonio D GauchoItalyIvan Magalhaes QUALIFIED
Costa B SergiIndiaAnna Fali RENEWAL
Frozen Columns
Name
Aruna Q Kolmetz
Julie L Waycott
Claire R Stenseth
Wickens B Albares
Mujtaba O Ferencz
Jeanfrancois E Caudy
Leja B Kolmetz
Octavia N Perin
Jennifer I Wieser
Claire K Nestle
Claire O Ferencz
Ivar S Gillian
Isabel U Royster
Munro S Dilliard
Jennifer D Rulapaugh
Octavia M Albares
Mujtaba C Ruta
Aditya C Flosi
Francesco S Butt
Stacey R Ostrosky
Darci A Vocelka
Antonio T Maclead
Maria E Vocelka
Aruna T Darakjy
Tony O Ruta
Aika P Darakjy
Ashley X Rim
Jennifer L Amigon
Cody M Amigon
Isabel I Rulapaugh
Smith K Rulapaugh
Faith A Gillian
Jones D Dilliard
Ashley V Foller
Ashley F Rulapaugh
Aruna Q Whobrey
Deepesh N Stockham
Aika E Perin
Cody Q Oldroyd
Deepesh S Briddick
Leon U Poquette
David Y Dilliard
Jeanfrancois R Briddick
Kaitlin Q Nicka
David V Perin
Izzy E Darakjy
Sinclair Y Waycott
Ashley C Rulapaugh
Costa G Darakjy
Jeanfrancois I Morasca
IdCountryDate
1000Canada2024-06-13
1001Argentina2024-06-01
1002Canada2024-06-16
1003Japan2024-05-31
1004Japan2024-06-07
1005France2024-06-07
1006Canada2024-05-31
1007Canada2024-06-07
1008India2024-05-27
1009Italy2024-06-15
1010Spain2024-06-04
1011Russia2024-06-19
1012Germany2024-06-07
1013Canada2024-06-13
1014United Kingdom2024-06-02
1015Australia2024-06-09
1016Spain2024-06-09
1017Canada2024-06-02
1018India2024-05-28
1019Germany2024-06-03
1020Brazil2024-06-13
1021Italy2024-06-19
1022India2024-06-01
1023Canada2024-06-02
1024Russia2024-05-28
1025Australia2024-06-02
1026Canada2024-05-31
1027Germany2024-06-17
1028Argentina2024-06-01
1029France2024-06-18
1030Spain2024-06-17
1031India2024-06-01
1032Italy2024-06-16
1033Germany2024-06-10
1034France2024-05-26
1035Japan2024-06-21
1036Australia2024-06-15
1037Russia2024-05-26
1038Spain2024-06-17
1039Canada2024-06-03
1040United Kingdom2024-06-20
1041Japan2024-06-20
1042Brazil2024-05-30
1043France2024-06-21
1044India2024-06-09
1045France2024-06-06
1046Japan2024-06-06
1047Germany2024-05-27
1048Spain2024-06-19
1049Spain2024-06-05

On-Demand Data

NameIdCountryDate
Francesco N Shinko1000Brazil2024-06-17
Octavia R Amigon1001Russia2024-06-18
Mujtaba A Waycott1002Brazil2024-06-22
David L Ferencz1003Brazil2024-06-11
Aruna U Darakjy1004India2024-06-22
Smith Y Malet1005Russia2024-06-14
Isabel Y Darakjy1006United Kingdom2024-06-14
Juan Z Campain1007France2024-06-04
Deepesh U Paprocki1008Argentina2024-06-14
Morrow F Doe1009Brazil2024-06-10
Darci D Shinko1010India2024-05-27
Cody V Glick1011Italy2024-06-19
Maria T Doe1012Australia2024-05-28
Deepesh Z Rim1013India2024-06-02
Ivar L Perin1014Spain2024-06-16
Stacey F Paprocki1015Canada2024-05-28
Wickens U Ostrosky1016Italy2024-06-17
Isabel B Nestle1017Japan2024-06-16
Sinclair K Kolmetz1018India2024-06-20
Aruna W Foller1019Brazil2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens H WhobreyUnited KingdomAnna Fali QUALIFIED
Leja P WieserGermanyAsiya Javayant RENEWAL
James G BologniaAustraliaAmy Elsner NEW
Rodrigues T StensethJapanStephen Shaw NEGOTIATION
Faith P BologniaAustraliaIvan Magalhaes NEGOTIATION
Maria L CampainAustraliaStephen Shaw UNQUALIFIED
Aika N KuskoItalyAsiya Javayant NEW
Aika D CaldareraUnited KingdomIoni Bowcher NEW
Jones T WaycottCanadaStephen Shaw RENEWAL
Morrow C SchemmerJapanIoni Bowcher UNQUALIFIED
Julie K ChuiGermanyAmy Elsner NEGOTIATION
Juan V GlickJapanStephen Shaw RENEWAL
Costa B FigeroaBrazilXuxue Feng NEGOTIATION
Jeanfrancois S StockhamBrazilIoni Bowcher QUALIFIED
Jefferson Z DoeRussiaStephen Shaw NEGOTIATION
Ashley F WaycottFranceOnyama Limba PROPOSAL
Leon C MarrierSpainIoni Bowcher UNQUALIFIED
Octavia K KolmetzSpainBernardo Dominic QUALIFIED
Claire G CaldareraUnited KingdomIvan Magalhaes NEW
Deepesh G IturbideJapanAnna Fali NEW
Munro I MorascaItalyAmy Elsner NEGOTIATION
Chavez D CampainIndiaAmy Elsner RENEWAL
Costa R DarakjyAustraliaAmy Elsner RENEWAL
Tony B GillianJapanStephen Shaw PROPOSAL
Emily Y MaletGermanyIoni Bowcher QUALIFIED
Ivar F OldroydItalyIoni Bowcher NEW
Izzy E BowleyItalyXuxue Feng QUALIFIED
Maisha I DoeGermanyElwin Sharvill RENEWAL
Claire V NickaAustraliaBernardo Dominic NEW
Alejandro A AlbaresIndiaAmy Elsner RENEWAL
Ivar U CampainBrazilOnyama Limba UNQUALIFIED
Misaki X FigeroaJapanAmy Elsner NEGOTIATION
Francesco H GillianUnited KingdomStephen Shaw NEGOTIATION
Emily O CaudyRussiaIoni Bowcher PROPOSAL
Cody S ButtUnited KingdomAnna Fali QUALIFIED
Sinclair X VenereBrazilBernardo Dominic PROPOSAL
Izzy P AlbaresGermanyElwin Sharvill QUALIFIED
Greenwood C CaudyGermanyIvan Magalhaes NEW
Isabel W KolmetzSpainAnna Fali RENEWAL
Isabel V KolmetzSpainAsiya Javayant 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>