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
Murillo N BriddickItalyAmy Elsner RENEWAL
Aruna I SlusarskiGermanyBernardo Dominic NEW
Izzy Y IturbideAustraliaIoni Bowcher QUALIFIED
Tony A KuskoJapanAmy Elsner NEGOTIATION
Smith K RoysterJapanXuxue Feng PROPOSAL
Nicolas F InouyeArgentinaAsiya Javayant RENEWAL
Tony I ShinkoIndiaElwin Sharvill NEW
Alejandro B PerinCanadaBernardo Dominic QUALIFIED
Misaki K SlusarskiSpainAmy Elsner NEGOTIATION
James X DoeGermanyAnna Fali UNQUALIFIED
Maria P CampainCanadaStephen Shaw QUALIFIED
Chavez E SaylorsItalyIvan Magalhaes NEGOTIATION
Silvio F GauchoGermanyBernardo Dominic QUALIFIED
Izzy S TollnerAustraliaXuxue Feng NEGOTIATION
David X ChuiGermanyIvan Magalhaes PROPOSAL
Aditya P VenereCanadaXuxue Feng RENEWAL
Claire W VocelkaBrazilAsiya Javayant UNQUALIFIED
Emily Q WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Claire M FigeroaCanadaAsiya Javayant UNQUALIFIED
Munro S KolmetzItalyXuxue Feng NEW
David I ChuiSpainXuxue Feng PROPOSAL
Costa L CaudyItalyElwin Sharvill UNQUALIFIED
Antonio K CampainUnited KingdomIvan Magalhaes QUALIFIED
Kaitlin W ChuiAustraliaStephen Shaw PROPOSAL
Julie W DilliardBrazilElwin Sharvill QUALIFIED
Munro B GarufiItalyBernardo Dominic RENEWAL
Munro Z RulapaughAustraliaIoni Bowcher RENEWAL
Darci Q RimSpainStephen Shaw QUALIFIED
Wickens M KolmetzItalyBernardo Dominic PROPOSAL
Costa Z VocelkaItalyAmy Elsner UNQUALIFIED
Salvatore U GarufiItalyAmy Elsner UNQUALIFIED
Smith A PerinRussiaAnna Fali QUALIFIED
Costa A SaylorsArgentinaBernardo Dominic RENEWAL
Antonio W BowleyAustraliaAmy Elsner PROPOSAL
Murillo V VenereBrazilOnyama Limba PROPOSAL
Juan E WhobreyFranceIoni Bowcher RENEWAL
Emily B NestleBrazilIvan Magalhaes NEGOTIATION
Jefferson M DoeRussiaAsiya Javayant QUALIFIED
Jones Y CampainSpainIoni Bowcher RENEWAL
Tony R ShinkoArgentinaAmy Elsner PROPOSAL
Tony U RulapaughItalyIoni Bowcher NEGOTIATION
Chavez B MorascaRussiaElwin Sharvill UNQUALIFIED
Silvio L PaprockiBrazilOnyama Limba NEW
Isabel V CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba V BowleyGermanyAsiya Javayant PROPOSAL
Faith T NickaBrazilAmy Elsner RENEWAL
Antonio H MaletJapanElwin Sharvill RENEWAL
Tony M WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Costa X MaletRussiaStephen Shaw QUALIFIED
Aruna C FerenczFranceXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens V CaldareraJapanIoni Bowcher RENEWAL
Aika X FigeroaUnited KingdomBernardo Dominic PROPOSAL
Nicolas B StockhamItalyXuxue Feng NEGOTIATION
Munro M SchemmerItalyIoni Bowcher UNQUALIFIED
Jones P KuskoCanadaAnna Fali RENEWAL
Munro J NickaBrazilElwin Sharvill PROPOSAL
Emily Z AmigonRussiaOnyama Limba NEW
Antonio B VenereRussiaIvan Magalhaes PROPOSAL
Maria W NestleUnited KingdomAsiya Javayant NEGOTIATION
Aditya P BriddickSpainElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James Z RoysterIndia2025-04-01Rangoni Of Florence UNQUALIFIED80Ioni Bowcher
1001Cody H WhobreyGermany2025-04-01Feiner Bros PROPOSAL54Ioni Bowcher
1002Maria J PaprockiGermany2025-04-21Rangoni Of Florence QUALIFIED94Xuxue Feng
1003Rodrigues Y FollerArgentina2025-04-22Printing Dimensions NEW56Bernardo Dominic
1004Izzy A ButtAustralia2025-04-24Chapman, Ross E Esq PROPOSAL84Elwin Sharvill
1005Sinclair H StockhamRussia2025-04-17Rangoni Of Florence NEW52Xuxue Feng
1006Rodrigues S AmigonFrance2025-04-26Rousseaux, Michael Esq PROPOSAL13Bernardo Dominic
1007Emily G CaudyIndia2025-04-13Rangoni Of Florence PROPOSAL82Anna Fali
1008Johnson W DoeCanada2025-04-26Dorl, James J Esq UNQUALIFIED54Anna Fali
1009Morrow R FlosiFrance2025-04-01Morlong Associates RENEWAL40Stephen Shaw
1010Maisha X GauchoGermany2025-04-06Truhlar And Truhlar Attys PROPOSAL87Asiya Javayant
1011Clifford M NestleArgentina2025-04-22Printing Dimensions NEGOTIATION98Ivan Magalhaes
1012Faith U TollnerRussia2025-04-20Printing Dimensions NEGOTIATION29Stephen Shaw
1013Octavia R RutaItaly2025-04-04King, Christopher A Esq NEW7Elwin Sharvill
1014Darci C RulapaughAustralia2025-04-02Buckley Miller Wright QUALIFIED74Bernardo Dominic
1015Rodrigues R PerinFrance2025-04-27Rousseaux, Michael Esq NEGOTIATION21Ivan Magalhaes
1016Sinclair B BologniaRussia2025-04-22Rangoni Of Florence QUALIFIED41Xuxue Feng
1017Maisha Y StockhamFrance2025-04-13Chemel, James L Cpa NEGOTIATION7Amy Elsner
1018Chavez U MaletBrazil2025-04-04Rangoni Of Florence PROPOSAL5Elwin Sharvill
1019Claire V DarakjyCanada2025-04-26Truhlar And Truhlar Attys NEGOTIATION90Onyama Limba
1020Morrow U StensethSpain2025-04-02Chanay, Jeffrey A Esq QUALIFIED11Elwin Sharvill
1021Ashley I RulapaughAustralia2025-04-13Rangoni Of Florence NEW83Anna Fali
1022Francesco Z AlbaresUnited Kingdom2025-03-31Feltz Printing Service NEW47Stephen Shaw
1023Munro U FigeroaIndia2025-04-22Rousseaux, Michael Esq UNQUALIFIED30Anna Fali
1024Arvin U PoquetteRussia2025-04-23Truhlar And Truhlar Attys NEGOTIATION63Bernardo Dominic
1025Nicolas F MarrierUnited Kingdom2025-04-22Buckley Miller Wright UNQUALIFIED91Amy Elsner
1026Antonio V NickaAustralia2025-04-24Rousseaux, Michael Esq PROPOSAL71Ioni Bowcher
1027Alejandro X KuskoRussia2025-04-27Chapman, Ross E Esq RENEWAL42Xuxue Feng
1028Clifford H ButtBrazil2025-04-18Dorl, James J Esq QUALIFIED49Bernardo Dominic
1029Mujtaba L SchemmerCanada2025-04-24Morlong Associates UNQUALIFIED31Ioni Bowcher
1030Ivar X StensethCanada2025-04-12Truhlar And Truhlar Attys RENEWAL31Amy Elsner
1031Smith G BologniaCanada2025-04-05King, Christopher A Esq UNQUALIFIED26Stephen Shaw
1032Julie A GarufiUnited Kingdom2025-04-24Commercial Press RENEWAL9Asiya Javayant
1033Isabel I AmigonRussia2025-04-05Morlong Associates PROPOSAL40Asiya Javayant
1034James V ChuiArgentina2025-04-05Feltz Printing Service NEW19Bernardo Dominic
1035Jones B WhobreyUnited Kingdom2025-04-01Commercial Press NEW81Anna Fali
1036Salvatore M StockhamJapan2025-04-07Morlong Associates UNQUALIFIED36Bernardo Dominic
1037Johnson G StensethFrance2025-04-17Rangoni Of Florence QUALIFIED20Ioni Bowcher
1038Aika W AmigonRussia2025-04-22Truhlar And Truhlar Attys RENEWAL87Ivan Magalhaes
1039Aditya A StockhamItaly2025-04-15Rangoni Of Florence RENEWAL21Ivan Magalhaes
1040Greenwood L AlbaresRussia2025-04-14Chapman, Ross E Esq RENEWAL68Anna Fali
1041Munro H WieserCanada2025-04-11Dorl, James J Esq UNQUALIFIED47Asiya Javayant
1042Arvin I RulapaughBrazil2025-04-02Feltz Printing Service NEW60Asiya Javayant
1043Jeanfrancois Z FigeroaSpain2025-03-31Feiner Bros RENEWAL96Amy Elsner
1044Wickens Y ChuiItaly2025-04-22Truhlar And Truhlar Attys NEGOTIATION45Ioni Bowcher
1045Smith R FerenczRussia2025-04-29Buckley Miller Wright RENEWAL4Anna Fali
1046Morrow P RoysterGermany2025-04-21Morlong Associates RENEWAL64Ivan Magalhaes
1047James I NestleGermany2025-04-11Benton, John B Jr QUALIFIED11Elwin Sharvill
1048Murillo T CaldareraIndia2025-04-18Feiner Bros NEGOTIATION9Bernardo Dominic
1049Maisha T DoeFrance2025-04-06Commercial Press PROPOSAL52Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro B ButtArgentinaIvan Magalhaes NEGOTIATION
Wickens H InouyeArgentinaAsiya Javayant UNQUALIFIED
Francesco H DilliardAustraliaIvan Magalhaes RENEWAL
Kadeem L SaylorsAustraliaBernardo Dominic NEGOTIATION
Salvatore Z DilliardRussiaAnna Fali RENEWAL
Kaitlin J PaprockiArgentinaAnna Fali NEW
Leja Q WaycottAustraliaElwin Sharvill UNQUALIFIED
James Q OldroydCanadaIoni Bowcher RENEWAL
Darci D DarakjyBrazilBernardo Dominic NEGOTIATION
Wickens Z CampainCanadaElwin Sharvill QUALIFIED
Munro M OstroskyIndiaIoni Bowcher UNQUALIFIED
Maisha R DilliardArgentinaBernardo Dominic UNQUALIFIED
Claire E RutaBrazilAnna Fali NEGOTIATION
Izzy H FollerUnited KingdomOnyama Limba RENEWAL
Mayumi J RutaItalyElwin Sharvill RENEWAL
Octavia A StockhamItalyOnyama Limba QUALIFIED
Johnson H CaudyJapanElwin Sharvill UNQUALIFIED
Francesco E SlusarskiJapanOnyama Limba NEGOTIATION
Julie E FigeroaSpainOnyama Limba UNQUALIFIED
Misaki S StensethCanadaIoni Bowcher RENEWAL
Costa J MaletFranceXuxue Feng NEW
Silvio W RimAustraliaAsiya Javayant QUALIFIED
James Y PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Deepesh A BowleyItalyElwin Sharvill UNQUALIFIED
Aika G SaylorsJapanAsiya Javayant PROPOSAL
Isabel D AmigonItalyAsiya Javayant UNQUALIFIED
Leja J MacleadAustraliaAmy Elsner RENEWAL
Misaki Y AmigonIndiaAmy Elsner QUALIFIED
Julie Q FollerBrazilIvan Magalhaes UNQUALIFIED
Greenwood W AmigonIndiaBernardo Dominic NEW
Misaki Q VocelkaAustraliaOnyama Limba NEGOTIATION
Leon N StockhamArgentinaBernardo Dominic NEW
James Q GauchoRussiaOnyama Limba QUALIFIED
Jennifer W PerinRussiaIvan Magalhaes NEW
Chavez B VocelkaArgentinaAsiya Javayant QUALIFIED
Silvio Z RoysterItalyIoni Bowcher RENEWAL
Mujtaba U PoquetteAustraliaElwin Sharvill PROPOSAL
Ricardo C VocelkaBrazilStephen Shaw NEGOTIATION
Juan H MacleadIndiaIvan Magalhaes PROPOSAL
Mujtaba X NestleGermanyIvan Magalhaes RENEWAL
Jeanfrancois C ButtItalyAsiya Javayant UNQUALIFIED
Morrow L SchemmerArgentinaBernardo Dominic PROPOSAL
Darci E RoysterFranceXuxue Feng QUALIFIED
Maisha R DilliardCanadaOnyama Limba UNQUALIFIED
Maria K BowleyGermanyIvan Magalhaes NEGOTIATION
Mayumi B WieserJapanBernardo Dominic NEGOTIATION
Misaki Y ShinkoSpainOnyama Limba QUALIFIED
Maria H MarrierFranceOnyama Limba PROPOSAL
Murillo A ChuiSpainOnyama Limba NEW
Munro R WaycottAustraliaElwin Sharvill PROPOSAL
Frozen Columns
Name
Deepesh E Butt
Maria F Doe
Maisha S Malet
Rodrigues N Foller
Costa F Tollner
Isabel C Glick
Jeanfrancois J Albares
Morrow S Darakjy
Kaitlin F Darakjy
Mujtaba Y Doe
Isabel Q Caudy
Salvatore A Inouye
Ivar W Stenseth
Ashley A Slusarski
Juan E Rulapaugh
Jefferson W Whobrey
Maria O Royster
Ricardo J Dilliard
Stacey S Oldroyd
Deepesh K Malet
Chavez O Caldarera
Chavez F Whobrey
Nicolas A Bolognia
Greenwood H Kolmetz
Jennifer W Gillian
Sinclair B Bolognia
Izzy D Ostrosky
Ivar M Schemmer
Leja Y Flosi
Isabel R Stenseth
Alejandro A Sergi
Claire P Chui
Claire E Perin
Misaki E Foller
Munro K Flosi
Jones L Malet
Alejandro I Glick
Kaitlin U Kolmetz
Jeanfrancois C Doe
Francesco S Marrier
Adams Y Stockham
Adams D Bowley
Misaki O Saylors
Rodrigues R Amigon
Greenwood N Royster
Jeanfrancois D Slusarski
Arvin I Glick
Jefferson U Amigon
Murillo I Figeroa
Chavez W Dilliard
IdCountryDate
1000Argentina2025-04-16
1001Germany2025-04-12
1002France2025-04-15
1003Germany2025-04-26
1004United Kingdom2025-04-22
1005Brazil2025-04-09
1006Argentina2025-04-18
1007Argentina2025-04-11
1008Canada2025-04-03
1009Russia2025-04-23
1010Italy2025-04-19
1011Germany2025-04-16
1012Brazil2025-04-14
1013France2025-04-20
1014Canada2025-04-16
1015Australia2025-04-17
1016Canada2025-04-09
1017Australia2025-04-09
1018India2025-04-01
1019India2025-04-01
1020Italy2025-04-07
1021United Kingdom2025-04-02
1022United Kingdom2025-04-22
1023Italy2025-04-02
1024Germany2025-04-29
1025Australia2025-04-26
1026Argentina2025-04-22
1027Canada2025-04-20
1028United Kingdom2025-04-16
1029United Kingdom2025-04-23
1030Argentina2025-04-23
1031Australia2025-04-03
1032Russia2025-04-14
1033Spain2025-04-02
1034Argentina2025-03-31
1035Italy2025-04-05
1036Russia2025-04-07
1037Canada2025-04-10
1038Brazil2025-04-28
1039Canada2025-04-13
1040United Kingdom2025-04-29
1041Japan2025-04-08
1042Spain2025-04-27
1043Germany2025-04-09
1044Argentina2025-04-10
1045Russia2025-04-18
1046Russia2025-04-23
1047Spain2025-04-05
1048United Kingdom2025-04-10
1049Japan2025-04-18

