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
Rodrigues N AmigonUnited KingdomXuxue Feng PROPOSAL
Claire J DoeFranceAsiya Javayant NEGOTIATION
Salvatore T VenereSpainAnna Fali NEGOTIATION
Octavia X OldroydGermanyXuxue Feng UNQUALIFIED
Alejandro E InouyeArgentinaAnna Fali QUALIFIED
Isabel K ButtBrazilStephen Shaw PROPOSAL
Jennifer V MarrierItalyStephen Shaw UNQUALIFIED
Johnson C BriddickUnited KingdomElwin Sharvill NEW
Salvatore C ChuiGermanyAsiya Javayant QUALIFIED
Francesco J AmigonAustraliaAsiya Javayant NEGOTIATION
Smith E ShinkoGermanyAsiya Javayant RENEWAL
Jeanfrancois R SchemmerRussiaOnyama Limba NEGOTIATION
Faith S FlosiItalyIoni Bowcher UNQUALIFIED
Mujtaba E StensethCanadaAmy Elsner QUALIFIED
Johnson B FollerUnited KingdomAnna Fali PROPOSAL
Johnson J SlusarskiCanadaElwin Sharvill NEW
Jennifer N FollerBrazilIoni Bowcher RENEWAL
Cody N OldroydSpainStephen Shaw NEW
Aika Q SchemmerBrazilAsiya Javayant NEW
Isabel E GarufiRussiaAsiya Javayant QUALIFIED
Emily M BologniaFranceAsiya Javayant NEGOTIATION
Jones L WieserGermanyElwin Sharvill NEGOTIATION
James X NestleBrazilIoni Bowcher NEGOTIATION
Ashley C AlbaresAustraliaElwin Sharvill QUALIFIED
Maisha T SergiIndiaStephen Shaw UNQUALIFIED
Costa R KuskoFranceIoni Bowcher UNQUALIFIED
Ricardo G GauchoIndiaElwin Sharvill QUALIFIED
Morrow R GarufiAustraliaIoni Bowcher NEW
Aruna P SergiJapanBernardo Dominic UNQUALIFIED
Ricardo T SaylorsJapanIoni Bowcher RENEWAL
Clifford A MorascaBrazilElwin Sharvill UNQUALIFIED
Tony P PoquetteArgentinaXuxue Feng UNQUALIFIED
Claire Q WhobreyGermanyIoni Bowcher NEGOTIATION
Costa E SergiJapanXuxue Feng RENEWAL
Greenwood A RulapaughGermanyAmy Elsner RENEWAL
Arvin D FollerCanadaIvan Magalhaes QUALIFIED
Aditya C MacleadArgentinaIvan Magalhaes QUALIFIED
Chavez W FerenczBrazilStephen Shaw NEW
Costa R StockhamRussiaAnna Fali PROPOSAL
Kadeem F PerinCanadaIoni Bowcher NEGOTIATION
Clifford Z PaprockiGermanyStephen Shaw PROPOSAL
Mujtaba Q StockhamBrazilIoni Bowcher QUALIFIED
Ricardo T RoysterFranceOnyama Limba QUALIFIED
Ricardo S WhobreyCanadaXuxue Feng PROPOSAL
Kadeem W PerinFranceAmy Elsner PROPOSAL
Aditya T NickaRussiaStephen Shaw UNQUALIFIED
Stacey K DarakjySpainXuxue Feng PROPOSAL
Isabel M NickaGermanyOnyama Limba NEGOTIATION
Clifford D StensethArgentinaIoni Bowcher RENEWAL
Juan R DilliardArgentinaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Tony E RulapaughSpainAmy Elsner PROPOSAL
Claire R KolmetzItalyXuxue Feng UNQUALIFIED
Jennifer I FigeroaBrazilIvan Magalhaes NEW
Arvin V ShinkoGermanyBernardo Dominic QUALIFIED
Maria O StockhamGermanyBernardo Dominic NEW
Aditya T StensethRussiaAnna Fali UNQUALIFIED
Aika W KuskoJapanAnna Fali UNQUALIFIED
Jennifer P KuskoAustraliaXuxue Feng PROPOSAL
James Z DilliardGermanyElwin Sharvill NEW
Faith F InouyeIndiaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio W KolmetzUnited Kingdom2026-08-08Truhlar And Truhlar Attys NEW0Onyama Limba
1001Greenwood H VocelkaFrance2026-08-16Chanay, Jeffrey A Esq RENEWAL89Anna Fali
1002Faith Y InouyeGermany2026-08-05Benton, John B Jr QUALIFIED53Ivan Magalhaes
1003Tony X BriddickFrance2026-07-25King, Christopher A Esq NEGOTIATION15Stephen Shaw
1004Smith I SaylorsItaly2026-07-31Rangoni Of Florence NEGOTIATION63Anna Fali
1005Wickens W GlickAustralia2026-08-02Rousseaux, Michael Esq QUALIFIED14Anna Fali
1006Jennifer L NestleJapan2026-07-23Printing Dimensions NEGOTIATION92Ioni Bowcher
1007Wickens Z PoquetteAustralia2026-07-28Printing Dimensions NEGOTIATION95Asiya Javayant
1008Juan M CaldareraArgentina2026-07-30Printing Dimensions NEGOTIATION11Onyama Limba
1009Silvio E PoquetteCanada2026-08-17Chemel, James L Cpa NEGOTIATION96Ivan Magalhaes
1010Ivar E ShinkoRussia2026-08-16Feltz Printing Service NEW76Asiya Javayant
1011Isabel F MacleadGermany2026-07-27Chemel, James L Cpa PROPOSAL63Xuxue Feng
1012Silvio D BologniaIndia2026-08-08King, Christopher A Esq QUALIFIED66Amy Elsner
1013Costa L MaletJapan2026-07-24Rangoni Of Florence NEW35Ioni Bowcher
1014Maisha K PaprockiIndia2026-08-14King, Christopher A Esq RENEWAL60Amy Elsner
1015Faith F KuskoCanada2026-08-07Chapman, Ross E Esq NEW29Amy Elsner
1016Maria V MorascaAustralia2026-08-10Feltz Printing Service QUALIFIED84Anna Fali
1017Wickens Q BowleyFrance2026-08-05Dorl, James J Esq RENEWAL37Bernardo Dominic
1018Deepesh A IturbideJapan2026-07-29Feltz Printing Service QUALIFIED34Xuxue Feng
1019Kadeem F AmigonGermany2026-08-16Rangoni Of Florence NEGOTIATION63Ioni Bowcher
1020Cody I VenereGermany2026-08-02Morlong Associates QUALIFIED16Ioni Bowcher
1021Jennifer O StockhamIndia2026-08-10Feiner Bros RENEWAL44Stephen Shaw
1022Ashley H FollerSpain2026-08-21Chemel, James L Cpa PROPOSAL0Xuxue Feng
1023Jones E GauchoBrazil2026-07-30Chapman, Ross E Esq UNQUALIFIED94Asiya Javayant
1024Deepesh N TollnerItaly2026-08-01Feltz Printing Service NEGOTIATION81Ioni Bowcher
1025Jeanfrancois V WieserSpain2026-08-01Feiner Bros NEGOTIATION83Elwin Sharvill
1026Wickens W SlusarskiUnited Kingdom2026-07-30Truhlar And Truhlar Attys NEW38Onyama Limba
1027Ivar O AlbaresFrance2026-08-16Truhlar And Truhlar Attys PROPOSAL31Asiya Javayant
1028Aika D MarrierJapan2026-08-14Commercial Press NEW87Elwin Sharvill
1029Ivar D RulapaughCanada2026-08-16Morlong Associates PROPOSAL97Amy Elsner
1030David I GarufiIndia2026-08-13King, Christopher A Esq NEW15Elwin Sharvill
1031Smith S IturbideRussia2026-08-16Feiner Bros NEW73Onyama Limba
1032Julie R RutaRussia2026-07-28Printing Dimensions RENEWAL20Ioni Bowcher
1033James W KuskoRussia2026-08-20King, Christopher A Esq PROPOSAL96Stephen Shaw
1034Jones W ButtArgentina2026-07-28Morlong Associates UNQUALIFIED5Amy Elsner
1035Sinclair L DarakjyCanada2026-08-10Buckley Miller Wright NEGOTIATION51Ioni Bowcher
1036Izzy W ChuiCanada2026-08-01Benton, John B Jr QUALIFIED94Amy Elsner
1037Silvio I PaprockiCanada2026-07-26Morlong Associates QUALIFIED66Asiya Javayant
1038Ivar X FollerFrance2026-08-08King, Christopher A Esq QUALIFIED49Stephen Shaw
1039Francesco Y FerenczCanada2026-08-02Truhlar And Truhlar Attys UNQUALIFIED38Onyama Limba
1040Murillo V BriddickRussia2026-07-28Truhlar And Truhlar Attys QUALIFIED50Stephen Shaw
1041Kadeem R GillianCanada2026-08-14Rangoni Of Florence PROPOSAL81Onyama Limba
1042Faith M TollnerJapan2026-07-25Rangoni Of Florence UNQUALIFIED17Onyama Limba
1043Ashley X MorascaIndia2026-08-21Chemel, James L Cpa NEGOTIATION75Onyama Limba
1044Mujtaba M GauchoRussia2026-07-30Commercial Press NEGOTIATION25Ivan Magalhaes
1045Kadeem I MacleadAustralia2026-08-13Benton, John B Jr NEGOTIATION75Anna Fali
1046Juan A OstroskyJapan2026-08-04Commercial Press QUALIFIED3Elwin Sharvill
1047Sinclair P InouyeItaly2026-07-26Chemel, James L Cpa QUALIFIED40Amy Elsner
1048Smith W GarufiGermany2026-07-25Rousseaux, Michael Esq UNQUALIFIED63Anna Fali
1049James D AlbaresCanada2026-08-10Rousseaux, Michael Esq NEGOTIATION49Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Smith K WaycottBrazilXuxue Feng UNQUALIFIED
Leja C AmigonIndiaStephen Shaw NEW
Jennifer U DoeIndiaBernardo Dominic RENEWAL
Jones Z KuskoBrazilStephen Shaw RENEWAL
Leja S CampainUnited KingdomElwin Sharvill RENEWAL
Greenwood Z RimSpainIoni Bowcher NEGOTIATION
Francesco Q AlbaresFranceAsiya Javayant RENEWAL
Cody U StensethItalyOnyama Limba QUALIFIED
Salvatore F BowleyCanadaElwin Sharvill NEW
Cody S GillianRussiaXuxue Feng UNQUALIFIED
Aditya R FigeroaIndiaAsiya Javayant UNQUALIFIED
Nicolas H WaycottGermanyStephen Shaw UNQUALIFIED
Cody H BologniaUnited KingdomXuxue Feng UNQUALIFIED
Kadeem L AmigonRussiaAmy Elsner RENEWAL
Murillo Y StockhamGermanyAsiya Javayant PROPOSAL
Faith W MaletCanadaOnyama Limba PROPOSAL
Greenwood P NickaSpainStephen Shaw NEW
Emily U MaletUnited KingdomOnyama Limba NEGOTIATION
Salvatore H AmigonGermanyIoni Bowcher NEGOTIATION
Kaitlin D IturbideGermanyAmy Elsner UNQUALIFIED
Greenwood U NickaIndiaBernardo Dominic UNQUALIFIED
Jones T DarakjyRussiaElwin Sharvill PROPOSAL
Munro Y GlickCanadaAmy Elsner PROPOSAL
Morrow O FerenczCanadaAmy Elsner UNQUALIFIED
Ashley U VocelkaAustraliaXuxue Feng UNQUALIFIED
Clifford J GlickCanadaAmy Elsner PROPOSAL
Emily P RoysterSpainXuxue Feng PROPOSAL
Aika N ButtFranceXuxue Feng QUALIFIED
Morrow G BowleyItalyAmy Elsner RENEWAL
Morrow O RutaBrazilStephen Shaw QUALIFIED
Maisha S BowleyRussiaAsiya Javayant UNQUALIFIED
Nicolas L IturbideGermanyAsiya Javayant RENEWAL
Munro N AlbaresArgentinaAmy Elsner UNQUALIFIED
Faith I GauchoSpainXuxue Feng NEGOTIATION
Jones A TollnerAustraliaXuxue Feng NEGOTIATION
Maisha P MarrierArgentinaElwin Sharvill NEW
Aruna X NestleIndiaXuxue Feng QUALIFIED
Costa K ChuiIndiaIvan Magalhaes RENEWAL
Nicolas A PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Maria F GillianUnited KingdomAnna Fali PROPOSAL
Silvio B FlosiJapanAsiya Javayant PROPOSAL
Aika L KolmetzRussiaElwin Sharvill NEW
Johnson T RoysterCanadaIvan Magalhaes QUALIFIED
Kadeem H StockhamFranceStephen Shaw RENEWAL
Clifford V RoysterArgentinaStephen Shaw PROPOSAL
Jones V RutaJapanBernardo Dominic NEGOTIATION
Darci Z SaylorsArgentinaElwin Sharvill NEW
Munro T RutaRussiaAsiya Javayant PROPOSAL
Rodrigues Z RoysterJapanStephen Shaw QUALIFIED
Jones X SlusarskiItalyStephen Shaw NEGOTIATION
Frozen Columns
Name
Mujtaba K Briddick
Juan Y Nestle
Leja Z Butt
Izzy H Iturbide
Maisha I Venere
Emily H Stenseth
Stacey A Stenseth
Adams P Wieser
Leon Z Gillian
Aika E Bolognia
Alejandro J Schemmer
Claire B Campain
Smith C Marrier
Sinclair I Marrier
Johnson X Perin
Leja M Chui
Murillo T Gillian
Izzy B Dilliard
Jeanfrancois H Malet
Octavia P Bowley
Sinclair Q Caudy
Sinclair I Maclead
Ashley Q Albares
Salvatore Y Rim
Kadeem C Schemmer
Claire Y Wieser
Nicolas W Dilliard
Francesco Y Amigon
Mayumi W Figeroa
Nicolas D Waycott
Wickens F Poquette
Emily T Vocelka
Aditya B Nestle
Izzy A Chui
Jeanfrancois U Garufi
Morrow C Stenseth
Ivar W Iturbide
Claire O Marrier
Wickens X Campain
Costa M Iturbide
Kaitlin R Whobrey
Salvatore H Shinko
Francesco Y Chui
Ivar S Ferencz
Francesco H Kusko
Arvin C Ruta
Kaitlin N Glick
Munro L Bolognia
Aika V Dilliard
Aditya A Perin
IdCountryDate
1000Canada2026-08-04
1001Japan2026-08-16
1002Brazil2026-08-20
1003France2026-07-30
1004United Kingdom2026-08-15
1005Italy2026-07-31
1006Argentina2026-08-09
1007Italy2026-08-09
1008India2026-07-23
1009Canada2026-08-03
1010Russia2026-08-11
1011India2026-07-27
1012Italy2026-08-05
1013Russia2026-08-11
1014Italy2026-08-06
1015Australia2026-08-13
1016Italy2026-07-29
1017Australia2026-07-25
1018Brazil2026-08-17
1019Germany2026-07-23
1020Italy2026-08-03
1021France2026-08-09
1022France2026-08-09
1023India2026-07-31
1024India2026-08-14
1025Italy2026-07-27
1026Russia2026-08-21
1027Germany2026-08-21
1028Canada2026-08-20
1029Japan2026-08-17
1030France2026-08-19
1031Spain2026-08-13
1032Italy2026-08-13
1033Italy2026-08-01
1034Germany2026-08-09
1035India2026-08-13
1036Canada2026-08-04
1037France2026-08-09
1038Canada2026-07-28
1039Japan2026-08-12
1040Japan2026-08-18
1041Canada2026-08-06
1042Spain2026-08-13
1043India2026-07-29
1044India2026-07-31
1045Australia2026-08-05
1046Australia2026-07-27
1047Japan2026-08-07
1048Canada2026-08-19
1049France2026-08-20

