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
Ashley X AlbaresArgentinaAsiya Javayant PROPOSAL
Aika Y VenereBrazilStephen Shaw PROPOSAL
Isabel I ButtArgentinaAsiya Javayant NEW
Maria Q RoysterAustraliaAnna Fali NEGOTIATION
Izzy X VenereCanadaIoni Bowcher PROPOSAL
Jefferson I SaylorsIndiaAmy Elsner QUALIFIED
Chavez J ButtGermanyAnna Fali RENEWAL
Kaitlin B FerenczArgentinaIvan Magalhaes NEGOTIATION
Jones T ButtItalyIvan Magalhaes NEW
Chavez Y GlickCanadaIoni Bowcher PROPOSAL
Isabel F MorascaBrazilIvan Magalhaes PROPOSAL
Sinclair M CaldareraRussiaIvan Magalhaes NEGOTIATION
Aruna B NestleFranceElwin Sharvill PROPOSAL
Aditya F MarrierGermanyXuxue Feng PROPOSAL
Darci Z IturbideIndiaOnyama Limba NEW
Greenwood O StockhamJapanStephen Shaw NEGOTIATION
Ivar N SlusarskiItalyAsiya Javayant QUALIFIED
Jennifer E AmigonArgentinaAsiya Javayant PROPOSAL
Aika L RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Jones C GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Aika M KolmetzUnited KingdomAnna Fali UNQUALIFIED
Salvatore G StensethGermanyOnyama Limba RENEWAL
Wickens I GlickIndiaElwin Sharvill RENEWAL
Jennifer E InouyeBrazilBernardo Dominic UNQUALIFIED
David P WhobreyBrazilBernardo Dominic QUALIFIED
Arvin O WieserArgentinaIoni Bowcher NEGOTIATION
Izzy X InouyeCanadaOnyama Limba RENEWAL
Costa E OstroskyCanadaBernardo Dominic NEW
Claire A SlusarskiArgentinaAsiya Javayant NEW
Smith C TollnerCanadaBernardo Dominic NEGOTIATION
Wickens G PaprockiJapanIoni Bowcher PROPOSAL
David N SergiAustraliaAsiya Javayant PROPOSAL
Wickens X SchemmerIndiaBernardo Dominic NEGOTIATION
Emily G CaldareraBrazilXuxue Feng NEGOTIATION
Murillo H RulapaughSpainIoni Bowcher UNQUALIFIED
Smith P AmigonItalyXuxue Feng PROPOSAL
Greenwood C SlusarskiCanadaStephen Shaw UNQUALIFIED
Murillo X MaletAustraliaAnna Fali RENEWAL
Rodrigues P FlosiAustraliaIvan Magalhaes UNQUALIFIED
Maria X ChuiBrazilXuxue Feng NEW
Kaitlin N FollerCanadaAnna Fali UNQUALIFIED
Johnson N FollerGermanyXuxue Feng PROPOSAL
Francesco S StensethSpainElwin Sharvill RENEWAL
Salvatore W RulapaughCanadaXuxue Feng PROPOSAL
Arvin G BriddickAustraliaElwin Sharvill PROPOSAL
Munro U TollnerGermanyIoni Bowcher NEW
Leon M KolmetzIndiaAnna Fali NEGOTIATION
Izzy H CaldareraArgentinaXuxue Feng NEGOTIATION
David I FlosiIndiaBernardo Dominic PROPOSAL
Arvin K TollnerAustraliaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith Z PerinItalyOnyama Limba UNQUALIFIED
James X StensethArgentinaBernardo Dominic UNQUALIFIED
Antonio T KuskoBrazilXuxue Feng UNQUALIFIED
Tony L SchemmerRussiaBernardo Dominic NEW
Isabel X PaprockiUnited KingdomAmy Elsner PROPOSAL
Jefferson Z PoquetteFranceIvan Magalhaes QUALIFIED
Ricardo E WaycottRussiaElwin Sharvill NEGOTIATION
Murillo T SlusarskiArgentinaOnyama Limba RENEWAL
Antonio M BologniaCanadaElwin Sharvill NEW
Chavez M WaycottAustraliaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya Z InouyeSpain2025-05-21Commercial Press UNQUALIFIED47Ivan Magalhaes
1001Aditya T ShinkoArgentina2025-05-22Chapman, Ross E Esq NEW7Ioni Bowcher
1002Misaki I NickaSpain2025-06-03Benton, John B Jr UNQUALIFIED24Stephen Shaw
1003Adams M AmigonArgentina2025-05-18Chapman, Ross E Esq NEW6Elwin Sharvill
1004Kadeem J OldroydJapan2025-06-15King, Christopher A Esq QUALIFIED8Stephen Shaw
1005Jeanfrancois W PerinIndia2025-06-08Benton, John B Jr NEW8Xuxue Feng
1006Darci L FigeroaBrazil2025-05-24Chemel, James L Cpa QUALIFIED64Elwin Sharvill
1007Greenwood X SaylorsIndia2025-06-06Chapman, Ross E Esq NEW10Anna Fali
1008Costa M WhobreyArgentina2025-05-22Chanay, Jeffrey A Esq NEGOTIATION23Elwin Sharvill
1009Greenwood F GauchoIndia2025-05-23Feltz Printing Service PROPOSAL6Anna Fali
1010Alejandro B GauchoJapan2025-05-20Truhlar And Truhlar Attys RENEWAL30Onyama Limba
1011Ricardo D BologniaAustralia2025-06-02Feiner Bros PROPOSAL69Xuxue Feng
1012Tony U BowleyCanada2025-05-23Buckley Miller Wright RENEWAL69Elwin Sharvill
1013David G DilliardIndia2025-06-03Rangoni Of Florence PROPOSAL37Asiya Javayant
1014David Q TollnerJapan2025-05-30King, Christopher A Esq RENEWAL61Bernardo Dominic
1015Jones W FerenczItaly2025-05-23Benton, John B Jr NEGOTIATION27Ivan Magalhaes
1016Leon U BriddickSpain2025-06-10Benton, John B Jr NEGOTIATION67Ioni Bowcher
1017Nicolas Q FerenczItaly2025-06-15Printing Dimensions NEW46Bernardo Dominic
1018Maisha N RoysterBrazil2025-05-21Buckley Miller Wright QUALIFIED24Elwin Sharvill
1019Darci O WieserBrazil2025-06-09Dorl, James J Esq PROPOSAL8Ivan Magalhaes
1020Claire V RulapaughArgentina2025-06-07Feltz Printing Service UNQUALIFIED37Bernardo Dominic
1021Jefferson W RulapaughIndia2025-05-27Chapman, Ross E Esq NEW99Asiya Javayant
1022Darci X RoysterUnited Kingdom2025-06-14Chanay, Jeffrey A Esq NEGOTIATION59Ivan Magalhaes
1023James S RoysterAustralia2025-05-27Benton, John B Jr NEGOTIATION8Onyama Limba
1024Darci L AlbaresJapan2025-06-12Morlong Associates QUALIFIED36Ioni Bowcher
1025Francesco T BologniaCanada2025-05-30Morlong Associates NEGOTIATION34Ivan Magalhaes
1026Jefferson I GauchoAustralia2025-06-08Feltz Printing Service PROPOSAL52Ivan Magalhaes
1027Smith T FlosiSpain2025-06-09Dorl, James J Esq UNQUALIFIED59Onyama Limba
1028Kadeem O FlosiRussia2025-05-18Chapman, Ross E Esq RENEWAL77Anna Fali
1029Julie C ChuiUnited Kingdom2025-06-15Rangoni Of Florence QUALIFIED34Onyama Limba
1030Sinclair X NestleItaly2025-06-14Morlong Associates NEW69Asiya Javayant
1031Sinclair Z StockhamRussia2025-06-06Chanay, Jeffrey A Esq UNQUALIFIED31Asiya Javayant
1032Jefferson Z InouyeItaly2025-06-09Benton, John B Jr NEW51Ioni Bowcher
1033Leja I DoeGermany2025-06-01Benton, John B Jr NEGOTIATION87Xuxue Feng
1034Clifford T PaprockiGermany2025-06-11Commercial Press NEGOTIATION46Xuxue Feng
1035Stacey R StensethRussia2025-06-08Commercial Press QUALIFIED56Stephen Shaw
1036Octavia L ButtSpain2025-06-06Printing Dimensions QUALIFIED4Stephen Shaw
1037Ricardo F AmigonAustralia2025-05-20Printing Dimensions NEW36Elwin Sharvill
1038Greenwood X WhobreyItaly2025-05-18Buckley Miller Wright UNQUALIFIED78Stephen Shaw
1039Aika L StockhamJapan2025-05-31Feiner Bros RENEWAL83Anna Fali
1040Jennifer Z OstroskyItaly2025-06-13Truhlar And Truhlar Attys UNQUALIFIED49Ivan Magalhaes
1041Alejandro H AmigonUnited Kingdom2025-05-22King, Christopher A Esq RENEWAL58Ioni Bowcher
1042Deepesh Q TollnerJapan2025-06-01Commercial Press UNQUALIFIED29Onyama Limba
1043Rodrigues Y GarufiRussia2025-05-21Chanay, Jeffrey A Esq NEW83Amy Elsner
1044Maisha E PerinArgentina2025-05-30Morlong Associates NEW29Amy Elsner
1045Mujtaba H VocelkaSpain2025-05-28Dorl, James J Esq UNQUALIFIED38Xuxue Feng
1046Tony D CaudyCanada2025-05-28Printing Dimensions NEW69Ivan Magalhaes
1047Maisha Q SlusarskiJapan2025-05-27Rousseaux, Michael Esq NEW55Onyama Limba
1048Adams Y ChuiRussia2025-05-18King, Christopher A Esq NEW2Anna Fali
1049Greenwood K WieserRussia2025-05-31Rousseaux, Michael Esq RENEWAL57Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Alejandro W MaletBrazilStephen Shaw PROPOSAL
Aruna Y SlusarskiAustraliaXuxue Feng RENEWAL
Alejandro W MacleadArgentinaStephen Shaw NEW
David Q InouyeBrazilElwin Sharvill NEGOTIATION
Darci D FigeroaIndiaIoni Bowcher UNQUALIFIED
Costa I WaycottJapanStephen Shaw NEW
Mujtaba H PaprockiItalyElwin Sharvill NEW
Izzy I IturbideUnited KingdomAmy Elsner UNQUALIFIED
Leon F WieserArgentinaIoni Bowcher PROPOSAL
Antonio A OldroydJapanAmy Elsner PROPOSAL
Munro G AmigonArgentinaAnna Fali NEGOTIATION
Darci I SchemmerArgentinaStephen Shaw QUALIFIED
Jennifer M KolmetzArgentinaAnna Fali NEW
Nicolas K TollnerArgentinaIvan Magalhaes QUALIFIED
Ashley P NickaBrazilBernardo Dominic QUALIFIED
Antonio A NickaFranceAnna Fali PROPOSAL
Greenwood B RulapaughBrazilAmy Elsner UNQUALIFIED
Salvatore N VocelkaGermanyOnyama Limba PROPOSAL
Octavia H ShinkoArgentinaOnyama Limba UNQUALIFIED
Juan E GillianJapanBernardo Dominic UNQUALIFIED
Leja H PaprockiFranceOnyama Limba NEW
Leon I MarrierJapanXuxue Feng NEGOTIATION
Smith G SaylorsRussiaAmy Elsner QUALIFIED
Faith C FollerFranceElwin Sharvill NEGOTIATION
Ashley J GarufiSpainIoni Bowcher RENEWAL
Arvin W KolmetzItalyOnyama Limba UNQUALIFIED
Claire P VenereItalyAnna Fali UNQUALIFIED
Julie Z GauchoUnited KingdomAmy Elsner PROPOSAL
Sinclair O WieserAustraliaXuxue Feng PROPOSAL
Silvio D MaletSpainBernardo Dominic RENEWAL
Munro Q MorascaJapanAsiya Javayant PROPOSAL
Greenwood V TollnerRussiaBernardo Dominic PROPOSAL
Tony G RoysterItalyXuxue Feng QUALIFIED
David O MacleadRussiaOnyama Limba NEGOTIATION
Emily N AmigonSpainAnna Fali QUALIFIED
Aditya I CaudyUnited KingdomAmy Elsner NEGOTIATION
Leja N BowleyIndiaIoni Bowcher PROPOSAL
Juan Q NickaSpainElwin Sharvill UNQUALIFIED
Munro W MacleadGermanyIvan Magalhaes PROPOSAL
Rodrigues G SaylorsJapanIoni Bowcher NEW
Izzy P MarrierFranceStephen Shaw QUALIFIED
Jones G MaletArgentinaAnna Fali QUALIFIED
Murillo P ChuiGermanyElwin Sharvill PROPOSAL
Sinclair U RutaArgentinaAmy Elsner NEGOTIATION
Julie A CampainCanadaStephen Shaw UNQUALIFIED
Leon A SlusarskiUnited KingdomOnyama Limba NEW
Smith F RoysterArgentinaXuxue Feng RENEWAL
Nicolas K PaprockiArgentinaIvan Magalhaes QUALIFIED
Mujtaba Z AmigonBrazilOnyama Limba NEGOTIATION
Munro R PerinFranceAnna Fali QUALIFIED
Frozen Columns
Name
Jones I Malet
Juan T Paprocki
Smith Y Figeroa
Silvio K Ruta
Jeanfrancois F Nicka
Sinclair E Stockham
Jeanfrancois L Ferencz
Juan N Chui
Izzy B Gillian
Leon Y Dilliard
Mujtaba A Bowley
Ivar O Vocelka
Emily R Gillian
Cody M Slusarski
Cody W Ruta
Stacey P Vocelka
Johnson K Sergi
Alejandro J Malet
Kadeem I Glick
Kadeem H Maclead
Stacey E Kusko
Morrow Y Rim
Salvatore U Nicka
David A Gillian
Julie J Caudy
Clifford B Wieser
Leon D Morasca
Julie V Poquette
Greenwood D Chui
Mujtaba J Vocelka
Jefferson U Shinko
Nicolas E Kusko
Misaki X Ostrosky
Adams H Ruta
Deepesh L Vocelka
Claire G Royster
Munro R Maclead
Silvio V Flosi
Cody E Shinko
Kadeem I Iturbide
Clifford P Bolognia
Francesco I Campain
Aika Y Malet
Leon L Royster
Nicolas J Foller
Chavez O Paprocki
Claire P Oldroyd
Rodrigues I Tollner
Deepesh M Doe
Greenwood G Kolmetz
IdCountryDate
1000Russia2025-05-31
1001India2025-05-31
1002Russia2025-05-25
1003Brazil2025-05-25
1004Canada2025-06-02
1005Australia2025-06-12
1006Spain2025-06-01
1007Russia2025-06-01
1008Argentina2025-05-22
1009Germany2025-06-04
1010United Kingdom2025-06-07
1011Germany2025-06-16
1012Japan2025-06-04
1013Canada2025-05-26
1014Australia2025-06-02
1015Germany2025-06-10
1016India2025-06-07
1017Italy2025-06-05
1018Japan2025-05-19
1019France2025-05-30
1020Japan2025-05-19
1021Australia2025-05-20
1022Russia2025-06-16
1023Italy2025-05-31
1024Argentina2025-05-30
1025Brazil2025-05-23
1026Argentina2025-06-10
1027France2025-06-10
1028Canada2025-05-23
1029Canada2025-05-25
1030Argentina2025-05-27
1031United Kingdom2025-05-23
1032Brazil2025-05-29
1033Italy2025-06-06
1034United Kingdom2025-06-01
1035France2025-06-05
1036Brazil2025-05-29
1037Spain2025-06-08
1038Argentina2025-05-31
1039Argentina2025-06-03
1040Australia2025-05-29
1041India2025-05-23
1042Australia2025-06-16
1043United Kingdom2025-06-05
1044France2025-06-05
1045Canada2025-05-29
1046Italy2025-05-29
1047Brazil2025-06-09
1048Brazil2025-05-28
1049India2025-06-15

