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
David K CaldareraBrazilIoni Bowcher RENEWAL
Maria Q VocelkaRussiaBernardo Dominic NEW
Jones E CampainIndiaOnyama Limba UNQUALIFIED
Murillo W WieserBrazilAnna Fali NEW
Adams I RulapaughItalyElwin Sharvill QUALIFIED
Rodrigues O GarufiSpainStephen Shaw QUALIFIED
Alejandro P BologniaBrazilOnyama Limba RENEWAL
Costa C MaletItalyStephen Shaw PROPOSAL
Izzy J RoysterSpainElwin Sharvill PROPOSAL
Maria S FollerCanadaAnna Fali UNQUALIFIED
Jefferson C MaletFranceBernardo Dominic UNQUALIFIED
Rodrigues J MarrierCanadaAnna Fali PROPOSAL
Kadeem U FigeroaGermanyAsiya Javayant QUALIFIED
Faith V SlusarskiGermanyStephen Shaw NEW
Antonio K ChuiAustraliaAsiya Javayant NEGOTIATION
Deepesh I FlosiJapanXuxue Feng QUALIFIED
Isabel H DarakjyCanadaStephen Shaw NEGOTIATION
Arvin O SchemmerBrazilXuxue Feng NEW
Maria Y NickaItalyElwin Sharvill QUALIFIED
Jefferson F SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Murillo E WhobreyArgentinaElwin Sharvill UNQUALIFIED
Aditya W GarufiCanadaElwin Sharvill NEGOTIATION
Cody N RulapaughRussiaIoni Bowcher NEW
Ivar V SaylorsArgentinaBernardo Dominic QUALIFIED
Julie X PaprockiJapanStephen Shaw PROPOSAL
Jefferson H CaudyFranceAsiya Javayant UNQUALIFIED
Adams K KuskoIndiaAsiya Javayant RENEWAL
Costa T TollnerBrazilOnyama Limba RENEWAL
Maria H FollerFranceBernardo Dominic PROPOSAL
Claire F SergiArgentinaAnna Fali NEGOTIATION
Silvio A BowleyArgentinaOnyama Limba PROPOSAL
Leon V VocelkaIndiaIoni Bowcher QUALIFIED
Rodrigues I BologniaFranceAsiya Javayant QUALIFIED
Clifford S AlbaresGermanyIvan Magalhaes NEGOTIATION
Aditya I ButtRussiaAmy Elsner UNQUALIFIED
Smith L RulapaughItalyXuxue Feng PROPOSAL
Izzy B MorascaArgentinaIoni Bowcher RENEWAL
Salvatore E CampainAustraliaXuxue Feng QUALIFIED
Silvio Y TollnerIndiaAmy Elsner PROPOSAL
Adams F MorascaJapanAsiya Javayant RENEWAL
Ricardo A FigeroaFranceOnyama Limba NEW
Aditya T MaletFranceIvan Magalhaes PROPOSAL
Arvin C ShinkoGermanyAnna Fali PROPOSAL
Leja V GillianJapanAnna Fali QUALIFIED
Leja F MaletArgentinaOnyama Limba RENEWAL
Ashley I FigeroaAustraliaIvan Magalhaes NEGOTIATION
Smith L NickaAustraliaIoni Bowcher UNQUALIFIED
Kaitlin C MaletAustraliaIoni Bowcher NEGOTIATION
Izzy U FlosiAustraliaAmy Elsner UNQUALIFIED
Leja H InouyeFranceElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem L BriddickUnited KingdomElwin Sharvill QUALIFIED
Wickens V KuskoGermanyXuxue Feng NEGOTIATION
Munro L NickaGermanyElwin Sharvill UNQUALIFIED
Mujtaba R CaudyBrazilAnna Fali QUALIFIED
Wickens X PoquetteUnited KingdomIvan Magalhaes NEW
Munro X OldroydSpainStephen Shaw UNQUALIFIED
Sinclair D RulapaughSpainIoni Bowcher NEW
Arvin L GlickItalyIvan Magalhaes RENEWAL
Aruna Q CaudyItalyAmy Elsner UNQUALIFIED
Faith G VocelkaCanadaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson R SlusarskiBrazil2024-05-27Truhlar And Truhlar Attys PROPOSAL73Ioni Bowcher
1001Ricardo Y FlosiRussia2024-05-25Feltz Printing Service UNQUALIFIED67Asiya Javayant
1002Isabel B MarrierGermany2024-06-18Buckley Miller Wright QUALIFIED35Onyama Limba
1003Greenwood Z FigeroaBrazil2024-06-08Chanay, Jeffrey A Esq NEGOTIATION48Ioni Bowcher
1004Jennifer W NestleArgentina2024-06-11Chemel, James L Cpa RENEWAL57Elwin Sharvill
1005Cody B PoquetteGermany2024-06-21Rangoni Of Florence QUALIFIED87Asiya Javayant
1006Octavia L BriddickSpain2024-06-09Rousseaux, Michael Esq NEW73Onyama Limba
1007Greenwood C DilliardRussia2024-06-12Truhlar And Truhlar Attys NEGOTIATION96Xuxue Feng
1008Costa Q RoysterRussia2024-06-04Benton, John B Jr UNQUALIFIED86Amy Elsner
1009Juan X StockhamArgentina2024-06-11Commercial Press NEW3Onyama Limba
1010Ricardo K FigeroaIndia2024-06-20Feltz Printing Service NEGOTIATION99Anna Fali
1011Julie W NickaUnited Kingdom2024-06-07Chapman, Ross E Esq RENEWAL13Ivan Magalhaes
1012Jones J VocelkaRussia2024-06-11Chanay, Jeffrey A Esq PROPOSAL13Anna Fali
1013Kaitlin Y SlusarskiGermany2024-06-20Chanay, Jeffrey A Esq QUALIFIED93Stephen Shaw
1014Juan F GarufiJapan2024-06-21Chapman, Ross E Esq UNQUALIFIED70Onyama Limba
1015Deepesh X SaylorsSpain2024-06-15Dorl, James J Esq RENEWAL84Xuxue Feng
1016Isabel T AmigonBrazil2024-06-21Commercial Press PROPOSAL28Onyama Limba
1017Ricardo V MorascaCanada2024-06-04Buckley Miller Wright PROPOSAL47Ioni Bowcher
1018Adams E PerinJapan2024-06-05Feiner Bros UNQUALIFIED49Stephen Shaw
1019Mayumi O GillianFrance2024-05-29Rousseaux, Michael Esq QUALIFIED32Xuxue Feng
1020Kadeem S ShinkoBrazil2024-06-15King, Christopher A Esq RENEWAL19Elwin Sharvill
1021Kaitlin X PoquetteBrazil2024-06-14Buckley Miller Wright NEGOTIATION24Bernardo Dominic
1022Murillo Y MorascaSpain2024-05-30Buckley Miller Wright PROPOSAL57Asiya Javayant
1023Leja X StockhamJapan2024-05-27Chemel, James L Cpa NEW21Xuxue Feng
1024Maria H VocelkaSpain2024-06-19Rousseaux, Michael Esq PROPOSAL15Amy Elsner
1025Kaitlin Q PerinFrance2024-06-03Commercial Press NEW93Amy Elsner
1026Izzy Z FollerIndia2024-05-27Rangoni Of Florence NEW86Bernardo Dominic
1027Wickens H DilliardArgentina2024-05-24Feiner Bros PROPOSAL86Stephen Shaw
1028Sinclair H MaletBrazil2024-05-26Rangoni Of Florence PROPOSAL19Onyama Limba
1029Smith M WaycottRussia2024-05-31Chapman, Ross E Esq QUALIFIED85Asiya Javayant
1030Johnson B MorascaArgentina2024-05-26Rangoni Of Florence QUALIFIED52Ivan Magalhaes
1031James O PoquetteFrance2024-06-19Truhlar And Truhlar Attys NEGOTIATION64Ioni Bowcher
1032Maria U GlickFrance2024-06-07Benton, John B Jr UNQUALIFIED4Elwin Sharvill
1033Isabel W WaycottJapan2024-05-24Morlong Associates PROPOSAL5Asiya Javayant
1034Maisha F VenereUnited Kingdom2024-06-11Chapman, Ross E Esq UNQUALIFIED69Bernardo Dominic
1035Costa V FlosiFrance2024-06-01King, Christopher A Esq RENEWAL21Xuxue Feng
1036Misaki K OstroskyGermany2024-05-29Buckley Miller Wright RENEWAL35Xuxue Feng
1037Aditya X GauchoFrance2024-05-29Commercial Press NEW6Ioni Bowcher
1038Ashley C DarakjyAustralia2024-06-21Feltz Printing Service QUALIFIED66Asiya Javayant
1039Morrow X RulapaughCanada2024-05-30Chapman, Ross E Esq NEGOTIATION2Ioni Bowcher
1040Julie J WaycottArgentina2024-06-20Commercial Press NEW82Bernardo Dominic
1041Chavez E OstroskyArgentina2024-06-13Benton, John B Jr NEGOTIATION27Anna Fali
1042Chavez G AmigonIndia2024-06-13Truhlar And Truhlar Attys PROPOSAL57Amy Elsner
1043Octavia U VocelkaArgentina2024-05-31Printing Dimensions NEGOTIATION81Amy Elsner
1044Adams B WieserFrance2024-06-13Buckley Miller Wright QUALIFIED41Stephen Shaw
1045Leon T GauchoRussia2024-06-08Rousseaux, Michael Esq PROPOSAL59Onyama Limba
1046Ivar R MaletItaly2024-06-02Benton, John B Jr PROPOSAL3Ivan Magalhaes
1047Ivar Y RutaJapan2024-06-04Printing Dimensions QUALIFIED56Asiya Javayant
1048Aika Z RutaItaly2024-06-07Morlong Associates NEW76Elwin Sharvill
1049Octavia V AmigonUnited Kingdom2024-06-02Commercial Press PROPOSAL58Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aditya E RulapaughSpainIoni Bowcher PROPOSAL
Clifford G CaldareraArgentinaAmy Elsner NEGOTIATION
Arvin Q FlosiGermanyAsiya Javayant NEW
Stacey P MarrierItalyIoni Bowcher RENEWAL
Ivar Z TollnerRussiaAsiya Javayant RENEWAL
Claire D FerenczAustraliaIvan Magalhaes NEW
Emily G WaycottCanadaAsiya Javayant UNQUALIFIED
Juan O WieserBrazilAsiya Javayant NEGOTIATION
Isabel V KolmetzSpainIvan Magalhaes NEGOTIATION
Clifford W RoysterCanadaElwin Sharvill RENEWAL
Adams M GauchoItalyStephen Shaw UNQUALIFIED
Emily X StockhamAustraliaElwin Sharvill UNQUALIFIED
Aika Z RutaCanadaAmy Elsner RENEWAL
Clifford C ShinkoItalyAnna Fali RENEWAL
Jones B TollnerGermanyAmy Elsner NEGOTIATION
Leon V VenereGermanyStephen Shaw PROPOSAL
Jones S DarakjyItalyElwin Sharvill NEW
Mujtaba W FollerFranceAmy Elsner NEW
Clifford H PaprockiCanadaIvan Magalhaes UNQUALIFIED
Octavia F WieserUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo X FollerFranceOnyama Limba UNQUALIFIED
Alejandro P WieserItalyStephen Shaw RENEWAL
Leja V GillianItalyStephen Shaw PROPOSAL
Kadeem S ChuiSpainIoni Bowcher PROPOSAL
Chavez K MaletArgentinaIoni Bowcher QUALIFIED
Leon F PerinBrazilOnyama Limba QUALIFIED
Nicolas F VenereIndiaStephen Shaw PROPOSAL
Antonio H WieserIndiaElwin Sharvill UNQUALIFIED
Claire F SaylorsIndiaAnna Fali UNQUALIFIED
Arvin I FerenczCanadaBernardo Dominic RENEWAL
Johnson R RoysterItalyBernardo Dominic NEW
David O MarrierCanadaElwin Sharvill QUALIFIED
Wickens P SlusarskiGermanyIvan Magalhaes PROPOSAL
Morrow Z StockhamIndiaAsiya Javayant NEW
Deepesh V NestleItalyBernardo Dominic NEW
Mayumi K CaldareraFranceAsiya Javayant RENEWAL
Mayumi D FollerCanadaOnyama Limba NEGOTIATION
Isabel G RimSpainIvan Magalhaes QUALIFIED
Salvatore V GlickBrazilIvan Magalhaes NEW
Octavia F SergiCanadaOnyama Limba RENEWAL
Mayumi S IturbideItalyStephen Shaw UNQUALIFIED
Cody A CampainBrazilOnyama Limba PROPOSAL
Octavia J PoquetteSpainIoni Bowcher QUALIFIED
Leon Z RimCanadaAsiya Javayant RENEWAL
Salvatore D VocelkaIndiaStephen Shaw RENEWAL
Kadeem E NickaRussiaBernardo Dominic NEW
Morrow I RimFranceXuxue Feng RENEWAL
James Z RoysterGermanyStephen Shaw QUALIFIED
Rodrigues P SergiFranceBernardo Dominic QUALIFIED
Murillo O OstroskyGermanyAnna Fali UNQUALIFIED
Frozen Columns
Name
Julie O Marrier
Tony A Caldarera
Tony Z Stockham
Morrow M Morasca
Wickens M Flosi
Nicolas J Royster
Munro S Ferencz
Aika A Bolognia
Stacey A Kusko
Wickens W Doe
Claire M Rulapaugh
Emily Z Maclead
Jones D Garufi
Nicolas D Ferencz
Leja X Nestle
Silvio W Dilliard
Munro M Marrier
Alejandro P Wieser
Claire D Kusko
Faith I Marrier
Deepesh W Rulapaugh
Maria N Sergi
Munro B Kusko
Jeanfrancois Z Ferencz
Emily H Rulapaugh
Salvatore U Rulapaugh
Tony N Shinko
Morrow O Kusko
Rodrigues C Malet
Smith M Rim
Kadeem C Amigon
Salvatore W Kusko
Aditya H Sergi
Wickens O Waycott
Deepesh P Kusko
Leja B Rulapaugh
Munro G Rulapaugh
Izzy M Flosi
Sinclair C Dilliard
Jefferson E Bolognia
Juan S Royster
Claire G Shinko
Maisha N Perin
Juan M Marrier
Ricardo N Flosi
Jeanfrancois Q Ferencz
Stacey E Stockham
Emily X Schemmer
Aruna H Shinko
Maria Z Caudy
IdCountryDate
1000Australia2024-06-18
1001United Kingdom2024-06-17
1002Canada2024-06-13
1003Italy2024-05-23
1004Australia2024-06-19
1005Brazil2024-05-26
1006Russia2024-06-10
1007Spain2024-05-30
1008France2024-06-06
1009France2024-06-14
1010Germany2024-06-02
1011Japan2024-06-02
1012Russia2024-06-19
1013Russia2024-06-05
1014United Kingdom2024-06-02
1015Russia2024-06-09
1016India2024-05-30
1017Brazil2024-06-09
1018Brazil2024-06-07
1019India2024-06-18
1020Australia2024-05-27
1021Argentina2024-05-30
1022Brazil2024-05-31
1023Canada2024-05-24
1024Canada2024-06-01
1025Brazil2024-06-13
1026Germany2024-06-19
1027Japan2024-05-25
1028Brazil2024-06-16
1029France2024-05-25
1030Japan2024-06-11
1031United Kingdom2024-06-18
1032Russia2024-06-15
1033Canada2024-06-04
1034Italy2024-06-09
1035Spain2024-06-13
1036United Kingdom2024-06-02
1037Russia2024-06-18
1038France2024-05-29
1039Australia2024-05-28
1040Australia2024-06-14
1041India2024-06-08
1042Japan2024-06-03
1043Russia2024-06-12
1044Japan2024-05-26
1045United Kingdom2024-06-03
1046Spain2024-05-28
1047Germany2024-05-28
1048Japan2024-06-07
1049Spain2024-06-06

