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
Costa Y KolmetzBrazilAnna Fali NEW
Jeanfrancois K BologniaIndiaOnyama Limba NEW
Ricardo E DoeBrazilOnyama Limba NEW
Izzy E FlosiFranceOnyama Limba PROPOSAL
Cody V ShinkoArgentinaIoni Bowcher QUALIFIED
David H VocelkaArgentinaIoni Bowcher RENEWAL
Misaki U PaprockiSpainElwin Sharvill NEW
Costa L WaycottCanadaStephen Shaw QUALIFIED
Nicolas M KuskoBrazilElwin Sharvill RENEWAL
Adams B SergiFranceBernardo Dominic UNQUALIFIED
Arvin M CampainSpainBernardo Dominic QUALIFIED
Nicolas D MaletRussiaOnyama Limba RENEWAL
Emily C MarrierBrazilStephen Shaw NEW
Morrow N NickaIndiaElwin Sharvill QUALIFIED
Darci L SaylorsBrazilXuxue Feng QUALIFIED
Adams I StockhamUnited KingdomBernardo Dominic PROPOSAL
Salvatore V GillianAustraliaAnna Fali UNQUALIFIED
Julie Q RimArgentinaIvan Magalhaes QUALIFIED
Maisha O ButtFranceIvan Magalhaes PROPOSAL
Nicolas P WieserCanadaElwin Sharvill NEGOTIATION
Morrow B CaudyJapanStephen Shaw UNQUALIFIED
Antonio E BologniaItalyOnyama Limba UNQUALIFIED
Jennifer U OldroydGermanyOnyama Limba PROPOSAL
Octavia M SaylorsGermanyStephen Shaw PROPOSAL
Sinclair X PoquetteRussiaStephen Shaw UNQUALIFIED
Ivar G SchemmerFranceElwin Sharvill UNQUALIFIED
Arvin S SlusarskiAustraliaStephen Shaw QUALIFIED
Jennifer F MaletFranceElwin Sharvill NEGOTIATION
Johnson M WieserFranceAsiya Javayant RENEWAL
Leja M DoeFranceAmy Elsner QUALIFIED
Aruna V VenereFranceElwin Sharvill NEW
Alejandro C DoeIndiaXuxue Feng QUALIFIED
Rodrigues N IturbideCanadaStephen Shaw UNQUALIFIED
Alejandro Q SaylorsRussiaAsiya Javayant QUALIFIED
Jennifer N RutaUnited KingdomIoni Bowcher QUALIFIED
Sinclair V DilliardJapanBernardo Dominic RENEWAL
Isabel N MarrierBrazilIvan Magalhaes QUALIFIED
Salvatore A DilliardArgentinaXuxue Feng NEW
Leon O ChuiRussiaElwin Sharvill NEGOTIATION
Darci K PaprockiAustraliaXuxue Feng UNQUALIFIED
Kaitlin C SlusarskiArgentinaAmy Elsner RENEWAL
Smith C RulapaughFranceXuxue Feng PROPOSAL
Murillo T GauchoRussiaStephen Shaw NEW
Mayumi E PerinRussiaIoni Bowcher NEW
Aditya B FlosiCanadaAmy Elsner NEGOTIATION
Maria U NickaAustraliaStephen Shaw NEW
Misaki Y CampainUnited KingdomXuxue Feng NEGOTIATION
Francesco I MaletItalyStephen Shaw RENEWAL
Jennifer A InouyeCanadaIvan Magalhaes UNQUALIFIED
Greenwood D WieserGermanyXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Salvatore R SchemmerRussiaAsiya Javayant QUALIFIED
Chavez X InouyeSpainOnyama Limba QUALIFIED
Darci Z NickaRussiaStephen Shaw PROPOSAL
Francesco T OldroydRussiaIoni Bowcher RENEWAL
Antonio A RulapaughItalyAsiya Javayant QUALIFIED
Clifford Z AlbaresArgentinaElwin Sharvill UNQUALIFIED
Clifford X BriddickUnited KingdomAmy Elsner RENEWAL
Jones C NestleUnited KingdomElwin Sharvill NEGOTIATION
Jones J NestleUnited KingdomStephen Shaw UNQUALIFIED
Aika V CaudyRussiaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio W NestleIndia2024-06-23Chemel, James L Cpa RENEWAL89Asiya Javayant
1001Isabel D WhobreyFrance2024-06-14Benton, John B Jr NEGOTIATION30Stephen Shaw
1002Johnson N PaprockiBrazil2024-06-22Printing Dimensions QUALIFIED41Ioni Bowcher
1003Cody X BologniaCanada2024-06-22Chemel, James L Cpa NEW91Xuxue Feng
1004Nicolas S MaletIndia2024-06-08Rousseaux, Michael Esq PROPOSAL64Anna Fali
1005Costa K NickaItaly2024-06-14Morlong Associates NEGOTIATION85Amy Elsner
1006Silvio D RutaRussia2024-06-07Rousseaux, Michael Esq NEW25Ioni Bowcher
1007Leja U AmigonItaly2024-06-07Benton, John B Jr NEW55Ivan Magalhaes
1008Ricardo J FlosiIndia2024-06-11Commercial Press RENEWAL97Elwin Sharvill
1009Misaki S BologniaJapan2024-06-18Chemel, James L Cpa RENEWAL86Anna Fali
1010Claire C InouyeFrance2024-06-18Feiner Bros RENEWAL56Stephen Shaw
1011Leja X RutaSpain2024-06-13Truhlar And Truhlar Attys NEGOTIATION41Anna Fali
1012Jeanfrancois I DarakjyRussia2024-05-29Printing Dimensions UNQUALIFIED42Ivan Magalhaes
1013Aruna O BriddickBrazil2024-05-25Dorl, James J Esq NEW36Ioni Bowcher
1014Jennifer G GlickGermany2024-05-30Rousseaux, Michael Esq NEW48Elwin Sharvill
1015Silvio K BologniaArgentina2024-06-11Rangoni Of Florence UNQUALIFIED99Ivan Magalhaes
1016Jones X BriddickUnited Kingdom2024-05-27Printing Dimensions NEGOTIATION60Amy Elsner
1017Sinclair U BologniaCanada2024-05-26Dorl, James J Esq UNQUALIFIED52Bernardo Dominic
1018Ivar G PerinBrazil2024-05-29Chapman, Ross E Esq PROPOSAL33Elwin Sharvill
1019Faith O DilliardGermany2024-06-04Rousseaux, Michael Esq QUALIFIED8Stephen Shaw
1020Aditya R GlickRussia2024-06-22Benton, John B Jr QUALIFIED84Asiya Javayant
1021Smith Q SlusarskiGermany2024-05-27Chemel, James L Cpa PROPOSAL28Ivan Magalhaes
1022Emily O BriddickItaly2024-06-20Rangoni Of Florence UNQUALIFIED53Asiya Javayant
1023James D DarakjyItaly2024-06-22Printing Dimensions QUALIFIED10Stephen Shaw
1024James M PaprockiArgentina2024-06-23Buckley Miller Wright PROPOSAL7Ioni Bowcher
1025Mayumi F TollnerArgentina2024-06-12Chapman, Ross E Esq NEW51Bernardo Dominic
1026Aika Q AmigonAustralia2024-06-13Feltz Printing Service NEGOTIATION60Bernardo Dominic
1027Izzy X AlbaresCanada2024-06-11Truhlar And Truhlar Attys RENEWAL4Elwin Sharvill
1028Johnson B WaycottRussia2024-06-01Chapman, Ross E Esq PROPOSAL67Onyama Limba
1029Julie T SlusarskiUnited Kingdom2024-05-26King, Christopher A Esq NEW60Xuxue Feng
1030Nicolas F SchemmerBrazil2024-06-23Feltz Printing Service PROPOSAL17Bernardo Dominic
1031Stacey B InouyeBrazil2024-06-11Feiner Bros UNQUALIFIED43Amy Elsner
1032Stacey R FigeroaSpain2024-05-26Rousseaux, Michael Esq QUALIFIED3Asiya Javayant
1033Izzy I RimIndia2024-05-31Rousseaux, Michael Esq QUALIFIED57Amy Elsner
1034Claire R FigeroaCanada2024-05-26Feiner Bros QUALIFIED61Amy Elsner
1035Rodrigues A DilliardRussia2024-06-06Rangoni Of Florence UNQUALIFIED10Asiya Javayant
1036Faith N AmigonSpain2024-05-29Buckley Miller Wright NEGOTIATION55Bernardo Dominic
1037Faith L BriddickBrazil2024-06-18Chanay, Jeffrey A Esq NEW37Amy Elsner
1038Tony A NickaFrance2024-06-02King, Christopher A Esq NEW67Amy Elsner
1039Leja C RutaSpain2024-06-04Chemel, James L Cpa NEGOTIATION22Stephen Shaw
1040Ashley P RimArgentina2024-06-11Feltz Printing Service NEGOTIATION38Onyama Limba
1041James R MorascaRussia2024-06-16Feiner Bros UNQUALIFIED97Ioni Bowcher
1042Smith X AmigonSpain2024-05-27Feltz Printing Service RENEWAL56Elwin Sharvill
1043Claire T GauchoItaly2024-05-27Feiner Bros PROPOSAL90Asiya Javayant
1044Ashley K BologniaGermany2024-06-20Rousseaux, Michael Esq RENEWAL23Xuxue Feng
1045Alejandro Q FigeroaItaly2024-06-18Dorl, James J Esq NEGOTIATION59Stephen Shaw
1046Stacey Q FigeroaFrance2024-06-19Morlong Associates RENEWAL7Stephen Shaw
1047Faith T BologniaBrazil2024-05-26Feiner Bros UNQUALIFIED72Asiya Javayant
1048Jennifer J TollnerItaly2024-06-19King, Christopher A Esq NEGOTIATION22Amy Elsner
1049Smith N BowleyCanada2024-06-12Feltz Printing Service PROPOSAL77Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ricardo W PerinAustraliaIvan Magalhaes PROPOSAL
Juan R GillianCanadaXuxue Feng QUALIFIED
Jennifer K RulapaughItalyIoni Bowcher NEGOTIATION
Johnson K BriddickRussiaStephen Shaw QUALIFIED
Chavez K VenereUnited KingdomAmy Elsner PROPOSAL
Morrow N BowleyRussiaIoni Bowcher PROPOSAL
Aruna M VenereAustraliaXuxue Feng PROPOSAL
Misaki J RimItalyOnyama Limba QUALIFIED
Munro F NickaCanadaAmy Elsner QUALIFIED
Antonio M FollerBrazilXuxue Feng NEW
Murillo D CaldareraRussiaOnyama Limba NEGOTIATION
Ashley D RulapaughCanadaIoni Bowcher NEGOTIATION
Cody I ChuiArgentinaXuxue Feng NEW
Rodrigues Z FigeroaRussiaAnna Fali NEW
Jennifer Z MarrierSpainOnyama Limba NEGOTIATION
Arvin C SaylorsSpainStephen Shaw UNQUALIFIED
Izzy N SergiArgentinaBernardo Dominic QUALIFIED
Jones Y StensethArgentinaAnna Fali UNQUALIFIED
Wickens M VocelkaAustraliaStephen Shaw UNQUALIFIED
Leja B MaletBrazilElwin Sharvill NEW
David W StensethRussiaStephen Shaw NEGOTIATION
Jones Q InouyeIndiaOnyama Limba UNQUALIFIED
Salvatore H StockhamItalyIoni Bowcher UNQUALIFIED
Arvin V CaudySpainOnyama Limba QUALIFIED
Faith W StensethAustraliaAsiya Javayant QUALIFIED
Chavez M ChuiItalyStephen Shaw UNQUALIFIED
Maisha T SaylorsGermanyIvan Magalhaes PROPOSAL
Jones S VenereRussiaIvan Magalhaes PROPOSAL
Morrow R SaylorsCanadaBernardo Dominic UNQUALIFIED
Sinclair K MacleadJapanStephen Shaw NEW
Francesco C PaprockiUnited KingdomStephen Shaw RENEWAL
Deepesh B NestleSpainIoni Bowcher RENEWAL
Jeanfrancois R DoeSpainAnna Fali RENEWAL
Mujtaba S RimFranceStephen Shaw RENEWAL
Cody A GillianCanadaIvan Magalhaes NEGOTIATION
Darci B KolmetzBrazilBernardo Dominic RENEWAL
Sinclair Q StensethSpainElwin Sharvill QUALIFIED
Ivar O DilliardUnited KingdomAsiya Javayant QUALIFIED
Misaki M FollerAustraliaAmy Elsner NEGOTIATION
Nicolas Y PaprockiRussiaAnna Fali QUALIFIED
Kaitlin D OldroydArgentinaBernardo Dominic QUALIFIED
Munro C GarufiCanadaIoni Bowcher NEW
Alejandro W ChuiJapanXuxue Feng RENEWAL
Mayumi Y MaletSpainXuxue Feng RENEWAL
Sinclair Z ChuiSpainXuxue Feng PROPOSAL
Darci C VenereJapanIvan Magalhaes QUALIFIED
Kadeem O PerinCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois I MarrierBrazilOnyama Limba NEGOTIATION
Alejandro B FerenczGermanyAsiya Javayant UNQUALIFIED
Kadeem T MarrierCanadaAmy Elsner QUALIFIED
Frozen Columns
Name
Clifford L Kusko
Munro O Kusko
Jennifer V Vocelka
Leja F Glick
Jennifer A Nestle
Octavia X Poquette
Cody R Wieser
Aditya X Whobrey
Morrow F Maclead
Antonio O Nestle
Adams P Flosi
David P Gillian
Rodrigues P Gillian
Stacey U Morasca
Claire V Poquette
Octavia C Flosi
Juan D Ostrosky
Kadeem Y Amigon
Wickens F Morasca
Claire I Butt
Leja R Briddick
Mujtaba Z Vocelka
Francesco A Stockham
Darci Z Venere
Costa I Paprocki
Juan H Marrier
Julie T Briddick
Morrow Y Caudy
Murillo S Tollner
Maria Q Malet
Morrow W Rulapaugh
Emily R Albares
Maisha W Doe
Ivar U Vocelka
Isabel I Ferencz
Greenwood Z Vocelka
Faith A Marrier
Aruna I Gaucho
Aruna R Rim
Jeanfrancois T Figeroa
Chavez Z Gaucho
Ivar Z Gaucho
Costa B Whobrey
Faith M Dilliard
Smith S Figeroa
Isabel B Malet
Kaitlin P Caudy
Morrow V Slusarski
Murillo V Saylors
Antonio Q Shinko
IdCountryDate
1000Canada2024-06-20
1001Australia2024-06-15
1002Italy2024-06-20
1003Russia2024-06-03
1004Brazil2024-05-27
1005Argentina2024-06-09
1006Australia2024-06-03
1007Germany2024-06-05
1008United Kingdom2024-05-30
1009France2024-06-16
1010Russia2024-06-12
1011India2024-06-02
1012Australia2024-06-05
1013Spain2024-06-18
1014Japan2024-06-14
1015Argentina2024-06-13
1016United Kingdom2024-06-08
1017Italy2024-05-30
1018France2024-05-31
1019India2024-05-28
1020Australia2024-06-15
1021United Kingdom2024-06-07
1022India2024-06-11
1023Italy2024-06-17
1024Canada2024-06-04
1025Spain2024-06-12
1026India2024-05-29
1027Canada2024-06-02
1028France2024-06-14
1029Italy2024-05-27
1030Canada2024-06-23
1031Argentina2024-05-25
1032Spain2024-06-22
1033Argentina2024-06-19
1034Australia2024-06-10
1035United Kingdom2024-06-02
1036Italy2024-06-08
1037Canada2024-06-22
1038France2024-05-26
1039Spain2024-06-12
1040Australia2024-05-27
1041Spain2024-06-11
1042Canada2024-06-17
1043Australia2024-05-27
1044Spain2024-06-03
1045Australia2024-06-05
1046Russia2024-05-28
1047Italy2024-06-11
1048United Kingdom2024-06-06
1049Argentina2024-06-09

