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
Rodrigues B StockhamFranceBernardo Dominic UNQUALIFIED
James K ShinkoItalyIoni Bowcher UNQUALIFIED
Stacey X MaletGermanyIvan Magalhaes NEW
Arvin Z KolmetzGermanyOnyama Limba NEW
Ricardo Q CampainFranceBernardo Dominic UNQUALIFIED
Aika S OstroskyRussiaAnna Fali UNQUALIFIED
Julie A DilliardBrazilIvan Magalhaes QUALIFIED
Smith I BowleyJapanXuxue Feng QUALIFIED
Arvin O NickaFranceAmy Elsner UNQUALIFIED
Johnson V DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Wickens M GlickUnited KingdomOnyama Limba NEW
Chavez P MarrierFranceAmy Elsner UNQUALIFIED
Deepesh L MacleadJapanStephen Shaw NEGOTIATION
Leon V ButtIndiaIoni Bowcher QUALIFIED
Deepesh F KuskoGermanyElwin Sharvill NEW
Jennifer O KolmetzJapanIvan Magalhaes NEGOTIATION
Antonio W SchemmerRussiaXuxue Feng PROPOSAL
Misaki L ShinkoArgentinaIvan Magalhaes NEGOTIATION
Maisha K NestleFranceElwin Sharvill QUALIFIED
Jones U KolmetzArgentinaOnyama Limba NEGOTIATION
Izzy G VocelkaArgentinaAmy Elsner NEGOTIATION
Chavez U AmigonItalyBernardo Dominic NEGOTIATION
Aditya K ButtCanadaElwin Sharvill NEGOTIATION
Clifford V TollnerItalyAnna Fali PROPOSAL
Ivar H FigeroaJapanOnyama Limba QUALIFIED
Jennifer G PaprockiCanadaElwin Sharvill NEW
Morrow J SergiRussiaAnna Fali NEGOTIATION
Munro F GillianFranceAmy Elsner RENEWAL
Costa B DoeUnited KingdomIoni Bowcher QUALIFIED
Jennifer E SaylorsCanadaXuxue Feng QUALIFIED
Izzy J ChuiRussiaOnyama Limba NEW
Adams R WieserFranceAsiya Javayant QUALIFIED
Kaitlin Y VocelkaBrazilAsiya Javayant NEW
Deepesh A BowleySpainBernardo Dominic NEGOTIATION
Ivar D OldroydGermanyBernardo Dominic NEGOTIATION
Emily X RimItalyXuxue Feng QUALIFIED
Nicolas H SaylorsIndiaOnyama Limba NEGOTIATION
Mayumi E TollnerAustraliaAnna Fali QUALIFIED
Kadeem H VocelkaItalyXuxue Feng NEGOTIATION
Jefferson P CaldareraRussiaAsiya Javayant NEW
Darci T BowleySpainAsiya Javayant NEGOTIATION
Kadeem D MaletFranceXuxue Feng PROPOSAL
Ashley G GillianBrazilIoni Bowcher PROPOSAL
Ricardo S WhobreyFranceAmy Elsner QUALIFIED
Alejandro E CaudyCanadaXuxue Feng UNQUALIFIED
Costa A CampainFranceAsiya Javayant QUALIFIED
Jones H GauchoUnited KingdomElwin Sharvill QUALIFIED
Cody I RulapaughSpainStephen Shaw PROPOSAL
Jennifer R RimBrazilAsiya Javayant QUALIFIED
Izzy W RoysterUnited KingdomIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Antonio I BowleyGermanyOnyama Limba QUALIFIED
Jeanfrancois P MacleadGermanyOnyama Limba QUALIFIED
Silvio P FlosiAustraliaIvan Magalhaes UNQUALIFIED
Maisha O RulapaughSpainElwin Sharvill PROPOSAL
Misaki S GlickAustraliaIvan Magalhaes NEGOTIATION
Kadeem K FollerIndiaAsiya Javayant NEW
Morrow P KuskoSpainIvan Magalhaes NEW
David K MorascaIndiaIvan Magalhaes RENEWAL
Juan T IturbideSpainAmy Elsner QUALIFIED
David L MaletGermanyAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh W CampainArgentina2024-06-03King, Christopher A Esq NEW67Ivan Magalhaes
1001Morrow X BologniaCanada2024-05-25Printing Dimensions RENEWAL99Stephen Shaw
1002David Z OldroydGermany2024-06-08Dorl, James J Esq UNQUALIFIED62Elwin Sharvill
1003Maisha G InouyeGermany2024-06-02Dorl, James J Esq NEGOTIATION8Xuxue Feng
1004Rodrigues F FigeroaRussia2024-06-02Rangoni Of Florence PROPOSAL65Bernardo Dominic
1005Stacey M NickaGermany2024-06-18Morlong Associates RENEWAL36Bernardo Dominic
1006Ricardo X CaudyFrance2024-06-12Buckley Miller Wright QUALIFIED27Amy Elsner
1007Antonio M InouyeCanada2024-06-04Feiner Bros RENEWAL72Xuxue Feng
1008Ivar G PaprockiRussia2024-06-01Dorl, James J Esq NEGOTIATION92Anna Fali
1009Rodrigues X RimUnited Kingdom2024-05-25Rousseaux, Michael Esq NEW66Stephen Shaw
1010Smith D SlusarskiJapan2024-06-12Commercial Press QUALIFIED78Ivan Magalhaes
1011Greenwood T ButtSpain2024-06-13Commercial Press PROPOSAL32Ivan Magalhaes
1012Izzy F KuskoCanada2024-05-26Rangoni Of Florence QUALIFIED34Anna Fali
1013Nicolas C SergiJapan2024-05-25Feiner Bros QUALIFIED47Elwin Sharvill
1014Ricardo U CampainBrazil2024-06-11Dorl, James J Esq PROPOSAL86Elwin Sharvill
1015Silvio B BowleyCanada2024-05-26Commercial Press NEGOTIATION22Anna Fali
1016Cody D WhobreyJapan2024-06-19Feltz Printing Service RENEWAL40Amy Elsner
1017Maria B DilliardIndia2024-06-17Chanay, Jeffrey A Esq NEGOTIATION64Stephen Shaw
1018Arvin L DarakjyGermany2024-06-21Benton, John B Jr UNQUALIFIED29Elwin Sharvill
1019Adams F MaletIndia2024-06-03Feiner Bros NEGOTIATION2Stephen Shaw
1020Emily B FigeroaGermany2024-06-06King, Christopher A Esq QUALIFIED38Xuxue Feng
1021Kadeem R SlusarskiCanada2024-06-21Benton, John B Jr QUALIFIED96Onyama Limba
1022Darci S BowleyUnited Kingdom2024-05-31Chanay, Jeffrey A Esq NEW92Ivan Magalhaes
1023Jones R PaprockiRussia2024-05-27Printing Dimensions QUALIFIED57Onyama Limba
1024Mayumi W FollerAustralia2024-06-16Rousseaux, Michael Esq NEGOTIATION92Bernardo Dominic
1025Sinclair W FollerItaly2024-05-30Benton, John B Jr NEGOTIATION17Onyama Limba
1026Izzy N MorascaIndia2024-06-17Chemel, James L Cpa QUALIFIED78Stephen Shaw
1027Jeanfrancois H DarakjyFrance2024-06-04Truhlar And Truhlar Attys NEGOTIATION15Stephen Shaw
1028Ricardo R KuskoUnited Kingdom2024-06-04Benton, John B Jr QUALIFIED67Bernardo Dominic
1029Clifford T DoeSpain2024-06-11Dorl, James J Esq RENEWAL78Ivan Magalhaes
1030Ivar A KuskoSpain2024-05-27Morlong Associates PROPOSAL11Amy Elsner
1031Alejandro I GlickGermany2024-05-31Rangoni Of Florence QUALIFIED9Ivan Magalhaes
1032Leja O FerenczJapan2024-06-23Rousseaux, Michael Esq NEGOTIATION67Amy Elsner
1033Aika P SergiRussia2024-05-29Truhlar And Truhlar Attys NEW99Anna Fali
1034Izzy X StockhamJapan2024-06-19Morlong Associates PROPOSAL18Onyama Limba
1035Kadeem U SlusarskiItaly2024-06-12Commercial Press NEW48Ivan Magalhaes
1036Aika T StensethUnited Kingdom2024-06-20Benton, John B Jr NEW73Xuxue Feng
1037Leon N CaudyIndia2024-06-20Buckley Miller Wright UNQUALIFIED32Xuxue Feng
1038Silvio A RulapaughJapan2024-05-26King, Christopher A Esq RENEWAL89Bernardo Dominic
1039David B TollnerRussia2024-06-09Dorl, James J Esq NEW74Xuxue Feng
1040Emily O OstroskyItaly2024-06-16Commercial Press RENEWAL33Elwin Sharvill
1041David M CaldareraUnited Kingdom2024-05-25Chapman, Ross E Esq UNQUALIFIED13Bernardo Dominic
1042Johnson I WaycottArgentina2024-05-28Feiner Bros PROPOSAL1Anna Fali
1043Misaki C OldroydCanada2024-06-01Printing Dimensions NEW31Amy Elsner
1044Aika P ShinkoSpain2024-06-15Rousseaux, Michael Esq NEW90Stephen Shaw
1045Stacey L CaldareraCanada2024-06-10Feltz Printing Service PROPOSAL83Xuxue Feng
1046Jennifer L PoquetteFrance2024-06-07Printing Dimensions QUALIFIED49Anna Fali
1047Ivar I RutaBrazil2024-06-05Feltz Printing Service RENEWAL11Ivan Magalhaes
1048Arvin W RimItaly2024-06-14Commercial Press RENEWAL13Ioni Bowcher
1049Deepesh Q RoysterCanada2024-06-21Rangoni Of Florence QUALIFIED78Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Silvio K FigeroaGermanyXuxue Feng UNQUALIFIED
Jennifer I StensethAustraliaOnyama Limba NEW
Adams D WieserGermanyXuxue Feng RENEWAL
Clifford P SaylorsCanadaXuxue Feng UNQUALIFIED
Murillo P NestleSpainIvan Magalhaes RENEWAL
Francesco S NickaAustraliaAnna Fali NEGOTIATION
Antonio K OstroskyGermanyXuxue Feng RENEWAL
Maisha K FollerUnited KingdomAmy Elsner QUALIFIED
Aruna B AlbaresJapanStephen Shaw RENEWAL
Chavez Y MaletUnited KingdomIvan Magalhaes NEW
Faith B FollerIndiaAsiya Javayant QUALIFIED
Mayumi E BowleyJapanAsiya Javayant QUALIFIED
Mayumi Y PaprockiUnited KingdomBernardo Dominic NEW
Salvatore T StockhamFranceAnna Fali QUALIFIED
Leja A AlbaresCanadaStephen Shaw PROPOSAL
Maisha I CampainArgentinaAmy Elsner RENEWAL
Alejandro Q AmigonArgentinaAmy Elsner NEW
Silvio I SergiItalyXuxue Feng RENEWAL
Deepesh Z PoquetteIndiaAsiya Javayant NEGOTIATION
Izzy X RoysterJapanElwin Sharvill PROPOSAL
Francesco U NickaIndiaBernardo Dominic UNQUALIFIED
Octavia N OldroydSpainBernardo Dominic QUALIFIED
Francesco W FollerJapanStephen Shaw PROPOSAL
Antonio V DilliardSpainOnyama Limba UNQUALIFIED
Aruna M MorascaIndiaStephen Shaw UNQUALIFIED
Silvio F ShinkoItalyXuxue Feng QUALIFIED
Ricardo W CampainAustraliaIoni Bowcher NEW
Adams W SchemmerArgentinaOnyama Limba UNQUALIFIED
Faith E DoeCanadaStephen Shaw PROPOSAL
Rodrigues G KuskoCanadaAmy Elsner NEW
Antonio F GauchoFranceOnyama Limba PROPOSAL
Darci J PerinGermanyIvan Magalhaes QUALIFIED
Nicolas Z MaletArgentinaAsiya Javayant NEW
Kadeem M ButtIndiaElwin Sharvill QUALIFIED
Stacey Z RimCanadaXuxue Feng NEGOTIATION
Kaitlin F WhobreySpainXuxue Feng PROPOSAL
David K SaylorsSpainStephen Shaw UNQUALIFIED
Jefferson R AlbaresBrazilIoni Bowcher QUALIFIED
Salvatore R CaudyUnited KingdomStephen Shaw RENEWAL
David U InouyeIndiaXuxue Feng NEW
Sinclair W PaprockiItalyAsiya Javayant NEW
Nicolas M VenereBrazilAnna Fali RENEWAL
Misaki P OstroskyRussiaIoni Bowcher PROPOSAL
Costa G SlusarskiIndiaElwin Sharvill UNQUALIFIED
Leja F GarufiGermanyBernardo Dominic NEW
Wickens D SlusarskiUnited KingdomAnna Fali UNQUALIFIED
Aika B CaudyCanadaIvan Magalhaes QUALIFIED
Maria U SaylorsBrazilXuxue Feng RENEWAL
Jones I ChuiIndiaElwin Sharvill PROPOSAL
Jennifer F SergiCanadaOnyama Limba QUALIFIED
Frozen Columns
Name
Aika Y Perin
Octavia V Vocelka
Cody O Doe
Leon S Paprocki
Costa R Waycott
Jones T Amigon
Tony F Gillian
Ricardo K Dilliard
Stacey D Caldarera
Ashley R Campain
Juan I Caudy
Maria M Nicka
Ricardo H Foller
Jennifer X Schemmer
Aruna L Waycott
Aika H Shinko
Aruna C Nestle
Leja C Marrier
Aditya I Caudy
David S Morasca
Mayumi U Rulapaugh
Ivar Q Kusko
Maisha E Tollner
Wickens N Marrier
Mayumi H Caldarera
Francesco G Caudy
Kaitlin D Malet
Isabel Y Rulapaugh
Claire O Royster
Clifford J Sergi
Alejandro B Waycott
Ivar L Gillian
Aruna F Figeroa
Kaitlin R Glick
Izzy S Sergi
Darci J Garufi
Leon J Butt
Clifford Y Ruta
Murillo U Stenseth
Maria T Briddick
Morrow P Sergi
Munro X Malet
Juan T Nicka
Costa X Gillian
Nicolas U Campain
Jones J Wieser
Octavia Y Stockham
Wickens W Wieser
Isabel N Sergi
Stacey A Flosi
IdCountryDate
1000Brazil2024-06-21
1001United Kingdom2024-06-10
1002Australia2024-06-16
1003Japan2024-06-11
1004Japan2024-06-06
1005India2024-06-18
1006Russia2024-06-19
1007Spain2024-06-15
1008Germany2024-06-15
1009Japan2024-05-31
1010India2024-06-18
1011Spain2024-06-04
1012Argentina2024-06-01
1013Brazil2024-06-22
1014Italy2024-06-16
1015France2024-06-21
1016Germany2024-06-13
1017Argentina2024-06-12
1018Japan2024-05-29
1019India2024-06-04
1020Argentina2024-06-03
1021India2024-05-31
1022Russia2024-05-31
1023Argentina2024-06-11
1024Argentina2024-06-07
1025Argentina2024-05-28
1026Russia2024-05-26
1027Brazil2024-06-17
1028Russia2024-06-01
1029Russia2024-05-31
1030Spain2024-06-02
1031Australia2024-06-15
1032Brazil2024-06-22
1033United Kingdom2024-06-18
1034Australia2024-06-16
1035Italy2024-05-25
1036Germany2024-06-22
1037Russia2024-06-19
1038Brazil2024-06-12
1039Canada2024-06-23
1040Canada2024-05-30
1041Germany2024-06-03
1042Germany2024-06-08
1043Australia2024-06-07
1044United Kingdom2024-06-23
1045Russia2024-05-28
1046Spain2024-06-08
1047Canada2024-06-23
1048Russia2024-06-08
1049Germany2024-06-10

