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
Silvio J SergiGermanyOnyama Limba PROPOSAL
Morrow I MaletRussiaIvan Magalhaes QUALIFIED
Salvatore Y GarufiItalyIvan Magalhaes PROPOSAL
Leon A WhobreyItalyAnna Fali RENEWAL
Leon R MorascaFranceElwin Sharvill RENEWAL
Greenwood P KolmetzArgentinaXuxue Feng NEGOTIATION
Jefferson G CampainJapanAnna Fali QUALIFIED
James I SchemmerSpainOnyama Limba NEW
Izzy E DilliardSpainAsiya Javayant NEGOTIATION
Chavez Z MaletArgentinaAnna Fali NEGOTIATION
Nicolas B MaletIndiaAnna Fali UNQUALIFIED
Morrow S InouyeIndiaAnna Fali NEW
Jeanfrancois H MarrierUnited KingdomBernardo Dominic PROPOSAL
Arvin Z BowleyAustraliaBernardo Dominic RENEWAL
Izzy U TollnerAustraliaIoni Bowcher PROPOSAL
Alejandro N GillianBrazilAmy Elsner RENEWAL
Julie I AlbaresIndiaXuxue Feng PROPOSAL
Murillo C NickaUnited KingdomElwin Sharvill RENEWAL
Maria H IturbideRussiaXuxue Feng QUALIFIED
Misaki X VocelkaCanadaXuxue Feng NEGOTIATION
Julie S StensethCanadaIvan Magalhaes NEGOTIATION
Leja H RulapaughItalyOnyama Limba UNQUALIFIED
Clifford M WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Greenwood I RutaArgentinaIoni Bowcher QUALIFIED
Ivar M BowleyRussiaIvan Magalhaes NEGOTIATION
Faith L SchemmerUnited KingdomStephen Shaw NEW
Leja N RimGermanyAsiya Javayant PROPOSAL
David C KuskoIndiaXuxue Feng NEGOTIATION
Ricardo E ChuiRussiaIoni Bowcher UNQUALIFIED
Murillo X WieserItalyIoni Bowcher NEW
James W ButtFranceBernardo Dominic UNQUALIFIED
Juan P GlickGermanyIvan Magalhaes QUALIFIED
Maria D RimCanadaAsiya Javayant NEW
Murillo U AlbaresIndiaIvan Magalhaes UNQUALIFIED
Juan G MorascaArgentinaAmy Elsner QUALIFIED
Octavia K SlusarskiGermanyStephen Shaw RENEWAL
Adams T ButtSpainBernardo Dominic NEW
Isabel E MaletRussiaAnna Fali QUALIFIED
Jones U FigeroaJapanOnyama Limba NEW
James G PaprockiUnited KingdomElwin Sharvill RENEWAL
Smith G BriddickItalyAsiya Javayant QUALIFIED
Maria D AlbaresGermanyIvan Magalhaes QUALIFIED
Greenwood R BologniaBrazilIoni Bowcher UNQUALIFIED
Stacey U SlusarskiItalyIvan Magalhaes RENEWAL
Mujtaba U KolmetzItalyAmy Elsner PROPOSAL
Ivar A RutaFranceElwin Sharvill PROPOSAL
Aruna J KuskoAustraliaAnna Fali RENEWAL
Mayumi E WhobreyBrazilIvan Magalhaes QUALIFIED
Arvin B BowleyAustraliaElwin Sharvill QUALIFIED
Deepesh M VocelkaArgentinaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem Z MarrierItalyAmy Elsner NEGOTIATION
Johnson V WieserJapanIvan Magalhaes NEGOTIATION
Juan C StensethAustraliaXuxue Feng NEW
Faith U VenereJapanStephen Shaw NEW
Jeanfrancois E MaletCanadaAnna Fali NEGOTIATION
Tony P DilliardGermanyAmy Elsner NEW
Jefferson H CampainIndiaAsiya Javayant QUALIFIED
Ivar Z NestleRussiaXuxue Feng PROPOSAL
James C KolmetzJapanBernardo Dominic RENEWAL
Wickens W WaycottArgentinaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba B SlusarskiGermany2024-06-02Feltz Printing Service QUALIFIED76Anna Fali
1001Deepesh J AlbaresIndia2024-06-09Chemel, James L Cpa QUALIFIED60Amy Elsner
1002Aruna P MorascaItaly2024-06-11Feltz Printing Service NEW27Ioni Bowcher
1003Isabel Y DilliardRussia2024-06-04Morlong Associates QUALIFIED89Bernardo Dominic
1004Sinclair K DarakjyCanada2024-05-28Feiner Bros QUALIFIED27Elwin Sharvill
1005David K StensethAustralia2024-06-04Rousseaux, Michael Esq QUALIFIED94Xuxue Feng
1006Maisha I NickaItaly2024-05-29Truhlar And Truhlar Attys QUALIFIED99Elwin Sharvill
1007Munro Z GarufiArgentina2024-05-26Chapman, Ross E Esq RENEWAL38Stephen Shaw
1008Julie G BriddickBrazil2024-06-03Morlong Associates PROPOSAL71Amy Elsner
1009Kaitlin O DilliardAustralia2024-06-16Chemel, James L Cpa NEW6Anna Fali
1010Johnson Y RoysterSpain2024-06-04Truhlar And Truhlar Attys NEGOTIATION32Ioni Bowcher
1011Maisha T GauchoArgentina2024-06-11Rangoni Of Florence NEW42Amy Elsner
1012Leja X NestleItaly2024-06-16Rangoni Of Florence UNQUALIFIED37Ivan Magalhaes
1013Maisha W CaudyRussia2024-06-14Feltz Printing Service NEW91Anna Fali
1014Salvatore R SaylorsBrazil2024-05-29Chemel, James L Cpa NEW13Onyama Limba
1015Clifford R InouyeUnited Kingdom2024-05-27Feltz Printing Service UNQUALIFIED99Ivan Magalhaes
1016Octavia E VocelkaGermany2024-06-16Feltz Printing Service RENEWAL41Amy Elsner
1017Nicolas H FigeroaAustralia2024-06-22Dorl, James J Esq RENEWAL45Stephen Shaw
1018Isabel V BologniaArgentina2024-06-14Printing Dimensions RENEWAL71Stephen Shaw
1019Misaki A FigeroaItaly2024-06-02King, Christopher A Esq PROPOSAL1Stephen Shaw
1020Julie H BriddickIndia2024-06-04Rousseaux, Michael Esq NEW83Elwin Sharvill
1021Leja C MaletRussia2024-06-17Morlong Associates PROPOSAL49Bernardo Dominic
1022Greenwood V DilliardSpain2024-06-03Truhlar And Truhlar Attys UNQUALIFIED89Stephen Shaw
1023Smith O BologniaSpain2024-06-14Chapman, Ross E Esq QUALIFIED88Bernardo Dominic
1024Izzy N GauchoUnited Kingdom2024-05-27Chanay, Jeffrey A Esq QUALIFIED87Ivan Magalhaes
1025Deepesh C OstroskyGermany2024-06-08Feltz Printing Service UNQUALIFIED84Onyama Limba
1026Costa M KuskoItaly2024-06-18Dorl, James J Esq NEGOTIATION82Ioni Bowcher
1027Jones M SergiJapan2024-06-12Chapman, Ross E Esq RENEWAL12Stephen Shaw
1028Maisha E BriddickCanada2024-06-05Rousseaux, Michael Esq NEGOTIATION53Bernardo Dominic
1029Johnson F SergiItaly2024-06-23Commercial Press NEGOTIATION27Xuxue Feng
1030Salvatore U VocelkaBrazil2024-06-04Commercial Press PROPOSAL44Anna Fali
1031David A GarufiItaly2024-06-22Feltz Printing Service NEW66Amy Elsner
1032Kaitlin M GillianIndia2024-06-02King, Christopher A Esq NEGOTIATION25Xuxue Feng
1033Mujtaba F GlickUnited Kingdom2024-05-31Buckley Miller Wright QUALIFIED80Xuxue Feng
1034Ashley N RoysterGermany2024-05-26Printing Dimensions UNQUALIFIED48Onyama Limba
1035Silvio W GillianArgentina2024-06-10Feiner Bros NEGOTIATION4Amy Elsner
1036Alejandro A StensethFrance2024-06-04Rousseaux, Michael Esq QUALIFIED56Ioni Bowcher
1037Julie D PoquetteSpain2024-06-11Buckley Miller Wright PROPOSAL7Amy Elsner
1038Misaki V AmigonBrazil2024-06-19Dorl, James J Esq QUALIFIED94Ioni Bowcher
1039Alejandro D FerenczCanada2024-06-12Truhlar And Truhlar Attys QUALIFIED91Ivan Magalhaes
1040Chavez R MacleadUnited Kingdom2024-06-13Truhlar And Truhlar Attys RENEWAL80Elwin Sharvill
1041Claire Y GarufiAustralia2024-06-17Chemel, James L Cpa QUALIFIED48Amy Elsner
1042Ricardo S FerenczUnited Kingdom2024-06-21Morlong Associates UNQUALIFIED71Xuxue Feng
1043Deepesh C VenereIndia2024-06-06Feltz Printing Service UNQUALIFIED4Stephen Shaw
1044Stacey B DoeJapan2024-06-04Feiner Bros NEW5Ivan Magalhaes
1045Aika Y VenereBrazil2024-05-27Rangoni Of Florence RENEWAL33Amy Elsner
1046Arvin W NestleFrance2024-05-27Chapman, Ross E Esq NEGOTIATION25Asiya Javayant
1047Izzy L FlosiGermany2024-06-22Chemel, James L Cpa PROPOSAL49Elwin Sharvill
1048Jones Y NickaGermany2024-06-09Dorl, James J Esq NEGOTIATION82Stephen Shaw
1049Greenwood S IturbideIndia2024-06-05Dorl, James J Esq NEGOTIATION33Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Misaki H NickaUnited KingdomOnyama Limba PROPOSAL
Claire K GarufiCanadaBernardo Dominic QUALIFIED
Francesco P PaprockiItalyElwin Sharvill PROPOSAL
Mayumi T RulapaughSpainXuxue Feng RENEWAL
Murillo D WaycottJapanIoni Bowcher NEW
Aruna F InouyeAustraliaXuxue Feng UNQUALIFIED
Juan V FigeroaFranceXuxue Feng UNQUALIFIED
Emily N ShinkoItalyStephen Shaw NEW
Arvin E KolmetzIndiaIvan Magalhaes PROPOSAL
Jefferson I SergiRussiaXuxue Feng RENEWAL
Kaitlin A MacleadItalyAmy Elsner RENEWAL
Aruna I ChuiJapanIvan Magalhaes PROPOSAL
Leja Q SergiAustraliaAsiya Javayant PROPOSAL
Rodrigues X KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
Jones L CampainIndiaIvan Magalhaes NEW
Sinclair S FlosiRussiaAmy Elsner NEGOTIATION
Leja I InouyeItalyXuxue Feng PROPOSAL
Cody D AlbaresRussiaBernardo Dominic NEW
Johnson T RulapaughBrazilIvan Magalhaes UNQUALIFIED
Maisha K FollerItalyStephen Shaw UNQUALIFIED
Leja X KuskoUnited KingdomStephen Shaw NEW
Faith F CampainBrazilElwin Sharvill PROPOSAL
Faith S MaletSpainOnyama Limba QUALIFIED
Izzy X GlickCanadaAmy Elsner NEGOTIATION
Ivar H CaldareraUnited KingdomAnna Fali RENEWAL
Francesco S KuskoUnited KingdomAsiya Javayant NEW
Stacey T RulapaughFranceAsiya Javayant PROPOSAL
Misaki I KuskoArgentinaElwin Sharvill RENEWAL
Silvio T FlosiSpainBernardo Dominic UNQUALIFIED
Leja R CaldareraBrazilAnna Fali QUALIFIED
Salvatore A BowleyItalyStephen Shaw NEGOTIATION
Aika O KolmetzJapanAnna Fali UNQUALIFIED
Chavez W FigeroaBrazilAsiya Javayant RENEWAL
Francesco Z BowleyGermanyStephen Shaw NEW
Cody X StensethSpainXuxue Feng RENEWAL
Isabel V KuskoAustraliaIvan Magalhaes NEGOTIATION
Jones V CaldareraCanadaAsiya Javayant PROPOSAL
Ricardo K FigeroaUnited KingdomAsiya Javayant PROPOSAL
Leja D MarrierAustraliaIvan Magalhaes PROPOSAL
Aditya Y SchemmerSpainOnyama Limba RENEWAL
Isabel C MacleadJapanXuxue Feng NEGOTIATION
Faith H DilliardIndiaIvan Magalhaes QUALIFIED
Aditya J WaycottRussiaIvan Magalhaes NEGOTIATION
Juan Q GarufiArgentinaBernardo Dominic UNQUALIFIED
Jennifer I RoysterArgentinaIvan Magalhaes PROPOSAL
Munro X GillianUnited KingdomIoni Bowcher UNQUALIFIED
Maisha C CaldareraJapanIoni Bowcher NEGOTIATION
Faith J StockhamFranceAsiya Javayant UNQUALIFIED
Murillo F GarufiJapanAnna Fali PROPOSAL
Aika M PoquetteIndiaBernardo Dominic PROPOSAL
Frozen Columns
Name
Alejandro F Marrier
Munro W Paprocki
Munro X Gillian
Silvio S Nicka
Aika V Flosi
Tony S Saylors
David W Butt
Costa E Ostrosky
Stacey S Malet
Emily F Butt
Murillo I Figeroa
Emily A Figeroa
Faith X Paprocki
Jones K Ostrosky
Jefferson H Albares
Emily O Inouye
Stacey J Nestle
Jennifer H Darakjy
Tony G Foller
Aruna X Ruta
Adams D Shinko
Alejandro O Tollner
Sinclair U Rulapaugh
Morrow R Poquette
Rodrigues R Ostrosky
David V Oldroyd
Mujtaba X Venere
Mayumi G Caldarera
Chavez T Kusko
Mujtaba Z Venere
Juan C Venere
Aditya H Wieser
Mayumi J Amigon
Morrow O Venere
Isabel Z Albares
Misaki Y Kusko
Kadeem K Malet
Deepesh Q Kusko
Maisha S Saylors
Aditya Y Marrier
Costa S Paprocki
Deepesh C Nestle
Silvio L Ruta
Jefferson Q Bowley
David M Flosi
Jennifer W Campain
Mujtaba U Tollner
Julie A Rim
Morrow Q Stockham
Emily U Gaucho
IdCountryDate
1000Canada2024-05-26
1001Japan2024-06-05
1002Brazil2024-06-09
1003Brazil2024-05-31
1004Argentina2024-06-16
1005Australia2024-06-15
1006Argentina2024-06-18
1007India2024-05-25
1008Spain2024-06-10
1009Russia2024-06-08
1010United Kingdom2024-06-13
1011United Kingdom2024-06-14
1012Canada2024-06-16
1013Germany2024-06-17
1014Canada2024-06-22
1015United Kingdom2024-06-08
1016Brazil2024-06-02
1017Japan2024-05-29
1018Australia2024-06-18
1019Japan2024-06-12
1020Argentina2024-06-15
1021Argentina2024-05-26
1022Italy2024-06-17
1023Spain2024-06-07
1024Italy2024-06-14
1025Australia2024-06-22
1026Russia2024-06-03
1027Japan2024-06-11
1028Argentina2024-06-15
1029India2024-06-15
1030Argentina2024-06-09
1031Brazil2024-06-13
1032Australia2024-05-29
1033Germany2024-06-05
1034Italy2024-05-29
1035Japan2024-06-02
1036India2024-06-13
1037Spain2024-05-30
1038Germany2024-06-20
1039Canada2024-06-14
1040United Kingdom2024-06-20
1041United Kingdom2024-06-18
1042Australia2024-06-16
1043France2024-05-29
1044Canada2024-06-22
1045United Kingdom2024-05-30
1046Brazil2024-06-11
1047France2024-05-31
1048Spain2024-05-29
1049Australia2024-06-23

