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
Munro P AmigonJapanOnyama Limba QUALIFIED
Smith X CampainArgentinaAsiya Javayant QUALIFIED
Wickens D WhobreyIndiaAmy Elsner QUALIFIED
Wickens L KuskoSpainAmy Elsner NEW
Smith Y SchemmerUnited KingdomAnna Fali UNQUALIFIED
Antonio V FollerItalyBernardo Dominic UNQUALIFIED
Claire D MaletJapanOnyama Limba NEW
Chavez X RulapaughSpainXuxue Feng NEGOTIATION
Chavez O RulapaughFranceOnyama Limba NEGOTIATION
Stacey B SaylorsAustraliaXuxue Feng NEW
James I CaldareraSpainOnyama Limba PROPOSAL
Darci V StensethCanadaXuxue Feng NEW
Tony M CaudyRussiaXuxue Feng NEW
Deepesh I GillianIndiaIoni Bowcher PROPOSAL
Julie H FollerItalyIvan Magalhaes PROPOSAL
Misaki G GillianGermanyXuxue Feng UNQUALIFIED
Greenwood P KolmetzUnited KingdomStephen Shaw RENEWAL
Salvatore K WhobreyArgentinaXuxue Feng PROPOSAL
Clifford N ButtAustraliaIvan Magalhaes RENEWAL
Mujtaba T RulapaughArgentinaBernardo Dominic NEW
Deepesh Z GarufiCanadaBernardo Dominic RENEWAL
Isabel W StockhamJapanElwin Sharvill NEW
Ashley F ButtUnited KingdomAmy Elsner NEW
Claire H WhobreyJapanXuxue Feng NEW
Arvin Q StockhamCanadaAnna Fali QUALIFIED
Johnson Q DilliardJapanStephen Shaw NEGOTIATION
Juan T InouyeUnited KingdomAmy Elsner RENEWAL
Octavia M MorascaRussiaXuxue Feng QUALIFIED
Darci C MorascaBrazilAsiya Javayant UNQUALIFIED
Nicolas A DarakjyCanadaIvan Magalhaes RENEWAL
Salvatore K ButtRussiaElwin Sharvill NEW
Ashley K StensethUnited KingdomIoni Bowcher NEW
Emily R DarakjyCanadaElwin Sharvill NEGOTIATION
Munro A FerenczBrazilXuxue Feng NEW
Julie F CampainAustraliaStephen Shaw NEGOTIATION
Ricardo R VocelkaArgentinaAmy Elsner RENEWAL
Alejandro Y PerinAustraliaElwin Sharvill RENEWAL
Leon D BowleySpainOnyama Limba QUALIFIED
Antonio H PerinAustraliaAsiya Javayant QUALIFIED
Jones X DarakjyUnited KingdomAmy Elsner NEGOTIATION
Leja M GarufiArgentinaStephen Shaw UNQUALIFIED
Aditya J IturbideCanadaIoni Bowcher NEW
David V FerenczGermanyBernardo Dominic QUALIFIED
Deepesh D MorascaJapanStephen Shaw UNQUALIFIED
Smith D KuskoBrazilAnna Fali RENEWAL
Maria O GauchoUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba S FollerGermanyStephen Shaw QUALIFIED
Sinclair P CampainArgentinaIvan Magalhaes NEW
Leon B MarrierRussiaAsiya Javayant NEW
Leja M SlusarskiCanadaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi N MarrierRussiaXuxue Feng RENEWAL
Tony A SaylorsArgentinaXuxue Feng UNQUALIFIED
Darci D BologniaUnited KingdomAnna Fali QUALIFIED
Costa M WieserUnited KingdomIoni Bowcher PROPOSAL
Kaitlin D FigeroaUnited KingdomXuxue Feng NEGOTIATION
Sinclair W WieserRussiaXuxue Feng NEGOTIATION
Smith R OldroydFranceElwin Sharvill PROPOSAL
Mayumi P CaudyJapanAmy Elsner QUALIFIED
Maisha I ButtSpainXuxue Feng QUALIFIED
Isabel E MorascaAustraliaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria L CaudySpain2025-06-09Feiner Bros NEW62Amy Elsner
1001Faith J MorascaJapan2025-05-17Commercial Press RENEWAL89Bernardo Dominic
1002Jefferson K DilliardUnited Kingdom2025-05-22Truhlar And Truhlar Attys PROPOSAL62Asiya Javayant
1003Aditya X ShinkoBrazil2025-06-06Morlong Associates PROPOSAL27Bernardo Dominic
1004Silvio Y RoysterFrance2025-06-10Benton, John B Jr RENEWAL2Amy Elsner
1005Izzy F GarufiItaly2025-05-29Benton, John B Jr NEGOTIATION25Onyama Limba
1006Arvin L StockhamItaly2025-05-27Benton, John B Jr NEW81Amy Elsner
1007Isabel U MaletItaly2025-05-20Rousseaux, Michael Esq PROPOSAL79Stephen Shaw
1008Jennifer H PerinRussia2025-05-23Morlong Associates QUALIFIED98Onyama Limba
1009Adams E VenereArgentina2025-06-01Printing Dimensions UNQUALIFIED50Xuxue Feng
1010Antonio Z OldroydIndia2025-06-06Chanay, Jeffrey A Esq RENEWAL81Anna Fali
1011Kaitlin Q OldroydAustralia2025-06-12Commercial Press PROPOSAL78Anna Fali
1012Claire Q MaletCanada2025-06-01Benton, John B Jr NEW31Amy Elsner
1013Munro R PoquetteJapan2025-05-25Chemel, James L Cpa NEGOTIATION62Anna Fali
1014Stacey S BowleyBrazil2025-06-09Commercial Press NEGOTIATION56Amy Elsner
1015Silvio T CampainAustralia2025-06-02Dorl, James J Esq QUALIFIED20Anna Fali
1016Rodrigues W MarrierSpain2025-06-12Feltz Printing Service QUALIFIED74Onyama Limba
1017Jeanfrancois J RoysterArgentina2025-05-27Chapman, Ross E Esq NEGOTIATION59Ivan Magalhaes
1018Tony F KolmetzAustralia2025-05-31Truhlar And Truhlar Attys PROPOSAL91Stephen Shaw
1019Smith G OldroydSpain2025-05-29Rangoni Of Florence QUALIFIED22Ivan Magalhaes
1020Jones G MacleadSpain2025-05-22Rousseaux, Michael Esq QUALIFIED31Ioni Bowcher
1021Silvio B MaletIndia2025-05-25Commercial Press NEGOTIATION7Xuxue Feng
1022Maisha V PoquetteAustralia2025-05-30King, Christopher A Esq UNQUALIFIED8Ioni Bowcher
1023Mujtaba I RimRussia2025-05-17Rangoni Of Florence QUALIFIED91Stephen Shaw
1024Morrow U DilliardItaly2025-05-17King, Christopher A Esq RENEWAL35Stephen Shaw
1025Leja B WhobreyRussia2025-05-20King, Christopher A Esq NEGOTIATION50Ioni Bowcher
1026Leja Q MorascaAustralia2025-06-11Chanay, Jeffrey A Esq PROPOSAL45Asiya Javayant
1027Costa A WaycottGermany2025-06-09Chapman, Ross E Esq PROPOSAL63Asiya Javayant
1028Jennifer H VocelkaIndia2025-06-13Truhlar And Truhlar Attys NEGOTIATION84Ivan Magalhaes
1029Jeanfrancois C TollnerAustralia2025-06-03Dorl, James J Esq UNQUALIFIED11Stephen Shaw
1030Jones R WhobreyItaly2025-06-01Dorl, James J Esq UNQUALIFIED33Elwin Sharvill
1031Emily J GarufiBrazil2025-06-10Chanay, Jeffrey A Esq RENEWAL40Ivan Magalhaes
1032Jones T FollerArgentina2025-05-18Commercial Press NEW48Amy Elsner
1033Maria M MarrierUnited Kingdom2025-05-29Feiner Bros QUALIFIED64Onyama Limba
1034Kaitlin E MacleadUnited Kingdom2025-05-19Morlong Associates PROPOSAL99Xuxue Feng
1035Jefferson W CampainArgentina2025-05-17Morlong Associates PROPOSAL0Bernardo Dominic
1036Darci C MorascaRussia2025-06-11Feltz Printing Service RENEWAL96Ivan Magalhaes
1037Costa L GlickArgentina2025-06-13Rousseaux, Michael Esq PROPOSAL71Bernardo Dominic
1038Silvio S StockhamJapan2025-06-04Rangoni Of Florence UNQUALIFIED50Xuxue Feng
1039Arvin R WieserSpain2025-06-06Feiner Bros QUALIFIED38Anna Fali
1040Mayumi S DarakjyJapan2025-05-17Chemel, James L Cpa QUALIFIED28Stephen Shaw
1041Antonio M GarufiAustralia2025-06-10Dorl, James J Esq PROPOSAL65Asiya Javayant
1042Emily O BologniaRussia2025-05-28Buckley Miller Wright UNQUALIFIED71Ioni Bowcher
1043Salvatore H WaycottFrance2025-05-27Morlong Associates QUALIFIED69Amy Elsner
1044Deepesh S BriddickAustralia2025-06-14Feiner Bros NEGOTIATION42Elwin Sharvill
1045Izzy R CaldareraSpain2025-05-20King, Christopher A Esq NEGOTIATION30Xuxue Feng
1046Murillo G FlosiArgentina2025-06-08Truhlar And Truhlar Attys RENEWAL48Onyama Limba
1047Octavia Z SlusarskiGermany2025-06-13Chanay, Jeffrey A Esq NEW63Stephen Shaw
1048Salvatore A SlusarskiIndia2025-06-06Rousseaux, Michael Esq RENEWAL90Anna Fali
1049Sinclair A GauchoUnited Kingdom2025-06-01Feiner Bros PROPOSAL45Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Salvatore A GauchoJapanIoni Bowcher NEW
Leon X NickaRussiaIoni Bowcher UNQUALIFIED
Leja Y WieserGermanyElwin Sharvill QUALIFIED
Costa D CampainUnited KingdomAmy Elsner PROPOSAL
Stacey R CaudyArgentinaXuxue Feng UNQUALIFIED
Emily X ChuiSpainBernardo Dominic QUALIFIED
Maria W PerinItalyOnyama Limba QUALIFIED
Stacey M OldroydRussiaXuxue Feng RENEWAL
Greenwood D TollnerFranceAsiya Javayant QUALIFIED
Isabel I AmigonIndiaElwin Sharvill UNQUALIFIED
Chavez S InouyeUnited KingdomOnyama Limba NEGOTIATION
Murillo Y AmigonUnited KingdomAmy Elsner QUALIFIED
Murillo T SlusarskiFranceElwin Sharvill RENEWAL
Antonio K MorascaAustraliaAnna Fali UNQUALIFIED
Kadeem K StockhamRussiaAnna Fali QUALIFIED
Aika V PaprockiArgentinaXuxue Feng UNQUALIFIED
Emily G RutaItalyElwin Sharvill PROPOSAL
Leon X MaletCanadaAnna Fali RENEWAL
James Q StockhamBrazilAnna Fali QUALIFIED
Jeanfrancois U SaylorsCanadaAnna Fali QUALIFIED
Aruna D RimGermanyStephen Shaw QUALIFIED
Ricardo R FigeroaItalyBernardo Dominic RENEWAL
Faith H PoquetteRussiaElwin Sharvill UNQUALIFIED
Leon D RimJapanIoni Bowcher PROPOSAL
Clifford I WaycottRussiaIoni Bowcher NEW
Leja C GillianUnited KingdomXuxue Feng UNQUALIFIED
Misaki D OldroydGermanyAnna Fali NEW
James X AlbaresFranceStephen Shaw UNQUALIFIED
Julie V PerinAustraliaAsiya Javayant QUALIFIED
Maria R PoquetteCanadaAmy Elsner NEGOTIATION
Aika P RutaBrazilOnyama Limba RENEWAL
Izzy X CampainCanadaAsiya Javayant NEGOTIATION
Adams R GauchoAustraliaIoni Bowcher NEGOTIATION
Adams R PoquetteBrazilElwin Sharvill NEW
Claire Z OstroskyArgentinaAnna Fali PROPOSAL
Deepesh V PerinGermanyOnyama Limba QUALIFIED
Juan U SaylorsUnited KingdomXuxue Feng RENEWAL
Smith C RimJapanElwin Sharvill NEW
Octavia L VocelkaAustraliaIoni Bowcher PROPOSAL
Rodrigues U MacleadCanadaElwin Sharvill QUALIFIED
Jeanfrancois Q DoeUnited KingdomAnna Fali NEW
Rodrigues O VocelkaItalyElwin Sharvill QUALIFIED
Kaitlin U StensethAustraliaElwin Sharvill PROPOSAL
Aruna I OldroydGermanyAmy Elsner RENEWAL
Darci A BriddickIndiaXuxue Feng UNQUALIFIED
James W BologniaRussiaBernardo Dominic RENEWAL
Costa O ChuiIndiaBernardo Dominic NEGOTIATION
Claire X GarufiAustraliaIvan Magalhaes PROPOSAL
James O ButtFranceElwin Sharvill PROPOSAL
Arvin Z SchemmerUnited KingdomAnna Fali NEW
Frozen Columns
Name
Darci Z Wieser
Johnson C Kolmetz
Emily Q Ferencz
David E Venere
Murillo P Whobrey
Chavez J Maclead
Izzy K Vocelka
Kadeem P Oldroyd
Ricardo M Waycott
Clifford R Rulapaugh
Darci D Stockham
Maria V Glick
Wickens E Garufi
Julie B Slusarski
Francesco Z Caudy
Johnson P Rim
Rodrigues H Flosi
Mujtaba L Bolognia
Rodrigues C Rim
Johnson W Flosi
Tony T Ferencz
Maisha V Briddick
Sinclair Z Poquette
Claire K Wieser
Munro R Iturbide
Jennifer M Rulapaugh
Antonio N Ruta
Kadeem N Dilliard
Silvio A Oldroyd
Sinclair F Nicka
Claire K Stenseth
Nicolas H Nicka
Faith L Nicka
Kadeem M Gillian
Costa Y Shinko
Misaki J Whobrey
Aditya N Oldroyd
Darci G Caudy
Maria U Flosi
Jones Y Campain
Julie R Campain
Ricardo Z Darakjy
Smith N Butt
Ricardo L Nestle
Nicolas T Amigon
Maria J Venere
Ricardo V Briddick
Johnson K Amigon
Ivar N Doe
Ricardo F Whobrey
IdCountryDate
1000Brazil2025-06-10
1001Germany2025-06-05
1002Australia2025-05-23
1003United Kingdom2025-06-09
1004Italy2025-06-01
1005United Kingdom2025-06-14
1006India2025-05-29
1007France2025-06-08
1008Italy2025-06-14
1009Brazil2025-06-14
1010Japan2025-06-13
1011India2025-05-18
1012United Kingdom2025-06-05
1013Spain2025-06-01
1014United Kingdom2025-06-09
1015United Kingdom2025-05-25
1016Spain2025-05-26
1017Germany2025-06-01
1018Japan2025-06-11
1019Japan2025-05-20
1020Spain2025-05-27
1021Russia2025-06-11
1022France2025-06-09
1023India2025-05-18
1024France2025-05-19
1025Argentina2025-05-29
1026Canada2025-05-30
1027France2025-05-29
1028Argentina2025-06-12
1029France2025-06-06
1030India2025-06-11
1031Japan2025-05-25
1032Russia2025-06-04
1033Germany2025-06-14
1034Brazil2025-06-08
1035Australia2025-05-21
1036Spain2025-05-19
1037France2025-06-08
1038Japan2025-05-23
1039France2025-06-03
1040France2025-06-05
1041Canada2025-05-19
1042Russia2025-05-20
1043Brazil2025-06-11
1044Spain2025-05-22
1045United Kingdom2025-05-23
1046France2025-05-29
1047Spain2025-05-26
1048Russia2025-05-26
1049France2025-06-11

