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
Alejandro G CampainUnited KingdomIoni Bowcher NEGOTIATION
Emily A WieserCanadaAmy Elsner NEW
Tony G AmigonCanadaOnyama Limba NEW
Emily W KuskoSpainAsiya Javayant PROPOSAL
Ivar D OldroydItalyElwin Sharvill PROPOSAL
Costa C BriddickGermanyAnna Fali UNQUALIFIED
Alejandro A PerinCanadaIvan Magalhaes NEGOTIATION
Wickens H BowleyFranceAsiya Javayant NEW
Francesco T InouyeIndiaIoni Bowcher NEGOTIATION
Leja Q ShinkoGermanyOnyama Limba PROPOSAL
Sinclair W RulapaughIndiaElwin Sharvill NEW
Maisha Q AmigonBrazilAsiya Javayant QUALIFIED
Jefferson V MorascaItalyBernardo Dominic NEW
Tony M OstroskyIndiaAnna Fali RENEWAL
Nicolas K ShinkoCanadaOnyama Limba NEW
Adams I FerenczBrazilXuxue Feng RENEWAL
Smith R DilliardUnited KingdomIvan Magalhaes PROPOSAL
Emily A SlusarskiArgentinaOnyama Limba QUALIFIED
Chavez D MacleadItalyIoni Bowcher RENEWAL
Ivar A WhobreyCanadaIoni Bowcher QUALIFIED
Alejandro E SlusarskiJapanAmy Elsner UNQUALIFIED
Salvatore X PerinBrazilAnna Fali NEW
Rodrigues U GarufiFranceIoni Bowcher NEGOTIATION
Jones A MarrierItalyBernardo Dominic QUALIFIED
Darci B ShinkoRussiaBernardo Dominic NEW
Francesco N VocelkaUnited KingdomXuxue Feng QUALIFIED
Tony C BowleyUnited KingdomStephen Shaw QUALIFIED
Silvio Z PaprockiIndiaIoni Bowcher NEGOTIATION
Jeanfrancois J SlusarskiArgentinaElwin Sharvill NEW
Aruna Q BowleyIndiaIoni Bowcher QUALIFIED
Julie J DilliardJapanAmy Elsner RENEWAL
Jeanfrancois O NickaItalyStephen Shaw UNQUALIFIED
Emily T BriddickBrazilOnyama Limba PROPOSAL
Aruna A DarakjyFranceElwin Sharvill UNQUALIFIED
Wickens M MaletFranceIoni Bowcher PROPOSAL
Jennifer P KuskoIndiaOnyama Limba QUALIFIED
Emily L WhobreySpainAnna Fali NEW
Maria V MaletItalyIoni Bowcher NEGOTIATION
Stacey T GarufiBrazilElwin Sharvill NEW
Cody G RoysterUnited KingdomStephen Shaw UNQUALIFIED
Juan Y VocelkaRussiaIvan Magalhaes PROPOSAL
James B CampainArgentinaIoni Bowcher UNQUALIFIED
Alejandro P RoysterJapanAmy Elsner RENEWAL
Morrow G SergiCanadaBernardo Dominic NEGOTIATION
Munro K MaletBrazilElwin Sharvill UNQUALIFIED
Adams W FollerSpainAsiya Javayant PROPOSAL
Isabel C CampainUnited KingdomXuxue Feng UNQUALIFIED
Sinclair U WhobreyItalyAsiya Javayant UNQUALIFIED
Salvatore P PerinArgentinaAnna Fali NEGOTIATION
Arvin B SaylorsJapanAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin J BriddickBrazilAsiya Javayant NEW
Wickens D RutaJapanAsiya Javayant NEGOTIATION
Stacey M DilliardCanadaStephen Shaw NEGOTIATION
Nicolas X BowleyUnited KingdomBernardo Dominic NEGOTIATION
Stacey F GillianUnited KingdomIoni Bowcher UNQUALIFIED
James S RimJapanAsiya Javayant RENEWAL
Ivar K VenereFranceOnyama Limba NEW
Murillo E MaletCanadaIoni Bowcher NEGOTIATION
Aditya C AmigonArgentinaStephen Shaw NEW
Murillo E StockhamAustraliaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford S AlbaresBrazil2026-06-21Dorl, James J Esq NEW28Ivan Magalhaes
1001Sinclair V MaletJapan2026-06-14Chapman, Ross E Esq PROPOSAL16Elwin Sharvill
1002Arvin S PaprockiItaly2026-06-17King, Christopher A Esq PROPOSAL34Ivan Magalhaes
1003Deepesh O RutaAustralia2026-07-04Printing Dimensions QUALIFIED22Amy Elsner
1004Sinclair T CaudyBrazil2026-06-24Benton, John B Jr UNQUALIFIED36Bernardo Dominic
1005Ricardo B KuskoBrazil2026-06-30Chemel, James L Cpa RENEWAL64Bernardo Dominic
1006Alejandro P VenereFrance2026-07-09Benton, John B Jr NEGOTIATION70Ioni Bowcher
1007Leon U MaletJapan2026-06-15Feiner Bros QUALIFIED98Stephen Shaw
1008Nicolas U DoeItaly2026-07-06Rousseaux, Michael Esq QUALIFIED32Onyama Limba
1009Leon I VenereItaly2026-06-23Chapman, Ross E Esq RENEWAL87Xuxue Feng
1010Claire T FigeroaIndia2026-06-23Benton, John B Jr NEGOTIATION81Bernardo Dominic
1011Smith G SchemmerRussia2026-06-15Benton, John B Jr NEW86Bernardo Dominic
1012Kadeem T ButtFrance2026-07-01Feltz Printing Service UNQUALIFIED47Stephen Shaw
1013Ivar M VenereJapan2026-07-02Morlong Associates NEW63Stephen Shaw
1014Mayumi F SergiBrazil2026-06-15Chanay, Jeffrey A Esq NEW10Elwin Sharvill
1015Maria X OstroskyJapan2026-07-10Feltz Printing Service NEW67Asiya Javayant
1016Maisha L FollerIndia2026-07-05Dorl, James J Esq NEW34Elwin Sharvill
1017Izzy N MorascaRussia2026-07-08Commercial Press NEW12Stephen Shaw
1018Aruna J ShinkoRussia2026-07-06Buckley Miller Wright UNQUALIFIED55Elwin Sharvill
1019Claire Q ButtCanada2026-06-26Benton, John B Jr UNQUALIFIED6Bernardo Dominic
1020Wickens H GillianIndia2026-07-03Chanay, Jeffrey A Esq PROPOSAL83Onyama Limba
1021Francesco C MorascaSpain2026-06-14Commercial Press NEGOTIATION65Amy Elsner
1022Adams R FollerAustralia2026-06-20Feiner Bros NEGOTIATION55Amy Elsner
1023Julie N InouyeRussia2026-06-11Printing Dimensions UNQUALIFIED60Xuxue Feng
1024Nicolas J MaletIndia2026-06-12Chapman, Ross E Esq QUALIFIED72Ioni Bowcher
1025Antonio G PerinRussia2026-06-27Chemel, James L Cpa UNQUALIFIED12Xuxue Feng
1026Salvatore E CaldareraJapan2026-07-03Chemel, James L Cpa RENEWAL90Xuxue Feng
1027Isabel U OldroydCanada2026-06-27King, Christopher A Esq PROPOSAL70Anna Fali
1028Jennifer L StockhamCanada2026-06-18Chemel, James L Cpa RENEWAL65Ivan Magalhaes
1029Maisha H StockhamRussia2026-07-10Feiner Bros QUALIFIED51Xuxue Feng
1030Julie C BologniaGermany2026-06-20King, Christopher A Esq PROPOSAL93Stephen Shaw
1031Sinclair Y GauchoAustralia2026-06-17Dorl, James J Esq PROPOSAL7Stephen Shaw
1032Kaitlin D OldroydItaly2026-06-12King, Christopher A Esq QUALIFIED85Anna Fali
1033Cody F MacleadUnited Kingdom2026-06-22Commercial Press PROPOSAL2Amy Elsner
1034Nicolas N DilliardAustralia2026-07-07Feltz Printing Service NEGOTIATION23Ioni Bowcher
1035Greenwood N FollerAustralia2026-06-28Morlong Associates PROPOSAL59Anna Fali
1036Ivar L BologniaUnited Kingdom2026-06-27Rangoni Of Florence NEGOTIATION36Bernardo Dominic
1037Costa W BologniaRussia2026-06-12Morlong Associates QUALIFIED49Asiya Javayant
1038Izzy C BowleyAustralia2026-06-30Feltz Printing Service RENEWAL12Onyama Limba
1039Arvin K MarrierIndia2026-07-01Rousseaux, Michael Esq PROPOSAL72Ioni Bowcher
1040Salvatore Q GillianGermany2026-06-20Truhlar And Truhlar Attys QUALIFIED94Xuxue Feng
1041Maria U RimBrazil2026-06-20Chanay, Jeffrey A Esq NEW69Anna Fali
1042Octavia P VenereCanada2026-06-21Chanay, Jeffrey A Esq NEGOTIATION38Bernardo Dominic
1043Maria R MarrierBrazil2026-06-23Benton, John B Jr NEW78Amy Elsner
1044Kaitlin U WieserIndia2026-06-22Feiner Bros PROPOSAL82Elwin Sharvill
1045Claire Q NestleGermany2026-07-02Buckley Miller Wright NEW59Ioni Bowcher
1046Isabel A GarufiJapan2026-06-16King, Christopher A Esq NEGOTIATION96Elwin Sharvill
1047Wickens V CaudyIndia2026-06-30Printing Dimensions QUALIFIED94Amy Elsner
1048Aika T AlbaresCanada2026-06-11Feltz Printing Service UNQUALIFIED47Bernardo Dominic
1049Cody F MacleadIndia2026-06-21Benton, John B Jr NEW17Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood L ChuiArgentinaXuxue Feng QUALIFIED
Isabel I FerenczArgentinaAnna Fali NEGOTIATION
David P MaletJapanOnyama Limba NEGOTIATION
Aditya Z MaletItalyBernardo Dominic PROPOSAL
Darci C WhobreyRussiaIoni Bowcher RENEWAL
Ricardo E SaylorsSpainIvan Magalhaes UNQUALIFIED
Arvin X SchemmerRussiaAsiya Javayant NEW
Adams X NickaUnited KingdomIvan Magalhaes NEW
Alejandro B BriddickIndiaXuxue Feng RENEWAL
Mujtaba S CaldareraCanadaOnyama Limba UNQUALIFIED
Costa O GillianSpainXuxue Feng PROPOSAL
Darci W StockhamFranceIoni Bowcher PROPOSAL
Aruna P FerenczItalyAmy Elsner UNQUALIFIED
Chavez X NestleIndiaOnyama Limba UNQUALIFIED
Costa E KolmetzRussiaElwin Sharvill NEW
Leon K RulapaughBrazilXuxue Feng QUALIFIED
Clifford R GauchoCanadaAsiya Javayant RENEWAL
Munro C BowleyGermanyIoni Bowcher NEGOTIATION
Murillo T PaprockiFranceAsiya Javayant PROPOSAL
Nicolas K SergiItalyOnyama Limba RENEWAL
Izzy F CampainArgentinaStephen Shaw PROPOSAL
Jones T ShinkoAustraliaIoni Bowcher NEGOTIATION
Tony M PerinCanadaAnna Fali RENEWAL
Kadeem F KolmetzItalyAsiya Javayant UNQUALIFIED
Jefferson V FigeroaBrazilOnyama Limba QUALIFIED
Juan M FollerRussiaXuxue Feng PROPOSAL
Salvatore V MarrierFranceAmy Elsner UNQUALIFIED
Claire U NestleUnited KingdomIoni Bowcher NEGOTIATION
Sinclair M StensethAustraliaOnyama Limba PROPOSAL
Ashley R SchemmerAustraliaAnna Fali RENEWAL
Ashley F FerenczItalyAmy Elsner NEGOTIATION
Ivar A RoysterJapanElwin Sharvill NEGOTIATION
Maria L PaprockiItalyBernardo Dominic UNQUALIFIED
Smith P FigeroaItalyStephen Shaw QUALIFIED
Claire C FollerGermanyXuxue Feng NEW
Cody O StensethAustraliaAsiya Javayant NEGOTIATION
James Z SergiSpainBernardo Dominic NEGOTIATION
Rodrigues Y OstroskyJapanElwin Sharvill RENEWAL
Maria L RulapaughIndiaAsiya Javayant RENEWAL
Maisha A NickaItalyXuxue Feng PROPOSAL
Wickens F MacleadJapanIoni Bowcher RENEWAL
Maria Q FollerFranceXuxue Feng QUALIFIED
Kadeem C KolmetzBrazilXuxue Feng RENEWAL
Leon H WhobreyCanadaStephen Shaw RENEWAL
Tony C InouyeArgentinaBernardo Dominic RENEWAL
Leon F WhobreyBrazilAnna Fali RENEWAL
Ricardo M WhobreyGermanyAsiya Javayant NEW
Izzy V PoquetteItalyOnyama Limba UNQUALIFIED
Ricardo E OldroydSpainAsiya Javayant NEGOTIATION
Aika J BriddickSpainXuxue Feng PROPOSAL
Frozen Columns
Name
Murillo M Schemmer
Faith N Caudy
Jones N Wieser
Maria W Slusarski
Cody W Wieser
Adams K Malet
Faith G Figeroa
Adams M Schemmer
Ricardo J Whobrey
Jefferson Z Malet
Izzy O Caudy
Aditya A Waycott
Rodrigues J Campain
Johnson I Nicka
Antonio F Darakjy
David P Garufi
Faith J Saylors
Adams A Dilliard
David N Amigon
Maisha C Kolmetz
Leon H Slusarski
Ricardo P Waycott
Francesco Q Dilliard
Munro M Glick
James Q Malet
Alejandro K Malet
Isabel N Malet
Nicolas I Briddick
Julie B Oldroyd
Claire C Royster
Silvio P Ferencz
Stacey X Campain
Kadeem P Malet
Isabel B Nestle
Adams U Maclead
Cody A Ostrosky
Izzy O Amigon
Chavez S Caudy
Murillo O Malet
David E Albares
Maria W Shinko
Octavia B Poquette
Chavez X Nicka
Greenwood R Stockham
Izzy C Figeroa
Murillo O Ostrosky
Darci V Iturbide
Costa K Gillian
Mujtaba P Morasca
Chavez E Sergi
IdCountryDate
1000France2026-07-10
1001India2026-06-15
1002Japan2026-06-14
1003Argentina2026-06-28
1004France2026-07-07
1005France2026-06-17
1006France2026-07-06
1007Russia2026-07-10
1008Spain2026-07-05
1009Germany2026-06-24
1010France2026-07-10
1011Australia2026-07-05
1012India2026-07-05
1013India2026-06-21
1014France2026-07-02
1015Argentina2026-06-12
1016Australia2026-06-21
1017Australia2026-07-09
1018Russia2026-07-02
1019France2026-07-04
1020France2026-06-23
1021India2026-06-27
1022Italy2026-06-13
1023India2026-07-10
1024Canada2026-06-19
1025Australia2026-06-22
1026Australia2026-06-28
1027Italy2026-07-05
1028Japan2026-06-20
1029France2026-06-21
1030France2026-06-13
1031Canada2026-07-03
1032Germany2026-07-09
1033Brazil2026-06-12
1034India2026-06-16
1035Germany2026-06-20
1036Spain2026-06-26
1037Russia2026-07-09
1038Italy2026-06-15
1039Brazil2026-06-27
1040Australia2026-07-01
1041Japan2026-06-22
1042Argentina2026-06-21
1043Russia2026-06-28
1044France2026-06-22
1045United Kingdom2026-07-03
1046United Kingdom2026-06-25
1047India2026-07-09
1048India2026-07-05
1049Brazil2026-07-07