On-Demand Data

NameIdCountryDate
Arvin A Chui1000India2024-05-28
Ashley F Whobrey1001Brazil2024-06-13
Greenwood U Gaucho1002Spain2024-06-22
Octavia X Waycott1003Italy2024-06-18
Izzy K Foller1004Spain2024-05-27
Johnson O Flosi1005India2024-05-25
Tony W Stockham1006Russia2024-06-14
Octavia J Iturbide1007Spain2024-06-11
Deepesh V Briddick1008Russia2024-06-20
Emily Q Darakjy1009Italy2024-05-27
Silvio U Wieser1010Argentina2024-06-03
Octavia Q Marrier1011Germany2024-06-23
Emily R Stenseth1012Argentina2024-05-25
Maria S Briddick1013Argentina2024-05-26
Nicolas X Venere1014Canada2024-06-09
Munro O Stenseth1015Italy2024-06-17
Ricardo E Butt1016India2024-06-20
Darci W Glick1017India2024-05-25
Clifford R Whobrey1018Argentina2024-06-15
Kadeem N Foller1019France2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki H BowleyArgentinaAnna Fali QUALIFIED
Murillo C SergiArgentinaBernardo Dominic UNQUALIFIED
Greenwood X NestleSpainIoni Bowcher UNQUALIFIED
Ivar J SergiGermanyXuxue Feng PROPOSAL
Silvio X DoeBrazilOnyama Limba UNQUALIFIED
Maisha N PaprockiIndiaIvan Magalhaes RENEWAL
Maisha N NestleCanadaStephen Shaw QUALIFIED
Mujtaba A AmigonUnited KingdomAnna Fali QUALIFIED
Smith F PaprockiArgentinaStephen Shaw QUALIFIED
Aditya V FerenczArgentinaIoni Bowcher NEGOTIATION
Tony K KuskoAustraliaAnna Fali RENEWAL
Aditya J FollerJapanAsiya Javayant QUALIFIED
Salvatore L OldroydSpainBernardo Dominic PROPOSAL
Leon S NestleUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson W CampainCanadaAnna Fali NEW
Emily O CampainGermanyAsiya Javayant PROPOSAL
Octavia R DoeBrazilBernardo Dominic QUALIFIED
Kadeem N SchemmerArgentinaBernardo Dominic NEGOTIATION
David Q KolmetzSpainAmy Elsner RENEWAL
Tony G FlosiGermanyAnna Fali NEGOTIATION
Nicolas W OstroskyAustraliaXuxue Feng UNQUALIFIED
Leja Z MarrierItalyBernardo Dominic PROPOSAL
Rodrigues N WhobreyAustraliaBernardo Dominic PROPOSAL
Antonio B RimArgentinaAsiya Javayant RENEWAL
Salvatore I MaletSpainAsiya Javayant UNQUALIFIED
Smith J KolmetzAustraliaIoni Bowcher NEGOTIATION
Silvio C BowleyItalyAnna Fali RENEWAL
Deepesh N AlbaresGermanyElwin Sharvill QUALIFIED
Francesco A GarufiSpainBernardo Dominic PROPOSAL
Stacey M KolmetzFranceElwin Sharvill NEW
Octavia W SaylorsSpainStephen Shaw PROPOSAL
Costa F GarufiItalyStephen Shaw PROPOSAL
Octavia W SchemmerAustraliaAmy Elsner QUALIFIED
Rodrigues X GarufiArgentinaXuxue Feng QUALIFIED
Darci W GlickGermanyStephen Shaw NEW
Sinclair J CaldareraItalyAmy Elsner NEGOTIATION
Murillo E RimUnited KingdomOnyama Limba QUALIFIED
Deepesh W BriddickJapanAmy Elsner NEW
Morrow M IturbideRussiaAmy Elsner RENEWAL
Misaki I ButtUnited KingdomIoni Bowcher RENEWAL

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