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
Clifford I TollnerJapanOnyama Limba UNQUALIFIED
Kadeem L FigeroaJapanStephen Shaw QUALIFIED
Misaki J GillianAustraliaAnna Fali UNQUALIFIED
Ashley S PerinAustraliaAmy Elsner QUALIFIED
Emily Z CaudyCanadaXuxue Feng NEW
Murillo E CaldareraSpainAmy Elsner NEW
Leon X WieserGermanyBernardo Dominic UNQUALIFIED
Ricardo Q CaudyFranceIoni Bowcher NEGOTIATION
Antonio X GlickItalyIoni Bowcher NEGOTIATION
Murillo S GlickFranceAmy Elsner NEW
Aruna G ChuiAustraliaAmy Elsner PROPOSAL
Mayumi X ButtFranceAnna Fali PROPOSAL
Maria S KolmetzSpainIvan Magalhaes NEW
Juan Z VenereUnited KingdomBernardo Dominic NEGOTIATION
Isabel Y SergiBrazilXuxue Feng PROPOSAL
Aditya W CaudyRussiaIoni Bowcher PROPOSAL
Leja U CampainCanadaAnna Fali NEW
Isabel O VenereSpainAsiya Javayant QUALIFIED
Isabel W MaletCanadaElwin Sharvill QUALIFIED
Costa Q SergiCanadaAsiya Javayant PROPOSAL
Aika R WieserJapanElwin Sharvill PROPOSAL
Morrow F MaletRussiaOnyama Limba NEGOTIATION
Maria L TollnerRussiaIoni Bowcher QUALIFIED
Murillo N GarufiGermanyAnna Fali RENEWAL
Francesco K OldroydJapanElwin Sharvill QUALIFIED
Misaki I FollerArgentinaIvan Magalhaes RENEWAL
Isabel X DilliardArgentinaElwin Sharvill NEW
Mujtaba M StockhamGermanyBernardo Dominic QUALIFIED
Francesco A DarakjyUnited KingdomOnyama Limba NEW
Ivar E StensethSpainBernardo Dominic NEW
Faith D FollerAustraliaAnna Fali PROPOSAL
Sinclair S StockhamIndiaXuxue Feng RENEWAL
Mujtaba C WaycottArgentinaBernardo Dominic QUALIFIED
Johnson T WaycottFranceXuxue Feng NEW
Izzy Z DoeJapanElwin Sharvill NEGOTIATION
Chavez R CaldareraSpainOnyama Limba QUALIFIED
Ivar D FigeroaFranceOnyama Limba QUALIFIED
Emily F PaprockiCanadaOnyama Limba NEGOTIATION
Jennifer L AmigonCanadaIvan Magalhaes NEGOTIATION
Leon P GillianAustraliaOnyama Limba NEW
Aruna X WieserUnited KingdomOnyama Limba RENEWAL
Mayumi N GillianCanadaAsiya Javayant UNQUALIFIED
Morrow H CaldareraRussiaIvan Magalhaes NEW
Isabel S CaldareraCanadaIoni Bowcher NEW
Emily P GarufiFranceXuxue Feng PROPOSAL
Darci O SergiItalyAnna Fali NEW
Stacey H MaletJapanAmy Elsner NEGOTIATION
Chavez P FollerBrazilElwin Sharvill RENEWAL
Tony M StensethRussiaIvan Magalhaes UNQUALIFIED
Aditya K AlbaresArgentinaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Deepesh Q PoquetteBrazilAnna Fali NEGOTIATION
Stacey X MaletItalyBernardo Dominic QUALIFIED
Chavez D MaletCanadaOnyama Limba NEGOTIATION
Leon N RimAustraliaXuxue Feng UNQUALIFIED
Maria L SlusarskiItalyBernardo Dominic UNQUALIFIED
Ashley S ShinkoGermanyStephen Shaw NEGOTIATION
Rodrigues V CaudySpainXuxue Feng NEW
Faith F FollerJapanAmy Elsner RENEWAL
David I RoysterRussiaOnyama Limba PROPOSAL
Sinclair V GlickJapanIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio L StensethRussia2025-05-29Chapman, Ross E Esq UNQUALIFIED72Asiya Javayant
1001Deepesh Q KolmetzBrazil2025-06-11Truhlar And Truhlar Attys QUALIFIED38Xuxue Feng
1002Antonio G FerenczSpain2025-06-12Printing Dimensions UNQUALIFIED70Stephen Shaw
1003Morrow V ShinkoItaly2025-05-31Feltz Printing Service PROPOSAL64Anna Fali
1004Faith K GillianJapan2025-06-10Commercial Press QUALIFIED16Elwin Sharvill
1005Aditya F StensethUnited Kingdom2025-05-21Printing Dimensions NEW47Amy Elsner
1006Stacey E RoysterRussia2025-06-06Chanay, Jeffrey A Esq RENEWAL13Onyama Limba
1007Deepesh C NestleBrazil2025-05-30Truhlar And Truhlar Attys RENEWAL89Ivan Magalhaes
1008Claire Y MaletUnited Kingdom2025-06-17Morlong Associates NEGOTIATION88Xuxue Feng
1009Chavez O CampainCanada2025-06-02Chapman, Ross E Esq QUALIFIED63Ivan Magalhaes
1010Ashley R NestleJapan2025-05-28Rangoni Of Florence PROPOSAL37Xuxue Feng
1011Aika R BologniaCanada2025-06-09Dorl, James J Esq PROPOSAL25Xuxue Feng
1012Claire J ChuiJapan2025-06-01Rangoni Of Florence NEGOTIATION90Asiya Javayant
1013Jennifer Y SlusarskiUnited Kingdom2025-05-28Feiner Bros NEGOTIATION73Onyama Limba
1014Rodrigues C DoeRussia2025-06-03Rousseaux, Michael Esq UNQUALIFIED14Elwin Sharvill
1015Costa V PerinIndia2025-06-05Buckley Miller Wright RENEWAL43Ioni Bowcher
1016Jennifer A CaudyItaly2025-06-09Feiner Bros NEGOTIATION45Onyama Limba
1017Silvio E AlbaresAustralia2025-06-09Chanay, Jeffrey A Esq NEGOTIATION56Xuxue Feng
1018Munro Q KuskoFrance2025-06-07Morlong Associates PROPOSAL74Ivan Magalhaes
1019Juan M CampainItaly2025-06-02Chemel, James L Cpa UNQUALIFIED67Bernardo Dominic
1020Greenwood G BowleyGermany2025-06-04Rousseaux, Michael Esq NEW61Stephen Shaw
1021Salvatore O SchemmerUnited Kingdom2025-06-07Chanay, Jeffrey A Esq QUALIFIED51Bernardo Dominic
1022Emily Y SergiIndia2025-05-26Rousseaux, Michael Esq UNQUALIFIED67Onyama Limba
1023Kaitlin E MorascaCanada2025-06-13Chanay, Jeffrey A Esq PROPOSAL92Xuxue Feng
1024Cody L NickaArgentina2025-06-11Benton, John B Jr QUALIFIED51Amy Elsner
1025Stacey F SergiRussia2025-05-27Buckley Miller Wright PROPOSAL58Stephen Shaw
1026Francesco E RulapaughAustralia2025-05-28Printing Dimensions NEGOTIATION11Ivan Magalhaes
1027Juan W MaletCanada2025-06-02Buckley Miller Wright UNQUALIFIED19Anna Fali
1028Stacey P FollerFrance2025-05-27Rangoni Of Florence UNQUALIFIED7Stephen Shaw
1029Francesco J SlusarskiSpain2025-05-22Benton, John B Jr NEW80Elwin Sharvill
1030Emily O MarrierCanada2025-06-03Printing Dimensions NEGOTIATION24Elwin Sharvill
1031Morrow U MaletCanada2025-05-21Feltz Printing Service QUALIFIED2Elwin Sharvill
1032Juan G GillianIndia2025-05-21Morlong Associates NEW8Asiya Javayant
1033Ivar W RulapaughIndia2025-06-12Rousseaux, Michael Esq NEW80Amy Elsner
1034Greenwood M DoeAustralia2025-06-07Feiner Bros NEGOTIATION12Elwin Sharvill
1035Mayumi Y RulapaughGermany2025-05-22Dorl, James J Esq UNQUALIFIED24Amy Elsner
1036Aika B MarrierCanada2025-05-28Printing Dimensions QUALIFIED82Ivan Magalhaes
1037David Q BowleyCanada2025-06-01Chanay, Jeffrey A Esq NEW75Bernardo Dominic
1038Emily Y VocelkaUnited Kingdom2025-05-31Benton, John B Jr QUALIFIED32Xuxue Feng
1039Johnson G OldroydAustralia2025-05-30Morlong Associates RENEWAL66Asiya Javayant
1040Isabel T AmigonArgentina2025-06-01King, Christopher A Esq NEW29Asiya Javayant
1041Nicolas K GillianUnited Kingdom2025-06-06Feiner Bros RENEWAL75Ivan Magalhaes
1042Arvin U FlosiAustralia2025-06-17Chapman, Ross E Esq PROPOSAL55Xuxue Feng
1043Jennifer N StockhamGermany2025-05-27Feiner Bros RENEWAL30Bernardo Dominic
1044Deepesh R NestleRussia2025-06-09Feltz Printing Service UNQUALIFIED26Ivan Magalhaes
1045Jeanfrancois V SlusarskiAustralia2025-05-19Chapman, Ross E Esq PROPOSAL70Ivan Magalhaes
1046Ivar D StensethCanada2025-05-28Chanay, Jeffrey A Esq UNQUALIFIED80Anna Fali
1047Francesco I BriddickAustralia2025-05-21Benton, John B Jr QUALIFIED49Ioni Bowcher
1048Jones F KuskoCanada2025-06-08Dorl, James J Esq NEW93Bernardo Dominic
1049Jefferson F RoysterFrance2025-06-01Morlong Associates RENEWAL76Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Misaki B RoysterItalyIoni Bowcher QUALIFIED
Jones C GlickIndiaElwin Sharvill NEW
Octavia P GlickCanadaIoni Bowcher QUALIFIED
Emily E VenereItalyBernardo Dominic NEGOTIATION
Murillo N MorascaArgentinaIvan Magalhaes UNQUALIFIED
Leon C ButtRussiaXuxue Feng RENEWAL
Julie J OldroydAustraliaAsiya Javayant QUALIFIED
Rodrigues K MaletFranceIvan Magalhaes NEW
Izzy D CampainRussiaBernardo Dominic NEW
Juan C GauchoRussiaAmy Elsner NEW
Nicolas E StensethUnited KingdomAsiya Javayant NEGOTIATION
Faith Q SlusarskiAustraliaXuxue Feng UNQUALIFIED
Silvio M FlosiAustraliaIoni Bowcher NEGOTIATION
Juan D SaylorsItalyElwin Sharvill UNQUALIFIED
Juan K MorascaJapanIvan Magalhaes UNQUALIFIED
David M WieserItalyAnna Fali UNQUALIFIED
Munro I SergiSpainOnyama Limba NEGOTIATION
Smith H OstroskyJapanStephen Shaw UNQUALIFIED
Jennifer F FlosiFranceStephen Shaw QUALIFIED
Sinclair W PaprockiCanadaOnyama Limba PROPOSAL
Ivar P DoeSpainAnna Fali RENEWAL
Nicolas A NestleIndiaOnyama Limba NEGOTIATION
Sinclair S KuskoItalyXuxue Feng UNQUALIFIED
David Y BologniaUnited KingdomIvan Magalhaes NEW
Aditya U DoeArgentinaStephen Shaw QUALIFIED
Ivar P GarufiSpainAnna Fali NEW
Kadeem I GillianIndiaAnna Fali NEGOTIATION
Aruna G TollnerAustraliaBernardo Dominic NEGOTIATION
Aruna K StockhamRussiaIoni Bowcher PROPOSAL
Deepesh R DarakjySpainXuxue Feng RENEWAL
Maria W PaprockiAustraliaStephen Shaw NEW
Jeanfrancois W SergiItalyElwin Sharvill NEGOTIATION
Juan G PoquetteItalyBernardo Dominic QUALIFIED
Adams T WaycottAustraliaBernardo Dominic NEW
Silvio H NickaFranceBernardo Dominic PROPOSAL
David U WieserBrazilAmy Elsner RENEWAL
Ashley B BowleyGermanyAnna Fali PROPOSAL
Jennifer W WhobreyItalyStephen Shaw NEGOTIATION
Isabel M FerenczArgentinaStephen Shaw PROPOSAL
Emily V OldroydGermanyAnna Fali NEGOTIATION
Maisha T AmigonItalyStephen Shaw NEGOTIATION
Jones G TollnerRussiaAnna Fali RENEWAL
Ricardo Y BowleyItalyBernardo Dominic UNQUALIFIED
Kaitlin Q MorascaRussiaOnyama Limba RENEWAL
Claire I InouyeCanadaAnna Fali NEGOTIATION
Aditya C WieserArgentinaXuxue Feng PROPOSAL
Johnson I RutaArgentinaElwin Sharvill RENEWAL
Greenwood Q FerenczFranceAmy Elsner RENEWAL
Munro E RimUnited KingdomStephen Shaw PROPOSAL
Johnson D MorascaIndiaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Costa E Doe
Ashley Z Iturbide
Kadeem O Albares
Adams B Briddick
Kaitlin P Saylors
Francesco D Briddick
David L Amigon
Misaki S Morasca
Misaki V Garufi
Tony D Iturbide
Mujtaba A Poquette
Greenwood L Caudy
Rodrigues K Poquette
Tony S Malet
Munro Z Ostrosky
Octavia W Figeroa
Leon C Malet
Ashley U Rim
Silvio M Whobrey
Tony O Caldarera
Aruna P Ferencz
Cody K Schemmer
Salvatore I Stockham
Silvio F Rulapaugh
Misaki K Caldarera
Salvatore I Chui
Antonio A Foller
Costa B Whobrey
Isabel L Schemmer
Salvatore O Briddick
Rodrigues M Flosi
Johnson E Garufi
Izzy B Ruta
Clifford P Royster
Ashley B Foller
Adams U Schemmer
Alejandro Q Schemmer
Jeanfrancois K Tollner
Stacey L Gillian
Mayumi P Poquette
Aditya K Dilliard
Kadeem B Bolognia
Johnson B Malet
Misaki N Doe
Jefferson J Rim
Wickens I Bolognia
Aditya E Amigon
Wickens Y Malet
Francesco S Oldroyd
Morrow E Kusko
IdCountryDate
1000Brazil2025-06-10
1001India2025-06-09
1002Australia2025-06-14
1003Japan2025-06-12
1004Canada2025-05-25
1005Australia2025-06-07
1006Spain2025-05-28
1007Japan2025-06-14
1008India2025-06-04
1009Italy2025-06-11
1010United Kingdom2025-05-21
1011Australia2025-06-10
1012Argentina2025-05-27
1013Spain2025-05-22
1014Argentina2025-05-19
1015Russia2025-05-28
1016Argentina2025-06-04
1017India2025-06-11
1018France2025-05-20
1019Germany2025-06-12
1020Russia2025-05-19
1021France2025-06-11
1022Argentina2025-05-27
1023India2025-05-29
1024Spain2025-05-23
1025India2025-05-25
1026Italy2025-05-30
1027Argentina2025-06-07
1028France2025-05-28
1029Canada2025-05-29
1030Canada2025-05-29
1031Italy2025-06-02
1032Australia2025-05-26
1033Canada2025-05-31
1034Brazil2025-06-17
1035Japan2025-05-23
1036Russia2025-06-15
1037Spain2025-06-15
1038Germany2025-06-13
1039France2025-06-06
1040Russia2025-06-02
1041Russia2025-05-20
1042Russia2025-05-23
1043Italy2025-06-02
1044Australia2025-06-16
1045Canada2025-05-26
1046United Kingdom2025-06-01
1047France2025-05-20
1048Japan2025-06-13
1049India2025-06-01

