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
Octavia B MacleadItalyOnyama Limba UNQUALIFIED
Salvatore Y FlosiCanadaIvan Magalhaes UNQUALIFIED
Kaitlin B MacleadIndiaAnna Fali PROPOSAL
Johnson H BowleyRussiaAmy Elsner QUALIFIED
Leon L SlusarskiArgentinaIoni Bowcher PROPOSAL
James U SaylorsBrazilAmy Elsner PROPOSAL
Jefferson Q SaylorsGermanyAnna Fali NEGOTIATION
Munro P RulapaughItalyAmy Elsner QUALIFIED
Leja R SaylorsRussiaIvan Magalhaes RENEWAL
Octavia I StockhamCanadaIoni Bowcher QUALIFIED
Chavez W DilliardIndiaIoni Bowcher QUALIFIED
Deepesh I PerinUnited KingdomAsiya Javayant PROPOSAL
Juan O NestleRussiaXuxue Feng RENEWAL
Darci H BologniaUnited KingdomXuxue Feng NEGOTIATION
Misaki V OstroskyUnited KingdomXuxue Feng NEGOTIATION
Jefferson L RutaIndiaIoni Bowcher NEW
Mujtaba B MarrierCanadaAmy Elsner UNQUALIFIED
Costa V SergiJapanStephen Shaw PROPOSAL
Adams O GlickUnited KingdomElwin Sharvill NEGOTIATION
Octavia B GauchoUnited KingdomIvan Magalhaes QUALIFIED
David E BowleyArgentinaIoni Bowcher RENEWAL
Ivar N ChuiIndiaIoni Bowcher PROPOSAL
Maisha C FigeroaRussiaXuxue Feng PROPOSAL
Jones L MaletSpainBernardo Dominic UNQUALIFIED
Aruna K WhobreyRussiaIvan Magalhaes NEGOTIATION
Nicolas O FigeroaItalyStephen Shaw UNQUALIFIED
Ivar R AmigonUnited KingdomAnna Fali RENEWAL
Jefferson W WaycottFranceBernardo Dominic NEW
Maisha S WhobreyRussiaIvan Magalhaes NEGOTIATION
Faith H SergiCanadaAsiya Javayant QUALIFIED
Octavia J TollnerJapanAmy Elsner PROPOSAL
Jefferson J MaletUnited KingdomXuxue Feng PROPOSAL
Leon T RutaJapanAnna Fali UNQUALIFIED
Mayumi P WhobreyAustraliaXuxue Feng QUALIFIED
Leon B FlosiCanadaAmy Elsner NEW
Adams U WaycottSpainXuxue Feng RENEWAL
Deepesh U StockhamItalyOnyama Limba PROPOSAL
Alejandro K FlosiBrazilAsiya Javayant RENEWAL
Antonio F InouyeItalyStephen Shaw NEGOTIATION
Claire V FerenczGermanyBernardo Dominic QUALIFIED
Smith A SaylorsFranceAsiya Javayant RENEWAL
Leja P SchemmerAustraliaIoni Bowcher RENEWAL
Julie O StensethJapanStephen Shaw PROPOSAL
Deepesh S SlusarskiItalyStephen Shaw PROPOSAL
Mayumi J GillianSpainBernardo Dominic UNQUALIFIED
Francesco M InouyeBrazilBernardo Dominic NEGOTIATION
Isabel Y InouyeAustraliaAmy Elsner QUALIFIED
Chavez W CampainUnited KingdomIoni Bowcher NEW
Salvatore M StensethFranceIoni Bowcher NEW
Deepesh M FlosiBrazilIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jefferson L GauchoCanadaIvan Magalhaes RENEWAL
Tony Z MorascaSpainAmy Elsner QUALIFIED
Francesco I WhobreyItalyStephen Shaw UNQUALIFIED
Clifford X InouyeSpainIoni Bowcher NEW
Octavia C BowleyCanadaStephen Shaw PROPOSAL
Kaitlin P OstroskyBrazilXuxue Feng PROPOSAL
Leon B BowleyUnited KingdomXuxue Feng NEGOTIATION
Aditya P NickaUnited KingdomStephen Shaw QUALIFIED
Smith I IturbideRussiaStephen Shaw NEW
Morrow O GlickJapanAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony W BriddickUnited Kingdom2024-06-11Dorl, James J Esq RENEWAL84Asiya Javayant
1001Clifford J NestleSpain2024-05-25Dorl, James J Esq RENEWAL59Ivan Magalhaes
1002Jeanfrancois P KuskoGermany2024-06-10Commercial Press NEGOTIATION80Bernardo Dominic
1003Alejandro A KolmetzCanada2024-05-27Benton, John B Jr NEW86Xuxue Feng
1004Adams A FerenczIndia2024-06-08Feltz Printing Service PROPOSAL22Onyama Limba
1005Salvatore E OstroskyBrazil2024-06-04Benton, John B Jr PROPOSAL7Onyama Limba
1006Greenwood F SaylorsCanada2024-06-14Chapman, Ross E Esq NEW54Bernardo Dominic
1007Ashley F RoysterIndia2024-06-09Printing Dimensions NEGOTIATION28Xuxue Feng
1008David K MaletJapan2024-06-07Chemel, James L Cpa UNQUALIFIED6Ioni Bowcher
1009David I KolmetzRussia2024-06-17Chapman, Ross E Esq UNQUALIFIED70Elwin Sharvill
1010Juan O SergiArgentina2024-05-19Rousseaux, Michael Esq NEW20Amy Elsner
1011Jennifer M VenereRussia2024-05-25Chanay, Jeffrey A Esq PROPOSAL28Ioni Bowcher
1012Adams A SaylorsSpain2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED71Stephen Shaw
1013Jefferson B KolmetzSpain2024-06-11Printing Dimensions NEGOTIATION16Xuxue Feng
1014David X SaylorsJapan2024-05-21Printing Dimensions RENEWAL64Elwin Sharvill
1015Francesco J IturbideFrance2024-06-03Buckley Miller Wright PROPOSAL91Elwin Sharvill
1016Kadeem O SaylorsGermany2024-05-20Commercial Press PROPOSAL78Anna Fali
1017Kadeem I WaycottCanada2024-05-28King, Christopher A Esq RENEWAL69Elwin Sharvill
1018Ashley G DarakjyBrazil2024-06-13Rousseaux, Michael Esq UNQUALIFIED78Stephen Shaw
1019Mayumi L BologniaBrazil2024-06-01Chapman, Ross E Esq NEW59Ioni Bowcher
1020Izzy N GillianGermany2024-06-13Morlong Associates PROPOSAL74Elwin Sharvill
1021Clifford D SaylorsArgentina2024-05-29Chemel, James L Cpa NEGOTIATION35Anna Fali
1022Misaki Q DilliardFrance2024-06-14Chanay, Jeffrey A Esq PROPOSAL73Anna Fali
1023Silvio V StockhamJapan2024-06-16Dorl, James J Esq QUALIFIED79Bernardo Dominic
1024Cody I IturbideItaly2024-05-22Dorl, James J Esq UNQUALIFIED89Ivan Magalhaes
1025Leja U OstroskyFrance2024-06-03Feltz Printing Service RENEWAL62Elwin Sharvill
1026Emily W GlickArgentina2024-05-25Commercial Press QUALIFIED62Xuxue Feng
1027Adams X SergiArgentina2024-06-04Feiner Bros UNQUALIFIED50Onyama Limba
1028Cody N WaycottGermany2024-05-21King, Christopher A Esq NEGOTIATION53Elwin Sharvill
1029Clifford D SchemmerBrazil2024-05-28Buckley Miller Wright UNQUALIFIED23Onyama Limba
1030Alejandro L AlbaresAustralia2024-05-24Dorl, James J Esq NEGOTIATION16Ioni Bowcher
1031Tony O PerinRussia2024-05-27Rousseaux, Michael Esq PROPOSAL30Onyama Limba
1032Ricardo W DarakjyArgentina2024-06-11Benton, John B Jr NEW11Bernardo Dominic
1033Emily N MarrierItaly2024-06-10Chemel, James L Cpa NEGOTIATION41Elwin Sharvill
1034Aruna P CaudyJapan2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED59Anna Fali
1035Ashley F BowleyBrazil2024-05-26Feltz Printing Service QUALIFIED41Ioni Bowcher
1036Rodrigues E FerenczJapan2024-06-12Truhlar And Truhlar Attys NEGOTIATION52Xuxue Feng
1037Morrow U MacleadJapan2024-06-03Chapman, Ross E Esq RENEWAL80Onyama Limba
1038Maisha S OldroydBrazil2024-05-27Truhlar And Truhlar Attys RENEWAL26Ioni Bowcher
1039Leon A PaprockiIndia2024-06-02Morlong Associates NEGOTIATION5Anna Fali
1040Leja Z DoeCanada2024-06-15Dorl, James J Esq NEGOTIATION57Asiya Javayant
1041Silvio O KolmetzItaly2024-05-30Rangoni Of Florence UNQUALIFIED18Ioni Bowcher
1042Smith L NestleIndia2024-05-21Rousseaux, Michael Esq PROPOSAL1Asiya Javayant
1043Izzy Y GlickItaly2024-05-30Chapman, Ross E Esq UNQUALIFIED18Bernardo Dominic
1044Tony N FerenczSpain2024-06-06Rousseaux, Michael Esq NEGOTIATION98Elwin Sharvill
1045Ashley P ChuiJapan2024-06-08Benton, John B Jr QUALIFIED96Bernardo Dominic
1046Julie G GlickFrance2024-06-17King, Christopher A Esq UNQUALIFIED34Stephen Shaw
1047Jeanfrancois X PaprockiSpain2024-05-25Morlong Associates PROPOSAL2Asiya Javayant
1048Juan I OldroydAustralia2024-06-01King, Christopher A Esq PROPOSAL75Stephen Shaw
1049Emily X GlickJapan2024-05-30Feltz Printing Service NEW78Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leon D VenereUnited KingdomOnyama Limba NEGOTIATION
Chavez N WaycottUnited KingdomIoni Bowcher RENEWAL
Alejandro X OldroydCanadaOnyama Limba NEGOTIATION
Emily C IturbideArgentinaXuxue Feng NEW
Leja V SchemmerRussiaAnna Fali NEGOTIATION
Jefferson V GarufiBrazilElwin Sharvill PROPOSAL
Stacey E AmigonItalyIoni Bowcher QUALIFIED
Mujtaba F VenereJapanOnyama Limba NEGOTIATION
Emily R SlusarskiCanadaAsiya Javayant UNQUALIFIED
Antonio M GlickJapanIvan Magalhaes QUALIFIED
Jones W BologniaFranceElwin Sharvill QUALIFIED
Adams M FigeroaBrazilAmy Elsner QUALIFIED
Nicolas V AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Jones E BowleyGermanyAnna Fali UNQUALIFIED
Faith Q CaudyUnited KingdomBernardo Dominic PROPOSAL
Octavia B PoquetteJapanAsiya Javayant NEW
Jennifer E RulapaughItalyOnyama Limba QUALIFIED
Leon T FerenczItalyAmy Elsner QUALIFIED
Maria P ButtAustraliaIoni Bowcher PROPOSAL
Darci Z NestleBrazilIoni Bowcher PROPOSAL
Darci R BologniaGermanyBernardo Dominic PROPOSAL
Jennifer M ChuiUnited KingdomAsiya Javayant RENEWAL
Aruna H VocelkaRussiaAnna Fali RENEWAL
Morrow A SchemmerGermanyAsiya Javayant NEW
Jeanfrancois S SlusarskiFranceIoni Bowcher UNQUALIFIED
Alejandro T NickaJapanAsiya Javayant QUALIFIED
Izzy S MaletUnited KingdomStephen Shaw QUALIFIED
David I BologniaFranceIoni Bowcher RENEWAL
Arvin I MarrierFranceAmy Elsner RENEWAL
Deepesh N CampainIndiaOnyama Limba NEGOTIATION
Silvio B RoysterItalyAmy Elsner QUALIFIED
Claire U ShinkoFranceIoni Bowcher RENEWAL
Francesco M StockhamGermanyAnna Fali RENEWAL
Ivar H TollnerRussiaAsiya Javayant NEW
Deepesh V SaylorsAustraliaIoni Bowcher RENEWAL
Antonio J FollerGermanyAmy Elsner QUALIFIED
Rodrigues S FigeroaUnited KingdomAsiya Javayant QUALIFIED
Munro W GauchoItalyAnna Fali NEGOTIATION
Octavia B GlickFranceAsiya Javayant QUALIFIED
Johnson K PerinIndiaBernardo Dominic UNQUALIFIED
Ricardo Y RutaGermanyBernardo Dominic PROPOSAL
Stacey W RutaUnited KingdomStephen Shaw QUALIFIED
Murillo D MacleadUnited KingdomXuxue Feng PROPOSAL
David W PaprockiUnited KingdomAnna Fali RENEWAL
Mayumi P TollnerCanadaAsiya Javayant NEW
Juan G TollnerAustraliaAnna Fali QUALIFIED
Maisha O WhobreyAustraliaIoni Bowcher NEW
Francesco Y SergiUnited KingdomIoni Bowcher NEGOTIATION
Adams Q WaycottGermanyStephen Shaw UNQUALIFIED
Ashley Y NickaRussiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Rodrigues C Chui
Claire J Schemmer
Aruna I Dilliard
Jones E Iturbide
Deepesh K Ruta
Antonio O Albares
Sinclair C Nestle
Francesco W Campain
Jones B Shinko
Alejandro T Paprocki
Arvin N Morasca
James Z Doe
Francesco A Saylors
James H Perin
Maisha B Kolmetz
Arvin Q Butt
Tony Z Morasca
Leon N Butt
Rodrigues H Glick
David X Briddick
Jefferson U Nestle
Izzy Y Albares
Misaki M Saylors
Emily E Caudy
Francesco T Rulapaugh
Ashley J Nestle
Leon S Gaucho
Jefferson Z Darakjy
Izzy B Ostrosky
Sinclair H Slusarski
Aruna L Campain
James E Oldroyd
Kaitlin U Caudy
David L Darakjy
Deepesh X Gaucho
Alejandro W Darakjy
Kaitlin I Darakjy
Aika Y Royster
Kaitlin Z Maclead
Aditya K Albares
Kadeem J Oldroyd
Clifford T Ostrosky
Alejandro L Gaucho
Antonio H Caudy
Johnson Z Kolmetz
Leon E Doe
Juan Q Darakjy
Kaitlin V Marrier
Murillo Y Schemmer
Jennifer N Nicka
IdCountryDate
1000United Kingdom2024-05-20
1001Germany2024-05-27
1002Russia2024-05-30
1003Russia2024-05-31
1004Japan2024-06-01
1005Brazil2024-06-14
1006Brazil2024-06-06
1007India2024-06-04
1008Russia2024-05-31
1009Argentina2024-05-27
1010India2024-06-11
1011Argentina2024-05-28
1012Germany2024-06-10
1013Japan2024-06-17
1014Spain2024-06-01
1015Italy2024-06-03
1016India2024-05-24
1017India2024-06-03
1018United Kingdom2024-06-09
1019Australia2024-06-16
1020Canada2024-05-29
1021Russia2024-05-24
1022France2024-05-27
1023Russia2024-05-20
1024United Kingdom2024-06-07
1025Spain2024-05-26
1026Germany2024-05-19
1027France2024-05-20
1028Russia2024-05-31
1029United Kingdom2024-06-17
1030Italy2024-06-11
1031Argentina2024-05-27
1032Japan2024-06-02
1033Canada2024-06-16
1034India2024-06-15
1035Russia2024-06-15
1036United Kingdom2024-05-28
1037France2024-06-09
1038Italy2024-06-03
1039Spain2024-06-15
1040Argentina2024-05-22
1041Canada2024-05-27
1042Spain2024-06-16
1043Italy2024-05-30
1044Russia2024-06-12
1045Canada2024-06-01
1046France2024-06-09
1047Australia2024-05-29
1048India2024-05-31
1049Canada2024-06-08

