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
Murillo R StockhamArgentinaIvan Magalhaes QUALIFIED
Jennifer Y MorascaJapanAmy Elsner NEGOTIATION
Clifford U GarufiBrazilAmy Elsner NEW
Nicolas U CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Maisha Z OstroskyAustraliaBernardo Dominic NEW
Antonio O OldroydFranceStephen Shaw RENEWAL
Morrow W GlickItalyElwin Sharvill QUALIFIED
Jones R ShinkoFranceIvan Magalhaes NEGOTIATION
Murillo C DoeFranceXuxue Feng QUALIFIED
Ricardo D SchemmerIndiaAnna Fali NEGOTIATION
Francesco I NickaItalyStephen Shaw PROPOSAL
Izzy K SchemmerUnited KingdomXuxue Feng QUALIFIED
Kaitlin K CaudyUnited KingdomAsiya Javayant NEW
Jeanfrancois S RulapaughItalyBernardo Dominic UNQUALIFIED
Aika Z AlbaresIndiaAsiya Javayant NEW
Ivar I TollnerSpainStephen Shaw PROPOSAL
James M WaycottRussiaXuxue Feng PROPOSAL
Stacey W OldroydRussiaStephen Shaw QUALIFIED
Kadeem Q RoysterAustraliaIoni Bowcher RENEWAL
Darci D NestleCanadaElwin Sharvill NEGOTIATION
Izzy D MorascaSpainAsiya Javayant QUALIFIED
Leja K GauchoRussiaAsiya Javayant RENEWAL
Costa M KolmetzArgentinaOnyama Limba QUALIFIED
Chavez P NestleRussiaIvan Magalhaes PROPOSAL
Smith H StockhamItalyOnyama Limba UNQUALIFIED
Aditya F SaylorsAustraliaIvan Magalhaes QUALIFIED
Maisha K WaycottGermanyIoni Bowcher QUALIFIED
Izzy B ShinkoArgentinaAnna Fali UNQUALIFIED
Murillo V CampainArgentinaBernardo Dominic NEW
Sinclair B BowleyRussiaStephen Shaw NEGOTIATION
David U DarakjySpainXuxue Feng QUALIFIED
Isabel E MacleadIndiaAnna Fali NEGOTIATION
Jennifer W DoeUnited KingdomIvan Magalhaes QUALIFIED
Isabel P GlickRussiaElwin Sharvill NEW
Misaki A SergiFranceAnna Fali NEGOTIATION
Ricardo I NestleArgentinaStephen Shaw RENEWAL
Murillo U ChuiIndiaIoni Bowcher NEGOTIATION
Jeanfrancois X SchemmerIndiaStephen Shaw QUALIFIED
Izzy V ChuiFranceAsiya Javayant QUALIFIED
Nicolas Z RimItalyStephen Shaw NEW
Maisha G RimBrazilIoni Bowcher PROPOSAL
Rodrigues C GillianUnited KingdomAsiya Javayant PROPOSAL
Izzy G NickaAustraliaAmy Elsner NEW
Stacey X DarakjyItalyXuxue Feng NEW
Cody R RimUnited KingdomIvan Magalhaes QUALIFIED
Misaki P MacleadJapanOnyama Limba QUALIFIED
David Y RoysterIndiaIoni Bowcher NEW
Ashley B SchemmerBrazilAnna Fali PROPOSAL
Faith W AmigonArgentinaBernardo Dominic UNQUALIFIED
Greenwood C VocelkaRussiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco A RutaSpainAmy Elsner QUALIFIED
Maisha Z DilliardIndiaBernardo Dominic QUALIFIED
Aika D RutaAustraliaIvan Magalhaes UNQUALIFIED
Emily M MaletCanadaStephen Shaw NEGOTIATION
Ricardo W CampainAustraliaIvan Magalhaes QUALIFIED
Chavez H SchemmerRussiaBernardo Dominic UNQUALIFIED
Leja K OstroskySpainIoni Bowcher NEW
Silvio V TollnerGermanyStephen Shaw QUALIFIED
David Y CaudyGermanyAmy Elsner RENEWAL
Jones Q GauchoIndiaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia M DarakjySpain2024-05-22Printing Dimensions RENEWAL95Onyama Limba
1001Leon V VocelkaGermany2024-06-08Chemel, James L Cpa NEW40Bernardo Dominic
1002David J SaylorsJapan2024-06-02Truhlar And Truhlar Attys UNQUALIFIED48Ioni Bowcher
1003Munro W WhobreyIndia2024-05-22Chapman, Ross E Esq UNQUALIFIED51Anna Fali
1004Rodrigues I PoquetteItaly2024-05-21Truhlar And Truhlar Attys QUALIFIED76Xuxue Feng
1005Octavia S MacleadCanada2024-06-10Printing Dimensions RENEWAL40Onyama Limba
1006Adams C FerenczGermany2024-05-31Feltz Printing Service UNQUALIFIED78Onyama Limba
1007Ricardo Y KuskoItaly2024-06-11Commercial Press NEGOTIATION81Elwin Sharvill
1008Munro Y SchemmerRussia2024-05-31Rousseaux, Michael Esq PROPOSAL31Elwin Sharvill
1009Kaitlin T FerenczItaly2024-06-11Benton, John B Jr UNQUALIFIED60Asiya Javayant
1010Sinclair O VenereItaly2024-05-27Feltz Printing Service QUALIFIED83Ioni Bowcher
1011Claire V SlusarskiIndia2024-06-03Rangoni Of Florence NEW56Ioni Bowcher
1012Mayumi R StockhamIndia2024-06-08King, Christopher A Esq UNQUALIFIED77Asiya Javayant
1013Jefferson I SlusarskiSpain2024-06-06Buckley Miller Wright NEGOTIATION50Ivan Magalhaes
1014Ashley S DarakjyJapan2024-06-06Chapman, Ross E Esq RENEWAL23Stephen Shaw
1015Silvio B WaycottSpain2024-06-15Commercial Press PROPOSAL11Xuxue Feng
1016Johnson X FlosiAustralia2024-06-07King, Christopher A Esq PROPOSAL44Ioni Bowcher
1017Ivar O PoquetteRussia2024-05-27Morlong Associates NEGOTIATION80Onyama Limba
1018Smith K BriddickRussia2024-06-11Feltz Printing Service PROPOSAL8Ivan Magalhaes
1019Sinclair W FollerFrance2024-05-18Chemel, James L Cpa PROPOSAL39Bernardo Dominic
1020Juan U OstroskyGermany2024-05-27Feltz Printing Service PROPOSAL80Bernardo Dominic
1021Faith X SchemmerGermany2024-06-01Chemel, James L Cpa PROPOSAL77Xuxue Feng
1022Rodrigues O DarakjyGermany2024-05-21Rangoni Of Florence NEW0Amy Elsner
1023Leon K OstroskyIndia2024-06-14Commercial Press PROPOSAL26Stephen Shaw
1024Isabel Z GauchoSpain2024-05-26King, Christopher A Esq UNQUALIFIED65Xuxue Feng
1025Jennifer L DoeRussia2024-05-30Rousseaux, Michael Esq NEGOTIATION70Asiya Javayant
1026Emily Q FigeroaItaly2024-05-23Feiner Bros RENEWAL40Ivan Magalhaes
1027Aika Q KolmetzUnited Kingdom2024-05-28Dorl, James J Esq PROPOSAL19Xuxue Feng
1028Antonio F VocelkaCanada2024-05-20Commercial Press RENEWAL0Xuxue Feng
1029Clifford G MacleadItaly2024-05-22King, Christopher A Esq PROPOSAL74Anna Fali
1030Smith T RoysterAustralia2024-05-17King, Christopher A Esq RENEWAL87Ioni Bowcher
1031Francesco G NickaFrance2024-05-23Buckley Miller Wright RENEWAL49Anna Fali
1032Leja L InouyeRussia2024-05-23Printing Dimensions RENEWAL19Onyama Limba
1033Rodrigues P BologniaArgentina2024-06-12King, Christopher A Esq NEW1Amy Elsner
1034Aika K KolmetzRussia2024-05-17Rangoni Of Florence PROPOSAL60Onyama Limba
1035Adams P FerenczArgentina2024-06-09Feltz Printing Service NEW19Anna Fali
1036Mayumi A NickaSpain2024-06-03Buckley Miller Wright QUALIFIED40Xuxue Feng
1037Greenwood H FollerGermany2024-06-06Feiner Bros NEW79Onyama Limba
1038Misaki D RutaFrance2024-06-05Truhlar And Truhlar Attys UNQUALIFIED43Onyama Limba
1039Aruna E FollerBrazil2024-05-23Commercial Press QUALIFIED67Ivan Magalhaes
1040Faith E GlickAustralia2024-05-25Benton, John B Jr QUALIFIED83Anna Fali
1041Aruna R OldroydCanada2024-05-22Printing Dimensions QUALIFIED95Xuxue Feng
1042Aditya I VenereBrazil2024-06-08Morlong Associates QUALIFIED21Ivan Magalhaes
1043James C InouyeCanada2024-05-19Chemel, James L Cpa QUALIFIED95Ivan Magalhaes
1044Nicolas H FollerCanada2024-05-27Morlong Associates UNQUALIFIED96Stephen Shaw
1045Deepesh V PaprockiGermany2024-05-21Chapman, Ross E Esq NEW10Elwin Sharvill
1046Ivar Z KuskoRussia2024-05-30King, Christopher A Esq PROPOSAL59Anna Fali
1047Darci Y DoeUnited Kingdom2024-06-15Chapman, Ross E Esq UNQUALIFIED54Anna Fali
1048James A StensethItaly2024-05-19Chapman, Ross E Esq NEW94Amy Elsner
1049Misaki V GarufiRussia2024-06-01Chanay, Jeffrey A Esq RENEWAL43Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues Q NestleBrazilAsiya Javayant QUALIFIED
Ricardo N OldroydIndiaAnna Fali NEW
Antonio O TollnerIndiaIoni Bowcher PROPOSAL
Maria Y SlusarskiCanadaAsiya Javayant NEW
James K NickaItalyOnyama Limba PROPOSAL
Mayumi Y OstroskyJapanElwin Sharvill PROPOSAL
Isabel J KuskoSpainAsiya Javayant UNQUALIFIED
Salvatore Y SchemmerFranceAsiya Javayant NEW
Murillo H SergiGermanyBernardo Dominic UNQUALIFIED
Adams U ButtRussiaXuxue Feng RENEWAL
Aika L GillianItalyAsiya Javayant RENEWAL
Faith O SlusarskiAustraliaIoni Bowcher NEW
Salvatore V GillianBrazilAmy Elsner QUALIFIED
Jeanfrancois N SaylorsItalyOnyama Limba RENEWAL
Maisha W SlusarskiArgentinaAnna Fali NEGOTIATION
Greenwood Q AmigonArgentinaAmy Elsner QUALIFIED
Izzy P NestleSpainXuxue Feng NEW
Kaitlin N BriddickUnited KingdomXuxue Feng PROPOSAL
Ashley W CaldareraIndiaXuxue Feng QUALIFIED
Ricardo G WaycottRussiaAnna Fali PROPOSAL
Isabel Y OldroydGermanyBernardo Dominic PROPOSAL
Jeanfrancois R MaletBrazilIvan Magalhaes RENEWAL
Salvatore S BologniaCanadaIvan Magalhaes QUALIFIED
Morrow P CaudyJapanBernardo Dominic PROPOSAL
Wickens E DilliardRussiaStephen Shaw NEW
Nicolas I RoysterJapanIoni Bowcher NEW
Sinclair C CaldareraItalyIvan Magalhaes NEGOTIATION
Jones W BowleyArgentinaBernardo Dominic RENEWAL
Emily D CaudyGermanyAnna Fali NEW
Juan X SlusarskiIndiaOnyama Limba UNQUALIFIED
Stacey U IturbideJapanStephen Shaw NEW
Claire P WhobreyBrazilAmy Elsner PROPOSAL
Juan H RoysterItalyAnna Fali UNQUALIFIED
Maria R AlbaresIndiaStephen Shaw NEW
Chavez Q MacleadCanadaAnna Fali UNQUALIFIED
Juan V StensethSpainOnyama Limba QUALIFIED
Maisha T WaycottUnited KingdomAsiya Javayant PROPOSAL
Darci L PoquetteAustraliaAnna Fali UNQUALIFIED
Ivar J RoysterFranceIvan Magalhaes UNQUALIFIED
Clifford H WieserSpainStephen Shaw NEGOTIATION
Johnson H GillianUnited KingdomBernardo Dominic UNQUALIFIED
Munro A FerenczAustraliaOnyama Limba NEW
Salvatore M SergiRussiaAmy Elsner RENEWAL
Juan U StockhamCanadaXuxue Feng RENEWAL
Clifford C InouyeRussiaIvan Magalhaes PROPOSAL
Faith D BologniaIndiaIvan Magalhaes PROPOSAL
Greenwood J KuskoAustraliaXuxue Feng NEGOTIATION
Mujtaba J PerinFranceStephen Shaw UNQUALIFIED
Julie W SchemmerBrazilStephen Shaw RENEWAL
Maisha B GlickItalyElwin Sharvill NEW
Frozen Columns
Name
Silvio D Albares
Mayumi T Malet
Maisha G Whobrey
Antonio Z Briddick
Maria R Foller
Johnson Z Gillian
Murillo D Gaucho
Misaki H Chui
Claire I Glick
Emily H Royster
Leon C Saylors
Ivar O Paprocki
Isabel W Glick
Arvin N Venere
James W Whobrey
Mujtaba Z Marrier
Alejandro W Malet
Adams Y Garufi
Tony P Amigon
Costa R Paprocki
Leon R Venere
Ricardo B Caudy
Jefferson Z Stenseth
Murillo N Wieser
Ricardo O Rim
Emily T Sergi
Antonio T Glick
Jefferson E Amigon
Costa F Chui
Deepesh R Tollner
Aruna V Butt
David U Bowley
Claire X Rulapaugh
Leja L Tollner
David H Campain
Faith D Tollner
Maria C Gaucho
Aruna X Malet
Mayumi P Marrier
Kadeem I Foller
Johnson N Campain
Aruna B Doe
Murillo Q Wieser
David I Waycott
Greenwood E Rulapaugh
Alejandro O Slusarski
Emily C Flosi
Rodrigues P Tollner
Aditya C Slusarski
Alejandro X Tollner
IdCountryDate
1000Canada2024-05-27
1001Brazil2024-05-23
1002Argentina2024-06-13
1003France2024-06-13
1004United Kingdom2024-06-08
1005India2024-05-21
1006Spain2024-05-18
1007Australia2024-05-23
1008Germany2024-06-12
1009Russia2024-05-20
1010United Kingdom2024-06-07
1011Italy2024-06-06
1012India2024-06-11
1013Spain2024-06-03
1014Japan2024-05-22
1015Australia2024-05-17
1016Argentina2024-05-21
1017Brazil2024-06-07
1018Brazil2024-05-29
1019Russia2024-05-28
1020Australia2024-06-14
1021France2024-06-15
1022Germany2024-06-08
1023United Kingdom2024-05-24
1024Spain2024-05-19
1025France2024-05-24
1026France2024-05-25
1027Canada2024-05-22
1028Argentina2024-06-06
1029Argentina2024-06-02
1030Russia2024-06-02
1031Spain2024-05-29
1032India2024-05-19
1033France2024-06-04
1034United Kingdom2024-06-08
1035Spain2024-06-07
1036Japan2024-05-30
1037Japan2024-05-21
1038Australia2024-06-06
1039Japan2024-06-07
1040India2024-05-30
1041Argentina2024-06-07
1042Russia2024-06-09
1043Italy2024-06-11
1044Brazil2024-06-01
1045France2024-06-02
1046Japan2024-06-02
1047Spain2024-05-23
1048Spain2024-05-18
1049Japan2024-05-31

