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 B MaletBrazilXuxue Feng RENEWAL
Kaitlin V FerenczItalyXuxue Feng QUALIFIED
James W FerenczSpainAnna Fali NEGOTIATION
Stacey F ShinkoGermanyStephen Shaw UNQUALIFIED
James P ChuiUnited KingdomIvan Magalhaes RENEWAL
Johnson O SergiJapanIoni Bowcher UNQUALIFIED
Jones S CampainRussiaOnyama Limba NEW
Salvatore I SlusarskiArgentinaAnna Fali QUALIFIED
Morrow M MorascaAustraliaBernardo Dominic UNQUALIFIED
Claire H MorascaSpainStephen Shaw QUALIFIED
Greenwood D MarrierIndiaBernardo Dominic NEW
Ashley Z SergiIndiaAsiya Javayant PROPOSAL
Tony Y VocelkaUnited KingdomXuxue Feng NEW
Misaki Q AlbaresFranceAnna Fali NEW
Jones Y GauchoBrazilBernardo Dominic NEW
Tony V AmigonUnited KingdomAnna Fali NEGOTIATION
Nicolas R DoeUnited KingdomAmy Elsner NEGOTIATION
Jennifer I MorascaBrazilAsiya Javayant RENEWAL
Greenwood N InouyeItalyXuxue Feng NEGOTIATION
Jones A SlusarskiIndiaAnna Fali RENEWAL
Mujtaba K StockhamFranceBernardo Dominic UNQUALIFIED
Silvio Z VocelkaArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois Q ButtJapanBernardo Dominic QUALIFIED
Francesco M GarufiUnited KingdomAmy Elsner UNQUALIFIED
Isabel Q DilliardItalyOnyama Limba RENEWAL
Leja K NickaIndiaOnyama Limba RENEWAL
Greenwood D CaldareraFranceOnyama Limba UNQUALIFIED
Jeanfrancois D AlbaresJapanIvan Magalhaes PROPOSAL
Octavia B VocelkaRussiaElwin Sharvill UNQUALIFIED
Izzy Q OldroydCanadaAsiya Javayant RENEWAL
Izzy L CaldareraRussiaAsiya Javayant NEGOTIATION
Sinclair L OstroskyItalyStephen Shaw RENEWAL
Juan O KuskoAustraliaXuxue Feng QUALIFIED
Leon W GillianGermanyStephen Shaw RENEWAL
Jennifer U ButtCanadaIvan Magalhaes NEGOTIATION
Deepesh O SaylorsJapanBernardo Dominic UNQUALIFIED
Ashley A KuskoJapanAmy Elsner RENEWAL
Costa G SergiRussiaOnyama Limba PROPOSAL
Maria Q ChuiSpainStephen Shaw PROPOSAL
Munro S WaycottArgentinaStephen Shaw NEGOTIATION
Leon P GauchoItalyStephen Shaw NEGOTIATION
Adams H MaletIndiaAsiya Javayant PROPOSAL
Ashley L RimArgentinaXuxue Feng RENEWAL
Mayumi H RutaIndiaAsiya Javayant QUALIFIED
Smith L CaldareraItalyAmy Elsner UNQUALIFIED
Wickens L MacleadUnited KingdomBernardo Dominic PROPOSAL
Leon R ShinkoUnited KingdomStephen Shaw NEGOTIATION
Munro L AmigonFranceStephen Shaw UNQUALIFIED
Maria U SergiAustraliaIvan Magalhaes PROPOSAL
Stacey V GlickUnited KingdomXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody V MaletFranceElwin Sharvill NEGOTIATION
Costa F WhobreyBrazilXuxue Feng NEW
Johnson W FollerRussiaXuxue Feng UNQUALIFIED
Arvin U SchemmerCanadaIvan Magalhaes PROPOSAL
Antonio A RoysterItalyAnna Fali QUALIFIED
Aditya C SaylorsRussiaAnna Fali NEGOTIATION
Kaitlin E BriddickRussiaIoni Bowcher NEGOTIATION
Juan W SchemmerUnited KingdomAsiya Javayant PROPOSAL
Maisha Y MacleadUnited KingdomIoni Bowcher PROPOSAL
Smith K DoeSpainIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie T VocelkaUnited Kingdom2024-05-26Printing Dimensions NEGOTIATION14Onyama Limba
1001Darci B ShinkoIndia2024-05-19Rousseaux, Michael Esq QUALIFIED4Onyama Limba
1002Kadeem B PoquetteArgentina2024-05-09Morlong Associates QUALIFIED38Bernardo Dominic
1003Francesco U MorascaRussia2024-05-14Dorl, James J Esq QUALIFIED62Ivan Magalhaes
1004Maria B MaletAustralia2024-05-09King, Christopher A Esq UNQUALIFIED86Stephen Shaw
1005Chavez Q StockhamSpain2024-05-01Rangoni Of Florence QUALIFIED49Xuxue Feng
1006Isabel C DilliardJapan2024-05-22Feltz Printing Service PROPOSAL67Asiya Javayant
1007Stacey K WaycottRussia2024-05-16Rangoni Of Florence NEGOTIATION91Ivan Magalhaes
1008Isabel S AlbaresFrance2024-05-10Morlong Associates QUALIFIED88Stephen Shaw
1009James Z AlbaresIndia2024-05-17Chapman, Ross E Esq RENEWAL70Xuxue Feng
1010Chavez N GillianRussia2024-05-15Commercial Press QUALIFIED96Asiya Javayant
1011Costa O TollnerItaly2024-04-30Chapman, Ross E Esq RENEWAL68Amy Elsner
1012Ashley P AlbaresBrazil2024-05-27Commercial Press NEW86Elwin Sharvill
1013Murillo I CampainFrance2024-05-28Morlong Associates QUALIFIED84Elwin Sharvill
1014Kaitlin T RulapaughFrance2024-05-25Morlong Associates RENEWAL47Anna Fali
1015Francesco G WhobreyCanada2024-05-16Chanay, Jeffrey A Esq UNQUALIFIED41Asiya Javayant
1016Julie H DilliardRussia2024-05-02Rangoni Of Florence QUALIFIED3Asiya Javayant
1017Adams E FigeroaIndia2024-05-05Rousseaux, Michael Esq NEW70Asiya Javayant
1018Emily E VocelkaUnited Kingdom2024-05-18Feltz Printing Service QUALIFIED40Onyama Limba
1019Claire K ButtAustralia2024-05-26Benton, John B Jr NEW58Ioni Bowcher
1020Izzy O FerenczSpain2024-05-15Chanay, Jeffrey A Esq PROPOSAL56Xuxue Feng
1021Munro I WieserRussia2024-05-03King, Christopher A Esq QUALIFIED83Bernardo Dominic
1022Misaki G AlbaresUnited Kingdom2024-05-01Commercial Press UNQUALIFIED91Anna Fali
1023Maria J PoquetteGermany2024-05-05Dorl, James J Esq PROPOSAL38Asiya Javayant
1024Misaki J NestleFrance2024-05-14Commercial Press QUALIFIED77Asiya Javayant
1025Silvio C StockhamBrazil2024-05-22Benton, John B Jr PROPOSAL2Stephen Shaw
1026Greenwood S WaycottAustralia2024-05-11Morlong Associates NEW20Stephen Shaw
1027Leja G GarufiCanada2024-05-17Rousseaux, Michael Esq UNQUALIFIED44Elwin Sharvill
1028Ivar F TollnerJapan2024-05-08Printing Dimensions UNQUALIFIED77Asiya Javayant
1029Julie O IturbideAustralia2024-05-24Buckley Miller Wright NEW81Asiya Javayant
1030Juan X SergiFrance2024-05-24Chemel, James L Cpa QUALIFIED35Elwin Sharvill
1031Aditya H GillianAustralia2024-05-20Commercial Press NEW4Elwin Sharvill
1032Munro D MaletArgentina2024-05-20Dorl, James J Esq NEW44Asiya Javayant
1033Clifford C StockhamArgentina2024-05-18Feltz Printing Service PROPOSAL94Ioni Bowcher
1034Misaki I RutaRussia2024-05-18Rangoni Of Florence NEW80Elwin Sharvill
1035Chavez W NickaFrance2024-05-07Buckley Miller Wright UNQUALIFIED66Xuxue Feng
1036Costa M GarufiSpain2024-05-29Buckley Miller Wright NEW67Ioni Bowcher
1037Sinclair G MarrierCanada2024-05-14Chapman, Ross E Esq UNQUALIFIED57Bernardo Dominic
1038Aika F CampainFrance2024-05-05Dorl, James J Esq QUALIFIED65Elwin Sharvill
1039James I BriddickJapan2024-05-13Rousseaux, Michael Esq RENEWAL10Elwin Sharvill
1040Cody J WhobreyGermany2024-05-28Benton, John B Jr NEGOTIATION75Onyama Limba
1041Johnson E MorascaBrazil2024-05-11Truhlar And Truhlar Attys QUALIFIED32Elwin Sharvill
1042Octavia Q GarufiRussia2024-05-13Rousseaux, Michael Esq NEW10Stephen Shaw
1043Deepesh N GauchoGermany2024-05-01Chapman, Ross E Esq QUALIFIED53Ivan Magalhaes
1044Nicolas K CaldareraArgentina2024-05-17Printing Dimensions RENEWAL77Anna Fali
1045Cody O FollerFrance2024-05-23Rangoni Of Florence NEW80Ivan Magalhaes
1046Darci K DoeIndia2024-05-21Rousseaux, Michael Esq UNQUALIFIED97Amy Elsner
1047Rodrigues Z DilliardFrance2024-05-03Dorl, James J Esq UNQUALIFIED43Asiya Javayant
1048Kaitlin Z SaylorsIndia2024-05-09Dorl, James J Esq NEW56Asiya Javayant
1049Alejandro P GarufiArgentina2024-05-26Commercial Press NEGOTIATION31Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Alejandro C SlusarskiSpainAnna Fali NEGOTIATION
Ricardo H FerenczCanadaXuxue Feng PROPOSAL
Adams O BowleyArgentinaOnyama Limba NEGOTIATION
Sinclair K GauchoUnited KingdomAmy Elsner RENEWAL
Izzy V SlusarskiGermanyXuxue Feng PROPOSAL
Julie U GlickGermanyOnyama Limba PROPOSAL
Sinclair T StockhamCanadaBernardo Dominic RENEWAL
Nicolas H GillianGermanyAmy Elsner UNQUALIFIED
Maisha I SaylorsArgentinaOnyama Limba NEW
Julie G StockhamFranceAsiya Javayant NEW
Kaitlin I GauchoBrazilAsiya Javayant QUALIFIED
Antonio I FlosiFranceIoni Bowcher UNQUALIFIED
Izzy F DoeRussiaIvan Magalhaes PROPOSAL
Munro K MaletRussiaIvan Magalhaes PROPOSAL
Cody M WhobreyAustraliaAnna Fali NEGOTIATION
Aruna R StockhamIndiaIoni Bowcher UNQUALIFIED
Smith F MaletUnited KingdomIoni Bowcher QUALIFIED
Francesco N FlosiArgentinaOnyama Limba RENEWAL
Aruna F MarrierBrazilAmy Elsner RENEWAL
Darci L IturbideIndiaAnna Fali UNQUALIFIED
Julie C GillianIndiaIoni Bowcher UNQUALIFIED
David A CaudyIndiaXuxue Feng PROPOSAL
Costa R DoeIndiaElwin Sharvill NEW
Aruna C IturbideArgentinaAmy Elsner UNQUALIFIED
Johnson H IturbideCanadaAmy Elsner PROPOSAL
Izzy T PoquetteSpainAsiya Javayant UNQUALIFIED
Aika X InouyeItalyElwin Sharvill UNQUALIFIED
Aika M ButtCanadaAnna Fali UNQUALIFIED
Ivar M RimAustraliaIvan Magalhaes NEW
Ricardo R GarufiBrazilStephen Shaw QUALIFIED
David P TollnerArgentinaIoni Bowcher NEW
Wickens L KuskoFranceElwin Sharvill NEGOTIATION
Alejandro T BologniaItalyElwin Sharvill RENEWAL
Ashley A DilliardAustraliaElwin Sharvill PROPOSAL
Sinclair O PerinUnited KingdomStephen Shaw UNQUALIFIED
Johnson L RulapaughItalyIoni Bowcher UNQUALIFIED
Jones M InouyeAustraliaAmy Elsner QUALIFIED
Maisha O PaprockiBrazilStephen Shaw RENEWAL
Jones A RoysterItalyAnna Fali RENEWAL
Misaki O VocelkaJapanAnna Fali RENEWAL
Deepesh H ChuiItalyStephen Shaw NEW
Smith G ChuiSpainBernardo Dominic NEGOTIATION
Faith Y CampainRussiaIvan Magalhaes UNQUALIFIED
Leja L RoysterIndiaIvan Magalhaes QUALIFIED
Ivar P MacleadSpainOnyama Limba NEW
Murillo X PaprockiBrazilOnyama Limba NEGOTIATION
David H WieserRussiaStephen Shaw PROPOSAL
Antonio H OstroskyCanadaStephen Shaw RENEWAL
Emily M ChuiUnited KingdomAnna Fali PROPOSAL
Wickens S RoysterIndiaOnyama Limba PROPOSAL
Frozen Columns
Name
Morrow C Bolognia
Jones D Rulapaugh
Maisha N Campain
Faith Z Paprocki
Stacey I Venere
Leja U Foller
Isabel W Darakjy
Aika V Kolmetz
Antonio R Perin
Francesco E Malet
James N Garufi
Arvin G Stockham
Julie X Dilliard
Nicolas A Darakjy
Mujtaba X Nestle
Misaki X Marrier
Alejandro G Waycott
Deepesh L Briddick
Kaitlin Q Morasca
Mayumi N Butt
Aika B Stockham
Murillo L Butt
Smith I Maclead
Morrow X Ruta
Francesco H Ferencz
Jeanfrancois E Bowley
Silvio W Rulapaugh
Munro V Chui
Maisha L Oldroyd
Jennifer M Malet
Silvio D Kusko
Faith U Stenseth
James S Morasca
Greenwood S Ostrosky
Jefferson S Tollner
Leja I Stockham
Johnson K Paprocki
Chavez W Gillian
Munro Y Ruta
Ivar B Campain
Alejandro G Schemmer
Emily X Malet
Jeanfrancois V Waycott
Tony K Butt
Kadeem E Morasca
Darci V Poquette
Tony K Saylors
Clifford O Chui
Mayumi Z Doe
Misaki B Waycott
IdCountryDate
1000Russia2024-05-19
1001Canada2024-05-13
1002Japan2024-05-23
1003Germany2024-05-21
1004France2024-05-02
1005Australia2024-05-28
1006Brazil2024-05-10
1007Argentina2024-05-17
1008Canada2024-04-30
1009Argentina2024-05-12
1010Spain2024-05-01
1011United Kingdom2024-05-03
1012France2024-05-17
1013Brazil2024-05-04
1014France2024-05-22
1015Spain2024-05-25
1016United Kingdom2024-05-23
1017France2024-05-08
1018Australia2024-05-15
1019Australia2024-05-24
1020Spain2024-05-06
1021United Kingdom2024-05-08
1022France2024-05-19
1023Spain2024-05-29
1024Brazil2024-05-15
1025Germany2024-05-26
1026Italy2024-05-17
1027Italy2024-05-19
1028Argentina2024-05-08
1029Argentina2024-05-20
1030Australia2024-05-26
1031Brazil2024-05-14
1032Brazil2024-05-25
1033Italy2024-05-08
1034Japan2024-05-08
1035Germany2024-05-29
1036Spain2024-05-25
1037Russia2024-05-01
1038United Kingdom2024-05-25
1039Brazil2024-05-22
1040Germany2024-05-28
1041India2024-05-04
1042India2024-05-24
1043United Kingdom2024-05-26
1044Brazil2024-05-13
1045Argentina2024-05-10
1046Spain2024-05-25
1047India2024-05-26
1048Japan2024-05-22
1049Brazil2024-05-19

