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
Kaitlin F StockhamFranceIoni Bowcher RENEWAL
Leja A RoysterSpainBernardo Dominic NEGOTIATION
Aika L CaldareraRussiaAnna Fali NEW
Kaitlin N GauchoItalyIvan Magalhaes RENEWAL
Juan S SchemmerBrazilAsiya Javayant NEGOTIATION
Mujtaba G KuskoJapanStephen Shaw RENEWAL
Jefferson C WieserFranceAnna Fali NEGOTIATION
Murillo J FerenczIndiaAnna Fali PROPOSAL
Kaitlin O ButtSpainAsiya Javayant RENEWAL
Mujtaba K RutaItalyAsiya Javayant UNQUALIFIED
James A MarrierCanadaXuxue Feng QUALIFIED
Aika E VenereJapanXuxue Feng QUALIFIED
Francesco R PaprockiArgentinaBernardo Dominic NEGOTIATION
Jeanfrancois Z CaldareraFranceStephen Shaw PROPOSAL
Aruna B StensethAustraliaAnna Fali UNQUALIFIED
Silvio I TollnerRussiaXuxue Feng PROPOSAL
Leja X SlusarskiBrazilStephen Shaw UNQUALIFIED
Aditya U AmigonUnited KingdomElwin Sharvill PROPOSAL
Smith Q ShinkoUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois R FigeroaArgentinaAmy Elsner PROPOSAL
Cody N ShinkoRussiaXuxue Feng UNQUALIFIED
Ivar C CampainCanadaStephen Shaw UNQUALIFIED
Ricardo V TollnerRussiaBernardo Dominic UNQUALIFIED
Mayumi D WaycottFranceAnna Fali NEGOTIATION
Kadeem U FerenczIndiaXuxue Feng QUALIFIED
Izzy W RutaGermanyXuxue Feng RENEWAL
Cody C SlusarskiAustraliaIvan Magalhaes NEW
Mujtaba F PerinFranceOnyama Limba UNQUALIFIED
Costa C WaycottAustraliaIvan Magalhaes PROPOSAL
Smith N DilliardItalyOnyama Limba PROPOSAL
Leja G BriddickSpainIvan Magalhaes NEGOTIATION
Ashley R FlosiRussiaAnna Fali PROPOSAL
Salvatore G OldroydGermanyIvan Magalhaes UNQUALIFIED
Costa I RoysterAustraliaXuxue Feng QUALIFIED
David B ButtJapanAnna Fali RENEWAL
Johnson F MaletJapanIvan Magalhaes RENEWAL
Stacey H CaldareraJapanOnyama Limba UNQUALIFIED
Darci G ShinkoBrazilAsiya Javayant PROPOSAL
Julie D MaletJapanAnna Fali NEGOTIATION
Octavia W PoquetteIndiaElwin Sharvill NEW
Kaitlin K StockhamGermanyAnna Fali NEGOTIATION
Aditya A KolmetzCanadaBernardo Dominic PROPOSAL
Silvio O TollnerCanadaStephen Shaw NEGOTIATION
Tony D VocelkaJapanBernardo Dominic RENEWAL
Wickens J RimSpainIoni Bowcher NEGOTIATION
Emily P AmigonArgentinaBernardo Dominic RENEWAL
Aruna D KolmetzAustraliaAnna Fali UNQUALIFIED
Francesco E ButtRussiaIoni Bowcher RENEWAL
Cody U OstroskyGermanyElwin Sharvill NEW
Isabel W RimGermanyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro X ButtAustraliaIoni Bowcher QUALIFIED
Jennifer C GauchoArgentinaBernardo Dominic NEW
Morrow W FollerIndiaOnyama Limba RENEWAL
Leja T OstroskyIndiaBernardo Dominic NEW
Darci I MorascaAustraliaIvan Magalhaes NEW
Juan J KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois S SchemmerCanadaOnyama Limba RENEWAL
Mujtaba L InouyeItalyAmy Elsner NEW
Maisha J BologniaRussiaStephen Shaw NEW
Alejandro Y MaletJapanElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson W KuskoItaly2024-06-08Feltz Printing Service NEGOTIATION90Asiya Javayant
1001Arvin Y VocelkaSpain2024-05-24Rangoni Of Florence UNQUALIFIED3Elwin Sharvill
1002Antonio Q VenereCanada2024-05-31Chanay, Jeffrey A Esq QUALIFIED23Xuxue Feng
1003Deepesh X FollerFrance2024-06-13Morlong Associates NEW99Onyama Limba
1004Ivar X BriddickRussia2024-06-19King, Christopher A Esq PROPOSAL39Anna Fali
1005Octavia M IturbideBrazil2024-06-15Feltz Printing Service QUALIFIED73Xuxue Feng
1006Mayumi R TollnerCanada2024-06-20Rousseaux, Michael Esq PROPOSAL51Onyama Limba
1007Arvin X GauchoGermany2024-05-31Chemel, James L Cpa PROPOSAL83Xuxue Feng
1008Isabel E CaudyGermany2024-06-02Chapman, Ross E Esq RENEWAL76Ivan Magalhaes
1009Arvin M ButtItaly2024-05-29Chanay, Jeffrey A Esq NEGOTIATION89Bernardo Dominic
1010Johnson L SchemmerIndia2024-06-21Buckley Miller Wright NEW49Asiya Javayant
1011Sinclair H SergiFrance2024-06-16Feltz Printing Service RENEWAL3Asiya Javayant
1012Jefferson G GauchoAustralia2024-05-25Morlong Associates NEW53Anna Fali
1013Aruna I FlosiGermany2024-05-25Benton, John B Jr NEW47Amy Elsner
1014Aika P SaylorsCanada2024-06-07Chemel, James L Cpa RENEWAL83Elwin Sharvill
1015Isabel A ShinkoItaly2024-05-26King, Christopher A Esq RENEWAL4Anna Fali
1016Wickens J RoysterArgentina2024-06-05Commercial Press PROPOSAL22Ivan Magalhaes
1017Arvin K FlosiJapan2024-06-20Benton, John B Jr PROPOSAL72Onyama Limba
1018Francesco L BologniaRussia2024-06-07Rousseaux, Michael Esq UNQUALIFIED5Xuxue Feng
1019Misaki F IturbideIndia2024-06-07Benton, John B Jr UNQUALIFIED63Elwin Sharvill
1020Rodrigues Q CampainIndia2024-06-02Benton, John B Jr NEGOTIATION74Bernardo Dominic
1021Arvin Q AlbaresJapan2024-06-16Benton, John B Jr RENEWAL87Bernardo Dominic
1022Tony L CampainBrazil2024-06-09Chemel, James L Cpa PROPOSAL83Stephen Shaw
1023David V KolmetzRussia2024-06-19King, Christopher A Esq NEGOTIATION69Bernardo Dominic
1024Leon F IturbideAustralia2024-06-04Printing Dimensions QUALIFIED87Elwin Sharvill
1025Aditya I SlusarskiCanada2024-06-10Dorl, James J Esq RENEWAL51Amy Elsner
1026Jones T NestleAustralia2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED13Onyama Limba
1027Mujtaba P VenereIndia2024-06-08Dorl, James J Esq QUALIFIED96Elwin Sharvill
1028Maria E PoquetteCanada2024-06-19King, Christopher A Esq UNQUALIFIED52Stephen Shaw
1029James C ShinkoIndia2024-06-05Feltz Printing Service UNQUALIFIED9Ioni Bowcher
1030Faith C SchemmerAustralia2024-06-22Feiner Bros PROPOSAL52Onyama Limba
1031Stacey P FerenczCanada2024-06-20Chanay, Jeffrey A Esq QUALIFIED42Ioni Bowcher
1032Wickens U WaycottRussia2024-06-16Dorl, James J Esq PROPOSAL65Ivan Magalhaes
1033Costa K PoquetteSpain2024-06-11Benton, John B Jr NEW89Onyama Limba
1034Cody I PaprockiFrance2024-06-22Printing Dimensions UNQUALIFIED58Xuxue Feng
1035Smith L TollnerRussia2024-06-12Feltz Printing Service NEGOTIATION9Anna Fali
1036Kadeem W CaudyCanada2024-06-08Dorl, James J Esq PROPOSAL88Elwin Sharvill
1037Aruna U NickaCanada2024-05-25Rousseaux, Michael Esq PROPOSAL71Bernardo Dominic
1038Greenwood I SaylorsAustralia2024-06-07Buckley Miller Wright UNQUALIFIED22Amy Elsner
1039Jefferson N NickaCanada2024-06-10Buckley Miller Wright RENEWAL15Onyama Limba
1040Alejandro A GlickRussia2024-06-03Truhlar And Truhlar Attys PROPOSAL12Ioni Bowcher
1041James J FlosiRussia2024-06-17Commercial Press UNQUALIFIED34Amy Elsner
1042Ricardo Y NestleIndia2024-06-02Printing Dimensions RENEWAL96Xuxue Feng
1043Aika Q NickaBrazil2024-06-07Feiner Bros UNQUALIFIED72Onyama Limba
1044Ivar S CaudySpain2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED40Onyama Limba
1045Silvio D NestleRussia2024-06-09Printing Dimensions PROPOSAL76Ioni Bowcher
1046Aruna V SergiArgentina2024-06-20Commercial Press UNQUALIFIED74Ioni Bowcher
1047Arvin U VocelkaItaly2024-05-28Feiner Bros QUALIFIED44Elwin Sharvill
1048James F DilliardJapan2024-06-03Chemel, James L Cpa PROPOSAL10Amy Elsner
1049Cody R PaprockiGermany2024-06-06King, Christopher A Esq RENEWAL95Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Stacey C FerenczSpainOnyama Limba QUALIFIED
Tony M VenereJapanElwin Sharvill NEGOTIATION
Rodrigues L RulapaughGermanyAmy Elsner RENEWAL
Emily P RutaCanadaAnna Fali QUALIFIED
Tony I WieserBrazilBernardo Dominic NEGOTIATION
Nicolas Z MarrierFranceIoni Bowcher QUALIFIED
Julie E PoquetteCanadaIoni Bowcher NEGOTIATION
Arvin N OldroydIndiaStephen Shaw NEGOTIATION
Tony B KuskoArgentinaStephen Shaw UNQUALIFIED
Stacey U NickaRussiaIvan Magalhaes NEW
Leon O SaylorsAustraliaAnna Fali NEGOTIATION
Ricardo X RoysterRussiaStephen Shaw PROPOSAL
Costa L FigeroaGermanyAnna Fali PROPOSAL
Juan M TollnerItalyAnna Fali PROPOSAL
Jennifer X SaylorsAustraliaAnna Fali RENEWAL
Munro Y RoysterUnited KingdomXuxue Feng QUALIFIED
Salvatore V PerinSpainStephen Shaw NEW
Leon Y NestleGermanyAnna Fali NEW
Stacey R PoquetteFranceAmy Elsner RENEWAL
Juan P VenereUnited KingdomStephen Shaw NEW
Aditya W PoquetteCanadaIvan Magalhaes NEW
Ashley Y MaletAustraliaAnna Fali PROPOSAL
Ashley F ChuiSpainAmy Elsner PROPOSAL
James A RulapaughItalyIoni Bowcher QUALIFIED
Stacey V MaletAustraliaXuxue Feng NEW
Ivar Q MarrierFranceAsiya Javayant QUALIFIED
Morrow K BologniaItalyXuxue Feng PROPOSAL
Alejandro R RutaIndiaXuxue Feng UNQUALIFIED
Aruna N KuskoAustraliaXuxue Feng UNQUALIFIED
Jennifer A FerenczIndiaBernardo Dominic QUALIFIED
Jennifer V DarakjyRussiaAmy Elsner NEGOTIATION
Cody Y FlosiRussiaOnyama Limba NEGOTIATION
Chavez X KuskoJapanBernardo Dominic NEW
James T RutaCanadaAmy Elsner NEW
Izzy O DarakjyBrazilElwin Sharvill PROPOSAL
Mayumi K OldroydGermanyAsiya Javayant QUALIFIED
Misaki H VocelkaIndiaAmy Elsner UNQUALIFIED
Maisha G DoeItalyAnna Fali RENEWAL
Isabel V AlbaresArgentinaAmy Elsner RENEWAL
Emily X GauchoAustraliaOnyama Limba PROPOSAL
Francesco T AlbaresUnited KingdomAnna Fali NEW
Murillo Z InouyeJapanBernardo Dominic QUALIFIED
Arvin O InouyeItalyIoni Bowcher NEW
Alejandro Z FollerCanadaIvan Magalhaes RENEWAL
Julie L ChuiArgentinaXuxue Feng RENEWAL
Juan Q RutaAustraliaAnna Fali RENEWAL
Alejandro R DoeCanadaAsiya Javayant RENEWAL
Ashley U SlusarskiAustraliaAsiya Javayant RENEWAL
Maria D MorascaBrazilAnna Fali NEGOTIATION
Ivar X DarakjyGermanyOnyama Limba PROPOSAL
Frozen Columns
Name
Kaitlin Y Glick
Morrow J Briddick
Salvatore B Caldarera
Silvio F Ruta
Leja U Kolmetz
Salvatore P Nestle
Johnson N Paprocki
Johnson J Figeroa
Ashley D Foller
Mujtaba C Stockham
Ricardo U Tollner
Clifford Z Briddick
Julie X Glick
Chavez S Caldarera
Ivar V Malet
David L Darakjy
Murillo I Rim
Johnson Z Sergi
Misaki J Bolognia
Arvin A Bowley
James N Iturbide
Kaitlin F Shinko
Wickens P Maclead
Jeanfrancois T Vocelka
Stacey O Sergi
Alejandro V Marrier
Jones O Slusarski
Munro B Morasca
James I Royster
Smith C Poquette
Clifford N Butt
Tony L Kusko
Maisha H Caudy
Smith L Albares
Tony I Perin
Ivar J Tollner
Johnson D Garufi
Octavia E Paprocki
Jefferson N Gillian
Ashley B Malet
Mujtaba P Wieser
Mujtaba N Ruta
Maria P Kusko
Murillo T Nestle
Johnson H Butt
Arvin I Schemmer
Smith F Ferencz
Faith Q Albares
Ashley Q Perin
Maisha D Saylors
IdCountryDate
1000Argentina2024-06-02
1001India2024-06-16
1002Russia2024-06-07
1003Japan2024-06-17
1004Brazil2024-06-17
1005India2024-06-04
1006Australia2024-06-16
1007Russia2024-05-29
1008Germany2024-05-25
1009India2024-05-25
1010France2024-06-21
1011France2024-06-02
1012Argentina2024-06-16
1013Spain2024-05-26
1014Brazil2024-06-11
1015France2024-06-22
1016France2024-06-13
1017Canada2024-05-27
1018Germany2024-05-25
1019Russia2024-05-30
1020Brazil2024-06-11
1021Spain2024-05-27
1022Spain2024-06-11
1023Canada2024-06-20
1024Japan2024-05-30
1025Australia2024-06-14
1026Argentina2024-06-22
1027Japan2024-05-29
1028United Kingdom2024-05-28
1029Australia2024-06-03
1030Italy2024-05-27
1031France2024-06-16
1032Brazil2024-05-25
1033Canada2024-05-29
1034Australia2024-06-15
1035Germany2024-06-18
1036France2024-06-03
1037India2024-06-17
1038Brazil2024-06-21
1039France2024-05-26
1040Australia2024-06-12
1041Russia2024-06-03
1042Italy2024-05-30
1043France2024-06-12
1044Russia2024-06-01
1045Australia2024-06-02
1046Italy2024-06-09
1047Brazil2024-05-28
1048Brazil2024-06-20
1049France2024-06-07

