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
Octavia I WaycottItalyElwin Sharvill PROPOSAL
Jeanfrancois B GarufiArgentinaIvan Magalhaes NEGOTIATION
Francesco A WieserIndiaIvan Magalhaes UNQUALIFIED
Aika K MaletIndiaIoni Bowcher PROPOSAL
Jones L StensethAustraliaStephen Shaw PROPOSAL
David D SergiItalyAsiya Javayant NEGOTIATION
Sinclair L WaycottSpainElwin Sharvill NEGOTIATION
Adams J MarrierAustraliaAmy Elsner RENEWAL
Juan K FigeroaIndiaAmy Elsner QUALIFIED
James A DarakjyFranceAmy Elsner QUALIFIED
Julie V FigeroaIndiaAnna Fali PROPOSAL
Francesco B InouyeUnited KingdomIoni Bowcher RENEWAL
Kaitlin S GillianItalyElwin Sharvill UNQUALIFIED
Clifford G IturbideUnited KingdomIvan Magalhaes PROPOSAL
Jennifer T GarufiRussiaBernardo Dominic NEGOTIATION
Costa T FerenczUnited KingdomBernardo Dominic NEW
Julie A SaylorsItalyIoni Bowcher NEW
David N SlusarskiBrazilStephen Shaw PROPOSAL
James X TollnerJapanElwin Sharvill QUALIFIED
Johnson X FollerUnited KingdomXuxue Feng UNQUALIFIED
Octavia X PaprockiGermanyIoni Bowcher QUALIFIED
Clifford X GillianBrazilAmy Elsner PROPOSAL
Darci B StockhamCanadaBernardo Dominic RENEWAL
Munro X ButtItalyIoni Bowcher NEGOTIATION
Aruna U TollnerIndiaOnyama Limba NEW
Tony L RulapaughAustraliaAsiya Javayant QUALIFIED
Smith P MaletItalyXuxue Feng RENEWAL
Chavez U WaycottAustraliaIvan Magalhaes UNQUALIFIED
Sinclair I CaudyAustraliaIvan Magalhaes RENEWAL
Kadeem S MacleadItalyIvan Magalhaes NEGOTIATION
Salvatore V OldroydItalyIvan Magalhaes UNQUALIFIED
Silvio E KuskoAustraliaIvan Magalhaes NEGOTIATION
Arvin X GlickGermanyBernardo Dominic UNQUALIFIED
Mujtaba S MaletAustraliaIvan Magalhaes UNQUALIFIED
Murillo A GarufiJapanXuxue Feng NEW
Aditya N GauchoArgentinaIoni Bowcher NEGOTIATION
Leon L GauchoArgentinaBernardo Dominic RENEWAL
Maria V MaletSpainAnna Fali NEGOTIATION
Deepesh I AmigonUnited KingdomStephen Shaw NEGOTIATION
Francesco K MorascaArgentinaIvan Magalhaes NEGOTIATION
Aruna U RutaSpainBernardo Dominic NEGOTIATION
James V InouyeAustraliaElwin Sharvill RENEWAL
Tony S NestleJapanStephen Shaw NEW
Aika H FlosiItalyBernardo Dominic NEGOTIATION
Izzy M CaldareraFranceAsiya Javayant QUALIFIED
Sinclair B PerinBrazilIvan Magalhaes RENEWAL
Ivar G SaylorsItalyAmy Elsner NEW
Claire G ButtAustraliaOnyama Limba QUALIFIED
Francesco R DoeSpainIoni Bowcher PROPOSAL
Leon W RoysterJapanXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Morrow H FerenczFranceAnna Fali NEGOTIATION
Johnson A OstroskyArgentinaAnna Fali UNQUALIFIED
Ivar T AmigonIndiaElwin Sharvill QUALIFIED
Octavia C MaletBrazilAsiya Javayant NEW
Leja G MarrierJapanElwin Sharvill PROPOSAL
Misaki S PaprockiSpainBernardo Dominic NEGOTIATION
Clifford M GarufiCanadaIoni Bowcher QUALIFIED
Darci E InouyeCanadaAnna Fali NEGOTIATION
Leja W NickaUnited KingdomAsiya Javayant RENEWAL
Mujtaba M WieserItalyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja B SchemmerItaly2024-06-03Chemel, James L Cpa RENEWAL0Amy Elsner
1001Deepesh W WhobreyCanada2024-05-30Buckley Miller Wright PROPOSAL3Asiya Javayant
1002Misaki M MaletBrazil2024-06-15Benton, John B Jr UNQUALIFIED4Elwin Sharvill
1003Cody U ChuiIndia2024-06-08Morlong Associates RENEWAL0Ioni Bowcher
1004Aruna J SchemmerIndia2024-06-11Chemel, James L Cpa QUALIFIED88Bernardo Dominic
1005James K FlosiIndia2024-06-17Dorl, James J Esq UNQUALIFIED87Stephen Shaw
1006Octavia B AlbaresFrance2024-05-27King, Christopher A Esq RENEWAL59Elwin Sharvill
1007Costa N WaycottBrazil2024-06-07Rousseaux, Michael Esq PROPOSAL70Elwin Sharvill
1008Alejandro E CaldareraBrazil2024-06-12Rangoni Of Florence RENEWAL48Elwin Sharvill
1009Deepesh X VocelkaJapan2024-06-06Chemel, James L Cpa RENEWAL93Stephen Shaw
1010Octavia W OstroskyArgentina2024-06-21Commercial Press QUALIFIED23Ivan Magalhaes
1011Jennifer H CaldareraGermany2024-06-15Truhlar And Truhlar Attys NEW13Anna Fali
1012Ashley R RutaSpain2024-06-23Chemel, James L Cpa QUALIFIED96Ivan Magalhaes
1013Kadeem C NestleIndia2024-06-01Buckley Miller Wright NEGOTIATION19Ioni Bowcher
1014Darci A MacleadCanada2024-06-08Rousseaux, Michael Esq RENEWAL7Anna Fali
1015Chavez O FlosiUnited Kingdom2024-06-22Dorl, James J Esq NEGOTIATION4Ivan Magalhaes
1016Ricardo N SaylorsBrazil2024-06-22Commercial Press UNQUALIFIED77Xuxue Feng
1017Alejandro Q RoysterSpain2024-06-04Feltz Printing Service NEGOTIATION97Stephen Shaw
1018Octavia F MaletArgentina2024-05-31Chapman, Ross E Esq RENEWAL96Ivan Magalhaes
1019Leon U DoeUnited Kingdom2024-05-31Chemel, James L Cpa RENEWAL99Asiya Javayant
1020Julie C OldroydRussia2024-06-19Commercial Press NEGOTIATION83Bernardo Dominic
1021Stacey R InouyeJapan2024-05-30King, Christopher A Esq NEW25Stephen Shaw
1022Juan X GillianJapan2024-06-19Chanay, Jeffrey A Esq QUALIFIED42Ivan Magalhaes
1023Johnson J SlusarskiUnited Kingdom2024-06-17Morlong Associates NEGOTIATION28Elwin Sharvill
1024Octavia X VocelkaCanada2024-06-24Truhlar And Truhlar Attys UNQUALIFIED8Elwin Sharvill
1025Francesco E MacleadFrance2024-06-12Printing Dimensions QUALIFIED60Ivan Magalhaes
1026Alejandro T RulapaughUnited Kingdom2024-05-27Rousseaux, Michael Esq NEW13Anna Fali
1027Jones D ShinkoCanada2024-06-24Benton, John B Jr NEGOTIATION97Amy Elsner
1028Maria J BriddickItaly2024-05-27Chanay, Jeffrey A Esq QUALIFIED44Elwin Sharvill
1029Alejandro T NestleJapan2024-06-09Feiner Bros NEGOTIATION6Onyama Limba
1030Johnson G GillianItaly2024-06-19Benton, John B Jr RENEWAL38Anna Fali
1031Mujtaba K SchemmerSpain2024-06-24Chapman, Ross E Esq NEGOTIATION75Anna Fali
1032Maria R GauchoItaly2024-06-07Rangoni Of Florence UNQUALIFIED37Anna Fali
1033Misaki T OstroskyAustralia2024-06-09King, Christopher A Esq NEGOTIATION22Bernardo Dominic
1034David F PerinAustralia2024-06-13King, Christopher A Esq UNQUALIFIED29Stephen Shaw
1035Alejandro B StensethItaly2024-05-28Feltz Printing Service UNQUALIFIED32Anna Fali
1036Izzy T MarrierArgentina2024-06-24Printing Dimensions NEGOTIATION87Bernardo Dominic
1037Aika E MarrierItaly2024-05-27Commercial Press QUALIFIED86Anna Fali
1038Faith J VenereCanada2024-06-01Feltz Printing Service UNQUALIFIED24Bernardo Dominic
1039David M PaprockiUnited Kingdom2024-06-14Chapman, Ross E Esq RENEWAL3Elwin Sharvill
1040Costa H NestleUnited Kingdom2024-06-15Chemel, James L Cpa RENEWAL2Ivan Magalhaes
1041Clifford W CaldareraFrance2024-06-15Dorl, James J Esq UNQUALIFIED75Anna Fali
1042Nicolas T MorascaItaly2024-06-02Chanay, Jeffrey A Esq QUALIFIED63Onyama Limba
1043Alejandro N DilliardItaly2024-06-02Rousseaux, Michael Esq UNQUALIFIED93Amy Elsner
1044James S TollnerUnited Kingdom2024-06-16Benton, John B Jr NEW54Anna Fali
1045Cody H PoquetteRussia2024-06-17Buckley Miller Wright RENEWAL61Bernardo Dominic
1046Arvin Z StockhamFrance2024-06-18Morlong Associates RENEWAL7Ivan Magalhaes
1047Arvin E MorascaBrazil2024-05-30Printing Dimensions QUALIFIED21Xuxue Feng
1048Julie X RimRussia2024-06-21Rangoni Of Florence PROPOSAL72Elwin Sharvill
1049Octavia T WhobreyAustralia2024-06-06Chemel, James L Cpa NEW56Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
James S WhobreyAustraliaIvan Magalhaes NEGOTIATION
Jefferson E PaprockiGermanyBernardo Dominic NEGOTIATION
Arvin P MarrierRussiaAmy Elsner NEGOTIATION
Morrow J OstroskyIndiaStephen Shaw NEW
Silvio A ShinkoRussiaBernardo Dominic UNQUALIFIED
Julie F SergiGermanyOnyama Limba QUALIFIED
Clifford Q ButtUnited KingdomAnna Fali UNQUALIFIED
Johnson K MorascaRussiaAmy Elsner UNQUALIFIED
Darci N SlusarskiIndiaStephen Shaw NEGOTIATION
Mujtaba N InouyeSpainIvan Magalhaes RENEWAL
Maisha R StensethJapanElwin Sharvill UNQUALIFIED
Jennifer M BologniaArgentinaAsiya Javayant PROPOSAL
Chavez A DilliardFranceIvan Magalhaes NEW
Smith S SergiFranceIoni Bowcher RENEWAL
Clifford V OldroydFranceStephen Shaw RENEWAL
Claire N StockhamSpainAnna Fali NEGOTIATION
Aditya B PerinUnited KingdomAsiya Javayant NEW
Mayumi V BologniaUnited KingdomElwin Sharvill NEW
Murillo T PoquetteJapanOnyama Limba RENEWAL
Clifford C WieserRussiaAsiya Javayant QUALIFIED
James C MacleadCanadaElwin Sharvill NEW
Jones G PerinUnited KingdomElwin Sharvill UNQUALIFIED
Maisha X BowleyItalyOnyama Limba RENEWAL
Leon T NickaCanadaIvan Magalhaes NEGOTIATION
Julie Q RimAustraliaOnyama Limba QUALIFIED
Darci Z NestleCanadaIvan Magalhaes UNQUALIFIED
Morrow L RimFranceStephen Shaw UNQUALIFIED
Sinclair J VocelkaItalyIvan Magalhaes NEW
Claire X RimIndiaElwin Sharvill RENEWAL
Tony Y WieserGermanyOnyama Limba NEGOTIATION
Johnson I WaycottCanadaOnyama Limba NEGOTIATION
Aditya H OldroydSpainIvan Magalhaes PROPOSAL
Greenwood H ChuiArgentinaIvan Magalhaes QUALIFIED
Claire B PerinItalyIvan Magalhaes UNQUALIFIED
Mayumi V SaylorsFranceIoni Bowcher QUALIFIED
Octavia A MacleadIndiaOnyama Limba UNQUALIFIED
Johnson X WieserCanadaIoni Bowcher QUALIFIED
Izzy O GauchoBrazilStephen Shaw PROPOSAL
Francesco M SlusarskiArgentinaBernardo Dominic NEGOTIATION
Arvin S IturbideRussiaElwin Sharvill UNQUALIFIED
Antonio C CaudyArgentinaAsiya Javayant NEW
Antonio A SaylorsSpainElwin Sharvill NEW
Cody C GillianGermanyBernardo Dominic NEW
Isabel K GarufiUnited KingdomAmy Elsner PROPOSAL
Silvio O BologniaIndiaAmy Elsner PROPOSAL
Deepesh Q DoeAustraliaXuxue Feng NEW
Sinclair L GillianFranceXuxue Feng UNQUALIFIED
Kadeem G NestleItalyAnna Fali NEGOTIATION
Tony P TollnerBrazilAnna Fali RENEWAL
David D ChuiSpainElwin Sharvill NEGOTIATION
Frozen Columns
Name
Ashley I Shinko
Mujtaba G Inouye
Kaitlin Q Gillian
Rodrigues O Amigon
Jeanfrancois S Waycott
Claire X Gillian
James L Bowley
Johnson H Kusko
Deepesh B Albares
Octavia S Briddick
Stacey Y Shinko
David S Wieser
Isabel S Rim
Kadeem X Flosi
Kadeem F Inouye
Johnson R Wieser
Silvio P Albares
Tony V Maclead
Rodrigues J Shinko
Clifford E Stockham
Munro N Wieser
David L Flosi
Clifford Q Caudy
Ivar M Gaucho
Maria O Gaucho
Costa W Nestle
Kaitlin F Dilliard
Maria M Wieser
Faith F Kolmetz
Emily K Ruta
Jennifer U Whobrey
Johnson P Ruta
Munro R Slusarski
Arvin B Tollner
Ashley W Whobrey
Cody Z Oldroyd
Antonio C Tollner
Greenwood M Stockham
Silvio V Inouye
Isabel S Darakjy
Maisha P Caudy
Maria P Oldroyd
Deepesh E Stenseth
Maisha Z Chui
Alejandro Z Nestle
Stacey K Marrier
Jeanfrancois D Waycott
Deepesh L Venere
Murillo P Royster
Wickens B Flosi
IdCountryDate
1000Japan2024-05-30
1001Brazil2024-06-05
1002France2024-06-24
1003Brazil2024-06-17
1004Canada2024-05-31
1005Spain2024-06-02
1006Japan2024-06-14
1007Argentina2024-06-11
1008Japan2024-06-07
1009Spain2024-06-18
1010India2024-06-19
1011Russia2024-05-28
1012Germany2024-05-29
1013Canada2024-06-06
1014Germany2024-06-14
1015Spain2024-05-27
1016Spain2024-06-04
1017India2024-05-26
1018Italy2024-06-10
1019Argentina2024-06-14
1020France2024-06-10
1021Russia2024-06-16
1022India2024-05-31
1023Spain2024-05-30
1024Argentina2024-06-07
1025Spain2024-06-15
1026Brazil2024-06-08
1027Argentina2024-06-11
1028Japan2024-05-29
1029Italy2024-05-28
1030United Kingdom2024-06-01
1031Argentina2024-06-06
1032Italy2024-06-16
1033Japan2024-06-20
1034United Kingdom2024-06-11
1035India2024-05-30
1036Brazil2024-06-21
1037Spain2024-06-01
1038United Kingdom2024-06-08
1039India2024-06-14
1040Australia2024-06-18
1041Spain2024-05-29
1042Japan2024-06-02
1043Italy2024-06-09
1044Germany2024-06-10
1045Australia2024-06-20
1046Germany2024-06-18
1047Russia2024-06-20
1048Russia2024-06-09
1049Australia2024-06-11

