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
Juan C ChuiAustraliaAmy Elsner PROPOSAL
Morrow K KolmetzCanadaIvan Magalhaes RENEWAL
Kadeem Y NestleBrazilAnna Fali PROPOSAL
Alejandro M BriddickBrazilOnyama Limba PROPOSAL
Murillo V WieserIndiaAmy Elsner PROPOSAL
Maisha W AmigonCanadaOnyama Limba NEGOTIATION
Francesco N BologniaCanadaAsiya Javayant RENEWAL
Chavez E RulapaughItalyAmy Elsner QUALIFIED
Johnson T StensethUnited KingdomAmy Elsner QUALIFIED
Adams I StockhamUnited KingdomIvan Magalhaes NEW
Darci A SergiRussiaAnna Fali QUALIFIED
Julie B GauchoFranceIoni Bowcher NEW
Darci O WieserJapanBernardo Dominic NEW
Deepesh D RutaArgentinaAsiya Javayant PROPOSAL
Leon K BologniaGermanyAmy Elsner RENEWAL
Chavez C SlusarskiArgentinaAmy Elsner QUALIFIED
Ivar A RoysterGermanyStephen Shaw PROPOSAL
Octavia X ShinkoArgentinaOnyama Limba NEGOTIATION
Adams I VenereUnited KingdomStephen Shaw NEW
Kaitlin T StockhamIndiaElwin Sharvill PROPOSAL
Adams T SchemmerIndiaAnna Fali NEGOTIATION
Smith J TollnerUnited KingdomStephen Shaw PROPOSAL
Jefferson M GlickAustraliaIvan Magalhaes PROPOSAL
Stacey L ButtFranceAnna Fali UNQUALIFIED
Maisha J GillianRussiaAsiya Javayant RENEWAL
Francesco Y KolmetzRussiaIoni Bowcher NEW
Kaitlin L SaylorsArgentinaOnyama Limba UNQUALIFIED
Costa E StockhamAustraliaAnna Fali UNQUALIFIED
Nicolas M MaletGermanyBernardo Dominic PROPOSAL
Morrow I CaldareraGermanyAsiya Javayant NEGOTIATION
Murillo O InouyeGermanyElwin Sharvill NEGOTIATION
Wickens P SlusarskiRussiaXuxue Feng UNQUALIFIED
Cody X GlickIndiaOnyama Limba PROPOSAL
Izzy Q SergiSpainAnna Fali NEW
Antonio K OstroskyGermanyAmy Elsner NEW
Maria W SergiItalyOnyama Limba NEGOTIATION
Munro K MaletFranceOnyama Limba NEW
Cody A KolmetzArgentinaBernardo Dominic RENEWAL
Kaitlin O VocelkaJapanBernardo Dominic UNQUALIFIED
Octavia W IturbideRussiaBernardo Dominic RENEWAL
Kadeem Z FlosiFranceBernardo Dominic NEGOTIATION
Faith R SaylorsRussiaBernardo Dominic NEGOTIATION
Izzy R OstroskyItalyStephen Shaw QUALIFIED
Claire Z CaldareraArgentinaAnna Fali NEW
Aruna U GlickFranceBernardo Dominic NEGOTIATION
Aditya O IturbideBrazilOnyama Limba PROPOSAL
Smith Z FerenczRussiaAsiya Javayant PROPOSAL
Jennifer E MarrierSpainStephen Shaw RENEWAL
Leja K IturbideArgentinaAsiya Javayant QUALIFIED
Salvatore L BologniaUnited KingdomIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin S GillianAustraliaOnyama Limba QUALIFIED
David W BriddickJapanAsiya Javayant NEW
Jeanfrancois J VocelkaSpainIoni Bowcher NEW
Jones T SergiSpainStephen Shaw NEW
David T WaycottUnited KingdomXuxue Feng UNQUALIFIED
Octavia E SchemmerBrazilIoni Bowcher QUALIFIED
Leja M PaprockiArgentinaIoni Bowcher RENEWAL
Aditya C GillianCanadaOnyama Limba RENEWAL
Adams H StockhamIndiaStephen Shaw QUALIFIED
Clifford L PoquetteArgentinaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair S ChuiAustralia2025-04-18Rangoni Of Florence UNQUALIFIED10Amy Elsner
1001Arvin X CaldareraBrazil2025-04-05Chemel, James L Cpa PROPOSAL34Xuxue Feng
1002Jeanfrancois A DarakjySpain2025-04-17Benton, John B Jr UNQUALIFIED42Anna Fali
1003Jones B AmigonRussia2025-04-08Dorl, James J Esq RENEWAL71Elwin Sharvill
1004Ivar Y TollnerSpain2025-04-18Dorl, James J Esq QUALIFIED77Elwin Sharvill
1005Faith J GauchoBrazil2025-04-26Feiner Bros NEW26Stephen Shaw
1006Aika H VocelkaCanada2025-04-05Feiner Bros QUALIFIED10Asiya Javayant
1007Leja V VocelkaUnited Kingdom2025-04-19Chemel, James L Cpa PROPOSAL29Anna Fali
1008Maria X NickaCanada2025-04-10Chapman, Ross E Esq QUALIFIED28Onyama Limba
1009Nicolas B PaprockiJapan2025-04-26Benton, John B Jr QUALIFIED37Bernardo Dominic
1010Izzy T FerenczBrazil2025-04-15Printing Dimensions NEGOTIATION70Bernardo Dominic
1011Jennifer N MacleadJapan2025-04-05Feltz Printing Service QUALIFIED99Stephen Shaw
1012Murillo L StockhamAustralia2025-04-27Benton, John B Jr UNQUALIFIED31Stephen Shaw
1013Misaki K MacleadGermany2025-04-19Morlong Associates QUALIFIED33Onyama Limba
1014Darci B StensethSpain2025-04-16King, Christopher A Esq NEW3Anna Fali
1015James G PoquetteArgentina2025-04-07King, Christopher A Esq QUALIFIED25Stephen Shaw
1016Costa O AmigonUnited Kingdom2025-04-02King, Christopher A Esq RENEWAL59Stephen Shaw
1017Faith B MaletGermany2025-04-12Truhlar And Truhlar Attys PROPOSAL25Xuxue Feng
1018Nicolas X InouyeBrazil2025-04-09Benton, John B Jr NEW22Xuxue Feng
1019Johnson F IturbideUnited Kingdom2025-04-19Printing Dimensions UNQUALIFIED11Onyama Limba
1020Morrow H StockhamCanada2025-04-07Dorl, James J Esq PROPOSAL99Anna Fali
1021Aruna R InouyeIndia2025-04-26King, Christopher A Esq NEW28Stephen Shaw
1022Leja U NestleItaly2025-04-20Truhlar And Truhlar Attys QUALIFIED8Stephen Shaw
1023Rodrigues Z FerenczUnited Kingdom2025-04-23Feltz Printing Service RENEWAL96Bernardo Dominic
1024Greenwood A BriddickItaly2025-04-27Feltz Printing Service QUALIFIED96Amy Elsner
1025Alejandro P BriddickCanada2025-04-13Feltz Printing Service PROPOSAL75Ivan Magalhaes
1026Maria K DarakjyJapan2025-04-06Printing Dimensions NEW95Onyama Limba
1027Mujtaba V VocelkaItaly2025-04-08Benton, John B Jr UNQUALIFIED85Stephen Shaw
1028Kaitlin Q AlbaresAustralia2025-04-04Printing Dimensions NEGOTIATION53Stephen Shaw
1029Ricardo K OstroskyAustralia2025-04-22Chanay, Jeffrey A Esq QUALIFIED40Bernardo Dominic
1030Silvio P MarrierIndia2025-04-14Truhlar And Truhlar Attys QUALIFIED92Ioni Bowcher
1031Ashley O RoysterCanada2025-04-10Buckley Miller Wright UNQUALIFIED96Xuxue Feng
1032Octavia Z PoquetteUnited Kingdom2025-04-06Chemel, James L Cpa UNQUALIFIED18Ivan Magalhaes
1033Aditya Q PerinJapan2025-04-16Feltz Printing Service NEGOTIATION55Xuxue Feng
1034Smith P MarrierJapan2025-04-18Printing Dimensions PROPOSAL78Ioni Bowcher
1035Rodrigues K DilliardUnited Kingdom2025-04-14Chapman, Ross E Esq RENEWAL74Ivan Magalhaes
1036Leja N FollerUnited Kingdom2025-04-24Chapman, Ross E Esq QUALIFIED26Anna Fali
1037Leja R ButtJapan2025-04-05Commercial Press QUALIFIED82Onyama Limba
1038Octavia Q KolmetzArgentina2025-04-09Feltz Printing Service NEGOTIATION74Ivan Magalhaes
1039Chavez O SchemmerAustralia2025-04-17Chanay, Jeffrey A Esq NEGOTIATION16Asiya Javayant
1040Mujtaba D CampainArgentina2025-04-16Morlong Associates PROPOSAL59Bernardo Dominic
1041Salvatore K CaldareraItaly2025-04-12Rousseaux, Michael Esq RENEWAL83Ivan Magalhaes
1042Murillo Z KuskoArgentina2025-04-05Dorl, James J Esq RENEWAL87Stephen Shaw
1043Rodrigues L CampainIndia2025-04-02Chemel, James L Cpa RENEWAL89Ivan Magalhaes
1044Nicolas F IturbideArgentina2025-04-06Feiner Bros PROPOSAL3Stephen Shaw
1045Jennifer W DoeIndia2025-04-10Printing Dimensions QUALIFIED31Stephen Shaw
1046Ricardo Y OldroydIndia2025-04-04King, Christopher A Esq QUALIFIED7Ioni Bowcher
1047Antonio V AmigonGermany2025-04-08King, Christopher A Esq NEGOTIATION7Xuxue Feng
1048Octavia I MarrierSpain2025-04-23Commercial Press NEW49Bernardo Dominic
1049Johnson A CaldareraJapan2025-04-27Morlong Associates PROPOSAL26Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson N IturbideJapanIvan Magalhaes RENEWAL
Aditya C GauchoJapanOnyama Limba QUALIFIED
Arvin G RimIndiaBernardo Dominic NEGOTIATION
Johnson P VenereBrazilAmy Elsner UNQUALIFIED
Leja F VocelkaRussiaAsiya Javayant NEGOTIATION
Murillo C CampainAustraliaOnyama Limba NEW
Cody I RimFranceAnna Fali NEW
Maria J CampainItalyIoni Bowcher UNQUALIFIED
Jeanfrancois W GlickFranceIoni Bowcher UNQUALIFIED
David R VocelkaRussiaAnna Fali RENEWAL
Emily J MaletCanadaStephen Shaw RENEWAL
Ricardo V ButtIndiaIoni Bowcher PROPOSAL
David W ChuiJapanBernardo Dominic RENEWAL
Aika S DoeIndiaBernardo Dominic PROPOSAL
Misaki C ShinkoGermanyAsiya Javayant QUALIFIED
Jefferson L SaylorsAustraliaStephen Shaw UNQUALIFIED
Misaki Y FlosiRussiaIvan Magalhaes NEW
Misaki H WaycottUnited KingdomIvan Magalhaes QUALIFIED
Morrow V WhobreyFranceIvan Magalhaes RENEWAL
Francesco P SchemmerCanadaBernardo Dominic NEW
Greenwood M SchemmerAustraliaXuxue Feng NEW
Silvio F RimFranceBernardo Dominic NEW
James D OstroskyUnited KingdomAnna Fali NEGOTIATION
Silvio P FlosiRussiaAsiya Javayant UNQUALIFIED
Aditya P AmigonUnited KingdomStephen Shaw NEW
Faith L PerinRussiaIvan Magalhaes RENEWAL
Kadeem S MaletUnited KingdomIoni Bowcher RENEWAL
Ricardo U WhobreyBrazilStephen Shaw NEGOTIATION
Leja O PerinBrazilBernardo Dominic PROPOSAL
Claire P FollerCanadaStephen Shaw PROPOSAL
Jennifer P WaycottCanadaAnna Fali RENEWAL
Jones Q DilliardArgentinaAmy Elsner NEGOTIATION
David F FlosiUnited KingdomOnyama Limba NEGOTIATION
Johnson N ChuiRussiaIoni Bowcher NEW
Darci W SergiArgentinaAmy Elsner UNQUALIFIED
Leon F MarrierItalyAmy Elsner RENEWAL
Wickens S BologniaUnited KingdomElwin Sharvill PROPOSAL
Adams T FlosiGermanyXuxue Feng UNQUALIFIED
Sinclair T InouyeArgentinaElwin Sharvill RENEWAL
Jones J GarufiItalyBernardo Dominic QUALIFIED
Jennifer G DoeAustraliaIvan Magalhaes QUALIFIED
Leon U VenereUnited KingdomOnyama Limba RENEWAL
Maria E GarufiIndiaAnna Fali RENEWAL
Emily D DilliardCanadaIoni Bowcher NEW
Kaitlin A StensethRussiaBernardo Dominic RENEWAL
Isabel B OldroydSpainXuxue Feng RENEWAL
Maria Q InouyeIndiaOnyama Limba UNQUALIFIED
Sinclair F NestleAustraliaElwin Sharvill QUALIFIED
Morrow W DilliardCanadaIoni Bowcher UNQUALIFIED
Rodrigues C CampainRussiaAsiya Javayant QUALIFIED
Frozen Columns
Name
Ricardo L Maclead
Silvio W Paprocki
Izzy A Oldroyd
Rodrigues E Rim
Maisha B Iturbide
Costa U Tollner
Maisha Q Kusko
Isabel D Campain
Arvin Q Campain
Sinclair P Malet
Aika F Perin
Julie J Flosi
Leon I Poquette
Adams V Bolognia
Misaki Q Foller
Stacey E Amigon
Ashley Q Morasca
Salvatore L Ferencz
Jefferson Z Rim
Francesco E Stockham
Izzy D Darakjy
Ashley N Wieser
Aruna M Iturbide
Sinclair K Wieser
Stacey Q Doe
Faith T Shinko
Costa G Perin
Mujtaba Y Tollner
Deepesh N Shinko
Mujtaba C Paprocki
Kadeem K Albares
Sinclair N Saylors
Kadeem K Caudy
Sinclair A Bowley
Octavia Q Maclead
Mayumi P Kolmetz
Munro W Saylors
Claire U Royster
Greenwood M Ruta
Mayumi C Iturbide
Chavez T Sergi
Jones Y Poquette
Munro O Oldroyd
Wickens C Campain
Stacey X Sergi
Costa Y Iturbide
Nicolas M Darakjy
Clifford O Garufi
Aika L Rulapaugh
Julie S Nestle
IdCountryDate
1000United Kingdom2025-04-03
1001Canada2025-04-18
1002Australia2025-04-17
1003France2025-04-12
1004Germany2025-04-14
1005United Kingdom2025-04-30
1006Italy2025-04-29
1007Brazil2025-04-24
1008Russia2025-04-16
1009Brazil2025-04-30
1010Brazil2025-04-18
1011Brazil2025-04-27
1012Spain2025-04-15
1013Brazil2025-04-07
1014Russia2025-04-22
1015United Kingdom2025-04-17
1016Australia2025-04-26
1017United Kingdom2025-04-06
1018Russia2025-04-27
1019Japan2025-04-02
1020Germany2025-04-28
1021Australia2025-04-08
1022Russia2025-05-01
1023India2025-04-20
1024India2025-04-23
1025Germany2025-04-21
1026France2025-04-26
1027Brazil2025-04-10
1028Japan2025-04-12
1029Japan2025-04-30
1030Brazil2025-04-03
1031Australia2025-04-23
1032Australia2025-04-12
1033Argentina2025-04-08
1034Brazil2025-04-03
1035Japan2025-04-06
1036United Kingdom2025-04-28
1037Australia2025-04-15
1038Australia2025-04-23
1039India2025-04-05
1040Australia2025-04-16
1041Russia2025-04-20
1042France2025-04-08
1043Russia2025-04-25
1044Canada2025-04-14
1045Italy2025-04-09
1046Argentina2025-04-09
1047Canada2025-04-15
1048Russia2025-04-20
1049Russia2025-04-30

