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
Adams D BowleyUnited KingdomXuxue Feng QUALIFIED
Nicolas A FlosiSpainXuxue Feng QUALIFIED
Jefferson P AlbaresBrazilIvan Magalhaes UNQUALIFIED
Leon V SergiIndiaBernardo Dominic NEW
James T MacleadIndiaOnyama Limba RENEWAL
Leon L KolmetzRussiaAnna Fali QUALIFIED
Leon D VenereFranceStephen Shaw NEGOTIATION
Francesco R KuskoAustraliaOnyama Limba RENEWAL
Ricardo J WaycottAustraliaStephen Shaw PROPOSAL
Juan E StensethSpainIoni Bowcher PROPOSAL
Wickens B KuskoSpainElwin Sharvill NEGOTIATION
Juan O SchemmerSpainXuxue Feng NEGOTIATION
Murillo U ChuiArgentinaIoni Bowcher UNQUALIFIED
Johnson X KuskoUnited KingdomAmy Elsner RENEWAL
Morrow R FerenczGermanyAsiya Javayant PROPOSAL
Kaitlin U CaudyArgentinaElwin Sharvill PROPOSAL
Tony A KuskoIndiaBernardo Dominic RENEWAL
Jeanfrancois U ButtUnited KingdomIoni Bowcher PROPOSAL
Jennifer Y SlusarskiGermanyOnyama Limba RENEWAL
Isabel P FollerAustraliaAmy Elsner RENEWAL
Ashley I SaylorsJapanXuxue Feng RENEWAL
Silvio O DarakjyIndiaXuxue Feng NEW
Octavia Y FollerRussiaStephen Shaw RENEWAL
Claire I PaprockiAustraliaIvan Magalhaes NEW
Aditya B FerenczGermanyXuxue Feng NEGOTIATION
Ricardo O DilliardSpainAsiya Javayant RENEWAL
Johnson V KuskoGermanyStephen Shaw UNQUALIFIED
Chavez Y OstroskyBrazilAnna Fali NEGOTIATION
Costa Z RoysterIndiaBernardo Dominic QUALIFIED
Rodrigues X SergiRussiaBernardo Dominic PROPOSAL
Aditya C BriddickArgentinaIoni Bowcher NEGOTIATION
Munro E CaudyUnited KingdomOnyama Limba UNQUALIFIED
Mayumi L RulapaughItalyIoni Bowcher NEGOTIATION
Ricardo P MarrierIndiaIoni Bowcher PROPOSAL
Johnson A BriddickGermanyAmy Elsner PROPOSAL
Johnson G StensethItalyAsiya Javayant RENEWAL
Morrow Z SaylorsBrazilElwin Sharvill NEW
Silvio Y MacleadGermanyOnyama Limba QUALIFIED
Wickens L InouyeGermanyIoni Bowcher RENEWAL
Ivar A RimGermanyStephen Shaw UNQUALIFIED
James D RoysterJapanStephen Shaw QUALIFIED
Alejandro G FollerItalyIoni Bowcher NEGOTIATION
Ashley O GlickIndiaStephen Shaw QUALIFIED
Stacey N NickaItalyOnyama Limba RENEWAL
Cody L GillianUnited KingdomAmy Elsner NEGOTIATION
Julie I FerenczSpainAnna Fali NEGOTIATION
Deepesh Y GlickItalyXuxue Feng NEGOTIATION
Ivar I StensethUnited KingdomAnna Fali UNQUALIFIED
Isabel G PaprockiJapanAsiya Javayant UNQUALIFIED
Emily G ButtSpainAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez P SaylorsArgentinaElwin Sharvill QUALIFIED
Mayumi U SlusarskiItalyBernardo Dominic NEGOTIATION
Maria N GillianBrazilElwin Sharvill PROPOSAL
Rodrigues C KuskoBrazilIvan Magalhaes PROPOSAL
Alejandro G KuskoUnited KingdomElwin Sharvill NEW
Johnson B SergiAustraliaOnyama Limba NEW
Leja X WaycottJapanOnyama Limba PROPOSAL
Ivar L GauchoGermanyStephen Shaw NEW
Kaitlin A CaudyGermanyElwin Sharvill NEW
Chavez X SergiItalyStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones L IturbideBrazil2024-05-23Feltz Printing Service PROPOSAL57Ivan Magalhaes
1001Aika H RoysterJapan2024-06-18Rousseaux, Michael Esq RENEWAL93Ivan Magalhaes
1002Octavia J WaycottGermany2024-06-16Printing Dimensions RENEWAL65Ivan Magalhaes
1003Morrow R NestleGermany2024-05-26Benton, John B Jr RENEWAL82Ioni Bowcher
1004Morrow W CampainGermany2024-06-05Rangoni Of Florence PROPOSAL5Onyama Limba
1005Jeanfrancois T SergiJapan2024-05-23Chemel, James L Cpa RENEWAL66Xuxue Feng
1006Sinclair I PerinRussia2024-06-15Truhlar And Truhlar Attys PROPOSAL35Ivan Magalhaes
1007Leja T FollerBrazil2024-06-01Morlong Associates UNQUALIFIED99Stephen Shaw
1008Faith Z MarrierRussia2024-06-11Feltz Printing Service PROPOSAL47Stephen Shaw
1009Izzy P TollnerIndia2024-06-07Chanay, Jeffrey A Esq NEGOTIATION70Onyama Limba
1010Jeanfrancois F PaprockiIndia2024-06-03Printing Dimensions PROPOSAL42Asiya Javayant
1011Izzy C AmigonItaly2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED50Ivan Magalhaes
1012Alejandro A PaprockiAustralia2024-05-31Feltz Printing Service QUALIFIED86Xuxue Feng
1013Wickens O InouyeUnited Kingdom2024-06-17Printing Dimensions NEW50Xuxue Feng
1014Mayumi M PerinFrance2024-06-08Rousseaux, Michael Esq NEW28Stephen Shaw
1015Costa Z WaycottRussia2024-06-04Rousseaux, Michael Esq UNQUALIFIED34Elwin Sharvill
1016Ivar N WieserUnited Kingdom2024-05-30Dorl, James J Esq QUALIFIED16Bernardo Dominic
1017Greenwood I DarakjyAustralia2024-05-20Rangoni Of Florence RENEWAL2Anna Fali
1018Clifford M PaprockiItaly2024-06-04Chapman, Ross E Esq QUALIFIED32Asiya Javayant
1019Jennifer K GillianItaly2024-05-25Rangoni Of Florence QUALIFIED4Amy Elsner
1020Nicolas U GauchoAustralia2024-06-04Chanay, Jeffrey A Esq NEW70Xuxue Feng
1021Aika P FigeroaSpain2024-06-02Rousseaux, Michael Esq QUALIFIED80Bernardo Dominic
1022Johnson T ButtFrance2024-06-16Feltz Printing Service UNQUALIFIED35Asiya Javayant
1023Mujtaba C VenereRussia2024-05-22Chapman, Ross E Esq RENEWAL96Onyama Limba
1024Misaki E BriddickJapan2024-06-07Buckley Miller Wright PROPOSAL95Elwin Sharvill
1025Leon U SergiIndia2024-06-07Feiner Bros NEW45Onyama Limba
1026Greenwood S IturbideUnited Kingdom2024-06-16Buckley Miller Wright PROPOSAL73Amy Elsner
1027Octavia M RoysterSpain2024-05-27Feiner Bros NEW5Stephen Shaw
1028Jennifer Y CaudyAustralia2024-06-09Buckley Miller Wright NEGOTIATION12Onyama Limba
1029Johnson M StensethSpain2024-05-26Buckley Miller Wright NEW79Amy Elsner
1030Emily A SlusarskiSpain2024-06-10Rousseaux, Michael Esq QUALIFIED37Onyama Limba
1031Jeanfrancois N PaprockiItaly2024-05-24King, Christopher A Esq UNQUALIFIED42Amy Elsner
1032Julie K PoquetteSpain2024-06-02Rangoni Of Florence NEW99Xuxue Feng
1033Johnson P NestleJapan2024-05-24Benton, John B Jr NEGOTIATION40Stephen Shaw
1034Emily S BriddickCanada2024-06-12Rangoni Of Florence RENEWAL64Bernardo Dominic
1035Tony M DilliardRussia2024-06-05Truhlar And Truhlar Attys NEW56Xuxue Feng
1036Silvio C MaletAustralia2024-06-08Morlong Associates QUALIFIED21Onyama Limba
1037Aruna J KuskoGermany2024-05-21Buckley Miller Wright NEW14Elwin Sharvill
1038Kadeem A DilliardAustralia2024-05-20Truhlar And Truhlar Attys NEGOTIATION2Elwin Sharvill
1039Deepesh S BowleyAustralia2024-06-12King, Christopher A Esq NEGOTIATION34Anna Fali
1040Arvin U MacleadSpain2024-05-28Truhlar And Truhlar Attys PROPOSAL83Ioni Bowcher
1041Darci V GauchoCanada2024-05-23Feiner Bros NEW7Xuxue Feng
1042Murillo Z CampainGermany2024-06-07Chanay, Jeffrey A Esq NEGOTIATION41Onyama Limba
1043Antonio L GlickUnited Kingdom2024-05-20Commercial Press RENEWAL30Amy Elsner
1044Kaitlin J CampainJapan2024-05-22King, Christopher A Esq UNQUALIFIED69Asiya Javayant
1045Jennifer L RulapaughAustralia2024-06-14Feltz Printing Service PROPOSAL85Amy Elsner
1046Maisha W VenereCanada2024-06-09Truhlar And Truhlar Attys QUALIFIED46Ioni Bowcher
1047David F GarufiArgentina2024-06-17Benton, John B Jr NEW74Onyama Limba
1048Jefferson V DoeCanada2024-06-09Benton, John B Jr UNQUALIFIED23Ivan Magalhaes
1049Jeanfrancois D AlbaresUnited Kingdom2024-06-07Feiner Bros NEW63Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Francesco U ButtIndiaAnna Fali UNQUALIFIED
Adams U AlbaresGermanyIoni Bowcher RENEWAL
Ivar D SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Leja Y FollerJapanIvan Magalhaes PROPOSAL
Julie Y ShinkoJapanStephen Shaw UNQUALIFIED
Wickens S OldroydFranceIoni Bowcher NEW
Clifford T FerenczSpainXuxue Feng UNQUALIFIED
Jefferson H CaldareraArgentinaXuxue Feng PROPOSAL
Claire T PerinCanadaElwin Sharvill PROPOSAL
Francesco P OldroydCanadaStephen Shaw RENEWAL
Emily O FlosiRussiaXuxue Feng PROPOSAL
Mayumi B FlosiAustraliaBernardo Dominic QUALIFIED
Arvin J RulapaughGermanyXuxue Feng RENEWAL
Stacey M OstroskyItalyAsiya Javayant UNQUALIFIED
Kadeem Q NickaSpainIvan Magalhaes NEGOTIATION
Jeanfrancois S WaycottAustraliaAsiya Javayant PROPOSAL
Adams F BologniaRussiaIoni Bowcher NEW
Leon S MacleadItalyAmy Elsner RENEWAL
David A DoeAustraliaXuxue Feng QUALIFIED
Maria U BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood H SchemmerSpainAnna Fali QUALIFIED
Wickens W NestleRussiaIvan Magalhaes NEGOTIATION
Antonio V PoquetteFranceXuxue Feng QUALIFIED
Ricardo U BowleyCanadaXuxue Feng PROPOSAL
Clifford Q PaprockiCanadaBernardo Dominic NEGOTIATION
Aika Q TollnerRussiaElwin Sharvill NEW
Julie T StensethAustraliaIvan Magalhaes RENEWAL
Murillo W MaletUnited KingdomIvan Magalhaes NEGOTIATION
Leja F RimIndiaIvan Magalhaes RENEWAL
Maria Q RimBrazilElwin Sharvill QUALIFIED
Costa O MorascaItalyXuxue Feng QUALIFIED
Munro H NickaJapanStephen Shaw RENEWAL
Francesco S OldroydAustraliaIoni Bowcher QUALIFIED
Murillo T RimIndiaIoni Bowcher NEGOTIATION
Kaitlin O DoeJapanIvan Magalhaes RENEWAL
Aditya H DilliardArgentinaAsiya Javayant RENEWAL
Jeanfrancois C VenereGermanyAsiya Javayant UNQUALIFIED
David P GarufiIndiaBernardo Dominic QUALIFIED
Faith R GillianAustraliaXuxue Feng NEW
Emily Y RoysterFranceIoni Bowcher QUALIFIED
Tony O DoeArgentinaOnyama Limba RENEWAL
Kadeem P ButtCanadaStephen Shaw RENEWAL
Isabel C ShinkoIndiaStephen Shaw NEGOTIATION
Greenwood S RimUnited KingdomAnna Fali PROPOSAL
Johnson G GauchoAustraliaXuxue Feng QUALIFIED
Munro C StensethAustraliaElwin Sharvill RENEWAL
Nicolas S VocelkaSpainBernardo Dominic RENEWAL
Kaitlin Y WaycottBrazilXuxue Feng RENEWAL
Antonio I WieserBrazilIoni Bowcher RENEWAL
Antonio C RoysterUnited KingdomIvan Magalhaes NEW
Frozen Columns
Name
Aruna Y Shinko
Darci R Caldarera
Leja E Oldroyd
Jones V Inouye
Johnson R Poquette
Johnson N Saylors
Isabel V Albares
Wickens I Sergi
Smith N Caldarera
Ashley Y Albares
Johnson L Caudy
Tony K Glick
Deepesh O Bowley
Octavia O Kusko
Izzy D Kolmetz
Sinclair J Poquette
Costa L Maclead
Kadeem A Gaucho
Francesco A Kolmetz
Julie J Wieser
Johnson G Gillian
Stacey K Saylors
Rodrigues Q Rim
Maria I Marrier
Misaki T Bolognia
Murillo I Venere
James N Maclead
Silvio X Butt
Sinclair L Caldarera
Adams I Garufi
Aruna A Butt
Jones T Butt
Emily Z Schemmer
Darci V Ostrosky
Aditya E Whobrey
Johnson K Stockham
Misaki V Malet
Kaitlin C Butt
Adams G Paprocki
Mujtaba X Flosi
Antonio E Vocelka
Adams K Ostrosky
Wickens P Gillian
Murillo I Shinko
Faith D Bowley
Isabel Z Slusarski
Leja Q Royster
Wickens F Inouye
Mayumi A Waycott
Cody K Caudy
IdCountryDate
1000United Kingdom2024-06-15
1001Brazil2024-06-03
1002Japan2024-05-21
1003Argentina2024-06-15
1004Argentina2024-06-13
1005Germany2024-06-08
1006India2024-06-07
1007Russia2024-05-23
1008India2024-05-26
1009Russia2024-05-30
1010Argentina2024-05-31
1011Italy2024-05-24
1012Italy2024-06-06
1013Italy2024-06-01
1014France2024-06-06
1015Argentina2024-05-28
1016India2024-06-01
1017Brazil2024-05-21
1018Russia2024-06-11
1019Spain2024-06-07
1020Canada2024-05-22
1021Argentina2024-06-03
1022United Kingdom2024-06-10
1023Australia2024-05-25
1024Russia2024-05-29
1025Russia2024-06-08
1026Russia2024-05-24
1027India2024-06-03
1028India2024-06-14
1029Italy2024-06-17
1030Canada2024-05-29
1031Spain2024-06-03
1032Germany2024-06-13
1033Argentina2024-06-18
1034Canada2024-05-21
1035Australia2024-06-08
1036Russia2024-05-31
1037Canada2024-06-14
1038Spain2024-06-05
1039Germany2024-05-20
1040Japan2024-06-11
1041Germany2024-06-10
1042Russia2024-05-20
1043Australia2024-06-02
1044France2024-06-03
1045Russia2024-06-09
1046Argentina2024-05-25
1047Russia2024-06-10
1048Spain2024-06-06
1049France2024-06-06

