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
Emily R RutaBrazilBernardo Dominic UNQUALIFIED
Clifford C DilliardArgentinaStephen Shaw NEGOTIATION
Emily R KuskoUnited KingdomAmy Elsner NEW
Jones O RulapaughIndiaIvan Magalhaes NEW
Mayumi L RimAustraliaStephen Shaw QUALIFIED
Leja G SaylorsGermanyBernardo Dominic PROPOSAL
Aditya C StockhamAustraliaIoni Bowcher RENEWAL
Aditya M ShinkoGermanyAmy Elsner QUALIFIED
Salvatore S GlickJapanOnyama Limba QUALIFIED
Munro L ButtUnited KingdomElwin Sharvill NEGOTIATION
Tony L RimUnited KingdomElwin Sharvill PROPOSAL
Isabel N AmigonFranceBernardo Dominic NEW
Ivar B NickaSpainXuxue Feng UNQUALIFIED
Greenwood X VocelkaRussiaElwin Sharvill RENEWAL
Wickens O PoquetteBrazilStephen Shaw PROPOSAL
Francesco E DilliardBrazilXuxue Feng PROPOSAL
Mayumi R InouyeJapanElwin Sharvill NEGOTIATION
Jeanfrancois D BriddickArgentinaOnyama Limba RENEWAL
Cody I RimJapanXuxue Feng NEW
Deepesh Z AlbaresSpainXuxue Feng RENEWAL
Clifford Z FlosiArgentinaOnyama Limba UNQUALIFIED
Stacey K NestleIndiaOnyama Limba PROPOSAL
Ashley I FollerGermanyStephen Shaw RENEWAL
Clifford T FigeroaRussiaIvan Magalhaes NEW
Kaitlin J TollnerFranceStephen Shaw PROPOSAL
Ivar I CaudyGermanyAnna Fali NEW
Nicolas B WaycottSpainBernardo Dominic NEGOTIATION
Francesco I FigeroaCanadaIvan Magalhaes PROPOSAL
Murillo J CampainGermanyIvan Magalhaes NEGOTIATION
Adams W WaycottBrazilOnyama Limba RENEWAL
Aditya G CaldareraCanadaOnyama Limba RENEWAL
Misaki P MaletArgentinaAnna Fali NEGOTIATION
Aruna G CaudyRussiaOnyama Limba NEGOTIATION
Emily C FerenczItalyOnyama Limba RENEWAL
James E MaletJapanIoni Bowcher QUALIFIED
Leja I RulapaughAustraliaIoni Bowcher UNQUALIFIED
Clifford X RimItalyXuxue Feng RENEWAL
Munro B KuskoIndiaStephen Shaw UNQUALIFIED
Deepesh O SaylorsJapanElwin Sharvill RENEWAL
Ricardo T AmigonArgentinaAnna Fali NEGOTIATION
Jefferson K WaycottRussiaXuxue Feng NEW
Misaki A MorascaIndiaXuxue Feng PROPOSAL
Leon P PerinBrazilStephen Shaw NEGOTIATION
Emily E VocelkaBrazilAnna Fali PROPOSAL
Cody Y VenereGermanyIoni Bowcher UNQUALIFIED
Mujtaba T MaletGermanyBernardo Dominic RENEWAL
Ashley Y OstroskyArgentinaIoni Bowcher PROPOSAL
Mujtaba T FigeroaCanadaAnna Fali PROPOSAL
Jefferson X RoysterRussiaElwin Sharvill NEW
Aika P GauchoGermanyStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Salvatore Q ShinkoJapanXuxue Feng NEGOTIATION
Salvatore X ShinkoItalyIoni Bowcher NEW
Misaki R AlbaresFranceBernardo Dominic PROPOSAL
Adams D ChuiBrazilBernardo Dominic RENEWAL
Johnson T CaldareraGermanyStephen Shaw PROPOSAL
Aruna C BriddickRussiaIvan Magalhaes NEW
Misaki K GlickSpainElwin Sharvill NEW
Clifford Q KuskoCanadaElwin Sharvill QUALIFIED
Darci P MaletItalyStephen Shaw PROPOSAL
Jennifer W RulapaughFranceAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha H FigeroaCanada2024-09-17Buckley Miller Wright RENEWAL1Ivan Magalhaes
1001Jones E WhobreyArgentina2024-08-26Truhlar And Truhlar Attys UNQUALIFIED54Ioni Bowcher
1002Antonio L WaycottRussia2024-09-12Benton, John B Jr PROPOSAL79Stephen Shaw
1003Kaitlin N StockhamAustralia2024-09-07Printing Dimensions NEGOTIATION5Amy Elsner
1004Stacey V RutaCanada2024-09-20Printing Dimensions QUALIFIED86Amy Elsner
1005Octavia T ShinkoBrazil2024-08-31Chanay, Jeffrey A Esq PROPOSAL56Xuxue Feng
1006Emily O RulapaughRussia2024-09-15Buckley Miller Wright NEGOTIATION54Asiya Javayant
1007Juan N SchemmerGermany2024-09-13Truhlar And Truhlar Attys PROPOSAL92Asiya Javayant
1008Emily V NestleArgentina2024-09-03Truhlar And Truhlar Attys QUALIFIED37Xuxue Feng
1009Aika Z DarakjyCanada2024-09-20Printing Dimensions RENEWAL6Amy Elsner
1010Silvio Q TollnerGermany2024-09-15King, Christopher A Esq NEW24Bernardo Dominic
1011Cody W CaudyUnited Kingdom2024-08-31Benton, John B Jr QUALIFIED23Amy Elsner
1012Greenwood A OldroydArgentina2024-09-05Chapman, Ross E Esq NEW3Onyama Limba
1013Greenwood L KuskoGermany2024-09-23Feltz Printing Service UNQUALIFIED59Onyama Limba
1014Wickens N CampainAustralia2024-09-10Rousseaux, Michael Esq PROPOSAL77Bernardo Dominic
1015Silvio T OstroskyRussia2024-09-13Morlong Associates NEGOTIATION99Ioni Bowcher
1016Morrow O PoquetteGermany2024-09-08Truhlar And Truhlar Attys NEW5Ivan Magalhaes
1017Aditya E DarakjyFrance2024-09-14Chapman, Ross E Esq QUALIFIED29Elwin Sharvill
1018Julie C SchemmerIndia2024-09-06Printing Dimensions UNQUALIFIED71Anna Fali
1019Johnson R DilliardBrazil2024-08-30Morlong Associates UNQUALIFIED86Xuxue Feng
1020Ricardo U RulapaughIndia2024-09-09Printing Dimensions PROPOSAL66Elwin Sharvill
1021Cody B NestleUnited Kingdom2024-09-12Dorl, James J Esq QUALIFIED27Onyama Limba
1022Silvio T OldroydBrazil2024-09-18Printing Dimensions NEGOTIATION94Amy Elsner
1023Clifford W PerinRussia2024-08-25Feiner Bros RENEWAL50Bernardo Dominic
1024Murillo K BowleyAustralia2024-09-15Commercial Press NEW97Onyama Limba
1025Jennifer G CaudyCanada2024-09-22Rangoni Of Florence QUALIFIED22Ioni Bowcher
1026Misaki O CampainGermany2024-08-28Benton, John B Jr PROPOSAL31Stephen Shaw
1027Emily P StensethArgentina2024-09-22Chemel, James L Cpa QUALIFIED58Ivan Magalhaes
1028Tony C KolmetzIndia2024-09-18King, Christopher A Esq RENEWAL66Stephen Shaw
1029Isabel E WaycottJapan2024-09-03Printing Dimensions QUALIFIED97Ioni Bowcher
1030Maisha F PaprockiIndia2024-08-29King, Christopher A Esq UNQUALIFIED89Ivan Magalhaes
1031Ricardo Y ButtIndia2024-09-16Chanay, Jeffrey A Esq NEW54Onyama Limba
1032Cody L BriddickJapan2024-09-18Chanay, Jeffrey A Esq RENEWAL29Stephen Shaw
1033Salvatore G SlusarskiBrazil2024-08-26Dorl, James J Esq NEGOTIATION35Elwin Sharvill
1034Jefferson N PaprockiFrance2024-09-21King, Christopher A Esq PROPOSAL80Stephen Shaw
1035Izzy A FlosiGermany2024-09-21Printing Dimensions RENEWAL74Asiya Javayant
1036Maisha W NickaRussia2024-09-23Chanay, Jeffrey A Esq UNQUALIFIED13Xuxue Feng
1037Tony D OstroskyArgentina2024-09-12Rousseaux, Michael Esq NEGOTIATION2Ivan Magalhaes
1038Faith S MaletBrazil2024-09-22Chapman, Ross E Esq QUALIFIED10Ivan Magalhaes
1039Octavia Y CampainJapan2024-09-03Chanay, Jeffrey A Esq PROPOSAL19Elwin Sharvill
1040Aruna X DoeUnited Kingdom2024-09-10Chemel, James L Cpa UNQUALIFIED72Ivan Magalhaes
1041Aika A KolmetzArgentina2024-09-11Feiner Bros NEW21Bernardo Dominic
1042Costa R PoquetteGermany2024-09-17Rousseaux, Michael Esq NEW78Ioni Bowcher
1043Isabel G BriddickBrazil2024-09-04Rangoni Of Florence RENEWAL47Elwin Sharvill
1044Johnson K ShinkoArgentina2024-09-06Dorl, James J Esq NEGOTIATION7Asiya Javayant
1045Alejandro Z FlosiItaly2024-09-04Chanay, Jeffrey A Esq UNQUALIFIED25Onyama Limba
1046Munro R StockhamCanada2024-08-26Benton, John B Jr UNQUALIFIED53Anna Fali
1047Kaitlin E TollnerItaly2024-08-26Rousseaux, Michael Esq QUALIFIED71Stephen Shaw
1048Leon R GillianBrazil2024-09-14Commercial Press UNQUALIFIED71Asiya Javayant
1049Kaitlin N TollnerRussia2024-09-05Rangoni Of Florence RENEWAL84Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Costa J MorascaUnited KingdomOnyama Limba NEW
Morrow E WieserCanadaStephen Shaw PROPOSAL
Nicolas Y GarufiCanadaOnyama Limba NEGOTIATION
Jones U PaprockiUnited KingdomAsiya Javayant NEGOTIATION
Julie O BologniaArgentinaIvan Magalhaes PROPOSAL
Alejandro F GarufiUnited KingdomStephen Shaw PROPOSAL
Jefferson H RulapaughBrazilAsiya Javayant QUALIFIED
Isabel G SlusarskiUnited KingdomElwin Sharvill PROPOSAL
Stacey Y ButtArgentinaBernardo Dominic NEGOTIATION
Rodrigues A MacleadSpainXuxue Feng RENEWAL
Aika W VocelkaSpainIoni Bowcher NEGOTIATION
Faith T RimIndiaIvan Magalhaes NEGOTIATION
Mayumi O FollerCanadaElwin Sharvill UNQUALIFIED
Rodrigues X ShinkoIndiaXuxue Feng NEGOTIATION
Ivar R InouyeJapanAmy Elsner UNQUALIFIED
Cody P RutaRussiaElwin Sharvill NEW
Tony Z PerinGermanyAmy Elsner UNQUALIFIED
Sinclair T OldroydJapanIvan Magalhaes QUALIFIED
Nicolas D BriddickItalyXuxue Feng RENEWAL
Emily D NickaSpainAnna Fali NEW
Greenwood V MaletCanadaOnyama Limba NEGOTIATION
Chavez Q RutaFranceAnna Fali NEGOTIATION
Tony J CaudyCanadaElwin Sharvill QUALIFIED
Ashley Q CaudyJapanElwin Sharvill RENEWAL
Aika U WieserArgentinaStephen Shaw NEW
Salvatore J PaprockiCanadaElwin Sharvill NEW
Stacey N ShinkoArgentinaBernardo Dominic UNQUALIFIED
Kaitlin X BriddickArgentinaBernardo Dominic UNQUALIFIED
Adams A OstroskyBrazilAsiya Javayant UNQUALIFIED
Maria A RulapaughIndiaAmy Elsner NEGOTIATION
Aditya V GauchoJapanStephen Shaw QUALIFIED
Darci Z WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Claire A AlbaresArgentinaAmy Elsner PROPOSAL
Aditya H BologniaSpainAnna Fali RENEWAL
Maisha D VenereGermanyAnna Fali PROPOSAL
Kaitlin Q RoysterSpainOnyama Limba PROPOSAL
James Z ChuiAustraliaBernardo Dominic NEGOTIATION
Jennifer I DilliardIndiaStephen Shaw NEGOTIATION
Rodrigues K MorascaAustraliaStephen Shaw NEW
Emily N FigeroaBrazilIvan Magalhaes NEGOTIATION
Greenwood I BologniaRussiaElwin Sharvill QUALIFIED
Aditya R SaylorsArgentinaXuxue Feng QUALIFIED
Ashley A CaldareraItalyStephen Shaw UNQUALIFIED
Mayumi T DarakjyRussiaIvan Magalhaes NEGOTIATION
Darci L DilliardUnited KingdomElwin Sharvill QUALIFIED
Silvio Y SergiGermanyOnyama Limba PROPOSAL
Jefferson X VocelkaSpainOnyama Limba UNQUALIFIED
Leja H WaycottArgentinaAsiya Javayant UNQUALIFIED
Aditya H ButtAustraliaIvan Magalhaes NEW
Mujtaba Q MaletItalyIoni Bowcher RENEWAL
Frozen Columns
Name
Costa D Bowley
Smith N Sergi
Misaki A Albares
David G Doe
Emily D Inouye
Mujtaba Z Royster
Darci Z Nicka
Ashley C Amigon
Deepesh V Sergi
Adams U Nestle
Alejandro M Gillian
Arvin O Flosi
Munro A Slusarski
Deepesh O Paprocki
Arvin E Bolognia
Maisha T Gillian
Julie O Figeroa
Sinclair Q Bowley
Kadeem X Poquette
Juan Y Morasca
Tony U Rim
Izzy B Amigon
Mayumi E Chui
Deepesh V Vocelka
Isabel T Sergi
Isabel E Flosi
Izzy Q Figeroa
Isabel K Bolognia
Jeanfrancois L Amigon
Antonio R Venere
Smith Q Ostrosky
Arvin H Wieser
Greenwood N Campain
Costa S Stenseth
Mayumi U Waycott
Ivar K Rim
Juan M Rulapaugh
Clifford Q Slusarski
Johnson V Nicka
Deepesh B Iturbide
Mayumi T Foller
Ashley A Vocelka
Mujtaba Q Kusko
Francesco Q Saylors
Murillo A Bolognia
Maria W Royster
Jones S Butt
Costa N Ostrosky
Jeanfrancois Q Saylors
Octavia W Malet
IdCountryDate
1000Italy2024-08-26
1001Japan2024-09-19
1002Russia2024-09-16
1003France2024-09-08
1004Brazil2024-09-08
1005Germany2024-08-29
1006Russia2024-08-31
1007Argentina2024-08-26
1008Spain2024-08-26
1009Russia2024-09-02
1010Australia2024-08-26
1011United Kingdom2024-09-22
1012Japan2024-08-26
1013Japan2024-09-22
1014Italy2024-09-22
1015United Kingdom2024-09-15
1016Canada2024-08-26
1017India2024-09-03
1018Japan2024-08-25
1019Germany2024-09-12
1020Germany2024-08-26
1021Germany2024-08-27
1022Canada2024-09-19
1023Canada2024-08-27
1024Argentina2024-08-30
1025Australia2024-09-13
1026United Kingdom2024-09-01
1027Australia2024-09-08
1028Italy2024-09-12
1029Canada2024-09-08
1030Spain2024-09-05
1031Germany2024-09-10
1032Japan2024-09-04
1033Argentina2024-09-07
1034Japan2024-08-26
1035Australia2024-08-31
1036Brazil2024-09-15
1037Italy2024-09-01
1038Brazil2024-09-23
1039United Kingdom2024-08-29
1040Russia2024-08-30
1041Spain2024-09-04
1042Canada2024-09-16
1043Brazil2024-09-02
1044Spain2024-08-27
1045Italy2024-08-31
1046Italy2024-09-03
1047Argentina2024-09-02
1048Argentina2024-09-01
1049Argentina2024-08-28

