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
Jefferson N KolmetzSpainElwin Sharvill NEGOTIATION
Mujtaba D MaletCanadaIoni Bowcher UNQUALIFIED
Deepesh H GarufiAustraliaAsiya Javayant QUALIFIED
Octavia S FollerIndiaOnyama Limba NEW
Munro L PoquetteRussiaIvan Magalhaes QUALIFIED
Chavez P StensethSpainBernardo Dominic RENEWAL
Darci V VenereRussiaOnyama Limba NEW
Nicolas S FerenczRussiaBernardo Dominic QUALIFIED
David P MacleadAustraliaBernardo Dominic RENEWAL
Darci V MacleadGermanyAmy Elsner UNQUALIFIED
Isabel U TollnerArgentinaAnna Fali NEW
Aika V ButtItalyElwin Sharvill QUALIFIED
Faith P ShinkoUnited KingdomElwin Sharvill QUALIFIED
Maisha R FollerAustraliaElwin Sharvill NEGOTIATION
Aika F MarrierRussiaIvan Magalhaes QUALIFIED
Rodrigues B WieserJapanXuxue Feng UNQUALIFIED
Silvio M TollnerSpainOnyama Limba QUALIFIED
Maisha O PoquetteUnited KingdomAmy Elsner NEGOTIATION
Mayumi Z MacleadRussiaAsiya Javayant UNQUALIFIED
Antonio G InouyeItalyAnna Fali PROPOSAL
Mayumi O FlosiFranceOnyama Limba NEGOTIATION
Smith M CampainUnited KingdomIvan Magalhaes NEW
Morrow F FlosiArgentinaIoni Bowcher NEW
Jefferson V StockhamArgentinaBernardo Dominic NEW
Jennifer B WieserItalyIvan Magalhaes UNQUALIFIED
Cody H FollerIndiaBernardo Dominic NEGOTIATION
Darci W MaletBrazilAmy Elsner QUALIFIED
Arvin C AmigonAustraliaAnna Fali NEW
Rodrigues D MorascaRussiaElwin Sharvill RENEWAL
Deepesh M FlosiRussiaAmy Elsner NEW
Antonio B GillianRussiaStephen Shaw PROPOSAL
Cody A MarrierArgentinaIoni Bowcher RENEWAL
Chavez Y GillianAustraliaXuxue Feng PROPOSAL
Salvatore D AmigonAustraliaXuxue Feng PROPOSAL
Tony N DoeArgentinaIoni Bowcher QUALIFIED
Jennifer U MarrierIndiaXuxue Feng QUALIFIED
Tony D MorascaCanadaAmy Elsner NEGOTIATION
Octavia V GarufiSpainAnna Fali RENEWAL
Julie K MorascaIndiaAmy Elsner RENEWAL
Juan L InouyeBrazilIvan Magalhaes PROPOSAL
Claire K WaycottItalyBernardo Dominic PROPOSAL
Ivar B MaletSpainAnna Fali PROPOSAL
Izzy B FollerBrazilAmy Elsner PROPOSAL
Tony Z CampainArgentinaOnyama Limba QUALIFIED
Francesco R KolmetzCanadaAsiya Javayant RENEWAL
Cody G MaletFranceAmy Elsner UNQUALIFIED
Chavez B KolmetzGermanyAmy Elsner NEW
Chavez U AlbaresSpainAsiya Javayant NEW
Faith D PoquetteArgentinaXuxue Feng PROPOSAL
Greenwood F TollnerSpainIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Emily Z RoysterSpainAmy Elsner RENEWAL
Isabel H RulapaughBrazilXuxue Feng NEGOTIATION
David H TollnerGermanyBernardo Dominic NEGOTIATION
Adams C DarakjyCanadaElwin Sharvill QUALIFIED
Mujtaba D VenereBrazilIoni Bowcher PROPOSAL
Morrow M BologniaSpainAsiya Javayant QUALIFIED
Mujtaba C RutaJapanIoni Bowcher UNQUALIFIED
Leon D NickaFranceStephen Shaw UNQUALIFIED
Munro U DarakjyItalyAsiya Javayant PROPOSAL
Smith K OldroydRussiaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan B WaycottRussia2025-04-16King, Christopher A Esq PROPOSAL41Xuxue Feng
1001Maria H SlusarskiArgentina2025-04-25Truhlar And Truhlar Attys NEGOTIATION41Ioni Bowcher
1002Isabel K PoquetteUnited Kingdom2025-04-24Commercial Press QUALIFIED85Amy Elsner
1003Alejandro W NickaArgentina2025-04-28Rangoni Of Florence UNQUALIFIED16Xuxue Feng
1004Murillo N SlusarskiIndia2025-04-15Chapman, Ross E Esq UNQUALIFIED42Asiya Javayant
1005Salvatore L FerenczCanada2025-04-17Dorl, James J Esq QUALIFIED35Anna Fali
1006Ashley E BowleyArgentina2025-04-17Chemel, James L Cpa RENEWAL79Ivan Magalhaes
1007David K NickaAustralia2025-04-07King, Christopher A Esq NEGOTIATION86Elwin Sharvill
1008Leja A AlbaresJapan2025-04-17Printing Dimensions QUALIFIED57Ioni Bowcher
1009James V RoysterArgentina2025-04-07Buckley Miller Wright NEGOTIATION44Onyama Limba
1010James M KuskoSpain2025-04-19Truhlar And Truhlar Attys RENEWAL8Ivan Magalhaes
1011Jones U GauchoArgentina2025-04-12King, Christopher A Esq QUALIFIED24Ivan Magalhaes
1012Deepesh Y DilliardFrance2025-04-20Chanay, Jeffrey A Esq QUALIFIED64Stephen Shaw
1013Mayumi L ButtAustralia2025-04-15Feltz Printing Service NEGOTIATION1Onyama Limba
1014Maisha X NestleAustralia2025-04-27Benton, John B Jr QUALIFIED68Xuxue Feng
1015Maisha M RimItaly2025-04-09King, Christopher A Esq RENEWAL2Bernardo Dominic
1016Aditya S MaletJapan2025-04-06Commercial Press RENEWAL39Asiya Javayant
1017Mayumi D SchemmerBrazil2025-04-01Rousseaux, Michael Esq RENEWAL99Asiya Javayant
1018Francesco A VenereRussia2025-04-23Buckley Miller Wright PROPOSAL30Anna Fali
1019Misaki X ChuiRussia2025-04-26Commercial Press QUALIFIED26Asiya Javayant
1020Julie D SergiArgentina2025-04-28King, Christopher A Esq UNQUALIFIED0Onyama Limba
1021Isabel G GauchoRussia2025-04-12Chanay, Jeffrey A Esq UNQUALIFIED39Xuxue Feng
1022Silvio N OstroskyBrazil2025-04-11Benton, John B Jr NEW14Anna Fali
1023Maria T RulapaughArgentina2025-04-10Dorl, James J Esq QUALIFIED89Stephen Shaw
1024Claire Y InouyeItaly2025-04-07Benton, John B Jr UNQUALIFIED5Elwin Sharvill
1025Isabel K CampainRussia2025-04-04King, Christopher A Esq UNQUALIFIED40Elwin Sharvill
1026Leon U SlusarskiJapan2025-04-01Chapman, Ross E Esq QUALIFIED11Stephen Shaw
1027Alejandro I MorascaBrazil2025-04-29Chapman, Ross E Esq UNQUALIFIED60Xuxue Feng
1028Rodrigues R DilliardJapan2025-04-11Morlong Associates PROPOSAL99Amy Elsner
1029Aruna M MaletFrance2025-04-25Truhlar And Truhlar Attys NEW57Elwin Sharvill
1030Isabel U SergiBrazil2025-04-20Rangoni Of Florence QUALIFIED67Onyama Limba
1031James X RutaIndia2025-04-22Rousseaux, Michael Esq RENEWAL49Onyama Limba
1032Kaitlin U ChuiFrance2025-04-15Rangoni Of Florence NEGOTIATION89Asiya Javayant
1033Adams T TollnerFrance2025-04-28Chemel, James L Cpa UNQUALIFIED53Ivan Magalhaes
1034James X SergiJapan2025-04-25Benton, John B Jr RENEWAL97Bernardo Dominic
1035Julie T BowleyAustralia2025-04-25Printing Dimensions NEGOTIATION98Asiya Javayant
1036Jones R WhobreyJapan2025-04-04Rangoni Of Florence RENEWAL52Anna Fali
1037Aditya T MaletBrazil2025-04-30Printing Dimensions NEW77Onyama Limba
1038Isabel Q WieserJapan2025-04-12Printing Dimensions NEW27Anna Fali
1039Claire U FlosiJapan2025-04-15Morlong Associates UNQUALIFIED80Onyama Limba
1040Clifford R InouyeJapan2025-04-11Feiner Bros PROPOSAL79Bernardo Dominic
1041Darci U TollnerAustralia2025-04-03Truhlar And Truhlar Attys QUALIFIED25Ivan Magalhaes
1042Costa Y IturbideSpain2025-04-28Rangoni Of Florence NEW69Anna Fali
1043Jones R GauchoRussia2025-04-25King, Christopher A Esq PROPOSAL35Bernardo Dominic
1044Jones H KolmetzJapan2025-04-14Chapman, Ross E Esq PROPOSAL9Asiya Javayant
1045Emily Z PaprockiArgentina2025-04-14Rangoni Of Florence RENEWAL69Elwin Sharvill
1046Claire V RoysterFrance2025-04-12Chemel, James L Cpa NEGOTIATION45Stephen Shaw
1047Silvio B StockhamUnited Kingdom2025-04-23Rangoni Of Florence RENEWAL54Bernardo Dominic
1048Johnson V MacleadFrance2025-04-08Rangoni Of Florence UNQUALIFIED10Xuxue Feng
1049Jeanfrancois T DilliardJapan2025-04-11Rousseaux, Michael Esq NEGOTIATION80Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ivar C WhobreyCanadaBernardo Dominic NEGOTIATION
Alejandro Z MaletCanadaStephen Shaw RENEWAL
Ricardo K PaprockiGermanyIoni Bowcher QUALIFIED
Jeanfrancois B DarakjyItalyAmy Elsner NEGOTIATION
Leon L MaletArgentinaOnyama Limba QUALIFIED
Chavez H FollerItalyBernardo Dominic NEGOTIATION
Ivar H SergiFranceBernardo Dominic PROPOSAL
Kaitlin B SergiAustraliaBernardo Dominic PROPOSAL
Alejandro A BriddickRussiaBernardo Dominic NEW
Deepesh F WieserAustraliaAmy Elsner NEW
Mujtaba N SlusarskiFranceOnyama Limba NEW
Arvin T GauchoJapanXuxue Feng NEGOTIATION
Ricardo G ButtBrazilIvan Magalhaes UNQUALIFIED
Silvio O GauchoBrazilAmy Elsner RENEWAL
Leja U DilliardIndiaAnna Fali RENEWAL
Deepesh P StockhamItalyIvan Magalhaes QUALIFIED
Kadeem H KuskoBrazilBernardo Dominic RENEWAL
Costa Z RulapaughItalyIvan Magalhaes QUALIFIED
Cody D RutaArgentinaAsiya Javayant RENEWAL
Juan X GlickArgentinaAmy Elsner RENEWAL
Juan V ShinkoBrazilOnyama Limba NEGOTIATION
Kaitlin H MaletCanadaAsiya Javayant PROPOSAL
Jennifer A SchemmerSpainIvan Magalhaes UNQUALIFIED
Ricardo A RoysterUnited KingdomAmy Elsner NEW
Jeanfrancois B BriddickGermanyXuxue Feng NEW
Wickens E CampainItalyElwin Sharvill PROPOSAL
Maisha E SlusarskiItalyAsiya Javayant PROPOSAL
Murillo R AlbaresArgentinaAnna Fali PROPOSAL
Jennifer P WaycottUnited KingdomOnyama Limba UNQUALIFIED
Chavez R FigeroaItalyElwin Sharvill NEW
Adams W RimItalyBernardo Dominic NEW
Emily K RutaSpainAsiya Javayant QUALIFIED
Greenwood J OstroskyArgentinaAmy Elsner NEW
Aika F PerinCanadaAsiya Javayant NEW
Francesco H DilliardCanadaStephen Shaw NEGOTIATION
Greenwood Q SchemmerJapanXuxue Feng PROPOSAL
Cody Q MorascaCanadaBernardo Dominic QUALIFIED
Mayumi D AmigonAustraliaBernardo Dominic UNQUALIFIED
Adams M GauchoAustraliaXuxue Feng NEW
Juan C MacleadAustraliaIoni Bowcher RENEWAL
Silvio O NestleBrazilIvan Magalhaes NEW
Kadeem K FigeroaCanadaAmy Elsner NEW
Costa B MacleadSpainAsiya Javayant NEGOTIATION
Costa O MaletItalyStephen Shaw NEGOTIATION
Isabel N GarufiJapanStephen Shaw QUALIFIED
Alejandro J StockhamItalyAmy Elsner QUALIFIED
Jeanfrancois O VenereAustraliaAmy Elsner UNQUALIFIED
Jefferson R MaletGermanyOnyama Limba RENEWAL
Emily O SlusarskiSpainIvan Magalhaes PROPOSAL
Aruna X DilliardRussiaAnna Fali QUALIFIED
Frozen Columns
Name
Jennifer A Bolognia
Greenwood F Waycott
Sinclair T Dilliard
Cody A Bowley
Nicolas W Foller
Wickens W Doe
Clifford T Flosi
Jennifer S Royster
Octavia K Paprocki
Greenwood Z Foller
Aruna A Nicka
Maisha U Slusarski
Isabel O Royster
Murillo N Ruta
Julie U Ostrosky
Costa V Flosi
Ashley K Glick
David E Iturbide
Francesco J Waycott
Izzy T Vocelka
Mayumi Y Tollner
Maria Y Maclead
Antonio F Caldarera
Darci F Iturbide
Francesco J Perin
Kaitlin G Kolmetz
Kaitlin J Ostrosky
Morrow J Albares
Mayumi C Whobrey
Munro V Ferencz
Kadeem V Flosi
Francesco N Briddick
Morrow S Glick
Jennifer V Whobrey
Ashley R Tollner
Antonio P Foller
Jeanfrancois U Stockham
Johnson Z Albares
Jeanfrancois F Paprocki
Arvin E Vocelka
Deepesh X Glick
Leon Q Amigon
Rodrigues Z Gaucho
Aruna N Chui
Munro B Slusarski
Julie D Briddick
Aika J Nicka
Morrow P Poquette
Stacey B Iturbide
Ivar O Nicka
IdCountryDate
1000Spain2025-04-18
1001Italy2025-04-22
1002Italy2025-04-02
1003Germany2025-04-20
1004Brazil2025-04-18
1005France2025-04-01
1006Japan2025-04-13
1007Germany2025-04-28
1008Russia2025-04-04
1009France2025-04-13
1010India2025-04-02
1011United Kingdom2025-04-18
1012Argentina2025-04-10
1013Japan2025-04-18
1014France2025-04-30
1015Argentina2025-04-29
1016Canada2025-04-19
1017France2025-04-02
1018Canada2025-04-21
1019Brazil2025-04-12
1020Australia2025-04-17
1021United Kingdom2025-04-12
1022Japan2025-04-30
1023Spain2025-04-20
1024France2025-04-13
1025Russia2025-04-14
1026Spain2025-04-14
1027Australia2025-04-09
1028Germany2025-04-27
1029Japan2025-04-15
1030Germany2025-04-01
1031Spain2025-04-07
1032Spain2025-04-09
1033France2025-04-14
1034Japan2025-04-25
1035France2025-04-03
1036United Kingdom2025-04-21
1037Brazil2025-04-21
1038Russia2025-04-14
1039Spain2025-04-13
1040United Kingdom2025-04-20
1041Italy2025-04-17
1042France2025-04-01
1043Spain2025-04-02
1044Canada2025-04-15
1045Germany2025-04-21
1046Russia2025-04-04
1047Japan2025-04-04
1048Japan2025-04-04
1049Russia2025-04-16

