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
Aika V RoysterCanadaOnyama Limba UNQUALIFIED
Smith L OldroydItalyAmy Elsner NEW
Faith L BriddickGermanyStephen Shaw NEW
Faith N SlusarskiBrazilBernardo Dominic RENEWAL
Antonio P MaletIndiaIvan Magalhaes UNQUALIFIED
Isabel S IturbideSpainAnna Fali QUALIFIED
Tony W ChuiAustraliaStephen Shaw UNQUALIFIED
Izzy K CaudyBrazilElwin Sharvill RENEWAL
Clifford T NestleBrazilElwin Sharvill PROPOSAL
Francesco U SchemmerBrazilAmy Elsner RENEWAL
Kaitlin C WaycottRussiaAnna Fali PROPOSAL
Leja L PoquetteBrazilAnna Fali QUALIFIED
Tony C RoysterJapanXuxue Feng PROPOSAL
Sinclair Z KuskoFranceAsiya Javayant PROPOSAL
Maria E BologniaJapanAsiya Javayant NEW
Jefferson M WaycottArgentinaIoni Bowcher UNQUALIFIED
Rodrigues J DarakjyGermanyAsiya Javayant PROPOSAL
Deepesh C GlickGermanyIvan Magalhaes UNQUALIFIED
Jennifer Z FigeroaArgentinaAmy Elsner NEW
Juan B PoquetteSpainAmy Elsner RENEWAL
Ashley I RoysterFranceOnyama Limba PROPOSAL
Costa U NestleGermanyOnyama Limba QUALIFIED
Jennifer O ButtJapanElwin Sharvill NEW
Antonio Y KolmetzRussiaStephen Shaw UNQUALIFIED
Jennifer H MarrierArgentinaBernardo Dominic UNQUALIFIED
Jones P OldroydJapanElwin Sharvill QUALIFIED
Aika I MacleadUnited KingdomOnyama Limba NEGOTIATION
Munro M ChuiArgentinaBernardo Dominic PROPOSAL
Antonio E InouyeJapanIoni Bowcher RENEWAL
Stacey O MaletCanadaIvan Magalhaes NEGOTIATION
Juan M PaprockiRussiaIoni Bowcher UNQUALIFIED
Johnson X DarakjyUnited KingdomBernardo Dominic PROPOSAL
Costa R ButtFranceStephen Shaw RENEWAL
Morrow U TollnerAustraliaStephen Shaw PROPOSAL
Wickens N NestleJapanOnyama Limba NEW
Kaitlin J MarrierJapanAmy Elsner NEGOTIATION
Jones U AlbaresRussiaOnyama Limba NEGOTIATION
Emily Q StensethCanadaAnna Fali UNQUALIFIED
Johnson A WaycottSpainBernardo Dominic PROPOSAL
Sinclair V InouyeCanadaAsiya Javayant NEW
Claire O TollnerAustraliaOnyama Limba PROPOSAL
Darci L OstroskyIndiaBernardo Dominic QUALIFIED
Izzy L StensethCanadaBernardo Dominic NEGOTIATION
Leja Q CaldareraGermanyStephen Shaw UNQUALIFIED
Aditya C RoysterJapanAnna Fali UNQUALIFIED
Ashley Q MaletIndiaElwin Sharvill NEGOTIATION
Mujtaba A VenereItalyIoni Bowcher NEW
Clifford H BowleySpainIoni Bowcher PROPOSAL
Morrow Z PaprockiCanadaOnyama Limba NEGOTIATION
Munro Z ShinkoBrazilElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair J DilliardUnited KingdomXuxue Feng NEGOTIATION
Maria U WhobreyFranceAnna Fali NEW
Maisha L RimItalyBernardo Dominic PROPOSAL
Jeanfrancois V OstroskyBrazilStephen Shaw UNQUALIFIED
Maisha H MarrierFranceBernardo Dominic NEW
Julie S WieserJapanElwin Sharvill PROPOSAL
Leja J FollerJapanAmy Elsner RENEWAL
Rodrigues K NickaBrazilOnyama Limba NEW
Mujtaba E SergiJapanIoni Bowcher NEW
Leon C SchemmerIndiaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci P WieserSpain2025-04-22Dorl, James J Esq PROPOSAL64Ioni Bowcher
1001Smith H PoquetteArgentina2025-04-23Buckley Miller Wright UNQUALIFIED6Ioni Bowcher
1002Johnson C FerenczSpain2025-04-22Benton, John B Jr PROPOSAL64Anna Fali
1003Julie O MaletGermany2025-04-24Printing Dimensions PROPOSAL16Bernardo Dominic
1004Jeanfrancois J GarufiJapan2025-04-26Feiner Bros PROPOSAL17Amy Elsner
1005Leon F VocelkaUnited Kingdom2025-04-12Chemel, James L Cpa QUALIFIED92Xuxue Feng
1006David G AlbaresGermany2025-04-14Chapman, Ross E Esq QUALIFIED3Bernardo Dominic
1007Aruna C InouyeGermany2025-04-04Morlong Associates PROPOSAL41Onyama Limba
1008Jones E ShinkoIndia2025-04-15Chemel, James L Cpa PROPOSAL25Onyama Limba
1009Izzy W PerinCanada2025-04-27Commercial Press NEGOTIATION0Anna Fali
1010Morrow F PaprockiCanada2025-04-06Chemel, James L Cpa NEW82Ivan Magalhaes
1011Nicolas H PerinAustralia2025-04-19Benton, John B Jr NEW75Onyama Limba
1012Jefferson H GlickFrance2025-04-02King, Christopher A Esq QUALIFIED45Onyama Limba
1013Mujtaba P DilliardFrance2025-04-22Chanay, Jeffrey A Esq UNQUALIFIED50Bernardo Dominic
1014Claire N DarakjyGermany2025-04-20Truhlar And Truhlar Attys NEGOTIATION20Stephen Shaw
1015Ricardo J NestleRussia2025-04-29Chemel, James L Cpa QUALIFIED83Onyama Limba
1016Costa R ButtFrance2025-04-21Rangoni Of Florence RENEWAL64Bernardo Dominic
1017Wickens R GlickGermany2025-04-09Rangoni Of Florence QUALIFIED13Asiya Javayant
1018Jeanfrancois H SaylorsArgentina2025-04-02Truhlar And Truhlar Attys QUALIFIED47Amy Elsner
1019Salvatore K StockhamSpain2025-04-22Dorl, James J Esq QUALIFIED47Ivan Magalhaes
1020Octavia O BologniaSpain2025-04-09Buckley Miller Wright NEGOTIATION34Asiya Javayant
1021Antonio P RulapaughCanada2025-04-01Buckley Miller Wright PROPOSAL84Anna Fali
1022Juan T OstroskyUnited Kingdom2025-04-22King, Christopher A Esq QUALIFIED39Amy Elsner
1023Julie R RoysterBrazil2025-04-04Benton, John B Jr QUALIFIED97Bernardo Dominic
1024Misaki B SchemmerUnited Kingdom2025-04-04Dorl, James J Esq RENEWAL89Asiya Javayant
1025Arvin M GillianSpain2025-04-05Feiner Bros PROPOSAL4Anna Fali
1026Claire Q PerinAustralia2025-04-12Morlong Associates PROPOSAL23Bernardo Dominic
1027Antonio P RulapaughCanada2025-04-03Morlong Associates QUALIFIED15Onyama Limba
1028Misaki Q RimJapan2025-04-27Printing Dimensions UNQUALIFIED33Stephen Shaw
1029Tony X GarufiAustralia2025-04-19Commercial Press UNQUALIFIED95Anna Fali
1030Murillo N SaylorsSpain2025-04-28Printing Dimensions RENEWAL15Amy Elsner
1031Octavia H NestleItaly2025-04-28Feiner Bros NEGOTIATION0Xuxue Feng
1032Mayumi X OldroydAustralia2025-04-28Buckley Miller Wright RENEWAL76Stephen Shaw
1033Mayumi O RimItaly2025-04-25Buckley Miller Wright RENEWAL61Ioni Bowcher
1034Ivar T RimBrazil2025-04-27Morlong Associates RENEWAL2Elwin Sharvill
1035Antonio X VocelkaJapan2025-04-03King, Christopher A Esq QUALIFIED15Asiya Javayant
1036Claire F CaudyFrance2025-04-05Commercial Press RENEWAL59Elwin Sharvill
1037Jones Z DoeJapan2025-04-18Rousseaux, Michael Esq RENEWAL83Bernardo Dominic
1038Jones B MaletAustralia2025-04-29Rousseaux, Michael Esq NEW94Xuxue Feng
1039Jefferson L SergiBrazil2025-04-05Chemel, James L Cpa QUALIFIED38Asiya Javayant
1040Francesco C DarakjyIndia2025-04-22Chemel, James L Cpa RENEWAL19Elwin Sharvill
1041Misaki N WaycottAustralia2025-04-16Feiner Bros PROPOSAL94Bernardo Dominic
1042Jones M RulapaughArgentina2025-04-09Dorl, James J Esq UNQUALIFIED30Bernardo Dominic
1043Aditya V NestleGermany2025-04-23Chanay, Jeffrey A Esq NEW6Amy Elsner
1044Ricardo N GarufiItaly2025-04-10Buckley Miller Wright NEGOTIATION51Bernardo Dominic
1045Stacey S NickaFrance2025-04-19Buckley Miller Wright NEGOTIATION46Stephen Shaw
1046Silvio A SchemmerFrance2025-04-28Feiner Bros NEW39Bernardo Dominic
1047Greenwood A RutaCanada2025-04-21Truhlar And Truhlar Attys QUALIFIED95Amy Elsner
1048Wickens U RutaIndia2025-04-03Dorl, James J Esq QUALIFIED95Elwin Sharvill
1049Darci N ShinkoBrazil2025-04-23Morlong Associates NEGOTIATION4Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Greenwood L PerinUnited KingdomAnna Fali NEGOTIATION
David L StensethBrazilIoni Bowcher PROPOSAL
David Q StensethArgentinaIvan Magalhaes RENEWAL
Claire L AmigonSpainStephen Shaw PROPOSAL
Francesco S SaylorsFranceOnyama Limba NEGOTIATION
Nicolas W WieserGermanyAsiya Javayant RENEWAL
Maisha H OstroskyCanadaAmy Elsner PROPOSAL
Leja L CaldareraJapanOnyama Limba PROPOSAL
Emily N MaletSpainOnyama Limba NEW
Jennifer F OstroskySpainStephen Shaw PROPOSAL
Costa G WaycottFranceStephen Shaw RENEWAL
Deepesh A RutaAustraliaStephen Shaw NEW
Claire D FollerUnited KingdomOnyama Limba UNQUALIFIED
James V WhobreySpainOnyama Limba NEW
Alejandro S DoeUnited KingdomAnna Fali UNQUALIFIED
Chavez Z ShinkoGermanyAsiya Javayant RENEWAL
Jefferson M CaudyRussiaAsiya Javayant NEW
James F FigeroaAustraliaIvan Magalhaes RENEWAL
Ricardo K VocelkaIndiaAmy Elsner PROPOSAL
Rodrigues V InouyeArgentinaXuxue Feng RENEWAL
Leja U ButtCanadaIoni Bowcher QUALIFIED
Julie K NestleUnited KingdomBernardo Dominic QUALIFIED
Costa C StensethUnited KingdomIoni Bowcher NEGOTIATION
Murillo P RimUnited KingdomOnyama Limba NEGOTIATION
Greenwood M SchemmerFranceAsiya Javayant UNQUALIFIED
Johnson U MarrierSpainIvan Magalhaes RENEWAL
Murillo Y ChuiIndiaXuxue Feng UNQUALIFIED
Greenwood I RoysterArgentinaBernardo Dominic NEW
Francesco E PerinAustraliaIvan Magalhaes RENEWAL
Mujtaba I GillianCanadaAsiya Javayant NEW
Adams P SergiAustraliaIvan Magalhaes RENEWAL
Jones A PaprockiAustraliaAnna Fali PROPOSAL
Ricardo Z CaudyItalyStephen Shaw UNQUALIFIED
Juan G RulapaughFranceIoni Bowcher UNQUALIFIED
Deepesh B WieserIndiaIoni Bowcher QUALIFIED
Aika X FlosiRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois V ButtRussiaIoni Bowcher RENEWAL
Mayumi U FollerJapanOnyama Limba QUALIFIED
Darci L TollnerArgentinaElwin Sharvill RENEWAL
Cody S RulapaughFranceXuxue Feng UNQUALIFIED
Aika P VenereArgentinaBernardo Dominic NEGOTIATION
Deepesh U CaudyRussiaIvan Magalhaes PROPOSAL
Wickens U WieserAustraliaElwin Sharvill NEGOTIATION
Aditya G VocelkaSpainIoni Bowcher NEGOTIATION
Kadeem Y WhobreyArgentinaElwin Sharvill RENEWAL
Wickens K ShinkoAustraliaOnyama Limba QUALIFIED
Mujtaba T AlbaresIndiaOnyama Limba QUALIFIED
Tony T ChuiAustraliaAnna Fali PROPOSAL
Cody Q InouyeFranceIoni Bowcher QUALIFIED
Nicolas H RoysterCanadaOnyama Limba PROPOSAL
Frozen Columns
Name
Munro V Gaucho
Jennifer R Shinko
Jones G Malet
Francesco K Vocelka
Arvin A Bolognia
Alejandro N Chui
Salvatore W Waycott
Darci R Butt
Ashley U Darakjy
Murillo N Kolmetz
Alejandro X Gaucho
Kadeem N Darakjy
Juan L Caudy
Ashley J Doe
Sinclair W Rulapaugh
Adams D Glick
Aika P Doe
Salvatore U Bowley
Jefferson S Gaucho
James B Morasca
Jefferson T Morasca
Munro D Shinko
Faith Q Royster
Leja L Gillian
Adams T Whobrey
Jennifer F Glick
Arvin R Saylors
Leja W Waycott
Stacey J Stenseth
Alejandro R Schemmer
Isabel Q Slusarski
David W Ostrosky
Maisha S Saylors
Clifford O Ostrosky
Ivar Q Shinko
Clifford Q Glick
Tony Z Schemmer
Johnson V Kolmetz
Jennifer P Butt
Jeanfrancois O Morasca
Tony X Inouye
David M Oldroyd
Munro X Paprocki
Jeanfrancois D Wieser
David I Amigon
Smith D Albares
Silvio O Waycott
Antonio L Gaucho
Darci D Tollner
Jeanfrancois E Dilliard
IdCountryDate
1000India2025-04-09
1001Japan2025-04-18
1002Italy2025-04-09
1003Brazil2025-04-26
1004Russia2025-04-11
1005Canada2025-04-02
1006Argentina2025-04-04
1007Russia2025-04-14
1008Russia2025-04-29
1009United Kingdom2025-04-02
1010France2025-04-24
1011Germany2025-04-25
1012Italy2025-04-19
1013Russia2025-04-24
1014Germany2025-04-17
1015United Kingdom2025-04-06
1016Australia2025-04-06
1017Germany2025-04-28
1018Argentina2025-04-07
1019Australia2025-04-24
1020Canada2025-04-10
1021Brazil2025-04-09
1022Germany2025-04-02
1023Spain2025-04-22
1024Russia2025-04-03
1025Argentina2025-04-28
1026Australia2025-03-31
1027Australia2025-04-05
1028Spain2025-04-18
1029India2025-04-19
1030Australia2025-04-15
1031Brazil2025-04-12
1032Australia2025-04-25
1033Argentina2025-04-15
1034India2025-04-28
1035France2025-04-08
1036Australia2025-04-27
1037India2025-04-29
1038Argentina2025-04-04
1039Russia2025-03-31
1040India2025-04-07
1041Brazil2025-04-02
1042Spain2025-04-20
1043Spain2025-04-06
1044Russia2025-04-29
1045France2025-04-23
1046Spain2025-04-19
1047Australia2025-04-03
1048France2025-04-28
1049Canada2025-04-28

