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
Munro I ShinkoArgentinaAmy Elsner NEGOTIATION
Jones A PaprockiGermanyAsiya Javayant UNQUALIFIED
Mujtaba A PoquetteAustraliaAsiya Javayant PROPOSAL
Sinclair D GlickFranceBernardo Dominic NEGOTIATION
Munro L MarrierAustraliaElwin Sharvill QUALIFIED
Chavez W WhobreyAustraliaStephen Shaw UNQUALIFIED
Chavez W BologniaCanadaAsiya Javayant QUALIFIED
Murillo T VenereItalyAsiya Javayant QUALIFIED
Mujtaba T MorascaRussiaElwin Sharvill NEW
Isabel L StockhamFranceElwin Sharvill UNQUALIFIED
Octavia I SergiItalyXuxue Feng UNQUALIFIED
Misaki W FigeroaItalyElwin Sharvill NEGOTIATION
Ashley N MarrierGermanyOnyama Limba NEW
Rodrigues W PerinSpainIvan Magalhaes RENEWAL
Mayumi H SlusarskiFranceOnyama Limba NEGOTIATION
Izzy Y PoquetteCanadaOnyama Limba NEGOTIATION
Rodrigues L FerenczSpainBernardo Dominic QUALIFIED
Jeanfrancois G CampainFranceOnyama Limba NEGOTIATION
Silvio H OldroydItalyAmy Elsner PROPOSAL
Julie J BowleyJapanXuxue Feng UNQUALIFIED
Murillo R RulapaughIndiaAnna Fali RENEWAL
Jefferson V GillianSpainBernardo Dominic RENEWAL
Ricardo A CaudyItalyOnyama Limba QUALIFIED
Chavez T RulapaughAustraliaBernardo Dominic PROPOSAL
Aruna X MaletFranceBernardo Dominic QUALIFIED
Julie N DoeJapanAmy Elsner NEGOTIATION
Julie U PoquetteJapanAsiya Javayant PROPOSAL
Wickens Z RutaJapanXuxue Feng RENEWAL
Costa Q OldroydCanadaStephen Shaw RENEWAL
Ashley U SaylorsFranceIvan Magalhaes NEW
Jefferson K OstroskySpainStephen Shaw NEGOTIATION
Maisha Q GlickItalyAsiya Javayant UNQUALIFIED
Deepesh V TollnerItalyXuxue Feng QUALIFIED
Johnson R WaycottAustraliaAsiya Javayant QUALIFIED
Adams E StensethItalyAnna Fali PROPOSAL
Ricardo I AlbaresGermanyIvan Magalhaes UNQUALIFIED
Wickens I GarufiFranceElwin Sharvill RENEWAL
Murillo G VenereSpainAnna Fali QUALIFIED
Antonio F CaudyRussiaAsiya Javayant NEW
Julie V CaldareraRussiaIvan Magalhaes PROPOSAL
Morrow X BologniaFranceStephen Shaw RENEWAL
Darci E FlosiFranceElwin Sharvill NEW
Leja H ButtCanadaAsiya Javayant QUALIFIED
David O MorascaFranceBernardo Dominic PROPOSAL
Julie R StensethFranceAnna Fali NEW
Aruna T WhobreySpainAmy Elsner PROPOSAL
Ashley G OstroskyItalyXuxue Feng QUALIFIED
Jefferson L MaletGermanyStephen Shaw NEGOTIATION
Faith E BriddickGermanyIoni Bowcher RENEWAL
Jefferson D FigeroaAustraliaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya Q GlickBrazilIoni Bowcher PROPOSAL
Leja P ChuiCanadaXuxue Feng RENEWAL
Kadeem B InouyeAustraliaOnyama Limba NEW
Aruna C SergiGermanyIvan Magalhaes QUALIFIED
Claire W FigeroaBrazilXuxue Feng NEW
Juan Q StockhamJapanStephen Shaw PROPOSAL
Stacey H FlosiSpainBernardo Dominic PROPOSAL
Salvatore S DoeBrazilAnna Fali NEW
Ashley N VenereRussiaAsiya Javayant PROPOSAL
Kaitlin A KuskoBrazilStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio I GlickSpain2024-06-05Chemel, James L Cpa UNQUALIFIED98Xuxue Feng
1001Morrow F WhobreyCanada2024-06-11Truhlar And Truhlar Attys NEW91Stephen Shaw
1002Misaki D CaudyUnited Kingdom2024-05-21Chanay, Jeffrey A Esq NEGOTIATION45Ivan Magalhaes
1003Silvio B DoeJapan2024-06-02Morlong Associates NEGOTIATION3Bernardo Dominic
1004Darci J FerenczAustralia2024-05-31Chapman, Ross E Esq RENEWAL96Elwin Sharvill
1005David X RimGermany2024-06-02Feiner Bros PROPOSAL30Elwin Sharvill
1006Kadeem C ShinkoArgentina2024-06-11Printing Dimensions PROPOSAL37Onyama Limba
1007Sinclair Q GauchoAustralia2024-05-24Truhlar And Truhlar Attys NEW36Ioni Bowcher
1008Leja H PaprockiUnited Kingdom2024-06-05King, Christopher A Esq QUALIFIED50Asiya Javayant
1009Isabel V BologniaUnited Kingdom2024-06-13Truhlar And Truhlar Attys QUALIFIED4Amy Elsner
1010David T SaylorsJapan2024-06-02Rangoni Of Florence NEW17Xuxue Feng
1011Mayumi Y KolmetzSpain2024-06-02Benton, John B Jr RENEWAL9Xuxue Feng
1012Jeanfrancois X OstroskyIndia2024-06-01Feiner Bros RENEWAL23Ivan Magalhaes
1013Misaki B BowleyArgentina2024-06-17Feiner Bros RENEWAL46Ivan Magalhaes
1014Salvatore T GlickCanada2024-06-13King, Christopher A Esq RENEWAL43Anna Fali
1015Misaki N FerenczGermany2024-06-14Dorl, James J Esq UNQUALIFIED55Amy Elsner
1016Maisha Z CaudyFrance2024-06-12Rangoni Of Florence NEGOTIATION16Amy Elsner
1017Faith B RulapaughAustralia2024-05-25Chanay, Jeffrey A Esq RENEWAL3Asiya Javayant
1018Maria Y DilliardFrance2024-05-24Chanay, Jeffrey A Esq RENEWAL21Asiya Javayant
1019Johnson E GlickItaly2024-06-13Commercial Press UNQUALIFIED30Bernardo Dominic
1020Jennifer V FollerAustralia2024-05-30Chemel, James L Cpa UNQUALIFIED49Stephen Shaw
1021Mujtaba S NestleBrazil2024-06-15Buckley Miller Wright QUALIFIED46Anna Fali
1022Salvatore L VenereArgentina2024-06-09Rousseaux, Michael Esq QUALIFIED66Ivan Magalhaes
1023Maria R MorascaUnited Kingdom2024-05-20King, Christopher A Esq RENEWAL74Ivan Magalhaes
1024Jennifer P IturbideItaly2024-06-02Rousseaux, Michael Esq UNQUALIFIED29Bernardo Dominic
1025Stacey W RulapaughSpain2024-06-10King, Christopher A Esq NEW22Onyama Limba
1026Wickens T VocelkaAustralia2024-05-23Chanay, Jeffrey A Esq NEW22Ioni Bowcher
1027Salvatore E StockhamArgentina2024-06-01Morlong Associates QUALIFIED40Elwin Sharvill
1028Clifford X AmigonAustralia2024-06-01Rousseaux, Michael Esq PROPOSAL3Onyama Limba
1029Leja Y CaldareraCanada2024-06-03Buckley Miller Wright UNQUALIFIED7Ivan Magalhaes
1030Misaki D AlbaresFrance2024-06-06Feltz Printing Service NEW99Ivan Magalhaes
1031Juan N OstroskyJapan2024-05-22Benton, John B Jr QUALIFIED23Bernardo Dominic
1032Kaitlin H WhobreyCanada2024-06-11Truhlar And Truhlar Attys RENEWAL95Amy Elsner
1033Izzy X GillianBrazil2024-06-04Chapman, Ross E Esq PROPOSAL26Anna Fali
1034Deepesh F FlosiRussia2024-05-25Chemel, James L Cpa PROPOSAL77Ioni Bowcher
1035Sinclair Z ShinkoSpain2024-05-27Morlong Associates NEGOTIATION21Asiya Javayant
1036Cody I MacleadAustralia2024-06-03Feiner Bros NEW65Asiya Javayant
1037Arvin U GauchoGermany2024-06-17Feiner Bros NEGOTIATION37Amy Elsner
1038Leja U SergiArgentina2024-06-06Chemel, James L Cpa NEW14Bernardo Dominic
1039Aruna H DarakjySpain2024-05-24Chapman, Ross E Esq NEGOTIATION67Xuxue Feng
1040Mujtaba R NickaJapan2024-05-24Dorl, James J Esq RENEWAL88Bernardo Dominic
1041Isabel Q WieserRussia2024-06-17Chanay, Jeffrey A Esq NEW56Asiya Javayant
1042Juan J WaycottUnited Kingdom2024-05-30Feltz Printing Service PROPOSAL92Elwin Sharvill
1043Mayumi A GillianRussia2024-06-11Feiner Bros NEW74Amy Elsner
1044Rodrigues D DilliardFrance2024-06-08Chanay, Jeffrey A Esq NEW39Stephen Shaw
1045Darci B WaycottItaly2024-05-27Chanay, Jeffrey A Esq NEGOTIATION68Onyama Limba
1046Jones S BowleyGermany2024-06-02Printing Dimensions RENEWAL33Stephen Shaw
1047Antonio X CampainAustralia2024-05-27Truhlar And Truhlar Attys QUALIFIED55Anna Fali
1048Ricardo Z FigeroaGermany2024-06-09King, Christopher A Esq NEGOTIATION30Onyama Limba
1049Aika Q RoysterIndia2024-06-13Feiner Bros NEGOTIATION5Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh J GauchoGermanyStephen Shaw RENEWAL
Leja Y CampainAustraliaAmy Elsner QUALIFIED
Juan W DoeArgentinaIvan Magalhaes QUALIFIED
Ivar G SergiAustraliaAmy Elsner UNQUALIFIED
David C DilliardRussiaOnyama Limba UNQUALIFIED
Chavez W DoeUnited KingdomOnyama Limba QUALIFIED
Kaitlin X PerinAustraliaElwin Sharvill QUALIFIED
David R WaycottFranceIvan Magalhaes UNQUALIFIED
Jefferson H KuskoIndiaOnyama Limba NEW
Jeanfrancois N SergiFranceAmy Elsner PROPOSAL
James K NestleBrazilOnyama Limba UNQUALIFIED
Wickens K MarrierGermanyAmy Elsner UNQUALIFIED
Juan U ButtJapanOnyama Limba NEGOTIATION
Johnson F ButtArgentinaBernardo Dominic PROPOSAL
Isabel T ShinkoCanadaOnyama Limba NEGOTIATION
Antonio P GillianArgentinaOnyama Limba NEW
Leon S SchemmerJapanStephen Shaw PROPOSAL
Murillo R FlosiGermanyAnna Fali UNQUALIFIED
Claire K FigeroaRussiaBernardo Dominic RENEWAL
Costa X MacleadBrazilAmy Elsner NEW
Leja P MarrierSpainBernardo Dominic NEW
Isabel Z PoquetteCanadaStephen Shaw NEGOTIATION
Kaitlin W DarakjyItalyElwin Sharvill NEW
Jefferson I GillianFranceIoni Bowcher NEGOTIATION
Leon Z OldroydJapanXuxue Feng NEGOTIATION
Claire W BologniaSpainBernardo Dominic UNQUALIFIED
Aruna O MorascaUnited KingdomStephen Shaw NEGOTIATION
Mujtaba F StockhamFranceIoni Bowcher PROPOSAL
Greenwood B RulapaughIndiaStephen Shaw NEW
Cody A WaycottAustraliaAnna Fali NEW
Mujtaba K StockhamGermanyElwin Sharvill NEW
Smith C DarakjyBrazilElwin Sharvill PROPOSAL
Aika K PoquetteIndiaStephen Shaw QUALIFIED
Mujtaba F ChuiRussiaIoni Bowcher NEGOTIATION
Kadeem S SaylorsUnited KingdomAnna Fali RENEWAL
James Z ButtBrazilOnyama Limba PROPOSAL
Jeanfrancois F GlickUnited KingdomIvan Magalhaes NEW
Morrow L SchemmerItalyStephen Shaw PROPOSAL
Salvatore G PerinGermanyXuxue Feng QUALIFIED
Kaitlin O InouyeJapanOnyama Limba NEGOTIATION
Kaitlin O VenereRussiaAmy Elsner RENEWAL
Maria L BowleySpainOnyama Limba QUALIFIED
Arvin B InouyeIndiaElwin Sharvill UNQUALIFIED
Maisha Q CaudyJapanAmy Elsner NEGOTIATION
Murillo C BriddickAustraliaIvan Magalhaes RENEWAL
Mayumi Q PerinAustraliaAmy Elsner UNQUALIFIED
Ashley D IturbideAustraliaIvan Magalhaes NEW
Faith E BologniaAustraliaStephen Shaw NEW
Sinclair A GarufiRussiaBernardo Dominic PROPOSAL
Jefferson Q PaprockiUnited KingdomAnna Fali QUALIFIED
Frozen Columns
Name
Darci U Foller
Claire T Albares
Munro Y Poquette
Jeanfrancois H Chui
Alejandro O Butt
Misaki N Amigon
Juan O Nicka
Jefferson U Perin
David O Slusarski
Jennifer C Ferencz
Izzy V Caudy
Mujtaba B Venere
Jones A Paprocki
David F Shinko
Mayumi K Nicka
Claire V Gillian
Aditya H Briddick
Alejandro Z Figeroa
Nicolas H Butt
Francesco W Saylors
Murillo I Paprocki
Mujtaba D Campain
Mayumi J Schemmer
Cody Q Albares
Smith J Ruta
Adams G Slusarski
Mujtaba W Amigon
Tony L Amigon
Kadeem M Figeroa
Kadeem W Kolmetz
Maisha U Garufi
Jones X Iturbide
Morrow J Morasca
Sinclair D Nestle
Antonio P Kusko
Clifford M Rulapaugh
Costa M Slusarski
Ashley Z Slusarski
Kadeem P Saylors
Clifford W Ferencz
Juan L Perin
Ashley P Poquette
Stacey T Malet
Maria F Malet
Costa G Amigon
Aruna J Kusko
Kaitlin U Figeroa
Izzy Q Amigon
Emily F Figeroa
Morrow A Caudy
IdCountryDate
1000Australia2024-05-21
1001Italy2024-06-09
1002Spain2024-06-09
1003Japan2024-05-28
1004Brazil2024-06-07
1005Italy2024-05-21
1006Canada2024-05-28
1007Australia2024-05-27
1008Argentina2024-06-02
1009Russia2024-06-02
1010Australia2024-06-15
1011Australia2024-06-14
1012India2024-05-30
1013France2024-05-22
1014Canada2024-05-30
1015Argentina2024-05-21
1016Spain2024-06-02
1017United Kingdom2024-06-15
1018United Kingdom2024-06-04
1019United Kingdom2024-06-18
1020Canada2024-06-08
1021Russia2024-05-21
1022Brazil2024-05-26
1023France2024-05-29
1024United Kingdom2024-06-11
1025India2024-05-22
1026Canada2024-06-16
1027Germany2024-06-04
1028Germany2024-06-18
1029Argentina2024-06-11
1030India2024-05-29
1031Australia2024-06-14
1032Spain2024-06-16
1033Russia2024-05-22
1034Italy2024-05-22
1035Germany2024-06-16
1036Italy2024-06-02
1037Japan2024-06-16
1038Germany2024-06-05
1039Italy2024-06-05
1040Brazil2024-06-01
1041Argentina2024-06-08
1042Japan2024-06-01
1043France2024-06-03
1044Japan2024-06-04
1045Italy2024-06-10
1046Italy2024-06-08
1047Spain2024-05-21
1048France2024-06-07
1049Australia2024-06-11