On-Demand Data

NameIdCountryDate
Juan A Poquette1000Argentina2025-04-21
Kadeem L Malet1001Canada2025-04-05
Smith X Ferencz1002Germany2025-04-05
Maisha W Campain1003Spain2025-04-20
Leon R Garufi1004India2025-04-01
David Z Bolognia1005Russia2025-04-09
Silvio R Caudy1006Spain2025-04-05
Faith U Oldroyd1007Russia2025-04-02
Antonio R Vocelka1008Germany2025-04-03
Ivar A Nicka1009United Kingdom2025-04-24
Jones Z Glick1010India2025-04-23
Maria L Tollner1011Australia2025-04-02
Adams J Malet1012Australia2025-04-06
Rodrigues R Kolmetz1013Canada2025-04-22
Deepesh Y Inouye1014United Kingdom2025-04-07
Murillo T Morasca1015Russia2025-04-25
James V Wieser1016Spain2025-04-28
Octavia O Caldarera1017India2025-04-17
Leja J Stenseth1018United Kingdom2025-04-09
Munro U Rulapaugh1019Argentina2025-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore N WhobreyArgentinaBernardo Dominic QUALIFIED
Izzy Q OstroskySpainStephen Shaw UNQUALIFIED
Johnson Y DilliardRussiaElwin Sharvill RENEWAL
Aika N DilliardBrazilIoni Bowcher QUALIFIED
Mayumi L GauchoItalyStephen Shaw QUALIFIED
Ricardo K PerinAustraliaIvan Magalhaes UNQUALIFIED
Deepesh R MarrierSpainStephen Shaw NEGOTIATION
Antonio O MarrierBrazilIoni Bowcher QUALIFIED
Aruna J BriddickSpainXuxue Feng NEW
Antonio Q VocelkaJapanAmy Elsner NEGOTIATION
Aika W VocelkaSpainOnyama Limba RENEWAL
Ashley N WhobreyArgentinaOnyama Limba QUALIFIED
Chavez D FerenczGermanyStephen Shaw NEGOTIATION
Juan U ShinkoJapanOnyama Limba RENEWAL
Munro F NestleItalyIvan Magalhaes QUALIFIED
Aika V PoquetteJapanOnyama Limba NEGOTIATION
Wickens P ShinkoItalyAsiya Javayant NEGOTIATION
Stacey Q GarufiArgentinaIoni Bowcher RENEWAL
Jeanfrancois Y InouyeCanadaBernardo Dominic PROPOSAL
Aruna P SlusarskiAustraliaOnyama Limba UNQUALIFIED
Leon F KolmetzRussiaIoni Bowcher PROPOSAL
Johnson A AmigonArgentinaStephen Shaw PROPOSAL
Kaitlin A StockhamItalyStephen Shaw NEGOTIATION
Francesco W OstroskyBrazilStephen Shaw RENEWAL
David X FollerJapanElwin Sharvill NEGOTIATION
Jefferson J SchemmerCanadaAmy Elsner NEW
Aditya I SaylorsRussiaElwin Sharvill NEGOTIATION
Ashley H BologniaIndiaStephen Shaw RENEWAL
Kaitlin Y FollerSpainElwin Sharvill UNQUALIFIED
Wickens W InouyeJapanIoni Bowcher RENEWAL
Clifford E FerenczJapanAmy Elsner UNQUALIFIED
Claire M RimSpainAmy Elsner RENEWAL
Mayumi R KuskoIndiaOnyama Limba QUALIFIED
Aika W RoysterGermanyBernardo Dominic NEW
Sinclair T InouyeGermanyAnna Fali NEW
Salvatore A NickaJapanElwin Sharvill PROPOSAL
Munro A VenereJapanAnna Fali UNQUALIFIED
Francesco F KolmetzArgentinaElwin Sharvill NEGOTIATION
Juan F BowleyItalyBernardo Dominic NEW
James M WhobreySpainBernardo Dominic 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>