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
Smith W MarrierUnited KingdomAmy Elsner PROPOSAL
Greenwood D PaprockiRussiaBernardo Dominic RENEWAL
Salvatore P MorascaItalyAmy Elsner RENEWAL
Octavia R OstroskyCanadaIvan Magalhaes QUALIFIED
Ricardo H RimItalyAsiya Javayant RENEWAL
Salvatore U RulapaughAustraliaAnna Fali NEW
Rodrigues Y BologniaRussiaAnna Fali NEGOTIATION
Darci Q RimGermanyIvan Magalhaes UNQUALIFIED
Octavia C ChuiArgentinaAmy Elsner NEW
Aika P FollerFranceStephen Shaw UNQUALIFIED
Aditya Z OldroydRussiaAsiya Javayant NEW
Ricardo S WhobreyJapanStephen Shaw UNQUALIFIED
Chavez P WieserRussiaIvan Magalhaes QUALIFIED
Claire Z NickaArgentinaAmy Elsner UNQUALIFIED
David H MaletArgentinaBernardo Dominic PROPOSAL
Adams K InouyeIndiaOnyama Limba NEW
Deepesh W FlosiArgentinaElwin Sharvill NEGOTIATION
Deepesh E SergiCanadaStephen Shaw RENEWAL
Julie O RulapaughFranceAnna Fali NEGOTIATION
Silvio G BowleyCanadaXuxue Feng UNQUALIFIED
Kadeem V TollnerSpainOnyama Limba PROPOSAL
Alejandro J OstroskySpainIvan Magalhaes PROPOSAL
Ricardo G PerinGermanyOnyama Limba RENEWAL
Aruna P RimBrazilBernardo Dominic PROPOSAL
Kaitlin D FerenczItalyAnna Fali NEGOTIATION
Jefferson P SchemmerArgentinaAmy Elsner RENEWAL
Maisha Q DilliardBrazilBernardo Dominic PROPOSAL
Claire T GarufiFranceElwin Sharvill NEGOTIATION
Maria D DilliardGermanyStephen Shaw UNQUALIFIED
James N ChuiAustraliaIoni Bowcher PROPOSAL
Nicolas J StockhamCanadaAmy Elsner NEW
Jeanfrancois F KuskoBrazilXuxue Feng NEGOTIATION
Nicolas K GauchoGermanyIvan Magalhaes RENEWAL
Mayumi U BriddickJapanStephen Shaw RENEWAL
Francesco H MarrierAustraliaElwin Sharvill QUALIFIED
Alejandro M PaprockiCanadaAsiya Javayant NEW
Clifford F RimAustraliaElwin Sharvill NEGOTIATION
Faith V SlusarskiGermanyStephen Shaw QUALIFIED
Misaki U DoeArgentinaOnyama Limba RENEWAL
Ivar X DoeJapanBernardo Dominic RENEWAL
Arvin V PaprockiGermanyOnyama Limba NEGOTIATION
James M SaylorsSpainIoni Bowcher NEGOTIATION
Rodrigues P CaudyArgentinaXuxue Feng RENEWAL
Leja U PerinRussiaIvan Magalhaes NEW
Nicolas G DilliardRussiaElwin Sharvill PROPOSAL
Arvin U KuskoIndiaOnyama Limba NEGOTIATION
Rodrigues N CampainRussiaIoni Bowcher PROPOSAL
Mayumi R ChuiBrazilIoni Bowcher QUALIFIED
Alejandro Y SaylorsArgentinaAmy Elsner QUALIFIED
Mujtaba A GlickRussiaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues W BologniaSpainAnna Fali UNQUALIFIED
Johnson J InouyeJapanIoni Bowcher RENEWAL
Costa P MorascaBrazilIvan Magalhaes NEGOTIATION
Smith U RoysterCanadaXuxue Feng NEGOTIATION
Leja B RimGermanyOnyama Limba RENEWAL
Clifford I BowleyArgentinaXuxue Feng UNQUALIFIED
Maisha N ChuiIndiaIvan Magalhaes QUALIFIED
Rodrigues F DarakjyItalyXuxue Feng UNQUALIFIED
Francesco M ChuiUnited KingdomAnna Fali NEW
Kaitlin R DoeGermanyXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro O PaprockiGermany2024-06-01Morlong Associates RENEWAL71Onyama Limba
1001Jefferson A RimArgentina2024-05-29Morlong Associates NEGOTIATION47Onyama Limba
1002David B NickaFrance2024-06-10Feltz Printing Service RENEWAL30Stephen Shaw
1003Izzy G OldroydUnited Kingdom2024-06-06Truhlar And Truhlar Attys PROPOSAL13Asiya Javayant
1004Tony X IturbideGermany2024-06-19Commercial Press NEW82Ivan Magalhaes
1005Aditya D MacleadUnited Kingdom2024-06-02Chemel, James L Cpa UNQUALIFIED43Ivan Magalhaes
1006Jones D VenereGermany2024-05-31Dorl, James J Esq PROPOSAL95Amy Elsner
1007Claire D FollerBrazil2024-05-31Chanay, Jeffrey A Esq PROPOSAL0Anna Fali
1008James K FollerIndia2024-06-10Feltz Printing Service PROPOSAL97Bernardo Dominic
1009Jeanfrancois A WhobreyGermany2024-06-22Truhlar And Truhlar Attys RENEWAL34Ioni Bowcher
1010Murillo Y FigeroaRussia2024-05-29Rangoni Of Florence PROPOSAL66Asiya Javayant
1011Julie K WhobreyRussia2024-06-19Feltz Printing Service PROPOSAL74Asiya Javayant
1012Jeanfrancois N FigeroaArgentina2024-06-05Commercial Press QUALIFIED84Ivan Magalhaes
1013Francesco X FollerGermany2024-06-07Rangoni Of Florence NEGOTIATION66Ioni Bowcher
1014Cody E FollerCanada2024-05-29Buckley Miller Wright NEGOTIATION75Stephen Shaw
1015David U RutaRussia2024-06-22Dorl, James J Esq UNQUALIFIED13Stephen Shaw
1016Salvatore N ShinkoFrance2024-05-26Printing Dimensions RENEWAL34Xuxue Feng
1017Rodrigues J BologniaCanada2024-06-08Printing Dimensions QUALIFIED64Onyama Limba
1018James N ButtArgentina2024-06-10Benton, John B Jr NEGOTIATION86Xuxue Feng
1019Johnson J PaprockiCanada2024-06-22Dorl, James J Esq PROPOSAL96Asiya Javayant
1020Stacey U CaldareraItaly2024-06-09Buckley Miller Wright PROPOSAL27Elwin Sharvill
1021Aditya E DarakjyRussia2024-06-01Morlong Associates NEW26Ioni Bowcher
1022Mujtaba A SergiGermany2024-06-18Morlong Associates PROPOSAL1Bernardo Dominic
1023Deepesh E BriddickRussia2024-06-11Rangoni Of Florence QUALIFIED83Asiya Javayant
1024Kadeem O OstroskyBrazil2024-06-23Rangoni Of Florence RENEWAL32Xuxue Feng
1025Alejandro F CampainUnited Kingdom2024-06-22Morlong Associates RENEWAL27Amy Elsner
1026Murillo L RulapaughSpain2024-05-30Rousseaux, Michael Esq NEGOTIATION55Elwin Sharvill
1027Misaki J BowleyArgentina2024-06-22Chanay, Jeffrey A Esq NEGOTIATION62Onyama Limba
1028Salvatore K MaletAustralia2024-06-01Commercial Press QUALIFIED79Stephen Shaw
1029Juan W MorascaRussia2024-05-31Rousseaux, Michael Esq NEW8Amy Elsner
1030Misaki O NickaItaly2024-06-11Chemel, James L Cpa PROPOSAL17Elwin Sharvill
1031Aika P OldroydIndia2024-06-03Morlong Associates PROPOSAL91Ivan Magalhaes
1032Smith Q MaletRussia2024-05-31Chapman, Ross E Esq RENEWAL55Anna Fali
1033Munro N RulapaughGermany2024-06-05Rousseaux, Michael Esq PROPOSAL28Ivan Magalhaes
1034Wickens Y ShinkoCanada2024-06-02Truhlar And Truhlar Attys NEGOTIATION97Amy Elsner
1035Sinclair U KuskoSpain2024-06-21Truhlar And Truhlar Attys NEGOTIATION34Amy Elsner
1036Aruna O IturbideCanada2024-06-01Feltz Printing Service NEGOTIATION82Ioni Bowcher
1037Isabel M MarrierJapan2024-06-15Commercial Press NEW98Stephen Shaw
1038Costa U MaletCanada2024-06-12Truhlar And Truhlar Attys UNQUALIFIED34Ioni Bowcher
1039Claire H KolmetzIndia2024-05-28Buckley Miller Wright NEGOTIATION97Stephen Shaw
1040Johnson G RoysterItaly2024-06-04Chemel, James L Cpa RENEWAL73Anna Fali
1041Jones B WaycottGermany2024-05-29Buckley Miller Wright NEW69Onyama Limba
1042Isabel L MaletSpain2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED39Amy Elsner
1043Emily J RimGermany2024-06-14Truhlar And Truhlar Attys NEGOTIATION57Amy Elsner
1044Sinclair Q DoeAustralia2024-06-14Rousseaux, Michael Esq UNQUALIFIED57Xuxue Feng
1045Jefferson L MaletBrazil2024-05-28Feiner Bros NEGOTIATION98Stephen Shaw
1046Mayumi T CampainIndia2024-06-10Rousseaux, Michael Esq NEW26Elwin Sharvill
1047Cody S DarakjyBrazil2024-06-05Feiner Bros QUALIFIED1Ivan Magalhaes
1048Sinclair M VenereRussia2024-06-08King, Christopher A Esq QUALIFIED87Stephen Shaw
1049Mujtaba G VenereGermany2024-06-19Benton, John B Jr NEW82Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ricardo G KolmetzBrazilAsiya Javayant RENEWAL
Francesco Y ButtBrazilAsiya Javayant NEGOTIATION
Stacey E RutaGermanyAsiya Javayant PROPOSAL
Clifford S GauchoSpainIvan Magalhaes NEW
Kadeem X BologniaRussiaBernardo Dominic RENEWAL
Julie Q AlbaresSpainAnna Fali UNQUALIFIED
Ivar Z PaprockiIndiaAsiya Javayant QUALIFIED
Maisha D StockhamAustraliaAnna Fali QUALIFIED
Leon F KolmetzArgentinaOnyama Limba NEW
Greenwood V GauchoBrazilElwin Sharvill PROPOSAL
Mujtaba S ChuiUnited KingdomStephen Shaw NEGOTIATION
James Z MaletIndiaXuxue Feng NEW
Jeanfrancois G CaudyIndiaStephen Shaw UNQUALIFIED
Mayumi R RutaAustraliaOnyama Limba UNQUALIFIED
Greenwood X MarrierRussiaAmy Elsner NEGOTIATION
Julie M BowleyItalyBernardo Dominic QUALIFIED
Francesco J GauchoBrazilStephen Shaw NEW
Arvin S WaycottItalyAnna Fali RENEWAL
Octavia D MaletJapanElwin Sharvill NEW
Adams L StensethRussiaAnna Fali RENEWAL
Isabel R FlosiArgentinaOnyama Limba NEGOTIATION
Cody G RoysterBrazilOnyama Limba QUALIFIED
Ashley W FerenczFranceIvan Magalhaes UNQUALIFIED
Ricardo W GlickGermanyAmy Elsner QUALIFIED
Mayumi H AlbaresCanadaAsiya Javayant RENEWAL
Johnson K IturbideArgentinaAnna Fali UNQUALIFIED
Cody U TollnerItalyStephen Shaw PROPOSAL
Smith X OldroydIndiaAsiya Javayant NEW
Clifford J BowleyJapanOnyama Limba RENEWAL
Aditya R KolmetzCanadaIvan Magalhaes RENEWAL
Morrow B BowleyCanadaElwin Sharvill NEGOTIATION
Mujtaba N DoeJapanStephen Shaw PROPOSAL
Cody V ShinkoItalyOnyama Limba NEW
Jennifer C MarrierItalyAmy Elsner RENEWAL
Adams L BowleyAustraliaIoni Bowcher RENEWAL
Ivar D DoeCanadaOnyama Limba QUALIFIED
Octavia K DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair D MarrierUnited KingdomIoni Bowcher PROPOSAL
Tony K DarakjyBrazilOnyama Limba PROPOSAL
Johnson I BriddickJapanStephen Shaw QUALIFIED
Maria B MarrierItalyXuxue Feng RENEWAL
Smith B MaletUnited KingdomAmy Elsner NEW
Isabel I MaletSpainXuxue Feng NEGOTIATION
Leon G ShinkoGermanyIoni Bowcher NEGOTIATION
Ashley H VenereFranceAsiya Javayant RENEWAL
Mujtaba Q BriddickBrazilStephen Shaw UNQUALIFIED
Mayumi Y DoeCanadaOnyama Limba RENEWAL
Salvatore G AlbaresGermanyElwin Sharvill PROPOSAL
Stacey Q PoquetteBrazilAnna Fali NEGOTIATION
Jeanfrancois L MarrierJapanAmy Elsner UNQUALIFIED
Frozen Columns
Name
Faith Y Rim
Murillo A Chui
Ivar F Foller
Murillo A Schemmer
Maria P Inouye
Cody G Rulapaugh
Faith Q Venere
Aika Z Ostrosky
Arvin W Rulapaugh
Aruna O Inouye
Misaki P Rulapaugh
David Y Rulapaugh
Aika B Nestle
Leja P Waycott
Ivar B Garufi
Jeanfrancois E Caudy
Juan U Ruta
Jennifer V Paprocki
Rodrigues A Waycott
Sinclair R Dilliard
Silvio T Campain
Rodrigues K Sergi
Rodrigues F Nestle
Nicolas M Poquette
Smith M Rim
Isabel Y Perin
Mujtaba I Venere
Arvin M Vocelka
Ashley G Stenseth
Silvio W Briddick
Wickens T Caldarera
Tony E Amigon
Izzy O Doe
Mayumi A Flosi
Deepesh O Butt
Jones L Nicka
Antonio A Rulapaugh
Faith I Maclead
Smith B Foller
Kadeem B Rim
Deepesh K Dilliard
Aika M Ostrosky
Octavia H Darakjy
Emily W Venere
Darci M Sergi
Jeanfrancois H Vocelka
Maria V Iturbide
Aika F Stenseth
Aika V Wieser
Morrow M Saylors
IdCountryDate
1000Spain2024-06-06
1001United Kingdom2024-06-14
1002India2024-06-22
1003India2024-06-02
1004Italy2024-05-25
1005Japan2024-06-17
1006Brazil2024-06-10
1007Canada2024-06-01
1008Spain2024-06-02
1009Canada2024-06-10
1010France2024-06-15
1011France2024-06-18
1012United Kingdom2024-06-11
1013Japan2024-06-11
1014Italy2024-05-28
1015Spain2024-06-11
1016India2024-06-03
1017Argentina2024-06-12
1018Brazil2024-06-20
1019Brazil2024-06-18
1020Spain2024-06-11
1021Australia2024-05-25
1022Russia2024-06-13
1023United Kingdom2024-06-08
1024United Kingdom2024-06-05
1025Canada2024-06-08
1026Germany2024-06-12
1027United Kingdom2024-06-09
1028Spain2024-06-07
1029Spain2024-06-14
1030United Kingdom2024-06-06
1031Italy2024-05-29
1032Australia2024-06-16
1033Spain2024-05-26
1034Russia2024-06-23
1035Japan2024-06-02
1036Japan2024-06-17
1037Germany2024-06-06
1038France2024-05-25
1039United Kingdom2024-06-19
1040Argentina2024-06-07
1041Italy2024-06-10
1042Canada2024-06-09
1043Japan2024-06-13
1044United Kingdom2024-06-04
1045Italy2024-06-09
1046Brazil2024-06-13
1047Japan2024-06-13
1048Russia2024-05-27
1049Australia2024-06-03

