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
Francesco G GillianItalyElwin Sharvill UNQUALIFIED
Ricardo O PoquetteIndiaAmy Elsner NEW
Jones A GillianIndiaAnna Fali UNQUALIFIED
Faith N IturbideJapanIoni Bowcher UNQUALIFIED
Aika X FigeroaAustraliaAnna Fali RENEWAL
Jefferson S FerenczArgentinaAnna Fali RENEWAL
Cody U MaletBrazilElwin Sharvill NEW
Emily I SergiJapanAmy Elsner NEW
Jeanfrancois X DarakjyUnited KingdomAmy Elsner QUALIFIED
Maria D OstroskyFranceStephen Shaw PROPOSAL
Nicolas T FlosiFranceIvan Magalhaes PROPOSAL
David Q GauchoCanadaElwin Sharvill UNQUALIFIED
Clifford Y MaletSpainElwin Sharvill PROPOSAL
Clifford Z TollnerFranceElwin Sharvill UNQUALIFIED
Kadeem P CaudySpainAmy Elsner NEW
Murillo D MacleadIndiaBernardo Dominic PROPOSAL
Salvatore F KolmetzRussiaAmy Elsner PROPOSAL
Rodrigues Z NickaBrazilStephen Shaw QUALIFIED
Smith Z FerenczUnited KingdomOnyama Limba NEGOTIATION
Costa T FigeroaCanadaBernardo Dominic NEGOTIATION
James O KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Aika O FlosiArgentinaOnyama Limba NEW
Octavia Z SlusarskiGermanyStephen Shaw RENEWAL
Izzy J VocelkaSpainStephen Shaw QUALIFIED
Ashley G MacleadFranceAmy Elsner QUALIFIED
Tony K RoysterSpainIvan Magalhaes NEW
Adams K PaprockiRussiaElwin Sharvill NEW
Greenwood U FlosiGermanyIvan Magalhaes NEGOTIATION
Emily C IturbideAustraliaXuxue Feng PROPOSAL
Aruna H VocelkaGermanyAnna Fali NEW
Isabel Y VenereIndiaOnyama Limba UNQUALIFIED
Kaitlin Y RimRussiaAnna Fali NEGOTIATION
Morrow J OldroydCanadaIvan Magalhaes PROPOSAL
Misaki Q WhobreyBrazilBernardo Dominic NEGOTIATION
James X WieserItalyIoni Bowcher QUALIFIED
David R WhobreyAustraliaElwin Sharvill UNQUALIFIED
Tony P KolmetzBrazilBernardo Dominic RENEWAL
Juan H MarrierRussiaElwin Sharvill UNQUALIFIED
Clifford W SergiArgentinaStephen Shaw NEW
Chavez L PerinAustraliaAmy Elsner NEW
Smith A SchemmerAustraliaAnna Fali PROPOSAL
Juan C PerinUnited KingdomAmy Elsner RENEWAL
Rodrigues G MorascaCanadaStephen Shaw PROPOSAL
Ricardo X WhobreyGermanyAnna Fali NEW
Jennifer G DoeSpainIvan Magalhaes QUALIFIED
Jones T WieserBrazilAsiya Javayant NEGOTIATION
Deepesh A FollerSpainIoni Bowcher NEW
Izzy S SergiArgentinaXuxue Feng RENEWAL
Nicolas P BriddickBrazilBernardo Dominic QUALIFIED
Nicolas J PoquetteAustraliaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas F GarufiJapanIoni Bowcher PROPOSAL
Silvio C StensethGermanyIoni Bowcher UNQUALIFIED
Salvatore G SlusarskiUnited KingdomStephen Shaw NEW
Adams C RulapaughItalyIoni Bowcher NEW
Tony W FlosiIndiaIoni Bowcher NEGOTIATION
Adams Q SergiUnited KingdomAmy Elsner NEW
Smith X PerinCanadaBernardo Dominic NEGOTIATION
Maisha I MacleadGermanyXuxue Feng NEW
Deepesh A MarrierArgentinaBernardo Dominic NEW
Jennifer Z OstroskySpainIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Y GarufiAustralia2024-06-20Buckley Miller Wright NEW47Elwin Sharvill
1001Cody Q DoeIndia2024-05-26Feltz Printing Service PROPOSAL12Bernardo Dominic
1002Aika Z PoquetteArgentina2024-06-14Chanay, Jeffrey A Esq RENEWAL50Anna Fali
1003Maria A WieserItaly2024-06-16Rousseaux, Michael Esq NEW94Anna Fali
1004Leja N CampainCanada2024-06-01Chanay, Jeffrey A Esq PROPOSAL90Ioni Bowcher
1005Munro E PaprockiItaly2024-06-06Dorl, James J Esq NEW20Anna Fali
1006Jennifer R BologniaAustralia2024-06-17Buckley Miller Wright NEGOTIATION42Ioni Bowcher
1007Leja X TollnerArgentina2024-06-07Chemel, James L Cpa QUALIFIED72Ioni Bowcher
1008Cody V MaletArgentina2024-06-17Chapman, Ross E Esq NEGOTIATION68Xuxue Feng
1009Aditya D KolmetzItaly2024-06-08Feiner Bros QUALIFIED14Elwin Sharvill
1010Claire I FollerBrazil2024-06-05Rousseaux, Michael Esq PROPOSAL80Stephen Shaw
1011Salvatore J WhobreyItaly2024-06-04Commercial Press RENEWAL69Ivan Magalhaes
1012Nicolas Y MaletItaly2024-06-02Dorl, James J Esq RENEWAL10Xuxue Feng
1013Alejandro V AmigonArgentina2024-05-29Printing Dimensions NEGOTIATION28Onyama Limba
1014Juan G MarrierBrazil2024-06-16Chemel, James L Cpa UNQUALIFIED78Asiya Javayant
1015Leon I WieserGermany2024-05-26Feltz Printing Service QUALIFIED98Amy Elsner
1016Aruna X GillianGermany2024-06-09Rousseaux, Michael Esq NEGOTIATION0Elwin Sharvill
1017Rodrigues M VocelkaRussia2024-06-02Feltz Printing Service QUALIFIED41Amy Elsner
1018Ricardo G ButtIndia2024-06-13Rangoni Of Florence QUALIFIED69Amy Elsner
1019Nicolas Q CaldareraGermany2024-06-23Chanay, Jeffrey A Esq UNQUALIFIED95Amy Elsner
1020Jones Y RoysterUnited Kingdom2024-06-19Feiner Bros QUALIFIED33Bernardo Dominic
1021Ivar E PaprockiGermany2024-05-26Feiner Bros UNQUALIFIED67Stephen Shaw
1022Salvatore T FerenczGermany2024-06-14Commercial Press RENEWAL93Stephen Shaw
1023Rodrigues P ShinkoUnited Kingdom2024-06-12Benton, John B Jr NEW69Stephen Shaw
1024Adams Y RoysterGermany2024-05-29Chanay, Jeffrey A Esq NEW39Amy Elsner
1025Octavia D AlbaresAustralia2024-06-08Chapman, Ross E Esq NEGOTIATION39Onyama Limba
1026Misaki E SaylorsGermany2024-05-31Dorl, James J Esq NEW54Ioni Bowcher
1027Deepesh X SlusarskiBrazil2024-06-04Feiner Bros UNQUALIFIED74Onyama Limba
1028James T IturbideFrance2024-06-07Dorl, James J Esq QUALIFIED43Asiya Javayant
1029Adams Q BriddickItaly2024-06-14Buckley Miller Wright RENEWAL67Stephen Shaw
1030Misaki U SlusarskiCanada2024-06-24Rousseaux, Michael Esq UNQUALIFIED94Ivan Magalhaes
1031Antonio I AlbaresGermany2024-06-16Truhlar And Truhlar Attys QUALIFIED64Ioni Bowcher
1032Silvio X VenereItaly2024-06-15Buckley Miller Wright NEGOTIATION43Bernardo Dominic
1033Alejandro K VenereItaly2024-06-03Benton, John B Jr QUALIFIED56Ivan Magalhaes
1034Clifford V VenereGermany2024-05-31Feltz Printing Service NEW86Onyama Limba
1035Jones H NickaBrazil2024-05-30Dorl, James J Esq QUALIFIED99Amy Elsner
1036Julie O FigeroaIndia2024-05-27Chanay, Jeffrey A Esq QUALIFIED68Xuxue Feng
1037Arvin K DoeBrazil2024-06-02Commercial Press NEW19Bernardo Dominic
1038Silvio F DilliardCanada2024-06-11Rangoni Of Florence PROPOSAL65Amy Elsner
1039Jennifer G CaudyGermany2024-06-14Buckley Miller Wright QUALIFIED3Anna Fali
1040Faith P ButtCanada2024-06-19Chapman, Ross E Esq UNQUALIFIED87Anna Fali
1041Sinclair B MarrierRussia2024-06-24Benton, John B Jr UNQUALIFIED17Anna Fali
1042Octavia P WhobreyCanada2024-06-05Chanay, Jeffrey A Esq QUALIFIED73Xuxue Feng
1043Claire F MorascaArgentina2024-06-09Feltz Printing Service UNQUALIFIED79Xuxue Feng
1044Antonio P InouyeBrazil2024-06-07Chapman, Ross E Esq PROPOSAL94Onyama Limba
1045Maisha O AmigonSpain2024-06-18Buckley Miller Wright QUALIFIED40Xuxue Feng
1046Julie L SaylorsCanada2024-06-06Feiner Bros NEW55Xuxue Feng
1047Jones X VocelkaIndia2024-05-29Benton, John B Jr UNQUALIFIED22Anna Fali
1048James J WhobreyUnited Kingdom2024-06-23King, Christopher A Esq UNQUALIFIED39Xuxue Feng
1049Maria X MaletIndia2024-06-14Chapman, Ross E Esq NEGOTIATION7Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Y IturbideArgentinaAsiya Javayant UNQUALIFIED
Kaitlin M GauchoJapanXuxue Feng NEGOTIATION
Emily E ChuiSpainOnyama Limba RENEWAL
Nicolas E BowleySpainElwin Sharvill NEGOTIATION
Smith R BologniaRussiaStephen Shaw UNQUALIFIED
Leon Y CaldareraUnited KingdomAnna Fali QUALIFIED
Octavia K MacleadIndiaXuxue Feng NEGOTIATION
David P MacleadArgentinaAnna Fali NEGOTIATION
Faith Z BologniaItalyAsiya Javayant NEW
Deepesh G FerenczSpainAsiya Javayant QUALIFIED
Sinclair L RimUnited KingdomAmy Elsner UNQUALIFIED
Alejandro C KolmetzArgentinaOnyama Limba NEGOTIATION
Faith K BriddickItalyIvan Magalhaes PROPOSAL
Juan O SaylorsArgentinaIvan Magalhaes NEGOTIATION
Emily O MaletSpainXuxue Feng PROPOSAL
Ashley K OldroydJapanAnna Fali RENEWAL
Mayumi D RimItalyAsiya Javayant NEW
Antonio R OstroskyAustraliaElwin Sharvill NEW
Adams E DarakjyBrazilIvan Magalhaes PROPOSAL
Alejandro D BologniaGermanyIvan Magalhaes UNQUALIFIED
Munro F DoeUnited KingdomAnna Fali NEW
Mujtaba N FigeroaJapanAsiya Javayant QUALIFIED
Sinclair J WhobreyItalyStephen Shaw QUALIFIED
Clifford Q DarakjyBrazilAmy Elsner UNQUALIFIED
Jeanfrancois Z AlbaresArgentinaBernardo Dominic QUALIFIED
Deepesh D PaprockiItalyStephen Shaw NEGOTIATION
Faith W ButtItalyAsiya Javayant UNQUALIFIED
Stacey D DoeJapanStephen Shaw NEGOTIATION
Cody B NickaSpainOnyama Limba PROPOSAL
Cody W DilliardJapanAsiya Javayant PROPOSAL
Johnson Y BowleyUnited KingdomOnyama Limba UNQUALIFIED
Darci H WieserIndiaElwin Sharvill NEW
Clifford F SergiUnited KingdomIvan Magalhaes NEGOTIATION
Johnson F WaycottBrazilAmy Elsner UNQUALIFIED
Izzy T InouyeJapanStephen Shaw NEGOTIATION
Mujtaba L StensethArgentinaOnyama Limba RENEWAL
Izzy T IturbideCanadaStephen Shaw UNQUALIFIED
Tony C WieserRussiaOnyama Limba NEW
Claire U BologniaFranceAsiya Javayant UNQUALIFIED
Tony C RoysterIndiaBernardo Dominic NEW
Francesco X KuskoRussiaAsiya Javayant RENEWAL
Stacey Z FerenczAustraliaAnna Fali NEGOTIATION
Juan G BowleyArgentinaOnyama Limba UNQUALIFIED
Leon O MorascaBrazilElwin Sharvill NEW
Kadeem M CaudyRussiaAmy Elsner NEGOTIATION
Maisha I GillianFranceXuxue Feng QUALIFIED
Mujtaba C DarakjyArgentinaOnyama Limba UNQUALIFIED
Faith B VocelkaAustraliaStephen Shaw UNQUALIFIED
Darci E DoeIndiaXuxue Feng NEGOTIATION
Kaitlin N RoysterFranceStephen Shaw PROPOSAL
Frozen Columns
Name
Salvatore C Inouye
Leon X Oldroyd
Faith C Albares
Clifford F Campain
Greenwood E Kolmetz
Julie P Saylors
Jennifer N Marrier
Nicolas I Doe
Morrow J Gillian
Francesco G Bolognia
Costa S Darakjy
Octavia T Schemmer
Clifford T Tollner
Jennifer N Vocelka
Jones H Maclead
Jennifer O Nicka
Stacey L Maclead
Mujtaba C Wieser
Deepesh P Kolmetz
Antonio Y Albares
Jeanfrancois D Garufi
Claire C Caldarera
Tony V Schemmer
Tony V Morasca
Leja X Amigon
Misaki P Inouye
Salvatore K Inouye
Morrow Z Bolognia
Rodrigues V Rim
Claire R Slusarski
Silvio K Ostrosky
Ivar U Paprocki
Cody M Tollner
Mayumi N Marrier
James L Inouye
Antonio F Kusko
Aditya S Kolmetz
Wickens Z Garufi
Greenwood H Ruta
Emily L Rim
Aruna K Tollner
Ricardo D Tollner
Arvin T Wieser
Leja N Caudy
Stacey R Butt
Maria L Chui
Wickens M Butt
Kadeem K Albares
Adams B Slusarski
Murillo L Inouye
IdCountryDate
1000Canada2024-06-23
1001Japan2024-06-24
1002Italy2024-05-29
1003Australia2024-06-09
1004Germany2024-06-03
1005Brazil2024-06-02
1006Australia2024-06-08
1007Japan2024-06-23
1008France2024-06-21
1009Argentina2024-06-12
1010United Kingdom2024-06-24
1011Canada2024-05-30
1012Russia2024-05-28
1013Germany2024-05-26
1014Japan2024-06-13
1015Australia2024-06-09
1016Russia2024-06-02
1017Italy2024-06-16
1018Russia2024-06-01
1019Germany2024-06-18
1020Australia2024-06-23
1021Argentina2024-06-22
1022Argentina2024-05-26
1023Brazil2024-06-20
1024Argentina2024-06-16
1025Russia2024-06-17
1026Canada2024-06-03
1027Australia2024-05-29
1028France2024-06-09
1029France2024-05-30
1030Italy2024-06-04
1031Italy2024-06-19
1032Spain2024-06-02
1033Brazil2024-05-29
1034Italy2024-06-08
1035United Kingdom2024-06-18
1036Russia2024-06-17
1037Argentina2024-05-30
1038Italy2024-05-27
1039France2024-06-05
1040Russia2024-06-24
1041Italy2024-06-18
1042United Kingdom2024-06-16
1043Italy2024-06-13
1044United Kingdom2024-06-09
1045Australia2024-06-21
1046Germany2024-06-07
1047United Kingdom2024-06-01
1048Spain2024-06-07
1049Brazil2024-05-26

