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
Aika E BowleyIndiaAmy Elsner UNQUALIFIED
Stacey D PaprockiGermanyStephen Shaw NEW
Maisha L RoysterRussiaBernardo Dominic NEGOTIATION
Faith O MaletUnited KingdomIvan Magalhaes QUALIFIED
Emily D VenereAustraliaIoni Bowcher PROPOSAL
Kadeem U InouyeItalyBernardo Dominic RENEWAL
Mujtaba P DilliardGermanyXuxue Feng RENEWAL
Francesco T StockhamBrazilOnyama Limba NEGOTIATION
Greenwood S SchemmerRussiaOnyama Limba NEW
Arvin K CampainCanadaXuxue Feng PROPOSAL
Deepesh L OldroydJapanBernardo Dominic UNQUALIFIED
Ricardo Q MacleadItalyXuxue Feng RENEWAL
Nicolas H WaycottFranceStephen Shaw QUALIFIED
Misaki R BriddickBrazilBernardo Dominic NEGOTIATION
Cody Y KuskoFranceAnna Fali QUALIFIED
David T MaletSpainBernardo Dominic PROPOSAL
Johnson I MaletItalyIoni Bowcher RENEWAL
Murillo P WaycottBrazilAnna Fali NEGOTIATION
Emily G MorascaGermanyOnyama Limba UNQUALIFIED
James J MaletGermanyAnna Fali RENEWAL
Morrow Z KolmetzRussiaAmy Elsner UNQUALIFIED
Ricardo H FigeroaSpainAsiya Javayant RENEWAL
Kaitlin S ButtFranceAmy Elsner QUALIFIED
Aruna W CaldareraGermanyElwin Sharvill QUALIFIED
Mujtaba T WieserSpainStephen Shaw QUALIFIED
Salvatore B OldroydIndiaOnyama Limba NEW
Morrow N KolmetzArgentinaStephen Shaw PROPOSAL
Sinclair B BologniaSpainAmy Elsner RENEWAL
Ashley P ShinkoSpainBernardo Dominic NEW
Arvin S NickaArgentinaOnyama Limba QUALIFIED
Greenwood T ButtAustraliaXuxue Feng NEGOTIATION
Maisha P WaycottJapanXuxue Feng UNQUALIFIED
Murillo P SchemmerIndiaBernardo Dominic NEGOTIATION
Aika D WhobreyUnited KingdomOnyama Limba QUALIFIED
Izzy K GauchoCanadaOnyama Limba UNQUALIFIED
Emily X SchemmerJapanStephen Shaw UNQUALIFIED
Wickens X SaylorsIndiaAmy Elsner QUALIFIED
Morrow E OldroydIndiaStephen Shaw RENEWAL
Jennifer H GillianBrazilBernardo Dominic RENEWAL
Leon M FigeroaJapanElwin Sharvill UNQUALIFIED
Maria C WieserBrazilIvan Magalhaes NEGOTIATION
Faith M BriddickGermanyOnyama Limba PROPOSAL
Chavez E BowleySpainIoni Bowcher NEGOTIATION
James H FlosiFranceOnyama Limba QUALIFIED
Jennifer Y MaletArgentinaStephen Shaw RENEWAL
Ricardo Z PaprockiArgentinaBernardo Dominic QUALIFIED
Mayumi A NickaUnited KingdomIoni Bowcher PROPOSAL
Arvin S AlbaresFranceAsiya Javayant QUALIFIED
Ricardo J KolmetzGermanyBernardo Dominic PROPOSAL
Emily P DarakjyIndiaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Munro Y WieserAustraliaOnyama Limba UNQUALIFIED
Misaki W OstroskyAustraliaAsiya Javayant RENEWAL
Silvio N FollerIndiaOnyama Limba QUALIFIED
Isabel S BowleyItalyAsiya Javayant RENEWAL
Mayumi W OstroskyItalyElwin Sharvill UNQUALIFIED
Izzy T PerinJapanBernardo Dominic NEW
David G StockhamCanadaAnna Fali NEGOTIATION
Alejandro P KolmetzFranceBernardo Dominic RENEWAL
Juan S StensethGermanyAmy Elsner RENEWAL
Munro X BriddickIndiaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie R AlbaresArgentina2024-06-17King, Christopher A Esq PROPOSAL43Anna Fali
1001Octavia V VenereJapan2024-06-18Feiner Bros NEW47Amy Elsner
1002Maisha X RulapaughBrazil2024-05-29Benton, John B Jr RENEWAL16Bernardo Dominic
1003Aruna L DarakjyArgentina2024-05-24Rousseaux, Michael Esq PROPOSAL95Anna Fali
1004Rodrigues Y WieserArgentina2024-06-15Rousseaux, Michael Esq UNQUALIFIED62Asiya Javayant
1005Aika P GarufiArgentina2024-05-31Feiner Bros QUALIFIED56Ioni Bowcher
1006Murillo C ChuiAustralia2024-06-18Feiner Bros QUALIFIED54Onyama Limba
1007Francesco G DoeUnited Kingdom2024-06-18Chanay, Jeffrey A Esq QUALIFIED67Xuxue Feng
1008Costa Y TollnerRussia2024-06-16Rousseaux, Michael Esq UNQUALIFIED95Ioni Bowcher
1009Jeanfrancois W IturbideFrance2024-06-18Buckley Miller Wright RENEWAL58Xuxue Feng
1010Mayumi L NestleRussia2024-06-20Rangoni Of Florence NEGOTIATION89Amy Elsner
1011Octavia Q BriddickCanada2024-06-11Morlong Associates PROPOSAL87Ioni Bowcher
1012Costa R DoeRussia2024-05-28Morlong Associates RENEWAL45Bernardo Dominic
1013Greenwood O InouyeFrance2024-05-24Dorl, James J Esq RENEWAL72Bernardo Dominic
1014Wickens U GauchoUnited Kingdom2024-06-16King, Christopher A Esq NEW6Ivan Magalhaes
1015Ivar A CaudyGermany2024-06-09Rousseaux, Michael Esq NEW45Stephen Shaw
1016Clifford P FollerUnited Kingdom2024-06-21Chanay, Jeffrey A Esq NEGOTIATION64Bernardo Dominic
1017Rodrigues W ChuiSpain2024-06-02Rousseaux, Michael Esq UNQUALIFIED95Ivan Magalhaes
1018David Z SchemmerUnited Kingdom2024-06-08Feltz Printing Service NEW34Ioni Bowcher
1019Kadeem I ShinkoSpain2024-06-19Feiner Bros NEW62Stephen Shaw
1020Wickens I MarrierArgentina2024-06-08Rangoni Of Florence QUALIFIED52Elwin Sharvill
1021Munro C CampainBrazil2024-06-08Benton, John B Jr PROPOSAL29Anna Fali
1022Wickens K RoysterCanada2024-05-28Rousseaux, Michael Esq PROPOSAL15Amy Elsner
1023Kadeem U SaylorsIndia2024-05-27King, Christopher A Esq RENEWAL36Ioni Bowcher
1024Jefferson K WaycottItaly2024-06-20Chanay, Jeffrey A Esq QUALIFIED26Stephen Shaw
1025Leon S DoeCanada2024-06-13Truhlar And Truhlar Attys QUALIFIED35Stephen Shaw
1026Aruna J RimArgentina2024-06-03Commercial Press RENEWAL60Bernardo Dominic
1027Kadeem K OldroydItaly2024-06-21Rangoni Of Florence PROPOSAL56Ioni Bowcher
1028Izzy I FigeroaRussia2024-06-18Feiner Bros RENEWAL50Ioni Bowcher
1029Stacey A SlusarskiJapan2024-06-21Printing Dimensions RENEWAL34Ioni Bowcher
1030Mayumi R OstroskySpain2024-06-09King, Christopher A Esq NEGOTIATION61Amy Elsner
1031Clifford N IturbideItaly2024-06-17Truhlar And Truhlar Attys NEW98Bernardo Dominic
1032Francesco A ShinkoUnited Kingdom2024-06-14Chemel, James L Cpa UNQUALIFIED78Stephen Shaw
1033Aruna E PaprockiItaly2024-05-24King, Christopher A Esq PROPOSAL93Elwin Sharvill
1034Wickens K DilliardFrance2024-05-25Truhlar And Truhlar Attys UNQUALIFIED96Ioni Bowcher
1035Munro F IturbideIndia2024-06-13Morlong Associates RENEWAL96Onyama Limba
1036Antonio K VocelkaIndia2024-06-09Commercial Press PROPOSAL20Asiya Javayant
1037Leon C DarakjyJapan2024-06-02Commercial Press UNQUALIFIED26Anna Fali
1038Rodrigues V TollnerSpain2024-05-31Chapman, Ross E Esq PROPOSAL63Elwin Sharvill
1039Stacey D GlickJapan2024-06-03Printing Dimensions PROPOSAL28Elwin Sharvill
1040Deepesh B NestleUnited Kingdom2024-06-15Rousseaux, Michael Esq QUALIFIED58Amy Elsner
1041Claire Q FigeroaCanada2024-06-09Feiner Bros PROPOSAL48Asiya Javayant
1042Kadeem F CaudyUnited Kingdom2024-06-13Commercial Press UNQUALIFIED26Anna Fali
1043Alejandro V StockhamUnited Kingdom2024-06-20Chanay, Jeffrey A Esq QUALIFIED26Onyama Limba
1044Jefferson P PaprockiBrazil2024-06-08Commercial Press NEW8Xuxue Feng
1045Ashley T ButtUnited Kingdom2024-06-08Buckley Miller Wright QUALIFIED51Onyama Limba
1046Mujtaba Z FollerArgentina2024-06-12Printing Dimensions NEW78Elwin Sharvill
1047Aruna Z DilliardItaly2024-06-21Commercial Press PROPOSAL43Amy Elsner
1048Sinclair G WieserFrance2024-06-03Printing Dimensions PROPOSAL81Anna Fali
1049Maisha B WhobreyRussia2024-06-14Rousseaux, Michael Esq QUALIFIED86Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maisha C GillianJapanOnyama Limba NEW
Aika A CampainAustraliaBernardo Dominic QUALIFIED
Octavia A OstroskySpainOnyama Limba RENEWAL
Alejandro H CaudyCanadaAnna Fali NEGOTIATION
Darci A VenereIndiaXuxue Feng NEGOTIATION
Claire F OldroydRussiaElwin Sharvill NEW
Maria J BriddickSpainOnyama Limba QUALIFIED
Tony I CampainJapanAnna Fali QUALIFIED
Ivar S ChuiItalyXuxue Feng UNQUALIFIED
Deepesh W OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Octavia J ChuiFranceIvan Magalhaes UNQUALIFIED
Kaitlin S SchemmerSpainAsiya Javayant UNQUALIFIED
Stacey T NickaBrazilXuxue Feng NEGOTIATION
Maisha W FlosiSpainOnyama Limba NEW
David U ChuiGermanyIoni Bowcher UNQUALIFIED
Isabel E OldroydItalyElwin Sharvill UNQUALIFIED
Jones L FlosiCanadaAmy Elsner NEW
Tony W DilliardRussiaAmy Elsner PROPOSAL
Ricardo W ButtAustraliaAsiya Javayant NEGOTIATION
Misaki A FerenczIndiaIoni Bowcher RENEWAL
Misaki D GarufiArgentinaBernardo Dominic RENEWAL
Maisha P PaprockiJapanBernardo Dominic NEW
Morrow M PerinGermanyAsiya Javayant PROPOSAL
Nicolas X IturbideItalyElwin Sharvill PROPOSAL
Clifford O KolmetzItalyIvan Magalhaes NEGOTIATION
Leja O CaudyRussiaStephen Shaw RENEWAL
Adams Q MaletSpainElwin Sharvill RENEWAL
Cody B PerinGermanyXuxue Feng RENEWAL
Jefferson B KolmetzGermanyOnyama Limba UNQUALIFIED
Kaitlin B DarakjyAustraliaStephen Shaw RENEWAL
Maisha O KolmetzGermanyIvan Magalhaes NEGOTIATION
Ricardo M MaletBrazilBernardo Dominic NEGOTIATION
Aika Y MacleadFranceOnyama Limba RENEWAL
Costa P AmigonSpainIoni Bowcher NEW
Munro O GarufiFranceXuxue Feng PROPOSAL
Jones F RoysterUnited KingdomBernardo Dominic RENEWAL
Aruna G FollerItalyAsiya Javayant PROPOSAL
Misaki B BologniaIndiaBernardo Dominic PROPOSAL
Costa Z ChuiItalyIvan Magalhaes QUALIFIED
Arvin M SlusarskiFranceStephen Shaw RENEWAL
Emily S NestleCanadaAsiya Javayant PROPOSAL
Jennifer C RulapaughItalyXuxue Feng UNQUALIFIED
Tony Q MorascaItalyBernardo Dominic NEGOTIATION
Salvatore Z DarakjyRussiaAmy Elsner NEW
Stacey U MaletIndiaIoni Bowcher NEGOTIATION
Johnson E ChuiFranceAnna Fali PROPOSAL
Morrow J AlbaresArgentinaElwin Sharvill NEW
David B MaletAustraliaAnna Fali PROPOSAL
Deepesh L MaletRussiaBernardo Dominic NEW
Jones E RutaRussiaAmy Elsner PROPOSAL
Frozen Columns
Name
Cody R Marrier
Claire H Bolognia
Alejandro Y Inouye
Antonio P Stockham
Munro J Albares
Wickens V Bolognia
Leon B Figeroa
David J Rulapaugh
Kaitlin G Kolmetz
Francesco B Caldarera
Chavez R Bolognia
Darci G Vocelka
Francesco T Marrier
Leja I Oldroyd
Izzy X Gaucho
Isabel O Stenseth
Ivar R Malet
Morrow E Nestle
Maisha Y Butt
Sinclair Q Dilliard
Mujtaba W Doe
Cody A Royster
Kadeem N Albares
Adams J Malet
Munro U Nicka
Adams N Ruta
Leja L Flosi
Aruna X Wieser
Mujtaba K Nestle
Antonio S Nicka
Maisha T Rim
Emily D Poquette
Aditya I Ruta
Maisha B Briddick
Octavia K Royster
Adams D Flosi
Maisha M Bolognia
Izzy M Malet
Jefferson J Gillian
Antonio L Morasca
Jones U Oldroyd
Izzy H Sergi
David L Caldarera
Chavez I Kolmetz
Juan A Schemmer
Octavia P Garufi
Isabel O Foller
Kadeem E Slusarski
Jones U Caudy
Costa I Tollner
IdCountryDate
1000Argentina2024-06-13
1001Argentina2024-06-02
1002Brazil2024-06-19
1003Italy2024-05-26
1004Italy2024-06-17
1005Italy2024-05-30
1006Australia2024-06-18
1007India2024-05-29
1008France2024-06-15
1009Japan2024-06-08
1010India2024-06-05
1011India2024-06-15
1012Spain2024-05-29
1013Germany2024-06-21
1014Brazil2024-06-12
1015Japan2024-05-28
1016France2024-06-09
1017Canada2024-05-24
1018Italy2024-05-30
1019Australia2024-06-01
1020Russia2024-06-08
1021United Kingdom2024-06-19
1022Spain2024-06-20
1023Germany2024-05-30
1024Brazil2024-06-08
1025Australia2024-06-15
1026Canada2024-05-27
1027Spain2024-05-23
1028Australia2024-06-09
1029Brazil2024-05-24
1030France2024-06-20
1031Argentina2024-05-31
1032Spain2024-06-10
1033United Kingdom2024-06-20
1034United Kingdom2024-06-06
1035United Kingdom2024-05-24
1036Australia2024-05-23
1037Italy2024-05-28
1038Canada2024-06-13
1039France2024-06-02
1040United Kingdom2024-06-16
1041India2024-06-08
1042Japan2024-05-23
1043Russia2024-05-23
1044Russia2024-06-10
1045Spain2024-06-13
1046United Kingdom2024-06-08
1047Australia2024-06-06
1048France2024-06-20
1049Russia2024-06-01

