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
Kaitlin M RutaCanadaAmy Elsner PROPOSAL
Aika P ShinkoBrazilAmy Elsner UNQUALIFIED
Johnson C StockhamBrazilIoni Bowcher RENEWAL
Alejandro Y CaudyBrazilBernardo Dominic NEW
Izzy D PaprockiArgentinaIvan Magalhaes RENEWAL
Faith R WieserFranceAmy Elsner NEGOTIATION
Francesco D PaprockiUnited KingdomElwin Sharvill QUALIFIED
David S RutaBrazilAnna Fali RENEWAL
Misaki R MacleadIndiaOnyama Limba NEGOTIATION
Antonio Q DilliardUnited KingdomAmy Elsner RENEWAL
Smith Q RutaArgentinaAmy Elsner NEGOTIATION
Morrow H FlosiCanadaOnyama Limba QUALIFIED
Misaki S WaycottGermanyXuxue Feng UNQUALIFIED
Isabel C GlickGermanyXuxue Feng QUALIFIED
Cody K CaldareraJapanAmy Elsner NEW
James W OldroydJapanAnna Fali NEW
Smith E PaprockiUnited KingdomAnna Fali NEW
Nicolas Y AlbaresBrazilAsiya Javayant PROPOSAL
Mujtaba I SaylorsGermanyOnyama Limba UNQUALIFIED
Wickens S DarakjyGermanyOnyama Limba NEGOTIATION
Leja H RoysterUnited KingdomBernardo Dominic PROPOSAL
Misaki A OldroydBrazilElwin Sharvill QUALIFIED
Alejandro Z DarakjyCanadaAmy Elsner QUALIFIED
Adams Z MorascaItalyIvan Magalhaes QUALIFIED
Jeanfrancois X MacleadCanadaAsiya Javayant PROPOSAL
Antonio R StockhamArgentinaBernardo Dominic RENEWAL
Munro E NickaFranceAnna Fali RENEWAL
Sinclair T VocelkaJapanBernardo Dominic NEW
Leon V WieserArgentinaStephen Shaw UNQUALIFIED
Kaitlin K KuskoGermanyIvan Magalhaes QUALIFIED
Nicolas T MaletArgentinaAsiya Javayant NEGOTIATION
Misaki B VenereItalyIoni Bowcher UNQUALIFIED
Deepesh B CaudyBrazilAsiya Javayant NEGOTIATION
Johnson F DilliardSpainIoni Bowcher NEW
Deepesh Z BriddickArgentinaAsiya Javayant QUALIFIED
Emily T VenereAustraliaOnyama Limba NEGOTIATION
Ivar S AlbaresRussiaBernardo Dominic NEGOTIATION
Julie G BowleyFranceElwin Sharvill QUALIFIED
Morrow K SlusarskiFranceStephen Shaw UNQUALIFIED
Jones A WaycottItalyOnyama Limba NEW
Chavez P GarufiSpainAmy Elsner NEW
Aruna U SaylorsUnited KingdomIoni Bowcher NEW
Izzy G SaylorsBrazilStephen Shaw RENEWAL
Jefferson Q ButtRussiaBernardo Dominic NEW
Jones L ButtIndiaAmy Elsner NEGOTIATION
Antonio F FlosiAustraliaBernardo Dominic NEW
Murillo R GlickBrazilElwin Sharvill NEW
Misaki R CaldareraCanadaIoni Bowcher NEW
James M RulapaughUnited KingdomStephen Shaw PROPOSAL
Wickens E RimJapanIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Claire N SergiBrazilXuxue Feng NEGOTIATION
Maisha F IturbideItalyStephen Shaw UNQUALIFIED
Emily V GauchoArgentinaAnna Fali NEGOTIATION
Morrow W SaylorsBrazilIvan Magalhaes NEGOTIATION
Maisha U FlosiJapanIvan Magalhaes RENEWAL
Ivar Z DoeRussiaIoni Bowcher NEGOTIATION
Octavia P GlickBrazilIoni Bowcher NEGOTIATION
Francesco I MarrierJapanOnyama Limba NEW
Leon E GauchoRussiaElwin Sharvill NEW
Ashley V FlosiArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer U GauchoRussia2025-04-29Dorl, James J Esq QUALIFIED62Anna Fali
1001James L MacleadRussia2025-04-27Chemel, James L Cpa RENEWAL5Stephen Shaw
1002Adams U VenereItaly2025-04-17Dorl, James J Esq NEGOTIATION22Ioni Bowcher
1003Deepesh V IturbideRussia2025-04-20Chapman, Ross E Esq NEGOTIATION51Onyama Limba
1004Adams Y OstroskyCanada2025-04-09Chemel, James L Cpa UNQUALIFIED86Asiya Javayant
1005Ivar B BowleyCanada2025-04-11Dorl, James J Esq QUALIFIED44Anna Fali
1006Kadeem O BowleyFrance2025-04-05Rousseaux, Michael Esq NEW91Xuxue Feng
1007James K StockhamRussia2025-04-27Feiner Bros NEW33Onyama Limba
1008Nicolas B GauchoRussia2025-04-02Chanay, Jeffrey A Esq RENEWAL78Bernardo Dominic
1009Maisha H WieserSpain2025-04-04Printing Dimensions NEW81Bernardo Dominic
1010Ashley Y NestleRussia2025-04-15Printing Dimensions QUALIFIED57Bernardo Dominic
1011Jefferson P ShinkoJapan2025-04-14Benton, John B Jr UNQUALIFIED99Onyama Limba
1012Ricardo N BologniaIndia2025-04-10Morlong Associates QUALIFIED11Amy Elsner
1013Faith N CaudyUnited Kingdom2025-04-26Buckley Miller Wright QUALIFIED24Elwin Sharvill
1014Jennifer O StockhamUnited Kingdom2025-04-09Printing Dimensions NEGOTIATION66Elwin Sharvill
1015Ricardo A WhobreyArgentina2025-04-15Chanay, Jeffrey A Esq NEW56Anna Fali
1016Alejandro F GarufiItaly2025-04-27King, Christopher A Esq QUALIFIED63Stephen Shaw
1017Maria T SergiArgentina2025-04-17Buckley Miller Wright QUALIFIED89Onyama Limba
1018Smith K OstroskyUnited Kingdom2025-04-11Chanay, Jeffrey A Esq RENEWAL36Amy Elsner
1019Claire X NestleFrance2025-04-16Feiner Bros UNQUALIFIED88Xuxue Feng
1020Mujtaba M TollnerCanada2025-04-04Benton, John B Jr NEGOTIATION92Ivan Magalhaes
1021Ivar D OstroskyUnited Kingdom2025-04-30Rousseaux, Michael Esq NEW70Ivan Magalhaes
1022Smith J GauchoFrance2025-04-26Feiner Bros UNQUALIFIED87Ioni Bowcher
1023Johnson H MaletSpain2025-04-11Feiner Bros NEW91Xuxue Feng
1024Cody K PaprockiIndia2025-04-25Buckley Miller Wright NEW7Ivan Magalhaes
1025Aika F WieserBrazil2025-04-09Chanay, Jeffrey A Esq RENEWAL87Asiya Javayant
1026Maria J MaletSpain2025-04-25Commercial Press NEW24Anna Fali
1027Misaki N NickaBrazil2025-04-25Truhlar And Truhlar Attys NEGOTIATION34Ivan Magalhaes
1028Leja F FigeroaRussia2025-04-10Chemel, James L Cpa UNQUALIFIED11Ivan Magalhaes
1029Jeanfrancois I TollnerFrance2025-04-07Chemel, James L Cpa NEGOTIATION2Elwin Sharvill
1030David H FollerIndia2025-04-26King, Christopher A Esq UNQUALIFIED89Anna Fali
1031Mujtaba W GarufiCanada2025-04-23Benton, John B Jr QUALIFIED8Elwin Sharvill
1032Clifford P SaylorsItaly2025-04-29Truhlar And Truhlar Attys PROPOSAL63Bernardo Dominic
1033Leja B OstroskyJapan2025-04-26Truhlar And Truhlar Attys UNQUALIFIED75Ioni Bowcher
1034Morrow H SchemmerBrazil2025-04-24Chanay, Jeffrey A Esq NEW10Amy Elsner
1035Silvio Z AmigonGermany2025-04-26Morlong Associates NEW86Bernardo Dominic
1036Emily O WieserAustralia2025-04-29King, Christopher A Esq QUALIFIED30Elwin Sharvill
1037Maria K RoysterSpain2025-04-04Feiner Bros RENEWAL88Anna Fali
1038Juan R CaudyBrazil2025-04-17Dorl, James J Esq QUALIFIED67Elwin Sharvill
1039Ashley B FollerUnited Kingdom2025-04-02Feltz Printing Service NEW72Ioni Bowcher
1040Faith G WhobreyBrazil2025-04-27King, Christopher A Esq UNQUALIFIED44Xuxue Feng
1041Munro U DoeGermany2025-04-20Morlong Associates UNQUALIFIED14Asiya Javayant
1042Aditya Z DilliardSpain2025-04-08Commercial Press UNQUALIFIED40Elwin Sharvill
1043Adams D MorascaRussia2025-04-10Printing Dimensions UNQUALIFIED39Elwin Sharvill
1044Salvatore X MorascaAustralia2025-04-10Commercial Press UNQUALIFIED49Ivan Magalhaes
1045Tony F RoysterGermany2025-04-05Dorl, James J Esq QUALIFIED88Stephen Shaw
1046Stacey C SaylorsItaly2025-04-03Printing Dimensions UNQUALIFIED40Onyama Limba
1047Munro N VocelkaItaly2025-04-29Chanay, Jeffrey A Esq NEW8Elwin Sharvill
1048Leon Z RutaRussia2025-04-24Chemel, James L Cpa PROPOSAL37Elwin Sharvill
1049Ricardo G FerenczFrance2025-04-21Feiner Bros QUALIFIED51Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois O InouyeAustraliaXuxue Feng QUALIFIED
Julie C SaylorsAustraliaStephen Shaw QUALIFIED
Leon Q KolmetzSpainStephen Shaw QUALIFIED
Mujtaba Z BriddickAustraliaIvan Magalhaes NEGOTIATION
Silvio G TollnerSpainAsiya Javayant RENEWAL
Wickens R BologniaAustraliaBernardo Dominic UNQUALIFIED
Faith N InouyeCanadaIoni Bowcher NEGOTIATION
Mujtaba H BriddickJapanAnna Fali QUALIFIED
Sinclair M MacleadFranceElwin Sharvill NEGOTIATION
Julie H VenereItalyIoni Bowcher RENEWAL
Stacey X InouyeSpainXuxue Feng PROPOSAL
Adams Z GauchoGermanyAmy Elsner NEW
Murillo D MarrierIndiaAnna Fali RENEWAL
Maria V BriddickItalyStephen Shaw NEGOTIATION
David U ChuiCanadaAsiya Javayant NEGOTIATION
Izzy C RoysterIndiaElwin Sharvill PROPOSAL
Rodrigues F GlickFranceIoni Bowcher UNQUALIFIED
Wickens M OstroskyCanadaAsiya Javayant RENEWAL
Murillo K WhobreyIndiaBernardo Dominic PROPOSAL
Morrow I FlosiAustraliaElwin Sharvill RENEWAL
Kadeem F MarrierCanadaAnna Fali NEGOTIATION
Aditya S GarufiSpainXuxue Feng QUALIFIED
Ivar W BriddickBrazilBernardo Dominic QUALIFIED
Jones Z FollerSpainOnyama Limba NEGOTIATION
Kaitlin C SchemmerCanadaAnna Fali NEGOTIATION
Smith L SergiBrazilElwin Sharvill NEGOTIATION
Munro A MaletAustraliaStephen Shaw UNQUALIFIED
Maisha Q IturbideFranceAnna Fali NEGOTIATION
Maria J CaudyRussiaAmy Elsner RENEWAL
Clifford A DilliardJapanXuxue Feng UNQUALIFIED
Kadeem T MarrierCanadaAmy Elsner RENEWAL
Wickens K VenereGermanyElwin Sharvill RENEWAL
Silvio M WhobreyFranceElwin Sharvill PROPOSAL
Ricardo O MacleadArgentinaElwin Sharvill NEW
Aditya K GauchoCanadaBernardo Dominic RENEWAL
Francesco T SlusarskiCanadaOnyama Limba NEW
Greenwood L InouyeSpainXuxue Feng QUALIFIED
Kadeem Q GillianRussiaAnna Fali NEW
Jones H PerinRussiaXuxue Feng NEGOTIATION
Alejandro U DoeFranceElwin Sharvill PROPOSAL
Murillo V GarufiGermanyAmy Elsner RENEWAL
Claire Y CaldareraIndiaAmy Elsner UNQUALIFIED
Aruna K AmigonGermanyAsiya Javayant NEGOTIATION
Aika G MaletItalyBernardo Dominic UNQUALIFIED
Kaitlin H SaylorsArgentinaIoni Bowcher NEGOTIATION
Deepesh Z BowleyGermanyIvan Magalhaes UNQUALIFIED
Isabel Y PaprockiBrazilIvan Magalhaes PROPOSAL
Darci G OstroskyGermanyAnna Fali PROPOSAL
Aika X MacleadGermanyAmy Elsner QUALIFIED
Maisha W NestleBrazilAsiya Javayant QUALIFIED
Frozen Columns
Name
Chavez X Albares
Adams M Campain
Tony R Whobrey
Claire P Gillian
Wickens E Poquette
Costa T Paprocki
Isabel B Garufi
Jeanfrancois Z Vocelka
Ashley T Whobrey
Greenwood D Venere
Misaki W Waycott
Adams J Stenseth
Jennifer N Gillian
Silvio M Royster
Sinclair J Gaucho
Maria N Nestle
Murillo N Amigon
Aika S Ostrosky
Leja V Maclead
Aika A Wieser
Aditya G Whobrey
Darci Q Bolognia
Ashley J Iturbide
Silvio U Caldarera
Jennifer A Nestle
Izzy B Stockham
Octavia J Slusarski
Wickens A Iturbide
Leon U Bolognia
Rodrigues R Rim
Juan K Briddick
Francesco Y Wieser
Leja R Figeroa
Salvatore G Stockham
Costa O Perin
Antonio U Iturbide
Jones T Darakjy
Darci V Kusko
Salvatore K Foller
Ricardo Q Rulapaugh
Morrow E Malet
Maria L Venere
Leja J Butt
Julie E Flosi
Leon S Venere
Leja Z Campain
Juan W Shinko
Izzy Q Amigon
David E Rulapaugh
Isabel M Malet
IdCountryDate
1000Canada2025-04-14
1001France2025-04-18
1002Italy2025-04-13
1003Brazil2025-04-06
1004Italy2025-04-25
1005India2025-04-13
1006United Kingdom2025-04-19
1007Australia2025-04-19
1008Brazil2025-04-23
1009Russia2025-04-04
1010Russia2025-04-17
1011Japan2025-04-28
1012Germany2025-04-04
1013United Kingdom2025-04-03
1014Brazil2025-04-20
1015Russia2025-04-04
1016Russia2025-04-21
1017Russia2025-04-02
1018France2025-04-27
1019Germany2025-04-10
1020Japan2025-04-25
1021Japan2025-04-19
1022United Kingdom2025-04-17
1023Spain2025-04-19
1024United Kingdom2025-04-30
1025Italy2025-04-13
1026Australia2025-04-28
1027United Kingdom2025-04-28
1028Argentina2025-04-14
1029Russia2025-04-07
1030Spain2025-04-28
1031Argentina2025-04-16
1032Argentina2025-04-02
1033Spain2025-04-25
1034Canada2025-04-03
1035Russia2025-04-25
1036Canada2025-04-02
1037Argentina2025-04-09
1038Canada2025-04-28
1039Argentina2025-04-28
1040Brazil2025-04-04
1041Italy2025-04-02
1042Australia2025-04-28
1043United Kingdom2025-04-10
1044United Kingdom2025-04-24
1045Japan2025-04-11
1046Australia2025-04-03
1047Spain2025-04-25
1048Canada2025-04-03
1049United Kingdom2025-04-17

