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
Clifford N StockhamUnited KingdomStephen Shaw RENEWAL
Aditya Z NickaJapanIoni Bowcher RENEWAL
Wickens M BologniaCanadaElwin Sharvill NEGOTIATION
Kaitlin Q MaletBrazilAnna Fali QUALIFIED
Juan G MaletIndiaAnna Fali NEGOTIATION
Ivar W NestleCanadaStephen Shaw UNQUALIFIED
Maisha D CampainBrazilXuxue Feng RENEWAL
Antonio H WieserRussiaXuxue Feng RENEWAL
Nicolas N ChuiCanadaOnyama Limba NEW
Emily T ButtAustraliaIoni Bowcher RENEWAL
Johnson Z VenereIndiaXuxue Feng RENEWAL
Clifford Z StensethAustraliaXuxue Feng PROPOSAL
Kaitlin E MorascaJapanIoni Bowcher NEW
Morrow M MarrierGermanyAsiya Javayant RENEWAL
Stacey H RimFranceOnyama Limba UNQUALIFIED
Leja A SaylorsBrazilAnna Fali RENEWAL
Silvio K DoeJapanIoni Bowcher RENEWAL
Jones F SlusarskiFranceAnna Fali RENEWAL
Jennifer G FollerJapanAsiya Javayant QUALIFIED
Emily Z RulapaughSpainBernardo Dominic NEGOTIATION
Emily E GarufiSpainStephen Shaw QUALIFIED
Murillo Y OldroydSpainAmy Elsner NEGOTIATION
Mayumi A SchemmerJapanOnyama Limba PROPOSAL
Johnson T DilliardFranceAnna Fali NEGOTIATION
Arvin U GauchoIndiaIvan Magalhaes QUALIFIED
Murillo K MaletAustraliaStephen Shaw NEGOTIATION
Johnson Q MaletArgentinaIvan Magalhaes NEGOTIATION
Jones F DarakjyFranceIvan Magalhaes UNQUALIFIED
Ashley S MaletIndiaXuxue Feng NEGOTIATION
Ashley B NestleSpainAmy Elsner PROPOSAL
Isabel R InouyeGermanyStephen Shaw UNQUALIFIED
Julie E TollnerRussiaAnna Fali PROPOSAL
Ivar U RimIndiaBernardo Dominic NEW
Octavia A PerinJapanIoni Bowcher PROPOSAL
Leja F GarufiAustraliaBernardo Dominic QUALIFIED
Chavez M MarrierRussiaStephen Shaw PROPOSAL
Sinclair S MorascaJapanStephen Shaw NEW
Faith R ChuiFranceAsiya Javayant QUALIFIED
Salvatore F KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Francesco L FerenczBrazilStephen Shaw RENEWAL
Isabel O ChuiFranceAnna Fali PROPOSAL
Wickens A ShinkoArgentinaBernardo Dominic NEGOTIATION
Aditya A WhobreyFranceOnyama Limba QUALIFIED
Chavez F RutaIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois B MaletItalyAnna Fali NEGOTIATION
Antonio X RimFranceStephen Shaw RENEWAL
Cody L ShinkoFranceAsiya Javayant NEGOTIATION
Izzy G BologniaUnited KingdomBernardo Dominic NEW
Adams J MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Alejandro S MaletRussiaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams Q PerinJapanBernardo Dominic UNQUALIFIED
Deepesh M SaylorsArgentinaOnyama Limba NEW
Sinclair R OstroskyArgentinaOnyama Limba RENEWAL
Francesco J GauchoIndiaStephen Shaw PROPOSAL
Claire E VenereAustraliaElwin Sharvill RENEWAL
Chavez Y FlosiJapanAmy Elsner UNQUALIFIED
Jeanfrancois A WaycottIndiaOnyama Limba UNQUALIFIED
Mayumi J StensethUnited KingdomIvan Magalhaes QUALIFIED
James O DoeIndiaIvan Magalhaes NEGOTIATION
Juan H GlickCanadaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon U PerinUnited Kingdom2026-07-29Commercial Press PROPOSAL49Ivan Magalhaes
1001Octavia V CaldareraGermany2026-07-05Truhlar And Truhlar Attys QUALIFIED12Ivan Magalhaes
1002Alejandro M RoysterRussia2026-07-24Feiner Bros NEW40Stephen Shaw
1003Isabel X PaprockiBrazil2026-07-14Morlong Associates NEW79Ioni Bowcher
1004Antonio E IturbideItaly2026-07-12Feiner Bros QUALIFIED8Amy Elsner
1005Octavia H NestleGermany2026-07-31Commercial Press NEGOTIATION92Asiya Javayant
1006Chavez K FollerGermany2026-07-28Chanay, Jeffrey A Esq RENEWAL62Bernardo Dominic
1007Leja S MaletFrance2026-07-09Dorl, James J Esq QUALIFIED99Bernardo Dominic
1008Ivar K RutaArgentina2026-07-10Buckley Miller Wright UNQUALIFIED6Xuxue Feng
1009Alejandro U VenereBrazil2026-07-21Dorl, James J Esq PROPOSAL41Elwin Sharvill
1010Jones Y GlickBrazil2026-07-27Chapman, Ross E Esq QUALIFIED84Asiya Javayant
1011Antonio V MacleadIndia2026-07-21Feiner Bros PROPOSAL24Stephen Shaw
1012Ashley D KuskoRussia2026-07-30Buckley Miller Wright QUALIFIED46Amy Elsner
1013Octavia D SlusarskiRussia2026-07-12Chapman, Ross E Esq UNQUALIFIED59Onyama Limba
1014Tony T KolmetzFrance2026-07-02Chapman, Ross E Esq QUALIFIED42Anna Fali
1015Ivar E ChuiAustralia2026-07-16Rangoni Of Florence PROPOSAL18Bernardo Dominic
1016Octavia I FollerJapan2026-07-02Dorl, James J Esq UNQUALIFIED54Ivan Magalhaes
1017Morrow V PaprockiItaly2026-07-14Rangoni Of Florence NEGOTIATION95Stephen Shaw
1018Emily Y GillianCanada2026-07-10Printing Dimensions PROPOSAL33Stephen Shaw
1019Munro M NickaArgentina2026-07-31Commercial Press PROPOSAL98Anna Fali
1020Mayumi I ButtFrance2026-07-27Buckley Miller Wright QUALIFIED6Onyama Limba
1021Darci X MarrierCanada2026-07-06King, Christopher A Esq NEW80Stephen Shaw
1022Rodrigues H CampainSpain2026-07-03Printing Dimensions NEW99Amy Elsner
1023Jennifer B GlickArgentina2026-07-31Chapman, Ross E Esq RENEWAL67Bernardo Dominic
1024Silvio Z FigeroaArgentina2026-07-10King, Christopher A Esq UNQUALIFIED0Onyama Limba
1025Greenwood B SchemmerItaly2026-07-27Feltz Printing Service RENEWAL86Ivan Magalhaes
1026Maisha Q FollerCanada2026-07-20Chapman, Ross E Esq NEGOTIATION78Onyama Limba
1027Mayumi I BriddickJapan2026-07-10Dorl, James J Esq UNQUALIFIED3Xuxue Feng
1028Ricardo T SaylorsGermany2026-07-25Commercial Press PROPOSAL63Amy Elsner
1029Francesco D DoeAustralia2026-07-26Chemel, James L Cpa QUALIFIED53Ioni Bowcher
1030Leja U GillianGermany2026-07-11Truhlar And Truhlar Attys NEGOTIATION15Onyama Limba
1031Aruna E KolmetzSpain2026-07-04Benton, John B Jr NEW71Xuxue Feng
1032Wickens X VenereGermany2026-07-17King, Christopher A Esq NEW64Anna Fali
1033Jeanfrancois W ShinkoItaly2026-07-15Rangoni Of Florence NEW93Onyama Limba
1034Deepesh J RoysterArgentina2026-07-28Chanay, Jeffrey A Esq NEW18Stephen Shaw
1035Ashley E BowleyItaly2026-07-27Benton, John B Jr QUALIFIED57Ioni Bowcher
1036Maria L PoquetteBrazil2026-07-21Chemel, James L Cpa PROPOSAL7Stephen Shaw
1037Rodrigues V RimBrazil2026-07-14Printing Dimensions QUALIFIED94Ioni Bowcher
1038Johnson N OldroydGermany2026-07-19Rousseaux, Michael Esq UNQUALIFIED96Stephen Shaw
1039Jones G BriddickCanada2026-07-11Rousseaux, Michael Esq NEGOTIATION24Anna Fali
1040Arvin B KolmetzItaly2026-07-16Rousseaux, Michael Esq PROPOSAL0Onyama Limba
1041Aruna X RutaAustralia2026-07-20Feiner Bros RENEWAL91Asiya Javayant
1042Jennifer F CaldareraCanada2026-07-05Feltz Printing Service RENEWAL20Xuxue Feng
1043Jefferson P WaycottBrazil2026-07-22Morlong Associates PROPOSAL96Ivan Magalhaes
1044Tony H SlusarskiAustralia2026-07-21Morlong Associates QUALIFIED0Asiya Javayant
1045Cody Y ChuiJapan2026-07-31Rousseaux, Michael Esq NEGOTIATION63Ioni Bowcher
1046Tony T ShinkoJapan2026-07-19Morlong Associates QUALIFIED74Stephen Shaw
1047Kaitlin N DarakjySpain2026-07-12Commercial Press UNQUALIFIED95Asiya Javayant
1048Mujtaba E MorascaFrance2026-07-23Chapman, Ross E Esq UNQUALIFIED74Bernardo Dominic
1049Clifford I OstroskyIndia2026-07-13Dorl, James J Esq UNQUALIFIED93Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Murillo E GillianJapanIvan Magalhaes PROPOSAL
Julie R SlusarskiAustraliaXuxue Feng RENEWAL
Faith B AmigonItalyXuxue Feng PROPOSAL
James I BowleyUnited KingdomAmy Elsner UNQUALIFIED
Silvio O OstroskyBrazilBernardo Dominic QUALIFIED
Greenwood X DarakjyJapanIoni Bowcher PROPOSAL
Ricardo G GauchoSpainXuxue Feng RENEWAL
Francesco N ButtItalyAnna Fali NEGOTIATION
Claire Q VenereSpainBernardo Dominic NEGOTIATION
Julie P CaldareraJapanAsiya Javayant NEGOTIATION
Emily N DoeBrazilAsiya Javayant QUALIFIED
David K MacleadFranceBernardo Dominic RENEWAL
Munro M FollerCanadaIvan Magalhaes UNQUALIFIED
David M ButtFranceStephen Shaw NEW
Stacey A GauchoIndiaElwin Sharvill NEGOTIATION
Murillo W MorascaItalyStephen Shaw PROPOSAL
Costa N AmigonItalyBernardo Dominic PROPOSAL
Clifford Y MorascaBrazilElwin Sharvill NEGOTIATION
Antonio N KolmetzGermanyElwin Sharvill NEW
Cody H FerenczItalyOnyama Limba QUALIFIED
Costa B SlusarskiJapanBernardo Dominic UNQUALIFIED
Silvio U OldroydGermanyXuxue Feng NEW
Munro S FerenczUnited KingdomAmy Elsner NEGOTIATION
Aika Z DarakjyItalyAsiya Javayant RENEWAL
Francesco O MaletAustraliaIvan Magalhaes UNQUALIFIED
Chavez B RutaArgentinaAsiya Javayant QUALIFIED
Darci M RimItalyStephen Shaw RENEWAL
Aditya L IturbideSpainIvan Magalhaes UNQUALIFIED
Ricardo Y KuskoItalyOnyama Limba PROPOSAL
Faith L DilliardSpainXuxue Feng PROPOSAL
Aditya I GlickUnited KingdomOnyama Limba NEGOTIATION
Octavia H MarrierJapanIvan Magalhaes UNQUALIFIED
Murillo I SlusarskiIndiaAnna Fali QUALIFIED
Darci R RimCanadaXuxue Feng RENEWAL
Greenwood B BriddickBrazilOnyama Limba RENEWAL
Tony O SlusarskiJapanIoni Bowcher QUALIFIED
Chavez K MaletUnited KingdomElwin Sharvill NEGOTIATION
Nicolas Y WaycottSpainXuxue Feng NEW
Arvin L FlosiItalyXuxue Feng UNQUALIFIED
Munro I SchemmerJapanIvan Magalhaes QUALIFIED
Faith I SergiArgentinaIoni Bowcher NEW
Rodrigues M GillianGermanyOnyama Limba NEGOTIATION
Ricardo B SchemmerArgentinaElwin Sharvill PROPOSAL
Nicolas L OldroydGermanyIvan Magalhaes UNQUALIFIED
Leon O MacleadCanadaStephen Shaw NEW
Maisha E GarufiAustraliaXuxue Feng PROPOSAL
Antonio X FollerRussiaAnna Fali NEGOTIATION
Isabel Q RutaArgentinaIvan Magalhaes QUALIFIED
Aruna H SaylorsAustraliaBernardo Dominic PROPOSAL
Adams G DoeIndiaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Wickens Z Marrier
Arvin X Ferencz
Aruna K Flosi
Ashley V Amigon
Wickens V Paprocki
Cody K Marrier
Kadeem I Malet
Wickens N Maclead
Maria A Rulapaugh
Cody T Rulapaugh
Smith S Stenseth
Sinclair N Doe
Smith C Shinko
Deepesh C Maclead
Mayumi Q Schemmer
Arvin V Chui
James I Saylors
Aruna J Royster
Mayumi N Venere
Emily W Ostrosky
Nicolas L Figeroa
Kadeem Q Ferencz
Ashley O Whobrey
Emily K Malet
Francesco I Stenseth
Stacey P Foller
Salvatore F Malet
Aditya H Stenseth
Ivar Y Marrier
Murillo P Albares
Misaki M Venere
Claire Z Foller
Arvin K Rim
Leon K Doe
Silvio O Malet
Sinclair E Nestle
Leon D Gillian
Rodrigues Z Campain
Kaitlin K Stenseth
Juan K Chui
Rodrigues S Malet
Jennifer C Saylors
David N Maclead
Kadeem O Bowley
Smith P Morasca
Leon S Nicka
Darci U Nicka
Johnson S Bolognia
Misaki V Wieser
Jeanfrancois J Kusko
IdCountryDate
1000India2026-07-29
1001Italy2026-07-18
1002United Kingdom2026-07-24
1003Australia2026-07-29
1004Canada2026-07-14
1005Spain2026-07-12
1006United Kingdom2026-07-12
1007Brazil2026-07-28
1008Argentina2026-07-08
1009Russia2026-07-31
1010Japan2026-07-10
1011Argentina2026-07-05
1012Australia2026-07-16
1013Russia2026-07-16
1014Russia2026-07-25
1015Russia2026-07-04
1016Germany2026-07-25
1017Brazil2026-07-08
1018France2026-07-03
1019Canada2026-07-06
1020Italy2026-07-19
1021Germany2026-07-24
1022India2026-07-25
1023United Kingdom2026-07-18
1024Germany2026-07-09
1025Italy2026-07-02
1026Germany2026-07-17
1027United Kingdom2026-07-04
1028Japan2026-07-27
1029India2026-07-12
1030Canada2026-07-13
1031Germany2026-07-20
1032Japan2026-07-16
1033Japan2026-07-14
1034Germany2026-07-20
1035Japan2026-07-24
1036United Kingdom2026-07-03
1037India2026-07-11
1038Argentina2026-07-06
1039Japan2026-07-11
1040Italy2026-07-12
1041India2026-07-05
1042Argentina2026-07-14
1043United Kingdom2026-07-24
1044Canada2026-07-27
1045India2026-07-08
1046Russia2026-07-02
1047United Kingdom2026-07-10
1048United Kingdom2026-07-19
1049Australia2026-07-20

