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
Ashley G MarrierIndiaAnna Fali QUALIFIED
Aruna H SaylorsGermanyAmy Elsner NEW
Antonio I OldroydItalyIvan Magalhaes PROPOSAL
Salvatore D KuskoFranceStephen Shaw NEW
Smith K ChuiAustraliaXuxue Feng UNQUALIFIED
Octavia V KuskoBrazilOnyama Limba QUALIFIED
Alejandro A ChuiArgentinaXuxue Feng RENEWAL
David V SchemmerRussiaOnyama Limba NEGOTIATION
Johnson X DilliardAustraliaAnna Fali QUALIFIED
Murillo Y CampainRussiaAnna Fali NEW
Antonio J VocelkaIndiaAmy Elsner PROPOSAL
Morrow I OldroydGermanyAmy Elsner NEGOTIATION
Faith N OldroydIndiaAnna Fali NEW
Costa S FollerItalyOnyama Limba PROPOSAL
Kadeem Z PoquetteJapanStephen Shaw PROPOSAL
Clifford H DoeAustraliaStephen Shaw RENEWAL
James U StensethBrazilOnyama Limba UNQUALIFIED
Silvio M PaprockiFranceOnyama Limba NEW
Izzy Z GillianUnited KingdomXuxue Feng RENEWAL
Claire Z NickaRussiaIoni Bowcher NEW
Adams U DilliardJapanStephen Shaw RENEWAL
Sinclair B ShinkoFranceXuxue Feng NEW
Maria Z KuskoIndiaIoni Bowcher QUALIFIED
Jennifer D FlosiAustraliaAmy Elsner NEGOTIATION
Leja F GarufiJapanAmy Elsner NEGOTIATION
Emily L PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Francesco U AlbaresItalyIoni Bowcher NEW
Francesco W NestleAustraliaElwin Sharvill UNQUALIFIED
Cody G CampainFranceAmy Elsner QUALIFIED
Jones V AmigonSpainAsiya Javayant QUALIFIED
Cody I OstroskyJapanXuxue Feng NEGOTIATION
Isabel U StensethSpainAmy Elsner NEGOTIATION
Jeanfrancois Y ChuiRussiaIvan Magalhaes UNQUALIFIED
Deepesh A DilliardBrazilStephen Shaw RENEWAL
Jeanfrancois U PoquetteJapanBernardo Dominic RENEWAL
Isabel Y NestleBrazilAmy Elsner NEW
Isabel Y AmigonAustraliaBernardo Dominic RENEWAL
Leja Y CaldareraCanadaAsiya Javayant UNQUALIFIED
Leon T MaletBrazilStephen Shaw UNQUALIFIED
Antonio G PoquetteUnited KingdomElwin Sharvill PROPOSAL
Maisha Q PerinBrazilBernardo Dominic NEGOTIATION
Emily T GlickSpainOnyama Limba QUALIFIED
Leja N ChuiIndiaElwin Sharvill UNQUALIFIED
Murillo A NickaSpainStephen Shaw RENEWAL
Clifford R BologniaCanadaOnyama Limba PROPOSAL
Octavia V GillianJapanIoni Bowcher PROPOSAL
Wickens T BriddickGermanyStephen Shaw RENEWAL
Chavez W AlbaresJapanAmy Elsner NEGOTIATION
Rodrigues L AlbaresCanadaBernardo Dominic RENEWAL
Isabel O InouyeCanadaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens B FerenczSpainAsiya Javayant RENEWAL
Chavez T GillianJapanXuxue Feng RENEWAL
Francesco E KuskoAustraliaOnyama Limba PROPOSAL
Isabel K GlickUnited KingdomXuxue Feng UNQUALIFIED
Octavia C CaudyArgentinaIoni Bowcher RENEWAL
Clifford Y InouyeUnited KingdomAnna Fali NEGOTIATION
Antonio Z DoeAustraliaElwin Sharvill PROPOSAL
Darci K SlusarskiGermanyBernardo Dominic QUALIFIED
Darci K GauchoItalyIvan Magalhaes NEGOTIATION
Leon T VenereFranceIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio D KolmetzBrazil2024-06-11Feiner Bros RENEWAL10Onyama Limba
1001Munro T NestleIndia2024-06-22Rangoni Of Florence UNQUALIFIED34Anna Fali
1002Greenwood B DilliardGermany2024-06-13Rangoni Of Florence NEGOTIATION27Ivan Magalhaes
1003Jeanfrancois C VenereJapan2024-05-25Commercial Press QUALIFIED9Bernardo Dominic
1004Alejandro C GillianSpain2024-06-12Dorl, James J Esq UNQUALIFIED20Anna Fali
1005Ashley S CaldareraUnited Kingdom2024-05-24Commercial Press NEGOTIATION40Onyama Limba
1006Leon F StensethAustralia2024-06-03Chemel, James L Cpa NEW28Xuxue Feng
1007Nicolas D GarufiFrance2024-06-02Rousseaux, Michael Esq NEGOTIATION70Xuxue Feng
1008Smith P RoysterBrazil2024-06-19Morlong Associates RENEWAL14Xuxue Feng
1009Isabel D FlosiAustralia2024-06-08Feiner Bros NEGOTIATION92Ivan Magalhaes
1010Johnson I StensethCanada2024-06-02Buckley Miller Wright QUALIFIED14Elwin Sharvill
1011Juan Z MacleadIndia2024-06-16Chemel, James L Cpa RENEWAL41Anna Fali
1012Ivar P SergiBrazil2024-06-10Feltz Printing Service NEW4Anna Fali
1013David G FlosiJapan2024-06-12Commercial Press RENEWAL38Asiya Javayant
1014Maisha R PerinGermany2024-05-29Morlong Associates RENEWAL80Amy Elsner
1015Nicolas W CampainUnited Kingdom2024-06-20Commercial Press RENEWAL17Anna Fali
1016Izzy M MarrierArgentina2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED23Elwin Sharvill
1017Maria N PerinCanada2024-06-18Commercial Press UNQUALIFIED18Asiya Javayant
1018Maria M FigeroaRussia2024-05-29Feltz Printing Service PROPOSAL51Ivan Magalhaes
1019Salvatore O ShinkoRussia2024-06-20King, Christopher A Esq NEGOTIATION74Elwin Sharvill
1020Jones R SlusarskiBrazil2024-05-24Chapman, Ross E Esq PROPOSAL18Anna Fali
1021Arvin G SchemmerCanada2024-06-08Feiner Bros NEGOTIATION40Xuxue Feng
1022Mayumi I WaycottIndia2024-06-02Chapman, Ross E Esq NEGOTIATION33Stephen Shaw
1023Faith H ChuiRussia2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED12Xuxue Feng
1024Mayumi T StockhamJapan2024-06-07Benton, John B Jr NEW19Ioni Bowcher
1025Adams F FlosiGermany2024-06-04Chanay, Jeffrey A Esq PROPOSAL19Ivan Magalhaes
1026Mujtaba J RimUnited Kingdom2024-06-07King, Christopher A Esq NEGOTIATION95Ioni Bowcher
1027Emily V ShinkoArgentina2024-06-17Chapman, Ross E Esq UNQUALIFIED51Bernardo Dominic
1028Ricardo D FerenczJapan2024-06-05Chemel, James L Cpa NEW67Amy Elsner
1029James E VenereBrazil2024-06-16King, Christopher A Esq RENEWAL40Ivan Magalhaes
1030Ricardo U StockhamIndia2024-06-12Buckley Miller Wright UNQUALIFIED10Elwin Sharvill
1031Antonio U AlbaresJapan2024-06-20Benton, John B Jr UNQUALIFIED17Elwin Sharvill
1032Mayumi D DarakjyJapan2024-05-25Rousseaux, Michael Esq RENEWAL12Amy Elsner
1033Morrow Q CaudyUnited Kingdom2024-05-26Feiner Bros RENEWAL52Anna Fali
1034Aditya E DilliardSpain2024-06-20Chanay, Jeffrey A Esq NEW88Stephen Shaw
1035Jefferson C IturbideItaly2024-06-05Commercial Press UNQUALIFIED98Asiya Javayant
1036Wickens T RulapaughAustralia2024-06-16Dorl, James J Esq NEGOTIATION82Bernardo Dominic
1037Costa R OldroydRussia2024-06-01Feltz Printing Service PROPOSAL90Amy Elsner
1038Tony Z IturbideGermany2024-06-22Buckley Miller Wright RENEWAL85Elwin Sharvill
1039Johnson D DilliardBrazil2024-06-15Printing Dimensions PROPOSAL12Ioni Bowcher
1040Ivar T MaletAustralia2024-06-20Buckley Miller Wright NEW95Ivan Magalhaes
1041Octavia T RimUnited Kingdom2024-06-07Feiner Bros PROPOSAL68Ivan Magalhaes
1042Emily E WhobreyItaly2024-05-28Commercial Press NEGOTIATION78Amy Elsner
1043Ashley F PerinFrance2024-06-03Printing Dimensions RENEWAL30Ivan Magalhaes
1044Arvin N RimItaly2024-05-26Feiner Bros PROPOSAL37Ioni Bowcher
1045Ivar M CaudyItaly2024-06-22Chapman, Ross E Esq PROPOSAL58Ivan Magalhaes
1046Chavez V CaudyFrance2024-06-21Dorl, James J Esq NEW20Asiya Javayant
1047Salvatore K FollerAustralia2024-05-27Morlong Associates QUALIFIED68Amy Elsner
1048Claire X MorascaRussia2024-06-22Rangoni Of Florence UNQUALIFIED56Amy Elsner
1049Juan E TollnerRussia2024-06-06Buckley Miller Wright QUALIFIED98Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio A GillianGermanyStephen Shaw QUALIFIED
Isabel K SaylorsRussiaAmy Elsner PROPOSAL
Aika S MaletFranceXuxue Feng NEW
Emily N WhobreyIndiaIvan Magalhaes RENEWAL
Misaki G FollerJapanAnna Fali UNQUALIFIED
Mayumi U PerinIndiaElwin Sharvill NEGOTIATION
Alejandro S InouyeAustraliaXuxue Feng PROPOSAL
Smith E MaletFranceIoni Bowcher RENEWAL
Greenwood G BowleyCanadaOnyama Limba NEGOTIATION
Izzy P TollnerItalyXuxue Feng UNQUALIFIED
Izzy Q DoeAustraliaBernardo Dominic RENEWAL
Ashley W RulapaughFranceAmy Elsner NEGOTIATION
Salvatore Q StensethGermanyAnna Fali RENEWAL
Sinclair T StensethGermanyAmy Elsner RENEWAL
Kaitlin T KuskoSpainBernardo Dominic PROPOSAL
Aditya T DarakjyItalyIoni Bowcher RENEWAL
Tony T IturbideSpainOnyama Limba PROPOSAL
Julie G CampainRussiaBernardo Dominic RENEWAL
Sinclair D AlbaresSpainIvan Magalhaes QUALIFIED
Silvio C AmigonBrazilIoni Bowcher RENEWAL
Sinclair Q WhobreyGermanyOnyama Limba QUALIFIED
Salvatore K AlbaresItalyAmy Elsner QUALIFIED
Faith I AlbaresJapanXuxue Feng NEGOTIATION
Leon D CaldareraRussiaIvan Magalhaes RENEWAL
Kaitlin Y ChuiBrazilAmy Elsner NEGOTIATION
Wickens S InouyeAustraliaElwin Sharvill NEW
Chavez H FlosiIndiaStephen Shaw NEW
Jones U BriddickSpainAmy Elsner RENEWAL
Claire D BologniaJapanAmy Elsner RENEWAL
Kaitlin A MarrierFranceIoni Bowcher NEW
Salvatore N RimRussiaOnyama Limba UNQUALIFIED
Alejandro H CaldareraItalyIoni Bowcher UNQUALIFIED
Claire B InouyeBrazilElwin Sharvill UNQUALIFIED
Salvatore I AmigonCanadaStephen Shaw QUALIFIED
Claire A RimGermanyIvan Magalhaes NEW
Nicolas L InouyeRussiaBernardo Dominic UNQUALIFIED
Leon W BriddickIndiaAsiya Javayant QUALIFIED
Faith N CaldareraSpainOnyama Limba RENEWAL
Arvin V PaprockiGermanyIvan Magalhaes UNQUALIFIED
Aruna Q WaycottGermanyIvan Magalhaes NEGOTIATION
Ricardo Y KuskoArgentinaIoni Bowcher UNQUALIFIED
Leja Q TollnerCanadaAsiya Javayant QUALIFIED
Morrow K RutaRussiaStephen Shaw PROPOSAL
Murillo B VocelkaCanadaIvan Magalhaes UNQUALIFIED
Jennifer T RoysterFranceXuxue Feng RENEWAL
Emily W RoysterArgentinaAmy Elsner UNQUALIFIED
Maisha O StockhamSpainAsiya Javayant NEW
Maria X IturbideJapanXuxue Feng QUALIFIED
Misaki S BriddickArgentinaAsiya Javayant QUALIFIED
Aika U CampainItalyOnyama Limba UNQUALIFIED
Frozen Columns
Name
James T Sergi
Kadeem H Vocelka
Aika X Campain
Mujtaba E Nestle
Isabel D Glick
Faith T Darakjy
Julie K Figeroa
Adams B Nestle
Sinclair I Inouye
Leja C Figeroa
Isabel U Dilliard
Silvio D Paprocki
James O Schemmer
Ashley F Caudy
Stacey G Ferencz
Isabel N Tollner
Stacey V Schemmer
Kadeem T Iturbide
Costa Q Chui
Leon Z Bowley
Octavia R Rulapaugh
Kaitlin C Butt
Aruna I Slusarski
Leon W Vocelka
Alejandro K Nicka
Emily U Figeroa
Claire G Poquette
Silvio G Paprocki
Julie C Malet
Salvatore Z Stenseth
Misaki M Perin
Tony V Iturbide
Ricardo C Whobrey
Deepesh F Gaucho
Octavia N Garufi
Leja N Briddick
Wickens N Saylors
Aruna A Ferencz
Juan P Stenseth
Nicolas W Chui
Stacey K Perin
Stacey Y Rulapaugh
Arvin R Poquette
Johnson Y Amigon
Rodrigues I Waycott
Kaitlin W Ferencz
Francesco S Whobrey
Adams S Iturbide
Francesco T Morasca
Sinclair V Bolognia
IdCountryDate
1000Brazil2024-06-08
1001Japan2024-06-05
1002Canada2024-06-02
1003Germany2024-06-21
1004Brazil2024-06-06
1005Australia2024-06-15
1006Brazil2024-05-25
1007France2024-05-26
1008United Kingdom2024-06-06
1009France2024-06-19
1010United Kingdom2024-06-21
1011Argentina2024-05-30
1012Canada2024-05-27
1013Japan2024-06-22
1014Japan2024-06-10
1015Brazil2024-06-16
1016United Kingdom2024-06-11
1017Brazil2024-05-28
1018Italy2024-06-13
1019France2024-05-31
1020Canada2024-05-25
1021Argentina2024-05-31
1022Canada2024-05-27
1023United Kingdom2024-05-24
1024Spain2024-06-04
1025Argentina2024-06-09
1026India2024-05-30
1027India2024-06-18
1028Brazil2024-05-25
1029United Kingdom2024-06-20
1030Germany2024-06-22
1031India2024-06-01
1032Germany2024-06-19
1033Argentina2024-06-11
1034Germany2024-06-02
1035United Kingdom2024-06-14
1036France2024-05-31
1037Spain2024-06-09
1038Brazil2024-06-17
1039Argentina2024-06-02
1040Spain2024-06-22
1041Japan2024-05-27
1042Australia2024-06-03
1043Spain2024-06-08
1044Germany2024-06-20
1045France2024-06-09
1046Russia2024-06-01
1047Spain2024-05-30
1048Russia2024-06-01
1049Russia2024-05-26

