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
Faith Z MorascaItalyElwin Sharvill NEW
Nicolas I RimArgentinaIoni Bowcher QUALIFIED
Adams Q NestleBrazilAsiya Javayant NEW
Nicolas T PaprockiGermanyIvan Magalhaes QUALIFIED
Jeanfrancois Z MacleadGermanyElwin Sharvill NEW
Kaitlin H GarufiRussiaAnna Fali PROPOSAL
Maria B PerinSpainElwin Sharvill RENEWAL
Jennifer S PerinUnited KingdomOnyama Limba NEW
Jennifer R StockhamJapanAmy Elsner UNQUALIFIED
Ivar F KuskoAustraliaAnna Fali QUALIFIED
Jennifer J SergiSpainStephen Shaw QUALIFIED
Arvin C AlbaresItalyAmy Elsner NEGOTIATION
Faith M SaylorsItalyIvan Magalhaes QUALIFIED
Misaki O KolmetzUnited KingdomIoni Bowcher NEW
Antonio A SaylorsIndiaElwin Sharvill UNQUALIFIED
Leja U ChuiJapanStephen Shaw NEW
Deepesh H RoysterUnited KingdomStephen Shaw RENEWAL
Alejandro J MacleadFranceIoni Bowcher NEW
Jennifer N MorascaUnited KingdomAsiya Javayant QUALIFIED
Sinclair F SergiUnited KingdomBernardo Dominic UNQUALIFIED
Misaki F OstroskyCanadaAsiya Javayant NEW
Leja O StockhamGermanyOnyama Limba RENEWAL
Alejandro S ButtRussiaAmy Elsner NEGOTIATION
Munro P DilliardBrazilAsiya Javayant NEGOTIATION
James W StensethCanadaAnna Fali NEGOTIATION
Aika K SergiBrazilElwin Sharvill PROPOSAL
Adams R BriddickArgentinaAsiya Javayant RENEWAL
James Z CampainArgentinaOnyama Limba QUALIFIED
Smith S RutaUnited KingdomOnyama Limba NEGOTIATION
Jefferson N OstroskyIndiaAsiya Javayant QUALIFIED
Ivar O NestleSpainIoni Bowcher NEGOTIATION
Kaitlin U SergiAustraliaBernardo Dominic RENEWAL
Francesco Z OldroydRussiaOnyama Limba NEGOTIATION
Wickens R MaletItalyOnyama Limba PROPOSAL
Jeanfrancois J StensethGermanyStephen Shaw NEW
Chavez O FlosiSpainAmy Elsner QUALIFIED
Wickens J VocelkaIndiaAnna Fali RENEWAL
Claire Q StockhamJapanIoni Bowcher NEW
Maria Y FerenczJapanAsiya Javayant NEGOTIATION
Morrow I PoquetteGermanyIoni Bowcher RENEWAL
Stacey M PaprockiRussiaAnna Fali NEW
Salvatore K KuskoFranceIvan Magalhaes NEGOTIATION
Emily B KuskoRussiaStephen Shaw PROPOSAL
David R CaldareraItalyIoni Bowcher NEGOTIATION
Juan F BowleyGermanyOnyama Limba PROPOSAL
Kadeem U MarrierItalyAmy Elsner QUALIFIED
Aruna L StockhamSpainXuxue Feng NEGOTIATION
Clifford O MacleadArgentinaXuxue Feng NEW
Jennifer F RutaItalyAmy Elsner UNQUALIFIED
Ivar J GlickItalyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Salvatore D RutaIndiaOnyama Limba NEW
Nicolas P MacleadJapanIoni Bowcher RENEWAL
Salvatore O InouyeGermanyBernardo Dominic PROPOSAL
Leja N SergiIndiaIoni Bowcher QUALIFIED
Francesco R MorascaUnited KingdomBernardo Dominic RENEWAL
Ricardo O MacleadFranceAnna Fali RENEWAL
Claire M NickaItalyStephen Shaw UNQUALIFIED
Ricardo P PoquetteAustraliaAmy Elsner QUALIFIED
Leja T StensethItalyAsiya Javayant NEGOTIATION
Jefferson Z MarrierBrazilIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki O OstroskyIndia2025-05-03Buckley Miller Wright UNQUALIFIED46Elwin Sharvill
1001Murillo S RoysterGermany2025-04-24Feiner Bros NEW0Anna Fali
1002Jones A PoquetteBrazil2025-04-19Chapman, Ross E Esq NEGOTIATION95Elwin Sharvill
1003Rodrigues I DilliardBrazil2025-05-06Rousseaux, Michael Esq QUALIFIED44Asiya Javayant
1004Leja D WaycottSpain2025-04-20Chapman, Ross E Esq NEGOTIATION90Asiya Javayant
1005Maria H RutaRussia2025-04-25Chapman, Ross E Esq NEW25Onyama Limba
1006Morrow T VenereUnited Kingdom2025-04-25King, Christopher A Esq NEGOTIATION52Ivan Magalhaes
1007Stacey O DarakjyFrance2025-04-24Feltz Printing Service PROPOSAL19Asiya Javayant
1008Jennifer E DoeArgentina2025-04-27Commercial Press RENEWAL81Stephen Shaw
1009Aditya E OldroydArgentina2025-05-18Commercial Press PROPOSAL9Onyama Limba
1010Francesco N RutaGermany2025-05-05Printing Dimensions UNQUALIFIED31Onyama Limba
1011Misaki W CaudySpain2025-05-06King, Christopher A Esq QUALIFIED70Bernardo Dominic
1012Costa A CaldareraAustralia2025-04-25Benton, John B Jr UNQUALIFIED53Stephen Shaw
1013Aditya W DarakjyBrazil2025-04-24Rangoni Of Florence NEW31Ivan Magalhaes
1014Isabel I AlbaresGermany2025-05-03Morlong Associates PROPOSAL15Ivan Magalhaes
1015Greenwood P AlbaresItaly2025-05-12Rousseaux, Michael Esq NEW51Anna Fali
1016Sinclair B CaudySpain2025-04-28Buckley Miller Wright QUALIFIED49Elwin Sharvill
1017Antonio W RutaFrance2025-04-20Rangoni Of Florence NEW6Elwin Sharvill
1018Silvio V NickaCanada2025-05-06King, Christopher A Esq RENEWAL76Xuxue Feng
1019Mayumi F IturbideRussia2025-04-21Commercial Press PROPOSAL58Xuxue Feng
1020Julie H TollnerBrazil2025-04-24Rousseaux, Michael Esq NEGOTIATION32Asiya Javayant
1021Leon Q ShinkoIndia2025-04-19Rousseaux, Michael Esq RENEWAL55Amy Elsner
1022Chavez U CampainSpain2025-05-04Buckley Miller Wright PROPOSAL19Xuxue Feng
1023Izzy F SlusarskiCanada2025-05-02Feltz Printing Service RENEWAL26Ioni Bowcher
1024Murillo W GlickGermany2025-04-24Chanay, Jeffrey A Esq QUALIFIED61Elwin Sharvill
1025Ricardo B WhobreyArgentina2025-05-10Truhlar And Truhlar Attys PROPOSAL1Ioni Bowcher
1026Deepesh C PaprockiGermany2025-04-24Chapman, Ross E Esq NEGOTIATION89Xuxue Feng
1027Maisha Z TollnerJapan2025-05-10Chapman, Ross E Esq PROPOSAL69Onyama Limba
1028Munro D CampainSpain2025-04-29Chemel, James L Cpa UNQUALIFIED83Anna Fali
1029Claire E FerenczCanada2025-04-23Chemel, James L Cpa NEGOTIATION44Stephen Shaw
1030Johnson R GarufiCanada2025-05-07Truhlar And Truhlar Attys PROPOSAL29Asiya Javayant
1031Clifford R MaletUnited Kingdom2025-05-10Buckley Miller Wright RENEWAL95Stephen Shaw
1032Alejandro I VenereUnited Kingdom2025-05-03Benton, John B Jr QUALIFIED27Ivan Magalhaes
1033Antonio K SaylorsUnited Kingdom2025-04-21Rousseaux, Michael Esq RENEWAL62Ivan Magalhaes
1034James T SchemmerCanada2025-04-19Truhlar And Truhlar Attys PROPOSAL45Ivan Magalhaes
1035Juan U NickaCanada2025-05-17Dorl, James J Esq QUALIFIED49Ivan Magalhaes
1036Jennifer B MarrierUnited Kingdom2025-04-23Feltz Printing Service NEW56Ioni Bowcher
1037Kaitlin B ShinkoRussia2025-05-11Chemel, James L Cpa PROPOSAL99Anna Fali
1038Rodrigues B CaudyGermany2025-04-29Feiner Bros RENEWAL68Stephen Shaw
1039Deepesh S ChuiBrazil2025-05-04Chapman, Ross E Esq UNQUALIFIED63Elwin Sharvill
1040Jones Q ChuiJapan2025-04-29Feltz Printing Service NEGOTIATION47Stephen Shaw
1041Adams L GarufiSpain2025-05-12Chanay, Jeffrey A Esq QUALIFIED2Asiya Javayant
1042Chavez U ButtRussia2025-04-22King, Christopher A Esq UNQUALIFIED31Asiya Javayant
1043Adams I DarakjyCanada2025-05-02Benton, John B Jr RENEWAL92Onyama Limba
1044Alejandro J NestleItaly2025-05-17Chapman, Ross E Esq UNQUALIFIED71Ivan Magalhaes
1045Nicolas K GarufiItaly2025-05-12Printing Dimensions RENEWAL80Asiya Javayant
1046Silvio W ButtJapan2025-05-14Chapman, Ross E Esq NEGOTIATION74Anna Fali
1047Mayumi R DilliardCanada2025-04-20Chanay, Jeffrey A Esq NEGOTIATION31Bernardo Dominic
1048Julie C RoysterArgentina2025-05-18Chanay, Jeffrey A Esq PROPOSAL54Onyama Limba
1049Murillo R GlickGermany2025-04-27King, Christopher A Esq UNQUALIFIED25Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Emily D NestleAustraliaBernardo Dominic PROPOSAL
Juan S PoquetteIndiaElwin Sharvill PROPOSAL
Jeanfrancois M MorascaSpainAsiya Javayant UNQUALIFIED
Silvio M StensethSpainStephen Shaw NEW
Tony K SaylorsArgentinaXuxue Feng NEGOTIATION
Julie M VocelkaUnited KingdomIvan Magalhaes NEW
Leja C BowleyGermanyIvan Magalhaes RENEWAL
Antonio V ButtRussiaXuxue Feng UNQUALIFIED
Nicolas U SaylorsJapanAnna Fali PROPOSAL
Jones L InouyeAustraliaElwin Sharvill PROPOSAL
Izzy L WieserCanadaIvan Magalhaes PROPOSAL
Jefferson R ChuiArgentinaElwin Sharvill NEW
Jones J StockhamSpainIvan Magalhaes RENEWAL
David C StensethGermanyAsiya Javayant PROPOSAL
Ashley F VenereJapanOnyama Limba PROPOSAL
Leon Y DarakjyUnited KingdomIoni Bowcher QUALIFIED
Jennifer A FigeroaRussiaAnna Fali NEW
Leja M NestleCanadaBernardo Dominic QUALIFIED
Nicolas P MaletIndiaOnyama Limba UNQUALIFIED
Ivar E KuskoUnited KingdomOnyama Limba NEW
James T RulapaughAustraliaIvan Magalhaes NEW
Leon R OldroydBrazilElwin Sharvill RENEWAL
Greenwood B CaldareraUnited KingdomAmy Elsner RENEWAL
Jones P PerinArgentinaBernardo Dominic NEGOTIATION
Jennifer I CampainJapanIvan Magalhaes PROPOSAL
Maria X AmigonAustraliaStephen Shaw UNQUALIFIED
Murillo F BriddickGermanyXuxue Feng PROPOSAL
Misaki H OstroskyGermanyXuxue Feng NEGOTIATION
Alejandro P MorascaUnited KingdomIvan Magalhaes RENEWAL
Sinclair B ButtCanadaIoni Bowcher NEGOTIATION
Morrow R BowleyRussiaBernardo Dominic NEW
Leon H MarrierRussiaOnyama Limba PROPOSAL
Wickens B DoeCanadaStephen Shaw UNQUALIFIED
Alejandro T BowleyBrazilAsiya Javayant PROPOSAL
Maisha R GillianItalyAnna Fali NEW
Julie J GarufiAustraliaIoni Bowcher RENEWAL
Mayumi L ButtRussiaAsiya Javayant PROPOSAL
Ricardo X VocelkaAustraliaOnyama Limba PROPOSAL
Salvatore A MorascaJapanBernardo Dominic UNQUALIFIED
Emily O BowleyItalyXuxue Feng PROPOSAL
Wickens Y GarufiItalyOnyama Limba PROPOSAL
Rodrigues Z PoquetteRussiaOnyama Limba PROPOSAL
Maria I RutaArgentinaAsiya Javayant NEW
Ashley E KuskoBrazilIvan Magalhaes NEW
Cody F CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Juan F FlosiBrazilBernardo Dominic NEW
Octavia N RutaAustraliaAmy Elsner QUALIFIED
Wickens E CaudyBrazilIvan Magalhaes QUALIFIED
Maria J WhobreyIndiaIvan Magalhaes UNQUALIFIED
Tony K NestleFranceBernardo Dominic NEGOTIATION
Frozen Columns
Name
Adams S Campain
Aruna C Flosi
Ivar A Perin
Claire G Flosi
Jefferson Z Ferencz
Alejandro W Kolmetz
Rodrigues W Gaucho
Maisha X Gillian
Salvatore G Kolmetz
Francesco Q Stockham
Murillo O Briddick
James R Stockham
Juan P Stockham
Johnson C Vocelka
Maisha P Caldarera
Silvio B Wieser
Maria A Perin
Sinclair I Perin
Salvatore O Caudy
Kadeem P Rim
Chavez Z Iturbide
Claire U Stockham
Costa O Venere
Ashley V Tollner
Stacey O Royster
Antonio P Paprocki
Rodrigues I Inouye
Maria A Garufi
Adams S Vocelka
James P Bowley
Aruna V Gaucho
Aruna A Gaucho
Murillo U Garufi
Juan T Schemmer
Isabel H Figeroa
Ashley Z Chui
Jefferson W Stockham
Sinclair E Whobrey
Stacey W Malet
Maisha T Stenseth
Maria F Maclead
Salvatore M Kusko
Isabel O Chui
Chavez V Morasca
Jefferson A Inouye
Aruna C Kolmetz
Leja I Garufi
Nicolas J Gillian
Ricardo F Morasca
Misaki H Sergi
IdCountryDate
1000Spain2025-05-14
1001Germany2025-04-19
1002Australia2025-04-28
1003Japan2025-05-01
1004France2025-05-04
1005Australia2025-04-25
1006Russia2025-05-06
1007Brazil2025-05-08
1008Japan2025-05-18
1009Italy2025-05-10
1010India2025-05-18
1011Argentina2025-05-03
1012Russia2025-05-07
1013Germany2025-05-05
1014United Kingdom2025-04-24
1015United Kingdom2025-05-06
1016Italy2025-05-06
1017Argentina2025-04-24
1018Germany2025-04-23
1019Argentina2025-05-02
1020Italy2025-05-11
1021Japan2025-04-28
1022Argentina2025-04-19
1023Brazil2025-04-26
1024Germany2025-05-15
1025France2025-04-23
1026Germany2025-04-23
1027Russia2025-04-30
1028France2025-05-18
1029Brazil2025-05-07
1030Germany2025-05-11
1031Spain2025-04-30
1032India2025-05-04
1033Australia2025-05-13
1034Canada2025-04-22
1035Russia2025-05-05
1036Argentina2025-04-22
1037United Kingdom2025-05-06
1038France2025-04-20
1039Brazil2025-05-18
1040Japan2025-05-02
1041France2025-05-05
1042Germany2025-05-07
1043United Kingdom2025-05-16
1044United Kingdom2025-04-26
1045Russia2025-05-13
1046Japan2025-05-18
1047Russia2025-05-03
1048Argentina2025-04-30
1049Brazil2025-04-27