On-Demand Data

NameIdCountryDate
Clifford B Stockham1000Spain2025-04-15
Misaki W Perin1001Russia2025-04-19
David T Caldarera1002Italy2025-04-07
Costa C Malet1003Argentina2025-04-21
Leja L Stockham1004Russia2025-04-19
Maria E Darakjy1005Brazil2025-04-15
Rodrigues I Caudy1006France2025-04-24
Stacey N Rulapaugh1007Brazil2025-04-25
Munro B Slusarski1008Spain2025-04-21
Nicolas Y Vocelka1009Canada2025-04-10
Jones K Wieser1010Russia2025-04-24
Darci H Nestle1011India2025-04-01
Silvio C Rulapaugh1012Japan2025-04-21
Wickens O Chui1013India2025-04-21
Francesco T Kusko1014Canada2025-04-03
Alejandro V Bolognia1015Canada2025-04-14
Ricardo X Marrier1016Spain2025-04-22
Julie C Malet1017Japan2025-04-26
Ashley Z Garufi1018Brazil2025-04-02
Ashley J Rulapaugh1019United Kingdom2025-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair X RutaJapanXuxue Feng QUALIFIED
Leja E NestleCanadaBernardo Dominic RENEWAL
Aditya R SaylorsBrazilXuxue Feng RENEWAL
James E RoysterItalyStephen Shaw UNQUALIFIED
Isabel U MaletGermanyAsiya Javayant PROPOSAL
Juan E GillianBrazilAnna Fali PROPOSAL
Deepesh E WhobreyRussiaIvan Magalhaes QUALIFIED
Tony R FigeroaRussiaBernardo Dominic UNQUALIFIED
Leon S CaudyJapanAmy Elsner RENEWAL
Alejandro S BologniaCanadaBernardo Dominic UNQUALIFIED
Tony H RimCanadaBernardo Dominic NEW
Tony P FollerUnited KingdomOnyama Limba PROPOSAL
Sinclair U FigeroaGermanyAsiya Javayant PROPOSAL
Francesco V RutaCanadaBernardo Dominic NEW
Arvin T NickaAustraliaAnna Fali QUALIFIED
Jennifer S PerinItalyAmy Elsner PROPOSAL
Leja W CaldareraFranceXuxue Feng RENEWAL
Francesco A GauchoCanadaXuxue Feng QUALIFIED
Greenwood A IturbideRussiaElwin Sharvill QUALIFIED
Greenwood D OstroskyIndiaOnyama Limba QUALIFIED
Stacey X ShinkoFranceOnyama Limba QUALIFIED
Chavez J MaletAustraliaOnyama Limba UNQUALIFIED
Julie B RoysterArgentinaIvan Magalhaes NEGOTIATION
Tony H PerinGermanyIoni Bowcher PROPOSAL
Antonio Z CaudyCanadaElwin Sharvill QUALIFIED
Clifford Z MorascaCanadaIvan Magalhaes NEW
Jeanfrancois A BowleySpainXuxue Feng QUALIFIED
Claire O RutaBrazilStephen Shaw PROPOSAL
Mayumi P SaylorsGermanyAnna Fali QUALIFIED
Chavez O ShinkoFranceBernardo Dominic PROPOSAL
Nicolas O MorascaJapanStephen Shaw PROPOSAL
Stacey C DarakjyAustraliaBernardo Dominic NEGOTIATION
Cody Q GillianBrazilXuxue Feng RENEWAL
Costa X VocelkaSpainBernardo Dominic RENEWAL
Maria V AmigonRussiaStephen Shaw NEW
Aika O GlickGermanyIoni Bowcher NEW
Julie J SchemmerArgentinaBernardo Dominic UNQUALIFIED
Tony Z DilliardUnited KingdomXuxue Feng PROPOSAL
Murillo V DilliardAustraliaIoni Bowcher NEW
Leon W TollnerUnited KingdomElwin Sharvill 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>