On-Demand Data

NameIdCountryDate
Kaitlin J Malet1000Spain2024-05-24
Clifford X Amigon1001France2024-06-11
Darci G Butt1002Argentina2024-06-03
Johnson S Iturbide1003Japan2024-06-16
Smith Z Rim1004Australia2024-05-28
Stacey H Morasca1005Canada2024-05-30
Morrow E Oldroyd1006Canada2024-06-04
Maisha U Albares1007Spain2024-05-30
David I Albares1008Brazil2024-05-27
Julie V Stockham1009Australia2024-06-19
David O Foller1010Germany2024-06-16
Costa V Figeroa1011India2024-06-14
James G Schemmer1012Italy2024-06-15
Leja B Waycott1013France2024-06-07
Murillo C Caudy1014Spain2024-06-18
Jeanfrancois E Dilliard1015United Kingdom2024-05-29
Francesco U Malet1016Brazil2024-06-14
Antonio R Royster1017Australia2024-06-21
Claire G Bolognia1018Brazil2024-06-21
Leon P Inouye1019India2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson M IturbideIndiaAsiya Javayant PROPOSAL
Chavez W MorascaSpainElwin Sharvill PROPOSAL
Leon D SaylorsCanadaAnna Fali RENEWAL
Jeanfrancois S SergiFranceStephen Shaw RENEWAL
Alejandro P RimUnited KingdomOnyama Limba QUALIFIED
Julie H GauchoBrazilBernardo Dominic NEW
Salvatore V VenereGermanyAnna Fali QUALIFIED
Aditya E BowleyArgentinaElwin Sharvill NEGOTIATION
Munro U DoeBrazilAsiya Javayant UNQUALIFIED
Antonio P KolmetzItalyOnyama Limba RENEWAL
Clifford H VocelkaCanadaElwin Sharvill PROPOSAL
Adams O WaycottRussiaIoni Bowcher RENEWAL
Costa L CaudyBrazilIvan Magalhaes UNQUALIFIED
Claire Q OldroydSpainAmy Elsner PROPOSAL
Faith J StockhamSpainStephen Shaw UNQUALIFIED
Smith S PaprockiJapanXuxue Feng NEW
Ashley Z WaycottIndiaElwin Sharvill RENEWAL
Kaitlin M FollerSpainIvan Magalhaes UNQUALIFIED
Leon G MorascaSpainAsiya Javayant UNQUALIFIED
Smith V PaprockiBrazilBernardo Dominic RENEWAL
Jennifer S OldroydItalyStephen Shaw NEGOTIATION
Alejandro C FigeroaSpainIvan Magalhaes UNQUALIFIED
Maisha L ShinkoBrazilBernardo Dominic NEGOTIATION
Silvio Z BowleyAustraliaAsiya Javayant NEW
Costa U BowleyUnited KingdomAmy Elsner UNQUALIFIED
Tony P CaldareraGermanyXuxue Feng RENEWAL
Greenwood D GillianFranceAnna Fali RENEWAL
Johnson Q BologniaJapanAnna Fali NEGOTIATION
Rodrigues W RimRussiaBernardo Dominic NEW
Ivar W CaudyAustraliaIoni Bowcher PROPOSAL
Rodrigues E GarufiItalyBernardo Dominic NEW
Chavez O PaprockiUnited KingdomAmy Elsner UNQUALIFIED
Jones V CaudyItalyAmy Elsner NEGOTIATION
Isabel B SaylorsJapanAsiya Javayant NEW
Maisha H NestleAustraliaOnyama Limba PROPOSAL
Ivar E NestleItalyAsiya Javayant NEGOTIATION
Mujtaba V KuskoArgentinaXuxue Feng UNQUALIFIED
Emily H StensethJapanBernardo Dominic RENEWAL
Maria M GarufiUnited KingdomIoni Bowcher QUALIFIED
Maria V DarakjyAustraliaStephen Shaw 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>