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
James R MaletIndiaBernardo Dominic NEGOTIATION
James C PaprockiAustraliaIvan Magalhaes NEW
Wickens K PaprockiBrazilAnna Fali PROPOSAL
Salvatore J AlbaresFranceOnyama Limba PROPOSAL
Jennifer V BowleyBrazilBernardo Dominic NEGOTIATION
Nicolas O CampainFranceAsiya Javayant NEGOTIATION
Leja V WhobreyFranceXuxue Feng NEW
Ashley W CaldareraIndiaOnyama Limba RENEWAL
James X IturbideBrazilIoni Bowcher PROPOSAL
Sinclair O ChuiBrazilAsiya Javayant PROPOSAL
Murillo N RutaArgentinaOnyama Limba PROPOSAL
Costa Y GlickSpainOnyama Limba UNQUALIFIED
Arvin W NickaAustraliaElwin Sharvill UNQUALIFIED
Aika R OstroskyBrazilAmy Elsner PROPOSAL
Munro X MaletCanadaStephen Shaw NEW
Silvio E PaprockiIndiaAsiya Javayant PROPOSAL
Smith Q FlosiFranceOnyama Limba QUALIFIED
Deepesh M StockhamItalyOnyama Limba NEW
Johnson A MaletCanadaAmy Elsner NEW
Munro Y VocelkaIndiaIvan Magalhaes UNQUALIFIED
Aditya G SergiGermanyOnyama Limba PROPOSAL
Ivar E TollnerItalyAnna Fali NEGOTIATION
Adams O SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Mayumi B SlusarskiArgentinaElwin Sharvill UNQUALIFIED
Misaki K PaprockiGermanyElwin Sharvill RENEWAL
Leon F MaletJapanAnna Fali QUALIFIED
Antonio A StensethUnited KingdomElwin Sharvill PROPOSAL
Alejandro Q DilliardRussiaAmy Elsner QUALIFIED
Emily V GillianIndiaBernardo Dominic PROPOSAL
Chavez G BowleyBrazilAsiya Javayant UNQUALIFIED
Octavia W MacleadAustraliaBernardo Dominic UNQUALIFIED
Julie K OldroydCanadaAmy Elsner PROPOSAL
Ricardo F StockhamGermanyAmy Elsner QUALIFIED
Maisha D SergiSpainAmy Elsner NEGOTIATION
Smith X PoquetteUnited KingdomStephen Shaw QUALIFIED
Arvin X NickaJapanAmy Elsner RENEWAL
Leja T MaletArgentinaOnyama Limba PROPOSAL
Leon T RoysterSpainElwin Sharvill RENEWAL
Jennifer A TollnerAustraliaIvan Magalhaes UNQUALIFIED
Antonio X VocelkaItalyAmy Elsner QUALIFIED
Mayumi N RoysterAustraliaStephen Shaw NEGOTIATION
Ashley G VocelkaItalyAsiya Javayant NEW
Sinclair I ButtUnited KingdomXuxue Feng QUALIFIED
Mayumi V RoysterJapanBernardo Dominic NEW
Kaitlin M PoquetteSpainXuxue Feng NEGOTIATION
Munro K OstroskySpainIvan Magalhaes QUALIFIED
Aika I VocelkaJapanOnyama Limba QUALIFIED
Isabel K SlusarskiSpainElwin Sharvill RENEWAL
Aika S BriddickIndiaIoni Bowcher UNQUALIFIED
Francesco O WaycottCanadaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Morrow X BowleyBrazilIoni Bowcher NEGOTIATION
Mayumi A CaudyCanadaAsiya Javayant QUALIFIED
Stacey G SergiAustraliaBernardo Dominic QUALIFIED
Ivar E FollerSpainAsiya Javayant PROPOSAL
Ashley E WhobreyArgentinaAmy Elsner RENEWAL
Clifford P PaprockiUnited KingdomOnyama Limba RENEWAL
Kaitlin Y WhobreyFranceStephen Shaw NEGOTIATION
Ivar G OldroydSpainAnna Fali QUALIFIED
Ashley M WaycottCanadaBernardo Dominic UNQUALIFIED
Izzy J VocelkaUnited KingdomAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy F StockhamItaly2024-05-23Feiner Bros UNQUALIFIED19Anna Fali
1001Aruna J AmigonItaly2024-06-13Commercial Press RENEWAL87Onyama Limba
1002Kadeem F BriddickRussia2024-05-27Chanay, Jeffrey A Esq NEW50Xuxue Feng
1003Julie K GillianUnited Kingdom2024-06-07Dorl, James J Esq NEGOTIATION10Amy Elsner
1004Ashley K StockhamIndia2024-05-28Dorl, James J Esq PROPOSAL11Ivan Magalhaes
1005Kaitlin B MorascaAustralia2024-06-02Rangoni Of Florence UNQUALIFIED76Asiya Javayant
1006Julie B WhobreyCanada2024-05-23Commercial Press PROPOSAL9Bernardo Dominic
1007Julie S RimSpain2024-06-02Rangoni Of Florence NEW18Amy Elsner
1008Octavia G KolmetzIndia2024-05-21Buckley Miller Wright NEGOTIATION80Onyama Limba
1009Leja E FerenczCanada2024-06-11Benton, John B Jr NEGOTIATION29Xuxue Feng
1010Nicolas F VenereUnited Kingdom2024-05-18Benton, John B Jr QUALIFIED95Amy Elsner
1011Silvio C SlusarskiIndia2024-06-11Buckley Miller Wright QUALIFIED26Amy Elsner
1012Isabel F TollnerJapan2024-05-22Chapman, Ross E Esq PROPOSAL59Asiya Javayant
1013Chavez G RutaItaly2024-05-21Buckley Miller Wright UNQUALIFIED39Asiya Javayant
1014Jeanfrancois Z NickaRussia2024-06-04Chanay, Jeffrey A Esq NEW50Xuxue Feng
1015Julie O StensethBrazil2024-05-16Rangoni Of Florence QUALIFIED40Stephen Shaw
1016Izzy N CaldareraArgentina2024-06-10Rousseaux, Michael Esq UNQUALIFIED57Ivan Magalhaes
1017Antonio O GauchoArgentina2024-06-02Commercial Press RENEWAL19Ivan Magalhaes
1018Isabel L VocelkaBrazil2024-06-03Rousseaux, Michael Esq NEW89Stephen Shaw
1019Jeanfrancois I SchemmerAustralia2024-06-01Chanay, Jeffrey A Esq NEGOTIATION92Ivan Magalhaes
1020Maria I GarufiFrance2024-06-06Dorl, James J Esq NEGOTIATION76Elwin Sharvill
1021Kadeem E VenereIndia2024-05-15Dorl, James J Esq PROPOSAL44Anna Fali
1022Silvio V SlusarskiFrance2024-06-04Chanay, Jeffrey A Esq NEW41Onyama Limba
1023Murillo X PoquetteJapan2024-05-17Chanay, Jeffrey A Esq NEW70Xuxue Feng
1024Deepesh J SchemmerJapan2024-06-04Benton, John B Jr NEGOTIATION78Bernardo Dominic
1025Mayumi Q KolmetzCanada2024-05-26Commercial Press RENEWAL73Anna Fali
1026David D BowleyBrazil2024-06-09King, Christopher A Esq QUALIFIED4Anna Fali
1027Greenwood U NestleFrance2024-05-28Morlong Associates NEW77Amy Elsner
1028Arvin K WhobreyIndia2024-06-05Commercial Press NEGOTIATION75Ivan Magalhaes
1029Rodrigues D MaletJapan2024-05-16Truhlar And Truhlar Attys RENEWAL36Bernardo Dominic
1030Leon J BologniaItaly2024-06-10Rousseaux, Michael Esq NEW56Ioni Bowcher
1031Octavia O CaudyGermany2024-05-23Feltz Printing Service NEW21Xuxue Feng
1032Greenwood M KuskoGermany2024-06-04Printing Dimensions RENEWAL94Ioni Bowcher
1033Emily A CaudyUnited Kingdom2024-06-09Morlong Associates QUALIFIED69Ioni Bowcher
1034Alejandro X IturbideUnited Kingdom2024-06-08Chapman, Ross E Esq NEGOTIATION10Stephen Shaw
1035Silvio O CaldareraItaly2024-06-01Chanay, Jeffrey A Esq NEGOTIATION12Amy Elsner
1036Jones W MarrierRussia2024-05-16Chapman, Ross E Esq NEGOTIATION15Ioni Bowcher
1037Murillo D StensethArgentina2024-06-06Feltz Printing Service RENEWAL77Ivan Magalhaes
1038Misaki J PoquetteAustralia2024-05-16Chanay, Jeffrey A Esq PROPOSAL54Ivan Magalhaes
1039Faith X CaldareraAustralia2024-06-08Rangoni Of Florence PROPOSAL81Onyama Limba
1040Tony T SergiBrazil2024-06-08Chanay, Jeffrey A Esq QUALIFIED83Elwin Sharvill
1041Clifford I DilliardArgentina2024-06-07Benton, John B Jr NEGOTIATION28Xuxue Feng
1042Wickens H TollnerBrazil2024-06-10Rangoni Of Florence QUALIFIED89Anna Fali
1043Morrow B CampainGermany2024-06-08Benton, John B Jr PROPOSAL83Ivan Magalhaes
1044Costa U WaycottCanada2024-05-29Benton, John B Jr NEW97Stephen Shaw
1045Faith U ChuiArgentina2024-05-20Chapman, Ross E Esq QUALIFIED98Onyama Limba
1046Adams T FerenczRussia2024-06-07Benton, John B Jr UNQUALIFIED96Anna Fali
1047Aditya P RimFrance2024-06-05Benton, John B Jr NEGOTIATION79Asiya Javayant
1048Jefferson I MarrierAustralia2024-05-29Commercial Press RENEWAL76Bernardo Dominic
1049Jennifer A DarakjyUnited Kingdom2024-05-19Feiner Bros NEW91Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mayumi F AmigonRussiaXuxue Feng PROPOSAL
Adams M VocelkaSpainOnyama Limba NEGOTIATION
Izzy V AmigonBrazilStephen Shaw PROPOSAL
Claire J PoquetteJapanStephen Shaw NEW
Murillo A CampainSpainAmy Elsner NEW
Maria Q OldroydSpainAmy Elsner NEGOTIATION
Adams K GlickFranceOnyama Limba RENEWAL
Jefferson O BologniaRussiaBernardo Dominic PROPOSAL
Rodrigues T MaletItalyBernardo Dominic PROPOSAL
Kaitlin J FigeroaAustraliaBernardo Dominic QUALIFIED
Chavez N TollnerAustraliaIoni Bowcher PROPOSAL
Jeanfrancois Q DilliardArgentinaStephen Shaw NEW
Chavez G BowleyItalyXuxue Feng NEW
Morrow M MarrierBrazilElwin Sharvill PROPOSAL
Rodrigues G InouyeCanadaElwin Sharvill UNQUALIFIED
Octavia V FlosiItalyAnna Fali UNQUALIFIED
Deepesh I CampainJapanStephen Shaw PROPOSAL
Murillo G FlosiBrazilBernardo Dominic QUALIFIED
Salvatore X FollerBrazilIvan Magalhaes RENEWAL
Jennifer W FigeroaIndiaXuxue Feng NEW
Adams R OldroydJapanBernardo Dominic UNQUALIFIED
Mujtaba B MacleadArgentinaXuxue Feng PROPOSAL
Juan U MarrierJapanAsiya Javayant UNQUALIFIED
Greenwood V SergiIndiaElwin Sharvill RENEWAL
Ashley Y ButtSpainXuxue Feng NEGOTIATION
Francesco B GarufiBrazilOnyama Limba QUALIFIED
Maisha B CaudyJapanIvan Magalhaes QUALIFIED
Wickens E BriddickItalyIvan Magalhaes QUALIFIED
Ashley S OstroskyAustraliaStephen Shaw UNQUALIFIED
Ricardo H FerenczIndiaAmy Elsner PROPOSAL
Maisha R CaldareraRussiaXuxue Feng RENEWAL
Costa Q MorascaCanadaAmy Elsner NEGOTIATION
Mujtaba A PaprockiGermanyAsiya Javayant UNQUALIFIED
Wickens G MorascaCanadaOnyama Limba PROPOSAL
Deepesh Q PaprockiItalyIvan Magalhaes PROPOSAL
Leja K SaylorsFranceStephen Shaw NEW
Emily T BologniaGermanyIvan Magalhaes PROPOSAL
Murillo G RutaBrazilBernardo Dominic NEGOTIATION
Ivar P SchemmerAustraliaOnyama Limba UNQUALIFIED
Misaki B GillianFranceXuxue Feng NEGOTIATION
Jennifer T GauchoRussiaElwin Sharvill QUALIFIED
Maria X SaylorsSpainAnna Fali PROPOSAL
Francesco Y FollerItalyIvan Magalhaes NEGOTIATION
Chavez B OstroskyItalyOnyama Limba UNQUALIFIED
Deepesh V ChuiItalyStephen Shaw NEW
Antonio C VenereCanadaAnna Fali UNQUALIFIED
Kaitlin L MaletUnited KingdomIoni Bowcher UNQUALIFIED
Faith Z TollnerUnited KingdomOnyama Limba QUALIFIED
Salvatore A MacleadArgentinaXuxue Feng RENEWAL
Juan G ChuiIndiaAnna Fali UNQUALIFIED
Frozen Columns
Name
Deepesh V Slusarski
Julie N Malet
Juan F Nicka
Ashley K Darakjy
Jennifer W Vocelka
Ricardo N Ruta
Leon N Saylors
Octavia S Vocelka
Jones G Tollner
Nicolas E Amigon
Cody D Bolognia
Chavez F Caudy
Smith Q Ostrosky
Morrow A Morasca
Emily H Sergi
Stacey G Ostrosky
Salvatore O Figeroa
Jefferson V Flosi
Adams B Flosi
Jeanfrancois S Garufi
Kadeem M Bolognia
Murillo F Dilliard
Munro L Ferencz
Francesco I Venere
Smith N Sergi
Mayumi V Malet
Maisha C Morasca
Octavia X Caldarera
Izzy A Dilliard
Leja W Malet
Arvin X Ferencz
Julie E Malet
Clifford Q Gillian
Smith G Malet
Morrow S Campain
Arvin J Paprocki
Claire C Royster
Aika C Rim
Stacey A Kolmetz
Clifford A Perin
Johnson B Gaucho
Ricardo F Schemmer
Faith L Flosi
David S Dilliard
Morrow I Rulapaugh
James B Malet
Jeanfrancois I Malet
Murillo J Chui
Chavez C Venere
Greenwood X Flosi
IdCountryDate
1000Italy2024-06-13
1001Argentina2024-05-28
1002Russia2024-05-29
1003United Kingdom2024-06-10
1004France2024-06-11
1005Japan2024-05-31
1006Australia2024-05-16
1007Canada2024-05-30
1008Spain2024-05-29
1009Japan2024-06-12
1010Italy2024-06-04
1011Italy2024-05-25
1012Australia2024-05-21
1013Japan2024-06-07
1014Spain2024-06-03
1015Russia2024-05-17
1016Italy2024-05-23
1017Spain2024-05-24
1018Italy2024-06-13
1019India2024-05-19
1020India2024-06-01
1021Australia2024-06-09
1022Spain2024-05-21
1023France2024-05-26
1024Germany2024-06-04
1025United Kingdom2024-06-10
1026Canada2024-06-12
1027Canada2024-05-29
1028United Kingdom2024-06-11
1029Argentina2024-05-29
1030Argentina2024-05-30
1031Canada2024-05-25
1032Germany2024-06-08
1033Brazil2024-06-02
1034France2024-05-16
1035United Kingdom2024-05-24
1036Russia2024-05-25
1037Japan2024-06-09
1038Russia2024-05-30
1039Russia2024-05-25
1040Japan2024-06-09
1041France2024-06-05
1042Spain2024-05-31
1043Japan2024-06-10
1044Brazil2024-06-03
1045Brazil2024-06-11
1046Spain2024-05-21
1047Argentina2024-05-26
1048Brazil2024-05-29
1049Italy2024-05-16

