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 Q PaprockiCanadaIoni Bowcher NEGOTIATION
Claire I OldroydArgentinaAmy Elsner QUALIFIED
David B MorascaGermanyAmy Elsner QUALIFIED
Mayumi X MacleadUnited KingdomIoni Bowcher NEGOTIATION
Darci W DilliardGermanyStephen Shaw RENEWAL
Munro V DilliardJapanElwin Sharvill RENEWAL
Sinclair N MacleadGermanyIvan Magalhaes NEGOTIATION
Julie O FlosiIndiaAsiya Javayant QUALIFIED
Stacey J DilliardGermanyAsiya Javayant QUALIFIED
Kadeem Z ShinkoUnited KingdomIoni Bowcher PROPOSAL
Mujtaba G MaletIndiaIoni Bowcher NEGOTIATION
Isabel P SergiGermanyIvan Magalhaes UNQUALIFIED
Jones D GlickRussiaXuxue Feng UNQUALIFIED
Nicolas K GlickIndiaElwin Sharvill UNQUALIFIED
Arvin G GauchoJapanAnna Fali NEW
Faith C NickaCanadaAnna Fali PROPOSAL
Maisha Z PoquetteItalyXuxue Feng NEGOTIATION
Misaki L InouyeFranceOnyama Limba NEGOTIATION
Maisha W ShinkoGermanyAnna Fali QUALIFIED
Darci J MaletJapanBernardo Dominic NEGOTIATION
Ivar C RutaIndiaAnna Fali PROPOSAL
Jefferson Z KuskoAustraliaIvan Magalhaes PROPOSAL
Mujtaba X RimSpainStephen Shaw UNQUALIFIED
Rodrigues H MacleadAustraliaOnyama Limba QUALIFIED
Rodrigues M ChuiJapanElwin Sharvill PROPOSAL
Juan N CaudyBrazilOnyama Limba RENEWAL
Maisha Q BriddickArgentinaAnna Fali NEGOTIATION
Maisha P RoysterIndiaXuxue Feng NEW
Octavia S PoquetteItalyBernardo Dominic NEW
Leja U KolmetzItalyBernardo Dominic QUALIFIED
Jeanfrancois P InouyeArgentinaAnna Fali RENEWAL
Deepesh Y WhobreyBrazilAsiya Javayant NEGOTIATION
Alejandro L DilliardArgentinaXuxue Feng UNQUALIFIED
Costa N SergiJapanIoni Bowcher NEW
Sinclair K SchemmerAustraliaAnna Fali NEGOTIATION
Aika X GauchoJapanStephen Shaw NEGOTIATION
Jeanfrancois B NestleBrazilIoni Bowcher QUALIFIED
Murillo O GauchoRussiaElwin Sharvill RENEWAL
Johnson Y SergiFranceAsiya Javayant PROPOSAL
Mayumi S KuskoItalyStephen Shaw NEGOTIATION
Misaki K RimIndiaIoni Bowcher RENEWAL
Jones U FlosiItalyElwin Sharvill PROPOSAL
Sinclair N FlosiSpainBernardo Dominic QUALIFIED
Julie G BowleySpainOnyama Limba QUALIFIED
Costa N WhobreyFranceIvan Magalhaes PROPOSAL
Jones Q TollnerGermanyStephen Shaw NEW
Tony R GarufiCanadaIoni Bowcher UNQUALIFIED
Alejandro N RulapaughGermanyAnna Fali PROPOSAL
Octavia K GillianIndiaAnna Fali RENEWAL
Emily K MacleadUnited KingdomAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon V NickaGermanyElwin Sharvill RENEWAL
David K GauchoAustraliaXuxue Feng QUALIFIED
Emily U CaudyItalyIoni Bowcher QUALIFIED
Silvio N MacleadFranceElwin Sharvill NEW
Claire B GarufiFranceBernardo Dominic NEGOTIATION
Octavia H OstroskyItalyElwin Sharvill QUALIFIED
Misaki P SchemmerRussiaXuxue Feng RENEWAL
Silvio N VenereArgentinaAmy Elsner QUALIFIED
Maria I WhobreyItalyOnyama Limba PROPOSAL
David V GlickArgentinaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony B ChuiAustralia2026-07-12Rousseaux, Michael Esq UNQUALIFIED79Bernardo Dominic
1001Smith A StockhamUnited Kingdom2026-07-04Printing Dimensions NEGOTIATION27Anna Fali
1002Nicolas H GarufiJapan2026-06-24Feiner Bros RENEWAL34Elwin Sharvill
1003Stacey Y ChuiIndia2026-06-28Dorl, James J Esq RENEWAL13Anna Fali
1004Silvio V FigeroaRussia2026-07-21Truhlar And Truhlar Attys QUALIFIED81Onyama Limba
1005Deepesh J KolmetzCanada2026-07-08King, Christopher A Esq NEGOTIATION39Onyama Limba
1006Kaitlin G CaldareraSpain2026-06-24Chapman, Ross E Esq RENEWAL0Onyama Limba
1007Arvin V VenereFrance2026-07-17Rousseaux, Michael Esq PROPOSAL72Elwin Sharvill
1008Ricardo T BologniaFrance2026-07-03Commercial Press NEW45Stephen Shaw
1009Mayumi T CaudyItaly2026-06-30Printing Dimensions PROPOSAL67Stephen Shaw
1010Darci G OstroskySpain2026-07-12Chemel, James L Cpa RENEWAL8Onyama Limba
1011Nicolas D RoysterIndia2026-06-27Rangoni Of Florence PROPOSAL74Elwin Sharvill
1012Silvio G WhobreyRussia2026-07-16Rangoni Of Florence NEW70Elwin Sharvill
1013Juan M BriddickRussia2026-07-02Buckley Miller Wright RENEWAL45Anna Fali
1014Greenwood R BriddickSpain2026-07-02Benton, John B Jr QUALIFIED5Asiya Javayant
1015Smith W MaletBrazil2026-06-27Feltz Printing Service NEGOTIATION15Anna Fali
1016Costa B ButtItaly2026-06-24Commercial Press RENEWAL29Stephen Shaw
1017Arvin E WhobreyCanada2026-06-28Chanay, Jeffrey A Esq UNQUALIFIED63Asiya Javayant
1018Aditya X PoquetteCanada2026-07-18Dorl, James J Esq UNQUALIFIED65Xuxue Feng
1019Ivar G NestleItaly2026-07-11Chanay, Jeffrey A Esq UNQUALIFIED74Ivan Magalhaes
1020Smith T NickaIndia2026-06-30Rangoni Of Florence QUALIFIED57Bernardo Dominic
1021Munro G ButtIndia2026-07-19Chapman, Ross E Esq QUALIFIED71Amy Elsner
1022Maria K AlbaresUnited Kingdom2026-06-27Morlong Associates QUALIFIED24Elwin Sharvill
1023Aruna L MarrierGermany2026-07-17Chapman, Ross E Esq PROPOSAL30Bernardo Dominic
1024Deepesh Y BriddickGermany2026-07-21Morlong Associates PROPOSAL18Ivan Magalhaes
1025Tony H GauchoAustralia2026-07-15Rousseaux, Michael Esq PROPOSAL56Stephen Shaw
1026Antonio J ButtJapan2026-07-23Printing Dimensions PROPOSAL49Amy Elsner
1027Kaitlin U ShinkoUnited Kingdom2026-07-07Chemel, James L Cpa NEW51Anna Fali
1028Stacey P ShinkoAustralia2026-07-18Commercial Press RENEWAL2Stephen Shaw
1029David U StockhamAustralia2026-06-28Chanay, Jeffrey A Esq PROPOSAL5Onyama Limba
1030Leja V SlusarskiSpain2026-06-24Rousseaux, Michael Esq RENEWAL72Xuxue Feng
1031Wickens F OstroskyItaly2026-07-17Rousseaux, Michael Esq QUALIFIED77Asiya Javayant
1032Misaki I MorascaGermany2026-07-12Buckley Miller Wright QUALIFIED51Stephen Shaw
1033Ashley D SchemmerArgentina2026-07-05Buckley Miller Wright PROPOSAL68Amy Elsner
1034David Z PoquetteRussia2026-06-24Chapman, Ross E Esq RENEWAL62Asiya Javayant
1035Aruna C MaletRussia2026-07-08Buckley Miller Wright RENEWAL60Asiya Javayant
1036Faith K PaprockiFrance2026-06-29Truhlar And Truhlar Attys NEW83Xuxue Feng
1037Isabel N FlosiSpain2026-07-18Chemel, James L Cpa PROPOSAL96Anna Fali
1038Francesco K MacleadIndia2026-07-11Buckley Miller Wright RENEWAL30Xuxue Feng
1039Maisha K RimUnited Kingdom2026-06-29Rangoni Of Florence RENEWAL17Asiya Javayant
1040Costa Z GillianCanada2026-07-05Chemel, James L Cpa QUALIFIED96Elwin Sharvill
1041Salvatore X PoquetteAustralia2026-07-23Chapman, Ross E Esq QUALIFIED26Xuxue Feng
1042Emily D AmigonSpain2026-07-19Printing Dimensions PROPOSAL74Elwin Sharvill
1043Kaitlin V DarakjyItaly2026-07-02Commercial Press PROPOSAL45Asiya Javayant
1044Kaitlin R CaldareraItaly2026-06-30Buckley Miller Wright RENEWAL3Ivan Magalhaes
1045Kaitlin C ButtAustralia2026-06-30Buckley Miller Wright PROPOSAL42Stephen Shaw
1046Izzy G DarakjyGermany2026-07-03Rousseaux, Michael Esq UNQUALIFIED34Elwin Sharvill
1047Claire C DilliardIndia2026-07-21Truhlar And Truhlar Attys NEW3Onyama Limba
1048Rodrigues D GarufiItaly2026-07-06Chemel, James L Cpa NEW4Asiya Javayant
1049Salvatore D RoysterGermany2026-07-11Morlong Associates RENEWAL57Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jennifer K OldroydRussiaElwin Sharvill RENEWAL
Ashley Q PerinUnited KingdomAmy Elsner UNQUALIFIED
Chavez P GarufiIndiaAmy Elsner UNQUALIFIED
Kaitlin V GauchoArgentinaAsiya Javayant NEGOTIATION
Cody J RimIndiaIvan Magalhaes NEGOTIATION
Tony K FollerUnited KingdomElwin Sharvill NEGOTIATION
Munro Y WhobreyJapanAnna Fali NEW
Aditya J GarufiGermanyElwin Sharvill NEGOTIATION
Rodrigues L MaletRussiaBernardo Dominic PROPOSAL
Emily O FerenczArgentinaIoni Bowcher NEW
Greenwood T FlosiUnited KingdomXuxue Feng NEW
James O BologniaAustraliaIvan Magalhaes PROPOSAL
Stacey B SchemmerCanadaAmy Elsner UNQUALIFIED
Izzy O BologniaIndiaAsiya Javayant NEGOTIATION
Jones S InouyeUnited KingdomAsiya Javayant NEW
Jones U BologniaGermanyAsiya Javayant QUALIFIED
Francesco K VenereIndiaBernardo Dominic QUALIFIED
Faith G MorascaJapanXuxue Feng UNQUALIFIED
Deepesh G AmigonGermanyIoni Bowcher RENEWAL
Mayumi I KolmetzAustraliaElwin Sharvill UNQUALIFIED
Jones B WhobreyIndiaIvan Magalhaes QUALIFIED
Mayumi F GlickJapanBernardo Dominic PROPOSAL
Kaitlin B GauchoBrazilIoni Bowcher QUALIFIED
Faith A GarufiUnited KingdomElwin Sharvill RENEWAL
Leja T DarakjyCanadaElwin Sharvill UNQUALIFIED
Greenwood N GauchoItalyStephen Shaw PROPOSAL
Alejandro M CaldareraIndiaElwin Sharvill UNQUALIFIED
Mayumi M IturbideSpainStephen Shaw NEGOTIATION
Antonio P FlosiItalyXuxue Feng NEGOTIATION
Smith Z IturbideSpainAnna Fali RENEWAL
Aditya J MarrierJapanBernardo Dominic QUALIFIED
Jones N BologniaAustraliaAsiya Javayant PROPOSAL
Ivar E KuskoSpainAsiya Javayant NEGOTIATION
Cody G MarrierGermanyIvan Magalhaes NEW
Cody W TollnerUnited KingdomBernardo Dominic PROPOSAL
Murillo D MacleadItalyAmy Elsner QUALIFIED
Costa L BriddickItalyOnyama Limba RENEWAL
Jennifer O StensethBrazilAnna Fali UNQUALIFIED
Aika K MacleadArgentinaStephen Shaw QUALIFIED
Emily W KolmetzArgentinaOnyama Limba NEGOTIATION
Antonio R IturbideJapanAmy Elsner RENEWAL
Sinclair B WaycottGermanyIoni Bowcher NEGOTIATION
Faith B ChuiAustraliaIoni Bowcher NEW
Ricardo V BologniaIndiaAnna Fali PROPOSAL
Sinclair Y GarufiBrazilAnna Fali NEGOTIATION
Aditya I FlosiFranceXuxue Feng PROPOSAL
Silvio W MacleadIndiaOnyama Limba QUALIFIED
Aruna Z SchemmerJapanIvan Magalhaes NEW
Deepesh A FlosiAustraliaOnyama Limba QUALIFIED
Ashley V RoysterSpainIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Munro E Glick
Stacey Z Poquette
Jones N Rulapaugh
Stacey L Bolognia
Greenwood Y Iturbide
Misaki D Shinko
Smith U Ostrosky
Chavez D Gaucho
Munro U Campain
Ashley T Paprocki
Wickens K Nicka
Darci F Bowley
Silvio X Gillian
Cody B Amigon
Izzy S Campain
Aruna O Glick
Francesco C Poquette
Faith D Marrier
Rodrigues Y Tollner
Ashley J Bolognia
Misaki H Rim
Adams K Figeroa
Maisha H Rim
Darci L Ostrosky
Munro O Glick
Juan A Nestle
Chavez K Stockham
Nicolas E Amigon
Wickens Y Rulapaugh
Ashley N Caudy
Mujtaba Z Ferencz
Ricardo L Figeroa
Kaitlin F Wieser
Jones C Saylors
Costa I Tollner
Smith E Oldroyd
Rodrigues H Darakjy
Stacey Y Perin
Octavia M Bowley
Wickens K Foller
Aditya C Shinko
Claire C Nestle
Julie J Darakjy
Morrow H Caudy
Johnson N Schemmer
Maisha S Bolognia
Octavia Z Gillian
Salvatore H Figeroa
Cody Q Ferencz
Greenwood L Kusko
IdCountryDate
1000United Kingdom2026-07-05
1001Canada2026-06-29
1002Japan2026-07-18
1003Brazil2026-07-20
1004India2026-07-06
1005India2026-07-02
1006United Kingdom2026-07-23
1007Japan2026-07-17
1008India2026-07-04
1009France2026-07-17
1010Italy2026-06-30
1011Russia2026-07-12
1012Japan2026-06-24
1013Argentina2026-07-23
1014Argentina2026-07-07
1015Australia2026-06-24
1016Russia2026-07-11
1017Italy2026-07-15
1018United Kingdom2026-06-30
1019Argentina2026-06-24
1020Italy2026-07-07
1021Germany2026-07-10
1022United Kingdom2026-07-20
1023Argentina2026-06-29
1024Germany2026-06-26
1025India2026-07-07
1026India2026-07-22
1027Brazil2026-07-05
1028Russia2026-07-04
1029Germany2026-07-01
1030India2026-07-01
1031Germany2026-07-20
1032Spain2026-06-24
1033Argentina2026-07-09
1034Spain2026-07-08
1035Australia2026-07-03
1036Japan2026-07-20
1037France2026-07-20
1038United Kingdom2026-06-30
1039Japan2026-07-08
1040Australia2026-07-11
1041Canada2026-07-22
1042Japan2026-06-28
1043India2026-06-25
1044Brazil2026-07-18
1045Australia2026-07-06
1046Italy2026-07-23
1047Russia2026-07-22
1048Italy2026-07-10
1049Brazil2026-06-27

