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
Stacey T CaudyArgentinaIoni Bowcher NEW
Ivar P VenereIndiaIoni Bowcher NEW
Isabel C MacleadIndiaXuxue Feng RENEWAL
Nicolas S InouyeCanadaAsiya Javayant QUALIFIED
Maria B PaprockiItalyAmy Elsner NEGOTIATION
Morrow B SchemmerIndiaOnyama Limba UNQUALIFIED
Kaitlin S TollnerSpainIvan Magalhaes PROPOSAL
Rodrigues O WieserAustraliaAnna Fali RENEWAL
Isabel N NestleJapanBernardo Dominic PROPOSAL
Smith F NickaSpainAsiya Javayant PROPOSAL
Leja J NickaArgentinaOnyama Limba UNQUALIFIED
Mayumi F VocelkaArgentinaOnyama Limba NEW
Ashley E ChuiJapanBernardo Dominic RENEWAL
Clifford D PaprockiFranceXuxue Feng RENEWAL
Jones L MarrierArgentinaElwin Sharvill PROPOSAL
Munro M RimItalyBernardo Dominic RENEWAL
Ivar X InouyeItalyXuxue Feng UNQUALIFIED
Arvin K TollnerSpainAmy Elsner UNQUALIFIED
Chavez V ShinkoGermanyIvan Magalhaes NEGOTIATION
Jennifer N NickaItalyOnyama Limba UNQUALIFIED
Kaitlin O BowleyFranceBernardo Dominic QUALIFIED
Smith D FlosiIndiaAnna Fali NEW
Misaki F BriddickBrazilAnna Fali QUALIFIED
Ivar A RoysterJapanXuxue Feng PROPOSAL
Maria F GillianSpainBernardo Dominic NEGOTIATION
Kaitlin E FlosiUnited KingdomIoni Bowcher UNQUALIFIED
Stacey Z TollnerFranceStephen Shaw PROPOSAL
Ivar G SergiGermanyIoni Bowcher QUALIFIED
Leja V MacleadJapanElwin Sharvill RENEWAL
Johnson W WhobreyArgentinaElwin Sharvill QUALIFIED
Claire D CampainGermanyIoni Bowcher UNQUALIFIED
Murillo S CampainAustraliaIoni Bowcher NEGOTIATION
Salvatore R BologniaBrazilStephen Shaw NEW
Maria M RulapaughFranceBernardo Dominic PROPOSAL
Darci H FerenczFranceBernardo Dominic QUALIFIED
Costa N SchemmerSpainElwin Sharvill NEW
Ashley Z WhobreyGermanyOnyama Limba UNQUALIFIED
Ricardo R IturbideJapanIvan Magalhaes UNQUALIFIED
Clifford D GillianItalyBernardo Dominic RENEWAL
Misaki B VenereJapanAmy Elsner QUALIFIED
Ricardo T StensethBrazilOnyama Limba NEGOTIATION
Maria A CaldareraArgentinaStephen Shaw RENEWAL
Jefferson R MacleadBrazilIoni Bowcher RENEWAL
Greenwood V StensethBrazilIvan Magalhaes QUALIFIED
Munro O PaprockiUnited KingdomOnyama Limba NEGOTIATION
Murillo A DarakjyJapanAmy Elsner UNQUALIFIED
Smith Q SergiUnited KingdomAmy Elsner NEW
Leja J WaycottBrazilIoni Bowcher NEW
Aika M SergiUnited KingdomIoni Bowcher NEW
Wickens V BowleyArgentinaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia L NestleItalyAnna Fali RENEWAL
Aika W CaldareraArgentinaOnyama Limba QUALIFIED
Stacey L RoysterIndiaBernardo Dominic UNQUALIFIED
Alejandro D GauchoSpainBernardo Dominic PROPOSAL
Aruna K BowleyCanadaStephen Shaw NEW
Alejandro V ChuiBrazilBernardo Dominic QUALIFIED
Jefferson G GillianFranceElwin Sharvill NEW
Deepesh W NickaArgentinaAsiya Javayant QUALIFIED
Nicolas P KuskoGermanyBernardo Dominic RENEWAL
Arvin O GlickCanadaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem B StockhamIndia2024-06-04King, Christopher A Esq QUALIFIED50Onyama Limba
1001Maisha Y SergiBrazil2024-06-11Feltz Printing Service NEGOTIATION82Onyama Limba
1002Antonio H AmigonIndia2024-06-04Printing Dimensions NEW91Amy Elsner
1003Greenwood C ButtItaly2024-06-14Printing Dimensions NEW75Asiya Javayant
1004Costa T KolmetzSpain2024-06-13Chemel, James L Cpa NEW33Ivan Magalhaes
1005Ricardo O CampainFrance2024-06-12Printing Dimensions PROPOSAL12Asiya Javayant
1006Aditya B GillianSpain2024-06-19Chanay, Jeffrey A Esq QUALIFIED26Onyama Limba
1007Greenwood U StockhamItaly2024-05-31Chemel, James L Cpa RENEWAL55Xuxue Feng
1008Izzy Q AmigonArgentina2024-06-08King, Christopher A Esq NEW22Onyama Limba
1009Sinclair Q AmigonArgentina2024-06-11Buckley Miller Wright QUALIFIED7Ioni Bowcher
1010Wickens L MacleadArgentina2024-06-08Chemel, James L Cpa NEGOTIATION18Xuxue Feng
1011Munro K GarufiItaly2024-05-29Benton, John B Jr PROPOSAL33Onyama Limba
1012Chavez O ButtFrance2024-06-09Printing Dimensions QUALIFIED2Asiya Javayant
1013Morrow K TollnerCanada2024-06-02Chemel, James L Cpa RENEWAL28Onyama Limba
1014Octavia X KuskoUnited Kingdom2024-06-20Buckley Miller Wright RENEWAL18Onyama Limba
1015Faith C InouyeSpain2024-06-04Morlong Associates QUALIFIED6Anna Fali
1016Chavez E PerinSpain2024-06-09Benton, John B Jr QUALIFIED14Bernardo Dominic
1017Rodrigues P SergiBrazil2024-06-21Morlong Associates RENEWAL53Ivan Magalhaes
1018Francesco A DoeUnited Kingdom2024-06-13Chemel, James L Cpa QUALIFIED10Ioni Bowcher
1019Chavez B BowleyCanada2024-06-08Benton, John B Jr NEW46Elwin Sharvill
1020Kaitlin E AmigonAustralia2024-06-10Benton, John B Jr UNQUALIFIED53Anna Fali
1021Alejandro H RimIndia2024-06-12Rousseaux, Michael Esq RENEWAL53Asiya Javayant
1022Ivar L GlickCanada2024-06-20Rangoni Of Florence NEW33Ivan Magalhaes
1023Ivar D BowleyUnited Kingdom2024-06-16King, Christopher A Esq NEW54Amy Elsner
1024Faith R InouyeIndia2024-06-15King, Christopher A Esq UNQUALIFIED9Anna Fali
1025Nicolas S NickaArgentina2024-06-13Buckley Miller Wright NEGOTIATION85Xuxue Feng
1026Chavez S PoquetteJapan2024-06-09Morlong Associates RENEWAL13Ivan Magalhaes
1027Emily G SlusarskiFrance2024-06-15Truhlar And Truhlar Attys PROPOSAL54Xuxue Feng
1028Ivar W DarakjyAustralia2024-06-01Buckley Miller Wright UNQUALIFIED21Onyama Limba
1029Sinclair N RulapaughArgentina2024-06-12Printing Dimensions UNQUALIFIED2Anna Fali
1030Cody R MacleadFrance2024-06-16Rousseaux, Michael Esq RENEWAL33Ioni Bowcher
1031Salvatore B AmigonFrance2024-06-18Truhlar And Truhlar Attys PROPOSAL32Asiya Javayant
1032Wickens N ShinkoUnited Kingdom2024-05-29Truhlar And Truhlar Attys RENEWAL60Asiya Javayant
1033Aditya Y MarrierAustralia2024-06-14Feiner Bros UNQUALIFIED53Ioni Bowcher
1034Antonio D KolmetzItaly2024-06-24Chanay, Jeffrey A Esq QUALIFIED62Bernardo Dominic
1035Morrow N RimArgentina2024-06-07Rangoni Of Florence PROPOSAL5Stephen Shaw
1036Salvatore H WaycottCanada2024-06-16Chemel, James L Cpa NEW24Stephen Shaw
1037David E WieserGermany2024-06-09Chapman, Ross E Esq PROPOSAL28Elwin Sharvill
1038Wickens X SaylorsIndia2024-06-10Commercial Press RENEWAL25Xuxue Feng
1039Clifford T VocelkaAustralia2024-06-01Morlong Associates RENEWAL27Asiya Javayant
1040Kadeem T MacleadUnited Kingdom2024-06-10Chanay, Jeffrey A Esq NEW1Anna Fali
1041Misaki T GarufiAustralia2024-06-20Chapman, Ross E Esq RENEWAL41Amy Elsner
1042Arvin A PerinJapan2024-06-08Rangoni Of Florence RENEWAL72Ioni Bowcher
1043Nicolas X RoysterUnited Kingdom2024-06-03Rangoni Of Florence NEGOTIATION73Elwin Sharvill
1044Isabel L RimArgentina2024-06-16Rangoni Of Florence NEW92Anna Fali
1045Greenwood K GlickIndia2024-06-02King, Christopher A Esq NEW13Asiya Javayant
1046Morrow H MorascaUnited Kingdom2024-06-22Feltz Printing Service RENEWAL68Ioni Bowcher
1047Jones R DilliardArgentina2024-05-27Rangoni Of Florence RENEWAL77Xuxue Feng
1048Ricardo L SergiUnited Kingdom2024-06-05Feltz Printing Service NEGOTIATION44Ivan Magalhaes
1049Kaitlin I InouyeFrance2024-05-29Commercial Press PROPOSAL85Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Octavia M VenereAustraliaAmy Elsner NEGOTIATION
Claire E MarrierRussiaAmy Elsner UNQUALIFIED
Octavia Z RimUnited KingdomAmy Elsner PROPOSAL
Costa O ButtGermanyXuxue Feng NEGOTIATION
Alejandro W OldroydAustraliaOnyama Limba RENEWAL
Clifford K DilliardSpainBernardo Dominic UNQUALIFIED
Aruna I TollnerGermanyElwin Sharvill QUALIFIED
Costa U InouyeFranceIoni Bowcher PROPOSAL
Costa R NickaAustraliaIvan Magalhaes PROPOSAL
Sinclair K FigeroaRussiaAnna Fali NEGOTIATION
Ricardo V IturbideIndiaBernardo Dominic UNQUALIFIED
James E PerinUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba E SaylorsCanadaStephen Shaw QUALIFIED
Arvin E InouyeArgentinaXuxue Feng PROPOSAL
Munro H GauchoRussiaXuxue Feng NEW
Adams F GillianRussiaAsiya Javayant RENEWAL
Ashley F RutaUnited KingdomAmy Elsner NEW
Kaitlin B BologniaBrazilElwin Sharvill UNQUALIFIED
Johnson X StensethJapanStephen Shaw NEGOTIATION
Arvin B WhobreyIndiaIvan Magalhaes PROPOSAL
Arvin W NestleCanadaOnyama Limba RENEWAL
Aditya A TollnerGermanyOnyama Limba RENEWAL
Ricardo W CaldareraJapanAsiya Javayant NEGOTIATION
Clifford O BologniaItalyIoni Bowcher PROPOSAL
Wickens K SlusarskiRussiaStephen Shaw NEW
Ivar K AmigonSpainAnna Fali QUALIFIED
Salvatore B MaletGermanyAnna Fali RENEWAL
Mayumi M StockhamItalyIoni Bowcher NEW
Stacey V FlosiFranceAnna Fali UNQUALIFIED
Rodrigues T KuskoBrazilAmy Elsner PROPOSAL
Greenwood P FollerBrazilXuxue Feng RENEWAL
Juan T AmigonBrazilAmy Elsner QUALIFIED
Mujtaba J ButtFranceAmy Elsner NEW
Maisha D SchemmerFranceAnna Fali NEGOTIATION
Ivar E CaudyRussiaOnyama Limba NEGOTIATION
Juan Y DarakjyItalyAsiya Javayant NEW
Leon G KolmetzRussiaBernardo Dominic NEGOTIATION
Arvin P VocelkaGermanyIoni Bowcher RENEWAL
Faith R SchemmerJapanAnna Fali NEGOTIATION
Maria V RulapaughCanadaOnyama Limba RENEWAL
Claire O InouyeArgentinaStephen Shaw UNQUALIFIED
Clifford L InouyeGermanyStephen Shaw PROPOSAL
Kaitlin R SergiSpainAsiya Javayant NEGOTIATION
Darci R PaprockiCanadaIvan Magalhaes PROPOSAL
Johnson F FollerGermanyAnna Fali QUALIFIED
Antonio U RimIndiaOnyama Limba QUALIFIED
Aditya P ShinkoBrazilElwin Sharvill RENEWAL
Munro V PoquetteSpainIoni Bowcher NEGOTIATION
Antonio A MarrierItalyAsiya Javayant PROPOSAL
Leon E KuskoAustraliaAmy Elsner NEW
Frozen Columns
Name
Izzy W Stockham
Salvatore Z Darakjy
Jennifer F Nicka
Jeanfrancois C Gillian
Octavia P Flosi
Murillo F Ferencz
Faith I Shinko
Julie I Inouye
Isabel P Kolmetz
Antonio M Bolognia
Misaki J Sergi
Leja W Ruta
Jefferson I Marrier
Nicolas C Ostrosky
Nicolas P Ruta
Misaki I Doe
Munro O Malet
Leja A Bolognia
Juan W Albares
Morrow Q Amigon
Emily T Malet
Tony V Maclead
Alejandro C Nestle
Arvin A Slusarski
Misaki U Slusarski
Costa D Ostrosky
Stacey M Maclead
Claire S Stockham
Munro D Doe
Munro N Foller
Jones B Waycott
Clifford J Shinko
Deepesh P Campain
Costa H Poquette
Arvin D Tollner
Leon M Rulapaugh
Emily P Paprocki
Kadeem U Vocelka
James D Bowley
Mayumi A Paprocki
Ashley N Royster
Julie W Garufi
Johnson V Schemmer
James P Perin
Isabel Z Briddick
Arvin Z Ostrosky
Salvatore X Rulapaugh
Maria F Campain
David I Nestle
Izzy S Chui
IdCountryDate
1000France2024-06-20
1001United Kingdom2024-05-29
1002Spain2024-06-05
1003Brazil2024-06-01
1004Argentina2024-05-29
1005United Kingdom2024-06-09
1006Germany2024-06-18
1007Italy2024-06-15
1008India2024-06-05
1009Russia2024-06-13
1010Italy2024-06-01
1011Brazil2024-06-16
1012India2024-06-04
1013Germany2024-06-23
1014Russia2024-05-30
1015India2024-06-10
1016Brazil2024-06-07
1017Russia2024-06-03
1018Brazil2024-05-29
1019Argentina2024-06-20
1020Argentina2024-06-03
1021Germany2024-06-13
1022Australia2024-05-26
1023Canada2024-06-21
1024Brazil2024-05-27
1025Japan2024-06-13
1026France2024-06-15
1027Argentina2024-06-13
1028Germany2024-06-09
1029Canada2024-06-02
1030Argentina2024-06-03
1031France2024-06-09
1032Argentina2024-06-18
1033Japan2024-06-06
1034Canada2024-06-13
1035Argentina2024-06-03
1036United Kingdom2024-06-02
1037Russia2024-06-09
1038Italy2024-06-21
1039Spain2024-06-11
1040Brazil2024-05-31
1041France2024-05-30
1042Italy2024-06-23
1043Italy2024-05-31
1044India2024-06-07
1045Germany2024-06-07
1046Canada2024-06-10
1047Australia2024-06-08
1048Argentina2024-06-10
1049Italy2024-06-09

