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
Sinclair N NickaSpainXuxue Feng RENEWAL
Jeanfrancois L BriddickUnited KingdomAmy Elsner NEGOTIATION
Morrow G OstroskyItalyStephen Shaw PROPOSAL
Misaki C AmigonArgentinaStephen Shaw QUALIFIED
Morrow E InouyeJapanAnna Fali PROPOSAL
Alejandro K AlbaresGermanyXuxue Feng PROPOSAL
Costa W GauchoSpainOnyama Limba RENEWAL
Jones D WaycottArgentinaXuxue Feng RENEWAL
Silvio G RimAustraliaXuxue Feng NEGOTIATION
Wickens N GarufiSpainAmy Elsner UNQUALIFIED
Isabel B KolmetzFranceBernardo Dominic RENEWAL
Izzy Q MaletAustraliaIvan Magalhaes RENEWAL
Faith B RulapaughBrazilAmy Elsner NEW
Juan D BologniaAustraliaAmy Elsner NEW
Morrow V MaletGermanyStephen Shaw NEW
Aditya K RutaIndiaXuxue Feng PROPOSAL
Antonio O ShinkoFranceOnyama Limba NEGOTIATION
Leon Q OstroskyBrazilAmy Elsner QUALIFIED
Maisha X BowleyGermanyIvan Magalhaes QUALIFIED
Murillo K KolmetzRussiaBernardo Dominic NEW
Faith F FollerJapanOnyama Limba NEW
Smith C OldroydBrazilStephen Shaw NEW
Jones M GillianIndiaXuxue Feng QUALIFIED
Jones V ShinkoIndiaIvan Magalhaes UNQUALIFIED
Jennifer E MorascaFranceIvan Magalhaes QUALIFIED
Sinclair R BowleyJapanElwin Sharvill RENEWAL
Smith N RulapaughUnited KingdomOnyama Limba RENEWAL
James W RoysterJapanAmy Elsner UNQUALIFIED
Silvio T GillianSpainStephen Shaw NEW
Stacey B SlusarskiItalyXuxue Feng UNQUALIFIED
Maisha X SchemmerSpainXuxue Feng QUALIFIED
Deepesh Q GillianItalyOnyama Limba NEW
Misaki Z RulapaughItalyIvan Magalhaes PROPOSAL
Adams C WieserBrazilBernardo Dominic NEW
Jennifer Y WieserItalyOnyama Limba QUALIFIED
James U GauchoBrazilAmy Elsner QUALIFIED
Costa E OldroydAustraliaIoni Bowcher PROPOSAL
Cody V AlbaresFranceIoni Bowcher NEGOTIATION
Izzy W OldroydSpainAmy Elsner RENEWAL
Mayumi G NestleAustraliaStephen Shaw NEGOTIATION
Misaki I RoysterItalyOnyama Limba NEGOTIATION
Morrow R SergiGermanyElwin Sharvill RENEWAL
Munro Z CampainFranceElwin Sharvill UNQUALIFIED
Misaki O VocelkaFranceOnyama Limba RENEWAL
Morrow D PaprockiCanadaIoni Bowcher NEGOTIATION
Greenwood V RulapaughCanadaBernardo Dominic RENEWAL
Misaki L RulapaughCanadaBernardo Dominic PROPOSAL
Jones A PerinGermanyOnyama Limba UNQUALIFIED
Chavez Z StensethArgentinaBernardo Dominic NEW
Jennifer J IturbideItalyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Tony J MarrierAustraliaXuxue Feng RENEWAL
Kadeem X VenereRussiaStephen Shaw NEGOTIATION
Octavia P GillianRussiaAsiya Javayant PROPOSAL
Ivar Q DoeGermanyXuxue Feng PROPOSAL
Stacey J ShinkoAustraliaStephen Shaw RENEWAL
Johnson N FerenczSpainOnyama Limba QUALIFIED
Salvatore S ShinkoGermanyElwin Sharvill NEW
Faith H VenereIndiaAmy Elsner QUALIFIED
Smith E ButtBrazilIoni Bowcher UNQUALIFIED
Faith B AmigonCanadaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba D StockhamRussia2024-06-01Rousseaux, Michael Esq QUALIFIED77Asiya Javayant
1001Nicolas Y SergiAustralia2024-05-28Buckley Miller Wright NEW52Stephen Shaw
1002Arvin I FigeroaIndia2024-05-24Feltz Printing Service QUALIFIED50Bernardo Dominic
1003Greenwood J WhobreyUnited Kingdom2024-06-14Truhlar And Truhlar Attys NEW3Elwin Sharvill
1004Stacey N WieserGermany2024-05-24Printing Dimensions RENEWAL73Ioni Bowcher
1005Morrow N WhobreyCanada2024-06-16Chemel, James L Cpa NEW6Amy Elsner
1006Darci S SchemmerSpain2024-05-26King, Christopher A Esq NEGOTIATION56Bernardo Dominic
1007Alejandro M PaprockiRussia2024-06-09Commercial Press NEGOTIATION90Anna Fali
1008Greenwood C MaletRussia2024-05-22Rousseaux, Michael Esq PROPOSAL32Ivan Magalhaes
1009Chavez O WieserGermany2024-05-25Buckley Miller Wright QUALIFIED26Stephen Shaw
1010Aruna C NickaAustralia2024-05-22Morlong Associates NEW5Amy Elsner
1011Aruna D GlickArgentina2024-06-01Feiner Bros NEGOTIATION71Xuxue Feng
1012Isabel M BologniaArgentina2024-05-20King, Christopher A Esq NEGOTIATION9Onyama Limba
1013Smith T MarrierSpain2024-06-14Printing Dimensions NEGOTIATION39Amy Elsner
1014Francesco B MacleadIndia2024-06-14Benton, John B Jr UNQUALIFIED13Bernardo Dominic
1015Arvin O AmigonArgentina2024-06-12Rousseaux, Michael Esq RENEWAL94Anna Fali
1016Greenwood M GarufiIndia2024-06-08Chanay, Jeffrey A Esq NEW83Bernardo Dominic
1017Smith B DarakjySpain2024-06-08Feltz Printing Service NEW87Ivan Magalhaes
1018Arvin H MorascaItaly2024-06-16Dorl, James J Esq NEW81Ivan Magalhaes
1019Jennifer Z WieserFrance2024-05-23Truhlar And Truhlar Attys PROPOSAL1Amy Elsner
1020Ashley X CampainItaly2024-05-31Feiner Bros NEGOTIATION32Ioni Bowcher
1021Ivar C TollnerItaly2024-06-10Feiner Bros UNQUALIFIED0Elwin Sharvill
1022Silvio O AlbaresArgentina2024-06-02Rangoni Of Florence RENEWAL33Anna Fali
1023Salvatore V NestleFrance2024-05-22Truhlar And Truhlar Attys PROPOSAL63Anna Fali
1024Johnson K DilliardUnited Kingdom2024-06-01Chemel, James L Cpa NEW20Ivan Magalhaes
1025Maria U SlusarskiBrazil2024-06-12Rousseaux, Michael Esq QUALIFIED8Amy Elsner
1026Munro B GillianBrazil2024-06-08Printing Dimensions UNQUALIFIED16Elwin Sharvill
1027Morrow Y AlbaresSpain2024-06-10Chanay, Jeffrey A Esq PROPOSAL90Asiya Javayant
1028Claire S SergiUnited Kingdom2024-05-30Benton, John B Jr PROPOSAL9Ioni Bowcher
1029Ashley S MorascaIndia2024-06-07Feltz Printing Service UNQUALIFIED32Onyama Limba
1030David N FollerCanada2024-05-22Feltz Printing Service RENEWAL83Ivan Magalhaes
1031Jefferson G WieserFrance2024-05-25Feltz Printing Service PROPOSAL93Elwin Sharvill
1032Arvin E InouyeRussia2024-06-12Printing Dimensions NEGOTIATION36Xuxue Feng
1033Aruna Y CaudySpain2024-06-03Buckley Miller Wright RENEWAL56Amy Elsner
1034Ricardo U MorascaAustralia2024-05-30Commercial Press UNQUALIFIED93Elwin Sharvill
1035Leon T SlusarskiIndia2024-05-21Feiner Bros NEW81Ioni Bowcher
1036Kadeem C StensethCanada2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED61Ioni Bowcher
1037Clifford M NickaRussia2024-06-06Dorl, James J Esq QUALIFIED89Stephen Shaw
1038Mujtaba Y RimCanada2024-06-13Feiner Bros QUALIFIED86Elwin Sharvill
1039Morrow A GarufiJapan2024-06-06Chapman, Ross E Esq NEGOTIATION24Onyama Limba
1040Izzy M InouyeItaly2024-06-02Dorl, James J Esq RENEWAL5Ioni Bowcher
1041Ivar S CaldareraCanada2024-05-26Benton, John B Jr NEGOTIATION93Bernardo Dominic
1042Cody G ButtArgentina2024-06-01Rangoni Of Florence NEGOTIATION23Stephen Shaw
1043Claire R DoeBrazil2024-06-15King, Christopher A Esq NEW12Anna Fali
1044Ricardo L PerinGermany2024-06-02Morlong Associates RENEWAL96Ivan Magalhaes
1045Morrow J WieserGermany2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED45Ioni Bowcher
1046Izzy X SchemmerGermany2024-06-14Chapman, Ross E Esq NEW42Ioni Bowcher
1047Clifford K SlusarskiArgentina2024-05-29Benton, John B Jr RENEWAL5Ivan Magalhaes
1048Morrow C FerenczGermany2024-05-24Chanay, Jeffrey A Esq NEW30Amy Elsner
1049Kaitlin L WhobreyBrazil2024-06-13King, Christopher A Esq UNQUALIFIED50Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Faith J DoeArgentinaIvan Magalhaes PROPOSAL
Julie N RutaJapanElwin Sharvill RENEWAL
Morrow E MacleadArgentinaAnna Fali NEW
Rodrigues Z WhobreyItalyBernardo Dominic NEW
Antonio Z BriddickCanadaAsiya Javayant UNQUALIFIED
Cody Q PerinJapanStephen Shaw NEGOTIATION
Aika O WhobreyRussiaXuxue Feng NEGOTIATION
Salvatore R GarufiUnited KingdomBernardo Dominic QUALIFIED
Jennifer E ChuiItalyElwin Sharvill NEGOTIATION
Munro Z MaletFranceAmy Elsner PROPOSAL
Aruna D GlickUnited KingdomElwin Sharvill PROPOSAL
Misaki I GarufiRussiaXuxue Feng NEGOTIATION
Jeanfrancois A GillianAustraliaXuxue Feng PROPOSAL
Antonio O OstroskyJapanStephen Shaw NEGOTIATION
Mayumi Q InouyeJapanAsiya Javayant RENEWAL
Mujtaba H SchemmerItalyAnna Fali UNQUALIFIED
Antonio Z RutaItalyAnna Fali PROPOSAL
Jeanfrancois U PaprockiAustraliaOnyama Limba UNQUALIFIED
Francesco K SchemmerSpainOnyama Limba QUALIFIED
Jefferson H ChuiRussiaIvan Magalhaes NEW
Jefferson A GauchoAustraliaAmy Elsner NEW
David H MaletItalyBernardo Dominic NEW
James L PoquetteItalyElwin Sharvill NEGOTIATION
Salvatore T KolmetzGermanyIvan Magalhaes UNQUALIFIED
Ivar Y WaycottSpainOnyama Limba PROPOSAL
Mujtaba Q PaprockiSpainBernardo Dominic PROPOSAL
Silvio Z SaylorsRussiaElwin Sharvill NEW
Claire S OldroydRussiaXuxue Feng PROPOSAL
Octavia R MorascaAustraliaElwin Sharvill NEGOTIATION
Ashley B BriddickIndiaOnyama Limba UNQUALIFIED
David Z MarrierCanadaOnyama Limba QUALIFIED
Costa U VocelkaAustraliaOnyama Limba PROPOSAL
Francesco V VocelkaItalyElwin Sharvill NEW
Maria D SergiIndiaAmy Elsner RENEWAL
Nicolas Y CaldareraFranceAsiya Javayant QUALIFIED
Francesco Q VocelkaCanadaOnyama Limba QUALIFIED
Julie Y PoquetteBrazilAsiya Javayant UNQUALIFIED
Costa E RoysterFranceAsiya Javayant QUALIFIED
Clifford S SergiCanadaIoni Bowcher RENEWAL
Leja W ChuiUnited KingdomIoni Bowcher NEW
Misaki N BriddickSpainIoni Bowcher NEW
Ricardo G StockhamJapanXuxue Feng QUALIFIED
Leja L GillianRussiaElwin Sharvill QUALIFIED
Misaki R WhobreyItalyBernardo Dominic QUALIFIED
Aika W NestleAustraliaXuxue Feng NEW
Izzy A MarrierCanadaAmy Elsner RENEWAL
Kaitlin C PoquetteArgentinaIvan Magalhaes QUALIFIED
Jones X BriddickCanadaXuxue Feng UNQUALIFIED
Maisha S TollnerFranceAsiya Javayant NEGOTIATION
Stacey M FlosiIndiaBernardo Dominic NEW
Frozen Columns
Name
Silvio L Sergi
Ivar E Whobrey
Morrow L Royster
Maisha Z Inouye
Clifford U Iturbide
Antonio Q Saylors
Arvin V Campain
Rodrigues M Darakjy
Ricardo I Ruta
James B Rim
Emily K Malet
Antonio L Stockham
Sinclair J Darakjy
Izzy J Stockham
Rodrigues U Bowley
Ivar O Flosi
Juan R Slusarski
Salvatore H Waycott
Emily B Ostrosky
James R Flosi
Jennifer C Iturbide
Aika Y Amigon
Greenwood C Stenseth
Alejandro S Sergi
Alejandro V Stockham
Juan H Butt
Arvin G Sergi
Stacey K Wieser
Claire G Ruta
Izzy G Flosi
Faith H Sergi
Emily F Tollner
Antonio S Paprocki
Rodrigues O Albares
Aika Z Nestle
Ashley F Chui
Munro G Slusarski
Cody O Amigon
Ricardo D Flosi
Faith R Albares
Adams B Maclead
Jennifer J Vocelka
Antonio Q Tollner
Morrow W Nicka
Mayumi A Maclead
Costa Z Nestle
Maria I Doe
Mujtaba K Poquette
Leon I Dilliard
Wickens V Perin
IdCountryDate
1000Australia2024-05-30
1001United Kingdom2024-06-08
1002Brazil2024-06-14
1003Russia2024-05-30
1004Russia2024-06-12
1005United Kingdom2024-06-06
1006Canada2024-05-20
1007Italy2024-05-27
1008Australia2024-06-14
1009Japan2024-06-03
1010Australia2024-05-29
1011Italy2024-05-20
1012Russia2024-06-01
1013Japan2024-06-06
1014Canada2024-06-09
1015Russia2024-06-07
1016United Kingdom2024-06-15
1017United Kingdom2024-05-29
1018Germany2024-06-13
1019United Kingdom2024-06-01
1020Italy2024-06-06
1021Australia2024-06-11
1022Russia2024-06-14
1023Russia2024-06-01
1024Spain2024-05-31
1025Canada2024-06-04
1026Germany2024-06-12
1027Canada2024-05-26
1028United Kingdom2024-05-20
1029Italy2024-06-15
1030Italy2024-06-06
1031France2024-05-31
1032France2024-06-10
1033Australia2024-06-06
1034Canada2024-05-20
1035Brazil2024-06-01
1036Russia2024-06-08
1037United Kingdom2024-05-23
1038India2024-06-14
1039Germany2024-05-29
1040Argentina2024-06-16
1041Argentina2024-06-04
1042Japan2024-05-28
1043India2024-05-27
1044India2024-06-12
1045India2024-05-31
1046Spain2024-05-23
1047Spain2024-06-04
1048Japan2024-05-23
1049United Kingdom2024-06-02