On-Demand Data

NameIdCountryDate
Johnson P Poquette1000Italy2024-06-01
Mayumi P Oldroyd1001India2024-06-14
Johnson N Perin1002Spain2024-06-05
Costa R Glick1003Germany2024-06-16
Munro Z Stenseth1004United Kingdom2024-06-20
Morrow I Saylors1005Canada2024-06-11
Alejandro O Nicka1006Brazil2024-06-04
Julie U Amigon1007Italy2024-06-16
Maisha Q Morasca1008Italy2024-06-03
Darci H Caudy1009Japan2024-06-19
Kaitlin S Figeroa1010Germany2024-05-27
Costa N Waycott1011Italy2024-06-16
Ashley M Caudy1012Brazil2024-05-28
Jefferson V Wieser1013Japan2024-06-21
Chavez G Figeroa1014France2024-06-05
Greenwood K Ferencz1015Canada2024-06-22
Cody J Vocelka1016India2024-06-06
Ricardo U Vocelka1017Argentina2024-06-15
Aruna C Tollner1018France2024-06-01
Kaitlin X Albares1019Canada2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba D OldroydUnited KingdomOnyama Limba NEW
Ashley U SchemmerUnited KingdomBernardo Dominic QUALIFIED
Isabel S RimRussiaAmy Elsner NEGOTIATION
Jones K SchemmerCanadaIoni Bowcher QUALIFIED
Munro R AmigonJapanIoni Bowcher QUALIFIED
Deepesh X MorascaAustraliaAnna Fali UNQUALIFIED
Cody B SchemmerBrazilBernardo Dominic NEGOTIATION
Sinclair F GarufiJapanAnna Fali UNQUALIFIED
Julie G BriddickFranceAsiya Javayant NEGOTIATION
Maria D PaprockiRussiaAnna Fali NEGOTIATION
Ashley X SergiArgentinaElwin Sharvill NEGOTIATION
Julie D RoysterRussiaStephen Shaw UNQUALIFIED
Johnson H AmigonJapanIoni Bowcher PROPOSAL
Smith J SchemmerGermanyIoni Bowcher NEGOTIATION
Jennifer R FollerItalyIoni Bowcher UNQUALIFIED
Munro F OstroskyCanadaOnyama Limba PROPOSAL
Isabel B WieserIndiaXuxue Feng PROPOSAL
Darci Q RulapaughIndiaStephen Shaw RENEWAL
Munro Y SergiCanadaStephen Shaw RENEWAL
Claire U GlickIndiaAsiya Javayant NEGOTIATION
Nicolas B RimFranceAnna Fali RENEWAL
Mayumi J PaprockiIndiaXuxue Feng PROPOSAL
Faith Y DarakjyArgentinaXuxue Feng UNQUALIFIED
Aditya H KuskoGermanyBernardo Dominic RENEWAL
Ricardo O ChuiBrazilOnyama Limba UNQUALIFIED
Morrow W VocelkaGermanyAsiya Javayant QUALIFIED
Smith O StensethUnited KingdomAmy Elsner RENEWAL
Isabel D MacleadItalyAmy Elsner QUALIFIED
Murillo U MaletBrazilAnna Fali NEW
Maisha H KolmetzRussiaAmy Elsner NEGOTIATION
Aditya B SaylorsJapanAmy Elsner RENEWAL
Ashley K MaletItalyBernardo Dominic QUALIFIED
Ivar D ButtAustraliaIoni Bowcher QUALIFIED
Wickens G SergiUnited KingdomIoni Bowcher UNQUALIFIED
Maisha F GauchoUnited KingdomIvan Magalhaes NEW
Munro A IturbideUnited KingdomAnna Fali RENEWAL
Kaitlin J SchemmerIndiaAsiya Javayant NEW
Faith Z MacleadUnited KingdomXuxue Feng PROPOSAL
Juan M FerenczAustraliaXuxue Feng PROPOSAL
Sinclair F RulapaughFranceIoni Bowcher NEGOTIATION

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