On-Demand Data

NameIdCountryDate
Stacey T Glick1000Spain2025-04-09
Julie T Glick1001Germany2025-04-24
Antonio D Vocelka1002France2025-04-05
Aditya E Venere1003France2025-04-09
Aditya L Morasca1004Russia2025-04-01
Jennifer A Venere1005India2025-04-18
Faith A Maclead1006India2025-03-31
David Z Garufi1007Italy2025-04-26
Leon U Kolmetz1008United Kingdom2025-04-17
Morrow S Kusko1009Australia2025-04-13
Antonio I Waycott1010Canada2025-04-21
Costa M Rulapaugh1011Argentina2025-04-27
Claire D Chui1012Argentina2025-04-20
Faith Z Nicka1013Brazil2025-04-17
Adams L Iturbide1014Italy2025-04-04
Faith Z Tollner1015Australia2025-04-04
Izzy B Butt1016Spain2025-04-02
Leja L Figeroa1017Australia2025-04-18
Chavez J Waycott1018Russia2025-04-19
Ricardo W Glick1019Spain2025-04-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez O RoysterUnited KingdomStephen Shaw NEW
Aditya O WaycottItalyStephen Shaw NEGOTIATION
Morrow V NestleGermanyBernardo Dominic UNQUALIFIED
Kaitlin U ShinkoBrazilBernardo Dominic RENEWAL
Isabel F VenereAustraliaIvan Magalhaes QUALIFIED
Stacey Y MorascaArgentinaAmy Elsner NEGOTIATION
Octavia N DoeItalyIvan Magalhaes UNQUALIFIED
Munro C GlickItalyAmy Elsner QUALIFIED
Mujtaba H GillianIndiaXuxue Feng PROPOSAL
Jones Q BologniaUnited KingdomAmy Elsner PROPOSAL
Silvio F FollerGermanyIvan Magalhaes NEGOTIATION
Tony Y GlickArgentinaIoni Bowcher RENEWAL
Johnson C VenereSpainAsiya Javayant UNQUALIFIED
James H BowleyGermanyStephen Shaw NEGOTIATION
Deepesh K DoeItalyElwin Sharvill RENEWAL
Deepesh S OldroydJapanAmy Elsner NEW
Darci H BriddickJapanStephen Shaw NEW
Faith T RulapaughBrazilAmy Elsner UNQUALIFIED
Cody G StensethAustraliaXuxue Feng NEGOTIATION
Antonio F SaylorsItalyElwin Sharvill QUALIFIED
James H WhobreyGermanyAmy Elsner RENEWAL
Mayumi P WhobreyAustraliaStephen Shaw NEW
Wickens N GillianItalyAmy Elsner PROPOSAL
David W BriddickArgentinaIoni Bowcher NEGOTIATION
Smith Y NickaItalyOnyama Limba RENEWAL
Jefferson O GauchoAustraliaXuxue Feng PROPOSAL
Tony Z PaprockiItalyIvan Magalhaes NEW
Francesco H GauchoSpainIoni Bowcher NEGOTIATION
Cody N FollerFranceXuxue Feng UNQUALIFIED
James T ShinkoIndiaElwin Sharvill PROPOSAL
Clifford C GarufiFranceOnyama Limba NEW
Smith O SergiArgentinaOnyama Limba NEW
Johnson X SergiFranceAmy Elsner NEW
Clifford Q CaldareraArgentinaStephen Shaw NEW
Octavia C GlickUnited KingdomStephen Shaw QUALIFIED
Jefferson U CaldareraJapanXuxue Feng NEGOTIATION
Morrow F GarufiIndiaElwin Sharvill NEGOTIATION
Aditya B PerinBrazilBernardo Dominic RENEWAL
Aditya B GillianUnited KingdomStephen Shaw RENEWAL
Costa O NickaArgentinaBernardo Dominic 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>