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
Francesco B FigeroaJapanStephen Shaw UNQUALIFIED
Tony S FollerFranceStephen Shaw PROPOSAL
Antonio E RulapaughBrazilXuxue Feng RENEWAL
Johnson I BologniaFranceStephen Shaw UNQUALIFIED
Arvin L MorascaSpainOnyama Limba RENEWAL
James P BologniaFranceIoni Bowcher RENEWAL
Costa Y WieserGermanyStephen Shaw QUALIFIED
Aruna F CaldareraAustraliaElwin Sharvill UNQUALIFIED
Francesco I BologniaGermanyAsiya Javayant PROPOSAL
Octavia A GlickJapanStephen Shaw UNQUALIFIED
Johnson O DarakjyBrazilStephen Shaw NEGOTIATION
Stacey H WhobreyRussiaIvan Magalhaes NEW
Julie G GillianUnited KingdomElwin Sharvill PROPOSAL
Antonio L BologniaUnited KingdomAsiya Javayant NEW
Aika X GlickSpainStephen Shaw NEW
Wickens G RutaArgentinaStephen Shaw PROPOSAL
David T GarufiAustraliaElwin Sharvill RENEWAL
Julie L ChuiBrazilOnyama Limba NEGOTIATION
Munro A BriddickBrazilIoni Bowcher RENEWAL
Arvin X RulapaughFranceXuxue Feng NEW
Juan J SergiRussiaOnyama Limba PROPOSAL
Julie C ShinkoJapanIvan Magalhaes UNQUALIFIED
Silvio T DarakjyIndiaIoni Bowcher PROPOSAL
Antonio J GarufiRussiaXuxue Feng PROPOSAL
Juan H DilliardGermanyIoni Bowcher RENEWAL
Costa K DoeItalyAmy Elsner NEW
Adams H DoeRussiaIvan Magalhaes QUALIFIED
Isabel A MaletBrazilIoni Bowcher NEGOTIATION
Octavia A BowleyFranceStephen Shaw NEW
Jennifer U AlbaresJapanStephen Shaw RENEWAL
Aruna Y SaylorsArgentinaElwin Sharvill RENEWAL
Alejandro M RimCanadaAsiya Javayant NEGOTIATION
Claire K InouyeRussiaElwin Sharvill NEW
Silvio U DilliardCanadaStephen Shaw UNQUALIFIED
Antonio M IturbideFranceOnyama Limba UNQUALIFIED
Arvin W SchemmerArgentinaOnyama Limba NEGOTIATION
Jefferson Y RimArgentinaAnna Fali NEGOTIATION
Aruna T DoeSpainElwin Sharvill NEGOTIATION
Aika M DoeBrazilElwin Sharvill NEW
Jeanfrancois Q GauchoArgentinaAnna Fali QUALIFIED
Claire J MorascaArgentinaBernardo Dominic PROPOSAL
Smith X PaprockiArgentinaIoni Bowcher UNQUALIFIED
Stacey F NestleAustraliaIvan Magalhaes RENEWAL
Antonio Q PerinAustraliaIoni Bowcher UNQUALIFIED
Silvio D DilliardJapanAmy Elsner UNQUALIFIED
Arvin U NestleCanadaIvan Magalhaes QUALIFIED
Emily F KolmetzArgentinaElwin Sharvill UNQUALIFIED
Sinclair M DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Ivar P RoysterSpainStephen Shaw UNQUALIFIED
Alejandro B WhobreyFranceIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Smith G PaprockiJapanAsiya Javayant RENEWAL
Smith J DarakjyGermanyAmy Elsner RENEWAL
Stacey N SergiSpainIvan Magalhaes NEGOTIATION
Claire S NickaCanadaIoni Bowcher NEW
Maisha I StensethArgentinaElwin Sharvill NEW
Jefferson M RimJapanElwin Sharvill PROPOSAL
Leon Y StockhamArgentinaAmy Elsner UNQUALIFIED
Jefferson C AmigonJapanOnyama Limba UNQUALIFIED
Cody K BologniaJapanStephen Shaw NEGOTIATION
Deepesh R StensethArgentinaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily X MarrierUnited Kingdom2024-05-10Chanay, Jeffrey A Esq UNQUALIFIED21Bernardo Dominic
1001Maria P DoeSpain2024-05-30Morlong Associates UNQUALIFIED8Stephen Shaw
1002Leja G RoysterSpain2024-05-29Rangoni Of Florence QUALIFIED80Elwin Sharvill
1003Wickens V SlusarskiUnited Kingdom2024-05-23Commercial Press NEW55Xuxue Feng
1004Arvin K MorascaItaly2024-05-13Feiner Bros UNQUALIFIED46Elwin Sharvill
1005Maria L CaudyUnited Kingdom2024-05-25King, Christopher A Esq RENEWAL77Anna Fali
1006Johnson T TollnerFrance2024-05-21Dorl, James J Esq PROPOSAL92Bernardo Dominic
1007Stacey N FollerAustralia2024-05-06Morlong Associates RENEWAL76Asiya Javayant
1008Aditya E StockhamGermany2024-05-07Commercial Press NEGOTIATION74Onyama Limba
1009Alejandro O GillianCanada2024-05-15Chemel, James L Cpa UNQUALIFIED81Onyama Limba
1010Aditya N VenereArgentina2024-05-24Printing Dimensions QUALIFIED45Onyama Limba
1011Smith N GarufiUnited Kingdom2024-05-09Printing Dimensions UNQUALIFIED16Asiya Javayant
1012Leja A MaletCanada2024-05-08Printing Dimensions NEW32Elwin Sharvill
1013Murillo G AlbaresFrance2024-05-08Rousseaux, Michael Esq QUALIFIED33Amy Elsner
1014Leon S RutaItaly2024-05-21Buckley Miller Wright NEGOTIATION82Ioni Bowcher
1015David V ButtJapan2024-05-15Feiner Bros NEW62Elwin Sharvill
1016Maisha K GlickIndia2024-05-17Chapman, Ross E Esq QUALIFIED74Xuxue Feng
1017Morrow W WhobreyIndia2024-05-25Chanay, Jeffrey A Esq NEGOTIATION84Xuxue Feng
1018Julie F BowleyFrance2024-05-04Chanay, Jeffrey A Esq PROPOSAL83Amy Elsner
1019Aruna N GauchoBrazil2024-05-18Chanay, Jeffrey A Esq RENEWAL98Ioni Bowcher
1020Stacey L FigeroaBrazil2024-05-11Commercial Press RENEWAL62Elwin Sharvill
1021Kaitlin M GarufiItaly2024-05-04Truhlar And Truhlar Attys QUALIFIED66Asiya Javayant
1022Julie N SergiIndia2024-05-11Chemel, James L Cpa QUALIFIED69Onyama Limba
1023Ricardo J VocelkaItaly2024-05-26King, Christopher A Esq NEW24Stephen Shaw
1024Sinclair U DoeJapan2024-05-12Feltz Printing Service QUALIFIED88Ioni Bowcher
1025Ashley W WieserBrazil2024-05-06Feiner Bros NEW57Bernardo Dominic
1026Isabel L FigeroaAustralia2024-05-15Morlong Associates QUALIFIED18Amy Elsner
1027Faith Z MarrierSpain2024-05-05Chapman, Ross E Esq NEGOTIATION36Stephen Shaw
1028Maisha I RulapaughAustralia2024-05-15Chemel, James L Cpa QUALIFIED39Onyama Limba
1029Adams A NickaAustralia2024-05-05Rangoni Of Florence UNQUALIFIED54Ivan Magalhaes
1030Sinclair E AlbaresItaly2024-05-20Truhlar And Truhlar Attys UNQUALIFIED71Ivan Magalhaes
1031Leon V OldroydAustralia2024-05-08Printing Dimensions QUALIFIED81Ioni Bowcher
1032Claire S SaylorsAustralia2024-05-03Printing Dimensions NEGOTIATION18Asiya Javayant
1033Isabel H AmigonBrazil2024-05-24Rousseaux, Michael Esq UNQUALIFIED94Ivan Magalhaes
1034David R OldroydFrance2024-05-28Commercial Press QUALIFIED5Ioni Bowcher
1035Clifford Z NestleSpain2024-05-25Feltz Printing Service PROPOSAL48Ivan Magalhaes
1036Salvatore A CaudyGermany2024-05-11Morlong Associates QUALIFIED45Onyama Limba
1037Nicolas Q RulapaughRussia2024-05-30Rousseaux, Michael Esq QUALIFIED52Elwin Sharvill
1038Juan L RulapaughGermany2024-05-31Chapman, Ross E Esq NEW69Ioni Bowcher
1039Greenwood I FerenczUnited Kingdom2024-05-28Benton, John B Jr NEW79Anna Fali
1040Jones B BriddickIndia2024-05-04Rangoni Of Florence PROPOSAL21Xuxue Feng
1041Morrow B StensethBrazil2024-05-25Feltz Printing Service RENEWAL72Stephen Shaw
1042Greenwood B RimRussia2024-05-24Rousseaux, Michael Esq UNQUALIFIED36Amy Elsner
1043Alejandro X DilliardBrazil2024-05-09Chanay, Jeffrey A Esq PROPOSAL66Onyama Limba
1044Morrow T VocelkaCanada2024-05-28Chanay, Jeffrey A Esq RENEWAL33Xuxue Feng
1045Salvatore U WhobreyGermany2024-05-26Truhlar And Truhlar Attys PROPOSAL23Bernardo Dominic
1046Kaitlin A PerinItaly2024-05-27Chemel, James L Cpa QUALIFIED41Onyama Limba
1047Nicolas C SergiAustralia2024-05-27Chapman, Ross E Esq UNQUALIFIED92Ivan Magalhaes
1048Maisha Y RoysterBrazil2024-05-08Truhlar And Truhlar Attys UNQUALIFIED41Ivan Magalhaes
1049Greenwood Z VocelkaCanada2024-05-18Feiner Bros NEGOTIATION36Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Faith H NickaFranceIoni Bowcher PROPOSAL
Octavia N CampainUnited KingdomBernardo Dominic PROPOSAL
Faith O VenereSpainXuxue Feng NEGOTIATION
Aruna C StockhamJapanAmy Elsner UNQUALIFIED
Jones K VocelkaGermanyAnna Fali QUALIFIED
Misaki V VocelkaArgentinaOnyama Limba PROPOSAL
Claire M AmigonCanadaStephen Shaw PROPOSAL
Morrow E AmigonRussiaXuxue Feng NEGOTIATION
Claire W StockhamFranceAmy Elsner NEW
Deepesh I GlickCanadaIoni Bowcher PROPOSAL
Jennifer B ButtAustraliaAmy Elsner QUALIFIED
Juan V ShinkoFranceIvan Magalhaes UNQUALIFIED
Octavia U AmigonFranceStephen Shaw RENEWAL
Ricardo Q NickaBrazilBernardo Dominic RENEWAL
Darci B MaletAustraliaXuxue Feng PROPOSAL
Costa X DarakjyUnited KingdomElwin Sharvill NEW
Maisha K FlosiBrazilIvan Magalhaes UNQUALIFIED
Maria U SchemmerSpainIvan Magalhaes QUALIFIED
Antonio C BowleyUnited KingdomAmy Elsner NEGOTIATION
Deepesh A GillianGermanyAnna Fali QUALIFIED
Munro Z StockhamGermanyXuxue Feng RENEWAL
Murillo Y BriddickAustraliaBernardo Dominic NEGOTIATION
Cody Y ButtSpainAmy Elsner RENEWAL
Tony K WhobreyArgentinaElwin Sharvill RENEWAL
Alejandro N KuskoGermanyIoni Bowcher PROPOSAL
David D WhobreySpainAnna Fali UNQUALIFIED
Isabel O SchemmerBrazilAmy Elsner QUALIFIED
Mujtaba N KuskoUnited KingdomAnna Fali QUALIFIED
Misaki A VenereBrazilAmy Elsner QUALIFIED
Munro B AlbaresRussiaXuxue Feng NEW
Silvio S CaudyItalyAsiya Javayant NEGOTIATION
Francesco X FerenczSpainXuxue Feng RENEWAL
Stacey P SchemmerCanadaAsiya Javayant QUALIFIED
Claire I RimArgentinaIvan Magalhaes RENEWAL
James Z MarrierJapanAsiya Javayant PROPOSAL
Claire X IturbideUnited KingdomOnyama Limba UNQUALIFIED
Aruna U ChuiFranceXuxue Feng PROPOSAL
Clifford Q BologniaIndiaXuxue Feng RENEWAL
Maria A ShinkoGermanyOnyama Limba NEGOTIATION
Tony U SergiAustraliaBernardo Dominic PROPOSAL
Tony F NickaAustraliaAmy Elsner UNQUALIFIED
Antonio M OldroydSpainAsiya Javayant NEGOTIATION
Deepesh H WhobreyAustraliaAnna Fali NEGOTIATION
Nicolas G TollnerRussiaStephen Shaw RENEWAL
Kadeem G MorascaArgentinaAsiya Javayant RENEWAL
Kaitlin M MaletCanadaAmy Elsner QUALIFIED
James I AlbaresUnited KingdomAsiya Javayant PROPOSAL
Aika T IturbideBrazilIoni Bowcher QUALIFIED
Alejandro O SaylorsArgentinaAsiya Javayant NEGOTIATION
Greenwood K RoysterArgentinaOnyama Limba NEW
Frozen Columns
Name
Adams V Iturbide
Maisha O Shinko
Stacey B Wieser
Clifford X Oldroyd
Julie V Sergi
Kadeem T Kolmetz
Ivar W Tollner
Claire J Tollner
Ivar E Bowley
Tony V Nicka
Aika W Flosi
Aika T Dilliard
Leja N Malet
James O Stockham
Francesco P Foller
Deepesh K Inouye
Jones K Rulapaugh
James M Royster
Aruna O Gillian
Deepesh H Vocelka
Deepesh C Saylors
Jeanfrancois N Ferencz
Deepesh H Ruta
Stacey D Rim
Juan Z Ruta
Maisha O Rim
Octavia F Marrier
Costa T Venere
Alejandro I Poquette
Munro X Kolmetz
Emily L Albares
Munro K Waycott
Francesco Q Caldarera
Aika Q Stockham
Mayumi C Venere
Aruna D Whobrey
Silvio X Shinko
Cody Z Figeroa
Isabel P Ruta
Rodrigues L Shinko
Antonio B Maclead
Costa E Nicka
Antonio Z Slusarski
Tony Z Stockham
Johnson I Gaucho
Cody M Stockham
Rodrigues V Stockham
Silvio E Oldroyd
Murillo O Maclead
Morrow M Campain
IdCountryDate
1000Australia2024-05-04
1001Brazil2024-05-22
1002Canada2024-05-23
1003Japan2024-05-15
1004Italy2024-05-13
1005Argentina2024-05-11
1006Australia2024-05-16
1007France2024-05-03
1008Australia2024-05-09
1009Japan2024-05-29
1010India2024-05-14
1011Germany2024-06-01
1012France2024-05-14
1013Argentina2024-05-28
1014India2024-05-29
1015Canada2024-05-04
1016Argentina2024-05-19
1017Russia2024-05-20
1018Canada2024-05-16
1019Canada2024-06-01
1020Germany2024-05-16
1021Brazil2024-05-24
1022Australia2024-05-09
1023Germany2024-05-15
1024Argentina2024-05-16
1025United Kingdom2024-05-21
1026Australia2024-05-22
1027France2024-05-04
1028India2024-05-27
1029United Kingdom2024-05-25
1030Germany2024-06-01
1031Germany2024-05-23
1032Russia2024-05-30
1033Canada2024-05-21
1034Japan2024-05-25
1035Italy2024-05-21
1036Argentina2024-05-08
1037Argentina2024-05-03
1038Brazil2024-05-31
1039Argentina2024-05-13
1040Japan2024-05-24
1041Australia2024-05-31
1042Brazil2024-05-30
1043United Kingdom2024-05-18
1044Russia2024-05-24
1045Spain2024-05-24
1046Italy2024-05-15
1047Germany2024-05-22
1048Japan2024-05-13
1049Russia2024-05-07

