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
Cody K AmigonUnited KingdomStephen Shaw NEW
Chavez Q MarrierSpainStephen Shaw PROPOSAL
Jeanfrancois V GlickRussiaAsiya Javayant NEGOTIATION
Ivar M WieserIndiaXuxue Feng UNQUALIFIED
Stacey K StensethItalyAmy Elsner RENEWAL
Mujtaba J BowleySpainOnyama Limba PROPOSAL
Alejandro M FigeroaFranceElwin Sharvill NEGOTIATION
Stacey W NickaIndiaStephen Shaw PROPOSAL
Chavez Y StensethSpainBernardo Dominic UNQUALIFIED
Jeanfrancois Z TollnerUnited KingdomIvan Magalhaes RENEWAL
Arvin D MaletIndiaAsiya Javayant RENEWAL
Mujtaba V GillianItalyXuxue Feng NEW
Murillo B SchemmerJapanIvan Magalhaes QUALIFIED
Francesco C DarakjyItalyAnna Fali NEGOTIATION
Claire V KuskoCanadaAnna Fali QUALIFIED
Claire X WhobreyIndiaElwin Sharvill RENEWAL
Smith Q KuskoArgentinaStephen Shaw UNQUALIFIED
Murillo A DoeUnited KingdomBernardo Dominic QUALIFIED
Aika D StensethItalyBernardo Dominic NEGOTIATION
Jeanfrancois A SergiBrazilBernardo Dominic QUALIFIED
Smith O CaudyJapanElwin Sharvill UNQUALIFIED
Morrow P VocelkaGermanyAnna Fali NEGOTIATION
Leja L WaycottRussiaIoni Bowcher RENEWAL
Maisha G InouyeBrazilIoni Bowcher UNQUALIFIED
Juan J SaylorsFranceAsiya Javayant RENEWAL
Chavez L FigeroaIndiaElwin Sharvill PROPOSAL
Juan R SergiUnited KingdomAsiya Javayant QUALIFIED
Johnson F NestleBrazilElwin Sharvill PROPOSAL
Tony X InouyeSpainElwin Sharvill UNQUALIFIED
Jennifer N VenereJapanIvan Magalhaes NEGOTIATION
Francesco R KolmetzIndiaIoni Bowcher RENEWAL
Clifford T OldroydRussiaXuxue Feng PROPOSAL
Jones Y SlusarskiBrazilOnyama Limba NEW
Greenwood T OldroydArgentinaIvan Magalhaes RENEWAL
Arvin M CaldareraFranceBernardo Dominic NEW
Misaki D KuskoRussiaAsiya Javayant UNQUALIFIED
Izzy O VocelkaBrazilOnyama Limba PROPOSAL
Faith T NestleAustraliaXuxue Feng QUALIFIED
Alejandro Y FigeroaFranceAnna Fali NEGOTIATION
Costa Y FerenczCanadaIvan Magalhaes NEW
Costa L RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Arvin Z MaletArgentinaXuxue Feng QUALIFIED
Darci N BriddickItalyXuxue Feng UNQUALIFIED
Silvio Z GlickSpainBernardo Dominic RENEWAL
Jones F GillianIndiaAnna Fali QUALIFIED
Munro A FlosiFranceXuxue Feng QUALIFIED
Leja W ChuiGermanyOnyama Limba QUALIFIED
Aruna O NickaFranceAmy Elsner NEGOTIATION
Tony L SchemmerSpainElwin Sharvill RENEWAL
Stacey S ShinkoAustraliaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem U FlosiJapanAsiya Javayant PROPOSAL
Emily Z RoysterRussiaXuxue Feng NEW
Leja T SergiSpainAmy Elsner PROPOSAL
Sinclair L CampainGermanyBernardo Dominic UNQUALIFIED
Aruna Z MorascaItalyIoni Bowcher RENEWAL
Julie I ShinkoGermanyXuxue Feng RENEWAL
Stacey A WaycottArgentinaIvan Magalhaes NEGOTIATION
Stacey P OstroskyItalyXuxue Feng NEGOTIATION
Isabel V FerenczCanadaAsiya Javayant RENEWAL
Arvin Z TollnerArgentinaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood W CaudySpain2024-06-08Chanay, Jeffrey A Esq PROPOSAL84Anna Fali
1001Julie M RutaAustralia2024-06-21Dorl, James J Esq QUALIFIED92Xuxue Feng
1002David F PerinAustralia2024-06-07Chanay, Jeffrey A Esq NEGOTIATION42Xuxue Feng
1003Adams V OldroydFrance2024-06-08Chemel, James L Cpa PROPOSAL81Asiya Javayant
1004Clifford J OldroydIndia2024-05-29Commercial Press QUALIFIED10Anna Fali
1005Alejandro R BologniaArgentina2024-06-09Morlong Associates PROPOSAL34Ivan Magalhaes
1006Isabel X IturbideItaly2024-05-28Buckley Miller Wright NEW22Stephen Shaw
1007Francesco Z DilliardCanada2024-06-19Feltz Printing Service QUALIFIED93Asiya Javayant
1008Faith L PerinCanada2024-05-27Benton, John B Jr PROPOSAL16Amy Elsner
1009Costa U WhobreySpain2024-05-27Rousseaux, Michael Esq NEGOTIATION67Stephen Shaw
1010Silvio W ButtRussia2024-06-16Chapman, Ross E Esq UNQUALIFIED79Ivan Magalhaes
1011Nicolas D KolmetzFrance2024-05-26King, Christopher A Esq PROPOSAL93Asiya Javayant
1012Aditya M SlusarskiBrazil2024-05-25Truhlar And Truhlar Attys NEGOTIATION99Asiya Javayant
1013Julie N NestleBrazil2024-06-05Feltz Printing Service NEW63Onyama Limba
1014Maisha A MaletArgentina2024-06-21Printing Dimensions RENEWAL3Elwin Sharvill
1015Misaki R InouyeGermany2024-06-08Morlong Associates RENEWAL65Elwin Sharvill
1016Mujtaba K RimIndia2024-06-17Morlong Associates QUALIFIED23Amy Elsner
1017Claire Q BriddickCanada2024-06-16Feiner Bros RENEWAL61Onyama Limba
1018Jennifer Q AmigonCanada2024-06-21Buckley Miller Wright RENEWAL3Onyama Limba
1019Leon A CaldareraArgentina2024-06-04Truhlar And Truhlar Attys QUALIFIED50Anna Fali
1020Maisha U KolmetzJapan2024-06-02Chemel, James L Cpa NEGOTIATION10Anna Fali
1021David T AmigonBrazil2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED68Ioni Bowcher
1022Tony X AlbaresJapan2024-06-01Chanay, Jeffrey A Esq PROPOSAL33Onyama Limba
1023Adams S MaletRussia2024-05-26Chanay, Jeffrey A Esq NEGOTIATION95Xuxue Feng
1024Rodrigues V DilliardArgentina2024-06-05King, Christopher A Esq RENEWAL37Bernardo Dominic
1025Alejandro I BologniaRussia2024-06-09Morlong Associates PROPOSAL66Ivan Magalhaes
1026Deepesh X PerinItaly2024-06-17Chapman, Ross E Esq PROPOSAL89Xuxue Feng
1027Octavia R BowleyItaly2024-06-01Commercial Press NEW9Stephen Shaw
1028Stacey G KuskoJapan2024-05-31Buckley Miller Wright NEGOTIATION34Onyama Limba
1029Claire D KuskoBrazil2024-06-05Chapman, Ross E Esq NEGOTIATION98Stephen Shaw
1030James K OstroskyRussia2024-06-03Benton, John B Jr NEW1Bernardo Dominic
1031Izzy T DoeRussia2024-06-21Chemel, James L Cpa PROPOSAL72Stephen Shaw
1032Francesco S MaletFrance2024-06-16Rousseaux, Michael Esq NEGOTIATION99Xuxue Feng
1033Mujtaba R CampainArgentina2024-06-21Benton, John B Jr NEGOTIATION6Bernardo Dominic
1034Kaitlin R RulapaughJapan2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED62Ioni Bowcher
1035Izzy X SchemmerAustralia2024-06-02Chemel, James L Cpa NEGOTIATION35Bernardo Dominic
1036Kaitlin Q SlusarskiItaly2024-06-08Dorl, James J Esq NEGOTIATION70Stephen Shaw
1037Misaki I RimAustralia2024-06-08Printing Dimensions PROPOSAL78Xuxue Feng
1038Julie Y SchemmerCanada2024-06-16King, Christopher A Esq NEGOTIATION77Ivan Magalhaes
1039Aika E DilliardArgentina2024-06-21Rangoni Of Florence QUALIFIED32Bernardo Dominic
1040Tony J RutaIndia2024-06-10Feltz Printing Service PROPOSAL42Anna Fali
1041Maria C PoquetteRussia2024-05-29Commercial Press PROPOSAL44Asiya Javayant
1042Greenwood G RoysterFrance2024-06-05Chemel, James L Cpa PROPOSAL87Amy Elsner
1043Leon M GlickAustralia2024-06-22Printing Dimensions QUALIFIED16Ioni Bowcher
1044Leja P FlosiFrance2024-06-11Dorl, James J Esq RENEWAL81Elwin Sharvill
1045Nicolas U RutaSpain2024-06-11Dorl, James J Esq RENEWAL13Xuxue Feng
1046Octavia Y DarakjyGermany2024-06-17Rousseaux, Michael Esq PROPOSAL83Onyama Limba
1047Smith K RimBrazil2024-05-25Feltz Printing Service UNQUALIFIED15Onyama Limba
1048Aditya X StensethItaly2024-06-02Chapman, Ross E Esq PROPOSAL86Elwin Sharvill
1049Claire L GauchoCanada2024-06-06Buckley Miller Wright NEGOTIATION75Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maisha T MarrierBrazilXuxue Feng QUALIFIED
Tony V WieserUnited KingdomAmy Elsner UNQUALIFIED
Maisha E PaprockiJapanOnyama Limba QUALIFIED
Salvatore M NickaJapanElwin Sharvill QUALIFIED
Silvio Z SergiRussiaIoni Bowcher NEW
Kadeem D StockhamCanadaAnna Fali QUALIFIED
Stacey W GarufiIndiaIoni Bowcher NEW
Chavez F FerenczJapanIvan Magalhaes RENEWAL
Faith A ShinkoFranceIoni Bowcher PROPOSAL
Aruna G BologniaAustraliaBernardo Dominic QUALIFIED
Jones I InouyeJapanStephen Shaw NEGOTIATION
Ricardo M MaletArgentinaAsiya Javayant NEGOTIATION
Jones H PaprockiSpainXuxue Feng NEW
Nicolas M PaprockiBrazilAsiya Javayant RENEWAL
Ricardo F OstroskyFranceIvan Magalhaes PROPOSAL
Rodrigues K ChuiItalyOnyama Limba PROPOSAL
Faith L FlosiJapanOnyama Limba PROPOSAL
Salvatore H NestleUnited KingdomElwin Sharvill RENEWAL
Octavia Q TollnerUnited KingdomXuxue Feng UNQUALIFIED
Maisha R BriddickJapanStephen Shaw PROPOSAL
Alejandro V GlickAustraliaAsiya Javayant PROPOSAL
Arvin N GarufiRussiaAmy Elsner RENEWAL
Johnson L NestleAustraliaXuxue Feng PROPOSAL
Johnson V SlusarskiSpainElwin Sharvill UNQUALIFIED
Tony Y ShinkoSpainBernardo Dominic QUALIFIED
Deepesh K RulapaughIndiaIoni Bowcher NEW
Murillo L GarufiBrazilAnna Fali PROPOSAL
Chavez P GlickJapanStephen Shaw PROPOSAL
Stacey V CaldareraSpainIoni Bowcher UNQUALIFIED
Julie X CaldareraSpainIoni Bowcher UNQUALIFIED
Sinclair Z GillianBrazilBernardo Dominic RENEWAL
Julie V WaycottBrazilBernardo Dominic PROPOSAL
Aika U BowleyAustraliaBernardo Dominic UNQUALIFIED
Tony W CampainArgentinaAmy Elsner QUALIFIED
Rodrigues O AlbaresCanadaElwin Sharvill RENEWAL
David T InouyeGermanyElwin Sharvill NEW
David J ShinkoBrazilOnyama Limba NEW
Kaitlin E CaudyItalyElwin Sharvill UNQUALIFIED
Silvio E FigeroaSpainXuxue Feng NEW
Wickens X DarakjyFranceStephen Shaw NEW
James E ButtSpainIoni Bowcher NEGOTIATION
Aruna F DilliardRussiaElwin Sharvill NEGOTIATION
Jennifer D GillianIndiaElwin Sharvill QUALIFIED
Darci U PerinUnited KingdomAsiya Javayant QUALIFIED
Kadeem U WhobreyItalyOnyama Limba NEW
David X PaprockiItalyStephen Shaw RENEWAL
Ricardo V GlickCanadaIoni Bowcher QUALIFIED
Francesco C FollerAustraliaOnyama Limba PROPOSAL
Juan Z WhobreyIndiaIvan Magalhaes RENEWAL
Octavia L GillianCanadaAmy Elsner RENEWAL
Frozen Columns
Name
David R Rulapaugh
Nicolas Q Saylors
Aditya D Perin
Mujtaba F Saylors
Juan Q Bowley
Stacey N Albares
Alejandro Y Marrier
Maria V Kolmetz
Leon M Figeroa
Aika X Schemmer
Juan G Tollner
Wickens C Butt
Leon S Shinko
Cody O Albares
Aruna M Dilliard
Juan M Ruta
Murillo B Bolognia
Jones S Butt
Jones E Amigon
Costa Y Flosi
Aika G Caldarera
Morrow O Vocelka
Tony J Rim
Leon L Nestle
Jefferson L Whobrey
Octavia Q Ruta
Johnson I Wieser
Francesco N Sergi
Murillo L Campain
Isabel M Morasca
Arvin P Oldroyd
Deepesh C Sergi
Morrow C Ferencz
Smith C Amigon
Clifford G Marrier
Munro D Figeroa
Jefferson F Whobrey
Alejandro M Butt
Jeanfrancois E Bolognia
Mujtaba Z Oldroyd
Aruna V Malet
Smith W Wieser
Leon S Foller
Silvio N Schemmer
Maria R Waycott
Maisha G Briddick
Stacey P Inouye
Antonio F Kolmetz
Stacey O Kolmetz
Mayumi N Stockham
IdCountryDate
1000United Kingdom2024-05-28
1001United Kingdom2024-05-28
1002Argentina2024-06-12
1003Canada2024-06-12
1004Spain2024-06-15
1005United Kingdom2024-06-02
1006Russia2024-06-04
1007Canada2024-06-16
1008Italy2024-06-18
1009Spain2024-06-11
1010France2024-05-27
1011Italy2024-06-07
1012France2024-06-04
1013Germany2024-06-16
1014Canada2024-06-05
1015Japan2024-05-29
1016France2024-06-19
1017Australia2024-06-16
1018Germany2024-06-18
1019Italy2024-05-29
1020Spain2024-06-03
1021Spain2024-06-07
1022Spain2024-05-25
1023Brazil2024-06-16
1024Canada2024-06-14
1025France2024-06-16
1026Germany2024-06-22
1027Australia2024-05-31
1028France2024-05-30
1029Canada2024-06-13
1030Brazil2024-06-17
1031Canada2024-06-11
1032Spain2024-05-31
1033India2024-06-21
1034Japan2024-05-28
1035United Kingdom2024-06-01
1036Russia2024-06-06
1037Canada2024-06-08
1038United Kingdom2024-05-25
1039India2024-06-04
1040Spain2024-06-12
1041Italy2024-06-10
1042Canada2024-06-21
1043Argentina2024-06-12
1044United Kingdom2024-06-20
1045India2024-06-10
1046Russia2024-06-02
1047Australia2024-06-17
1048Russia2024-06-15
1049France2024-06-17

