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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Alejandro E RulapaughAustraliaBernardo Dominic UNQUALIFIED
Arvin B VenereItalyAsiya Javayant NEW
Clifford Z SaylorsFranceAsiya Javayant QUALIFIED
Wickens V SergiArgentinaElwin Sharvill NEW
David A AmigonGermanyBernardo Dominic NEGOTIATION
Izzy U WaycottJapanBernardo Dominic NEGOTIATION
Murillo C RoysterGermanyBernardo Dominic UNQUALIFIED
Julie Z TollnerSpainAnna Fali RENEWAL
Sinclair U FollerGermanyAsiya Javayant RENEWAL
Chavez S ButtRussiaElwin Sharvill NEGOTIATION
Aditya E VenereItalyBernardo Dominic UNQUALIFIED
Smith Q DilliardJapanXuxue Feng NEW
Ashley C MacleadSpainAsiya Javayant NEGOTIATION
Octavia Q FerenczAustraliaBernardo Dominic PROPOSAL
David F AlbaresRussiaBernardo Dominic NEW
Mayumi X GillianBrazilBernardo Dominic RENEWAL
Isabel G FlosiArgentinaXuxue Feng QUALIFIED
Aditya B PoquetteGermanyIvan Magalhaes RENEWAL
Smith V DilliardRussiaXuxue Feng NEGOTIATION
Morrow M RoysterCanadaStephen Shaw UNQUALIFIED
Salvatore W CampainFranceAnna Fali UNQUALIFIED
Silvio P InouyeCanadaIvan Magalhaes PROPOSAL
Izzy K TollnerFranceIvan Magalhaes RENEWAL
Aruna A MacleadGermanyIvan Magalhaes NEGOTIATION
Adams D MacleadArgentinaElwin Sharvill UNQUALIFIED
Aruna H SlusarskiItalyAmy Elsner QUALIFIED
Costa Z SchemmerJapanOnyama Limba RENEWAL
Salvatore Z BologniaUnited KingdomXuxue Feng RENEWAL
James V CaudyUnited KingdomAsiya Javayant NEGOTIATION
Silvio T RimItalyBernardo Dominic RENEWAL
Mayumi W OstroskyCanadaIoni Bowcher NEW
Mayumi V GarufiAustraliaAnna Fali UNQUALIFIED
Alejandro N MacleadIndiaAnna Fali NEW
Ivar A CaldareraBrazilElwin Sharvill NEW
Faith O CaldareraJapanAsiya Javayant PROPOSAL
Morrow B CaldareraRussiaXuxue Feng RENEWAL
Aditya K StensethCanadaOnyama Limba UNQUALIFIED
Maria P RutaItalyStephen Shaw NEW
Emily H StockhamRussiaStephen Shaw PROPOSAL
Antonio W FlosiGermanyStephen Shaw RENEWAL
Mujtaba M NestleIndiaIoni Bowcher NEW
Claire G OstroskyRussiaAmy Elsner PROPOSAL
Ashley U GlickCanadaIoni Bowcher QUALIFIED
Smith U DarakjyArgentinaElwin Sharvill UNQUALIFIED
Juan V BologniaIndiaOnyama Limba NEGOTIATION
Faith F PaprockiGermanyAnna Fali PROPOSAL
Maria E AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Ivar D ShinkoAustraliaOnyama Limba UNQUALIFIED
Chavez O FigeroaJapanIoni Bowcher NEW
Salvatore D BowleyBrazilOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel J SchemmerGermanyIoni Bowcher RENEWAL
Johnson M FigeroaFranceAsiya Javayant NEW
Nicolas M WaycottJapanAsiya Javayant PROPOSAL
Alejandro Z IturbideGermanyBernardo Dominic PROPOSAL
Smith M ButtItalyStephen Shaw RENEWAL
Jefferson G AmigonFranceXuxue Feng NEW
Greenwood B SaylorsCanadaBernardo Dominic UNQUALIFIED
Aruna F OldroydAustraliaIoni Bowcher UNQUALIFIED
Ricardo H ShinkoBrazilAsiya Javayant QUALIFIED
David K GillianIndiaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna M StensethBrazil2025-06-12Chapman, Ross E Esq QUALIFIED52Anna Fali
1001Octavia C FerenczIndia2025-06-11Rangoni Of Florence NEW60Elwin Sharvill
1002Sinclair F NestleAustralia2025-06-05Rangoni Of Florence NEW56Elwin Sharvill
1003Juan M RoysterGermany2025-06-23Rangoni Of Florence RENEWAL94Asiya Javayant
1004Adams W MorascaUnited Kingdom2025-06-15Rangoni Of Florence UNQUALIFIED99Stephen Shaw
1005Ashley G MaletSpain2025-06-08Chanay, Jeffrey A Esq NEGOTIATION67Elwin Sharvill
1006Ricardo P StensethJapan2025-06-04Benton, John B Jr UNQUALIFIED19Amy Elsner
1007Morrow A OldroydAustralia2025-06-28Commercial Press NEW88Amy Elsner
1008Cody Q KuskoItaly2025-06-21Printing Dimensions NEW79Ioni Bowcher
1009Francesco U WhobreyAustralia2025-06-24Chanay, Jeffrey A Esq UNQUALIFIED58Ivan Magalhaes
1010Isabel K BologniaArgentina2025-06-12King, Christopher A Esq UNQUALIFIED41Onyama Limba
1011Leon D DarakjyItaly2025-06-01Chapman, Ross E Esq NEGOTIATION1Ioni Bowcher
1012Smith D CaudyBrazil2025-06-01Truhlar And Truhlar Attys QUALIFIED62Anna Fali
1013Greenwood C AlbaresAustralia2025-06-04Chemel, James L Cpa NEW29Ioni Bowcher
1014David B ChuiCanada2025-06-10Benton, John B Jr PROPOSAL98Anna Fali
1015Jeanfrancois J MaletIndia2025-06-01Commercial Press RENEWAL91Anna Fali
1016Costa B FigeroaJapan2025-06-05Rangoni Of Florence PROPOSAL76Onyama Limba
1017James V FigeroaRussia2025-06-13Chapman, Ross E Esq UNQUALIFIED5Amy Elsner
1018Arvin T SchemmerIndia2025-06-18Rangoni Of Florence RENEWAL85Stephen Shaw
1019Ashley Y BriddickCanada2025-06-10Feltz Printing Service UNQUALIFIED75Elwin Sharvill
1020Izzy V RimFrance2025-06-08King, Christopher A Esq UNQUALIFIED75Asiya Javayant
1021Nicolas N BowleyBrazil2025-06-03Feiner Bros NEW62Onyama Limba
1022Arvin U AmigonJapan2025-06-13Chapman, Ross E Esq UNQUALIFIED35Bernardo Dominic
1023Ivar M MaletIndia2025-06-23Feltz Printing Service NEGOTIATION18Ivan Magalhaes
1024Arvin X RimArgentina2025-06-21Benton, John B Jr RENEWAL30Stephen Shaw
1025Ricardo L ChuiSpain2025-06-29Rousseaux, Michael Esq RENEWAL66Xuxue Feng
1026Morrow Q ShinkoJapan2025-06-18Commercial Press NEGOTIATION68Amy Elsner
1027Jeanfrancois E SergiAustralia2025-06-26Chemel, James L Cpa NEGOTIATION29Amy Elsner
1028Julie I OldroydUnited Kingdom2025-06-09Printing Dimensions NEGOTIATION93Elwin Sharvill
1029Jones R KolmetzUnited Kingdom2025-06-13Rangoni Of Florence UNQUALIFIED76Xuxue Feng
1030Izzy K GlickSpain2025-06-20Chapman, Ross E Esq NEGOTIATION72Ivan Magalhaes
1031Munro S CampainIndia2025-06-28Chemel, James L Cpa NEW13Elwin Sharvill
1032Mujtaba U CaudyIndia2025-06-21King, Christopher A Esq UNQUALIFIED85Anna Fali
1033Greenwood S DoeJapan2025-06-28Rangoni Of Florence NEGOTIATION98Xuxue Feng
1034Morrow U VocelkaBrazil2025-06-02King, Christopher A Esq RENEWAL45Anna Fali
1035Leon F DoeJapan2025-06-19Truhlar And Truhlar Attys NEW76Bernardo Dominic
1036Leja Y WieserBrazil2025-06-04Rousseaux, Michael Esq UNQUALIFIED97Asiya Javayant
1037Aruna O CampainUnited Kingdom2025-06-20Chanay, Jeffrey A Esq RENEWAL59Stephen Shaw
1038Antonio X VenereCanada2025-06-14Buckley Miller Wright QUALIFIED86Stephen Shaw
1039Juan R SlusarskiRussia2025-06-20Chanay, Jeffrey A Esq NEGOTIATION94Xuxue Feng
1040Deepesh G SergiFrance2025-06-19Feltz Printing Service NEGOTIATION42Bernardo Dominic
1041Kadeem F MarrierSpain2025-06-01Rousseaux, Michael Esq NEGOTIATION85Ivan Magalhaes
1042Clifford P StockhamBrazil2025-06-12King, Christopher A Esq UNQUALIFIED6Bernardo Dominic
1043Clifford I MorascaSpain2025-06-26Printing Dimensions RENEWAL46Onyama Limba
1044Stacey G RulapaughUnited Kingdom2025-06-14Printing Dimensions QUALIFIED54Asiya Javayant
1045Ivar G GarufiCanada2025-06-17Feltz Printing Service NEW92Ioni Bowcher
1046Stacey N FollerUnited Kingdom2025-06-22Chemel, James L Cpa NEGOTIATION0Onyama Limba
1047James Q ButtIndia2025-06-25Feiner Bros QUALIFIED62Stephen Shaw
1048Chavez I GauchoArgentina2025-06-10Printing Dimensions NEGOTIATION78Xuxue Feng
1049Octavia S MarrierArgentina2025-06-18Dorl, James J Esq NEW95Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Francesco K MarrierAustraliaAmy Elsner NEW
Ashley E VenereAustraliaAnna Fali RENEWAL
Salvatore Q GlickRussiaElwin Sharvill NEW
Aika I PoquetteGermanyAsiya Javayant QUALIFIED
Greenwood B CaldareraArgentinaOnyama Limba RENEWAL
Munro D FlosiItalyElwin Sharvill QUALIFIED
Juan N InouyeBrazilBernardo Dominic QUALIFIED
Silvio D AlbaresIndiaXuxue Feng RENEWAL
Jefferson W WhobreySpainXuxue Feng QUALIFIED
Kaitlin V GauchoFranceOnyama Limba UNQUALIFIED
Juan K FerenczBrazilElwin Sharvill NEGOTIATION
Munro V PoquetteItalyAmy Elsner QUALIFIED
Jeanfrancois W BologniaItalyElwin Sharvill NEGOTIATION
Mujtaba W CampainArgentinaIoni Bowcher QUALIFIED
Claire U GauchoJapanStephen Shaw UNQUALIFIED
Antonio N FlosiBrazilAnna Fali UNQUALIFIED
Juan I RimFranceBernardo Dominic QUALIFIED
Jennifer Y ChuiIndiaElwin Sharvill RENEWAL
Wickens C FigeroaGermanyAmy Elsner NEGOTIATION
Maria H StockhamArgentinaAsiya Javayant QUALIFIED
Salvatore S VenereBrazilAnna Fali PROPOSAL
Stacey V VocelkaArgentinaIvan Magalhaes NEGOTIATION
Stacey A RimArgentinaIvan Magalhaes RENEWAL
Greenwood W NickaSpainStephen Shaw RENEWAL
Ricardo V OstroskyGermanyIvan Magalhaes RENEWAL
Aruna W SlusarskiSpainOnyama Limba RENEWAL
Munro P AlbaresRussiaIvan Magalhaes NEGOTIATION
Jennifer F PerinGermanyStephen Shaw UNQUALIFIED
James J TollnerFranceBernardo Dominic RENEWAL
Kaitlin L CaldareraCanadaIvan Magalhaes NEGOTIATION
Antonio V FollerIndiaOnyama Limba RENEWAL
Costa H MacleadJapanIoni Bowcher QUALIFIED
Leja R DoeAustraliaAsiya Javayant NEW
James N StensethFranceStephen Shaw UNQUALIFIED
Arvin Q CaldareraArgentinaAmy Elsner NEGOTIATION
Clifford U DoeFranceElwin Sharvill NEGOTIATION
Aika L IturbideAustraliaAsiya Javayant RENEWAL
Aika Y IturbideAustraliaIvan Magalhaes QUALIFIED
Sinclair R CaudyArgentinaIvan Magalhaes QUALIFIED
Misaki W StockhamRussiaAmy Elsner PROPOSAL
Maria L MacleadUnited KingdomAsiya Javayant NEGOTIATION
Murillo L StockhamArgentinaAnna Fali NEGOTIATION
Deepesh G RutaCanadaAnna Fali UNQUALIFIED
Jeanfrancois F GauchoAustraliaIoni Bowcher QUALIFIED
Murillo H PerinBrazilAmy Elsner RENEWAL
Arvin B MacleadArgentinaAnna Fali UNQUALIFIED
Adams B RulapaughFranceIvan Magalhaes NEW
Clifford R ShinkoJapanAnna Fali RENEWAL
Faith S MacleadItalyIoni Bowcher PROPOSAL
Claire C MaletSpainXuxue Feng RENEWAL
Frozen Columns
Name
Leja P Kolmetz
Kadeem Q Campain
Juan Q Bowley
Claire X Figeroa
Izzy Q Inouye
Aruna W Maclead
Jeanfrancois O Morasca
Murillo T Whobrey
Emily X Albares
Claire R Malet
Francesco H Ostrosky
David Y Marrier
Morrow W Darakjy
Jeanfrancois M Iturbide
Aditya W Ruta
Tony U Morasca
Alejandro Q Garufi
Adams Z Glick
Alejandro E Bolognia
Isabel G Perin
Alejandro L Poquette
Kaitlin K Flosi
Aika O Darakjy
Isabel D Ostrosky
Jeanfrancois A Wieser
Misaki R Bowley
Francesco W Marrier
David K Butt
Arvin G Poquette
Claire C Morasca
Jeanfrancois Z Poquette
David Y Schemmer
Izzy Y Schemmer
Antonio O Malet
Isabel R Flosi
Adams E Ostrosky
Aditya Y Caldarera
Jones W Iturbide
Isabel G Bowley
Arvin P Kusko
Leon A Malet
Clifford E Nestle
Aruna V Marrier
Salvatore P Marrier
Maisha B Stockham
Greenwood D Briddick
Alejandro E Slusarski
Claire B Stockham
Clifford H Stockham
Francesco L Venere
IdCountryDate
1000Canada2025-06-23
1001Russia2025-06-11
1002Australia2025-06-17
1003Canada2025-06-28
1004Canada2025-06-08
1005Spain2025-06-25
1006Italy2025-06-05
1007Italy2025-06-20
1008Canada2025-06-22
1009Germany2025-06-03
1010Japan2025-06-23
1011Germany2025-06-15
1012Canada2025-06-15
1013Brazil2025-06-15
1014Canada2025-06-05
1015Australia2025-06-21
1016United Kingdom2025-06-12
1017Australia2025-06-26
1018Italy2025-05-31
1019United Kingdom2025-06-02
1020Australia2025-06-23
1021Italy2025-06-26
1022Canada2025-05-31
1023India2025-06-27
1024Brazil2025-06-20
1025Australia2025-06-10
1026Australia2025-06-15
1027India2025-06-06
1028Italy2025-05-31
1029Japan2025-06-17
1030Argentina2025-06-28
1031Spain2025-06-13
1032France2025-06-19
1033India2025-06-07
1034Australia2025-06-16
1035Italy2025-06-05
1036Spain2025-06-11
1037India2025-06-13
1038Argentina2025-06-10
1039Spain2025-06-14
1040Germany2025-06-12
1041Germany2025-06-11
1042Spain2025-06-11
1043France2025-06-10
1044Canada2025-06-20
1045France2025-06-19
1046Argentina2025-06-02
1047United Kingdom2025-06-15
1048Australia2025-06-26
1049India2025-06-10

