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
Jennifer G WieserArgentinaIoni Bowcher NEGOTIATION
Antonio K BologniaFranceAsiya Javayant RENEWAL
Murillo J PoquetteRussiaStephen Shaw QUALIFIED
Munro H DoeArgentinaXuxue Feng QUALIFIED
Juan S RutaRussiaXuxue Feng QUALIFIED
Jones A NestleIndiaAmy Elsner NEW
Nicolas O MacleadJapanIoni Bowcher UNQUALIFIED
Adams T CampainAustraliaAmy Elsner NEGOTIATION
Emily C RutaItalyIoni Bowcher PROPOSAL
Isabel F PoquetteBrazilAmy Elsner QUALIFIED
Aditya W StensethSpainAmy Elsner QUALIFIED
Kaitlin Z BologniaArgentinaAmy Elsner NEW
Costa W CaldareraJapanXuxue Feng PROPOSAL
Octavia D PoquetteIndiaIoni Bowcher RENEWAL
Jones B RutaBrazilAsiya Javayant PROPOSAL
Nicolas E ShinkoAustraliaAnna Fali NEGOTIATION
Francesco P KuskoIndiaIvan Magalhaes QUALIFIED
Sinclair L KolmetzBrazilAnna Fali QUALIFIED
Tony J AmigonAustraliaElwin Sharvill QUALIFIED
Sinclair F RoysterAustraliaStephen Shaw QUALIFIED
Silvio P MaletGermanyElwin Sharvill NEW
Isabel V ButtUnited KingdomIoni Bowcher NEW
Alejandro X CaldareraRussiaAsiya Javayant QUALIFIED
Greenwood G WaycottRussiaIoni Bowcher RENEWAL
Darci C MarrierGermanyOnyama Limba UNQUALIFIED
Nicolas X SaylorsIndiaAnna Fali RENEWAL
Isabel T RutaFranceStephen Shaw NEW
Chavez Y StensethArgentinaStephen Shaw PROPOSAL
Smith R VenereAustraliaStephen Shaw NEGOTIATION
Jefferson P RulapaughBrazilIoni Bowcher RENEWAL
Morrow A BologniaItalyStephen Shaw UNQUALIFIED
Faith X SchemmerItalyAmy Elsner RENEWAL
Wickens B CampainItalyIoni Bowcher QUALIFIED
Mayumi O FigeroaItalyBernardo Dominic RENEWAL
Costa H BriddickBrazilBernardo Dominic NEGOTIATION
Ricardo H PaprockiFranceOnyama Limba UNQUALIFIED
Greenwood J VocelkaBrazilXuxue Feng QUALIFIED
Francesco V StockhamBrazilAnna Fali NEW
Rodrigues Z AlbaresItalyElwin Sharvill PROPOSAL
Cody K FollerFranceStephen Shaw QUALIFIED
Isabel J KuskoSpainIvan Magalhaes QUALIFIED
Wickens H MaletGermanyElwin Sharvill RENEWAL
Maisha B VenereUnited KingdomAnna Fali NEW
Deepesh L GarufiCanadaIoni Bowcher NEGOTIATION
Aditya P CaldareraJapanStephen Shaw QUALIFIED
Isabel U PerinItalyElwin Sharvill UNQUALIFIED
Aditya G CampainSpainOnyama Limba UNQUALIFIED
David Q ShinkoFranceXuxue Feng NEGOTIATION
Octavia S ChuiGermanyBernardo Dominic RENEWAL
Salvatore E MaletIndiaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jefferson Y BowleyArgentinaIoni Bowcher PROPOSAL
Juan Q OldroydArgentinaStephen Shaw NEW
Maisha R KolmetzBrazilAsiya Javayant NEW
Morrow I WhobreyArgentinaIoni Bowcher UNQUALIFIED
Ivar I MacleadCanadaIvan Magalhaes PROPOSAL
Tony O MarrierBrazilIvan Magalhaes UNQUALIFIED
Munro J SergiArgentinaXuxue Feng UNQUALIFIED
Nicolas U RutaUnited KingdomOnyama Limba PROPOSAL
Greenwood W ChuiCanadaAsiya Javayant NEGOTIATION
Munro N StockhamBrazilBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi B BriddickGermany2026-08-13Rousseaux, Michael Esq RENEWAL99Elwin Sharvill
1001Ricardo N FerenczCanada2026-08-20Dorl, James J Esq PROPOSAL34Asiya Javayant
1002Mayumi E KolmetzUnited Kingdom2026-08-12Rousseaux, Michael Esq UNQUALIFIED1Ioni Bowcher
1003Aditya H InouyeRussia2026-07-24Commercial Press NEW4Elwin Sharvill
1004Stacey A ShinkoAustralia2026-08-16Buckley Miller Wright NEGOTIATION98Onyama Limba
1005Isabel B ChuiJapan2026-07-23Rangoni Of Florence UNQUALIFIED74Xuxue Feng
1006Johnson G MaletCanada2026-08-18Rangoni Of Florence NEGOTIATION12Bernardo Dominic
1007Alejandro R SaylorsUnited Kingdom2026-08-12Chanay, Jeffrey A Esq NEGOTIATION89Stephen Shaw
1008James H KuskoGermany2026-08-18Morlong Associates PROPOSAL38Asiya Javayant
1009Adams U GauchoFrance2026-08-19Rousseaux, Michael Esq PROPOSAL28Elwin Sharvill
1010Adams O NestleIndia2026-07-28Chanay, Jeffrey A Esq NEW83Ivan Magalhaes
1011Juan O DoeItaly2026-08-16Feiner Bros NEGOTIATION94Stephen Shaw
1012Darci J KolmetzUnited Kingdom2026-08-11Commercial Press NEW40Ivan Magalhaes
1013Chavez N MaletFrance2026-08-11Benton, John B Jr PROPOSAL28Xuxue Feng
1014Aditya N RimItaly2026-08-03Feiner Bros RENEWAL65Amy Elsner
1015Adams W CaudyRussia2026-07-23Chemel, James L Cpa QUALIFIED91Amy Elsner
1016Chavez L VenereIndia2026-08-03Buckley Miller Wright NEGOTIATION55Stephen Shaw
1017Chavez C FerenczJapan2026-07-25Rousseaux, Michael Esq PROPOSAL56Asiya Javayant
1018Octavia R MacleadCanada2026-08-19Benton, John B Jr RENEWAL45Anna Fali
1019Francesco X NickaJapan2026-08-13Morlong Associates QUALIFIED43Xuxue Feng
1020Aika S GarufiRussia2026-08-09Feiner Bros UNQUALIFIED15Asiya Javayant
1021Antonio R GauchoJapan2026-08-04Dorl, James J Esq UNQUALIFIED88Amy Elsner
1022Ivar N AmigonJapan2026-07-30Buckley Miller Wright NEW60Xuxue Feng
1023Emily M NestleJapan2026-08-09Printing Dimensions PROPOSAL77Stephen Shaw
1024Costa P DilliardGermany2026-08-05Truhlar And Truhlar Attys QUALIFIED74Ivan Magalhaes
1025Aika H CampainItaly2026-07-27Rangoni Of Florence RENEWAL68Xuxue Feng
1026Aruna T DilliardIndia2026-07-30Feiner Bros QUALIFIED91Amy Elsner
1027Claire Q GarufiItaly2026-08-18Morlong Associates UNQUALIFIED95Xuxue Feng
1028Antonio D GauchoJapan2026-08-01Benton, John B Jr NEW73Ioni Bowcher
1029Chavez Y RulapaughArgentina2026-08-17Chemel, James L Cpa NEW47Amy Elsner
1030Sinclair W GarufiAustralia2026-08-04Feltz Printing Service RENEWAL84Anna Fali
1031Chavez V PaprockiItaly2026-07-26King, Christopher A Esq QUALIFIED7Amy Elsner
1032Antonio G GarufiUnited Kingdom2026-08-07King, Christopher A Esq UNQUALIFIED22Stephen Shaw
1033Sinclair W ShinkoGermany2026-08-03Rousseaux, Michael Esq UNQUALIFIED5Asiya Javayant
1034Antonio N RulapaughGermany2026-08-05Feltz Printing Service NEGOTIATION35Ivan Magalhaes
1035Chavez W ButtAustralia2026-08-15Rousseaux, Michael Esq NEW34Xuxue Feng
1036Aruna J BriddickArgentina2026-07-24Truhlar And Truhlar Attys NEGOTIATION80Amy Elsner
1037Julie Z InouyeRussia2026-08-12King, Christopher A Esq UNQUALIFIED26Xuxue Feng
1038Murillo D FollerArgentina2026-07-29Feltz Printing Service PROPOSAL62Asiya Javayant
1039Maria G StockhamGermany2026-08-14Rangoni Of Florence RENEWAL27Elwin Sharvill
1040Aruna B MaletJapan2026-07-28Benton, John B Jr NEW22Ivan Magalhaes
1041Ivar R OldroydSpain2026-08-16Feiner Bros UNQUALIFIED1Amy Elsner
1042Kadeem R PerinArgentina2026-08-03Morlong Associates NEW8Stephen Shaw
1043Rodrigues K InouyeAustralia2026-08-10Truhlar And Truhlar Attys QUALIFIED97Bernardo Dominic
1044Ashley U ShinkoItaly2026-08-18Benton, John B Jr PROPOSAL45Stephen Shaw
1045Emily E AlbaresJapan2026-07-25Buckley Miller Wright NEW23Ioni Bowcher
1046Tony B MaletUnited Kingdom2026-07-24Buckley Miller Wright PROPOSAL74Asiya Javayant
1047Alejandro N DoeItaly2026-08-13Feiner Bros NEW44Stephen Shaw
1048Ricardo K AmigonRussia2026-08-09Morlong Associates QUALIFIED97Bernardo Dominic
1049Faith Q BologniaBrazil2026-08-06Chemel, James L Cpa UNQUALIFIED2Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ashley O OldroydItalyIvan Magalhaes QUALIFIED
Tony J MarrierIndiaIoni Bowcher UNQUALIFIED
Juan X AlbaresItalyAmy Elsner UNQUALIFIED
Alejandro F PerinRussiaElwin Sharvill PROPOSAL
Greenwood U AmigonFranceAnna Fali RENEWAL
Mayumi Z NestleFranceIoni Bowcher NEW
Aruna K PerinJapanBernardo Dominic PROPOSAL
Leja V NestleBrazilStephen Shaw NEW
Mayumi H OstroskyRussiaIvan Magalhaes NEW
Julie B BologniaSpainAnna Fali QUALIFIED
Arvin E BriddickSpainIoni Bowcher PROPOSAL
Antonio V MaletItalyAnna Fali NEW
Ricardo O ShinkoAustraliaElwin Sharvill QUALIFIED
Jennifer U TollnerIndiaIoni Bowcher QUALIFIED
Misaki N RutaRussiaAmy Elsner PROPOSAL
Izzy N VocelkaFranceBernardo Dominic NEW
Ivar A GlickArgentinaAsiya Javayant NEGOTIATION
Antonio Z FlosiItalyAnna Fali PROPOSAL
Darci C KolmetzCanadaIvan Magalhaes RENEWAL
Jeanfrancois V IturbideIndiaElwin Sharvill QUALIFIED
Jones J CaldareraRussiaAnna Fali NEW
Claire C BriddickUnited KingdomOnyama Limba UNQUALIFIED
Claire O BowleyCanadaBernardo Dominic RENEWAL
Claire S BologniaBrazilIoni Bowcher UNQUALIFIED
Jones L RulapaughCanadaBernardo Dominic RENEWAL
Aika A GarufiGermanyAsiya Javayant NEW
Greenwood Z RimBrazilIvan Magalhaes PROPOSAL
Chavez T AlbaresBrazilIoni Bowcher RENEWAL
Morrow F BologniaCanadaXuxue Feng NEGOTIATION
Deepesh H StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Francesco U VocelkaAustraliaIoni Bowcher NEGOTIATION
Leon M GillianUnited KingdomOnyama Limba NEGOTIATION
Aika P SaylorsRussiaAsiya Javayant UNQUALIFIED
Leja Q CaldareraFranceAnna Fali NEGOTIATION
Chavez O VocelkaRussiaAnna Fali UNQUALIFIED
Kaitlin R StockhamJapanXuxue Feng NEW
Izzy A CampainCanadaXuxue Feng NEGOTIATION
Isabel J ButtAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois H DilliardIndiaIvan Magalhaes NEGOTIATION
Kaitlin V BowleySpainIvan Magalhaes NEW
Maria R MorascaFranceElwin Sharvill NEGOTIATION
Maisha Q AlbaresItalyStephen Shaw UNQUALIFIED
Francesco J PaprockiArgentinaIoni Bowcher NEGOTIATION
Jones S SaylorsFranceAsiya Javayant QUALIFIED
Morrow K OldroydGermanyIoni Bowcher RENEWAL
Maria Q AmigonUnited KingdomXuxue Feng RENEWAL
Leon G PerinGermanyXuxue Feng UNQUALIFIED
Smith E IturbideItalyAmy Elsner QUALIFIED
Claire Q ChuiGermanyElwin Sharvill RENEWAL
Clifford Q IturbideCanadaBernardo Dominic NEW
Frozen Columns
Name
Costa K Campain
Ashley B Figeroa
Greenwood Y Iturbide
Wickens B Gaucho
Maria H Tollner
Costa I Caudy
Cody R Ruta
Ashley W Stockham
Greenwood L Venere
Francesco R Gillian
Jones R Paprocki
Alejandro A Saylors
Chavez Q Saylors
Greenwood E Bolognia
Francesco Y Kolmetz
Stacey L Vocelka
Misaki V Iturbide
Deepesh F Stenseth
Claire N Stenseth
Emily J Shinko
Jefferson G Royster
Julie Y Glick
Emily Q Glick
Jefferson D Figeroa
Maria V Slusarski
Antonio F Bowley
Darci J Caldarera
Maria M Foller
Sinclair D Stockham
Sinclair J Briddick
Silvio M Nestle
Isabel N Briddick
Arvin E Darakjy
Sinclair I Glick
Jeanfrancois H Tollner
Aditya T Schemmer
Izzy Z Ostrosky
Jennifer U Malet
Maisha X Paprocki
Adams G Perin
Cody Q Tollner
Clifford Q Saylors
Maria D Paprocki
Stacey O Gillian
Rodrigues Z Inouye
Aika V Perin
Wickens M Wieser
Clifford M Malet
Arvin G Poquette
Juan A Tollner
IdCountryDate
1000Brazil2026-08-17
1001Russia2026-08-19
1002Russia2026-07-27
1003Argentina2026-07-30
1004Germany2026-07-29
1005France2026-07-24
1006Australia2026-08-16
1007Russia2026-08-02
1008Australia2026-08-12
1009Australia2026-08-05
1010United Kingdom2026-08-13
1011Argentina2026-07-27
1012United Kingdom2026-07-29
1013Australia2026-08-06
1014Russia2026-08-06
1015India2026-07-25
1016Canada2026-08-11
1017France2026-08-04
1018United Kingdom2026-08-14
1019Germany2026-07-25
1020Brazil2026-07-25
1021United Kingdom2026-08-12
1022Brazil2026-07-22
1023Argentina2026-08-05
1024United Kingdom2026-08-06
1025Germany2026-07-27
1026France2026-08-13
1027India2026-07-24
1028Russia2026-08-05
1029Italy2026-08-09
1030France2026-08-20
1031United Kingdom2026-08-19
1032Canada2026-07-30
1033United Kingdom2026-08-12
1034Canada2026-08-05
1035Germany2026-08-10
1036Argentina2026-08-15
1037Spain2026-08-05
1038India2026-08-10
1039Germany2026-08-01
1040Germany2026-08-08
1041Spain2026-08-16
1042Canada2026-08-12
1043Australia2026-07-27
1044India2026-07-31
1045Australia2026-07-25
1046Spain2026-08-10
1047United Kingdom2026-08-07
1048Canada2026-07-24
1049United Kingdom2026-08-18