On-Demand Data

NameIdCountryDate
Cody F Waycott1000Argentina2025-05-28
Leon L Wieser1001France2025-05-28
Jeanfrancois X Caudy1002Australia2025-05-26
Faith R Bolognia1003Brazil2025-05-21
Mayumi J Maclead1004Germany2025-06-09
Julie Q Iturbide1005Spain2025-06-14
Costa W Briddick1006Argentina2025-05-27
Aruna M Iturbide1007Australia2025-06-11
Deepesh X Chui1008Australia2025-06-08
Ashley I Caudy1009France2025-06-09
Greenwood G Figeroa1010Australia2025-06-06
Mayumi S Ostrosky1011Italy2025-05-22
Ivar S Rim1012Japan2025-05-31
Octavia E Ruta1013Canada2025-06-06
Alejandro Q Darakjy1014Italy2025-06-03
Aruna Z Stockham1015Germany2025-06-05
Arvin R Nestle1016France2025-06-14
Leon E Maclead1017Germany2025-05-29
Morrow W Campain1018United Kingdom2025-05-24
Jones R Maclead1019Canada2025-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon T ButtUnited KingdomAmy Elsner NEW
Nicolas I VocelkaJapanIoni Bowcher NEGOTIATION
Alejandro L SlusarskiItalyXuxue Feng QUALIFIED
Juan O ChuiArgentinaElwin Sharvill NEW
Kaitlin B GarufiBrazilAmy Elsner PROPOSAL
Jeanfrancois S DarakjyRussiaAmy Elsner RENEWAL
Francesco G CaldareraUnited KingdomIvan Magalhaes RENEWAL
Silvio K CampainAustraliaBernardo Dominic PROPOSAL
Rodrigues Z NestleAustraliaAsiya Javayant UNQUALIFIED
Leon W CaudyIndiaXuxue Feng RENEWAL
Claire K FigeroaItalyAnna Fali QUALIFIED
Cody C NestleArgentinaAsiya Javayant NEW
Munro V ChuiGermanyOnyama Limba NEW
Stacey H NestleItalyAnna Fali NEW
Tony T DilliardBrazilElwin Sharvill NEGOTIATION
Mayumi L NestleRussiaAmy Elsner RENEWAL
Ricardo W AlbaresGermanyXuxue Feng RENEWAL
Aruna G GillianIndiaXuxue Feng UNQUALIFIED
Johnson K WieserArgentinaXuxue Feng PROPOSAL
Costa Y GarufiItalyAsiya Javayant PROPOSAL
Antonio J WaycottFranceXuxue Feng RENEWAL
Arvin T StensethIndiaAnna Fali NEW
Wickens K SchemmerFranceAnna Fali QUALIFIED
Emily R OldroydRussiaAmy Elsner PROPOSAL
Costa P WieserArgentinaElwin Sharvill QUALIFIED
Ashley X DoeUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore Q ChuiSpainXuxue Feng UNQUALIFIED
Juan V BriddickFranceAmy Elsner PROPOSAL
Emily W RulapaughSpainIvan Magalhaes PROPOSAL
Kaitlin I KolmetzGermanyElwin Sharvill NEW
Faith F DilliardFranceXuxue Feng QUALIFIED
Jeanfrancois E NickaIndiaAsiya Javayant UNQUALIFIED
Johnson W StockhamAustraliaElwin Sharvill PROPOSAL
Juan J CaldareraUnited KingdomOnyama Limba QUALIFIED
Silvio E GlickIndiaIvan Magalhaes UNQUALIFIED
Deepesh D PerinSpainXuxue Feng QUALIFIED
Ricardo E MaletItalyXuxue Feng QUALIFIED
Munro K KolmetzArgentinaStephen Shaw NEGOTIATION
Arvin Z WaycottFranceIvan Magalhaes NEGOTIATION
Aruna I AmigonBrazilBernardo Dominic 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>