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
Wickens T GauchoArgentinaOnyama Limba RENEWAL
Leon H GarufiFranceStephen Shaw PROPOSAL
James R WaycottFranceIoni Bowcher NEGOTIATION
Nicolas W AlbaresAustraliaStephen Shaw NEW
Sinclair A ButtGermanyStephen Shaw NEW
Leja Y GlickFranceAsiya Javayant RENEWAL
Claire J MaletGermanyAsiya Javayant QUALIFIED
Maisha C AlbaresGermanyAnna Fali RENEWAL
Antonio S VocelkaRussiaStephen Shaw RENEWAL
Johnson H StockhamUnited KingdomElwin Sharvill QUALIFIED
Silvio A PaprockiUnited KingdomElwin Sharvill NEW
Aditya N WaycottBrazilIoni Bowcher RENEWAL
Rodrigues N GillianAustraliaIoni Bowcher PROPOSAL
Arvin V OldroydRussiaElwin Sharvill NEGOTIATION
Arvin Q DarakjyCanadaIvan Magalhaes NEW
Costa R WaycottJapanStephen Shaw NEW
Darci O PoquetteIndiaAmy Elsner PROPOSAL
Aditya F GarufiCanadaXuxue Feng RENEWAL
Stacey P DoeFranceAsiya Javayant NEGOTIATION
Nicolas N SchemmerCanadaElwin Sharvill UNQUALIFIED
Morrow X MorascaGermanyXuxue Feng QUALIFIED
Adams B CampainBrazilXuxue Feng UNQUALIFIED
Adams V VenereAustraliaOnyama Limba RENEWAL
Claire B RimItalyAmy Elsner NEGOTIATION
Aruna A OstroskySpainOnyama Limba RENEWAL
Greenwood W RoysterBrazilStephen Shaw PROPOSAL
Cody D GlickBrazilBernardo Dominic PROPOSAL
Jeanfrancois V InouyeBrazilAsiya Javayant RENEWAL
Jennifer Y RutaIndiaAmy Elsner NEW
Wickens Q CaldareraCanadaAmy Elsner NEW
Francesco J ChuiBrazilAsiya Javayant QUALIFIED
Chavez E FigeroaAustraliaIvan Magalhaes NEW
Kaitlin U WaycottFranceAmy Elsner PROPOSAL
Julie Z GlickIndiaStephen Shaw PROPOSAL
Nicolas A GillianArgentinaIoni Bowcher UNQUALIFIED
Nicolas W NestleUnited KingdomAmy Elsner PROPOSAL
Kadeem Q BriddickAustraliaOnyama Limba RENEWAL
Deepesh P ButtCanadaOnyama Limba NEW
Aditya M GauchoBrazilIvan Magalhaes QUALIFIED
Jefferson X FlosiSpainXuxue Feng RENEWAL
Julie W BriddickSpainIvan Magalhaes PROPOSAL
Tony F GillianJapanAmy Elsner UNQUALIFIED
Ivar T FerenczIndiaAsiya Javayant NEW
Tony Q FlosiArgentinaIoni Bowcher UNQUALIFIED
Darci L DoeGermanyOnyama Limba NEW
Izzy T TollnerFranceElwin Sharvill QUALIFIED
Leon G GlickUnited KingdomXuxue Feng RENEWAL
Octavia T BowleyArgentinaStephen Shaw UNQUALIFIED
Isabel D GauchoArgentinaIvan Magalhaes NEW
Jefferson D FollerSpainAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Costa F TollnerBrazilAnna Fali NEGOTIATION
Darci E FlosiAustraliaIvan Magalhaes NEGOTIATION
Costa M NickaJapanXuxue Feng NEGOTIATION
Darci S RoysterBrazilStephen Shaw RENEWAL
Morrow W WieserArgentinaIoni Bowcher UNQUALIFIED
Antonio C NestleSpainIoni Bowcher RENEWAL
Darci W PerinCanadaXuxue Feng RENEWAL
Francesco S GlickRussiaAsiya Javayant RENEWAL
Octavia Z GarufiBrazilAsiya Javayant RENEWAL
Morrow Z NestleGermanyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia F MacleadUnited Kingdom2025-04-19Chanay, Jeffrey A Esq RENEWAL88Amy Elsner
1001Kadeem W IturbideFrance2025-05-03Feiner Bros NEGOTIATION6Xuxue Feng
1002James E PerinIndia2025-05-05Buckley Miller Wright NEGOTIATION41Elwin Sharvill
1003Smith R BologniaFrance2025-04-27Commercial Press NEW17Onyama Limba
1004Munro T SlusarskiAustralia2025-04-29Feltz Printing Service NEW50Elwin Sharvill
1005Ricardo Z MaletAustralia2025-04-27Printing Dimensions NEGOTIATION96Bernardo Dominic
1006Octavia O CaldareraIndia2025-04-12Chanay, Jeffrey A Esq UNQUALIFIED48Onyama Limba
1007Adams G MaletJapan2025-04-14Chanay, Jeffrey A Esq NEGOTIATION31Ivan Magalhaes
1008Morrow T OldroydUnited Kingdom2025-04-14Feiner Bros NEGOTIATION17Asiya Javayant
1009Leja H WieserItaly2025-04-25Chemel, James L Cpa UNQUALIFIED63Xuxue Feng
1010Nicolas X InouyeIndia2025-04-21Chanay, Jeffrey A Esq QUALIFIED96Onyama Limba
1011Mujtaba H DoeIndia2025-04-22Truhlar And Truhlar Attys QUALIFIED93Amy Elsner
1012Maria X InouyeGermany2025-04-27Chanay, Jeffrey A Esq RENEWAL83Stephen Shaw
1013Greenwood D CampainIndia2025-04-18King, Christopher A Esq UNQUALIFIED75Stephen Shaw
1014Salvatore N NickaBrazil2025-04-17Rangoni Of Florence UNQUALIFIED1Xuxue Feng
1015David H StensethIndia2025-04-17Chanay, Jeffrey A Esq RENEWAL97Bernardo Dominic
1016Aruna P FerenczCanada2025-05-08Chemel, James L Cpa NEGOTIATION1Xuxue Feng
1017Arvin H RoysterAustralia2025-05-04Rousseaux, Michael Esq RENEWAL35Asiya Javayant
1018David A GillianFrance2025-04-14Rangoni Of Florence NEW8Ivan Magalhaes
1019Chavez E DilliardArgentina2025-04-23Feltz Printing Service NEGOTIATION33Asiya Javayant
1020Ricardo S RutaAustralia2025-04-27Chanay, Jeffrey A Esq RENEWAL83Ioni Bowcher
1021Tony H NickaJapan2025-04-14Morlong Associates PROPOSAL0Amy Elsner
1022Ivar E ButtArgentina2025-04-23Buckley Miller Wright RENEWAL99Elwin Sharvill
1023Nicolas A MacleadUnited Kingdom2025-05-04Chanay, Jeffrey A Esq UNQUALIFIED5Anna Fali
1024James V SchemmerJapan2025-05-01Feiner Bros QUALIFIED95Ivan Magalhaes
1025Morrow F WaycottUnited Kingdom2025-04-13Benton, John B Jr RENEWAL28Elwin Sharvill
1026Munro L PerinIndia2025-04-20King, Christopher A Esq NEGOTIATION8Elwin Sharvill
1027Ivar K VenereRussia2025-04-21Benton, John B Jr NEGOTIATION81Ioni Bowcher
1028Wickens G IturbideRussia2025-04-12Buckley Miller Wright NEW61Bernardo Dominic
1029Silvio T OldroydGermany2025-04-11Benton, John B Jr QUALIFIED48Onyama Limba
1030Deepesh T DoeCanada2025-04-09Printing Dimensions NEW42Asiya Javayant
1031David J OldroydFrance2025-04-20Chanay, Jeffrey A Esq PROPOSAL93Ivan Magalhaes
1032Ivar Z GarufiIndia2025-04-21Dorl, James J Esq RENEWAL82Ioni Bowcher
1033Munro P ButtBrazil2025-04-14Benton, John B Jr NEGOTIATION61Ivan Magalhaes
1034Rodrigues U MorascaGermany2025-04-17Chapman, Ross E Esq UNQUALIFIED0Amy Elsner
1035Sinclair B CaudyCanada2025-05-08Dorl, James J Esq UNQUALIFIED9Ivan Magalhaes
1036Kaitlin H NickaUnited Kingdom2025-05-05Feltz Printing Service NEW73Amy Elsner
1037David M VenereCanada2025-04-10Buckley Miller Wright RENEWAL85Ioni Bowcher
1038David E KolmetzBrazil2025-04-27Chanay, Jeffrey A Esq RENEWAL32Amy Elsner
1039Sinclair N DarakjySpain2025-04-27Feltz Printing Service UNQUALIFIED90Anna Fali
1040Maria F FerenczItaly2025-04-23Commercial Press QUALIFIED96Asiya Javayant
1041Chavez V BowleyFrance2025-04-10Commercial Press UNQUALIFIED84Stephen Shaw
1042David E StockhamBrazil2025-04-30Chemel, James L Cpa PROPOSAL83Onyama Limba
1043Johnson Z RimItaly2025-04-28Feiner Bros NEGOTIATION29Anna Fali
1044Mujtaba P ShinkoAustralia2025-04-10Feltz Printing Service NEW11Ivan Magalhaes
1045Kaitlin W MorascaRussia2025-04-24King, Christopher A Esq NEW95Xuxue Feng
1046Nicolas A FollerBrazil2025-04-20Buckley Miller Wright RENEWAL92Onyama Limba
1047Claire I TollnerItaly2025-04-29Buckley Miller Wright NEW69Anna Fali
1048Murillo K GauchoJapan2025-04-22King, Christopher A Esq NEW38Xuxue Feng
1049Mujtaba Q GillianJapan2025-05-05Printing Dimensions NEW19Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aruna A CaudyUnited KingdomStephen Shaw QUALIFIED
Kaitlin A StensethIndiaAsiya Javayant RENEWAL
Jones A ButtItalyOnyama Limba NEGOTIATION
Juan R OstroskyGermanyOnyama Limba PROPOSAL
Maisha D BriddickUnited KingdomAsiya Javayant RENEWAL
Misaki B AlbaresRussiaOnyama Limba NEGOTIATION
Smith R RimFranceElwin Sharvill UNQUALIFIED
Octavia V MaletUnited KingdomStephen Shaw NEW
Faith K ButtGermanyElwin Sharvill NEGOTIATION
Alejandro G FigeroaUnited KingdomAsiya Javayant RENEWAL
Misaki Z GillianCanadaAmy Elsner RENEWAL
Morrow N NickaRussiaAsiya Javayant NEW
Julie R PaprockiFranceOnyama Limba NEW
Deepesh R DilliardSpainIvan Magalhaes NEW
James R SergiArgentinaElwin Sharvill NEW
Maisha M VocelkaCanadaAsiya Javayant RENEWAL
Chavez B NickaSpainBernardo Dominic QUALIFIED
Silvio W KuskoIndiaIoni Bowcher NEW
Munro R CaudyItalyIoni Bowcher QUALIFIED
Rodrigues S SchemmerUnited KingdomElwin Sharvill RENEWAL
Darci Z GillianAustraliaStephen Shaw NEW
Emily J DarakjyJapanBernardo Dominic PROPOSAL
Ivar F FollerJapanAnna Fali QUALIFIED
Julie C CaldareraItalyIoni Bowcher NEW
Juan T VocelkaRussiaBernardo Dominic NEGOTIATION
Rodrigues R SchemmerRussiaAsiya Javayant UNQUALIFIED
Darci D ShinkoUnited KingdomOnyama Limba NEW
Ashley Y InouyeJapanAmy Elsner NEW
Silvio Z BriddickFranceIvan Magalhaes PROPOSAL
Adams P WhobreyItalyOnyama Limba RENEWAL
Tony W KuskoJapanAnna Fali RENEWAL
Octavia K MarrierAustraliaXuxue Feng PROPOSAL
Sinclair T TollnerItalyElwin Sharvill UNQUALIFIED
Francesco L PaprockiAustraliaStephen Shaw NEW
Ricardo O SchemmerFranceOnyama Limba NEGOTIATION
Julie Q WieserBrazilAsiya Javayant PROPOSAL
Johnson C StockhamArgentinaBernardo Dominic NEGOTIATION
Nicolas R GauchoFranceXuxue Feng NEGOTIATION
Mujtaba Z RulapaughArgentinaAmy Elsner RENEWAL
Johnson B GillianAustraliaIoni Bowcher PROPOSAL
Ashley I OldroydJapanStephen Shaw RENEWAL
Adams M AlbaresJapanAmy Elsner UNQUALIFIED
Arvin F PaprockiRussiaAnna Fali NEGOTIATION
Jeanfrancois U CampainGermanyStephen Shaw NEW
Ricardo D VenereAustraliaAsiya Javayant NEGOTIATION
Aditya W AmigonFranceAsiya Javayant PROPOSAL
Claire C NestleUnited KingdomOnyama Limba NEGOTIATION
Ivar O FlosiUnited KingdomElwin Sharvill QUALIFIED
Claire T DilliardSpainAnna Fali UNQUALIFIED
Maria Z NestleItalyOnyama Limba PROPOSAL
Frozen Columns
Name
Leon R Ostrosky
Deepesh D Foller
Darci B Kolmetz
Clifford S Nicka
Deepesh J Gillian
Maria Z Malet
Ashley A Gillian
Silvio L Figeroa
Rodrigues N Darakjy
Aditya S Perin
Emily T Chui
Jennifer E Perin
Emily Y Iturbide
Jefferson S Wieser
Johnson B Stenseth
Jones U Figeroa
James H Ferencz
Maria B Saylors
Munro H Gillian
Jeanfrancois H Bowley
Deepesh A Albares
Mayumi W Schemmer
Izzy N Oldroyd
Isabel W Garufi
Maisha D Iturbide
Claire L Maclead
Maisha D Caldarera
Stacey S Morasca
Leon Z Ruta
Cody Y Inouye
Maisha E Gaucho
Silvio Y Ferencz
Mayumi H Nestle
Cody L Paprocki
Arvin L Ruta
Alejandro R Paprocki
Emily L Caudy
Cody W Vocelka
Izzy K Iturbide
Clifford X Perin
Ivar V Inouye
Aditya E Waycott
Maisha U Malet
Johnson R Ferencz
Wickens I Maclead
Maisha E Morasca
James P Kusko
Wickens Q Paprocki
Mayumi E Waycott
Francesco F Venere
IdCountryDate
1000India2025-04-26
1001Italy2025-04-24
1002France2025-05-03
1003Italy2025-04-22
1004Argentina2025-04-30
1005United Kingdom2025-05-08
1006Germany2025-04-12
1007Argentina2025-04-13
1008United Kingdom2025-05-01
1009Germany2025-04-15
1010Spain2025-04-09
1011Argentina2025-05-08
1012United Kingdom2025-04-10
1013Argentina2025-04-11
1014Canada2025-04-29
1015Germany2025-05-06
1016Argentina2025-04-17
1017Brazil2025-04-09
1018Spain2025-04-25
1019India2025-04-22
1020Germany2025-04-14
1021Spain2025-04-25
1022Brazil2025-05-08
1023Australia2025-04-26
1024Germany2025-04-09
1025Canada2025-04-09
1026France2025-04-14
1027Japan2025-05-03
1028Italy2025-04-16
1029France2025-05-08
1030Canada2025-04-28
1031India2025-05-04
1032Australia2025-04-10
1033Argentina2025-04-13
1034Russia2025-04-29
1035Italy2025-05-04
1036Brazil2025-04-26
1037Spain2025-04-18
1038United Kingdom2025-04-19
1039Russia2025-04-19
1040France2025-04-19
1041Italy2025-04-17
1042Japan2025-05-02
1043United Kingdom2025-04-22
1044Germany2025-04-19
1045India2025-05-07
1046United Kingdom2025-04-22
1047Brazil2025-05-06
1048Canada2025-04-11
1049Germany2025-04-10

