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
Izzy B CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford N StockhamAustraliaAmy Elsner NEW
Isabel V WieserAustraliaIoni Bowcher NEW
Isabel K MarrierRussiaStephen Shaw PROPOSAL
Emily P RutaFranceBernardo Dominic NEW
Salvatore Y NickaJapanIoni Bowcher PROPOSAL
Costa S TollnerAustraliaIoni Bowcher NEW
Stacey Y AlbaresJapanXuxue Feng UNQUALIFIED
Maria G ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem N PerinUnited KingdomStephen Shaw PROPOSAL
Arvin P AlbaresRussiaAsiya Javayant PROPOSAL
Alejandro E BriddickUnited KingdomXuxue Feng RENEWAL
Izzy K SergiFranceXuxue Feng QUALIFIED
Costa K ButtCanadaAmy Elsner QUALIFIED
Mayumi D CaudyUnited KingdomIoni Bowcher PROPOSAL
Adams Q PaprockiAustraliaBernardo Dominic NEGOTIATION
Mujtaba R BriddickFranceIoni Bowcher NEGOTIATION
Mayumi C SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Costa O MaletGermanyOnyama Limba QUALIFIED
Leon N GarufiGermanyAsiya Javayant NEW
Adams O PoquetteAustraliaBernardo Dominic UNQUALIFIED
Johnson Z BologniaGermanyElwin Sharvill NEGOTIATION
Ashley F RoysterArgentinaBernardo Dominic RENEWAL
Sinclair R FerenczIndiaAmy Elsner NEW
Sinclair A RimRussiaXuxue Feng UNQUALIFIED
Alejandro C DilliardCanadaXuxue Feng NEW
Kadeem F DoeUnited KingdomAnna Fali NEW
Ricardo V WieserItalyOnyama Limba PROPOSAL
Sinclair F GillianRussiaElwin Sharvill PROPOSAL
Munro P SergiUnited KingdomAmy Elsner QUALIFIED
Emily Q CaldareraFranceIoni Bowcher NEW
Leon G DarakjyArgentinaBernardo Dominic NEGOTIATION
Izzy G FigeroaFranceAnna Fali RENEWAL
Nicolas T OldroydCanadaElwin Sharvill NEW
Rodrigues N TollnerAustraliaIvan Magalhaes PROPOSAL
Wickens V BologniaGermanyIoni Bowcher RENEWAL
Stacey A KuskoSpainXuxue Feng RENEWAL
Antonio D VocelkaRussiaAnna Fali PROPOSAL
Munro C RoysterSpainXuxue Feng NEGOTIATION
Maria W MorascaCanadaBernardo Dominic NEW
Jennifer E RoysterAustraliaAnna Fali UNQUALIFIED
Julie L RutaCanadaStephen Shaw NEGOTIATION
Mayumi H MarrierAustraliaIoni Bowcher UNQUALIFIED
Wickens N FollerUnited KingdomAnna Fali RENEWAL
Ivar L ShinkoRussiaIvan Magalhaes RENEWAL
Darci A NickaBrazilIvan Magalhaes NEW
Faith Y ShinkoSpainElwin Sharvill PROPOSAL
Jennifer E BologniaItalyAnna Fali RENEWAL
Jennifer E DilliardAustraliaOnyama Limba UNQUALIFIED
Leon M FollerGermanyAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas F PaprockiJapanElwin Sharvill NEGOTIATION
Aika S MacleadBrazilXuxue Feng PROPOSAL
Julie V CampainSpainAsiya Javayant NEW
Leja J OstroskyItalyIvan Magalhaes UNQUALIFIED
Antonio S MaletGermanyIvan Magalhaes NEGOTIATION
Alejandro D PaprockiAustraliaOnyama Limba NEGOTIATION
Julie P FigeroaCanadaStephen Shaw QUALIFIED
Juan H DarakjyIndiaElwin Sharvill UNQUALIFIED
Juan Y RimArgentinaAsiya Javayant UNQUALIFIED
Johnson N DoeGermanyElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia R PoquetteItaly2024-05-11King, Christopher A Esq QUALIFIED85Bernardo Dominic
1001Greenwood J MacleadCanada2024-05-15Commercial Press UNQUALIFIED42Xuxue Feng
1002Juan U VocelkaIndia2024-05-01Rousseaux, Michael Esq NEGOTIATION72Xuxue Feng
1003James T MacleadBrazil2024-04-29Buckley Miller Wright PROPOSAL69Ioni Bowcher
1004Silvio Y RimJapan2024-05-09Printing Dimensions NEGOTIATION42Asiya Javayant
1005Clifford N KolmetzRussia2024-05-17Feiner Bros UNQUALIFIED84Onyama Limba
1006Ashley X DoeArgentina2024-04-28Feltz Printing Service NEW34Asiya Javayant
1007Darci N MaletRussia2024-05-18Benton, John B Jr NEGOTIATION31Anna Fali
1008Wickens U SlusarskiJapan2024-05-20Rangoni Of Florence NEW59Asiya Javayant
1009Emily T RimCanada2024-04-30Rangoni Of Florence RENEWAL61Bernardo Dominic
1010Ricardo A ButtArgentina2024-05-18Truhlar And Truhlar Attys PROPOSAL51Ivan Magalhaes
1011Adams S CaudyBrazil2024-04-27Truhlar And Truhlar Attys PROPOSAL14Amy Elsner
1012Silvio X FollerJapan2024-05-02Feiner Bros NEGOTIATION55Ioni Bowcher
1013Maisha C KolmetzGermany2024-05-22Chemel, James L Cpa NEW36Amy Elsner
1014Munro W OldroydRussia2024-05-13Dorl, James J Esq QUALIFIED78Ioni Bowcher
1015Alejandro O MaletJapan2024-05-13Feiner Bros QUALIFIED59Ioni Bowcher
1016Salvatore F KolmetzFrance2024-05-13Feltz Printing Service UNQUALIFIED37Ivan Magalhaes
1017Jennifer T BowleySpain2024-04-27Buckley Miller Wright NEGOTIATION75Amy Elsner
1018Alejandro C SaylorsArgentina2024-05-09Chanay, Jeffrey A Esq NEGOTIATION5Amy Elsner
1019Arvin U MarrierSpain2024-05-19Rangoni Of Florence PROPOSAL61Amy Elsner
1020Chavez Y VocelkaIndia2024-05-21Dorl, James J Esq NEW20Onyama Limba
1021Clifford Z FigeroaCanada2024-05-09Truhlar And Truhlar Attys PROPOSAL27Amy Elsner
1022Faith R VocelkaRussia2024-05-07Truhlar And Truhlar Attys NEGOTIATION51Stephen Shaw
1023James F FollerCanada2024-05-15Chapman, Ross E Esq QUALIFIED21Elwin Sharvill
1024Antonio Y GauchoCanada2024-05-16Morlong Associates QUALIFIED5Amy Elsner
1025Sinclair F GillianIndia2024-05-11Truhlar And Truhlar Attys QUALIFIED77Asiya Javayant
1026Claire Z GauchoJapan2024-05-13Chemel, James L Cpa NEGOTIATION7Ioni Bowcher
1027Aruna W DilliardItaly2024-05-24Rousseaux, Michael Esq RENEWAL14Elwin Sharvill
1028Darci Y NickaArgentina2024-05-19Feltz Printing Service UNQUALIFIED81Anna Fali
1029Kaitlin R PoquetteCanada2024-05-22Dorl, James J Esq RENEWAL43Bernardo Dominic
1030Alejandro R KolmetzBrazil2024-05-06Commercial Press RENEWAL91Stephen Shaw
1031Johnson L IturbideJapan2024-05-21Chemel, James L Cpa QUALIFIED41Ivan Magalhaes
1032Kaitlin Y GauchoAustralia2024-05-04Truhlar And Truhlar Attys NEGOTIATION43Anna Fali
1033Sinclair U WhobreySpain2024-05-04Chanay, Jeffrey A Esq RENEWAL77Ioni Bowcher
1034Stacey N FerenczIndia2024-05-14Printing Dimensions UNQUALIFIED93Xuxue Feng
1035Faith X NickaFrance2024-04-26Feiner Bros RENEWAL82Elwin Sharvill
1036Francesco W CaudyFrance2024-05-17Truhlar And Truhlar Attys QUALIFIED33Ivan Magalhaes
1037Misaki F VocelkaItaly2024-05-03Truhlar And Truhlar Attys QUALIFIED67Amy Elsner
1038Chavez M StockhamRussia2024-05-13Rousseaux, Michael Esq PROPOSAL76Bernardo Dominic
1039Alejandro M RimRussia2024-04-28King, Christopher A Esq UNQUALIFIED8Bernardo Dominic
1040Murillo A GlickBrazil2024-05-10Chemel, James L Cpa NEGOTIATION17Ioni Bowcher
1041James V ShinkoBrazil2024-05-06Morlong Associates UNQUALIFIED20Asiya Javayant
1042Alejandro E RutaRussia2024-04-28Truhlar And Truhlar Attys UNQUALIFIED52Stephen Shaw
1043Silvio L FlosiItaly2024-05-09Printing Dimensions PROPOSAL25Onyama Limba
1044Maria H MarrierAustralia2024-05-07Rangoni Of Florence QUALIFIED44Elwin Sharvill
1045Morrow X GarufiItaly2024-05-13Chapman, Ross E Esq QUALIFIED1Anna Fali
1046Aika E KolmetzCanada2024-05-12Buckley Miller Wright RENEWAL31Amy Elsner
1047Izzy Y StockhamGermany2024-05-12Chapman, Ross E Esq UNQUALIFIED97Bernardo Dominic
1048Stacey A RimSpain2024-05-13Dorl, James J Esq QUALIFIED91Amy Elsner
1049Octavia R MacleadGermany2024-04-29Chapman, Ross E Esq RENEWAL47Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Z SchemmerFranceBernardo Dominic NEGOTIATION
Octavia Z GlickCanadaAsiya Javayant NEW
Chavez C KolmetzArgentinaOnyama Limba NEGOTIATION
Darci W FigeroaSpainOnyama Limba RENEWAL
Faith P GauchoBrazilBernardo Dominic QUALIFIED
Silvio B StockhamUnited KingdomAsiya Javayant PROPOSAL
Juan R AmigonIndiaBernardo Dominic PROPOSAL
Antonio T OldroydUnited KingdomStephen Shaw UNQUALIFIED
Tony G OldroydIndiaAnna Fali PROPOSAL
Faith L WaycottItalyAmy Elsner NEW
Arvin R AlbaresItalyAnna Fali QUALIFIED
Chavez G RoysterCanadaElwin Sharvill PROPOSAL
Darci U NestleFranceAsiya Javayant NEW
Ivar V MaletCanadaStephen Shaw QUALIFIED
Mayumi F KuskoJapanOnyama Limba PROPOSAL
Emily S OldroydUnited KingdomAnna Fali PROPOSAL
Morrow C StockhamGermanyAsiya Javayant PROPOSAL
Murillo V WieserSpainAnna Fali UNQUALIFIED
Nicolas W VenereItalyIoni Bowcher NEGOTIATION
Misaki H CaudySpainIvan Magalhaes UNQUALIFIED
Maria N ChuiFranceElwin Sharvill NEGOTIATION
Murillo P MarrierAustraliaIvan Magalhaes QUALIFIED
Stacey Q CampainIndiaElwin Sharvill PROPOSAL
Morrow E SergiItalyXuxue Feng RENEWAL
Emily Y OstroskyGermanyElwin Sharvill RENEWAL
Mayumi J SchemmerJapanAnna Fali NEGOTIATION
Cody T StockhamRussiaElwin Sharvill RENEWAL
Johnson F AmigonSpainIvan Magalhaes QUALIFIED
Maria X GillianItalyIoni Bowcher UNQUALIFIED
Jennifer M NickaArgentinaIvan Magalhaes UNQUALIFIED
Munro R ButtIndiaOnyama Limba NEW
Leon W FerenczGermanyStephen Shaw NEW
Maria P VenereAustraliaOnyama Limba PROPOSAL
Jennifer W KuskoSpainOnyama Limba NEGOTIATION
Mujtaba E SlusarskiArgentinaIvan Magalhaes RENEWAL
Sinclair P GauchoCanadaAsiya Javayant QUALIFIED
Smith G MarrierItalyIvan Magalhaes QUALIFIED
Claire W RoysterFranceAnna Fali RENEWAL
James Q MacleadJapanAnna Fali RENEWAL
Leja I SlusarskiSpainOnyama Limba NEGOTIATION
Adams F SchemmerFranceIvan Magalhaes RENEWAL
Jeanfrancois O GillianUnited KingdomXuxue Feng RENEWAL
James E OldroydJapanElwin Sharvill RENEWAL
Chavez O AlbaresRussiaAsiya Javayant NEW
Adams I MarrierCanadaOnyama Limba PROPOSAL
Isabel U WaycottArgentinaAsiya Javayant QUALIFIED
Alejandro U StockhamUnited KingdomOnyama Limba NEGOTIATION
Kaitlin X PaprockiIndiaIoni Bowcher UNQUALIFIED
Ashley M StockhamRussiaXuxue Feng QUALIFIED
Emily Z AmigonRussiaAsiya Javayant RENEWAL
Frozen Columns
Name
Aruna O Nestle
Munro U Malet
Octavia T Doe
Stacey X Briddick
Alejandro S Glick
James J Tollner
Adams J Shinko
Isabel G Ruta
Juan D Albares
Darci S Inouye
Maria C Ruta
Munro L Caldarera
Julie R Caudy
Maria A Garufi
David W Bolognia
James H Shinko
Kaitlin D Venere
Isabel O Slusarski
Morrow A Briddick
Nicolas F Garufi
Greenwood A Caldarera
Johnson U Nicka
Smith Z Caldarera
Leja O Ruta
Munro V Gaucho
Adams K Chui
Arvin R Slusarski
Arvin G Sergi
Jennifer P Ferencz
Nicolas K Vocelka
Francesco R Wieser
Silvio I Stockham
Octavia S Morasca
Clifford K Ruta
Leon K Sergi
Jefferson W Paprocki
Jefferson G Doe
Mayumi I Kusko
Izzy I Gaucho
Tony L Oldroyd
Rodrigues K Dilliard
David S Morasca
Ivar Z Albares
Cody P Waycott
Murillo X Butt
Francesco G Rulapaugh
James U Flosi
Salvatore R Nicka
Jennifer X Royster
Jones S Bolognia
IdCountryDate
1000Italy2024-05-14
1001France2024-04-28
1002Italy2024-05-25
1003United Kingdom2024-05-19
1004United Kingdom2024-05-25
1005Australia2024-05-09
1006Spain2024-05-12
1007Germany2024-05-19
1008France2024-04-27
1009Argentina2024-05-02
1010India2024-04-27
1011Italy2024-05-06
1012Japan2024-05-07
1013Italy2024-04-30
1014France2024-05-01
1015Russia2024-04-27
1016Spain2024-04-29
1017Canada2024-04-28
1018Argentina2024-05-19
1019Germany2024-05-22
1020India2024-05-01
1021Argentina2024-05-23
1022United Kingdom2024-05-17
1023Australia2024-04-30
1024Japan2024-05-15
1025Brazil2024-05-04
1026Germany2024-05-01
1027Italy2024-04-29
1028Brazil2024-05-18
1029Italy2024-05-01
1030Germany2024-05-24
1031India2024-05-20
1032Spain2024-05-01
1033United Kingdom2024-05-13
1034Canada2024-05-23
1035France2024-04-28
1036France2024-04-30
1037Russia2024-05-04
1038Argentina2024-04-27
1039United Kingdom2024-05-04
1040Italy2024-05-12
1041Spain2024-05-15
1042India2024-05-16
1043Russia2024-04-26
1044Spain2024-05-16
1045Brazil2024-05-19
1046Argentina2024-05-24
1047Japan2024-05-01
1048Argentina2024-05-03
1049United Kingdom2024-05-25