On-Demand Data

NameIdCountryDate
Maisha X Doe1000India2024-06-08
Jefferson X Chui1001Brazil2024-06-22
Rodrigues K Perin1002Australia2024-06-14
Mujtaba E Schemmer1003Brazil2024-06-13
Ricardo S Royster1004France2024-06-16
Greenwood C Nicka1005France2024-06-14
Faith H Tollner1006Brazil2024-05-25
Isabel M Rim1007Argentina2024-06-10
Antonio I Saylors1008Germany2024-05-25
Emily R Stockham1009Brazil2024-06-12
Maisha R Campain1010France2024-06-04
Julie K Iturbide1011India2024-06-21
Jones J Kusko1012Japan2024-06-13
Ivar R Darakjy1013France2024-06-23
Adams P Venere1014Canada2024-06-10
Cody Q Oldroyd1015India2024-05-27
Jeanfrancois S Ostrosky1016Spain2024-05-30
Mujtaba R Kolmetz1017Germany2024-06-03
Leon D Saylors1018Brazil2024-06-18
Juan X Flosi1019United Kingdom2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan S FerenczBrazilAsiya Javayant UNQUALIFIED
David O KuskoIndiaIvan Magalhaes NEW
Antonio S WhobreyBrazilBernardo Dominic QUALIFIED
Cody E ButtIndiaAsiya Javayant UNQUALIFIED
David E StockhamArgentinaStephen Shaw NEW
Jefferson X StockhamUnited KingdomBernardo Dominic RENEWAL
Aruna N NestleFranceAsiya Javayant UNQUALIFIED
Jennifer L CampainIndiaElwin Sharvill NEGOTIATION
Clifford L CampainAustraliaAnna Fali NEW
Deepesh K DilliardJapanStephen Shaw NEGOTIATION
Aika E SergiIndiaXuxue Feng PROPOSAL
Cody W FollerArgentinaStephen Shaw NEGOTIATION
Jefferson R ChuiRussiaBernardo Dominic UNQUALIFIED
Wickens H FlosiAustraliaAsiya Javayant PROPOSAL
Leja U CaudyIndiaOnyama Limba PROPOSAL
Costa Y MorascaItalyAmy Elsner QUALIFIED
Izzy F StensethJapanOnyama Limba NEGOTIATION
Cody P KolmetzRussiaOnyama Limba NEGOTIATION
Greenwood E PaprockiSpainIvan Magalhaes NEW
Nicolas M NickaBrazilIvan Magalhaes QUALIFIED
Salvatore A PerinArgentinaStephen Shaw QUALIFIED
Clifford W PerinFranceIvan Magalhaes UNQUALIFIED
Kaitlin Z FigeroaJapanIvan Magalhaes PROPOSAL
Emily H CampainUnited KingdomBernardo Dominic NEGOTIATION
Clifford Z AmigonIndiaElwin Sharvill RENEWAL
Morrow Q GarufiUnited KingdomAmy Elsner NEGOTIATION
Stacey Y KolmetzCanadaXuxue Feng NEW
Izzy D AmigonSpainIvan Magalhaes UNQUALIFIED
Johnson N PaprockiCanadaAmy Elsner PROPOSAL
Ricardo H FigeroaBrazilXuxue Feng QUALIFIED
Alejandro M GarufiSpainIoni Bowcher NEW
Jennifer N CaudyRussiaAsiya Javayant NEGOTIATION
Silvio V BologniaAustraliaXuxue Feng QUALIFIED
Silvio A SchemmerItalyIvan Magalhaes NEW
Cody H MaletIndiaAmy Elsner QUALIFIED
Mujtaba T PerinGermanyIoni Bowcher NEW
Aika N ChuiBrazilAsiya Javayant QUALIFIED
Darci F KuskoIndiaAsiya Javayant NEW
Jennifer G FigeroaItalyOnyama Limba UNQUALIFIED
Morrow R SaylorsArgentinaXuxue Feng QUALIFIED

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