On-Demand Data

NameIdCountryDate
Sinclair H Rulapaugh1000Brazil2024-05-28
Silvio G Schemmer1001France2024-05-27
Ricardo T Amigon1002Spain2024-06-08
Aika T Stenseth1003Australia2024-06-10
Ivar N Poquette1004Japan2024-06-09
Arvin L Tollner1005Japan2024-06-19
Cody V Darakjy1006Italy2024-06-09
Adams W Bolognia1007Spain2024-05-30
Francesco X Whobrey1008Brazil2024-06-19
Antonio A Poquette1009Argentina2024-05-30
Misaki R Darakjy1010Spain2024-05-29
Julie X Flosi1011United Kingdom2024-06-13
Leon W Oldroyd1012Australia2024-06-11
Murillo T Garufi1013Germany2024-05-29
Sinclair A Vocelka1014Germany2024-06-04
Emily S Stockham1015Brazil2024-06-03
Mujtaba L Darakjy1016France2024-06-24
Jeanfrancois N Glick1017India2024-06-13
Juan S Butt1018Brazil2024-06-09
Leon D Dilliard1019Brazil2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie Q GillianCanadaIoni Bowcher RENEWAL
Jennifer X VenereGermanyIoni Bowcher QUALIFIED
Silvio G GarufiUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois M OldroydIndiaIvan Magalhaes RENEWAL
David C BowleySpainStephen Shaw NEGOTIATION
Mayumi X BowleyIndiaXuxue Feng RENEWAL
Kaitlin U VocelkaAustraliaElwin Sharvill NEGOTIATION
Francesco B StockhamItalyAsiya Javayant NEGOTIATION
Antonio D IturbideUnited KingdomElwin Sharvill NEGOTIATION
David G NestleGermanyAmy Elsner NEGOTIATION
Munro W KolmetzJapanElwin Sharvill NEGOTIATION
Adams M WaycottItalyOnyama Limba UNQUALIFIED
Adams A ShinkoGermanyXuxue Feng RENEWAL
Ricardo W IturbideItalyElwin Sharvill NEGOTIATION
Francesco T OldroydItalyAsiya Javayant QUALIFIED
Smith N OstroskyBrazilStephen Shaw NEGOTIATION
Jeanfrancois E BriddickAustraliaOnyama Limba RENEWAL
Morrow Y GlickItalyIoni Bowcher QUALIFIED
Arvin L GauchoIndiaOnyama Limba NEGOTIATION
Mujtaba J NickaSpainAnna Fali PROPOSAL
James U GauchoGermanyBernardo Dominic UNQUALIFIED
Wickens K BowleyRussiaIvan Magalhaes UNQUALIFIED
Francesco U FigeroaCanadaAnna Fali RENEWAL
Deepesh T VenereAustraliaXuxue Feng UNQUALIFIED
Mujtaba V ShinkoGermanyElwin Sharvill PROPOSAL
Juan I MaletUnited KingdomIoni Bowcher NEGOTIATION
Sinclair T SergiGermanyAnna Fali UNQUALIFIED
Francesco T StockhamRussiaAsiya Javayant NEW
Smith X KolmetzBrazilIvan Magalhaes NEW
Juan H FlosiFranceOnyama Limba RENEWAL
Aditya Q WieserJapanAsiya Javayant PROPOSAL
Darci F RutaGermanyIoni Bowcher NEGOTIATION
Cody V NickaAustraliaOnyama Limba NEW
Cody X MorascaJapanAmy Elsner RENEWAL
Stacey A AmigonJapanBernardo Dominic NEW
Johnson T RutaIndiaIoni Bowcher NEW
Salvatore Q RimAustraliaAnna Fali RENEWAL
Jeanfrancois B KuskoBrazilAnna Fali UNQUALIFIED
Julie I ShinkoSpainAmy Elsner NEW
Costa V StockhamItalyIvan Magalhaes 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>