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
Deepesh V DilliardBrazilAsiya Javayant NEGOTIATION
Jones X GauchoCanadaIvan Magalhaes QUALIFIED
Faith I MaletAustraliaIoni Bowcher PROPOSAL
Costa I GarufiRussiaBernardo Dominic UNQUALIFIED
Jennifer R FollerBrazilOnyama Limba QUALIFIED
Francesco H PoquetteArgentinaElwin Sharvill PROPOSAL
Greenwood N SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
Aruna W RoysterJapanStephen Shaw UNQUALIFIED
Nicolas M DarakjyGermanyAmy Elsner NEGOTIATION
Nicolas E InouyeArgentinaElwin Sharvill NEW
Julie U MorascaJapanStephen Shaw QUALIFIED
Faith K CampainArgentinaXuxue Feng UNQUALIFIED
Cody R KolmetzGermanyAsiya Javayant RENEWAL
James H DoeSpainAmy Elsner NEW
Maria C BriddickAustraliaStephen Shaw RENEWAL
Misaki E CaudyBrazilStephen Shaw NEW
Aditya E MorascaCanadaStephen Shaw QUALIFIED
Wickens U CaudyUnited KingdomAsiya Javayant QUALIFIED
Aditya F RoysterUnited KingdomIoni Bowcher NEW
James E MaletCanadaXuxue Feng QUALIFIED
Jefferson B BologniaBrazilIoni Bowcher RENEWAL
Nicolas S ShinkoRussiaElwin Sharvill NEW
Murillo E FerenczCanadaElwin Sharvill QUALIFIED
Deepesh O AmigonItalyXuxue Feng NEGOTIATION
Morrow N DarakjySpainIoni Bowcher RENEWAL
Sinclair Y GillianItalyStephen Shaw UNQUALIFIED
Wickens C WaycottAustraliaIvan Magalhaes PROPOSAL
Cody I KuskoItalyStephen Shaw UNQUALIFIED
Sinclair Y OldroydAustraliaElwin Sharvill UNQUALIFIED
Jefferson C NestleRussiaAsiya Javayant NEGOTIATION
Costa Z StockhamSpainIoni Bowcher PROPOSAL
Mujtaba J SlusarskiJapanAmy Elsner QUALIFIED
David R WaycottFranceElwin Sharvill UNQUALIFIED
Mujtaba P FlosiRussiaXuxue Feng RENEWAL
Mujtaba B BowleyRussiaOnyama Limba PROPOSAL
Murillo M DarakjyAustraliaIoni Bowcher PROPOSAL
Julie R SaylorsAustraliaXuxue Feng NEW
Nicolas Z RutaSpainIoni Bowcher RENEWAL
Maria J WieserGermanyElwin Sharvill NEW
Antonio R FigeroaGermanyAnna Fali UNQUALIFIED
Emily N GlickArgentinaStephen Shaw UNQUALIFIED
Ashley E IturbideIndiaIvan Magalhaes QUALIFIED
Alejandro Z ButtGermanyElwin Sharvill QUALIFIED
Silvio C RutaUnited KingdomAnna Fali UNQUALIFIED
Antonio Y StensethIndiaElwin Sharvill NEW
Mayumi Y TollnerBrazilElwin Sharvill PROPOSAL
Jennifer C DoeUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas B MarrierJapanAnna Fali RENEWAL
Mayumi T SchemmerGermanyAnna Fali UNQUALIFIED
Francesco D OstroskyIndiaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jones S CaldareraIndiaAnna Fali RENEWAL
Izzy E NickaUnited KingdomAsiya Javayant UNQUALIFIED
Maisha L AlbaresBrazilIvan Magalhaes NEW
Jennifer C MacleadItalyOnyama Limba NEW
Arvin K VenereUnited KingdomStephen Shaw RENEWAL
Juan I SaylorsJapanXuxue Feng QUALIFIED
Faith I NickaJapanOnyama Limba NEGOTIATION
Mujtaba N CampainArgentinaElwin Sharvill NEW
Stacey B DoeSpainAnna Fali RENEWAL
Morrow X PerinUnited KingdomElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair J MaletJapan2024-05-01Feiner Bros NEW49Asiya Javayant
1001Kaitlin U StockhamUnited Kingdom2024-05-18Rousseaux, Michael Esq QUALIFIED82Ivan Magalhaes
1002Leja L GlickRussia2024-05-27Rangoni Of Florence QUALIFIED86Ivan Magalhaes
1003Silvio U DilliardArgentina2024-05-11Benton, John B Jr QUALIFIED96Stephen Shaw
1004Murillo V VocelkaGermany2024-05-03Feiner Bros RENEWAL86Bernardo Dominic
1005Francesco K WaycottUnited Kingdom2024-05-16Feiner Bros PROPOSAL48Elwin Sharvill
1006Antonio Z MorascaIndia2024-05-15Benton, John B Jr UNQUALIFIED97Xuxue Feng
1007Alejandro L BologniaJapan2024-05-18Feltz Printing Service NEW48Amy Elsner
1008Kadeem L OldroydArgentina2024-05-12Benton, John B Jr NEW3Anna Fali
1009Sinclair I SchemmerBrazil2024-05-09Rousseaux, Michael Esq PROPOSAL22Amy Elsner
1010Smith U ShinkoUnited Kingdom2024-05-20Feiner Bros UNQUALIFIED26Elwin Sharvill
1011Aditya R FigeroaCanada2024-05-21Chemel, James L Cpa RENEWAL30Amy Elsner
1012Greenwood B OldroydCanada2024-05-18Feiner Bros PROPOSAL59Xuxue Feng
1013Darci L OstroskyAustralia2024-05-13Chanay, Jeffrey A Esq NEW41Asiya Javayant
1014Julie Z PaprockiIndia2024-05-15Chemel, James L Cpa NEGOTIATION2Ivan Magalhaes
1015Cody Q IturbideGermany2024-04-29Rangoni Of Florence NEW69Ioni Bowcher
1016Murillo X FollerJapan2024-05-26Truhlar And Truhlar Attys RENEWAL35Elwin Sharvill
1017Murillo X RimAustralia2024-05-27Benton, John B Jr NEGOTIATION14Bernardo Dominic
1018Francesco V RulapaughSpain2024-05-23Morlong Associates RENEWAL9Ivan Magalhaes
1019Wickens K RutaAustralia2024-05-10Chapman, Ross E Esq RENEWAL78Stephen Shaw
1020Greenwood K AlbaresCanada2024-05-25Commercial Press NEGOTIATION22Stephen Shaw
1021Johnson B RulapaughUnited Kingdom2024-05-18Buckley Miller Wright NEGOTIATION21Elwin Sharvill
1022Julie V DoeUnited Kingdom2024-04-28Benton, John B Jr RENEWAL29Asiya Javayant
1023Leja T GlickAustralia2024-05-03Dorl, James J Esq NEGOTIATION63Ivan Magalhaes
1024Murillo X WhobreySpain2024-05-08Dorl, James J Esq QUALIFIED27Ivan Magalhaes
1025Julie P OstroskyIndia2024-05-19Morlong Associates RENEWAL33Stephen Shaw
1026Jeanfrancois R IturbideJapan2024-05-27Chapman, Ross E Esq RENEWAL29Anna Fali
1027Deepesh Z FollerRussia2024-05-04Rousseaux, Michael Esq UNQUALIFIED16Ivan Magalhaes
1028Julie V GlickBrazil2024-05-19Printing Dimensions NEGOTIATION99Ioni Bowcher
1029Aditya E SlusarskiFrance2024-05-20Buckley Miller Wright NEGOTIATION31Bernardo Dominic
1030Misaki O RulapaughIndia2024-05-05Morlong Associates QUALIFIED38Onyama Limba
1031Jones A GarufiSpain2024-05-19Commercial Press PROPOSAL33Ioni Bowcher
1032Adams A StockhamBrazil2024-05-26Chemel, James L Cpa NEGOTIATION53Bernardo Dominic
1033Darci X CaldareraArgentina2024-05-21King, Christopher A Esq UNQUALIFIED50Anna Fali
1034Maisha W GillianArgentina2024-05-11Commercial Press RENEWAL76Asiya Javayant
1035Jennifer U BologniaUnited Kingdom2024-04-29Benton, John B Jr QUALIFIED8Amy Elsner
1036Murillo D AlbaresBrazil2024-05-07Chapman, Ross E Esq NEGOTIATION85Elwin Sharvill
1037Silvio T RimBrazil2024-05-17Buckley Miller Wright RENEWAL59Xuxue Feng
1038Ashley N MarrierSpain2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED39Ivan Magalhaes
1039Izzy D MarrierJapan2024-05-15Chemel, James L Cpa UNQUALIFIED23Bernardo Dominic
1040Costa B PerinCanada2024-05-06Chapman, Ross E Esq QUALIFIED75Bernardo Dominic
1041Cody J RulapaughRussia2024-05-12King, Christopher A Esq PROPOSAL39Onyama Limba
1042Greenwood U NestleAustralia2024-05-19Commercial Press UNQUALIFIED64Onyama Limba
1043Wickens V StensethCanada2024-04-30Buckley Miller Wright PROPOSAL78Anna Fali
1044Emily Q RutaRussia2024-05-24Dorl, James J Esq QUALIFIED65Asiya Javayant
1045Ashley V SlusarskiGermany2024-05-05Chanay, Jeffrey A Esq QUALIFIED43Bernardo Dominic
1046Sinclair A KuskoAustralia2024-04-30Buckley Miller Wright PROPOSAL16Onyama Limba
1047Silvio D DarakjyJapan2024-05-04Commercial Press QUALIFIED11Anna Fali
1048Jeanfrancois D CaudyRussia2024-05-18Dorl, James J Esq QUALIFIED93Asiya Javayant
1049Stacey A SchemmerRussia2024-05-14Buckley Miller Wright QUALIFIED81Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Sinclair E PoquetteAustraliaElwin Sharvill PROPOSAL
Francesco L ButtBrazilAnna Fali PROPOSAL
Maisha M GarufiUnited KingdomXuxue Feng NEGOTIATION
Arvin C StockhamAustraliaBernardo Dominic UNQUALIFIED
Ashley S PerinFranceOnyama Limba QUALIFIED
Faith I VocelkaAustraliaAmy Elsner NEGOTIATION
Leja Z SergiItalyStephen Shaw QUALIFIED
Ivar B MorascaGermanyIvan Magalhaes UNQUALIFIED
Aika D StensethJapanOnyama Limba NEGOTIATION
Jefferson L MorascaArgentinaXuxue Feng NEW
Julie Y StensethUnited KingdomStephen Shaw QUALIFIED
Adams O PerinIndiaIoni Bowcher QUALIFIED
Leon J TollnerFranceXuxue Feng UNQUALIFIED
Kadeem S DarakjyGermanyStephen Shaw RENEWAL
Aika T BowleyGermanyIoni Bowcher NEW
Julie F VocelkaGermanyStephen Shaw QUALIFIED
Stacey C RoysterCanadaBernardo Dominic NEW
Jennifer G ChuiSpainAsiya Javayant NEGOTIATION
Antonio S CaldareraUnited KingdomIoni Bowcher QUALIFIED
Maisha F PoquetteAustraliaAnna Fali PROPOSAL
Chavez W CaudyJapanOnyama Limba PROPOSAL
Stacey J GillianJapanAmy Elsner RENEWAL
Alejandro P MacleadSpainIvan Magalhaes RENEWAL
Jeanfrancois N RulapaughUnited KingdomElwin Sharvill RENEWAL
Stacey K NestleRussiaAsiya Javayant UNQUALIFIED
Aika U RimJapanAnna Fali NEW
Mayumi K TollnerArgentinaAsiya Javayant PROPOSAL
Aditya I AlbaresSpainAsiya Javayant NEW
Adams C KolmetzCanadaBernardo Dominic QUALIFIED
Silvio W SaylorsCanadaAsiya Javayant PROPOSAL
Juan E RutaUnited KingdomOnyama Limba QUALIFIED
Jennifer N OldroydUnited KingdomBernardo Dominic RENEWAL
Aika R VenereItalyElwin Sharvill PROPOSAL
Arvin A FigeroaSpainXuxue Feng NEW
Arvin V FollerRussiaStephen Shaw RENEWAL
Munro B MaletGermanyAsiya Javayant PROPOSAL
Sinclair F AmigonFranceIvan Magalhaes NEGOTIATION
Jeanfrancois W NestleGermanyIoni Bowcher NEW
Misaki H DarakjySpainOnyama Limba PROPOSAL
Murillo J FigeroaArgentinaElwin Sharvill UNQUALIFIED
Aruna Z DarakjyItalyAmy Elsner PROPOSAL
Maisha G CaudyGermanyIvan Magalhaes UNQUALIFIED
Maria N KuskoJapanIoni Bowcher NEW
Cody O RimSpainElwin Sharvill QUALIFIED
Chavez E MaletSpainAsiya Javayant RENEWAL
Mujtaba C DarakjyArgentinaIvan Magalhaes NEW
Leon W WaycottArgentinaBernardo Dominic NEGOTIATION
Arvin T VocelkaBrazilOnyama Limba QUALIFIED
Maria J SaylorsBrazilStephen Shaw NEGOTIATION
Rodrigues T FlosiItalyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Jefferson R Butt
Mujtaba L Kolmetz
Munro Q Malet
Octavia H Oldroyd
Kadeem W Chui
Rodrigues Q Ferencz
David Y Figeroa
Stacey V Gillian
Clifford J Figeroa
Kadeem O Schemmer
Rodrigues S Ruta
Munro Y Nestle
Sinclair O Flosi
Tony U Foller
Johnson T Nestle
Wickens D Shinko
Jefferson Y Nicka
Juan P Ruta
Kaitlin Z Sergi
Morrow L Doe
Misaki O Rulapaugh
Nicolas I Saylors
Leja T Chui
Juan L Whobrey
Murillo A Stenseth
Johnson U Royster
Morrow R Caudy
Kadeem M Caudy
Nicolas P Rulapaugh
Cody X Kolmetz
Murillo W Wieser
Juan X Doe
Cody O Darakjy
Adams J Schemmer
Nicolas G Saylors
Leja E Figeroa
Chavez G Whobrey
Misaki K Shinko
Salvatore H Caldarera
James F Tollner
Jones V Dilliard
Nicolas M Caudy
Greenwood Z Bolognia
Munro N Ruta
Arvin P Malet
Ashley Y Ruta
Jones M Campain
Mujtaba O Nicka
Julie P Malet
Izzy S Ruta
IdCountryDate
1000Italy2024-05-07
1001India2024-05-07
1002Argentina2024-05-04
1003United Kingdom2024-05-23
1004Japan2024-05-08
1005Brazil2024-05-15
1006Spain2024-05-25
1007Spain2024-05-20
1008France2024-05-27
1009Russia2024-05-25
1010Australia2024-05-22
1011France2024-05-27
1012Spain2024-05-24
1013France2024-05-02
1014Spain2024-05-23
1015United Kingdom2024-05-07
1016India2024-05-25
1017Canada2024-05-22
1018Italy2024-05-15
1019France2024-05-16
1020Australia2024-05-26
1021Italy2024-05-27
1022Italy2024-05-16
1023Canada2024-05-04
1024Australia2024-05-20
1025France2024-04-28
1026Spain2024-04-30
1027Italy2024-05-16
1028Spain2024-04-30
1029Brazil2024-05-11
1030United Kingdom2024-05-07
1031India2024-05-27
1032Canada2024-04-28
1033France2024-05-24
1034Argentina2024-05-20
1035Japan2024-05-26
1036Japan2024-04-30
1037Argentina2024-05-23
1038Australia2024-05-26
1039Spain2024-05-09
1040Spain2024-05-09
1041Germany2024-04-30
1042Canada2024-05-26
1043Canada2024-05-24
1044Australia2024-04-29
1045Russia2024-04-28
1046India2024-05-05
1047Italy2024-05-24
1048Argentina2024-05-08
1049Canada2024-05-25

