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
Costa J CaldareraBrazilAsiya Javayant QUALIFIED
Alejandro M BologniaRussiaStephen Shaw QUALIFIED
Leon P WhobreyJapanElwin Sharvill QUALIFIED
Darci X RimSpainBernardo Dominic NEW
Tony L BriddickArgentinaIvan Magalhaes NEGOTIATION
Aditya H MarrierArgentinaAnna Fali PROPOSAL
Aika Y VenereGermanyOnyama Limba QUALIFIED
Clifford I GauchoAustraliaAnna Fali PROPOSAL
Leon I WhobreyBrazilElwin Sharvill PROPOSAL
Juan G VocelkaFranceIoni Bowcher RENEWAL
Jones U ShinkoCanadaAsiya Javayant PROPOSAL
Ricardo V NickaAustraliaXuxue Feng PROPOSAL
Octavia G RoysterRussiaIvan Magalhaes NEW
Sinclair L PaprockiAustraliaOnyama Limba NEW
Maria R DarakjyAustraliaXuxue Feng RENEWAL
Adams L SchemmerJapanAsiya Javayant PROPOSAL
Leon P CaldareraBrazilXuxue Feng NEGOTIATION
Johnson Y FollerJapanIoni Bowcher NEW
Smith Z RimIndiaAsiya Javayant UNQUALIFIED
Ricardo Y RutaAustraliaAmy Elsner UNQUALIFIED
Clifford S ButtArgentinaAsiya Javayant RENEWAL
Smith Y FlosiCanadaIoni Bowcher NEGOTIATION
Antonio K VenereAustraliaXuxue Feng RENEWAL
Silvio Z KolmetzItalyAnna Fali QUALIFIED
David S StensethRussiaStephen Shaw NEW
Costa U OldroydCanadaIoni Bowcher NEW
Morrow I KolmetzGermanyAsiya Javayant RENEWAL
Ashley P CampainJapanAsiya Javayant UNQUALIFIED
Deepesh P CaudySpainBernardo Dominic NEW
Maisha B SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh I OstroskyGermanyIvan Magalhaes PROPOSAL
Antonio S MarrierArgentinaIvan Magalhaes QUALIFIED
Murillo T StensethGermanyStephen Shaw PROPOSAL
Silvio B RulapaughSpainOnyama Limba PROPOSAL
Faith E BowleyRussiaIoni Bowcher NEW
Maria Y NestleAustraliaOnyama Limba NEGOTIATION
Aika A StensethFranceStephen Shaw NEW
Juan U MarrierCanadaBernardo Dominic NEGOTIATION
Mayumi R PerinUnited KingdomAsiya Javayant NEW
Aditya V TollnerUnited KingdomStephen Shaw UNQUALIFIED
Maisha I SaylorsSpainBernardo Dominic QUALIFIED
Chavez E KolmetzBrazilElwin Sharvill PROPOSAL
Maisha F IturbideItalyAsiya Javayant UNQUALIFIED
Jefferson U InouyeFranceIoni Bowcher NEW
Ashley J InouyeIndiaXuxue Feng NEW
Murillo Z GarufiRussiaStephen Shaw QUALIFIED
Ashley Y BriddickArgentinaXuxue Feng NEGOTIATION
Alejandro T SchemmerSpainOnyama Limba NEW
Jennifer W WhobreyUnited KingdomElwin Sharvill QUALIFIED
Octavia M OstroskyItalyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha R MorascaIndiaXuxue Feng NEGOTIATION
Wickens Y GlickRussiaAsiya Javayant NEW
Claire I SchemmerIndiaAsiya Javayant PROPOSAL
Alejandro R WaycottArgentinaBernardo Dominic NEW
Alejandro P OstroskyIndiaBernardo Dominic NEW
Wickens H NickaUnited KingdomOnyama Limba UNQUALIFIED
Aruna T DarakjyArgentinaAmy Elsner RENEWAL
Misaki P SlusarskiGermanyIvan Magalhaes UNQUALIFIED
David N FlosiArgentinaElwin Sharvill RENEWAL
Ashley V OldroydFranceAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh L IturbideAustralia2025-04-26Chemel, James L Cpa UNQUALIFIED39Ioni Bowcher
1001Maria S GlickFrance2025-04-17Chanay, Jeffrey A Esq NEW56Stephen Shaw
1002Jennifer X IturbideUnited Kingdom2025-04-26Rousseaux, Michael Esq RENEWAL23Onyama Limba
1003Ricardo Y CampainUnited Kingdom2025-04-18Chapman, Ross E Esq UNQUALIFIED71Bernardo Dominic
1004Rodrigues H StockhamItaly2025-03-31Benton, John B Jr RENEWAL38Ioni Bowcher
1005Rodrigues A PoquetteJapan2025-04-20Chapman, Ross E Esq NEW24Asiya Javayant
1006Nicolas F RimIndia2025-04-26Rousseaux, Michael Esq UNQUALIFIED69Xuxue Feng
1007Faith S ButtSpain2025-04-12Chapman, Ross E Esq UNQUALIFIED59Ivan Magalhaes
1008David N BriddickArgentina2025-04-10Dorl, James J Esq NEW20Xuxue Feng
1009Julie Q GillianFrance2025-04-05Rousseaux, Michael Esq PROPOSAL63Xuxue Feng
1010Maria D MarrierUnited Kingdom2025-04-23Dorl, James J Esq PROPOSAL94Asiya Javayant
1011Darci O RutaAustralia2025-04-15Printing Dimensions RENEWAL93Ivan Magalhaes
1012Leja H VenereItaly2025-04-27Feiner Bros UNQUALIFIED94Anna Fali
1013Aditya F MarrierGermany2025-04-04Morlong Associates UNQUALIFIED97Elwin Sharvill
1014Johnson Z MaletFrance2025-04-18Rousseaux, Michael Esq NEGOTIATION81Xuxue Feng
1015Smith D ButtFrance2025-04-28Printing Dimensions RENEWAL21Stephen Shaw
1016Costa L DarakjyRussia2025-04-05Rangoni Of Florence PROPOSAL3Ioni Bowcher
1017Ricardo D RoysterItaly2025-04-13Printing Dimensions UNQUALIFIED36Xuxue Feng
1018Mujtaba R PoquetteFrance2025-04-12Printing Dimensions UNQUALIFIED32Asiya Javayant
1019Faith O FigeroaSpain2025-04-08Commercial Press QUALIFIED27Elwin Sharvill
1020Mujtaba Q RoysterRussia2025-04-11King, Christopher A Esq PROPOSAL87Anna Fali
1021Octavia L ShinkoFrance2025-04-04Morlong Associates UNQUALIFIED29Onyama Limba
1022Costa A BowleyJapan2025-04-16Feiner Bros UNQUALIFIED77Onyama Limba
1023Maria B IturbideCanada2025-04-09Chapman, Ross E Esq PROPOSAL60Anna Fali
1024Jeanfrancois H DarakjyGermany2025-04-29Printing Dimensions QUALIFIED31Onyama Limba
1025Jefferson J ButtBrazil2025-04-24Buckley Miller Wright RENEWAL28Xuxue Feng
1026Murillo W BologniaIndia2025-03-31Chemel, James L Cpa RENEWAL28Elwin Sharvill
1027Arvin O AmigonFrance2025-04-21Commercial Press QUALIFIED64Ivan Magalhaes
1028Kaitlin C MaletSpain2025-04-05Rousseaux, Michael Esq PROPOSAL78Ioni Bowcher
1029Isabel K StensethRussia2025-04-22Printing Dimensions RENEWAL38Anna Fali
1030Faith Z StensethSpain2025-04-24Rousseaux, Michael Esq RENEWAL45Anna Fali
1031Aditya F GauchoUnited Kingdom2025-04-08Chemel, James L Cpa QUALIFIED85Asiya Javayant
1032Maisha L AlbaresUnited Kingdom2025-04-29Commercial Press PROPOSAL96Asiya Javayant
1033Alejandro U CaldareraSpain2025-04-14Rousseaux, Michael Esq UNQUALIFIED18Ioni Bowcher
1034Octavia S CaldareraFrance2025-04-14Chapman, Ross E Esq PROPOSAL57Ivan Magalhaes
1035Darci U MacleadJapan2025-03-31Feltz Printing Service NEGOTIATION0Ioni Bowcher
1036Cody R GillianSpain2025-04-03King, Christopher A Esq QUALIFIED65Onyama Limba
1037Julie E OstroskyCanada2025-04-05Benton, John B Jr UNQUALIFIED62Xuxue Feng
1038Juan M MaletUnited Kingdom2025-04-05Feiner Bros UNQUALIFIED60Ivan Magalhaes
1039David F MarrierBrazil2025-04-14Printing Dimensions RENEWAL50Bernardo Dominic
1040Kadeem M FigeroaArgentina2025-04-06Benton, John B Jr QUALIFIED71Ioni Bowcher
1041Adams H KuskoBrazil2025-04-27Morlong Associates RENEWAL38Ivan Magalhaes
1042Mayumi S StockhamBrazil2025-04-19Buckley Miller Wright PROPOSAL69Stephen Shaw
1043Aditya E BowleyGermany2025-04-22Morlong Associates QUALIFIED26Elwin Sharvill
1044Mujtaba H MorascaIndia2025-04-07Chanay, Jeffrey A Esq NEW41Amy Elsner
1045Leja F VenereIndia2025-04-15Truhlar And Truhlar Attys RENEWAL77Bernardo Dominic
1046Johnson I CaldareraItaly2025-04-27Chemel, James L Cpa QUALIFIED30Elwin Sharvill
1047Jennifer F FerenczGermany2025-04-07Printing Dimensions PROPOSAL76Stephen Shaw
1048Nicolas M DarakjyIndia2025-04-08Feiner Bros RENEWAL98Ivan Magalhaes
1049Darci W BriddickItaly2025-04-22Truhlar And Truhlar Attys RENEWAL51Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ashley G FerenczUnited KingdomOnyama Limba UNQUALIFIED
Darci G VocelkaItalyAnna Fali PROPOSAL
Aika Z BriddickGermanyXuxue Feng RENEWAL
Chavez G DoeFranceAsiya Javayant NEW
Arvin W DilliardBrazilStephen Shaw QUALIFIED
Wickens Z VocelkaArgentinaAnna Fali NEW
Aditya M VocelkaUnited KingdomIoni Bowcher NEW
Murillo C WhobreyAustraliaAsiya Javayant PROPOSAL
Cody D DoeCanadaAnna Fali QUALIFIED
Aditya E OldroydJapanAmy Elsner PROPOSAL
Jennifer I MaletRussiaElwin Sharvill PROPOSAL
Izzy X GauchoSpainAsiya Javayant QUALIFIED
Izzy T PoquetteIndiaIvan Magalhaes UNQUALIFIED
David J IturbideBrazilIoni Bowcher QUALIFIED
Aika B WieserUnited KingdomIvan Magalhaes NEGOTIATION
Julie L AmigonArgentinaStephen Shaw NEGOTIATION
Chavez B GauchoGermanyBernardo Dominic NEW
Clifford Z OstroskyGermanyElwin Sharvill QUALIFIED
Cody N IturbideCanadaOnyama Limba PROPOSAL
Maria A GauchoRussiaStephen Shaw RENEWAL
Maisha N TollnerAustraliaBernardo Dominic NEW
Isabel S RutaSpainBernardo Dominic UNQUALIFIED
Aruna X FerenczFranceBernardo Dominic NEW
Sinclair U MorascaIndiaIoni Bowcher NEGOTIATION
Wickens X CaldareraItalyAmy Elsner QUALIFIED
Claire H OstroskyJapanOnyama Limba QUALIFIED
Salvatore B PaprockiItalyStephen Shaw RENEWAL
Chavez A KolmetzArgentinaBernardo Dominic NEW
Isabel A WhobreyFranceAnna Fali RENEWAL
Leja G RutaItalyStephen Shaw NEW
Maisha J KolmetzIndiaElwin Sharvill NEW
Tony F ShinkoJapanAnna Fali UNQUALIFIED
Isabel H ButtUnited KingdomElwin Sharvill QUALIFIED
David M BriddickUnited KingdomStephen Shaw RENEWAL
Kaitlin X FlosiItalyAnna Fali PROPOSAL
Morrow G BowleyCanadaStephen Shaw RENEWAL
Nicolas N FerenczRussiaElwin Sharvill NEW
Clifford Y TollnerCanadaAnna Fali RENEWAL
Alejandro F RutaUnited KingdomElwin Sharvill NEGOTIATION
Greenwood U MarrierCanadaBernardo Dominic UNQUALIFIED
Silvio Q TollnerArgentinaIvan Magalhaes UNQUALIFIED
Izzy T VenereBrazilIvan Magalhaes NEGOTIATION
Francesco K MacleadIndiaIvan Magalhaes QUALIFIED
Kaitlin L PoquetteGermanyAmy Elsner NEW
Smith A BologniaArgentinaOnyama Limba RENEWAL
Wickens U GarufiGermanyAmy Elsner UNQUALIFIED
Aditya D WaycottArgentinaAsiya Javayant PROPOSAL
Julie D StockhamGermanyElwin Sharvill NEW
Deepesh Z GlickBrazilAmy Elsner NEGOTIATION
Munro Q DoeFranceAmy Elsner NEW
Frozen Columns
Name
Rodrigues A Ruta
Murillo B Iturbide
Julie Y Wieser
Smith Y Darakjy
Maria Q Inouye
Salvatore Y Sergi
Morrow N Perin
Jefferson N Doe
Tony Q Marrier
Salvatore F Paprocki
Kaitlin G Paprocki
Munro A Caldarera
Leon P Wieser
Maisha O Schemmer
Francesco T Oldroyd
Sinclair V Sergi
Leon Q Saylors
Silvio Y Paprocki
Cody X Albares
Greenwood Y Rulapaugh
Arvin G Rulapaugh
Adams A Caudy
Antonio Z Kusko
Silvio P Waycott
Alejandro Q Kolmetz
Adams E Caldarera
Emily P Stenseth
Juan Y Darakjy
Faith H Maclead
Nicolas W Rim
Silvio A Wieser
Morrow D Albares
Adams B Gaucho
Kaitlin V Briddick
Sinclair P Amigon
Deepesh J Royster
Tony B Oldroyd
Sinclair S Doe
Ashley I Rim
Isabel V Campain
Antonio R Ruta
Ashley A Figeroa
Morrow T Shinko
Claire P Maclead
David R Perin
Aditya I Saylors
Stacey T Paprocki
Arvin W Vocelka
Darci L Albares
Isabel C Doe
IdCountryDate
1000Argentina2025-04-27
1001Germany2025-04-17
1002Italy2025-04-29
1003Brazil2025-04-02
1004Brazil2025-04-13
1005France2025-04-13
1006United Kingdom2025-04-16
1007France2025-04-05
1008France2025-04-26
1009United Kingdom2025-04-18
1010Australia2025-04-18
1011India2025-04-12
1012Italy2025-03-31
1013India2025-04-04
1014Japan2025-04-09
1015France2025-04-02
1016Japan2025-04-21
1017India2025-04-25
1018Russia2025-04-23
1019Canada2025-04-14
1020Australia2025-04-21
1021Italy2025-04-18
1022Russia2025-04-05
1023Spain2025-04-20
1024Italy2025-04-26
1025Spain2025-04-03
1026India2025-04-09
1027Brazil2025-04-02
1028Italy2025-04-04
1029Brazil2025-04-13
1030Germany2025-04-26
1031Australia2025-04-04
1032Argentina2025-04-15
1033Australia2025-04-17
1034Argentina2025-04-05
1035Australia2025-04-09
1036Japan2025-04-08
1037India2025-04-21
1038Germany2025-04-22
1039India2025-04-25
1040France2025-04-04
1041Canada2025-04-25
1042Spain2025-04-13
1043Italy2025-04-20
1044India2025-04-09
1045India2025-04-24
1046Brazil2025-04-12
1047Brazil2025-04-08
1048France2025-04-01
1049Canada2025-04-21