On-Demand Data

NameIdCountryDate
Wickens E Malet1000India2024-05-02
Silvio V Morasca1001Spain2024-05-24
Maisha T Kolmetz1002Russia2024-05-16
Mayumi Q Slusarski1003India2024-05-13
Leja D Albares1004Canada2024-05-07
Rodrigues Q Bowley1005Canada2024-04-30
Antonio I Tollner1006India2024-05-19
Chavez U Amigon1007France2024-05-12
Misaki W Flosi1008France2024-05-01
Kaitlin W Dilliard1009France2024-05-23
Cody V Bolognia1010Germany2024-05-09
David X Ostrosky1011United Kingdom2024-05-17
Juan L Butt1012Australia2024-05-19
Misaki L Caldarera1013Brazil2024-05-01
Izzy H Figeroa1014India2024-05-25
Nicolas O Sergi1015United Kingdom2024-04-30
Aditya U Slusarski1016India2024-05-16
Munro D Poquette1017Italy2024-05-21
Munro L Sergi1018Brazil2024-05-19
Tony L Schemmer1019Spain2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy I ButtIndiaAmy Elsner PROPOSAL
Greenwood J CampainItalyAmy Elsner NEGOTIATION
Juan X FigeroaRussiaAmy Elsner NEW
Octavia H GlickJapanAmy Elsner QUALIFIED
Deepesh K StockhamUnited KingdomStephen Shaw RENEWAL
Jennifer S SchemmerJapanAmy Elsner PROPOSAL
Cody V BriddickFranceBernardo Dominic RENEWAL
Juan M MarrierRussiaOnyama Limba NEW
Alejandro E FlosiUnited KingdomAsiya Javayant RENEWAL
Mayumi U MacleadRussiaBernardo Dominic PROPOSAL
Greenwood R AlbaresSpainStephen Shaw NEW
Adams S CaldareraIndiaOnyama Limba NEW
Adams K VenereGermanyAnna Fali RENEWAL
Aruna J OstroskyBrazilAmy Elsner NEGOTIATION
Wickens O GillianAustraliaAsiya Javayant PROPOSAL
Costa A FerenczSpainElwin Sharvill QUALIFIED
Mayumi M MaletJapanXuxue Feng UNQUALIFIED
Silvio S RulapaughArgentinaIvan Magalhaes RENEWAL
Misaki T DoeItalyAnna Fali NEGOTIATION
Greenwood I SlusarskiGermanyOnyama Limba RENEWAL
Ivar D NickaArgentinaIvan Magalhaes RENEWAL
Aika R RutaGermanyAmy Elsner PROPOSAL
Mujtaba G VocelkaUnited KingdomIvan Magalhaes PROPOSAL
Clifford M AlbaresCanadaIoni Bowcher UNQUALIFIED
Murillo M NickaJapanAmy Elsner PROPOSAL
Clifford X DoeItalyBernardo Dominic UNQUALIFIED
David Q GillianItalyOnyama Limba NEW
Sinclair W BologniaJapanIoni Bowcher UNQUALIFIED
Aika D VocelkaJapanElwin Sharvill NEGOTIATION
James V InouyeItalyStephen Shaw RENEWAL
Morrow Z BriddickAustraliaXuxue Feng NEW
Jones Q PoquetteIndiaIoni Bowcher PROPOSAL
Leon O VocelkaCanadaBernardo Dominic RENEWAL
Jeanfrancois Z PerinArgentinaAsiya Javayant QUALIFIED
Wickens K KuskoArgentinaAsiya Javayant PROPOSAL
Kaitlin P RimIndiaIvan Magalhaes PROPOSAL
Murillo M TollnerSpainIvan Magalhaes NEGOTIATION
Morrow L NestleBrazilBernardo Dominic RENEWAL
Wickens F BriddickCanadaStephen Shaw UNQUALIFIED
Cody U WhobreyBrazilIoni 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>