On-Demand Data

NameIdCountryDate
Nicolas B Rim1000United Kingdom2024-05-18
Clifford E Kolmetz1001Argentina2024-05-21
Faith Q Morasca1002Japan2024-05-02
Antonio N Foller1003Argentina2024-05-13
Octavia O Stockham1004Canada2024-05-03
Jeanfrancois B Tollner1005Italy2024-04-29
Ashley Z Ostrosky1006France2024-05-19
Izzy O Paprocki1007Italy2024-04-29
Jefferson F Nicka1008Spain2024-05-12
Ivar F Malet1009Italy2024-05-01
Mayumi F Albares1010Germany2024-05-02
Ivar F Poquette1011Germany2024-04-30
Tony L Malet1012Germany2024-05-09
Jeanfrancois A Marrier1013Argentina2024-05-15
Costa L Bolognia1014Italy2024-05-26
Arvin R Darakjy1015Germany2024-05-27
Juan H Glick1016Germany2024-05-07
Arvin F Poquette1017Germany2024-05-03
Nicolas J Gillian1018Japan2024-05-09
Jefferson Y Royster1019India2024-05-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy P SaylorsIndiaIoni Bowcher QUALIFIED
Juan H AmigonJapanIoni Bowcher UNQUALIFIED
Mujtaba G CaudyCanadaAnna Fali NEGOTIATION
Maisha N ShinkoArgentinaXuxue Feng RENEWAL
Claire I OldroydIndiaStephen Shaw UNQUALIFIED
Ricardo N DarakjyFranceElwin Sharvill NEGOTIATION
Leon Y OstroskyFranceBernardo Dominic NEGOTIATION
Stacey O FollerAustraliaOnyama Limba NEW
Aika W WaycottArgentinaOnyama Limba NEGOTIATION
Octavia E GauchoCanadaIoni Bowcher RENEWAL
Morrow L PerinJapanOnyama Limba NEGOTIATION
Emily B FigeroaArgentinaIoni Bowcher NEW
Jones N GillianGermanyXuxue Feng NEW
Rodrigues X FlosiJapanAsiya Javayant PROPOSAL
Deepesh Z AmigonCanadaXuxue Feng NEW
Kadeem A VenereItalyIoni Bowcher NEW
Aruna E StensethGermanyElwin Sharvill UNQUALIFIED
Kaitlin H BowleyJapanIvan Magalhaes PROPOSAL
Claire J BowleyGermanyXuxue Feng NEGOTIATION
Silvio G MarrierRussiaOnyama Limba UNQUALIFIED
Jones F RulapaughUnited KingdomAsiya Javayant RENEWAL
Julie A FigeroaCanadaIvan Magalhaes NEGOTIATION
Maria P StensethGermanyIvan Magalhaes RENEWAL
Ashley G ButtAustraliaElwin Sharvill NEW
Jones M CaldareraAustraliaOnyama Limba NEW
Antonio E CaudyJapanBernardo Dominic RENEWAL
Smith L WhobreyCanadaAmy Elsner NEGOTIATION
Costa K MarrierArgentinaBernardo Dominic NEGOTIATION
Adams F VenereItalyIoni Bowcher QUALIFIED
Octavia E FollerGermanyAsiya Javayant QUALIFIED
Ricardo Z ButtUnited KingdomXuxue Feng UNQUALIFIED
Jennifer T ShinkoSpainBernardo Dominic NEGOTIATION
Cody F ChuiArgentinaStephen Shaw NEGOTIATION
Nicolas E DarakjyIndiaOnyama Limba RENEWAL
Emily B GillianJapanXuxue Feng NEGOTIATION
Nicolas P NestleAustraliaBernardo Dominic QUALIFIED
Wickens Z AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Julie W PoquetteSpainAnna Fali QUALIFIED
Johnson W MaletCanadaXuxue Feng QUALIFIED
Stacey S StockhamAustraliaAsiya 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>