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
Mujtaba A WaycottAustraliaIvan Magalhaes NEW
Johnson L WieserArgentinaIvan Magalhaes NEW
Faith H MaletGermanyElwin Sharvill NEW
Arvin O SaylorsBrazilAsiya Javayant QUALIFIED
Sinclair X OldroydRussiaElwin Sharvill UNQUALIFIED
Leja T PerinAustraliaIvan Magalhaes QUALIFIED
Smith F TollnerAustraliaAnna Fali PROPOSAL
Izzy D StensethJapanBernardo Dominic UNQUALIFIED
James U GlickBrazilIoni Bowcher PROPOSAL
Darci P WaycottBrazilXuxue Feng UNQUALIFIED
Nicolas M WaycottCanadaIvan Magalhaes NEW
Maria F ChuiFranceXuxue Feng NEGOTIATION
Kaitlin D GillianCanadaXuxue Feng UNQUALIFIED
Mujtaba A PerinIndiaXuxue Feng NEW
Aditya N GarufiRussiaIoni Bowcher RENEWAL
Claire F RutaBrazilAmy Elsner NEW
Aditya F CaudyBrazilOnyama Limba PROPOSAL
Antonio W MaletSpainXuxue Feng NEW
Leja G FollerBrazilOnyama Limba NEW
Octavia T SchemmerBrazilBernardo Dominic NEGOTIATION
James K SaylorsSpainAnna Fali NEGOTIATION
Silvio S OstroskyCanadaAnna Fali NEW
Johnson E OstroskySpainOnyama Limba PROPOSAL
Maria B SergiIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois B GlickSpainAsiya Javayant RENEWAL
Faith N TollnerArgentinaStephen Shaw PROPOSAL
Ivar W BriddickAustraliaIvan Magalhaes PROPOSAL
Chavez C NickaUnited KingdomXuxue Feng UNQUALIFIED
Ivar I StockhamCanadaAsiya Javayant NEGOTIATION
Aika V DarakjyCanadaAmy Elsner UNQUALIFIED
Smith Q VocelkaSpainElwin Sharvill RENEWAL
Costa R GarufiRussiaAnna Fali PROPOSAL
Alejandro I GlickArgentinaStephen Shaw NEW
Aditya J DilliardFranceStephen Shaw QUALIFIED
Costa G FlosiFranceXuxue Feng PROPOSAL
Ashley H OldroydSpainAmy Elsner UNQUALIFIED
Morrow V RimJapanIoni Bowcher PROPOSAL
Jones A FollerIndiaAnna Fali QUALIFIED
Tony S IturbideSpainOnyama Limba UNQUALIFIED
Clifford X TollnerGermanyStephen Shaw NEW
Stacey R SlusarskiCanadaOnyama Limba NEW
Deepesh F ButtAustraliaAnna Fali RENEWAL
Stacey E KuskoItalyAsiya Javayant RENEWAL
Smith G BologniaSpainXuxue Feng RENEWAL
Claire U MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Costa E IturbideAustraliaAmy Elsner UNQUALIFIED
Murillo E StockhamGermanyBernardo Dominic NEW
Francesco N GauchoUnited KingdomIoni Bowcher QUALIFIED
Antonio M DarakjyRussiaOnyama Limba NEW
Silvio M FlosiBrazilAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Francesco D MarrierUnited KingdomAsiya Javayant RENEWAL
Jefferson F PoquetteCanadaStephen Shaw PROPOSAL
Ricardo C SergiSpainStephen Shaw UNQUALIFIED
Munro J DoeCanadaIvan Magalhaes RENEWAL
Munro P WaycottArgentinaOnyama Limba QUALIFIED
James L TollnerAustraliaIvan Magalhaes QUALIFIED
Mayumi A CampainUnited KingdomBernardo Dominic UNQUALIFIED
Maria O SergiAustraliaElwin Sharvill QUALIFIED
Ashley I CaudyIndiaAnna Fali QUALIFIED
Silvio P GlickRussiaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio W BowleyFrance2025-05-09Feltz Printing Service PROPOSAL89Anna Fali
1001Aditya Y OldroydFrance2025-05-29Chanay, Jeffrey A Esq RENEWAL45Asiya Javayant
1002Jennifer R FlosiRussia2025-05-16Chapman, Ross E Esq NEGOTIATION7Stephen Shaw
1003Julie O DilliardAustralia2025-05-26Morlong Associates QUALIFIED86Xuxue Feng
1004Stacey E CaldareraUnited Kingdom2025-05-10Dorl, James J Esq UNQUALIFIED87Elwin Sharvill
1005Sinclair C AmigonArgentina2025-05-24Rangoni Of Florence RENEWAL44Bernardo Dominic
1006Silvio J MaletSpain2025-06-05King, Christopher A Esq NEW55Ioni Bowcher
1007Arvin E DarakjyAustralia2025-05-11Feiner Bros PROPOSAL87Amy Elsner
1008Munro S ShinkoCanada2025-05-29Rangoni Of Florence NEGOTIATION53Ioni Bowcher
1009Mujtaba P FollerFrance2025-05-11Rangoni Of Florence UNQUALIFIED29Onyama Limba
1010Izzy P CaldareraArgentina2025-05-28Feiner Bros UNQUALIFIED11Onyama Limba
1011Mujtaba C MacleadRussia2025-05-10Rousseaux, Michael Esq NEW88Elwin Sharvill
1012Octavia K AmigonGermany2025-06-01Printing Dimensions NEGOTIATION40Amy Elsner
1013Maisha P CampainArgentina2025-05-26Chanay, Jeffrey A Esq QUALIFIED17Ioni Bowcher
1014Cody L StockhamBrazil2025-05-22Chapman, Ross E Esq NEW82Onyama Limba
1015Stacey P DoeJapan2025-05-30Rangoni Of Florence NEW20Xuxue Feng
1016Silvio Y RutaRussia2025-05-10Chemel, James L Cpa UNQUALIFIED28Bernardo Dominic
1017Murillo J DilliardSpain2025-05-19Rangoni Of Florence RENEWAL89Amy Elsner
1018Ricardo I PoquetteUnited Kingdom2025-05-20Printing Dimensions RENEWAL15Elwin Sharvill
1019Misaki C AmigonArgentina2025-05-21Chanay, Jeffrey A Esq QUALIFIED97Ivan Magalhaes
1020James S NestleAustralia2025-06-01Chapman, Ross E Esq NEGOTIATION66Elwin Sharvill
1021Darci C GarufiFrance2025-05-16Rangoni Of Florence RENEWAL35Asiya Javayant
1022Ashley W DoeAustralia2025-05-13Commercial Press NEW16Elwin Sharvill
1023Juan C BowleyBrazil2025-05-08Benton, John B Jr UNQUALIFIED47Onyama Limba
1024Salvatore N GarufiGermany2025-05-14Morlong Associates NEGOTIATION45Anna Fali
1025Julie K NestleRussia2025-05-27King, Christopher A Esq PROPOSAL79Ivan Magalhaes
1026Misaki L TollnerCanada2025-05-21Morlong Associates UNQUALIFIED78Amy Elsner
1027Jennifer M CampainJapan2025-05-07Rangoni Of Florence UNQUALIFIED92Ioni Bowcher
1028Ricardo K BologniaCanada2025-05-27Chapman, Ross E Esq UNQUALIFIED30Ioni Bowcher
1029Munro T AlbaresIndia2025-05-26Feltz Printing Service RENEWAL63Bernardo Dominic
1030Deepesh Z BriddickArgentina2025-05-23Rangoni Of Florence UNQUALIFIED49Elwin Sharvill
1031Jennifer X DarakjyAustralia2025-05-08Rangoni Of Florence NEGOTIATION67Elwin Sharvill
1032Darci F BowleyRussia2025-05-20King, Christopher A Esq NEW46Onyama Limba
1033Maisha M MarrierItaly2025-05-11Printing Dimensions RENEWAL5Onyama Limba
1034Cody X DarakjyArgentina2025-06-01Feltz Printing Service NEGOTIATION91Xuxue Feng
1035Cody R FigeroaUnited Kingdom2025-05-24Chemel, James L Cpa NEW94Anna Fali
1036Juan D SaylorsJapan2025-06-03Truhlar And Truhlar Attys RENEWAL47Amy Elsner
1037Rodrigues Y DoeBrazil2025-05-09Chemel, James L Cpa RENEWAL90Bernardo Dominic
1038Mujtaba D GarufiJapan2025-05-20King, Christopher A Esq QUALIFIED58Amy Elsner
1039Deepesh J NickaFrance2025-05-18Morlong Associates NEW48Elwin Sharvill
1040Jeanfrancois K KolmetzFrance2025-05-22Feiner Bros NEW57Stephen Shaw
1041David F OstroskyItaly2025-05-29Chemel, James L Cpa NEGOTIATION64Ivan Magalhaes
1042Rodrigues X MaletFrance2025-06-02Chapman, Ross E Esq UNQUALIFIED96Stephen Shaw
1043Cody N DilliardAustralia2025-05-31King, Christopher A Esq NEW55Ioni Bowcher
1044Morrow M FlosiItaly2025-05-23Chapman, Ross E Esq QUALIFIED72Onyama Limba
1045Adams J GillianJapan2025-06-01Chemel, James L Cpa NEGOTIATION7Onyama Limba
1046Deepesh Q DilliardFrance2025-05-19Morlong Associates NEW7Amy Elsner
1047Cody X SaylorsIndia2025-05-10Commercial Press NEGOTIATION26Asiya Javayant
1048Ashley K ButtRussia2025-05-29Feiner Bros NEGOTIATION56Bernardo Dominic
1049Francesco L BologniaAustralia2025-06-02Chanay, Jeffrey A Esq UNQUALIFIED53Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maisha B AmigonGermanyOnyama Limba PROPOSAL
James H GillianItalyIvan Magalhaes UNQUALIFIED
Ivar T IturbideAustraliaAsiya Javayant RENEWAL
Silvio H StensethJapanAmy Elsner PROPOSAL
James L BologniaAustraliaXuxue Feng UNQUALIFIED
Maisha I ChuiItalyAmy Elsner NEGOTIATION
Kadeem E SchemmerSpainStephen Shaw PROPOSAL
Ricardo O VenereIndiaIoni Bowcher NEGOTIATION
Morrow I TollnerFranceStephen Shaw NEW
Octavia E MaletUnited KingdomAmy Elsner RENEWAL
Maria O FerenczFranceAmy Elsner RENEWAL
Juan I MorascaArgentinaAmy Elsner PROPOSAL
Greenwood R SergiBrazilXuxue Feng NEW
Morrow V CaldareraJapanStephen Shaw UNQUALIFIED
Stacey U BriddickItalyAnna Fali NEW
Aika K SchemmerSpainBernardo Dominic NEGOTIATION
Darci N OldroydBrazilAnna Fali NEGOTIATION
Kaitlin G MaletItalyStephen Shaw RENEWAL
Cody P ChuiFranceElwin Sharvill NEGOTIATION
Mayumi A RulapaughAustraliaAmy Elsner RENEWAL
Maria X WaycottBrazilAsiya Javayant PROPOSAL
Costa T RutaJapanAsiya Javayant PROPOSAL
Jefferson G WieserBrazilIvan Magalhaes PROPOSAL
Salvatore E RulapaughRussiaXuxue Feng RENEWAL
Morrow A ChuiBrazilOnyama Limba PROPOSAL
Cody H GarufiUnited KingdomIvan Magalhaes NEW
Aruna J GlickJapanAnna Fali UNQUALIFIED
Nicolas A MarrierBrazilStephen Shaw NEW
Arvin M WhobreyJapanIoni Bowcher RENEWAL
Claire H FerenczJapanIoni Bowcher PROPOSAL
Stacey O BowleyJapanOnyama Limba NEW
Ivar H StensethSpainElwin Sharvill PROPOSAL
Clifford J CaudyArgentinaBernardo Dominic NEGOTIATION
Ivar U BowleyAustraliaAsiya Javayant QUALIFIED
Murillo D VenereFranceOnyama Limba RENEWAL
Leon O TollnerSpainStephen Shaw RENEWAL
Chavez T StensethCanadaStephen Shaw PROPOSAL
Morrow L PoquetteUnited KingdomOnyama Limba QUALIFIED
Kaitlin K WieserItalyOnyama Limba QUALIFIED
Tony G BowleyIndiaOnyama Limba NEGOTIATION
Aika L OstroskyGermanyAnna Fali RENEWAL
Sinclair T WhobreyBrazilOnyama Limba NEW
Antonio V RulapaughCanadaOnyama Limba NEGOTIATION
Mujtaba K RoysterRussiaBernardo Dominic UNQUALIFIED
Aruna C OldroydBrazilStephen Shaw NEGOTIATION
Wickens P FollerArgentinaAnna Fali PROPOSAL
Tony S CampainIndiaAmy Elsner RENEWAL
Rodrigues J MorascaUnited KingdomBernardo Dominic PROPOSAL
Antonio J CaudyFranceOnyama Limba NEW
Chavez C GillianAustraliaOnyama Limba NEGOTIATION
Frozen Columns
Name
Johnson U Venere
Aika P Venere
Costa H Butt
Aditya X Marrier
Leja E Stenseth
Ivar X Paprocki
Mujtaba A Gillian
Maisha C Gillian
Juan G Saylors
Isabel Y Bolognia
Aruna K Bowley
Mujtaba F Venere
Stacey M Dilliard
Jennifer K Butt
Jeanfrancois P Caldarera
Antonio M Saylors
Jones O Ruta
Silvio Z Albares
Salvatore K Inouye
Francesco I Bowley
Maisha J Oldroyd
Maria B Slusarski
Tony A Gaucho
Salvatore G Schemmer
Aruna X Waycott
Alejandro G Saylors
Cody W Bowley
Cody N Wieser
Wickens O Morasca
Cody X Malet
Aruna M Inouye
Ashley B Glick
Morrow D Doe
Kaitlin Q Caldarera
Murillo I Caldarera
Silvio E Malet
Francesco H Morasca
Chavez P Darakjy
Jones A Rim
Claire B Darakjy
Darci I Flosi
James D Kusko
Johnson T Gaucho
Jefferson Q Campain
Clifford K Rulapaugh
David A Campain
Tony A Tollner
Izzy Y Poquette
Julie H Tollner
Aditya F Caldarera
IdCountryDate
1000Canada2025-05-24
1001Brazil2025-05-08
1002Argentina2025-05-23
1003United Kingdom2025-05-26
1004France2025-06-01
1005Japan2025-06-02
1006Russia2025-05-19
1007Brazil2025-06-02
1008Australia2025-05-17
1009United Kingdom2025-05-18
1010France2025-05-27
1011India2025-05-11
1012Brazil2025-05-17
1013Italy2025-05-22
1014United Kingdom2025-05-23
1015Italy2025-05-17
1016Italy2025-06-05
1017India2025-05-19
1018Argentina2025-05-24
1019Italy2025-05-31
1020France2025-05-14
1021Japan2025-05-10
1022Russia2025-05-13
1023Australia2025-05-20
1024Germany2025-05-27
1025Italy2025-05-08
1026Germany2025-05-12
1027Spain2025-06-02
1028France2025-05-28
1029Spain2025-05-17
1030Germany2025-05-30
1031Germany2025-05-17
1032Australia2025-05-29
1033Russia2025-05-16
1034Italy2025-06-03
1035Spain2025-05-31
1036Argentina2025-05-24
1037Italy2025-05-07
1038United Kingdom2025-05-11
1039Italy2025-05-30
1040Spain2025-05-08
1041Canada2025-05-22
1042Russia2025-05-13
1043Russia2025-05-24
1044Germany2025-05-25
1045India2025-05-15
1046Argentina2025-05-13
1047Canada2025-05-07
1048Japan2025-05-31
1049Spain2025-05-31