On-Demand Data

NameIdCountryDate
Stacey A Paprocki1000Canada2024-06-11
Murillo D Whobrey1001Brazil2024-06-14
Salvatore P Bolognia1002India2024-06-12
Munro E Poquette1003United Kingdom2024-06-07
Morrow D Nicka1004Japan2024-05-28
Murillo J Marrier1005Japan2024-05-27
Jefferson F Oldroyd1006Argentina2024-06-18
Leja F Bolognia1007Australia2024-06-18
Ashley F Glick1008Italy2024-06-22
Clifford F Royster1009Spain2024-06-03
Leja Q Briddick1010Australia2024-06-09
Antonio Q Malet1011Germany2024-06-22
Aditya J Briddick1012Spain2024-06-06
Maria K Figeroa1013United Kingdom2024-06-19
Ivar O Dilliard1014Germany2024-06-21
Izzy T Butt1015Brazil2024-06-15
Rodrigues M Gillian1016Brazil2024-06-12
Aditya V Foller1017India2024-06-12
Julie U Vocelka1018India2024-06-22
Greenwood S Perin1019Spain2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley G MaletGermanyAmy Elsner NEGOTIATION
Adams Z TollnerAustraliaAmy Elsner QUALIFIED
Maria C SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Aruna T ShinkoCanadaXuxue Feng QUALIFIED
Clifford R MaletUnited KingdomElwin Sharvill QUALIFIED
Costa E ShinkoBrazilOnyama Limba UNQUALIFIED
Morrow M CaudyIndiaAsiya Javayant QUALIFIED
Morrow E PerinAustraliaIoni Bowcher QUALIFIED
Octavia S OstroskySpainElwin Sharvill NEGOTIATION
Misaki V FlosiIndiaStephen Shaw QUALIFIED
Morrow P GarufiCanadaOnyama Limba QUALIFIED
Rodrigues A NestleItalyBernardo Dominic QUALIFIED
Sinclair F VenereArgentinaIvan Magalhaes PROPOSAL
Adams E SlusarskiFranceOnyama Limba UNQUALIFIED
Leon Y KuskoUnited KingdomAsiya Javayant PROPOSAL
Chavez E CaldareraGermanyAnna Fali PROPOSAL
Aika Y MarrierArgentinaIvan Magalhaes NEW
Ivar Y MaletUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois U ButtArgentinaIoni Bowcher RENEWAL
Nicolas U WaycottSpainAsiya Javayant RENEWAL
Sinclair B AmigonGermanyOnyama Limba NEGOTIATION
David D GillianCanadaAmy Elsner UNQUALIFIED
Silvio B StockhamRussiaXuxue Feng PROPOSAL
Costa T SaylorsCanadaOnyama Limba PROPOSAL
Tony W MorascaIndiaStephen Shaw UNQUALIFIED
Julie N CaudyUnited KingdomOnyama Limba QUALIFIED
Munro E MaletItalyAsiya Javayant PROPOSAL
Adams V StensethGermanyAmy Elsner PROPOSAL
Darci N NestleGermanyElwin Sharvill UNQUALIFIED
Izzy R VocelkaGermanyElwin Sharvill NEGOTIATION
Deepesh V ShinkoCanadaXuxue Feng NEGOTIATION
Misaki R RoysterCanadaBernardo Dominic QUALIFIED
Stacey N TollnerIndiaBernardo Dominic PROPOSAL
Salvatore J TollnerCanadaIvan Magalhaes NEGOTIATION
Isabel T VenereJapanIvan Magalhaes QUALIFIED
David A DarakjyIndiaXuxue Feng NEGOTIATION
Emily J FigeroaUnited KingdomIvan Magalhaes QUALIFIED
Silvio X OldroydSpainAsiya Javayant NEGOTIATION
Morrow P BriddickItalyAnna Fali NEGOTIATION
Alejandro F KuskoItalyIoni Bowcher QUALIFIED

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