On-Demand Data

NameIdCountryDate
James M Dilliard1000Brazil2024-06-03
Chavez K Maclead1001India2024-06-07
Kaitlin E Bowley1002Canada2024-06-08
Johnson F Rulapaugh1003Brazil2024-05-31
Greenwood P Butt1004Argentina2024-06-08
Jennifer E Ostrosky1005Australia2024-06-04
Leon Y Doe1006Russia2024-06-01
Adams K Wieser1007Germany2024-06-04
Jeanfrancois U Caldarera1008Japan2024-05-28
Mujtaba T Stenseth1009Japan2024-06-09
Claire Y Waycott1010United Kingdom2024-06-16
Silvio X Rim1011France2024-06-16
Clifford U Tollner1012France2024-06-17
Adams I Chui1013Spain2024-06-16
Aditya S Caldarera1014Italy2024-06-11
Alejandro B Caudy1015Brazil2024-06-15
Leja H Ruta1016Canada2024-06-03
Jennifer V Flosi1017Spain2024-06-02
Jeanfrancois Y Rim1018Australia2024-05-30
Ivar V Nicka1019Australia2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha X MarrierIndiaAnna Fali QUALIFIED
Aditya Y OldroydRussiaStephen Shaw QUALIFIED
Adams P VenereAustraliaAnna Fali RENEWAL
Claire J MacleadBrazilIvan Magalhaes NEGOTIATION
Wickens L SchemmerIndiaAnna Fali UNQUALIFIED
Leon Y FlosiGermanyAmy Elsner PROPOSAL
Antonio M FollerBrazilElwin Sharvill PROPOSAL
Salvatore B KolmetzBrazilIvan Magalhaes NEGOTIATION
Leja A SaylorsSpainOnyama Limba NEGOTIATION
Sinclair E SchemmerJapanStephen Shaw NEW
Misaki I FerenczCanadaAnna Fali PROPOSAL
Octavia C MorascaSpainAnna Fali QUALIFIED
Maisha M MarrierArgentinaElwin Sharvill PROPOSAL
Antonio F FerenczBrazilElwin Sharvill QUALIFIED
Adams A BowleyGermanyIvan Magalhaes RENEWAL
Maisha N BowleyFranceBernardo Dominic UNQUALIFIED
Maria C AmigonCanadaBernardo Dominic UNQUALIFIED
Mayumi V InouyeRussiaXuxue Feng PROPOSAL
Greenwood K MorascaGermanyIoni Bowcher RENEWAL
Maria G RoysterCanadaElwin Sharvill UNQUALIFIED
Leja A ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Leja A AlbaresBrazilAmy Elsner UNQUALIFIED
Murillo J MarrierRussiaAsiya Javayant NEGOTIATION
Misaki G SaylorsCanadaOnyama Limba NEGOTIATION
Izzy Z GauchoBrazilAsiya Javayant PROPOSAL
Tony I TollnerAustraliaBernardo Dominic UNQUALIFIED
Alejandro C SlusarskiSpainAsiya Javayant RENEWAL
Morrow Q CampainCanadaOnyama Limba NEW
Arvin L ShinkoUnited KingdomStephen Shaw NEGOTIATION
Maisha U CampainGermanyBernardo Dominic RENEWAL
Sinclair F DarakjyFranceXuxue Feng UNQUALIFIED
Wickens A MacleadIndiaStephen Shaw RENEWAL
Isabel L SlusarskiCanadaElwin Sharvill QUALIFIED
Ivar D RulapaughItalyIvan Magalhaes QUALIFIED
Wickens S MaletFranceIoni Bowcher RENEWAL
Leon G CampainIndiaAsiya Javayant QUALIFIED
Wickens V BriddickBrazilAsiya Javayant QUALIFIED
Emily Q PaprockiUnited KingdomStephen Shaw QUALIFIED
Mayumi W PerinRussiaElwin Sharvill UNQUALIFIED
Aika J GarufiJapanAsiya Javayant 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>