On-Demand Data

NameIdCountryDate
Chavez Q Venere1000Canada2026-07-12
Aruna O Paprocki1001India2026-07-08
Tony C Royster1002Germany2026-07-06
Wickens X Venere1003Japan2026-07-07
Octavia U Oldroyd1004Japan2026-07-19
Jeanfrancois M Maclead1005Japan2026-07-22
Leon B Waycott1006France2026-07-11
David S Oldroyd1007Argentina2026-07-19
Jefferson X Bowley1008Germany2026-07-22
Ricardo I Campain1009Brazil2026-07-20
Cody K Tollner1010Brazil2026-07-08
Murillo C Venere1011Germany2026-07-26
Ricardo K Nestle1012Japan2026-07-24
Aruna Y Bolognia1013Spain2026-07-29
Alejandro P Albares1014Russia2026-07-09
Izzy Y Malet1015Canada2026-07-28
Tony H Caudy1016Russia2026-07-22
Kaitlin Y Kolmetz1017Italy2026-07-30
Aditya O Saylors1018Australia2026-07-15
Greenwood T Perin1019Canada2026-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo C IturbideUnited KingdomIvan Magalhaes RENEWAL
Aruna C CampainCanadaAmy Elsner PROPOSAL
Jefferson F GillianBrazilXuxue Feng NEW
Clifford A DoeUnited KingdomXuxue Feng RENEWAL
Julie L CampainCanadaXuxue Feng UNQUALIFIED
Deepesh H MaletItalyOnyama Limba RENEWAL
Wickens X NestleFranceStephen Shaw RENEWAL
Octavia D CampainArgentinaAmy Elsner QUALIFIED
Adams Q DarakjyJapanAsiya Javayant PROPOSAL
Isabel V GlickGermanyIoni Bowcher NEGOTIATION
Jennifer H MacleadJapanAsiya Javayant RENEWAL
Sinclair O BologniaCanadaBernardo Dominic UNQUALIFIED
Faith L KolmetzAustraliaAsiya Javayant NEGOTIATION
Rodrigues L SlusarskiRussiaAsiya Javayant RENEWAL
Stacey T MaletSpainAsiya Javayant QUALIFIED
Smith E GillianBrazilAsiya Javayant PROPOSAL
Munro Y FlosiJapanElwin Sharvill UNQUALIFIED
Arvin P WhobreySpainElwin Sharvill RENEWAL
James K WieserIndiaAmy Elsner PROPOSAL
Francesco Z MorascaGermanyBernardo Dominic PROPOSAL
Nicolas Y MacleadJapanIvan Magalhaes PROPOSAL
Ricardo Y BriddickUnited KingdomXuxue Feng NEW
Julie H SergiArgentinaAmy Elsner QUALIFIED
Jennifer O FigeroaAustraliaBernardo Dominic NEW
James P MaletAustraliaAsiya Javayant RENEWAL
Darci Y RutaArgentinaBernardo Dominic UNQUALIFIED
Nicolas G RimRussiaXuxue Feng NEW
Silvio G VenereItalyStephen Shaw UNQUALIFIED
Aruna H GauchoArgentinaOnyama Limba QUALIFIED
Chavez E RutaUnited KingdomAmy Elsner RENEWAL
Aditya D StensethItalyAnna Fali UNQUALIFIED
Julie G SlusarskiBrazilXuxue Feng UNQUALIFIED
Johnson F CaldareraCanadaAmy Elsner UNQUALIFIED
Claire I ChuiRussiaIvan Magalhaes RENEWAL
David C MaletGermanyAmy Elsner NEGOTIATION
Julie L WieserJapanIvan Magalhaes PROPOSAL
Darci L VocelkaItalyBernardo Dominic UNQUALIFIED
Murillo B CampainGermanyElwin Sharvill QUALIFIED
Arvin W MarrierItalyAsiya Javayant NEW
Arvin D NestleGermanyStephen Shaw NEW

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