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
Wickens S SchemmerRussiaXuxue Feng RENEWAL
Claire K MaletJapanStephen Shaw UNQUALIFIED
Izzy Z VenereRussiaAmy Elsner NEW
Cody L SchemmerArgentinaBernardo Dominic RENEWAL
Smith U OstroskyJapanStephen Shaw QUALIFIED
Tony F MaletJapanIoni Bowcher NEGOTIATION
David W WaycottSpainIvan Magalhaes UNQUALIFIED
Clifford O WieserArgentinaXuxue Feng NEW
Emily N GauchoArgentinaStephen Shaw QUALIFIED
Ashley X StockhamItalyAsiya Javayant PROPOSAL
Tony K NickaCanadaXuxue Feng NEGOTIATION
Faith E AlbaresFranceAsiya Javayant QUALIFIED
James R WieserBrazilXuxue Feng RENEWAL
Julie P PoquetteGermanyXuxue Feng QUALIFIED
Kadeem Z StensethGermanyXuxue Feng PROPOSAL
Ricardo W GauchoRussiaXuxue Feng RENEWAL
Munro K VocelkaSpainAnna Fali QUALIFIED
Aruna O BowleyIndiaAsiya Javayant UNQUALIFIED
Jeanfrancois W KuskoItalyStephen Shaw UNQUALIFIED
Jefferson L OldroydItalyStephen Shaw RENEWAL
Chavez B GauchoItalyIvan Magalhaes RENEWAL
Maisha Y PaprockiIndiaAnna Fali PROPOSAL
Stacey D CaldareraUnited KingdomOnyama Limba NEW
Murillo Q SchemmerUnited KingdomElwin Sharvill PROPOSAL
Claire P BowleyFranceElwin Sharvill UNQUALIFIED
Clifford Z GauchoSpainIvan Magalhaes PROPOSAL
Darci E WhobreyRussiaAsiya Javayant RENEWAL
Maria B RimFranceXuxue Feng NEGOTIATION
Greenwood A KolmetzUnited KingdomStephen Shaw QUALIFIED
Adams L GillianItalyStephen Shaw PROPOSAL
Faith O InouyeGermanyIvan Magalhaes NEW
Wickens E CampainAustraliaXuxue Feng RENEWAL
Juan Q IturbideGermanyAsiya Javayant RENEWAL
Claire Z ButtCanadaBernardo Dominic QUALIFIED
Ashley C StockhamUnited KingdomXuxue Feng NEGOTIATION
Smith D WaycottAustraliaAsiya Javayant UNQUALIFIED
Aditya A VocelkaJapanAnna Fali QUALIFIED
Antonio O WaycottSpainIvan Magalhaes RENEWAL
Wickens S RoysterIndiaElwin Sharvill QUALIFIED
Nicolas Z StensethJapanIvan Magalhaes QUALIFIED
Jeanfrancois Z NestleIndiaAsiya Javayant QUALIFIED
Jones U FlosiFranceIvan Magalhaes QUALIFIED
Isabel L GarufiCanadaIoni Bowcher NEGOTIATION
Adams Q PoquetteGermanyXuxue Feng QUALIFIED
Tony R FollerIndiaOnyama Limba PROPOSAL
James V NickaCanadaXuxue Feng RENEWAL
Faith P GarufiAustraliaIoni Bowcher RENEWAL
Sinclair X AmigonSpainStephen Shaw RENEWAL
Murillo E WaycottGermanyIoni Bowcher PROPOSAL
Silvio W PoquetteJapanXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie F FigeroaUnited KingdomIvan Magalhaes NEW
Izzy V NestleSpainStephen Shaw UNQUALIFIED
Jefferson X VocelkaAustraliaIoni Bowcher NEW
Smith L FigeroaArgentinaIoni Bowcher NEW
Jennifer F WaycottFranceElwin Sharvill UNQUALIFIED
Costa R WieserArgentinaOnyama Limba QUALIFIED
Isabel N BriddickJapanIoni Bowcher NEW
Silvio W BowleyUnited KingdomIvan Magalhaes QUALIFIED
Mayumi M MaletArgentinaAnna Fali PROPOSAL
Mayumi F FigeroaSpainElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith R StockhamRussia2024-06-24Feltz Printing Service NEW30Asiya Javayant
1001Julie X SergiUnited Kingdom2024-05-29Chanay, Jeffrey A Esq QUALIFIED37Onyama Limba
1002Smith J CaudyCanada2024-06-14Buckley Miller Wright UNQUALIFIED81Bernardo Dominic
1003Francesco I MaletItaly2024-06-20Chemel, James L Cpa NEGOTIATION24Anna Fali
1004Sinclair D KolmetzSpain2024-06-19Truhlar And Truhlar Attys NEW73Ivan Magalhaes
1005Alejandro N SaylorsSpain2024-05-26Feiner Bros PROPOSAL66Amy Elsner
1006Tony A ChuiUnited Kingdom2024-05-30Printing Dimensions NEGOTIATION58Ivan Magalhaes
1007Octavia C InouyeRussia2024-05-30Chanay, Jeffrey A Esq NEGOTIATION47Ioni Bowcher
1008Silvio T KuskoGermany2024-06-12Printing Dimensions NEW25Onyama Limba
1009Silvio N BologniaItaly2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED21Amy Elsner
1010Mayumi K InouyeItaly2024-06-16Commercial Press RENEWAL29Asiya Javayant
1011Murillo M NickaJapan2024-06-20King, Christopher A Esq UNQUALIFIED48Elwin Sharvill
1012Cody M StockhamFrance2024-06-19Chapman, Ross E Esq QUALIFIED39Elwin Sharvill
1013David G BologniaFrance2024-05-26Feltz Printing Service NEGOTIATION11Ivan Magalhaes
1014Jeanfrancois A OldroydRussia2024-06-10Chapman, Ross E Esq NEW37Bernardo Dominic
1015Murillo F PoquetteIndia2024-06-18Commercial Press NEW65Onyama Limba
1016James Y GlickCanada2024-06-21Chemel, James L Cpa QUALIFIED18Ioni Bowcher
1017Julie O ShinkoArgentina2024-06-03Chanay, Jeffrey A Esq NEGOTIATION45Bernardo Dominic
1018Tony I GarufiBrazil2024-06-17Morlong Associates RENEWAL18Onyama Limba
1019Juan J RutaAustralia2024-06-07Truhlar And Truhlar Attys PROPOSAL84Onyama Limba
1020Octavia S WieserJapan2024-06-02Commercial Press UNQUALIFIED87Ioni Bowcher
1021Clifford W GarufiUnited Kingdom2024-06-04Chapman, Ross E Esq QUALIFIED38Ioni Bowcher
1022Jeanfrancois M StockhamItaly2024-05-26Morlong Associates NEW97Ioni Bowcher
1023Kadeem O DoeJapan2024-06-23Rangoni Of Florence NEGOTIATION83Elwin Sharvill
1024Munro H MaletFrance2024-06-10Truhlar And Truhlar Attys RENEWAL1Anna Fali
1025Johnson G WieserArgentina2024-06-20Chapman, Ross E Esq RENEWAL11Ioni Bowcher
1026Jeanfrancois S NickaBrazil2024-06-01King, Christopher A Esq RENEWAL11Onyama Limba
1027Greenwood D NestleCanada2024-06-02Chapman, Ross E Esq QUALIFIED4Asiya Javayant
1028Smith K SlusarskiIndia2024-06-18Commercial Press QUALIFIED60Ioni Bowcher
1029Leja W WaycottArgentina2024-06-24Morlong Associates NEW76Asiya Javayant
1030Salvatore W NestleAustralia2024-06-09Benton, John B Jr QUALIFIED55Amy Elsner
1031Emily I VocelkaFrance2024-06-17Morlong Associates UNQUALIFIED12Amy Elsner
1032Maisha E MaletAustralia2024-06-10Chapman, Ross E Esq RENEWAL24Onyama Limba
1033Francesco H BriddickArgentina2024-06-18Chemel, James L Cpa RENEWAL41Stephen Shaw
1034Wickens W GlickArgentina2024-06-14Rangoni Of Florence NEW12Bernardo Dominic
1035Munro J SergiJapan2024-05-30Chemel, James L Cpa PROPOSAL90Xuxue Feng
1036Stacey C ShinkoJapan2024-05-27Feltz Printing Service UNQUALIFIED28Ioni Bowcher
1037Wickens U ChuiIndia2024-06-03Commercial Press NEGOTIATION11Amy Elsner
1038James T VenereItaly2024-06-23Chanay, Jeffrey A Esq UNQUALIFIED91Stephen Shaw
1039Jefferson E PaprockiIndia2024-06-11Rousseaux, Michael Esq UNQUALIFIED10Ivan Magalhaes
1040Greenwood K FlosiCanada2024-06-17Commercial Press PROPOSAL86Asiya Javayant
1041Sinclair S MarrierItaly2024-05-29Chemel, James L Cpa PROPOSAL3Amy Elsner
1042Jones R WaycottItaly2024-06-04Printing Dimensions NEGOTIATION73Bernardo Dominic
1043Sinclair J VocelkaRussia2024-06-17Dorl, James J Esq NEW93Amy Elsner
1044Darci B VenereAustralia2024-05-29King, Christopher A Esq RENEWAL60Onyama Limba
1045Jennifer Y GlickUnited Kingdom2024-06-03Chapman, Ross E Esq RENEWAL92Ivan Magalhaes
1046Sinclair K OstroskyUnited Kingdom2024-06-20Printing Dimensions QUALIFIED90Xuxue Feng
1047Emily G VocelkaJapan2024-06-06King, Christopher A Esq PROPOSAL19Bernardo Dominic
1048Julie W MorascaArgentina2024-05-28Rangoni Of Florence NEGOTIATION36Xuxue Feng
1049Stacey V RoysterFrance2024-06-07Feltz Printing Service UNQUALIFIED58Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
David B RulapaughGermanyElwin Sharvill NEGOTIATION
Kadeem K RutaSpainOnyama Limba UNQUALIFIED
Clifford B DilliardIndiaXuxue Feng PROPOSAL
Emily V AlbaresAustraliaIoni Bowcher QUALIFIED
Ashley S WieserJapanAmy Elsner UNQUALIFIED
Adams T RoysterUnited KingdomAsiya Javayant NEGOTIATION
Faith E PaprockiAustraliaOnyama Limba PROPOSAL
Ricardo F FerenczSpainBernardo Dominic UNQUALIFIED
Salvatore G GarufiGermanyXuxue Feng RENEWAL
Mujtaba H KuskoBrazilAsiya Javayant NEW
Mayumi C VocelkaIndiaIoni Bowcher NEGOTIATION
Darci C FerenczItalyBernardo Dominic QUALIFIED
Maisha T GillianSpainElwin Sharvill NEW
Jennifer A OldroydAustraliaBernardo Dominic PROPOSAL
Mujtaba Z GlickGermanyBernardo Dominic QUALIFIED
Mujtaba X AlbaresArgentinaIvan Magalhaes NEGOTIATION
Chavez A CaudyUnited KingdomBernardo Dominic RENEWAL
Sinclair D IturbideGermanyStephen Shaw RENEWAL
Morrow C InouyeGermanyOnyama Limba PROPOSAL
Mujtaba F PoquetteCanadaAmy Elsner NEGOTIATION
Adams A VocelkaJapanAsiya Javayant NEGOTIATION
Leja J FerenczGermanyAsiya Javayant QUALIFIED
Salvatore O BriddickBrazilElwin Sharvill NEGOTIATION
Aditya E ChuiRussiaAmy Elsner NEW
Sinclair Z GlickRussiaIoni Bowcher RENEWAL
Stacey T FigeroaFranceXuxue Feng PROPOSAL
Claire Z AlbaresArgentinaAmy Elsner UNQUALIFIED
Emily W SlusarskiArgentinaOnyama Limba PROPOSAL
Jones P SaylorsCanadaAsiya Javayant NEW
Nicolas O RoysterCanadaXuxue Feng NEW
Maisha Z WhobreyBrazilAsiya Javayant QUALIFIED
Johnson Y DarakjyIndiaXuxue Feng NEW
Jones N PaprockiBrazilAsiya Javayant QUALIFIED
Ricardo V RulapaughSpainOnyama Limba NEGOTIATION
Jefferson A KuskoGermanyAmy Elsner RENEWAL
Sinclair G AmigonBrazilOnyama Limba RENEWAL
Smith C WieserBrazilOnyama Limba UNQUALIFIED
Alejandro B RoysterIndiaIvan Magalhaes PROPOSAL
Jennifer D ShinkoItalyIvan Magalhaes PROPOSAL
Kaitlin G PerinFranceIoni Bowcher NEGOTIATION
Alejandro J SlusarskiAustraliaAsiya Javayant NEW
Misaki J TollnerSpainStephen Shaw NEW
Clifford U MaletRussiaStephen Shaw QUALIFIED
Wickens R AlbaresSpainStephen Shaw PROPOSAL
Ivar A DoeUnited KingdomAmy Elsner QUALIFIED
David Y BologniaCanadaIvan Magalhaes PROPOSAL
Jeanfrancois I RoysterFranceAnna Fali PROPOSAL
James N KolmetzUnited KingdomStephen Shaw QUALIFIED
Chavez F BologniaAustraliaElwin Sharvill RENEWAL
Ivar P RimRussiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Tony Q Dilliard
Izzy X Perin
Mujtaba U Malet
Stacey N Shinko
Antonio B Briddick
Emily D Perin
Faith F Malet
Ivar D Inouye
Cody C Dilliard
Smith A Sergi
Jennifer J Butt
Aditya I Garufi
Francesco J Flosi
Arvin Q Schemmer
Alejandro Q Whobrey
Claire M Shinko
Francesco W Gillian
Smith U Briddick
Deepesh Q Tollner
Aditya Z Sergi
Munro F Malet
Rodrigues U Wieser
Aditya K Malet
Leon Z Gaucho
Adams Y Ruta
Smith P Oldroyd
Arvin L Shinko
Tony M Whobrey
Nicolas D Briddick
Misaki Z Waycott
Tony D Tollner
Deepesh I Ostrosky
Wickens M Foller
Aditya I Kolmetz
Aditya U Venere
Maisha U Chui
Johnson T Tollner
Murillo O Glick
Smith M Slusarski
Sinclair L Gillian
James J Tollner
Izzy H Nicka
Cody B Caudy
Clifford X Malet
Aika E Wieser
Jeanfrancois G Figeroa
Jefferson O Bowley
Aditya H Kusko
Stacey N Glick
David N Stockham
IdCountryDate
1000Canada2024-05-28
1001France2024-06-20
1002France2024-06-01
1003India2024-06-04
1004Germany2024-06-10
1005Spain2024-06-17
1006Japan2024-06-14
1007Japan2024-06-21
1008Australia2024-06-12
1009Canada2024-06-16
1010Italy2024-06-05
1011Russia2024-05-31
1012Italy2024-06-14
1013Argentina2024-06-01
1014Italy2024-06-07
1015United Kingdom2024-06-16
1016Japan2024-06-12
1017India2024-06-02
1018Brazil2024-05-31
1019Japan2024-06-04
1020Japan2024-06-23
1021Australia2024-06-22
1022India2024-06-11
1023Spain2024-05-26
1024Russia2024-06-07
1025France2024-06-18
1026Brazil2024-06-03
1027Italy2024-05-28
1028Spain2024-06-04
1029Spain2024-06-04
1030Brazil2024-06-21
1031Italy2024-06-04
1032United Kingdom2024-06-14
1033Brazil2024-06-05
1034Canada2024-06-01
1035Russia2024-06-09
1036Spain2024-06-17
1037Spain2024-06-19
1038Russia2024-06-15
1039Argentina2024-06-17
1040Argentina2024-06-17
1041Argentina2024-06-16
1042Italy2024-06-05
1043Argentina2024-06-02
1044Russia2024-06-06
1045Australia2024-06-02
1046Canada2024-05-29
1047Germany2024-06-14
1048Germany2024-06-03
1049India2024-06-05