On-Demand Data

NameIdCountryDate
Clifford T Briddick1000India2024-06-06
Kaitlin T Perin1001Argentina2024-05-23
Smith F Ferencz1002Russia2024-06-04
Costa M Tollner1003Argentina2024-06-08
Arvin E Poquette1004India2024-05-30
Jones P Nicka1005Spain2024-06-09
Juan E Oldroyd1006United Kingdom2024-06-07
Mayumi V Chui1007Brazil2024-06-05
Claire M Malet1008Spain2024-06-01
Salvatore G Rulapaugh1009Canada2024-06-10
Ashley A Vocelka1010France2024-05-23
Arvin B Briddick1011Italy2024-06-20
Darci Z Iturbide1012Argentina2024-06-02
Aika C Rulapaugh1013India2024-06-10
Francesco D Vocelka1014Russia2024-06-05
Wickens K Glick1015Argentina2024-06-21
Leja K Inouye1016France2024-06-17
Faith P Ferencz1017Italy2024-06-11
Mujtaba V Campain1018Italy2024-06-08
Darci F Slusarski1019Italy2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro B RulapaughFranceBernardo Dominic NEGOTIATION
Kadeem E DilliardIndiaIoni Bowcher PROPOSAL
Aditya G FollerItalyAmy Elsner RENEWAL
Misaki G MacleadBrazilOnyama Limba QUALIFIED
Octavia I WaycottItalyStephen Shaw NEGOTIATION
Jeanfrancois J AlbaresJapanElwin Sharvill QUALIFIED
Jennifer S ChuiSpainAnna Fali PROPOSAL
Silvio W DilliardCanadaAnna Fali NEW
James T PerinRussiaAnna Fali RENEWAL
Maisha T RoysterArgentinaIvan Magalhaes NEW
Stacey D InouyeSpainXuxue Feng NEW
Alejandro F StockhamItalyXuxue Feng NEGOTIATION
Isabel S GillianSpainBernardo Dominic QUALIFIED
Rodrigues W GauchoUnited KingdomAsiya Javayant PROPOSAL
Tony I MorascaGermanyOnyama Limba NEGOTIATION
Smith B FlosiItalyOnyama Limba NEGOTIATION
Stacey W DilliardSpainIoni Bowcher NEW
Aruna O GauchoArgentinaBernardo Dominic NEGOTIATION
Ricardo S WhobreySpainIoni Bowcher PROPOSAL
Rodrigues E RutaUnited KingdomAmy Elsner PROPOSAL
Jefferson X AmigonFranceAnna Fali UNQUALIFIED
Ashley T BriddickJapanStephen Shaw QUALIFIED
Faith L MaletUnited KingdomAnna Fali RENEWAL
Johnson S WaycottBrazilAmy Elsner QUALIFIED
Ricardo O BriddickRussiaOnyama Limba NEGOTIATION
Sinclair C TollnerGermanyBernardo Dominic QUALIFIED
Darci P GillianGermanyOnyama Limba QUALIFIED
Salvatore U VenereArgentinaStephen Shaw NEGOTIATION
Ricardo C ShinkoFranceBernardo Dominic RENEWAL
Nicolas Y PaprockiGermanyBernardo Dominic NEGOTIATION
Juan S KolmetzSpainAmy Elsner PROPOSAL
Wickens A NestleAustraliaAnna Fali QUALIFIED
Cody B FlosiBrazilIvan Magalhaes NEGOTIATION
Misaki G RoysterJapanIvan Magalhaes NEGOTIATION
Jones T SaylorsCanadaAmy Elsner RENEWAL
Claire D StockhamArgentinaAsiya Javayant QUALIFIED
Chavez H WhobreySpainOnyama Limba UNQUALIFIED
Ivar G KuskoGermanyXuxue Feng RENEWAL
Silvio W InouyeBrazilIoni Bowcher PROPOSAL
Mujtaba U BriddickUnited KingdomElwin Sharvill 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>