On-Demand Data

NameIdCountryDate
David B Paprocki1000Argentina2025-04-30
Kaitlin L Chui1001France2025-04-12
Adams Z Gillian1002Canada2025-05-01
Alejandro J Dilliard1003United Kingdom2025-05-03
Jones D Kolmetz1004Spain2025-04-27
Greenwood K Venere1005Japan2025-05-03
Alejandro K Schemmer1006France2025-04-28
Francesco T Ruta1007Spain2025-04-18
Adams K Amigon1008Canada2025-04-25
Sinclair G Schemmer1009France2025-04-22
Deepesh T Butt1010Spain2025-04-29
Arvin B Malet1011Japan2025-04-21
Leon N Dilliard1012India2025-04-21
David A Venere1013Brazil2025-04-16
Wickens F Malet1014Argentina2025-04-18
Alejandro Z Rulapaugh1015Australia2025-04-22
Jeanfrancois F Venere1016Germany2025-05-02
Mayumi I Butt1017France2025-04-13
Jeanfrancois B Nicka1018Italy2025-04-27
Wickens V Amigon1019Germany2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco V GauchoSpainIoni Bowcher PROPOSAL
Misaki Q FlosiRussiaElwin Sharvill UNQUALIFIED
Octavia Y GillianFranceIoni Bowcher NEGOTIATION
Juan V WaycottJapanElwin Sharvill UNQUALIFIED
Octavia U TollnerIndiaAmy Elsner QUALIFIED
Sinclair V WaycottIndiaIvan Magalhaes UNQUALIFIED
Stacey Z CaldareraArgentinaIvan Magalhaes NEGOTIATION
Costa M ChuiArgentinaAmy Elsner NEW
Juan O InouyeArgentinaAnna Fali QUALIFIED
Adams E VocelkaItalyStephen Shaw UNQUALIFIED
Munro Z RimGermanyBernardo Dominic RENEWAL
Jeanfrancois A AlbaresAustraliaElwin Sharvill RENEWAL
Johnson J PaprockiIndiaStephen Shaw QUALIFIED
Arvin I ChuiArgentinaBernardo Dominic QUALIFIED
Clifford X GlickItalyAnna Fali UNQUALIFIED
Aruna G DarakjyJapanAnna Fali QUALIFIED
Rodrigues E DarakjyIndiaAsiya Javayant PROPOSAL
Juan O MorascaArgentinaStephen Shaw PROPOSAL
Maisha M VenereGermanyOnyama Limba UNQUALIFIED
Wickens U RulapaughItalyStephen Shaw NEW
Juan O RutaItalyAnna Fali PROPOSAL
Ivar S NickaJapanElwin Sharvill PROPOSAL
Claire J TollnerItalyAnna Fali NEGOTIATION
Mujtaba Q StensethFranceAsiya Javayant NEGOTIATION
Tony O RimArgentinaXuxue Feng NEGOTIATION
Leja F FollerJapanBernardo Dominic PROPOSAL
Claire J RoysterFranceIoni Bowcher RENEWAL
Ivar J ShinkoIndiaOnyama Limba NEW
Tony U TollnerGermanyAsiya Javayant QUALIFIED
Jefferson D InouyeFranceOnyama Limba NEGOTIATION
Mayumi A BowleyItalyAmy Elsner UNQUALIFIED
Jones I GarufiJapanBernardo Dominic NEGOTIATION
Francesco S DarakjyIndiaOnyama Limba QUALIFIED
Kaitlin L SchemmerCanadaBernardo Dominic NEW
Julie X IturbideRussiaAnna Fali UNQUALIFIED
Stacey K FerenczIndiaBernardo Dominic NEGOTIATION
Johnson V FigeroaGermanyIvan Magalhaes NEW
Jones L GauchoJapanIoni Bowcher NEGOTIATION
Salvatore K PoquetteArgentinaStephen Shaw NEGOTIATION
Munro U DarakjyCanadaOnyama Limba 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>