On-Demand Data

NameIdCountryDate
Clifford G Whobrey1000Italy2025-04-02
Jefferson M Stockham1001Brazil2025-04-06
Smith U Nestle1002Japan2025-04-28
Deepesh V Schemmer1003India2025-04-20
Darci I Ruta1004Canada2025-04-21
Ivar T Sergi1005India2025-04-13
Jones F Kusko1006United Kingdom2025-04-30
Aruna K Butt1007Russia2025-04-18
Aditya R Vocelka1008Argentina2025-04-26
Salvatore Y Briddick1009Japan2025-04-05
Smith T Gillian1010Australia2025-04-12
Ashley P Briddick1011Germany2025-04-27
Johnson V Schemmer1012France2025-04-20
Deepesh V Butt1013Australia2025-04-15
Antonio B Ostrosky1014Russia2025-04-24
Aruna N Butt1015India2025-04-14
Deepesh N Paprocki1016Germany2025-04-24
Darci C Iturbide1017Germany2025-04-27
Kadeem A Amigon1018India2025-04-28
Aruna H Waycott1019Australia2025-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford R VocelkaUnited KingdomAmy Elsner NEW
Wickens E WaycottSpainStephen Shaw QUALIFIED
Jeanfrancois N MaletGermanyBernardo Dominic RENEWAL
Ivar N MarrierCanadaStephen Shaw NEGOTIATION
Smith O RutaAustraliaBernardo Dominic NEW
Jeanfrancois N BowleyFranceXuxue Feng PROPOSAL
Octavia K DilliardIndiaAsiya Javayant NEW
James D CampainCanadaOnyama Limba QUALIFIED
Cody I ChuiUnited KingdomXuxue Feng QUALIFIED
Francesco E MaletSpainElwin Sharvill RENEWAL
Ivar G GillianGermanyXuxue Feng PROPOSAL
Ivar L PoquetteBrazilStephen Shaw PROPOSAL
Alejandro R WieserUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson B RutaItalyAmy Elsner PROPOSAL
Faith M SchemmerArgentinaAmy Elsner UNQUALIFIED
Juan E ShinkoCanadaIvan Magalhaes NEGOTIATION
Leon B DoeArgentinaStephen Shaw NEW
Claire H SaylorsAustraliaAnna Fali UNQUALIFIED
Leon Q NestleRussiaAmy Elsner RENEWAL
Francesco L RulapaughCanadaAnna Fali RENEWAL
Juan C SchemmerJapanBernardo Dominic RENEWAL
Alejandro Y GauchoUnited KingdomOnyama Limba QUALIFIED
Julie W IturbideCanadaAsiya Javayant NEW
Silvio V IturbideItalyXuxue Feng NEW
Maria F NestleGermanyIvan Magalhaes UNQUALIFIED
Costa B CampainArgentinaAnna Fali PROPOSAL
Misaki P CaldareraItalyBernardo Dominic QUALIFIED
Smith P BowleyCanadaOnyama Limba PROPOSAL
Johnson K RoysterAustraliaElwin Sharvill NEGOTIATION
Smith G SlusarskiFranceStephen Shaw NEGOTIATION
Mayumi I GillianBrazilStephen Shaw RENEWAL
Maisha G VenereFranceAsiya Javayant QUALIFIED
Juan H AmigonFranceElwin Sharvill QUALIFIED
Julie U MacleadBrazilIoni Bowcher NEW
Julie C RulapaughIndiaAnna Fali QUALIFIED
Izzy F GarufiSpainOnyama Limba NEGOTIATION
Kadeem X SaylorsBrazilOnyama Limba PROPOSAL
Alejandro L OldroydIndiaIoni Bowcher RENEWAL
Emily O RoysterUnited KingdomAmy Elsner QUALIFIED
Nicolas U SchemmerGermanyIvan Magalhaes UNQUALIFIED

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