On-Demand Data

NameIdCountryDate
Smith P Gaucho1000United Kingdom2026-08-02
Chavez Q Campain1001Canada2026-08-04
Stacey N Royster1002United Kingdom2026-08-05
Silvio H Stockham1003Brazil2026-08-13
Juan M Vocelka1004Spain2026-08-11
Maisha F Inouye1005Italy2026-07-24
Ashley K Rulapaugh1006Germany2026-07-22
Nicolas J Saylors1007India2026-08-04
Stacey Y Dilliard1008India2026-07-23
Sinclair W Wieser1009Japan2026-08-19
Rodrigues B Gillian1010Argentina2026-08-01
Leon T Stenseth1011India2026-08-02
Jennifer N Shinko1012Canada2026-07-28
Aika M Venere1013Brazil2026-07-31
Ivar X Stenseth1014France2026-07-31
Chavez Y Garufi1015Australia2026-08-03
Kaitlin M Whobrey1016Russia2026-07-22
Sinclair G Venere1017Brazil2026-07-28
Jones X Butt1018Italy2026-08-13
Maria O Briddick1019Russia2026-08-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio I RutaUnited KingdomStephen Shaw RENEWAL
Alejandro M ChuiUnited KingdomAmy Elsner QUALIFIED
Costa F BologniaJapanXuxue Feng NEGOTIATION
David M SergiBrazilXuxue Feng RENEWAL
Chavez E OldroydJapanOnyama Limba QUALIFIED
Murillo D StockhamSpainAnna Fali NEW
Emily Y NickaGermanyStephen Shaw NEGOTIATION
Emily Q KolmetzFranceIoni Bowcher NEGOTIATION
Alejandro B SaylorsAustraliaElwin Sharvill RENEWAL
Ivar B DilliardItalyOnyama Limba PROPOSAL
Octavia B BologniaFranceIvan Magalhaes NEW
Julie O AmigonItalyIvan Magalhaes NEGOTIATION
Leon Q NestleItalyAnna Fali NEGOTIATION
Aika S GauchoGermanyAsiya Javayant UNQUALIFIED
Greenwood R FlosiJapanBernardo Dominic QUALIFIED
Greenwood D RoysterBrazilAsiya Javayant NEW
Mayumi Y OstroskySpainAsiya Javayant QUALIFIED
Mujtaba O ButtFranceXuxue Feng RENEWAL
Ivar P AlbaresFranceAnna Fali UNQUALIFIED
Kaitlin J OstroskyJapanXuxue Feng UNQUALIFIED
Costa Q OldroydFranceOnyama Limba NEW
Octavia W MacleadUnited KingdomXuxue Feng RENEWAL
Murillo C OstroskyItalyXuxue Feng NEGOTIATION
Leja U DilliardArgentinaIvan Magalhaes UNQUALIFIED
Francesco Q PoquetteFranceIvan Magalhaes QUALIFIED
Sinclair S MaletSpainStephen Shaw RENEWAL
Chavez V VocelkaUnited KingdomElwin Sharvill QUALIFIED
Sinclair W PerinJapanAnna Fali PROPOSAL
Izzy G SchemmerArgentinaStephen Shaw UNQUALIFIED
Leon L WieserJapanAmy Elsner QUALIFIED
Leon Z DoeCanadaStephen Shaw NEGOTIATION
Antonio Y KuskoRussiaAmy Elsner RENEWAL
Cody I CaudyBrazilAsiya Javayant UNQUALIFIED
Misaki P DoeUnited KingdomStephen Shaw QUALIFIED
Faith J RulapaughSpainXuxue Feng QUALIFIED
Salvatore T RulapaughBrazilIoni Bowcher UNQUALIFIED
Murillo D DarakjyCanadaAsiya Javayant NEGOTIATION
Jones K DilliardRussiaStephen Shaw UNQUALIFIED
Aditya W FollerUnited KingdomXuxue Feng UNQUALIFIED
Jennifer A AlbaresItalyElwin Sharvill UNQUALIFIED

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