On-Demand Data

NameIdCountryDate
Juan T Ruta1000United Kingdom2025-06-07
Chavez W Saylors1001Italy2025-06-08
Tony D Iturbide1002Canada2025-06-10
Ivar T Venere1003Canada2025-06-13
Claire Z Ruta1004Russia2025-06-10
Morrow E Ostrosky1005France2025-05-19
David R Darakjy1006Argentina2025-06-09
Stacey D Ruta1007Italy2025-06-01
Nicolas O Iturbide1008Spain2025-05-22
James Q Briddick1009Spain2025-06-07
Maisha Z Waycott1010Argentina2025-05-30
Arvin F Tollner1011Brazil2025-05-31
Ivar V Poquette1012Canada2025-06-04
Stacey W Rim1013Brazil2025-05-23
Tony B Kolmetz1014United Kingdom2025-05-30
Jennifer L Gaucho1015Japan2025-05-23
Octavia P Flosi1016France2025-06-15
Jennifer P Amigon1017Australia2025-05-28
Cody X Caudy1018Brazil2025-05-31
David K Oldroyd1019Brazil2025-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya R MaletCanadaAnna Fali QUALIFIED
Leon L InouyeFranceOnyama Limba NEGOTIATION
Greenwood Z RutaRussiaOnyama Limba NEW
Adams H BologniaFranceXuxue Feng QUALIFIED
Deepesh U GarufiRussiaAsiya Javayant NEW
Clifford F AmigonSpainElwin Sharvill NEGOTIATION
Morrow Y InouyeGermanyAnna Fali QUALIFIED
Johnson X CaldareraBrazilOnyama Limba NEGOTIATION
Mayumi B CampainFranceAsiya Javayant PROPOSAL
Izzy Z KolmetzJapanAnna Fali NEGOTIATION
Claire R StockhamItalyIvan Magalhaes NEGOTIATION
Darci N GlickSpainIoni Bowcher PROPOSAL
Morrow Z SergiArgentinaAsiya Javayant UNQUALIFIED
Nicolas I NestleSpainOnyama Limba PROPOSAL
Leon E KuskoBrazilOnyama Limba NEGOTIATION
Kaitlin W WieserItalyIvan Magalhaes PROPOSAL
Tony E MacleadCanadaAnna Fali UNQUALIFIED
Julie B ChuiRussiaAsiya Javayant PROPOSAL
Kaitlin J VocelkaAustraliaAmy Elsner NEW
Smith W DilliardArgentinaBernardo Dominic RENEWAL
Ricardo L CaudyGermanyOnyama Limba UNQUALIFIED
Maria K GillianJapanAnna Fali PROPOSAL
Morrow T SergiBrazilAsiya Javayant UNQUALIFIED
Darci A ChuiSpainAmy Elsner PROPOSAL
Ashley F AlbaresAustraliaElwin Sharvill NEW
Izzy N PaprockiArgentinaOnyama Limba UNQUALIFIED
Maisha F FlosiArgentinaBernardo Dominic NEW
Aditya T GarufiItalyAnna Fali NEW
Deepesh M NickaUnited KingdomXuxue Feng UNQUALIFIED
Alejandro S InouyeBrazilStephen Shaw RENEWAL
Darci D BowleyBrazilAmy Elsner NEGOTIATION
Arvin O AmigonJapanBernardo Dominic NEGOTIATION
Wickens P SergiItalyOnyama Limba PROPOSAL
Nicolas P WaycottJapanElwin Sharvill NEGOTIATION
Leon D BriddickUnited KingdomStephen Shaw NEW
David U FigeroaSpainIvan Magalhaes NEW
Sinclair L WieserSpainIoni Bowcher NEGOTIATION
Silvio J MaletRussiaIvan Magalhaes UNQUALIFIED
James C GarufiArgentinaOnyama Limba UNQUALIFIED
Clifford L ShinkoFranceIvan 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>