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
Aruna X BowleyArgentinaXuxue Feng QUALIFIED
Jeanfrancois T BriddickGermanyBernardo Dominic UNQUALIFIED
Morrow G BologniaCanadaStephen Shaw NEW
Chavez I InouyeJapanBernardo Dominic RENEWAL
Costa H BowleyIndiaStephen Shaw UNQUALIFIED
Jeanfrancois J GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Smith S GarufiJapanIoni Bowcher QUALIFIED
Juan N MaletAustraliaAsiya Javayant QUALIFIED
Silvio F PerinCanadaStephen Shaw PROPOSAL
Morrow H NestleIndiaAsiya Javayant PROPOSAL
Deepesh H NestleBrazilElwin Sharvill RENEWAL
Octavia Q RutaFranceElwin Sharvill PROPOSAL
Kaitlin C BriddickFranceIvan Magalhaes QUALIFIED
Arvin W MaletJapanAsiya Javayant UNQUALIFIED
Ivar S FigeroaBrazilElwin Sharvill NEW
Darci H WaycottSpainAsiya Javayant NEGOTIATION
Arvin M SchemmerGermanyOnyama Limba PROPOSAL
Isabel O WaycottBrazilXuxue Feng RENEWAL
Emily N OldroydBrazilIoni Bowcher PROPOSAL
Jefferson X MorascaAustraliaAnna Fali RENEWAL
Murillo B CaudyBrazilXuxue Feng NEGOTIATION
Emily L CampainGermanyAsiya Javayant PROPOSAL
Ricardo F FigeroaCanadaIvan Magalhaes RENEWAL
Maria Z WieserJapanOnyama Limba NEGOTIATION
Salvatore F BriddickCanadaAnna Fali RENEWAL
Costa Z NestleFranceIoni Bowcher PROPOSAL
Octavia Z GlickBrazilAsiya Javayant UNQUALIFIED
Antonio G NestleItalyIvan Magalhaes NEGOTIATION
Ivar R GlickGermanyAsiya Javayant RENEWAL
James W SaylorsFranceStephen Shaw UNQUALIFIED
Izzy Z FerenczCanadaAmy Elsner QUALIFIED
Mujtaba W RimBrazilAmy Elsner RENEWAL
Adams A SaylorsSpainElwin Sharvill PROPOSAL
Morrow E GillianAustraliaIvan Magalhaes NEGOTIATION
Rodrigues R RimGermanyAmy Elsner UNQUALIFIED
Aditya S WaycottBrazilIvan Magalhaes NEW
Misaki O GillianFranceStephen Shaw NEGOTIATION
Aruna A WaycottIndiaOnyama Limba UNQUALIFIED
Costa M RulapaughAustraliaStephen Shaw PROPOSAL
Deepesh H BriddickSpainXuxue Feng PROPOSAL
Adams U GauchoBrazilIvan Magalhaes RENEWAL
Octavia I TollnerUnited KingdomAnna Fali UNQUALIFIED
Nicolas L RulapaughSpainAnna Fali PROPOSAL
Izzy K MaletAustraliaStephen Shaw RENEWAL
Emily G MacleadAustraliaElwin Sharvill UNQUALIFIED
Adams K CaudyItalyIvan Magalhaes NEGOTIATION
Maisha U FollerRussiaIvan Magalhaes QUALIFIED
Smith P SlusarskiItalyIoni Bowcher RENEWAL
Smith Q SaylorsGermanyAnna Fali RENEWAL
Francesco D PerinGermanyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leja Q WieserRussiaOnyama Limba UNQUALIFIED
Maria B FerenczItalyIoni Bowcher UNQUALIFIED
Jennifer L StockhamCanadaXuxue Feng NEW
Munro E StensethBrazilStephen Shaw QUALIFIED
Salvatore B PaprockiFranceIvan Magalhaes NEW
Jennifer E WaycottArgentinaAmy Elsner NEW
Leon Y GillianGermanyStephen Shaw PROPOSAL
Jefferson B WieserUnited KingdomAsiya Javayant NEW
Stacey R PaprockiBrazilAmy Elsner NEW
James K NestleItalyXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika J PerinCanada2026-08-16King, Christopher A Esq UNQUALIFIED36Elwin Sharvill
1001Isabel J RoysterFrance2026-07-30Benton, John B Jr NEW73Asiya Javayant
1002Kaitlin H MacleadAustralia2026-08-12Commercial Press RENEWAL75Elwin Sharvill
1003David T RoysterBrazil2026-08-16Rangoni Of Florence PROPOSAL19Asiya Javayant
1004Costa Q VenereItaly2026-08-13Feiner Bros PROPOSAL12Anna Fali
1005Murillo M BowleyBrazil2026-07-28Dorl, James J Esq NEGOTIATION43Ivan Magalhaes
1006James Y SaylorsItaly2026-08-13Printing Dimensions NEGOTIATION74Onyama Limba
1007Cody J SergiJapan2026-08-07Dorl, James J Esq PROPOSAL98Bernardo Dominic
1008Greenwood Z ShinkoRussia2026-08-01Morlong Associates NEGOTIATION64Amy Elsner
1009Misaki S RimIndia2026-07-28Chemel, James L Cpa NEGOTIATION84Bernardo Dominic
1010Salvatore U CaldareraRussia2026-08-05Truhlar And Truhlar Attys PROPOSAL71Anna Fali
1011Wickens G FerenczIndia2026-07-30King, Christopher A Esq UNQUALIFIED10Bernardo Dominic
1012Faith R RutaItaly2026-08-03Chemel, James L Cpa RENEWAL1Onyama Limba
1013Juan O MorascaFrance2026-08-04Chapman, Ross E Esq NEW81Bernardo Dominic
1014Costa P DarakjyRussia2026-08-05Dorl, James J Esq NEW97Anna Fali
1015Mayumi K FollerBrazil2026-08-03King, Christopher A Esq QUALIFIED61Amy Elsner
1016Wickens X PaprockiArgentina2026-08-09Dorl, James J Esq NEW1Ioni Bowcher
1017Jefferson X KuskoBrazil2026-08-01Chapman, Ross E Esq QUALIFIED56Ivan Magalhaes
1018Deepesh V CaudyUnited Kingdom2026-08-12Chanay, Jeffrey A Esq UNQUALIFIED34Ioni Bowcher
1019Clifford M WaycottAustralia2026-07-30Chemel, James L Cpa RENEWAL4Amy Elsner
1020Nicolas F NestleIndia2026-07-31Feiner Bros RENEWAL21Asiya Javayant
1021David I MorascaAustralia2026-08-04Rangoni Of Florence QUALIFIED36Xuxue Feng
1022Murillo K OstroskyJapan2026-08-03Morlong Associates RENEWAL71Ioni Bowcher
1023Faith N KolmetzIndia2026-07-22Chapman, Ross E Esq NEGOTIATION89Ioni Bowcher
1024Darci J SlusarskiUnited Kingdom2026-08-02Rousseaux, Michael Esq PROPOSAL44Amy Elsner
1025Alejandro C StensethIndia2026-08-03Truhlar And Truhlar Attys NEW86Anna Fali
1026Salvatore J GarufiAustralia2026-08-07Dorl, James J Esq NEGOTIATION16Elwin Sharvill
1027Morrow A SaylorsRussia2026-08-02Feiner Bros UNQUALIFIED54Stephen Shaw
1028Antonio F KuskoItaly2026-08-16Chapman, Ross E Esq RENEWAL11Amy Elsner
1029Julie E NickaArgentina2026-08-08Rousseaux, Michael Esq QUALIFIED83Amy Elsner
1030David R VenereJapan2026-07-22King, Christopher A Esq UNQUALIFIED95Stephen Shaw
1031Maisha P MacleadSpain2026-07-31Feltz Printing Service NEGOTIATION50Elwin Sharvill
1032Ashley I DarakjyCanada2026-07-30Dorl, James J Esq UNQUALIFIED35Ivan Magalhaes
1033Jeanfrancois C BriddickJapan2026-08-05Chemel, James L Cpa NEW85Ioni Bowcher
1034Greenwood F MorascaIndia2026-08-04Feltz Printing Service PROPOSAL69Stephen Shaw
1035Ashley G SaylorsIndia2026-08-10Buckley Miller Wright NEW78Stephen Shaw
1036Octavia N OstroskyJapan2026-07-23King, Christopher A Esq NEW34Onyama Limba
1037Maisha B GauchoIndia2026-07-21Benton, John B Jr UNQUALIFIED92Elwin Sharvill
1038Rodrigues Z RulapaughArgentina2026-08-13Buckley Miller Wright QUALIFIED72Ioni Bowcher
1039Stacey A MarrierItaly2026-07-24Benton, John B Jr UNQUALIFIED32Anna Fali
1040Juan A MaletArgentina2026-08-03King, Christopher A Esq NEGOTIATION75Stephen Shaw
1041Adams N TollnerCanada2026-07-31Truhlar And Truhlar Attys NEGOTIATION87Amy Elsner
1042Arvin S FerenczAustralia2026-08-15Printing Dimensions PROPOSAL73Amy Elsner
1043Antonio Q FlosiFrance2026-08-01Feiner Bros UNQUALIFIED61Ioni Bowcher
1044Stacey G MaletIndia2026-08-17Morlong Associates PROPOSAL38Ivan Magalhaes
1045Morrow B VocelkaArgentina2026-07-19King, Christopher A Esq UNQUALIFIED92Bernardo Dominic
1046Alejandro J MacleadAustralia2026-07-31Commercial Press QUALIFIED76Anna Fali
1047Murillo M GarufiGermany2026-08-06Printing Dimensions NEW74Onyama Limba
1048Rodrigues C InouyeSpain2026-07-29Buckley Miller Wright NEW6Xuxue Feng
1049Tony S VenereAustralia2026-07-23King, Christopher A Esq NEW17Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Emily W BologniaFranceAsiya Javayant NEW
Kadeem H FerenczFranceAsiya Javayant QUALIFIED
Sinclair L ShinkoCanadaBernardo Dominic NEW
Aruna Z FigeroaItalyStephen Shaw RENEWAL
Juan Q WieserJapanElwin Sharvill RENEWAL
Juan O ButtBrazilAmy Elsner RENEWAL
Ricardo P GauchoAustraliaIvan Magalhaes QUALIFIED
Sinclair Z WhobreyCanadaXuxue Feng NEW
Julie C MarrierBrazilIvan Magalhaes NEGOTIATION
Octavia S IturbideIndiaAmy Elsner NEGOTIATION
Maria O PerinCanadaOnyama Limba UNQUALIFIED
Mujtaba E FerenczAustraliaStephen Shaw NEGOTIATION
Mayumi M CaudyBrazilOnyama Limba PROPOSAL
Aruna Z ChuiUnited KingdomOnyama Limba QUALIFIED
Maria J VenereIndiaBernardo Dominic QUALIFIED
Tony I FlosiArgentinaIvan Magalhaes RENEWAL
Cody S FerenczAustraliaXuxue Feng NEGOTIATION
Julie T GauchoAustraliaBernardo Dominic PROPOSAL
Clifford A MaletIndiaIoni Bowcher PROPOSAL
Murillo B RulapaughAustraliaAsiya Javayant PROPOSAL
Francesco K CampainIndiaStephen Shaw NEW
Octavia N MaletUnited KingdomIoni Bowcher RENEWAL
Smith N AlbaresIndiaBernardo Dominic PROPOSAL
Silvio D ButtSpainElwin Sharvill RENEWAL
James R KolmetzRussiaAsiya Javayant NEW
Maria U FerenczItalyAsiya Javayant QUALIFIED
Clifford R TollnerRussiaElwin Sharvill NEW
Smith S SlusarskiFranceStephen Shaw PROPOSAL
Aditya H FlosiArgentinaAsiya Javayant UNQUALIFIED
Faith Z FollerBrazilAsiya Javayant NEGOTIATION
Rodrigues A MaletRussiaXuxue Feng NEW
Chavez O VenereItalyAnna Fali UNQUALIFIED
Juan K SlusarskiItalyAmy Elsner NEGOTIATION
Tony X DoeCanadaAsiya Javayant QUALIFIED
Costa K KolmetzSpainIvan Magalhaes PROPOSAL
Darci U BologniaRussiaElwin Sharvill RENEWAL
Alejandro J GauchoCanadaElwin Sharvill QUALIFIED
Misaki W CaldareraItalyElwin Sharvill RENEWAL
Johnson F SergiCanadaXuxue Feng PROPOSAL
Cody M WaycottSpainAsiya Javayant UNQUALIFIED
Smith T CampainSpainElwin Sharvill NEW
Maria P CaudyAustraliaOnyama Limba UNQUALIFIED
Mayumi G GarufiGermanyElwin Sharvill UNQUALIFIED
Aika I WieserRussiaElwin Sharvill NEGOTIATION
Claire N PerinFranceIoni Bowcher RENEWAL
Juan E SchemmerFranceStephen Shaw PROPOSAL
Leon X OstroskyFranceBernardo Dominic QUALIFIED
Faith Y VenereUnited KingdomBernardo Dominic NEGOTIATION
Octavia U VocelkaItalyElwin Sharvill PROPOSAL
Misaki H WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Leon W Campain
Maisha Z Wieser
Chavez W Kolmetz
Salvatore N Gaucho
Cody O Caldarera
Ricardo X Marrier
Costa U Rulapaugh
Ricardo F Slusarski
Munro Z Butt
Nicolas P Flosi
Wickens R Glick
Sinclair L Saylors
Alejandro U Marrier
Alejandro M Venere
Emily K Caldarera
Jeanfrancois T Tollner
Sinclair S Tollner
Silvio Z Dilliard
Silvio K Flosi
Antonio Y Foller
Wickens G Foller
Wickens A Inouye
Salvatore F Vocelka
Ashley M Caudy
Isabel G Malet
Ashley K Slusarski
Mayumi S Dilliard
Juan M Paprocki
Ashley Z Slusarski
Alejandro M Kusko
Greenwood C Stenseth
Costa W Gillian
Jefferson W Gillian
Jefferson B Kusko
Morrow R Tollner
Rodrigues U Figeroa
Ricardo U Waycott
Jennifer F Paprocki
Arvin U Wieser
Ricardo B Rulapaugh
Misaki Y Vocelka
Murillo X Glick
Salvatore K Figeroa
Antonio E Stenseth
Misaki L Tollner
Ashley O Doe
Deepesh D Royster
Jeanfrancois N Waycott
Mujtaba Z Stockham
Silvio H Figeroa
IdCountryDate
1000United Kingdom2026-07-22
1001Spain2026-08-05
1002France2026-07-22
1003Germany2026-08-15
1004Russia2026-07-26
1005Germany2026-07-20
1006Argentina2026-07-28
1007Japan2026-07-30
1008Italy2026-07-30
1009Germany2026-08-01
1010Russia2026-07-26
1011Brazil2026-08-04
1012Japan2026-07-26
1013Japan2026-08-08
1014Australia2026-07-26
1015Brazil2026-07-28
1016Spain2026-07-24
1017Japan2026-08-09
1018Russia2026-08-04
1019Russia2026-08-16
1020Germany2026-07-22
1021India2026-08-06
1022Australia2026-07-31
1023Spain2026-08-04
1024Germany2026-08-05
1025India2026-08-16
1026France2026-07-22
1027Italy2026-08-14
1028India2026-08-15
1029Italy2026-07-23
1030Brazil2026-07-20
1031Australia2026-07-28
1032Italy2026-08-07
1033Russia2026-08-17
1034United Kingdom2026-08-15
1035United Kingdom2026-08-13
1036Germany2026-07-25
1037Russia2026-08-12
1038Italy2026-07-22
1039Brazil2026-08-08
1040Russia2026-08-04
1041Japan2026-08-10
1042Canada2026-08-09
1043Italy2026-07-22
1044Australia2026-08-09
1045Spain2026-08-15
1046Argentina2026-08-03
1047Russia2026-08-03
1048Germany2026-07-21
1049Canada2026-08-16