On-Demand Data

NameIdCountryDate
Greenwood B Glick1000Spain2024-05-28
Faith M Bolognia1001Germany2024-05-23
Faith M Garufi1002Russia2024-06-14
Aditya M Kusko1003Italy2024-06-04
Arvin Q Morasca1004Spain2024-05-21
Antonio W Ostrosky1005France2024-06-15
Silvio G Dilliard1006France2024-06-10
Antonio I Rim1007Italy2024-06-06
Aruna T Garufi1008Germany2024-05-23
Misaki W Saylors1009Spain2024-06-13
Salvatore L Oldroyd1010Spain2024-05-31
Ashley M Foller1011United Kingdom2024-06-17
Salvatore J Schemmer1012United Kingdom2024-06-14
Cody I Sergi1013Japan2024-06-06
Antonio P Ostrosky1014India2024-05-28
Munro E Chui1015Japan2024-05-31
Arvin L Vocelka1016United Kingdom2024-06-04
Kaitlin P Gillian1017India2024-05-22
Misaki P Flosi1018Italy2024-05-26
Johnson Y Dilliard1019Italy2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki R FigeroaCanadaIvan Magalhaes NEGOTIATION
Izzy O TollnerGermanyOnyama Limba UNQUALIFIED
Emily V GauchoJapanElwin Sharvill NEW
Greenwood J MaletGermanyStephen Shaw QUALIFIED
James R BowleyArgentinaAmy Elsner QUALIFIED
Mujtaba E WhobreyFranceStephen Shaw NEGOTIATION
Stacey O GarufiCanadaBernardo Dominic QUALIFIED
Jeanfrancois V VocelkaRussiaAsiya Javayant RENEWAL
Claire D KuskoItalyXuxue Feng UNQUALIFIED
Alejandro X KuskoRussiaBernardo Dominic PROPOSAL
Greenwood I BriddickArgentinaIvan Magalhaes QUALIFIED
Adams Y OstroskyUnited KingdomBernardo Dominic NEW
Maisha Q ChuiCanadaAmy Elsner PROPOSAL
David W InouyeItalyXuxue Feng PROPOSAL
Wickens G InouyeCanadaOnyama Limba RENEWAL
Izzy G GauchoGermanyAnna Fali UNQUALIFIED
Greenwood M WaycottIndiaStephen Shaw RENEWAL
Mayumi T PaprockiBrazilOnyama Limba UNQUALIFIED
Misaki L BowleyArgentinaOnyama Limba RENEWAL
Alejandro O FerenczUnited KingdomOnyama Limba QUALIFIED
Ricardo G MaletAustraliaStephen Shaw RENEWAL
Emily Q DoeBrazilIvan Magalhaes QUALIFIED
Mujtaba M GarufiFranceXuxue Feng RENEWAL
Nicolas O BowleyFranceIvan Magalhaes PROPOSAL
David H PerinJapanIvan Magalhaes RENEWAL
Deepesh M AmigonCanadaXuxue Feng QUALIFIED
Leon A SchemmerBrazilElwin Sharvill QUALIFIED
Kaitlin W GillianGermanyBernardo Dominic QUALIFIED
Stacey F KuskoSpainOnyama Limba QUALIFIED
James J StockhamJapanIvan Magalhaes NEW
Aruna E WhobreyBrazilIvan Magalhaes RENEWAL
Ricardo H FerenczAustraliaAsiya Javayant NEGOTIATION
Claire C GlickFranceStephen Shaw UNQUALIFIED
Francesco O PaprockiAustraliaElwin Sharvill PROPOSAL
Antonio W DarakjyFranceAmy Elsner NEGOTIATION
Ivar L BologniaAustraliaXuxue Feng PROPOSAL
Rodrigues V RulapaughItalyAmy Elsner NEGOTIATION
Juan R GauchoSpainXuxue Feng NEW
Murillo Q CaudyJapanAsiya Javayant NEW
Leon J GauchoAustraliaBernardo Dominic 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>