On-Demand Data

NameIdCountryDate
Misaki X Iturbide1000Argentina2026-07-19
Alejandro U Marrier1001Argentina2026-07-05
Misaki W Dilliard1002Italy2026-07-04
Maisha A Maclead1003United Kingdom2026-06-27
Jeanfrancois Z Malet1004Spain2026-06-24
Cody P Malet1005Canada2026-07-17
Isabel M Bolognia1006Argentina2026-07-08
Octavia N Poquette1007Argentina2026-06-25
Juan X Royster1008India2026-06-28
Ricardo B Whobrey1009India2026-07-03
Wickens O Perin1010Australia2026-06-25
Aruna J Ruta1011Italy2026-07-06
Maria O Perin1012Canada2026-06-25
Costa E Nestle1013France2026-07-04
Tony W Poquette1014Russia2026-06-29
Jefferson I Malet1015Brazil2026-07-05
Greenwood E Shinko1016Australia2026-07-09
Misaki T Kolmetz1017Canada2026-07-07
Kadeem M Ostrosky1018Canada2026-07-15
Leja Q Stenseth1019Russia2026-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa V CampainBrazilElwin Sharvill UNQUALIFIED
Misaki Z MaletJapanAsiya Javayant NEW
Aika U KolmetzGermanyBernardo Dominic RENEWAL
Adams M GarufiCanadaAnna Fali UNQUALIFIED
Deepesh J RoysterFranceAnna Fali QUALIFIED
David W PaprockiGermanyOnyama Limba NEGOTIATION
Alejandro U AmigonItalyStephen Shaw UNQUALIFIED
Cody S DilliardArgentinaAnna Fali QUALIFIED
Jones Z GlickSpainOnyama Limba RENEWAL
Adams X CaudyIndiaXuxue Feng PROPOSAL
Kadeem S ButtAustraliaIoni Bowcher NEGOTIATION
Greenwood Y StensethRussiaElwin Sharvill RENEWAL
Aika C FerenczUnited KingdomAsiya Javayant NEGOTIATION
Maisha W RulapaughFranceStephen Shaw UNQUALIFIED
Munro Z SchemmerAustraliaOnyama Limba NEW
Aruna W BriddickRussiaIoni Bowcher NEGOTIATION
Jefferson K FigeroaIndiaElwin Sharvill PROPOSAL
Greenwood W MarrierFranceAnna Fali QUALIFIED
Francesco W DoeSpainElwin Sharvill NEW
Emily U CaudyRussiaOnyama Limba PROPOSAL
Nicolas S FigeroaAustraliaOnyama Limba QUALIFIED
Isabel C WieserUnited KingdomAnna Fali QUALIFIED
Adams L SchemmerRussiaStephen Shaw NEGOTIATION
James M CampainArgentinaBernardo Dominic UNQUALIFIED
Kadeem P CaldareraGermanyAnna Fali PROPOSAL
Jones W CaldareraArgentinaStephen Shaw NEGOTIATION
Nicolas N DilliardGermanyBernardo Dominic PROPOSAL
Antonio F BriddickBrazilBernardo Dominic NEGOTIATION
Rodrigues K KuskoJapanOnyama Limba NEW
Salvatore B IturbideJapanOnyama Limba NEW
Claire L StockhamCanadaElwin Sharvill NEGOTIATION
Munro D VenereGermanyAmy Elsner RENEWAL
Isabel B FlosiArgentinaBernardo Dominic PROPOSAL
Smith R PaprockiFranceAmy Elsner NEGOTIATION
Jefferson I SaylorsBrazilElwin Sharvill NEW
Cody V InouyeIndiaIvan Magalhaes NEGOTIATION
Mujtaba N DilliardFranceIvan Magalhaes NEW
Chavez D RutaArgentinaAnna Fali PROPOSAL
Rodrigues X RoysterCanadaStephen Shaw RENEWAL
Francesco U FigeroaSpainAnna Fali 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>