On-Demand Data

NameIdCountryDate
Arvin B Bolognia1000Italy2025-05-30
Chavez J Slusarski1001Japan2025-05-15
Leja L Dilliard1002Japan2025-05-26
Darci V Maclead1003India2025-06-03
Claire Y Waycott1004Canada2025-05-15
Ricardo P Poquette1005Russia2025-05-26
Maisha Z Oldroyd1006Canada2025-05-10
Ivar R Caldarera1007Italy2025-05-23
Munro K Gaucho1008Germany2025-05-08
Jennifer Y Flosi1009India2025-05-23
Jeanfrancois B Perin1010Canada2025-06-04
Salvatore U Shinko1011Canada2025-05-22
Ivar G Malet1012Japan2025-05-19
Octavia B Ruta1013Australia2025-05-15
Cody X Poquette1014Argentina2025-05-21
Costa H Caudy1015Spain2025-05-28
Maisha U Iturbide1016Canada2025-05-31
Arvin C Butt1017Spain2025-05-09
Darci G Flosi1018France2025-05-19
Aruna Q Bolognia1019Spain2025-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi Q MaletRussiaBernardo Dominic UNQUALIFIED
Smith Y WieserSpainOnyama Limba RENEWAL
Darci I NickaGermanyBernardo Dominic PROPOSAL
Johnson X GlickFranceAsiya Javayant NEW
Kadeem G GillianUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson V DilliardJapanBernardo Dominic PROPOSAL
Mujtaba A FlosiItalyIvan Magalhaes NEW
Aruna X RoysterCanadaIoni Bowcher RENEWAL
Clifford Z RimSpainStephen Shaw NEGOTIATION
Claire K AmigonGermanyAsiya Javayant QUALIFIED
Izzy Q MacleadIndiaAsiya Javayant PROPOSAL
Octavia Y GillianSpainAsiya Javayant NEGOTIATION
Leon I OldroydBrazilOnyama Limba PROPOSAL
Maisha I KuskoAustraliaAsiya Javayant NEGOTIATION
Jennifer Q OstroskyRussiaIvan Magalhaes PROPOSAL
Darci K AlbaresFranceElwin Sharvill UNQUALIFIED
Tony W BowleyBrazilStephen Shaw QUALIFIED
Johnson T BriddickUnited KingdomStephen Shaw PROPOSAL
Aditya V AmigonUnited KingdomIoni Bowcher PROPOSAL
Aditya Z RimIndiaBernardo Dominic NEGOTIATION
Morrow L SaylorsUnited KingdomOnyama Limba PROPOSAL
Nicolas V DilliardIndiaOnyama Limba RENEWAL
Mujtaba W CampainIndiaStephen Shaw PROPOSAL
Munro G MaletAustraliaXuxue Feng NEW
Smith E FigeroaIndiaStephen Shaw NEW
Silvio I ChuiCanadaOnyama Limba UNQUALIFIED
Aika E ChuiAustraliaAsiya Javayant QUALIFIED
Sinclair E WhobreyRussiaBernardo Dominic UNQUALIFIED
Ivar G WaycottSpainAnna Fali PROPOSAL
Ricardo P StensethSpainIvan Magalhaes NEW
Kadeem R OstroskyUnited KingdomOnyama Limba NEGOTIATION
Maisha W IturbideAustraliaAsiya Javayant UNQUALIFIED
Murillo B MacleadFranceIvan Magalhaes NEGOTIATION
David Q GillianGermanyAmy Elsner PROPOSAL
Mujtaba K GillianArgentinaIvan Magalhaes RENEWAL
Aditya S KolmetzIndiaOnyama Limba NEW
Alejandro N RoysterRussiaStephen Shaw RENEWAL
Nicolas W WaycottJapanStephen Shaw UNQUALIFIED
Costa X RulapaughJapanIoni Bowcher RENEWAL
Wickens S VocelkaSpainElwin Sharvill RENEWAL

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