On-Demand Data

NameIdCountryDate
Rodrigues Q Malet1000United Kingdom2024-06-05
Silvio W Malet1001Italy2024-06-06
Clifford D Maclead1002Russia2024-05-20
Smith R Ruta1003Australia2024-05-23
Greenwood F Dilliard1004Australia2024-06-11
Adams E Nicka1005France2024-05-23
Julie I Perin1006France2024-06-15
Alejandro N Flosi1007Spain2024-06-05
Mujtaba Q Amigon1008United Kingdom2024-06-04
Clifford J Venere1009India2024-05-31
James H Ferencz1010Spain2024-06-05
Kadeem D Kusko1011France2024-05-24
Rodrigues U Iturbide1012Japan2024-05-27
Ashley Y Schemmer1013Russia2024-05-26
Juan I Albares1014Italy2024-06-18
Deepesh S Kolmetz1015Germany2024-05-22
Maisha X Amigon1016France2024-06-18
Rodrigues Q Malet1017Canada2024-05-22
Maisha A Oldroyd1018Russia2024-06-10
Tony Y Venere1019Germany2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar F FlosiBrazilBernardo Dominic QUALIFIED
Morrow S DilliardBrazilOnyama Limba NEW
Nicolas Y OldroydSpainAmy Elsner UNQUALIFIED
Morrow S OldroydAustraliaStephen Shaw NEW
Morrow H GarufiArgentinaAsiya Javayant RENEWAL
Izzy H NickaUnited KingdomOnyama Limba NEW
Munro P TollnerUnited KingdomOnyama Limba UNQUALIFIED
Nicolas K NickaRussiaAmy Elsner NEGOTIATION
Emily S FerenczItalyBernardo Dominic RENEWAL
Cody G GarufiSpainElwin Sharvill RENEWAL
Mujtaba E DilliardArgentinaAnna Fali NEGOTIATION
Cody U StockhamArgentinaXuxue Feng QUALIFIED
Chavez D GauchoFranceAsiya Javayant NEGOTIATION
Cody C VocelkaArgentinaAsiya Javayant UNQUALIFIED
Claire E VenereFranceElwin Sharvill PROPOSAL
Salvatore T WhobreyUnited KingdomStephen Shaw QUALIFIED
Arvin C TollnerCanadaAsiya Javayant PROPOSAL
Alejandro K OldroydCanadaStephen Shaw NEGOTIATION
Octavia A AmigonIndiaIoni Bowcher PROPOSAL
Maisha B SchemmerBrazilStephen Shaw NEW
Silvio H DoeFranceIoni Bowcher UNQUALIFIED
Morrow P OstroskyItalyIoni Bowcher UNQUALIFIED
Claire Y ShinkoCanadaBernardo Dominic NEGOTIATION
Aditya N VenereAustraliaAsiya Javayant PROPOSAL
Mujtaba C MarrierItalyIvan Magalhaes RENEWAL
Mujtaba W SchemmerArgentinaXuxue Feng NEGOTIATION
Wickens I DilliardItalyIoni Bowcher UNQUALIFIED
Emily C KuskoJapanAnna Fali RENEWAL
Smith Z PoquetteAustraliaElwin Sharvill RENEWAL
Aruna K MarrierRussiaAmy Elsner RENEWAL
Silvio E CaudyItalyIoni Bowcher NEGOTIATION
Salvatore I ButtBrazilAsiya Javayant PROPOSAL
Kadeem A ShinkoBrazilXuxue Feng UNQUALIFIED
Morrow L KuskoBrazilStephen Shaw QUALIFIED
Kaitlin P MaletCanadaAsiya Javayant NEW
Sinclair K CaldareraGermanyStephen Shaw PROPOSAL
Jennifer O ChuiRussiaStephen Shaw NEGOTIATION
Murillo S BologniaFranceAsiya Javayant NEW
Claire O FollerItalyIvan Magalhaes RENEWAL
Octavia E OldroydArgentinaXuxue Feng RENEWAL

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