On-Demand Data

NameIdCountryDate
Morrow X Shinko1000Argentina2025-04-20
Nicolas E Ruta1001Russia2025-04-14
Julie P Venere1002Russia2025-04-10
Ivar B Nicka1003Germany2025-04-14
Salvatore G Stockham1004Spain2025-04-19
Ashley Z Kusko1005Russia2025-04-02
Silvio C Caldarera1006Italy2025-04-05
Nicolas N Perin1007Russia2025-04-27
David U Briddick1008France2025-04-09
Julie M Sergi1009Italy2025-04-25
Ashley F Schemmer1010Spain2025-04-06
Jeanfrancois L Caldarera1011Russia2025-04-17
Deepesh A Shinko1012India2025-04-01
Silvio K Iturbide1013Spain2025-03-31
Octavia I Kusko1014Argentina2025-04-04
Greenwood X Flosi1015Spain2025-04-26
Juan V Nestle1016Japan2025-04-11
Emily I Venere1017Germany2025-04-18
Darci L Oldroyd1018Spain2025-04-19
Jefferson X Garufi1019Japan2025-04-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio C StensethBrazilIvan Magalhaes RENEWAL
Johnson W BologniaUnited KingdomOnyama Limba UNQUALIFIED
Julie P BowleyGermanyOnyama Limba NEW
Julie W KolmetzIndiaBernardo Dominic RENEWAL
Jennifer X CaudyRussiaAsiya Javayant PROPOSAL
Leja W SergiBrazilXuxue Feng NEW
Ashley O IturbideJapanElwin Sharvill UNQUALIFIED
Tony V PoquetteJapanXuxue Feng RENEWAL
Juan H WhobreyJapanIoni Bowcher RENEWAL
Leon N AlbaresGermanyIvan Magalhaes PROPOSAL
David L MarrierRussiaXuxue Feng UNQUALIFIED
Salvatore K GarufiArgentinaAsiya Javayant RENEWAL
Mujtaba W GlickSpainAsiya Javayant PROPOSAL
Claire L GlickAustraliaAmy Elsner UNQUALIFIED
James F GarufiSpainXuxue Feng PROPOSAL
Adams K MaletIndiaAmy Elsner UNQUALIFIED
Johnson X BowleyJapanXuxue Feng RENEWAL
Sinclair Q CaldareraAustraliaAnna Fali PROPOSAL
Smith J MaletRussiaAsiya Javayant UNQUALIFIED
Izzy K BowleyIndiaXuxue Feng QUALIFIED
Aruna Q PaprockiGermanyOnyama Limba UNQUALIFIED
Leon A MarrierJapanIoni Bowcher RENEWAL
Deepesh J AmigonFranceStephen Shaw NEW
Smith G DilliardRussiaElwin Sharvill QUALIFIED
Jeanfrancois H StockhamSpainIoni Bowcher NEGOTIATION
Leon T ChuiUnited KingdomIvan Magalhaes RENEWAL
Leja J TollnerGermanyAsiya Javayant UNQUALIFIED
Maisha F ShinkoIndiaAnna Fali NEW
David E PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Maisha X ChuiFranceStephen Shaw NEW
Antonio M BriddickUnited KingdomIvan Magalhaes RENEWAL
Cody O ButtBrazilAmy Elsner PROPOSAL
Nicolas K OldroydFranceAmy Elsner UNQUALIFIED
Maria D NestleArgentinaAmy Elsner UNQUALIFIED
Ashley O DilliardGermanyAsiya Javayant QUALIFIED
Nicolas Q FerenczCanadaAsiya Javayant RENEWAL
Aruna P InouyeCanadaIoni Bowcher QUALIFIED
Emily L DarakjyIndiaElwin Sharvill NEGOTIATION
Munro B SchemmerAustraliaAnna Fali UNQUALIFIED
Cody H RulapaughJapanAsiya Javayant NEW

<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>