On-Demand Data

NameIdCountryDate
Emily I Poquette1000Australia2024-06-08
Arvin W Schemmer1001France2024-06-04
Antonio R Iturbide1002Australia2024-06-12
Aruna M Perin1003France2024-06-11
Francesco Z Morasca1004Germany2024-06-03
Leja U Albares1005Spain2024-06-14
Leon N Caldarera1006Japan2024-05-26
Morrow D Sergi1007Canada2024-05-25
Deepesh I Nestle1008Argentina2024-06-12
Isabel G Waycott1009Japan2024-06-11
Maria Y Kolmetz1010Germany2024-06-06
Ashley X Glick1011Japan2024-06-14
Greenwood Q Poquette1012Brazil2024-06-13
Kaitlin B Oldroyd1013Canada2024-06-02
Aditya T Bolognia1014Canada2024-05-29
Mujtaba J Caldarera1015Argentina2024-06-21
Jennifer N Ferencz1016Japan2024-06-05
Smith C Iturbide1017Italy2024-06-19
Kaitlin P Morasca1018Canada2024-06-20
Octavia Z Darakjy1019France2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem O DarakjyJapanIvan Magalhaes QUALIFIED
Antonio A FlosiJapanStephen Shaw NEW
Chavez N BowleyJapanXuxue Feng QUALIFIED
Nicolas P GauchoJapanElwin Sharvill RENEWAL
Maisha T NickaArgentinaOnyama Limba NEW
Silvio B MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Stacey N WieserBrazilIoni Bowcher PROPOSAL
Nicolas B InouyeGermanyAmy Elsner RENEWAL
Jennifer V GillianCanadaStephen Shaw PROPOSAL
Ashley P CampainUnited KingdomElwin Sharvill PROPOSAL
Smith O RulapaughAustraliaOnyama Limba UNQUALIFIED
Cody Y BowleyArgentinaElwin Sharvill PROPOSAL
Juan E ChuiBrazilBernardo Dominic RENEWAL
Morrow I BowleyIndiaIoni Bowcher UNQUALIFIED
Faith L CaudyCanadaStephen Shaw UNQUALIFIED
Francesco U CampainRussiaElwin Sharvill RENEWAL
Jones V PoquetteAustraliaElwin Sharvill RENEWAL
Mujtaba J PaprockiJapanStephen Shaw RENEWAL
Cody U AmigonAustraliaIvan Magalhaes NEW
Sinclair F PerinGermanyAmy Elsner NEGOTIATION
Misaki Y MacleadGermanyIvan Magalhaes NEW
Clifford Y RimBrazilAnna Fali PROPOSAL
Clifford U PaprockiArgentinaXuxue Feng PROPOSAL
Ashley S GlickItalyAsiya Javayant RENEWAL
Aruna D IturbideFranceAsiya Javayant NEW
Murillo F NickaBrazilXuxue Feng NEW
Rodrigues W TollnerBrazilXuxue Feng PROPOSAL
Isabel W CaldareraRussiaOnyama Limba RENEWAL
Chavez P NestleUnited KingdomAnna Fali NEGOTIATION
Sinclair Q OstroskyGermanyOnyama Limba NEGOTIATION
Maisha Y RulapaughBrazilOnyama Limba RENEWAL
Ivar I TollnerGermanyStephen Shaw UNQUALIFIED
Jefferson T FlosiIndiaAmy Elsner NEGOTIATION
Mujtaba W InouyeJapanOnyama Limba PROPOSAL
Mayumi L WhobreyAustraliaIoni Bowcher NEW
Emily N DarakjySpainIoni Bowcher QUALIFIED
Leon X SergiFranceIoni Bowcher QUALIFIED
Faith X BowleyFranceXuxue Feng RENEWAL
Octavia C BowleyBrazilAsiya Javayant NEGOTIATION
Antonio J PerinRussiaStephen Shaw 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>