On-Demand Data

NameIdCountryDate
Mujtaba T Caldarera1000Canada2025-04-19
Salvatore E Schemmer1001Canada2025-05-15
Greenwood C Kolmetz1002Canada2025-05-18
Greenwood Z Shinko1003Germany2025-04-30
Costa H Morasca1004Japan2025-05-03
Nicolas V Slusarski1005Australia2025-04-26
Greenwood Y Ruta1006Italy2025-04-21
Jeanfrancois K Marrier1007United Kingdom2025-04-19
Misaki C Saylors1008Japan2025-05-05
Jefferson X Oldroyd1009Spain2025-05-03
Julie C Stockham1010Canada2025-04-27
Ivar U Whobrey1011United Kingdom2025-04-21
Claire Q Royster1012Italy2025-05-18
Emily P Ruta1013Japan2025-04-30
Kadeem Y Malet1014Russia2025-04-25
Francesco J Amigon1015Canada2025-05-17
Octavia P Gaucho1016Canada2025-05-03
Stacey J Albares1017Germany2025-04-21
Maria E Ostrosky1018India2025-05-10
Antonio F Ferencz1019United Kingdom2025-05-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya H BowleyUnited KingdomStephen Shaw UNQUALIFIED
Aruna Z PoquetteJapanBernardo Dominic NEW
Octavia B PoquetteAustraliaStephen Shaw UNQUALIFIED
Ashley U GillianFranceIvan Magalhaes NEW
Sinclair P ButtBrazilXuxue Feng RENEWAL
Aditya V CaldareraCanadaIvan Magalhaes UNQUALIFIED
Jones M StockhamFranceAsiya Javayant NEGOTIATION
Octavia U FigeroaAustraliaIoni Bowcher UNQUALIFIED
Silvio D SchemmerSpainIvan Magalhaes RENEWAL
Mujtaba R GlickCanadaStephen Shaw NEW
Clifford M FigeroaJapanIoni Bowcher QUALIFIED
Francesco W MorascaGermanyAnna Fali NEW
Mujtaba E OldroydFranceXuxue Feng UNQUALIFIED
David B StensethAustraliaIvan Magalhaes PROPOSAL
James J FerenczSpainIoni Bowcher QUALIFIED
Clifford W IturbideItalyIoni Bowcher NEGOTIATION
Greenwood F GillianCanadaBernardo Dominic PROPOSAL
Adams X GarufiSpainBernardo Dominic QUALIFIED
Salvatore Z WaycottJapanAsiya Javayant NEGOTIATION
Morrow P GlickGermanyIoni Bowcher UNQUALIFIED
Isabel A InouyeFranceAsiya Javayant NEW
Greenwood K FerenczGermanyAnna Fali NEGOTIATION
Isabel P CampainRussiaBernardo Dominic UNQUALIFIED
Mayumi I ChuiJapanIoni Bowcher UNQUALIFIED
Leon F DoeArgentinaXuxue Feng NEGOTIATION
Kaitlin M WhobreyIndiaAnna Fali UNQUALIFIED
Cody D MaletIndiaXuxue Feng UNQUALIFIED
Maisha A NickaItalyAnna Fali NEW
Isabel V StensethJapanBernardo Dominic PROPOSAL
Aditya R TollnerArgentinaBernardo Dominic NEW
Silvio N AlbaresBrazilBernardo Dominic NEW
Aditya F NickaSpainAnna Fali NEW
Nicolas O GlickFranceIoni Bowcher QUALIFIED
Antonio A NestleBrazilXuxue Feng QUALIFIED
Misaki B StockhamIndiaAsiya Javayant UNQUALIFIED
Juan P RimAustraliaIoni Bowcher UNQUALIFIED
Claire U CampainItalyAmy Elsner RENEWAL
Morrow I BowleyFranceOnyama Limba QUALIFIED
Deepesh O CaldareraArgentinaAnna Fali QUALIFIED
Wickens M BologniaUnited KingdomStephen Shaw 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>