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
Leja Y RimFranceIoni Bowcher NEGOTIATION
Rodrigues U SaylorsBrazilStephen Shaw NEGOTIATION
Deepesh T RutaItalyIoni Bowcher QUALIFIED
Octavia S CampainSpainAsiya Javayant QUALIFIED
Adams T CaudyFranceOnyama Limba QUALIFIED
Sinclair E BowleyIndiaAnna Fali RENEWAL
Rodrigues K GillianBrazilOnyama Limba RENEWAL
Sinclair N AmigonIndiaElwin Sharvill QUALIFIED
Leon Q SergiCanadaAnna Fali UNQUALIFIED
Smith X NickaArgentinaElwin Sharvill PROPOSAL
Deepesh B NestleGermanyElwin Sharvill PROPOSAL
Chavez O IturbideRussiaOnyama Limba NEGOTIATION
Alejandro Z GlickFranceAsiya Javayant QUALIFIED
Claire S FlosiBrazilAnna Fali NEGOTIATION
Chavez H RimItalyAmy Elsner NEGOTIATION
Tony W VenereCanadaBernardo Dominic RENEWAL
David A VocelkaUnited KingdomIvan Magalhaes NEW
Mujtaba E SchemmerGermanyAsiya Javayant NEW
Silvio Y CampainCanadaAnna Fali NEGOTIATION
Smith G StensethGermanyAmy Elsner UNQUALIFIED
Juan S PoquetteFranceAnna Fali PROPOSAL
Maria M VocelkaBrazilAsiya Javayant NEGOTIATION
James U SaylorsSpainElwin Sharvill NEW
Johnson X DoeAustraliaIoni Bowcher UNQUALIFIED
Izzy H NickaGermanyOnyama Limba RENEWAL
Kadeem Y InouyeIndiaAmy Elsner RENEWAL
Johnson V CampainCanadaIoni Bowcher QUALIFIED
Misaki Z CaldareraSpainIoni Bowcher NEW
Leon P CaudyBrazilXuxue Feng NEGOTIATION
Isabel R BowleyFranceAsiya Javayant NEGOTIATION
Antonio X DoeUnited KingdomXuxue Feng RENEWAL
Chavez Z SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
Faith O MaletSpainElwin Sharvill RENEWAL
Arvin C ChuiIndiaIvan Magalhaes UNQUALIFIED
Ivar A BowleyJapanIvan Magalhaes RENEWAL
Smith P BologniaSpainElwin Sharvill UNQUALIFIED
Jefferson L RulapaughIndiaAmy Elsner NEW
Greenwood B CaldareraIndiaAsiya Javayant QUALIFIED
Ricardo Y MarrierItalyAnna Fali NEGOTIATION
Isabel M PerinArgentinaBernardo Dominic QUALIFIED
Greenwood K MarrierBrazilBernardo Dominic UNQUALIFIED
Claire A SchemmerAustraliaXuxue Feng QUALIFIED
Maria W RulapaughSpainStephen Shaw QUALIFIED
Mayumi E WieserBrazilXuxue Feng PROPOSAL
Octavia L CaudyGermanyAnna Fali PROPOSAL
Darci T GillianCanadaBernardo Dominic NEGOTIATION
Maisha K AmigonItalyAmy Elsner NEW
James D PaprockiCanadaOnyama Limba QUALIFIED
David B ChuiItalyElwin Sharvill RENEWAL
Mayumi F AlbaresRussiaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio L RulapaughItalyAsiya Javayant RENEWAL
Silvio D RimBrazilElwin Sharvill UNQUALIFIED
Chavez P GarufiUnited KingdomAnna Fali PROPOSAL
Leon W StensethIndiaAmy Elsner PROPOSAL
Johnson V FigeroaRussiaAmy Elsner NEGOTIATION
Julie D BologniaArgentinaBernardo Dominic NEGOTIATION
Faith S CampainGermanyAsiya Javayant PROPOSAL
Darci B FlosiItalyBernardo Dominic UNQUALIFIED
Alejandro P AmigonFranceXuxue Feng NEW
Claire T RulapaughArgentinaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem E FigeroaRussia2024-05-28Buckley Miller Wright PROPOSAL71Asiya Javayant
1001Antonio U MarrierJapan2024-06-10Dorl, James J Esq QUALIFIED98Elwin Sharvill
1002Maisha G CaldareraCanada2024-05-29Morlong Associates RENEWAL92Ivan Magalhaes
1003Clifford I SchemmerAustralia2024-06-05Morlong Associates PROPOSAL62Onyama Limba
1004Aruna H WieserBrazil2024-05-31King, Christopher A Esq UNQUALIFIED67Stephen Shaw
1005Wickens F GlickArgentina2024-06-16Printing Dimensions NEW48Onyama Limba
1006Silvio C VocelkaCanada2024-06-12Rangoni Of Florence UNQUALIFIED65Ioni Bowcher
1007Chavez L CampainArgentina2024-05-27Feiner Bros UNQUALIFIED26Xuxue Feng
1008Kadeem W NestleArgentina2024-06-09Dorl, James J Esq UNQUALIFIED50Ivan Magalhaes
1009Jennifer R DilliardItaly2024-06-19Rangoni Of Florence PROPOSAL74Xuxue Feng
1010Tony M StockhamRussia2024-06-02Benton, John B Jr QUALIFIED9Elwin Sharvill
1011Cody A OldroydJapan2024-06-18Chapman, Ross E Esq RENEWAL13Anna Fali
1012Johnson F ButtBrazil2024-06-03Commercial Press NEW24Elwin Sharvill
1013Rodrigues U WaycottBrazil2024-06-12Printing Dimensions QUALIFIED91Asiya Javayant
1014Jennifer R KolmetzRussia2024-06-21Chanay, Jeffrey A Esq NEGOTIATION43Stephen Shaw
1015Morrow U ChuiAustralia2024-06-13Rangoni Of Florence QUALIFIED65Amy Elsner
1016Ashley Y ShinkoAustralia2024-06-21Truhlar And Truhlar Attys QUALIFIED11Ivan Magalhaes
1017Ivar R CampainArgentina2024-06-06Buckley Miller Wright PROPOSAL73Asiya Javayant
1018Jeanfrancois K DarakjyFrance2024-06-09Truhlar And Truhlar Attys PROPOSAL32Bernardo Dominic
1019Francesco M WieserRussia2024-05-27Benton, John B Jr NEW53Xuxue Feng
1020Adams Y StensethBrazil2024-06-08Printing Dimensions UNQUALIFIED36Asiya Javayant
1021David H PoquetteGermany2024-06-03Morlong Associates QUALIFIED11Ivan Magalhaes
1022Julie Y GauchoUnited Kingdom2024-06-07Chanay, Jeffrey A Esq QUALIFIED53Anna Fali
1023Francesco A ChuiAustralia2024-06-09Rousseaux, Michael Esq RENEWAL50Ioni Bowcher
1024Arvin B CaudyRussia2024-06-22Rousseaux, Michael Esq UNQUALIFIED60Ivan Magalhaes
1025Salvatore Q MarrierArgentina2024-06-13Dorl, James J Esq RENEWAL17Ioni Bowcher
1026Stacey N SchemmerUnited Kingdom2024-06-14King, Christopher A Esq PROPOSAL84Stephen Shaw
1027Cody R DarakjyBrazil2024-06-10Benton, John B Jr RENEWAL33Ioni Bowcher
1028Julie J PerinItaly2024-06-17Rousseaux, Michael Esq NEGOTIATION31Bernardo Dominic
1029Jones C ChuiSpain2024-06-15Feltz Printing Service NEW81Bernardo Dominic
1030Morrow B OldroydFrance2024-06-10Benton, John B Jr NEGOTIATION73Anna Fali
1031Nicolas D DilliardCanada2024-06-03Chapman, Ross E Esq RENEWAL94Amy Elsner
1032Nicolas B RulapaughRussia2024-05-30Rangoni Of Florence NEW69Elwin Sharvill
1033Johnson R CaudyItaly2024-06-19Commercial Press UNQUALIFIED13Ioni Bowcher
1034Alejandro I MaletItaly2024-06-13Morlong Associates NEGOTIATION45Amy Elsner
1035Munro L TollnerItaly2024-06-24Rangoni Of Florence QUALIFIED35Elwin Sharvill
1036Aruna I NickaItaly2024-06-11Benton, John B Jr UNQUALIFIED60Amy Elsner
1037Leja H FlosiIndia2024-06-13Buckley Miller Wright PROPOSAL54Ioni Bowcher
1038Jones F VocelkaRussia2024-06-13Benton, John B Jr RENEWAL77Xuxue Feng
1039Mujtaba L BowleyCanada2024-06-13Buckley Miller Wright UNQUALIFIED64Onyama Limba
1040Juan L MaletIndia2024-06-13Chapman, Ross E Esq RENEWAL50Ivan Magalhaes
1041Cody T BriddickGermany2024-05-27Benton, John B Jr RENEWAL25Asiya Javayant
1042Smith W MorascaRussia2024-06-22Chemel, James L Cpa NEGOTIATION25Anna Fali
1043Misaki S PerinItaly2024-06-07Feltz Printing Service PROPOSAL24Asiya Javayant
1044Jefferson W KuskoSpain2024-06-11Feltz Printing Service UNQUALIFIED70Ivan Magalhaes
1045Darci S CaudyUnited Kingdom2024-06-01King, Christopher A Esq RENEWAL48Stephen Shaw
1046Emily H MaletRussia2024-06-06Buckley Miller Wright NEGOTIATION37Xuxue Feng
1047Ashley P FollerGermany2024-06-14Printing Dimensions PROPOSAL92Amy Elsner
1048Leon K TollnerSpain2024-06-08Morlong Associates RENEWAL39Ivan Magalhaes
1049David B PoquetteIndia2024-05-28Commercial Press PROPOSAL20Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Claire F CampainArgentinaAmy Elsner NEW
Francesco P GillianSpainAmy Elsner NEW
Murillo E GlickArgentinaAmy Elsner NEW
Ricardo F OldroydRussiaAsiya Javayant PROPOSAL
Aika C RutaFranceBernardo Dominic NEGOTIATION
Salvatore P BologniaFranceStephen Shaw QUALIFIED
Aika K DilliardFranceIoni Bowcher RENEWAL
Mayumi C KuskoJapanStephen Shaw PROPOSAL
Francesco K OstroskyRussiaElwin Sharvill NEW
Kaitlin T GarufiItalyIvan Magalhaes RENEWAL
Jennifer F WieserIndiaOnyama Limba PROPOSAL
Wickens Y FigeroaItalyXuxue Feng NEGOTIATION
Adams L SergiAustraliaAsiya Javayant UNQUALIFIED
Jefferson D PoquetteRussiaAnna Fali QUALIFIED
Kadeem E MarrierArgentinaIoni Bowcher UNQUALIFIED
Aditya K OstroskyJapanAsiya Javayant PROPOSAL
Greenwood C FigeroaArgentinaOnyama Limba RENEWAL
Kaitlin I DarakjyFranceAnna Fali RENEWAL
Tony I WhobreySpainAmy Elsner RENEWAL
Mujtaba Q StensethRussiaAnna Fali RENEWAL
Morrow J StockhamRussiaOnyama Limba NEW
Arvin W BowleyAustraliaOnyama Limba UNQUALIFIED
Aditya V CampainAustraliaIoni Bowcher NEW
Morrow G BowleyFranceAmy Elsner PROPOSAL
Murillo D FerenczItalyAsiya Javayant QUALIFIED
Smith V PerinUnited KingdomXuxue Feng RENEWAL
Aruna E MaletBrazilStephen Shaw RENEWAL
James K KolmetzItalyIoni Bowcher NEGOTIATION
Munro H KolmetzSpainOnyama Limba QUALIFIED
Kadeem G MacleadCanadaIvan Magalhaes NEW
Leja U BowleyAustraliaAnna Fali NEGOTIATION
Sinclair F SergiArgentinaXuxue Feng NEGOTIATION
Leon F NestleUnited KingdomAsiya Javayant PROPOSAL
Julie X RulapaughIndiaXuxue Feng NEGOTIATION
Stacey A GarufiGermanyOnyama Limba PROPOSAL
Deepesh Y GlickSpainAsiya Javayant NEW
Leon H GarufiFranceIvan Magalhaes RENEWAL
Misaki D CaldareraFranceAsiya Javayant PROPOSAL
Ivar X GauchoGermanyOnyama Limba UNQUALIFIED
Faith M MacleadRussiaElwin Sharvill NEW
Maria Z KolmetzAustraliaXuxue Feng PROPOSAL
Johnson N NickaJapanElwin Sharvill UNQUALIFIED
Smith F DoeAustraliaOnyama Limba PROPOSAL
Izzy D InouyeSpainXuxue Feng PROPOSAL
Isabel V MorascaJapanOnyama Limba RENEWAL
Francesco E MacleadSpainOnyama Limba PROPOSAL
Deepesh S FollerUnited KingdomAsiya Javayant NEW
Murillo H WhobreyItalyStephen Shaw NEGOTIATION
Clifford V PerinSpainAmy Elsner UNQUALIFIED
Francesco T SlusarskiArgentinaBernardo Dominic PROPOSAL
Frozen Columns
Name
David T Chui
Ivar K Garufi
Mujtaba H Kolmetz
Cody V Saylors
Smith N Maclead
Salvatore H Nestle
Francesco O Slusarski
Jeanfrancois B Butt
Kaitlin W Nicka
David F Ruta
Munro M Nestle
Munro I Doe
Juan J Venere
Sinclair Q Schemmer
Nicolas O Campain
Smith O Shinko
Nicolas R Perin
Aruna I Bolognia
Silvio N Slusarski
Juan T Rulapaugh
Stacey M Stockham
Greenwood K Ruta
Murillo J Doe
James S Doe
Ashley N Inouye
Rodrigues B Ruta
Claire N Malet
Misaki N Sergi
Mayumi A Butt
Maisha B Glick
Kadeem A Gillian
Jones D Whobrey
Izzy U Rulapaugh
Faith Z Stenseth
Costa W Kusko
Emily Q Wieser
Jeanfrancois Q Bowley
Salvatore J Ostrosky
Aditya R Whobrey
Alejandro F Briddick
Alejandro M Wieser
Aditya A Glick
Sinclair U Oldroyd
Sinclair V Schemmer
Juan Z Campain
Clifford R Stockham
Maria E Figeroa
Adams F Malet
Misaki Y Gillian
Maria X Ruta
IdCountryDate
1000Italy2024-06-04
1001Italy2024-06-10
1002Germany2024-06-21
1003Japan2024-05-30
1004Brazil2024-06-12
1005Spain2024-06-04
1006Italy2024-06-09
1007Russia2024-06-16
1008Brazil2024-06-17
1009Italy2024-06-23
1010Argentina2024-06-09
1011Australia2024-06-16
1012Italy2024-06-09
1013Russia2024-06-13
1014Canada2024-06-14
1015Japan2024-05-31
1016United Kingdom2024-06-04
1017Australia2024-06-02
1018Russia2024-06-23
1019United Kingdom2024-06-03
1020Japan2024-06-24
1021Brazil2024-06-07
1022France2024-05-31
1023France2024-06-04
1024Brazil2024-06-15
1025Russia2024-05-27
1026Russia2024-06-20
1027Russia2024-06-01
1028United Kingdom2024-06-17
1029Argentina2024-06-13
1030Australia2024-06-12
1031Germany2024-06-02
1032Australia2024-05-26
1033Australia2024-06-01
1034Italy2024-06-14
1035Russia2024-05-28
1036Canada2024-06-24
1037Germany2024-06-20
1038India2024-06-13
1039Australia2024-06-23
1040Germany2024-06-06
1041Canada2024-05-27
1042Canada2024-06-09
1043Russia2024-06-09
1044Spain2024-06-02
1045Spain2024-06-10
1046India2024-06-18
1047India2024-05-27
1048Italy2024-06-19
1049France2024-05-27