On-Demand Data

NameIdCountryDate
Aika C Caudy1000Italy2024-05-30
Munro D Paprocki1001Brazil2024-05-28
Jeanfrancois F Paprocki1002India2024-06-03
Stacey T Paprocki1003Argentina2024-06-09
Ricardo Q Morasca1004India2024-05-28
Aditya A Maclead1005France2024-06-24
Stacey W Darakjy1006Russia2024-06-05
Silvio R Rim1007Germany2024-06-05
Aika B Perin1008Russia2024-05-26
Wickens O Ferencz1009Japan2024-06-04
Aika L Marrier1010Canada2024-05-28
Emily P Flosi1011Italy2024-05-31
Clifford D Briddick1012Australia2024-06-18
Munro G Schemmer1013Brazil2024-06-13
Mujtaba L Ferencz1014United Kingdom2024-06-07
Antonio A Venere1015Germany2024-06-12
Morrow V Nicka1016Germany2024-06-24
Ashley Q Nicka1017Spain2024-05-27
Johnson M Chui1018Argentina2024-06-08
Jones K Garufi1019Russia2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem F MarrierUnited KingdomAnna Fali PROPOSAL
Tony I VenereBrazilIoni Bowcher UNQUALIFIED
Aditya L GauchoJapanOnyama Limba PROPOSAL
Costa N BowleyJapanIoni Bowcher QUALIFIED
Ricardo T WaycottCanadaIoni Bowcher NEGOTIATION
Smith S TollnerFranceIvan Magalhaes PROPOSAL
Clifford X SchemmerIndiaOnyama Limba QUALIFIED
Arvin Z VocelkaAustraliaAmy Elsner RENEWAL
Juan K FerenczBrazilXuxue Feng UNQUALIFIED
Greenwood G PaprockiFranceStephen Shaw UNQUALIFIED
Murillo A KolmetzUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois L FerenczIndiaAmy Elsner RENEWAL
Aditya S TollnerFranceOnyama Limba NEGOTIATION
Costa X StensethJapanStephen Shaw NEGOTIATION
Clifford E ButtBrazilAmy Elsner RENEWAL
Misaki N DoeFranceIoni Bowcher UNQUALIFIED
Leja Y IturbideArgentinaBernardo Dominic UNQUALIFIED
Morrow J MaletGermanyAmy Elsner NEW
Kaitlin G KuskoBrazilOnyama Limba UNQUALIFIED
Isabel P SlusarskiItalyBernardo Dominic UNQUALIFIED
Izzy T StensethSpainIoni Bowcher QUALIFIED
Isabel N SchemmerBrazilAsiya Javayant NEW
Greenwood C FerenczUnited KingdomAnna Fali NEGOTIATION
Arvin Y CaldareraCanadaElwin Sharvill RENEWAL
Salvatore S OstroskyIndiaAsiya Javayant UNQUALIFIED
Salvatore N FerenczIndiaXuxue Feng NEW
Octavia Q RutaCanadaOnyama Limba NEW
Ashley P WhobreyArgentinaAnna Fali QUALIFIED
Jones L ChuiSpainStephen Shaw UNQUALIFIED
Maria T DilliardIndiaAnna Fali QUALIFIED
Alejandro S MaletUnited KingdomIvan Magalhaes QUALIFIED
Antonio G ChuiArgentinaAnna Fali RENEWAL
Isabel N GillianUnited KingdomAnna Fali QUALIFIED
Jones W SaylorsIndiaAnna Fali QUALIFIED
Aruna J OstroskyCanadaIvan Magalhaes UNQUALIFIED
Stacey H OldroydArgentinaIvan Magalhaes UNQUALIFIED
Kadeem T CampainItalyOnyama Limba NEGOTIATION
Aditya F MacleadJapanXuxue Feng RENEWAL
Antonio S PoquetteUnited KingdomXuxue Feng QUALIFIED
David Z CampainBrazilAnna Fali 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>