On-Demand Data

NameIdCountryDate
Murillo P Waycott1000Italy2024-05-24
Johnson E Stenseth1001Canada2024-06-18
Chavez E Marrier1002Argentina2024-06-10
Antonio C Poquette1003Italy2024-06-06
Murillo B Marrier1004Russia2024-06-20
Smith H Ostrosky1005Canada2024-06-19
Darci T Gillian1006United Kingdom2024-06-06
Ricardo I Foller1007Canada2024-06-10
Sinclair K Sergi1008United Kingdom2024-06-11
Aika V Oldroyd1009Argentina2024-06-13
Adams F Campain1010Brazil2024-06-18
Johnson I Ostrosky1011Italy2024-06-09
Alejandro X Nestle1012Argentina2024-06-15
Stacey W Kolmetz1013Argentina2024-06-20
Arvin U Maclead1014Japan2024-06-16
Ricardo Z Rulapaugh1015United Kingdom2024-06-08
Isabel X Rim1016France2024-06-21
Faith E Whobrey1017United Kingdom2024-06-15
Isabel M Malet1018Japan2024-05-26
Aruna Z Tollner1019Russia2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody G WieserIndiaOnyama Limba RENEWAL
Jones D BologniaBrazilBernardo Dominic NEW
Cody P RulapaughArgentinaAmy Elsner UNQUALIFIED
Deepesh F MarrierSpainElwin Sharvill QUALIFIED
Antonio R NestleBrazilIoni Bowcher QUALIFIED
Costa U CaldareraFranceAnna Fali NEGOTIATION
Ivar O PaprockiBrazilIoni Bowcher PROPOSAL
Salvatore N CaldareraIndiaBernardo Dominic UNQUALIFIED
Claire F GillianAustraliaAsiya Javayant NEGOTIATION
Ivar T FerenczJapanOnyama Limba RENEWAL
Costa F WieserCanadaIvan Magalhaes PROPOSAL
Mujtaba L MaletJapanAsiya Javayant RENEWAL
Salvatore N ChuiItalyIoni Bowcher UNQUALIFIED
Morrow W GauchoUnited KingdomBernardo Dominic PROPOSAL
Chavez P BowleyAustraliaAmy Elsner PROPOSAL
Mujtaba F FerenczItalyAnna Fali QUALIFIED
Jefferson Q DoeBrazilElwin Sharvill QUALIFIED
Aruna H PoquetteItalyElwin Sharvill QUALIFIED
Aika E TollnerItalyAsiya Javayant NEGOTIATION
Deepesh Q RutaGermanyAmy Elsner RENEWAL
Deepesh F WieserRussiaIoni Bowcher NEGOTIATION
Darci P FlosiRussiaBernardo Dominic QUALIFIED
Ricardo Q GillianRussiaOnyama Limba QUALIFIED
Izzy K AlbaresRussiaIoni Bowcher NEGOTIATION
Leon K ShinkoItalyXuxue Feng PROPOSAL
Ashley N PoquetteIndiaBernardo Dominic UNQUALIFIED
Silvio R GarufiItalyXuxue Feng RENEWAL
Francesco G TollnerAustraliaAsiya Javayant QUALIFIED
Kadeem D RutaBrazilIvan Magalhaes PROPOSAL
Juan A WieserRussiaOnyama Limba QUALIFIED
Kadeem C SaylorsGermanyXuxue Feng UNQUALIFIED
Wickens P VocelkaJapanXuxue Feng NEGOTIATION
Ricardo W DilliardCanadaAsiya Javayant UNQUALIFIED
Jennifer Q PaprockiAustraliaAmy Elsner NEW
Ashley D AmigonGermanyIoni Bowcher NEW
Deepesh M PaprockiRussiaBernardo Dominic UNQUALIFIED
Murillo O NestleCanadaAnna Fali QUALIFIED
Kadeem B OldroydSpainXuxue Feng UNQUALIFIED
Julie Q TollnerItalyIoni Bowcher NEGOTIATION
Emily H WaycottArgentinaXuxue Feng 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>