On-Demand Data

NameIdCountryDate
Costa C Ruta1000Spain2025-04-04
Murillo K Iturbide1001Germany2025-04-23
Salvatore S Wieser1002Spain2025-04-13
Jefferson A Schemmer1003Germany2025-04-13
Jeanfrancois W Malet1004Australia2025-04-18
Silvio K Wieser1005United Kingdom2025-04-10
Aruna Q Marrier1006Canada2025-04-22
Darci L Gaucho1007Germany2025-04-08
Jefferson F Garufi1008Australia2025-04-17
Claire D Oldroyd1009Japan2025-04-04
Wickens Q Malet1010Germany2025-04-16
Clifford L Figeroa1011Italy2025-04-05
Izzy C Gaucho1012Germany2025-04-29
Nicolas I Foller1013Canada2025-04-21
Tony K Nicka1014France2025-04-06
Rodrigues R Wieser1015Russia2025-04-22
Munro A Nicka1016India2025-04-23
Kaitlin A Glick1017Japan2025-04-21
Ashley T Ferencz1018India2025-04-23
Cody N Doe1019France2025-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow V ButtArgentinaAmy Elsner RENEWAL
Antonio F AlbaresAustraliaAsiya Javayant RENEWAL
Silvio X KuskoAustraliaAmy Elsner NEW
Antonio D TollnerBrazilStephen Shaw QUALIFIED
Misaki F StockhamArgentinaIoni Bowcher UNQUALIFIED
Silvio D MacleadIndiaIvan Magalhaes RENEWAL
Murillo X WieserFranceElwin Sharvill UNQUALIFIED
Ricardo D KuskoSpainAsiya Javayant PROPOSAL
Tony N MaletItalyAmy Elsner RENEWAL
Cody P BriddickArgentinaBernardo Dominic PROPOSAL
Silvio O KuskoBrazilOnyama Limba QUALIFIED
Murillo G IturbideCanadaOnyama Limba NEW
Antonio N CaudyRussiaAsiya Javayant PROPOSAL
Sinclair Z CaldareraAustraliaAnna Fali NEGOTIATION
Mujtaba F PerinCanadaAsiya Javayant QUALIFIED
Emily V CampainArgentinaAmy Elsner NEGOTIATION
Ricardo C CampainUnited KingdomAmy Elsner UNQUALIFIED
Izzy I BowleyFranceElwin Sharvill NEGOTIATION
Emily V ButtUnited KingdomAsiya Javayant PROPOSAL
Silvio Z GarufiGermanyElwin Sharvill UNQUALIFIED
Wickens M VenereItalyAmy Elsner NEW
Aruna Z WieserIndiaOnyama Limba PROPOSAL
Munro Y AmigonBrazilIvan Magalhaes PROPOSAL
Morrow W CaudyAustraliaStephen Shaw NEGOTIATION
Antonio M VenereSpainElwin Sharvill UNQUALIFIED
Claire R WhobreyCanadaXuxue Feng QUALIFIED
Claire O TollnerRussiaXuxue Feng UNQUALIFIED
Octavia O RimGermanyAmy Elsner PROPOSAL
Mujtaba G MaletJapanIoni Bowcher RENEWAL
Munro K NickaArgentinaIvan Magalhaes RENEWAL
Octavia X WieserRussiaXuxue Feng NEGOTIATION
Ivar H DoeSpainOnyama Limba QUALIFIED
Kadeem Q GillianFranceAnna Fali RENEWAL
Antonio M SergiBrazilIvan Magalhaes PROPOSAL
Kaitlin U IturbideSpainBernardo Dominic PROPOSAL
Ivar F ChuiFranceStephen Shaw NEW
Ricardo K DoeUnited KingdomOnyama Limba QUALIFIED
Mujtaba P OldroydSpainStephen Shaw NEW
Morrow L GauchoArgentinaAsiya Javayant NEGOTIATION
Adams X BriddickGermanyIvan Magalhaes 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>