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
Claire Z ChuiCanadaIvan Magalhaes RENEWAL
Adams Q StockhamFranceOnyama Limba NEGOTIATION
Sinclair Q CaldareraGermanyElwin Sharvill UNQUALIFIED
Clifford S MaletSpainAmy Elsner PROPOSAL
Sinclair W SlusarskiIndiaIoni Bowcher QUALIFIED
Clifford T BriddickJapanIvan Magalhaes NEW
Mayumi N BologniaUnited KingdomIvan Magalhaes QUALIFIED
Chavez N OldroydIndiaElwin Sharvill UNQUALIFIED
Kaitlin D RulapaughBrazilIvan Magalhaes NEGOTIATION
Wickens V FlosiFranceXuxue Feng NEGOTIATION
Francesco O FerenczGermanyAsiya Javayant PROPOSAL
Claire A CaldareraBrazilXuxue Feng NEGOTIATION
Alejandro S MaletIndiaElwin Sharvill PROPOSAL
James S IturbideFranceElwin Sharvill NEGOTIATION
Mayumi T WaycottFranceAnna Fali PROPOSAL
Greenwood J CampainItalyIoni Bowcher UNQUALIFIED
Mujtaba I DarakjySpainAnna Fali NEW
Izzy A KuskoCanadaIoni Bowcher PROPOSAL
Misaki G ButtCanadaAmy Elsner NEGOTIATION
Mujtaba P PerinIndiaElwin Sharvill NEGOTIATION
Tony N PaprockiCanadaAnna Fali QUALIFIED
Antonio C IturbideJapanBernardo Dominic NEW
Kaitlin N GauchoBrazilElwin Sharvill QUALIFIED
Kadeem O GarufiUnited KingdomXuxue Feng PROPOSAL
Jennifer G GarufiItalyAmy Elsner PROPOSAL
Isabel Z KuskoGermanyBernardo Dominic PROPOSAL
Smith B RutaJapanAnna Fali NEGOTIATION
David V CampainUnited KingdomXuxue Feng PROPOSAL
Silvio G GillianAustraliaIvan Magalhaes NEW
David N BologniaBrazilIvan Magalhaes UNQUALIFIED
Kadeem I DoeSpainBernardo Dominic NEGOTIATION
Mayumi C NickaBrazilOnyama Limba NEW
Isabel A NickaCanadaIoni Bowcher NEGOTIATION
Cody B MarrierJapanOnyama Limba NEGOTIATION
Misaki O InouyeSpainAsiya Javayant PROPOSAL
Murillo Q GlickAustraliaXuxue Feng NEW
Rodrigues I IturbideFranceAnna Fali UNQUALIFIED
Mujtaba D SaylorsCanadaIoni Bowcher UNQUALIFIED
Greenwood P FigeroaCanadaIvan Magalhaes PROPOSAL
Deepesh P PerinJapanXuxue Feng PROPOSAL
Octavia W BowleyIndiaBernardo Dominic PROPOSAL
Clifford O VocelkaJapanOnyama Limba QUALIFIED
Deepesh P GarufiSpainStephen Shaw NEW
Wickens B NestleAustraliaOnyama Limba NEW
Misaki K GauchoIndiaOnyama Limba UNQUALIFIED
Munro X GlickCanadaOnyama Limba RENEWAL
Leja A FerenczRussiaAmy Elsner QUALIFIED
Jones O DarakjyCanadaElwin Sharvill NEGOTIATION
Greenwood K KolmetzBrazilStephen Shaw PROPOSAL
Ashley Z GlickAustraliaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Julie F OstroskySpainIvan Magalhaes NEW
Clifford E InouyeGermanyOnyama Limba RENEWAL
Cody T VocelkaArgentinaIvan Magalhaes PROPOSAL
Sinclair N FlosiArgentinaIvan Magalhaes QUALIFIED
Adams B TollnerArgentinaAmy Elsner NEGOTIATION
Jeanfrancois W WhobreyFranceAsiya Javayant UNQUALIFIED
Ivar W SaylorsCanadaBernardo Dominic NEGOTIATION
David V NestleGermanyOnyama Limba QUALIFIED
Leja M NestleFranceOnyama Limba NEGOTIATION
Ricardo F FollerRussiaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford Z KolmetzGermany2024-05-10Truhlar And Truhlar Attys PROPOSAL24Elwin Sharvill
1001Nicolas R VocelkaGermany2024-05-26Feiner Bros UNQUALIFIED72Anna Fali
1002Juan X KuskoArgentina2024-05-14Rousseaux, Michael Esq QUALIFIED52Anna Fali
1003Juan S FerenczRussia2024-05-03Buckley Miller Wright NEGOTIATION22Stephen Shaw
1004Adams D KuskoRussia2024-05-12Morlong Associates QUALIFIED10Amy Elsner
1005Aruna E PaprockiCanada2024-05-29Morlong Associates NEGOTIATION33Elwin Sharvill
1006Rodrigues F OldroydFrance2024-05-20Benton, John B Jr RENEWAL6Onyama Limba
1007Nicolas P BologniaAustralia2024-05-16Morlong Associates NEW12Bernardo Dominic
1008Rodrigues I StensethAustralia2024-05-19Feiner Bros UNQUALIFIED46Anna Fali
1009Alejandro C ShinkoRussia2024-05-04Printing Dimensions RENEWAL76Xuxue Feng
1010Rodrigues K ShinkoJapan2024-05-21Feltz Printing Service NEW83Ivan Magalhaes
1011Clifford G WaycottGermany2024-05-28Feiner Bros UNQUALIFIED78Stephen Shaw
1012Ricardo U RutaGermany2024-05-14Rangoni Of Florence NEW5Asiya Javayant
1013Ashley J KuskoBrazil2024-05-12Dorl, James J Esq NEW82Onyama Limba
1014Mayumi E BowleySpain2024-05-08Commercial Press UNQUALIFIED50Onyama Limba
1015Aruna L NickaBrazil2024-05-16Chapman, Ross E Esq RENEWAL94Ioni Bowcher
1016Octavia U KuskoCanada2024-05-14Chemel, James L Cpa PROPOSAL53Stephen Shaw
1017Darci S StensethIndia2024-05-12Commercial Press UNQUALIFIED26Asiya Javayant
1018Ricardo X StockhamUnited Kingdom2024-05-29Dorl, James J Esq NEW49Amy Elsner
1019Aditya T WhobreyFrance2024-05-14Feiner Bros NEW71Onyama Limba
1020Mujtaba E FollerIndia2024-05-04Rousseaux, Michael Esq NEGOTIATION51Onyama Limba
1021Johnson W KuskoCanada2024-05-17Truhlar And Truhlar Attys NEW35Elwin Sharvill
1022Arvin N WhobreyBrazil2024-05-16Benton, John B Jr PROPOSAL31Asiya Javayant
1023Murillo V RoysterArgentina2024-05-24Morlong Associates PROPOSAL46Ivan Magalhaes
1024Salvatore X StensethSpain2024-05-03Feltz Printing Service NEW56Xuxue Feng
1025Arvin W DilliardIndia2024-05-19Truhlar And Truhlar Attys NEW81Onyama Limba
1026Stacey K OldroydSpain2024-05-04Printing Dimensions QUALIFIED42Amy Elsner
1027Antonio V SaylorsSpain2024-05-10Chapman, Ross E Esq UNQUALIFIED82Onyama Limba
1028Ashley K RutaArgentina2024-05-25Printing Dimensions QUALIFIED71Anna Fali
1029Octavia G SchemmerJapan2024-05-19Chemel, James L Cpa NEW40Asiya Javayant
1030Salvatore N CaldareraAustralia2024-05-19Chanay, Jeffrey A Esq QUALIFIED25Ioni Bowcher
1031Adams T DarakjyJapan2024-05-29Dorl, James J Esq PROPOSAL75Anna Fali
1032Jennifer O ChuiIndia2024-05-04Benton, John B Jr PROPOSAL68Ioni Bowcher
1033James W SaylorsFrance2024-05-23Dorl, James J Esq NEGOTIATION78Anna Fali
1034Octavia R SaylorsItaly2024-05-24Chanay, Jeffrey A Esq PROPOSAL75Amy Elsner
1035Leon L StensethRussia2024-05-01Rangoni Of Florence QUALIFIED5Bernardo Dominic
1036Juan Y RoysterRussia2024-05-19Rousseaux, Michael Esq UNQUALIFIED70Ioni Bowcher
1037Clifford S SergiIndia2024-05-24Feltz Printing Service QUALIFIED24Ioni Bowcher
1038Adams Q DoeJapan2024-05-30King, Christopher A Esq NEW62Amy Elsner
1039Mayumi Y NickaUnited Kingdom2024-05-10Rousseaux, Michael Esq NEW58Ioni Bowcher
1040Faith R BowleyAustralia2024-05-15Printing Dimensions UNQUALIFIED82Anna Fali
1041Aditya W SchemmerItaly2024-05-05Feltz Printing Service RENEWAL15Amy Elsner
1042Greenwood G KolmetzGermany2024-05-08Rousseaux, Michael Esq NEGOTIATION51Asiya Javayant
1043Jefferson G BologniaUnited Kingdom2024-05-17Chemel, James L Cpa NEW58Elwin Sharvill
1044Arvin O SchemmerUnited Kingdom2024-05-03Rangoni Of Florence UNQUALIFIED96Amy Elsner
1045Ashley H SlusarskiGermany2024-05-07King, Christopher A Esq NEW53Onyama Limba
1046Misaki P GauchoJapan2024-05-06Truhlar And Truhlar Attys UNQUALIFIED34Asiya Javayant
1047Maria L PaprockiBrazil2024-05-08Feiner Bros NEW33Asiya Javayant
1048Jeanfrancois U MarrierJapan2024-05-03Chapman, Ross E Esq NEW4Ioni Bowcher
1049Faith C StensethItaly2024-05-21Rousseaux, Michael Esq UNQUALIFIED51Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Tony D IturbideBrazilIvan Magalhaes RENEWAL
Maisha B NestleAustraliaBernardo Dominic NEGOTIATION
Claire F FigeroaItalyIoni Bowcher QUALIFIED
Leon A ChuiGermanyElwin Sharvill NEGOTIATION
Darci A ChuiSpainIvan Magalhaes QUALIFIED
Smith P DilliardIndiaIoni Bowcher PROPOSAL
Ricardo E StensethGermanyIoni Bowcher PROPOSAL
David O OldroydItalyElwin Sharvill UNQUALIFIED
Munro A SergiRussiaIoni Bowcher RENEWAL
Ivar H FerenczJapanIvan Magalhaes QUALIFIED
Jeanfrancois U BologniaRussiaAmy Elsner NEW
Kaitlin K GarufiJapanBernardo Dominic RENEWAL
Salvatore H PaprockiGermanyIvan Magalhaes NEGOTIATION
Silvio Q RutaFranceAnna Fali PROPOSAL
Claire L ShinkoSpainBernardo Dominic PROPOSAL
Claire G RutaGermanyIoni Bowcher NEW
Misaki A StensethCanadaXuxue Feng RENEWAL
Adams C InouyeSpainAmy Elsner NEW
James J StensethGermanyStephen Shaw PROPOSAL
Murillo M MacleadCanadaAnna Fali RENEWAL
Francesco E BriddickItalyXuxue Feng NEGOTIATION
Jennifer K CaudyIndiaAnna Fali RENEWAL
Leon I SlusarskiUnited KingdomAsiya Javayant NEW
Emily C RulapaughItalyAmy Elsner PROPOSAL
Juan Q KolmetzCanadaAnna Fali QUALIFIED
Claire Z GlickFranceIvan Magalhaes QUALIFIED
Rodrigues D BriddickAustraliaIvan Magalhaes RENEWAL
Jefferson O OstroskyAustraliaBernardo Dominic NEGOTIATION
Francesco P SaylorsItalyAsiya Javayant PROPOSAL
Sinclair R AlbaresSpainAmy Elsner QUALIFIED
Mayumi F DoeItalyAnna Fali UNQUALIFIED
Leon X OstroskyRussiaStephen Shaw RENEWAL
Jefferson X BologniaCanadaOnyama Limba UNQUALIFIED
Leja Q FollerItalyAmy Elsner PROPOSAL
Aika H PoquetteIndiaOnyama Limba PROPOSAL
Francesco A GarufiIndiaXuxue Feng NEGOTIATION
Mayumi N StensethSpainAnna Fali PROPOSAL
Aruna Q MaletAustraliaXuxue Feng NEW
Jeanfrancois U DarakjyIndiaXuxue Feng UNQUALIFIED
Maisha A NickaItalyAmy Elsner UNQUALIFIED
Stacey C RutaCanadaAmy Elsner NEGOTIATION
Claire M ChuiJapanIvan Magalhaes NEGOTIATION
Nicolas R BologniaSpainAmy Elsner PROPOSAL
Tony P FlosiItalyIvan Magalhaes PROPOSAL
Maria Q GarufiGermanyBernardo Dominic PROPOSAL
Adams N SaylorsArgentinaOnyama Limba NEGOTIATION
Deepesh N NestleFranceIvan Magalhaes PROPOSAL
Salvatore V RutaBrazilIvan Magalhaes UNQUALIFIED
James K CaudyFranceIvan Magalhaes UNQUALIFIED
Ricardo M FollerSpainOnyama Limba RENEWAL
Frozen Columns
Name
Mayumi E Shinko
Ricardo G Garufi
Jennifer S Flosi
Izzy V Tollner
Nicolas C Ostrosky
Maisha K Kolmetz
Aika K Malet
Jones S Schemmer
Nicolas I Briddick
Francesco T Wieser
Kadeem P Stenseth
James Z Poquette
Ashley T Whobrey
Kadeem P Briddick
Smith F Venere
Ricardo W Ruta
Claire L Glick
Costa U Waycott
Antonio O Morasca
Ivar A Paprocki
Isabel I Ruta
Cody O Garufi
Jones Z Darakjy
Claire U Figeroa
Ricardo L Chui
Smith G Paprocki
Mayumi P Inouye
Costa I Slusarski
Octavia V Bolognia
Chavez U Figeroa
Murillo X Vocelka
Emily T Flosi
Jefferson X Wieser
Clifford U Darakjy
Smith W Rulapaugh
Antonio J Wieser
James J Darakjy
Aika O Kolmetz
Cody R Dilliard
Kaitlin P Sergi
Kadeem M Whobrey
Juan X Paprocki
Aruna W Malet
Costa M Figeroa
Tony W Tollner
Adams W Bolognia
Emily Q Poquette
Ivar B Kolmetz
Mayumi L Marrier
Misaki H Morasca
IdCountryDate
1000Russia2024-05-23
1001Germany2024-05-02
1002Italy2024-05-17
1003Argentina2024-05-27
1004Japan2024-05-15
1005Argentina2024-05-11
1006Italy2024-05-06
1007Italy2024-05-16
1008Canada2024-05-09
1009Brazil2024-05-21
1010Brazil2024-05-27
1011Japan2024-05-18
1012India2024-05-22
1013Spain2024-05-07
1014Spain2024-05-28
1015United Kingdom2024-05-26
1016Italy2024-05-10
1017Australia2024-05-27
1018France2024-05-11
1019Brazil2024-05-18
1020Russia2024-05-07
1021Italy2024-05-05
1022Canada2024-05-24
1023Spain2024-05-20
1024Spain2024-05-11
1025United Kingdom2024-05-02
1026India2024-05-19
1027Canada2024-05-04
1028Italy2024-05-05
1029Russia2024-05-13
1030Canada2024-05-02
1031Argentina2024-05-13
1032Russia2024-05-25
1033Italy2024-05-03
1034Australia2024-05-08
1035India2024-05-24
1036France2024-05-24
1037Argentina2024-05-02
1038Russia2024-05-20
1039France2024-05-11
1040Italy2024-05-02
1041India2024-05-29
1042Canada2024-05-11
1043France2024-05-23
1044Germany2024-05-21
1045Canada2024-05-19
1046France2024-05-25
1047India2024-05-08
1048India2024-05-22
1049Brazil2024-05-26