On-Demand Data

NameIdCountryDate
Deepesh G Bolognia1000Japan2024-05-26
Alejandro S Inouye1001India2024-06-07
Salvatore H Marrier1002India2024-06-16
Darci G Poquette1003France2024-05-28
Misaki A Flosi1004Argentina2024-05-28
Emily J Vocelka1005Russia2024-06-10
Jefferson A Marrier1006Argentina2024-06-09
Johnson F Wieser1007Germany2024-05-21
Francesco G Kolmetz1008Australia2024-06-17
Munro J Perin1009Russia2024-06-09
Jennifer M Saylors1010United Kingdom2024-06-08
Kadeem T Royster1011Russia2024-06-06
Francesco U Iturbide1012Argentina2024-05-20
Alejandro M Ostrosky1013India2024-05-29
Nicolas I Poquette1014Russia2024-05-30
Claire S Venere1015Italy2024-06-16
Ivar J Royster1016Argentina2024-06-09
Antonio H Nestle1017Germany2024-06-15
Jennifer I Bolognia1018India2024-06-03
Tony C Amigon1019France2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika C RulapaughUnited KingdomOnyama Limba QUALIFIED
Cody R RulapaughArgentinaStephen Shaw RENEWAL
Sinclair R ChuiJapanOnyama Limba QUALIFIED
Nicolas W DoeRussiaAsiya Javayant NEW
Misaki G VocelkaUnited KingdomOnyama Limba NEGOTIATION
Leon A MaletJapanAsiya Javayant PROPOSAL
Aika K PoquetteFranceStephen Shaw RENEWAL
Sinclair Z FigeroaUnited KingdomAmy Elsner RENEWAL
Jefferson Z MacleadGermanyIoni Bowcher UNQUALIFIED
Arvin W RulapaughFranceIvan Magalhaes UNQUALIFIED
Clifford T OldroydRussiaOnyama Limba RENEWAL
Jones M RoysterCanadaIoni Bowcher NEGOTIATION
Sinclair V FlosiIndiaIvan Magalhaes NEW
Ricardo U DoeRussiaElwin Sharvill RENEWAL
Salvatore F VenereCanadaAmy Elsner UNQUALIFIED
Misaki H CampainSpainOnyama Limba UNQUALIFIED
Alejandro M SlusarskiCanadaXuxue Feng QUALIFIED
Izzy U GauchoGermanyAsiya Javayant PROPOSAL
Alejandro Z BologniaGermanyBernardo Dominic PROPOSAL
Aika J MarrierAustraliaIoni Bowcher RENEWAL
Jefferson S WhobreyFranceOnyama Limba UNQUALIFIED
Alejandro H BriddickAustraliaElwin Sharvill NEW
Leon O FigeroaFranceIoni Bowcher NEGOTIATION
Salvatore V ShinkoFranceAsiya Javayant PROPOSAL
Jones R SlusarskiIndiaAmy Elsner NEW
Deepesh B VenereRussiaIvan Magalhaes QUALIFIED
Faith A NickaCanadaAnna Fali NEW
Aruna S FlosiItalyAsiya Javayant QUALIFIED
Octavia U SaylorsIndiaIoni Bowcher NEGOTIATION
Mujtaba G PerinIndiaAnna Fali PROPOSAL
Mayumi R RulapaughRussiaOnyama Limba NEW
Smith D ButtAustraliaElwin Sharvill UNQUALIFIED
Ashley J ShinkoIndiaBernardo Dominic PROPOSAL
Darci B CaldareraGermanyBernardo Dominic NEGOTIATION
Faith T CaudyItalyAmy Elsner PROPOSAL
Jones I BowleyBrazilAmy Elsner QUALIFIED
Jefferson S SaylorsJapanIoni Bowcher NEGOTIATION
Stacey M PerinAustraliaAnna Fali UNQUALIFIED
Greenwood N GillianItalyAmy Elsner NEW
Salvatore Z WieserSpainAsiya Javayant 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>