On-Demand Data

NameIdCountryDate
Deepesh Y Stockham1000Argentina2025-06-27
Deepesh N Shinko1001Spain2025-06-10
Tony C Rim1002Germany2025-06-12
Octavia F Slusarski1003Germany2025-06-22
Smith G Stenseth1004India2025-06-16
Stacey H Nicka1005Argentina2025-06-16
Morrow S Butt1006France2025-06-24
Wickens D Amigon1007Germany2025-06-23
Ivar J Royster1008Russia2025-06-28
Chavez W Schemmer1009Japan2025-06-11
Greenwood O Maclead1010Canada2025-06-10
Adams X Gillian1011Germany2025-06-01
Octavia O Maclead1012Brazil2025-06-03
Darci P Rim1013Argentina2025-06-14
Deepesh H Inouye1014Argentina2025-06-24
Misaki G Venere1015Spain2025-06-12
Ricardo G Wieser1016Spain2025-06-21
Mayumi N Perin1017Australia2025-06-11
Jones L Dilliard1018Australia2025-06-14
Alejandro H Maclead1019Spain2025-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson Z StensethBrazilBernardo Dominic NEW
Claire L FlosiGermanyXuxue Feng RENEWAL
Antonio U DoeIndiaElwin Sharvill PROPOSAL
Izzy Z InouyeGermanyAmy Elsner NEW
Mayumi D SergiIndiaAnna Fali RENEWAL
David H SchemmerFranceIvan Magalhaes UNQUALIFIED
Cody B IturbideGermanyOnyama Limba PROPOSAL
Ivar A SaylorsArgentinaIoni Bowcher PROPOSAL
Leon C SergiGermanyAnna Fali UNQUALIFIED
Wickens R SergiCanadaStephen Shaw RENEWAL
Faith Z VenereUnited KingdomOnyama Limba PROPOSAL
Wickens T CaudyGermanyIvan Magalhaes NEGOTIATION
Rodrigues B MorascaItalyElwin Sharvill UNQUALIFIED
Ricardo W DoeArgentinaAmy Elsner QUALIFIED
Murillo K PerinAustraliaOnyama Limba NEW
Izzy J MaletSpainStephen Shaw QUALIFIED
Juan C GlickSpainXuxue Feng NEGOTIATION
Leon I SaylorsRussiaIoni Bowcher QUALIFIED
Greenwood R CaudyBrazilAsiya Javayant QUALIFIED
Morrow Y SergiBrazilAmy Elsner PROPOSAL
Clifford Z KuskoBrazilXuxue Feng NEGOTIATION
Cody A BriddickArgentinaAnna Fali QUALIFIED
Arvin O AlbaresArgentinaAsiya Javayant PROPOSAL
David A ButtIndiaAsiya Javayant UNQUALIFIED
Mayumi W BriddickCanadaXuxue Feng NEGOTIATION
Morrow Y SlusarskiAustraliaAnna Fali QUALIFIED
Mayumi T BowleyUnited KingdomOnyama Limba NEGOTIATION
Cody N StensethSpainAsiya Javayant RENEWAL
Julie F WieserUnited KingdomElwin Sharvill RENEWAL
Salvatore P FlosiUnited KingdomIoni Bowcher QUALIFIED
Clifford W RutaBrazilAnna Fali NEW
Misaki M GillianAustraliaIvan Magalhaes NEW
Murillo Q GauchoRussiaAsiya Javayant PROPOSAL
Cody W OldroydJapanOnyama Limba PROPOSAL
Julie W MacleadRussiaXuxue Feng QUALIFIED
Murillo W ButtAustraliaAmy Elsner QUALIFIED
Aika E RulapaughItalyStephen Shaw NEGOTIATION
Arvin C SaylorsBrazilAmy Elsner NEGOTIATION
Leja F GlickIndiaAsiya Javayant PROPOSAL
Izzy S DarakjyUnited KingdomElwin Sharvill UNQUALIFIED

<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" frozenColumnsAlignment="left">
            <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>