On-Demand Data

NameIdCountryDate
Ashley R Caudy1000Italy2024-05-09
Johnson W Foller1001France2024-05-11
Costa D Butt1002Argentina2024-05-19
Kadeem E Kusko1003United Kingdom2024-05-07
Salvatore K Malet1004Spain2024-05-15
Wickens E Kusko1005Canada2024-05-05
Murillo V Iturbide1006France2024-05-19
Greenwood W Gillian1007Spain2024-05-07
Johnson I Ostrosky1008Australia2024-05-17
Munro Q Oldroyd1009Argentina2024-05-02
Octavia Y Gillian1010Japan2024-04-29
Aruna N Inouye1011Russia2024-05-18
Misaki K Foller1012United Kingdom2024-05-11
Jennifer O Garufi1013France2024-04-26
Silvio H Rulapaugh1014France2024-04-28
Mujtaba L Butt1015United Kingdom2024-05-09
Salvatore F Kusko1016Australia2024-05-07
Ricardo S Perin1017Brazil2024-05-08
Jeanfrancois P Whobrey1018Spain2024-05-24
Antonio J Doe1019Japan2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh Q FerenczGermanyStephen Shaw UNQUALIFIED
Jones R GarufiJapanStephen Shaw NEGOTIATION
Emily Y DarakjySpainAsiya Javayant NEGOTIATION
Jeanfrancois U KolmetzArgentinaAsiya Javayant NEGOTIATION
Smith D FerenczJapanBernardo Dominic UNQUALIFIED
Isabel V KolmetzUnited KingdomAnna Fali RENEWAL
Smith L MorascaArgentinaIvan Magalhaes NEW
Maisha N FollerBrazilStephen Shaw NEW
Ivar V RoysterRussiaStephen Shaw NEW
James Z SergiItalyStephen Shaw NEGOTIATION
Jones K ChuiRussiaAnna Fali UNQUALIFIED
Maisha O SchemmerFranceAmy Elsner QUALIFIED
Izzy H OstroskyRussiaAsiya Javayant UNQUALIFIED
Kaitlin C FlosiUnited KingdomStephen Shaw UNQUALIFIED
Costa Y FlosiGermanyXuxue Feng UNQUALIFIED
Jones N WaycottJapanBernardo Dominic NEGOTIATION
Ashley P PoquetteSpainStephen Shaw NEGOTIATION
Smith Q ButtAustraliaAmy Elsner NEW
Ashley Z WaycottAustraliaIvan Magalhaes RENEWAL
Morrow G MaletUnited KingdomElwin Sharvill RENEWAL
Misaki J WaycottUnited KingdomAsiya Javayant NEGOTIATION
Izzy N KolmetzItalyIvan Magalhaes UNQUALIFIED
Greenwood M OldroydIndiaAmy Elsner QUALIFIED
Cody Z SlusarskiItalyAnna Fali NEW
Emily A GarufiIndiaAsiya Javayant NEGOTIATION
Sinclair M PoquetteFranceXuxue Feng NEGOTIATION
Juan E PaprockiRussiaOnyama Limba RENEWAL
Nicolas D StensethFranceStephen Shaw RENEWAL
Ashley M StockhamIndiaIoni Bowcher PROPOSAL
Jennifer R ChuiGermanyIvan Magalhaes UNQUALIFIED
Chavez Y WieserUnited KingdomAsiya Javayant QUALIFIED
Silvio L GarufiGermanyStephen Shaw PROPOSAL
Claire A WieserFranceBernardo Dominic PROPOSAL
Wickens J AmigonIndiaIvan Magalhaes NEGOTIATION
Maria O BologniaArgentinaStephen Shaw PROPOSAL
Misaki O RoysterCanadaElwin Sharvill NEW
Murillo W AmigonSpainAmy Elsner NEGOTIATION
Francesco C InouyeRussiaElwin Sharvill UNQUALIFIED
Johnson K ShinkoFranceXuxue Feng QUALIFIED
Alejandro L OldroydJapanOnyama Limba UNQUALIFIED

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