On-Demand Data

NameIdCountryDate
Misaki G Caldarera1000Argentina2024-06-05
Stacey A Inouye1001India2024-05-30
David C Garufi1002France2024-06-02
Johnson U Caldarera1003Russia2024-06-01
Darci V Rulapaugh1004Germany2024-06-12
Ricardo F Butt1005Spain2024-06-11
Murillo S Kolmetz1006Italy2024-06-01
Murillo G Ostrosky1007Argentina2024-05-26
Leon Q Maclead1008France2024-06-04
Octavia E Saylors1009Russia2024-06-06
Tony K Nicka1010Brazil2024-06-02
Ricardo D Gaucho1011Germany2024-05-24
David G Butt1012Spain2024-05-16
James W Perin1013Germany2024-05-23
Aika G Chui1014Argentina2024-05-24
Murillo N Tollner1015Japan2024-06-09
Nicolas G Briddick1016Russia2024-05-28
Alejandro T Saylors1017Canada2024-06-13
David L Bowley1018Argentina2024-05-21
Antonio Q Albares1019Brazil2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire T SchemmerFranceStephen Shaw QUALIFIED
Maisha R WieserAustraliaAsiya Javayant NEW
Costa U SaylorsRussiaAnna Fali NEW
Nicolas I WaycottArgentinaElwin Sharvill UNQUALIFIED
Aika E InouyeItalyElwin Sharvill UNQUALIFIED
Aditya N MaletAustraliaAsiya Javayant UNQUALIFIED
Francesco A PaprockiSpainIvan Magalhaes QUALIFIED
Jeanfrancois G DilliardGermanyIvan Magalhaes RENEWAL
Deepesh C SlusarskiArgentinaXuxue Feng NEW
Rodrigues E BriddickRussiaXuxue Feng UNQUALIFIED
Adams C CampainJapanXuxue Feng NEGOTIATION
Clifford G KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Cody G MaletArgentinaStephen Shaw NEGOTIATION
Faith L BowleyItalyStephen Shaw NEW
Deepesh C CampainRussiaIoni Bowcher NEGOTIATION
Chavez G KuskoJapanAmy Elsner NEW
Julie H RimItalyAmy Elsner PROPOSAL
Misaki R InouyeRussiaBernardo Dominic PROPOSAL
Rodrigues D IturbideIndiaAnna Fali NEGOTIATION
Johnson E OldroydUnited KingdomStephen Shaw PROPOSAL
Cody K SergiAustraliaXuxue Feng RENEWAL
Maisha I GlickAustraliaAsiya Javayant NEGOTIATION
Murillo F RimUnited KingdomAmy Elsner QUALIFIED
Kadeem L DilliardGermanyXuxue Feng NEW
Julie K NickaItalyBernardo Dominic QUALIFIED
Jefferson R PaprockiUnited KingdomOnyama Limba QUALIFIED
Smith P WaycottAustraliaElwin Sharvill NEW
Aika A FerenczFranceBernardo Dominic RENEWAL
Smith B CaldareraCanadaElwin Sharvill RENEWAL
Smith T SaylorsCanadaStephen Shaw NEGOTIATION
Antonio A WaycottUnited KingdomAsiya Javayant NEW
Arvin X GlickArgentinaElwin Sharvill PROPOSAL
Claire E GlickGermanyAsiya Javayant NEW
Clifford C WhobreySpainXuxue Feng RENEWAL
Misaki P FollerUnited KingdomStephen Shaw NEGOTIATION
Aditya V PerinAustraliaStephen Shaw NEW
Murillo K PaprockiBrazilAmy Elsner NEGOTIATION
Juan G CaldareraGermanyAmy Elsner QUALIFIED
Antonio V ButtRussiaXuxue Feng RENEWAL
Leon G ButtGermanyAmy Elsner NEW

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