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
Juan T NestleJapanAsiya Javayant RENEWAL
Izzy E StensethUnited KingdomElwin Sharvill PROPOSAL
Munro G NickaAustraliaAsiya Javayant NEGOTIATION
Mujtaba O WaycottRussiaOnyama Limba UNQUALIFIED
Mayumi Q TollnerArgentinaAnna Fali NEW
Isabel O StensethIndiaBernardo Dominic RENEWAL
Maria J GillianItalyStephen Shaw NEW
Ivar H CaldareraIndiaAnna Fali UNQUALIFIED
Jennifer G DoeCanadaAmy Elsner PROPOSAL
Mujtaba U GarufiUnited KingdomAmy Elsner NEGOTIATION
Octavia E MaletArgentinaBernardo Dominic NEGOTIATION
Ivar K KolmetzCanadaBernardo Dominic UNQUALIFIED
Johnson A GlickAustraliaOnyama Limba RENEWAL
Misaki L OstroskyArgentinaBernardo Dominic QUALIFIED
Mayumi Q PerinJapanIvan Magalhaes UNQUALIFIED
Claire N MacleadIndiaAmy Elsner UNQUALIFIED
Murillo N DilliardCanadaAsiya Javayant UNQUALIFIED
Darci R CaudyFranceAmy Elsner RENEWAL
Kaitlin E NickaItalyStephen Shaw RENEWAL
Kadeem E BologniaSpainIvan Magalhaes QUALIFIED
Adams I CaudyAustraliaAmy Elsner NEW
Ivar C SergiJapanIoni Bowcher RENEWAL
Murillo H GarufiItalyXuxue Feng PROPOSAL
Octavia Z BologniaItalyOnyama Limba RENEWAL
Deepesh L CampainRussiaOnyama Limba NEGOTIATION
Leja E WaycottJapanIvan Magalhaes QUALIFIED
Johnson Q GillianSpainStephen Shaw UNQUALIFIED
Leja H ChuiGermanyAnna Fali RENEWAL
Faith M WaycottFranceXuxue Feng RENEWAL
Salvatore Y CaudySpainAmy Elsner PROPOSAL
Murillo O TollnerRussiaOnyama Limba PROPOSAL
Stacey U RimUnited KingdomAnna Fali QUALIFIED
Leon L MacleadIndiaBernardo Dominic RENEWAL
Darci N CaldareraItalyAsiya Javayant QUALIFIED
Izzy J DoeJapanOnyama Limba RENEWAL
Sinclair I NestleJapanAnna Fali PROPOSAL
Aditya Y MacleadJapanIoni Bowcher NEW
Rodrigues G InouyeBrazilStephen Shaw RENEWAL
Clifford S DarakjyRussiaXuxue Feng NEGOTIATION
Arvin I AlbaresBrazilIoni Bowcher UNQUALIFIED
Ivar A WaycottAustraliaOnyama Limba NEW
Aika G StensethJapanElwin Sharvill NEW
Jennifer B CampainItalyBernardo Dominic PROPOSAL
Clifford T ButtSpainAnna Fali NEW
Clifford Y AmigonBrazilIoni Bowcher PROPOSAL
Deepesh N ButtBrazilIoni Bowcher NEGOTIATION
Aruna O WaycottItalyBernardo Dominic NEW
Ricardo E MacleadIndiaAsiya Javayant NEW
Juan C BowleySpainAsiya Javayant UNQUALIFIED
Wickens B DoeJapanStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leon D FigeroaJapanElwin Sharvill RENEWAL
Jones P ButtItalyElwin Sharvill UNQUALIFIED
Juan A BologniaGermanyXuxue Feng NEW
Nicolas W DoeCanadaAnna Fali NEGOTIATION
Mujtaba A TollnerGermanyOnyama Limba UNQUALIFIED
Arvin D TollnerArgentinaIoni Bowcher UNQUALIFIED
Wickens W MorascaCanadaAsiya Javayant NEGOTIATION
Darci P SlusarskiIndiaAsiya Javayant RENEWAL
Nicolas H BriddickGermanyBernardo Dominic QUALIFIED
Izzy K RutaBrazilElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo T ButtItaly2024-06-02Chapman, Ross E Esq RENEWAL13Anna Fali
1001Jones F StensethBrazil2024-06-17Chanay, Jeffrey A Esq NEW21Onyama Limba
1002Claire L MaletUnited Kingdom2024-06-21Rousseaux, Michael Esq UNQUALIFIED13Xuxue Feng
1003Murillo G MaletCanada2024-06-21Dorl, James J Esq RENEWAL77Ioni Bowcher
1004Antonio Z BriddickAustralia2024-05-29King, Christopher A Esq QUALIFIED2Xuxue Feng
1005Rodrigues P InouyeGermany2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED15Asiya Javayant
1006Cody N ChuiFrance2024-06-05Buckley Miller Wright NEW58Bernardo Dominic
1007Arvin X SergiItaly2024-06-21Feiner Bros RENEWAL1Onyama Limba
1008Salvatore B FerenczRussia2024-05-29Rousseaux, Michael Esq NEGOTIATION74Elwin Sharvill
1009Ricardo E ShinkoBrazil2024-06-05Chapman, Ross E Esq UNQUALIFIED13Ivan Magalhaes
1010Greenwood D FerenczIndia2024-05-28Chanay, Jeffrey A Esq NEW91Asiya Javayant
1011Octavia L WieserGermany2024-06-06Dorl, James J Esq QUALIFIED46Stephen Shaw
1012Ricardo N FlosiUnited Kingdom2024-06-04Chemel, James L Cpa NEGOTIATION16Asiya Javayant
1013Nicolas D MarrierGermany2024-05-28Printing Dimensions NEW94Ivan Magalhaes
1014Ashley G WhobreyIndia2024-06-18Chemel, James L Cpa QUALIFIED34Onyama Limba
1015Salvatore A MaletFrance2024-05-30Chapman, Ross E Esq RENEWAL54Elwin Sharvill
1016Antonio I MaletAustralia2024-06-07Rangoni Of Florence NEGOTIATION80Ivan Magalhaes
1017Maisha N VocelkaGermany2024-06-13Chapman, Ross E Esq NEW43Onyama Limba
1018Maisha T KolmetzItaly2024-05-29Commercial Press PROPOSAL58Asiya Javayant
1019Wickens N NickaArgentina2024-05-23Chemel, James L Cpa PROPOSAL8Ivan Magalhaes
1020Antonio D RutaJapan2024-06-01Rangoni Of Florence UNQUALIFIED57Xuxue Feng
1021Maisha M SlusarskiAustralia2024-06-01Dorl, James J Esq NEGOTIATION52Anna Fali
1022Faith E WieserUnited Kingdom2024-06-19Feltz Printing Service QUALIFIED99Anna Fali
1023Juan M CampainRussia2024-06-14King, Christopher A Esq PROPOSAL72Anna Fali
1024Ivar D AlbaresItaly2024-06-08Feiner Bros NEW78Amy Elsner
1025David Z MaletFrance2024-06-02Chanay, Jeffrey A Esq PROPOSAL81Amy Elsner
1026Faith Q PaprockiIndia2024-06-19Chemel, James L Cpa RENEWAL31Amy Elsner
1027Salvatore E BriddickUnited Kingdom2024-06-09Rangoni Of Florence NEW22Asiya Javayant
1028Alejandro A SchemmerBrazil2024-05-26King, Christopher A Esq PROPOSAL13Ivan Magalhaes
1029Rodrigues Y FollerFrance2024-06-13Printing Dimensions NEW7Ioni Bowcher
1030Salvatore I ShinkoBrazil2024-06-07Rousseaux, Michael Esq NEW63Anna Fali
1031Aika M SaylorsFrance2024-06-16Rangoni Of Florence NEW12Ivan Magalhaes
1032Tony E FerenczItaly2024-06-04Rangoni Of Florence NEGOTIATION5Onyama Limba
1033Salvatore L DarakjyBrazil2024-06-10Truhlar And Truhlar Attys QUALIFIED33Asiya Javayant
1034Claire Q RulapaughUnited Kingdom2024-05-27Chapman, Ross E Esq UNQUALIFIED35Amy Elsner
1035Smith N BriddickItaly2024-06-13Morlong Associates NEGOTIATION83Anna Fali
1036James O KolmetzFrance2024-06-02Feiner Bros NEGOTIATION84Ioni Bowcher
1037Isabel X InouyeArgentina2024-06-20Chapman, Ross E Esq UNQUALIFIED50Stephen Shaw
1038Costa R PerinSpain2024-06-21King, Christopher A Esq QUALIFIED57Elwin Sharvill
1039David I SergiJapan2024-06-10Feltz Printing Service NEGOTIATION59Ioni Bowcher
1040Francesco F BologniaSpain2024-05-27Dorl, James J Esq QUALIFIED24Onyama Limba
1041Smith D BowleyAustralia2024-06-20Rangoni Of Florence PROPOSAL23Elwin Sharvill
1042Darci Z FigeroaCanada2024-06-16Morlong Associates QUALIFIED34Amy Elsner
1043Tony T ShinkoFrance2024-06-20King, Christopher A Esq RENEWAL28Onyama Limba
1044Nicolas W AlbaresBrazil2024-05-27Rousseaux, Michael Esq RENEWAL1Ioni Bowcher
1045Rodrigues D SaylorsItaly2024-06-15King, Christopher A Esq QUALIFIED61Asiya Javayant
1046David O SchemmerUnited Kingdom2024-06-18Feltz Printing Service PROPOSAL98Bernardo Dominic
1047Kaitlin T DilliardGermany2024-05-29Chanay, Jeffrey A Esq NEW22Elwin Sharvill
1048Claire H WhobreyBrazil2024-06-04Rangoni Of Florence RENEWAL85Asiya Javayant
1049Munro G SergiCanada2024-06-15Rangoni Of Florence UNQUALIFIED45Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aditya K MarrierUnited KingdomAmy Elsner PROPOSAL
Ashley H DilliardAustraliaElwin Sharvill RENEWAL
Wickens W WhobreyFranceStephen Shaw UNQUALIFIED
Munro P SergiFranceElwin Sharvill RENEWAL
Izzy Q StockhamJapanStephen Shaw RENEWAL
Leja B RutaRussiaIoni Bowcher NEGOTIATION
Johnson Z RutaJapanIvan Magalhaes NEGOTIATION
Chavez Y PoquetteIndiaStephen Shaw PROPOSAL
Jones P FerenczGermanyElwin Sharvill UNQUALIFIED
Jones K SchemmerItalyIoni Bowcher RENEWAL
Alejandro R GlickRussiaAnna Fali RENEWAL
Silvio V TollnerSpainOnyama Limba RENEWAL
Francesco O SchemmerArgentinaAsiya Javayant NEGOTIATION
Aditya Y CampainItalyXuxue Feng NEW
Chavez J PoquetteBrazilAnna Fali NEGOTIATION
Julie Q BologniaAustraliaIoni Bowcher PROPOSAL
Darci V MaletAustraliaOnyama Limba RENEWAL
Leja J VenereRussiaOnyama Limba QUALIFIED
Murillo S DilliardCanadaStephen Shaw RENEWAL
David Q GauchoGermanyAnna Fali NEW
Jones O WhobreyArgentinaElwin Sharvill PROPOSAL
Mujtaba V StockhamSpainIvan Magalhaes PROPOSAL
Jeanfrancois E WhobreyGermanyBernardo Dominic PROPOSAL
Mujtaba T GauchoRussiaAnna Fali UNQUALIFIED
Mujtaba R DarakjySpainXuxue Feng NEGOTIATION
Jones C PoquetteFranceOnyama Limba NEW
Clifford P BowleyItalyAsiya Javayant RENEWAL
Greenwood R SchemmerArgentinaBernardo Dominic PROPOSAL
Cody P InouyeGermanyElwin Sharvill RENEWAL
Kadeem J AlbaresGermanyAsiya Javayant RENEWAL
Izzy H BowleyItalyXuxue Feng NEGOTIATION
Leja X GlickCanadaStephen Shaw PROPOSAL
Claire B WieserBrazilXuxue Feng PROPOSAL
Jeanfrancois P ButtBrazilAmy Elsner UNQUALIFIED
Mayumi D CampainUnited KingdomIvan Magalhaes QUALIFIED
Nicolas O ButtFranceXuxue Feng NEW
Wickens D DilliardGermanyBernardo Dominic NEGOTIATION
Emily S CampainUnited KingdomIvan Magalhaes NEGOTIATION
Claire Y PoquetteGermanyXuxue Feng RENEWAL
Deepesh Q ChuiArgentinaIvan Magalhaes RENEWAL
Mujtaba J GauchoArgentinaStephen Shaw NEGOTIATION
Deepesh A MarrierJapanAnna Fali NEGOTIATION
Leon P PoquetteArgentinaBernardo Dominic NEGOTIATION
Alejandro R PaprockiIndiaXuxue Feng RENEWAL
Aruna B RimFranceXuxue Feng NEGOTIATION
Chavez B AmigonGermanyAnna Fali PROPOSAL
Silvio X SaylorsGermanyIoni Bowcher RENEWAL
Silvio P GauchoRussiaAmy Elsner RENEWAL
Octavia U MarrierItalyIoni Bowcher NEW
Silvio Q BologniaGermanyIoni Bowcher PROPOSAL
Frozen Columns
Name
Rodrigues I Bowley
Maisha Y Amigon
Maria S Figeroa
Darci L Paprocki
Aika V Bolognia
Octavia S Iturbide
Juan I Caudy
Jefferson J Iturbide
Ashley T Inouye
Deepesh E Caldarera
Ashley M Gillian
Rodrigues A Darakjy
Costa I Sergi
Costa M Albares
Deepesh N Dilliard
Stacey W Butt
Maria W Amigon
James K Kusko
James U Marrier
Leon X Stockham
Octavia T Rim
Emily O Garufi
Johnson O Saylors
Mujtaba F Ostrosky
Francesco G Nestle
Ricardo I Flosi
Octavia J Ferencz
Jefferson Z Kusko
Claire H Royster
Murillo I Kolmetz
Stacey T Bolognia
Ricardo C Butt
Julie H Shinko
Greenwood E Vocelka
Antonio V Maclead
Faith A Amigon
Sinclair R Slusarski
Aika I Maclead
Alejandro P Oldroyd
Maria D Bowley
Maria H Tollner
Stacey U Poquette
Julie C Amigon
Greenwood M Malet
Rodrigues F Dilliard
David Q Bolognia
Salvatore G Foller
Faith H Vocelka
Ashley V Malet
Leon Q Whobrey
IdCountryDate
1000Brazil2024-05-27
1001Canada2024-06-01
1002Brazil2024-06-06
1003United Kingdom2024-06-18
1004United Kingdom2024-05-25
1005Spain2024-05-26
1006Spain2024-06-21
1007Germany2024-06-06
1008Canada2024-05-27
1009Australia2024-06-01
1010Brazil2024-06-06
1011Canada2024-06-09
1012Australia2024-06-15
1013Australia2024-06-20
1014Canada2024-06-11
1015Italy2024-06-13
1016United Kingdom2024-06-20
1017Brazil2024-06-02
1018France2024-06-05
1019India2024-06-17
1020United Kingdom2024-05-26
1021Spain2024-06-02
1022Canada2024-06-19
1023France2024-05-28
1024India2024-05-26
1025Brazil2024-05-30
1026Germany2024-05-27
1027Russia2024-05-29
1028Brazil2024-06-05
1029Russia2024-05-25
1030Spain2024-06-10
1031India2024-05-29
1032United Kingdom2024-06-13
1033Italy2024-06-17
1034Spain2024-05-24
1035Japan2024-06-20
1036Spain2024-06-05
1037Japan2024-06-10
1038India2024-06-01
1039Russia2024-06-08
1040Brazil2024-06-20
1041Germany2024-06-06
1042India2024-06-01
1043Brazil2024-06-07
1044Germany2024-05-31
1045Australia2024-05-31
1046Russia2024-06-20
1047India2024-06-10
1048Japan2024-06-16
1049Germany2024-06-07