On-Demand Data

NameIdCountryDate
Ricardo D Royster1000Russia2026-06-13
Juan R Flosi1001India2026-06-15
Wickens C Slusarski1002Japan2026-07-08
Claire R Campain1003Italy2026-07-05
Ashley U Gaucho1004Canada2026-07-09
Munro E Sergi1005Canada2026-07-06
Salvatore Z Caudy1006Germany2026-06-16
Sinclair R Briddick1007Australia2026-07-03
Kadeem T Maclead1008Spain2026-06-26
Jones Q Figeroa1009Japan2026-07-04
Julie T Campain1010Italy2026-06-23
Kaitlin G Saylors1011Italy2026-06-14
Jennifer O Marrier1012Germany2026-06-22
Antonio J Kusko1013Germany2026-07-04
Munro D Albares1014Japan2026-06-16
Maisha F Oldroyd1015Brazil2026-06-22
Tony D Gaucho1016Spain2026-06-13
Tony Z Bowley1017Spain2026-06-27
Greenwood V Rulapaugh1018India2026-06-18
Leja Z Rim1019United Kingdom2026-06-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci D OldroydFranceBernardo Dominic UNQUALIFIED
Kaitlin B PaprockiAustraliaAmy Elsner NEGOTIATION
Jones I CampainIndiaIoni Bowcher RENEWAL
Mujtaba I GarufiRussiaElwin Sharvill PROPOSAL
James P MarrierRussiaXuxue Feng NEGOTIATION
Julie K PaprockiJapanAsiya Javayant NEGOTIATION
Nicolas K SchemmerJapanAmy Elsner NEW
Aruna C VenereArgentinaBernardo Dominic QUALIFIED
Munro D GauchoFranceIvan Magalhaes UNQUALIFIED
Mayumi S MacleadCanadaAsiya Javayant PROPOSAL
Claire R RutaAustraliaAmy Elsner PROPOSAL
Antonio R PaprockiJapanAmy Elsner PROPOSAL
Alejandro D VocelkaCanadaIvan Magalhaes QUALIFIED
Darci L GauchoArgentinaBernardo Dominic QUALIFIED
Deepesh O BologniaUnited KingdomBernardo Dominic QUALIFIED
Chavez A AmigonRussiaAmy Elsner NEW
Morrow R GarufiRussiaIvan Magalhaes UNQUALIFIED
Wickens L StensethAustraliaIoni Bowcher RENEWAL
Ricardo C ShinkoRussiaAsiya Javayant NEGOTIATION
James V MacleadSpainAsiya Javayant QUALIFIED
Munro S MacleadJapanAnna Fali UNQUALIFIED
Sinclair Y IturbideAustraliaOnyama Limba UNQUALIFIED
Munro M AmigonIndiaStephen Shaw PROPOSAL
Smith Y MarrierAustraliaElwin Sharvill RENEWAL
Antonio W DilliardItalyIoni Bowcher NEGOTIATION
Maisha Y RimUnited KingdomStephen Shaw QUALIFIED
Costa P FlosiIndiaAmy Elsner NEW
Jeanfrancois J OstroskySpainAsiya Javayant PROPOSAL
Leja L InouyeJapanAnna Fali UNQUALIFIED
David U NestleUnited KingdomElwin Sharvill NEW
Morrow H DoeBrazilOnyama Limba UNQUALIFIED
Antonio D IturbideArgentinaAmy Elsner UNQUALIFIED
Misaki W StockhamCanadaAnna Fali RENEWAL
Sinclair D KolmetzAustraliaXuxue Feng NEW
Nicolas C CaldareraBrazilAnna Fali RENEWAL
Maria N ChuiJapanElwin Sharvill UNQUALIFIED
Juan N FlosiRussiaElwin Sharvill RENEWAL
Francesco O InouyeGermanyAmy Elsner PROPOSAL
Claire K MorascaCanadaOnyama Limba NEGOTIATION
James Y BologniaGermanyAsiya Javayant RENEWAL

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