On-Demand Data

NameIdCountryDate
Morrow N Flosi1000Argentina2024-09-08
Ivar I Ostrosky1001France2024-09-05
Isabel D Gaucho1002Australia2024-09-22
David L Slusarski1003Italy2024-09-20
Munro C Butt1004Australia2024-08-27
Clifford B Kusko1005Canada2024-09-10
Octavia K Ferencz1006Japan2024-09-10
Aditya P Perin1007Russia2024-09-05
Antonio C Malet1008Argentina2024-09-21
Maria Z Gillian1009Canada2024-09-18
Deepesh Z Paprocki1010Argentina2024-09-09
Sinclair R Stockham1011Italy2024-09-03
Emily J Vocelka1012France2024-09-09
Nicolas C Ruta1013Italy2024-09-03
Claire U Oldroyd1014Russia2024-08-25
Emily V Kusko1015Japan2024-09-19
Darci N Butt1016Germany2024-09-12
Faith A Kusko1017Brazil2024-09-03
Isabel I Wieser1018Argentina2024-09-17
Faith N Maclead1019Italy2024-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair H StockhamArgentinaOnyama Limba UNQUALIFIED
Jefferson F KuskoArgentinaElwin Sharvill NEGOTIATION
Johnson Q WhobreyJapanBernardo Dominic UNQUALIFIED
Faith J ShinkoItalyIoni Bowcher QUALIFIED
Clifford X PerinAustraliaXuxue Feng QUALIFIED
Wickens I FlosiIndiaOnyama Limba UNQUALIFIED
Chavez Z FlosiSpainElwin Sharvill PROPOSAL
Maria D WaycottItalyStephen Shaw QUALIFIED
Antonio G SergiAustraliaBernardo Dominic UNQUALIFIED
Izzy F GarufiItalyAmy Elsner PROPOSAL
Smith P KolmetzAustraliaXuxue Feng NEW
Mujtaba L GlickGermanyAsiya Javayant QUALIFIED
Misaki V SchemmerBrazilXuxue Feng QUALIFIED
Ashley H MaletIndiaXuxue Feng NEW
Nicolas A VocelkaSpainXuxue Feng QUALIFIED
Darci H NickaJapanAnna Fali RENEWAL
Maria R DoeBrazilBernardo Dominic UNQUALIFIED
Jones E NickaCanadaStephen Shaw NEW
Ivar V MorascaJapanOnyama Limba NEW
Claire Q BowleyJapanStephen Shaw PROPOSAL
Murillo P ChuiIndiaStephen Shaw PROPOSAL
Ashley D StockhamRussiaStephen Shaw UNQUALIFIED
Ricardo E FigeroaBrazilXuxue Feng NEGOTIATION
Greenwood O BologniaIndiaIoni Bowcher QUALIFIED
Stacey R MaletSpainOnyama Limba RENEWAL
Alejandro U MacleadIndiaElwin Sharvill NEW
Jennifer C BologniaItalyBernardo Dominic NEW
Aika N ShinkoFranceAnna Fali UNQUALIFIED
Julie Y OldroydItalyAnna Fali UNQUALIFIED
Faith C BologniaArgentinaAsiya Javayant QUALIFIED
Jones N CampainUnited KingdomIvan Magalhaes PROPOSAL
Antonio C PoquetteFranceBernardo Dominic RENEWAL
Ricardo M FlosiCanadaOnyama Limba QUALIFIED
Aika D ShinkoArgentinaStephen Shaw QUALIFIED
Wickens H InouyeSpainAmy Elsner UNQUALIFIED
Jefferson A NickaFranceAmy Elsner QUALIFIED
Jennifer X InouyeBrazilXuxue Feng RENEWAL
Jefferson C TollnerItalyAmy Elsner QUALIFIED
Juan N GarufiIndiaOnyama Limba UNQUALIFIED
Aditya W SchemmerRussiaStephen Shaw 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>