On-Demand Data

NameIdCountryDate
Misaki M Stenseth1000Italy2024-05-28
Morrow G Nestle1001Spain2024-06-01
Mayumi H Perin1002Italy2024-06-06
James J Bolognia1003India2024-05-31
Mayumi F Briddick1004Canada2024-06-06
Antonio L Marrier1005United Kingdom2024-05-31
Kadeem B Gillian1006Russia2024-06-15
Jones U Stockham1007Russia2024-06-08
Antonio Y Glick1008United Kingdom2024-06-12
Sinclair U Slusarski1009India2024-06-08
Morrow B Foller1010Canada2024-06-08
Aditya A Kolmetz1011Germany2024-06-08
Nicolas E Paprocki1012Japan2024-06-24
Leja R Flosi1013Canada2024-06-15
Stacey X Morasca1014Brazil2024-06-18
Johnson O Gaucho1015Germany2024-06-18
Jefferson W Morasca1016Argentina2024-05-28
Octavia G Nestle1017Brazil2024-06-07
Tony I Stenseth1018United Kingdom2024-06-21
Octavia M Tollner1019Argentina2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia W StensethIndiaBernardo Dominic RENEWAL
Aditya W KuskoRussiaAmy Elsner NEW
Ashley S PaprockiSpainElwin Sharvill UNQUALIFIED
Nicolas I DilliardRussiaStephen Shaw PROPOSAL
Alejandro B StensethItalyAmy Elsner NEW
David B GlickAustraliaAnna Fali NEGOTIATION
Mayumi F AmigonSpainElwin Sharvill PROPOSAL
Greenwood F DarakjyJapanAsiya Javayant RENEWAL
David V SchemmerRussiaXuxue Feng QUALIFIED
Ashley F TollnerRussiaXuxue Feng PROPOSAL
Faith I VocelkaCanadaElwin Sharvill NEW
Mujtaba X FigeroaFranceAsiya Javayant QUALIFIED
Aruna O AmigonSpainOnyama Limba RENEWAL
Silvio X FollerRussiaAmy Elsner RENEWAL
Deepesh F RoysterRussiaOnyama Limba NEGOTIATION
James X DarakjyFranceIoni Bowcher NEGOTIATION
Deepesh Q SaylorsFranceOnyama Limba UNQUALIFIED
Stacey Y BowleySpainStephen Shaw PROPOSAL
Alejandro G CaudyRussiaOnyama Limba PROPOSAL
Antonio R KolmetzSpainAsiya Javayant NEW
Greenwood T FigeroaGermanyElwin Sharvill QUALIFIED
Isabel F InouyeIndiaBernardo Dominic NEW
Leja N MarrierFranceIoni Bowcher PROPOSAL
Sinclair K FerenczBrazilIvan Magalhaes NEGOTIATION
Aditya O StensethFranceBernardo Dominic RENEWAL
Mayumi G GillianFranceIvan Magalhaes NEGOTIATION
Jefferson B FollerGermanyAmy Elsner UNQUALIFIED
Morrow L ButtRussiaAnna Fali UNQUALIFIED
Julie B CaudyBrazilAnna Fali UNQUALIFIED
Julie R VenereJapanIoni Bowcher NEGOTIATION
Silvio T AlbaresArgentinaBernardo Dominic NEGOTIATION
Costa L DarakjyCanadaIvan Magalhaes RENEWAL
David N MaletIndiaIoni Bowcher NEW
Antonio O RoysterCanadaOnyama Limba RENEWAL
Francesco H FollerArgentinaBernardo Dominic NEW
Claire Q SlusarskiGermanyAnna Fali NEW
Deepesh W VocelkaIndiaAsiya Javayant NEW
Clifford U SaylorsFranceAmy Elsner NEW
Aika M WaycottCanadaOnyama Limba QUALIFIED
Misaki V MaletAustraliaOnyama Limba RENEWAL

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