On-Demand Data

NameIdCountryDate
Ashley J Iturbide1000Spain2025-05-25
Mujtaba M Garufi1001Germany2025-05-20
Juan O Maclead1002Argentina2025-05-25
Darci A Stockham1003Spain2025-06-02
Ivar J Ostrosky1004Russia2025-05-29
Tony I Nestle1005Spain2025-06-06
Munro O Caudy1006Germany2025-06-11
Wickens L Sergi1007United Kingdom2025-05-19
Leon Z Dilliard1008Australia2025-06-04
Arvin E Ostrosky1009Canada2025-06-05
Cody U Poquette1010India2025-06-14
Rodrigues Z Caudy1011Australia2025-06-01
Antonio G Schemmer1012India2025-05-28
Aruna A Shinko1013Spain2025-05-20
Murillo C Chui1014Argentina2025-06-02
Maisha C Glick1015Russia2025-06-09
Chavez J Tollner1016Russia2025-05-25
Aditya V Butt1017Japan2025-06-14
Antonio S Marrier1018Japan2025-05-26
Misaki O Butt1019Australia2025-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo S DarakjyGermanyIoni Bowcher PROPOSAL
Ivar T SchemmerJapanIoni Bowcher QUALIFIED
Mayumi C BologniaRussiaXuxue Feng NEW
Darci R FerenczFranceIvan Magalhaes RENEWAL
Darci X MorascaJapanOnyama Limba NEGOTIATION
Ivar R VocelkaAustraliaAnna Fali RENEWAL
Jefferson T FlosiBrazilIvan Magalhaes NEW
Jennifer Y FlosiUnited KingdomIoni Bowcher NEW
Juan R FlosiIndiaElwin Sharvill NEW
Clifford S WieserSpainBernardo Dominic PROPOSAL
Maria E ChuiCanadaOnyama Limba QUALIFIED
Juan Z KolmetzSpainAmy Elsner PROPOSAL
Jeanfrancois D ShinkoIndiaIvan Magalhaes RENEWAL
Misaki I WhobreySpainXuxue Feng UNQUALIFIED
Aika O KuskoIndiaAnna Fali QUALIFIED
Stacey Y FerenczGermanyOnyama Limba QUALIFIED
Mayumi L SaylorsArgentinaXuxue Feng NEGOTIATION
Nicolas C StensethIndiaElwin Sharvill NEW
Deepesh J CaudyArgentinaAmy Elsner UNQUALIFIED
Darci Y BriddickUnited KingdomIvan Magalhaes NEW
Julie O MorascaUnited KingdomOnyama Limba NEW
Morrow O SaylorsSpainBernardo Dominic NEW
Aditya O GlickItalyIoni Bowcher RENEWAL
Kaitlin E NestleBrazilIvan Magalhaes UNQUALIFIED
Antonio B WaycottItalyAsiya Javayant UNQUALIFIED
Stacey S MarrierGermanyIoni Bowcher RENEWAL
Aditya G WaycottAustraliaAsiya Javayant RENEWAL
Maisha J RutaGermanyAsiya Javayant UNQUALIFIED
Murillo Z InouyeArgentinaStephen Shaw PROPOSAL
Smith K NestleFranceOnyama Limba NEGOTIATION
Misaki B DarakjyJapanIvan Magalhaes UNQUALIFIED
Chavez N BriddickAustraliaOnyama Limba NEW
Aika P AmigonRussiaAmy Elsner UNQUALIFIED
Munro U RulapaughArgentinaAmy Elsner RENEWAL
Clifford M RimIndiaXuxue Feng RENEWAL
Jones C CaldareraUnited KingdomStephen Shaw RENEWAL
Kaitlin F SergiFranceAmy Elsner PROPOSAL
Cody B CaldareraAustraliaBernardo Dominic QUALIFIED
Murillo T CaudyFranceIoni Bowcher UNQUALIFIED
Claire U DilliardItalyXuxue Feng RENEWAL

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