On-Demand Data

NameIdCountryDate
Cody Z Darakjy1000Germany2024-06-05
Isabel H Nestle1001India2024-06-01
Ashley B Poquette1002Japan2024-06-15
Arvin P Maclead1003United Kingdom2024-06-17
Jennifer E Morasca1004France2024-06-15
James S Morasca1005Germany2024-06-18
David F Bolognia1006Canada2024-06-13
Jennifer Z Oldroyd1007Japan2024-06-14
Jennifer F Amigon1008Australia2024-06-06
Kadeem U Caudy1009Italy2024-05-28
Rodrigues O Kolmetz1010Japan2024-06-04
Kadeem I Doe1011Brazil2024-06-15
Izzy P Maclead1012Germany2024-06-09
David R Shinko1013United Kingdom2024-06-21
James K Doe1014Spain2024-06-01
Juan W Nicka1015France2024-06-11
Johnson Q Whobrey1016Argentina2024-06-05
Munro B Gillian1017Russia2024-06-06
Leon F Sergi1018Brazil2024-06-06
Ivar S Venere1019Russia2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika C OstroskySpainXuxue Feng NEW
Faith F PerinCanadaXuxue Feng UNQUALIFIED
Ricardo I GillianRussiaBernardo Dominic UNQUALIFIED
Sinclair J SlusarskiJapanAsiya Javayant QUALIFIED
Octavia E IturbideBrazilAmy Elsner RENEWAL
Ivar J MaletFranceIoni Bowcher NEW
Ricardo F MarrierFranceAnna Fali QUALIFIED
Salvatore J RoysterArgentinaIvan Magalhaes UNQUALIFIED
Greenwood X SchemmerCanadaBernardo Dominic NEW
Tony U FollerUnited KingdomAsiya Javayant PROPOSAL
Aruna D WhobreyGermanyAmy Elsner QUALIFIED
Izzy P ButtIndiaAmy Elsner UNQUALIFIED
Sinclair K IturbideItalyElwin Sharvill QUALIFIED
Claire P OstroskyRussiaAsiya Javayant NEGOTIATION
Salvatore R MarrierAustraliaElwin Sharvill QUALIFIED
David O MorascaSpainAnna Fali NEW
Greenwood P SchemmerCanadaAsiya Javayant PROPOSAL
David K PerinArgentinaBernardo Dominic RENEWAL
Octavia T MacleadSpainAsiya Javayant UNQUALIFIED
Kaitlin I DoeRussiaAsiya Javayant QUALIFIED
Misaki N MaletItalyOnyama Limba RENEWAL
Mayumi T ChuiSpainStephen Shaw NEW
Octavia N MarrierIndiaAmy Elsner RENEWAL
Claire Q WhobreySpainIvan Magalhaes PROPOSAL
Maria J VenereIndiaXuxue Feng NEW
Isabel O FerenczUnited KingdomElwin Sharvill RENEWAL
Leja W PaprockiRussiaIoni Bowcher NEW
Ricardo Z PaprockiArgentinaIoni Bowcher UNQUALIFIED
Faith G VenereRussiaOnyama Limba NEW
Nicolas O ButtRussiaAsiya Javayant NEGOTIATION
Johnson D ButtItalyAmy Elsner UNQUALIFIED
David C MorascaSpainXuxue Feng QUALIFIED
Mujtaba J WhobreyUnited KingdomAmy Elsner PROPOSAL
Mayumi Q SaylorsCanadaIoni Bowcher NEW
Silvio E CampainIndiaIoni Bowcher RENEWAL
Leja N SchemmerAustraliaIoni Bowcher PROPOSAL
Costa N FlosiItalyElwin Sharvill PROPOSAL
Maisha T SaylorsSpainBernardo Dominic RENEWAL
Misaki C SaylorsGermanyIoni Bowcher NEGOTIATION
Aditya Q DarakjyGermanyBernardo Dominic PROPOSAL

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