On-Demand Data

NameIdCountryDate
Wickens W Chui1000Japan2026-07-27
Ashley R Venere1001Argentina2026-08-06
Greenwood M Tollner1002Italy2026-07-26
Salvatore V Rim1003Japan2026-08-01
Maria H Amigon1004Germany2026-08-08
Silvio T Tollner1005France2026-07-23
Maisha H Amigon1006Argentina2026-08-09
Aruna V Waycott1007France2026-08-13
Deepesh G Figeroa1008India2026-08-04
Juan Q Royster1009Italy2026-08-05
Darci J Royster1010Australia2026-07-28
Chavez C Garufi1011Canada2026-08-07
Julie A Wieser1012Canada2026-07-25
Costa H Oldroyd1013Australia2026-08-21
Leja K Campain1014Russia2026-07-28
Francesco U Morasca1015Australia2026-08-20
Sinclair H Iturbide1016Russia2026-08-03
Antonio Z Stockham1017Italy2026-07-26
Francesco M Venere1018India2026-07-30
Ashley G Doe1019Spain2026-07-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin Q FigeroaUnited KingdomOnyama Limba PROPOSAL
Nicolas U OldroydBrazilXuxue Feng UNQUALIFIED
Emily Y DoeJapanIoni Bowcher UNQUALIFIED
Emily J OldroydIndiaAnna Fali NEW
Julie H AlbaresBrazilIoni Bowcher RENEWAL
Emily P FlosiItalyStephen Shaw PROPOSAL
Murillo Y IturbideCanadaStephen Shaw NEW
Mayumi E StensethUnited KingdomIvan Magalhaes PROPOSAL
Jefferson V DilliardUnited KingdomIoni Bowcher RENEWAL
Jones E VocelkaRussiaStephen Shaw QUALIFIED
Aditya K AmigonSpainOnyama Limba UNQUALIFIED
Clifford F DarakjyRussiaXuxue Feng QUALIFIED
Kaitlin E OstroskyFranceIvan Magalhaes PROPOSAL
Juan O SergiRussiaAmy Elsner NEGOTIATION
Maria T StensethCanadaBernardo Dominic UNQUALIFIED
Sinclair N FigeroaCanadaElwin Sharvill NEGOTIATION
Nicolas F TollnerUnited KingdomIoni Bowcher RENEWAL
Greenwood M NickaItalyIvan Magalhaes QUALIFIED
Smith L GlickCanadaOnyama Limba RENEWAL
Leja J RutaGermanyAnna Fali NEW
Smith E BowleyJapanOnyama Limba NEGOTIATION
Leja E MacleadGermanyIvan Magalhaes PROPOSAL
Emily R DarakjyIndiaIoni Bowcher PROPOSAL
Deepesh P GarufiJapanAmy Elsner RENEWAL
Leon S GillianJapanIvan Magalhaes QUALIFIED
Morrow T RimGermanyElwin Sharvill RENEWAL
Leja D FlosiUnited KingdomAsiya Javayant RENEWAL
Deepesh V MorascaIndiaElwin Sharvill NEGOTIATION
Johnson L DarakjyGermanyStephen Shaw PROPOSAL
Faith W TollnerUnited KingdomElwin Sharvill NEGOTIATION
Costa M DarakjyIndiaStephen Shaw PROPOSAL
Morrow N WieserFranceAmy Elsner PROPOSAL
Izzy B DilliardItalyElwin Sharvill NEGOTIATION
Mayumi U KolmetzSpainElwin Sharvill RENEWAL
Costa G RimIndiaAnna Fali UNQUALIFIED
Greenwood M SlusarskiItalyIoni Bowcher RENEWAL
Maisha L ChuiSpainElwin Sharvill PROPOSAL
Stacey I MaletJapanAmy Elsner UNQUALIFIED
Mujtaba B FollerGermanyIvan Magalhaes NEW
Jeanfrancois K BologniaItalyAsiya Javayant 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>