On-Demand Data

NameIdCountryDate
Emily T Maclead1000Australia2024-05-03
Silvio B Malet1001France2024-05-22
Faith A Kolmetz1002India2024-05-25
Leja W Rulapaugh1003France2024-05-12
Kadeem X Caudy1004Italy2024-05-22
Clifford V Gaucho1005Spain2024-05-31
Misaki V Malet1006United Kingdom2024-05-17
Mujtaba W Malet1007Spain2024-05-23
Jennifer I Marrier1008Japan2024-05-17
Mujtaba A Tollner1009Japan2024-05-23
Cody L Oldroyd1010India2024-05-06
Francesco V Stockham1011United Kingdom2024-05-14
Morrow S Stenseth1012United Kingdom2024-05-22
Wickens F Schemmer1013France2024-05-10
Claire A Paprocki1014Spain2024-05-17
Rodrigues L Whobrey1015Canada2024-05-19
Ricardo B Sergi1016Russia2024-05-23
Ivar Y Campain1017Brazil2024-05-12
Claire S Caldarera1018Germany2024-05-16
Greenwood Y Venere1019Canada2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood L DilliardSpainBernardo Dominic NEGOTIATION
Chavez Y GarufiRussiaXuxue Feng NEGOTIATION
Ashley R GlickItalyBernardo Dominic RENEWAL
Maria B WhobreyRussiaIoni Bowcher QUALIFIED
Murillo C RulapaughSpainStephen Shaw NEW
Nicolas R WieserIndiaStephen Shaw RENEWAL
Tony Z DilliardBrazilAmy Elsner NEW
James N MaletJapanAmy Elsner QUALIFIED
David F FlosiJapanXuxue Feng QUALIFIED
Silvio J SergiArgentinaAmy Elsner QUALIFIED
Mayumi D StensethJapanAnna Fali NEW
Wickens B BologniaSpainOnyama Limba QUALIFIED
Julie N VenereRussiaBernardo Dominic PROPOSAL
Tony T KuskoArgentinaAnna Fali RENEWAL
Sinclair M PaprockiCanadaOnyama Limba NEGOTIATION
Aruna X PaprockiArgentinaElwin Sharvill NEGOTIATION
Jennifer Z ButtGermanyAsiya Javayant RENEWAL
Jones V BowleyGermanyAmy Elsner NEGOTIATION
Ivar Q CaudyBrazilXuxue Feng NEGOTIATION
Nicolas M SaylorsUnited KingdomIoni Bowcher NEW
Francesco E DilliardUnited KingdomAnna Fali NEGOTIATION
Adams Y StensethUnited KingdomAsiya Javayant RENEWAL
Aika B GarufiIndiaIoni Bowcher RENEWAL
Juan C CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem J GlickAustraliaAnna Fali NEGOTIATION
David X WieserRussiaAnna Fali NEW
Octavia C BologniaJapanStephen Shaw NEGOTIATION
Jennifer L ButtSpainIoni Bowcher QUALIFIED
Emily P ButtAustraliaAsiya Javayant UNQUALIFIED
Izzy B WieserJapanXuxue Feng QUALIFIED
Francesco G CampainItalyAsiya Javayant NEW
Leon N GarufiIndiaIvan Magalhaes PROPOSAL
Deepesh G GillianIndiaIvan Magalhaes QUALIFIED
Jennifer U VocelkaSpainOnyama Limba NEGOTIATION
Jeanfrancois B FlosiUnited KingdomStephen Shaw RENEWAL
Munro P BowleyCanadaBernardo Dominic NEGOTIATION
Adams A DoeAustraliaAmy Elsner NEGOTIATION
Deepesh V VenereAustraliaAnna Fali UNQUALIFIED
David W AmigonSpainAmy Elsner QUALIFIED
Jennifer S CaudyAustraliaOnyama Limba NEGOTIATION

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