On-Demand Data

NameIdCountryDate
Nicolas E Morasca1000Argentina2024-05-28
Johnson Q Caudy1001Russia2024-05-31
David D Maclead1002Canada2024-06-01
Mayumi I Waycott1003Australia2024-06-08
Sinclair V Flosi1004Brazil2024-06-09
Isabel U Marrier1005Canada2024-05-17
Izzy Q Amigon1006Australia2024-05-21
Jones J Gillian1007United Kingdom2024-06-03
Darci H Chui1008Canada2024-06-02
Chavez W Sergi1009India2024-06-13
Murillo B Waycott1010Argentina2024-05-29
Francesco A Doe1011Italy2024-06-15
Tony B Kolmetz1012Japan2024-06-01
Jefferson B Chui1013Canada2024-06-02
Maisha A Shinko1014Italy2024-06-12
Cody P Chui1015United Kingdom2024-05-29
Nicolas M Foller1016India2024-06-09
Emily L Vocelka1017Argentina2024-06-08
Deepesh D Malet1018Brazil2024-05-28
Darci R Schemmer1019Canada2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi D PoquetteAustraliaAsiya Javayant RENEWAL
Rodrigues W FlosiFranceElwin Sharvill PROPOSAL
Chavez F RutaAustraliaStephen Shaw PROPOSAL
Maisha C GillianBrazilXuxue Feng QUALIFIED
Chavez P MorascaIndiaElwin Sharvill NEW
Alejandro M SaylorsAustraliaAnna Fali RENEWAL
Antonio D VocelkaAustraliaIoni Bowcher RENEWAL
Antonio Z DilliardArgentinaElwin Sharvill UNQUALIFIED
Aditya I AlbaresSpainBernardo Dominic PROPOSAL
Maria R CampainUnited KingdomOnyama Limba PROPOSAL
Adams L NickaSpainOnyama Limba NEW
Faith W KuskoItalyStephen Shaw UNQUALIFIED
Johnson O CaudyCanadaStephen Shaw NEW
Darci W CaldareraItalyAsiya Javayant RENEWAL
Jeanfrancois S CampainIndiaAmy Elsner UNQUALIFIED
Alejandro J AmigonUnited KingdomAmy Elsner UNQUALIFIED
Jennifer M GillianSpainBernardo Dominic NEGOTIATION
Silvio J TollnerArgentinaAmy Elsner NEGOTIATION
Julie P MaletArgentinaAmy Elsner QUALIFIED
Izzy K StockhamJapanAnna Fali QUALIFIED
Aruna O NestleItalyAnna Fali RENEWAL
Darci O FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Chavez Q RutaIndiaElwin Sharvill RENEWAL
Faith Z ChuiUnited KingdomIoni Bowcher RENEWAL
Claire B OstroskySpainAmy Elsner NEGOTIATION
Francesco P DoeFranceOnyama Limba UNQUALIFIED
Mayumi J KolmetzAustraliaAsiya Javayant QUALIFIED
Tony Z BowleyGermanyAnna Fali RENEWAL
Wickens R NestleUnited KingdomElwin Sharvill NEW
Kaitlin L DarakjyAustraliaIoni Bowcher NEW
Salvatore W DilliardRussiaAmy Elsner RENEWAL
Isabel P ChuiFranceXuxue Feng NEGOTIATION
Adams W VenereArgentinaIvan Magalhaes PROPOSAL
Tony C VenereUnited KingdomXuxue Feng PROPOSAL
Deepesh R DilliardItalyXuxue Feng RENEWAL
Ashley O KolmetzFranceAsiya Javayant QUALIFIED
Deepesh P AmigonCanadaIoni Bowcher NEGOTIATION
James I DilliardGermanyIvan Magalhaes NEW
Greenwood P FollerCanadaAsiya Javayant NEW
Wickens C StockhamJapanIoni 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>