On-Demand Data

NameIdCountryDate
Antonio J Slusarski1000Italy2024-06-04
Leja G Vocelka1001Russia2024-06-09
Clifford L Bolognia1002Spain2024-05-26
Nicolas G Gaucho1003Australia2024-06-01
Julie N Ostrosky1004Brazil2024-06-06
Murillo F Campain1005India2024-05-26
Aditya X Stockham1006India2024-06-15
Jones B Royster1007Brazil2024-06-11
Deepesh E Figeroa1008Brazil2024-06-14
Emily G Inouye1009Argentina2024-05-29
Aruna U Gaucho1010Canada2024-05-26
Arvin C Bowley1011Australia2024-06-14
Mayumi D Stockham1012Germany2024-06-09
Chavez A Shinko1013Italy2024-05-29
Mayumi F Butt1014Brazil2024-06-15
Faith V Kusko1015Italy2024-05-28
Jeanfrancois L Stenseth1016Russia2024-06-10
Leja Y Inouye1017Russia2024-06-02
Munro L Ostrosky1018Argentina2024-06-14
Antonio P Flosi1019Japan2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood M OstroskyBrazilIvan Magalhaes UNQUALIFIED
Jefferson T FigeroaArgentinaAmy Elsner NEW
Munro E BowleyGermanyBernardo Dominic RENEWAL
Rodrigues C SaylorsArgentinaElwin Sharvill QUALIFIED
Nicolas U KuskoArgentinaAmy Elsner UNQUALIFIED
Maisha A BologniaCanadaElwin Sharvill QUALIFIED
Greenwood W VocelkaJapanElwin Sharvill PROPOSAL
Alejandro R CampainRussiaOnyama Limba PROPOSAL
Francesco L RimArgentinaAsiya Javayant UNQUALIFIED
Faith Q SchemmerGermanyAnna Fali UNQUALIFIED
Darci X StockhamUnited KingdomIoni Bowcher QUALIFIED
Clifford P CaudyArgentinaAsiya Javayant UNQUALIFIED
Munro W OstroskyItalyBernardo Dominic NEGOTIATION
Antonio G AmigonAustraliaAmy Elsner PROPOSAL
Johnson A SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Clifford N MacleadIndiaStephen Shaw QUALIFIED
Jefferson A InouyeArgentinaAmy Elsner PROPOSAL
Jefferson X FigeroaArgentinaXuxue Feng NEW
Alejandro S ChuiArgentinaAsiya Javayant UNQUALIFIED
Aditya C CaudyJapanAnna Fali QUALIFIED
Sinclair O NestleFranceAmy Elsner NEW
Costa L RimAustraliaStephen Shaw QUALIFIED
Darci N CaldareraIndiaAsiya Javayant NEGOTIATION
James W DarakjyAustraliaStephen Shaw RENEWAL
Tony C VenereSpainIvan Magalhaes NEGOTIATION
David N CampainFranceIvan Magalhaes NEGOTIATION
Tony J MorascaRussiaIoni Bowcher UNQUALIFIED
Jones U FigeroaArgentinaAmy Elsner UNQUALIFIED
Isabel N GauchoBrazilOnyama Limba RENEWAL
Adams S BologniaItalyElwin Sharvill NEW
Claire F CaudyItalyXuxue Feng NEW
Octavia T TollnerItalyOnyama Limba NEGOTIATION
Stacey S OldroydSpainIoni Bowcher NEW
Aditya B AlbaresArgentinaOnyama Limba RENEWAL
Wickens N AlbaresBrazilAmy Elsner RENEWAL
Maisha R GillianItalyIvan Magalhaes NEGOTIATION
Misaki A BriddickIndiaElwin Sharvill UNQUALIFIED
Stacey N VenereArgentinaAsiya Javayant RENEWAL
Clifford H VenereFranceAsiya Javayant RENEWAL
David A ShinkoJapanOnyama Limba 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>