On-Demand Data

NameIdCountryDate
Kaitlin M Amigon1000Italy2024-05-09
Salvatore A Caudy1001United Kingdom2024-05-07
Murillo K Caldarera1002Italy2024-05-02
Kadeem K Shinko1003Italy2024-05-22
Chavez M Nestle1004Russia2024-05-20
Misaki N Albares1005Russia2024-05-23
Mayumi D Wieser1006Brazil2024-05-21
Jefferson Z Darakjy1007Australia2024-05-08
Leja P Ostrosky1008India2024-05-22
Salvatore T Ostrosky1009Japan2024-05-21
Salvatore P Stockham1010Brazil2024-05-27
Mayumi J Slusarski1011Australia2024-05-02
Nicolas I Rim1012Russia2024-05-19
Salvatore B Figeroa1013Italy2024-05-20
Jefferson X Marrier1014Germany2024-05-19
Aika L Nestle1015Argentina2024-05-06
Alejandro N Caudy1016Brazil2024-05-15
James A Stenseth1017India2024-05-15
Adams C Ferencz1018Spain2024-05-07
Ivar Q Nestle1019Argentina2024-05-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy Y SlusarskiSpainAsiya Javayant NEW
Sinclair R OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Tony T AlbaresArgentinaIoni Bowcher NEGOTIATION
Ricardo T RutaIndiaBernardo Dominic RENEWAL
David S WieserCanadaStephen Shaw NEGOTIATION
Deepesh Q VenereCanadaIoni Bowcher NEGOTIATION
Faith N PerinUnited KingdomIvan Magalhaes PROPOSAL
Ricardo B MarrierArgentinaAmy Elsner NEW
Ivar L BriddickItalyAsiya Javayant PROPOSAL
Nicolas X VenereArgentinaStephen Shaw QUALIFIED
Faith J SaylorsUnited KingdomElwin Sharvill QUALIFIED
Maria N StockhamFranceBernardo Dominic NEGOTIATION
Aditya D ShinkoCanadaAmy Elsner UNQUALIFIED
James M DoeSpainStephen Shaw NEGOTIATION
Rodrigues W DarakjyGermanyOnyama Limba RENEWAL
Arvin V FerenczArgentinaElwin Sharvill QUALIFIED
Jeanfrancois Y FerenczUnited KingdomBernardo Dominic PROPOSAL
Johnson A GarufiSpainXuxue Feng UNQUALIFIED
Murillo L NestleRussiaStephen Shaw UNQUALIFIED
Mayumi P NickaIndiaIoni Bowcher NEW
Izzy U BriddickFranceAsiya Javayant NEGOTIATION
Isabel M AlbaresAustraliaXuxue Feng UNQUALIFIED
Murillo A PoquetteGermanyIvan Magalhaes UNQUALIFIED
Aika R FerenczRussiaOnyama Limba QUALIFIED
Wickens A GillianJapanIoni Bowcher PROPOSAL
Emily G SlusarskiSpainXuxue Feng NEW
Aditya P BriddickItalyAmy Elsner PROPOSAL
Isabel W GauchoItalyAsiya Javayant NEW
Juan M GillianAustraliaAmy Elsner NEGOTIATION
Deepesh G RulapaughUnited KingdomAnna Fali QUALIFIED
Mayumi R SaylorsGermanyOnyama Limba UNQUALIFIED
Ivar X AlbaresSpainAsiya Javayant RENEWAL
Arvin D VocelkaJapanIvan Magalhaes PROPOSAL
Wickens L IturbideFranceAnna Fali RENEWAL
Alejandro W DoeFranceOnyama Limba UNQUALIFIED
Chavez J MaletArgentinaOnyama Limba UNQUALIFIED
Jones M PoquetteSpainAmy Elsner RENEWAL
Octavia E AlbaresSpainIvan Magalhaes PROPOSAL
Smith I GauchoSpainAnna Fali NEW
Murillo K WaycottItalyIoni Bowcher PROPOSAL

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