On-Demand Data

NameIdCountryDate
Leja B Amigon1000Italy2024-06-14
Adams S Schemmer1001Japan2024-06-04
Julie Y Campain1002Argentina2024-06-01
Alejandro S Garufi1003Japan2024-06-02
Clifford L Albares1004Brazil2024-06-19
James N Caldarera1005Canada2024-06-21
Misaki Y Chui1006Australia2024-06-20
Clifford P Marrier1007Brazil2024-06-10
Jennifer F Malet1008Spain2024-06-15
Jefferson P Paprocki1009India2024-06-19
Jones I Darakjy1010India2024-06-10
Aika X Doe1011France2024-06-09
Jefferson X Briddick1012Russia2024-05-30
Aditya N Flosi1013Russia2024-06-13
Ricardo W Nestle1014Australia2024-06-12
Aruna U Bowley1015Argentina2024-06-01
Kadeem T Oldroyd1016Brazil2024-06-15
Silvio K Garufi1017Spain2024-06-09
Nicolas O Stenseth1018France2024-06-20
Aika V Oldroyd1019Russia2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire B RoysterBrazilStephen Shaw QUALIFIED
Silvio C BologniaJapanIvan Magalhaes RENEWAL
Francesco L RutaArgentinaIoni Bowcher NEGOTIATION
Faith I StensethJapanIvan Magalhaes QUALIFIED
Isabel O BowleyBrazilIoni Bowcher QUALIFIED
Octavia P WieserJapanIvan Magalhaes NEW
David N MaletBrazilIvan Magalhaes PROPOSAL
Claire U PerinUnited KingdomAmy Elsner PROPOSAL
Izzy J BologniaCanadaIoni Bowcher NEW
Silvio X KolmetzBrazilXuxue Feng QUALIFIED
Darci L IturbideFranceIoni Bowcher PROPOSAL
Adams H BologniaSpainXuxue Feng NEGOTIATION
Deepesh R MarrierJapanAmy Elsner RENEWAL
Morrow E StensethJapanOnyama Limba NEW
Mujtaba C CampainAustraliaXuxue Feng QUALIFIED
Wickens M ChuiSpainXuxue Feng NEW
Jennifer O SlusarskiRussiaElwin Sharvill RENEWAL
Claire C WhobreyItalyBernardo Dominic UNQUALIFIED
Tony Y SergiFranceBernardo Dominic UNQUALIFIED
Francesco E InouyeArgentinaStephen Shaw RENEWAL
Johnson S KuskoSpainOnyama Limba UNQUALIFIED
Silvio W OstroskyUnited KingdomAnna Fali NEW
Julie V IturbideArgentinaIoni Bowcher NEW
Jefferson B TollnerRussiaAmy Elsner UNQUALIFIED
David Z KuskoIndiaXuxue Feng NEGOTIATION
Munro L SaylorsGermanyBernardo Dominic NEW
Tony J FollerIndiaStephen Shaw QUALIFIED
Salvatore O KuskoFranceAsiya Javayant NEW
Silvio I PerinCanadaIvan Magalhaes NEW
Jefferson A DarakjyBrazilXuxue Feng RENEWAL
Juan O GlickUnited KingdomIvan Magalhaes NEGOTIATION
Silvio H RoysterRussiaIvan Magalhaes QUALIFIED
Wickens K NestleRussiaIvan Magalhaes NEGOTIATION
Morrow L SergiGermanyAsiya Javayant NEGOTIATION
Deepesh G KolmetzBrazilAmy Elsner NEW
Aruna V WaycottFranceAnna Fali QUALIFIED
Claire M WieserBrazilStephen Shaw NEGOTIATION
Adams V VocelkaGermanyXuxue Feng PROPOSAL
Murillo B FollerAustraliaAsiya Javayant NEGOTIATION
Wickens Z GlickFranceXuxue Feng NEGOTIATION

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