On-Demand Data

NameIdCountryDate
Arvin R Albares1000India2024-06-21
Izzy T Flosi1001Argentina2024-05-30
Cody S Glick1002Italy2024-06-15
Cody R Rulapaugh1003Russia2024-06-11
Morrow S Malet1004Italy2024-06-19
Chavez U Briddick1005Canada2024-06-04
Jennifer Q Darakjy1006Brazil2024-06-03
Nicolas M Amigon1007India2024-06-11
Ashley Q Briddick1008India2024-05-28
Isabel S Oldroyd1009Argentina2024-05-27
Nicolas U Doe1010Canada2024-05-26
James R Ferencz1011Spain2024-06-15
Greenwood C Marrier1012Italy2024-06-05
Aika O Oldroyd1013Germany2024-06-20
Cody X Whobrey1014United Kingdom2024-06-13
Nicolas K Caldarera1015Spain2024-06-07
Aika T Royster1016Italy2024-05-27
Johnson K Slusarski1017Argentina2024-05-29
Mayumi R Flosi1018Canada2024-06-18
Juan J Nicka1019Italy2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey N MacleadCanadaAnna Fali UNQUALIFIED
Johnson H FerenczBrazilAnna Fali RENEWAL
Clifford K GarufiRussiaXuxue Feng NEW
Claire D KolmetzJapanAmy Elsner NEGOTIATION
Francesco E TollnerJapanXuxue Feng NEGOTIATION
Ricardo E RoysterFranceXuxue Feng UNQUALIFIED
Alejandro N DarakjyArgentinaIoni Bowcher NEW
Deepesh V CaudyAustraliaIvan Magalhaes RENEWAL
Chavez D ChuiItalyIvan Magalhaes NEGOTIATION
Deepesh R VenereGermanyElwin Sharvill QUALIFIED
Johnson S TollnerItalyAmy Elsner NEW
Wickens V SergiIndiaAsiya Javayant RENEWAL
Darci O SaylorsAustraliaElwin Sharvill NEGOTIATION
Stacey D RutaRussiaIoni Bowcher UNQUALIFIED
Maisha M SaylorsArgentinaAnna Fali NEW
Faith A RimGermanyAmy Elsner PROPOSAL
Kaitlin W GlickItalyElwin Sharvill RENEWAL
Faith V GillianUnited KingdomXuxue Feng NEGOTIATION
Jefferson E ShinkoArgentinaBernardo Dominic NEW
Stacey G WhobreyFranceOnyama Limba PROPOSAL
Stacey G SaylorsArgentinaXuxue Feng PROPOSAL
Octavia T WieserRussiaStephen Shaw NEW
Costa R BowleyAustraliaAsiya Javayant QUALIFIED
Izzy O MarrierJapanIoni Bowcher QUALIFIED
Jones B CaldareraAustraliaIvan Magalhaes RENEWAL
Antonio C SchemmerRussiaIoni Bowcher NEGOTIATION
Ricardo K RimUnited KingdomIoni Bowcher QUALIFIED
David C RoysterUnited KingdomAsiya Javayant PROPOSAL
Emily R SlusarskiCanadaStephen Shaw RENEWAL
Octavia B VocelkaJapanXuxue Feng NEGOTIATION
Stacey J MarrierSpainAnna Fali NEW
Emily E RulapaughBrazilStephen Shaw NEGOTIATION
Ashley E KuskoIndiaOnyama Limba UNQUALIFIED
Chavez E NickaGermanyAnna Fali NEW
Emily S MacleadGermanyIoni Bowcher NEW
Deepesh O WieserCanadaStephen Shaw NEGOTIATION
Antonio S CampainGermanyAsiya Javayant PROPOSAL
Stacey Y GillianItalyAsiya Javayant UNQUALIFIED
Costa T VocelkaCanadaBernardo Dominic PROPOSAL
Stacey B DarakjyRussiaIvan Magalhaes QUALIFIED

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