On-Demand Data

NameIdCountryDate
Clifford N Schemmer1000Spain2026-08-16
Jennifer C Saylors1001Canada2026-08-08
Aika H Whobrey1002Italy2026-07-20
Stacey V Rim1003Japan2026-08-15
David Y Saylors1004Germany2026-08-11
Octavia S Nicka1005Germany2026-07-25
Nicolas F Paprocki1006United Kingdom2026-08-02
Aruna I Caudy1007Italy2026-07-19
Kaitlin D Iturbide1008Brazil2026-08-12
Greenwood V Sergi1009Spain2026-07-29
Darci J Briddick1010Japan2026-08-01
Antonio N Maclead1011United Kingdom2026-08-05
Ivar N Inouye1012Russia2026-08-03
Juan V Saylors1013France2026-08-05
Mujtaba T Amigon1014France2026-08-09
Ricardo C Garufi1015Spain2026-08-08
Ivar P Royster1016United Kingdom2026-08-01
Morrow Q Doe1017Brazil2026-08-08
Isabel J Campain1018Brazil2026-07-19
Faith O Kolmetz1019Brazil2026-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan G KuskoItalyAnna Fali PROPOSAL
Salvatore Y FerenczGermanyAnna Fali NEW
Wickens H SaylorsIndiaOnyama Limba NEW
Jones D MorascaArgentinaAnna Fali NEGOTIATION
Rodrigues Z GarufiGermanyXuxue Feng NEGOTIATION
Wickens Q WaycottRussiaAmy Elsner RENEWAL
Sinclair H RulapaughCanadaIoni Bowcher UNQUALIFIED
Octavia U AlbaresSpainElwin Sharvill QUALIFIED
Alejandro U DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Deepesh Q SlusarskiRussiaAmy Elsner NEGOTIATION
Nicolas F KuskoGermanyIoni Bowcher UNQUALIFIED
Antonio Z VenereRussiaIoni Bowcher NEGOTIATION
Sinclair W OstroskyCanadaBernardo Dominic NEW
Leja I RoysterJapanOnyama Limba NEW
Misaki V DilliardIndiaAsiya Javayant NEGOTIATION
Faith L IturbideAustraliaOnyama Limba NEW
Morrow W ShinkoIndiaBernardo Dominic RENEWAL
Aditya K IturbideUnited KingdomOnyama Limba NEW
Jeanfrancois R RutaFranceAsiya Javayant QUALIFIED
Aditya Q KolmetzIndiaXuxue Feng NEGOTIATION
Johnson Y WhobreyAustraliaStephen Shaw NEGOTIATION
Smith B KolmetzSpainStephen Shaw QUALIFIED
Leon P OldroydAustraliaAsiya Javayant UNQUALIFIED
Juan M ButtCanadaStephen Shaw QUALIFIED
Cody L RulapaughCanadaBernardo Dominic PROPOSAL
Misaki M GarufiItalyAsiya Javayant UNQUALIFIED
Smith D GarufiAustraliaElwin Sharvill UNQUALIFIED
Alejandro T FlosiUnited KingdomElwin Sharvill RENEWAL
Jennifer S DoeArgentinaBernardo Dominic NEW
Emily Z DoeBrazilXuxue Feng UNQUALIFIED
Emily W IturbideGermanyAmy Elsner PROPOSAL
Cody V FerenczAustraliaOnyama Limba NEW
Jennifer I DoeRussiaStephen Shaw NEW
Jefferson F GlickSpainBernardo Dominic NEGOTIATION
Wickens X SchemmerCanadaOnyama Limba NEW
Costa D GlickArgentinaAsiya Javayant NEGOTIATION
Juan S BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Morrow K StensethAustraliaAmy Elsner PROPOSAL
Aruna X CampainIndiaOnyama Limba QUALIFIED
Johnson A IturbideUnited KingdomIvan Magalhaes PROPOSAL

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