November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Misaki C SaylorsItalyOnyama Limba QUALIFIED
Munro U WhobreyIndiaAsiya Javayant UNQUALIFIED
Emily E GlickFranceAnna Fali NEGOTIATION
Antonio I StockhamGermanyAmy Elsner QUALIFIED
Silvio G InouyeFranceOnyama Limba NEW
Darci H VenereUnited KingdomAnna Fali QUALIFIED
Murillo Z CampainSpainElwin Sharvill NEGOTIATION
Morrow Q MorascaUnited KingdomAmy Elsner NEGOTIATION
Kadeem R CaudyCanadaAmy Elsner RENEWAL
Francesco K FerenczBrazilXuxue Feng NEW
Antonio A FerenczUnited KingdomAnna Fali UNQUALIFIED
Clifford R WhobreyUnited KingdomAmy Elsner PROPOSAL
Julie X FigeroaAustraliaAsiya Javayant PROPOSAL
Leon H StockhamIndiaAmy Elsner UNQUALIFIED
Jennifer W DoeItalyElwin Sharvill RENEWAL
Murillo A WhobreyIndiaOnyama Limba NEGOTIATION
Aruna I PerinAustraliaAmy Elsner QUALIFIED
Leon M SlusarskiJapanAmy Elsner NEW
Arvin S RulapaughFranceAmy Elsner UNQUALIFIED
Morrow F CampainAustraliaElwin Sharvill UNQUALIFIED
Francesco I NestleArgentinaIoni Bowcher RENEWAL
Izzy A RutaIndiaStephen Shaw NEGOTIATION
Smith P SaylorsArgentinaElwin Sharvill UNQUALIFIED
Tony H MorascaArgentinaElwin Sharvill RENEWAL
Ashley L BriddickUnited KingdomStephen Shaw QUALIFIED
Kaitlin A BriddickItalyIvan Magalhaes QUALIFIED
Jeanfrancois S PerinSpainAsiya Javayant QUALIFIED
Tony S DarakjyUnited KingdomAnna Fali UNQUALIFIED
Antonio R DarakjyBrazilAnna Fali RENEWAL
Jefferson B FerenczArgentinaStephen Shaw QUALIFIED
Claire W CaldareraJapanAmy Elsner QUALIFIED
Darci R RutaAustraliaIoni Bowcher PROPOSAL
Leja M PaprockiCanadaAsiya Javayant NEGOTIATION
David G OstroskyJapanIvan Magalhaes QUALIFIED
Sinclair Q FerenczUnited KingdomAsiya Javayant RENEWAL
Aika U WieserRussiaIvan Magalhaes RENEWAL
Silvio Z DarakjyIndiaAmy Elsner NEW
Maria P KolmetzAustraliaAmy Elsner NEGOTIATION
Maria F NestleIndiaAsiya Javayant UNQUALIFIED
Costa J WaycottJapanXuxue Feng NEGOTIATION
Clifford J NestleBrazilBernardo Dominic NEW
Mujtaba C TollnerJapanElwin Sharvill NEW
Silvio Y PerinArgentinaOnyama Limba NEGOTIATION
Mayumi U CaldareraJapanXuxue Feng QUALIFIED
Leon A SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Leon J BriddickCanadaStephen Shaw UNQUALIFIED
Cody U PoquetteAustraliaOnyama Limba NEW
Clifford R OldroydBrazilAsiya Javayant PROPOSAL
Arvin N MacleadJapanOnyama Limba NEW
Adams X RoysterSpainBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Nicolas G MaletArgentinaXuxue Feng PROPOSAL
Aika J InouyeCanadaAmy Elsner NEGOTIATION
Wickens Y RutaBrazilElwin Sharvill RENEWAL
Emily C AmigonSpainIoni Bowcher UNQUALIFIED
Kadeem Z TollnerBrazilAsiya Javayant NEW
Antonio I WieserArgentinaIvan Magalhaes PROPOSAL
Ivar F BologniaItalyIvan Magalhaes NEW
David R PoquetteSpainAmy Elsner NEGOTIATION
Adams V MaletRussiaElwin Sharvill NEW
Alejandro A AlbaresRussiaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon M NickaJapan2026-11-08Feiner Bros PROPOSAL33Amy Elsner
1001Deepesh B SlusarskiRussia2026-10-16Truhlar And Truhlar Attys PROPOSAL82Bernardo Dominic
1002Ashley Y SlusarskiUnited Kingdom2026-10-20Printing Dimensions NEGOTIATION18Ivan Magalhaes
1003Jeanfrancois N NickaSpain2026-10-26Chapman, Ross E Esq QUALIFIED92Ioni Bowcher
1004Ivar A ChuiAustralia2026-11-01Chemel, James L Cpa UNQUALIFIED81Amy Elsner
1005Mujtaba S RulapaughAustralia2026-10-13Feiner Bros QUALIFIED35Xuxue Feng
1006Deepesh A WhobreyFrance2026-10-22Benton, John B Jr UNQUALIFIED15Stephen Shaw
1007Ricardo L MaletSpain2026-11-03Chemel, James L Cpa RENEWAL1Bernardo Dominic
1008Jefferson E PerinUnited Kingdom2026-10-22Chanay, Jeffrey A Esq UNQUALIFIED10Amy Elsner
1009Ivar A DoeIndia2026-10-26Chemel, James L Cpa NEGOTIATION46Xuxue Feng
1010Isabel G FigeroaRussia2026-10-17Chanay, Jeffrey A Esq NEW19Anna Fali
1011Murillo D FollerGermany2026-10-12Chapman, Ross E Esq QUALIFIED72Stephen Shaw
1012Alejandro A DarakjyItaly2026-10-31Dorl, James J Esq QUALIFIED66Anna Fali
1013David G GlickJapan2026-10-13Chemel, James L Cpa UNQUALIFIED45Asiya Javayant
1014Darci J WaycottArgentina2026-10-19Chapman, Ross E Esq QUALIFIED23Elwin Sharvill
1015Salvatore H IturbideFrance2026-10-25Feltz Printing Service NEGOTIATION28Bernardo Dominic
1016Kadeem G ButtAustralia2026-11-02King, Christopher A Esq RENEWAL48Ivan Magalhaes
1017Greenwood P BowleyUnited Kingdom2026-10-19Chemel, James L Cpa PROPOSAL11Asiya Javayant
1018Darci Z SlusarskiJapan2026-10-27Truhlar And Truhlar Attys NEW44Ioni Bowcher
1019Morrow P BowleyFrance2026-10-27Printing Dimensions RENEWAL57Anna Fali
1020Kaitlin Y KuskoGermany2026-10-12Rousseaux, Michael Esq RENEWAL70Bernardo Dominic
1021Antonio L RutaCanada2026-10-31King, Christopher A Esq NEW22Asiya Javayant
1022Jefferson Z OstroskyRussia2026-10-14Printing Dimensions RENEWAL19Stephen Shaw
1023Aruna K TollnerBrazil2026-11-09Feltz Printing Service PROPOSAL72Bernardo Dominic
1024James N FlosiSpain2026-10-16Buckley Miller Wright PROPOSAL6Elwin Sharvill
1025Aruna X SaylorsSpain2026-11-09Morlong Associates PROPOSAL95Anna Fali
1026Izzy L NestleArgentina2026-10-23Printing Dimensions NEGOTIATION62Anna Fali
1027Munro V FollerUnited Kingdom2026-11-06Chemel, James L Cpa PROPOSAL43Anna Fali
1028Murillo Y PerinFrance2026-11-07Benton, John B Jr NEGOTIATION42Stephen Shaw
1029Kaitlin L OstroskySpain2026-11-05Commercial Press QUALIFIED74Amy Elsner
1030Wickens D VenereUnited Kingdom2026-11-02Rangoni Of Florence PROPOSAL50Asiya Javayant
1031Tony W AlbaresCanada2026-10-12Dorl, James J Esq UNQUALIFIED5Bernardo Dominic
1032Wickens U NickaSpain2026-11-02Feiner Bros PROPOSAL97Onyama Limba
1033Cody G PoquetteUnited Kingdom2026-11-09Feltz Printing Service RENEWAL89Xuxue Feng
1034Nicolas R WhobreyCanada2026-11-07Dorl, James J Esq UNQUALIFIED87Onyama Limba
1035Chavez E WhobreyArgentina2026-10-17King, Christopher A Esq PROPOSAL75Bernardo Dominic
1036Octavia O GillianSpain2026-11-03Chapman, Ross E Esq NEW9Ivan Magalhaes
1037Arvin X CaldareraAustralia2026-10-27Feiner Bros UNQUALIFIED82Elwin Sharvill
1038Leon V RulapaughJapan2026-10-17Rousseaux, Michael Esq UNQUALIFIED0Bernardo Dominic
1039Jones E BriddickArgentina2026-11-01Truhlar And Truhlar Attys UNQUALIFIED78Stephen Shaw
1040Adams N MaletArgentina2026-11-04Rousseaux, Michael Esq NEW83Ioni Bowcher
1041David R SaylorsJapan2026-10-19Rousseaux, Michael Esq NEGOTIATION64Amy Elsner
1042Tony G VenereGermany2026-10-17King, Christopher A Esq QUALIFIED32Stephen Shaw
1043Jeanfrancois I GlickRussia2026-10-11Chemel, James L Cpa QUALIFIED34Ioni Bowcher
1044Francesco N OldroydFrance2026-10-24Printing Dimensions QUALIFIED84Anna Fali
1045Kaitlin R DarakjyCanada2026-10-30Truhlar And Truhlar Attys RENEWAL14Ioni Bowcher
1046Kadeem R FollerItaly2026-10-31Morlong Associates NEW54Asiya Javayant
1047Costa I DilliardSpain2026-11-06Morlong Associates NEGOTIATION70Ioni Bowcher
1048Costa H VenereIndia2026-10-29Feiner Bros QUALIFIED29Onyama Limba
1049Clifford T TollnerSpain2026-10-17Commercial Press NEW15Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kadeem G AlbaresCanadaBernardo Dominic NEW
Leon H StensethRussiaAmy Elsner RENEWAL
Arvin A RoysterArgentinaXuxue Feng NEW
Aruna Y SlusarskiSpainXuxue Feng UNQUALIFIED
Leon H MaletGermanyStephen Shaw UNQUALIFIED
Alejandro K KuskoBrazilXuxue Feng RENEWAL
Claire P KolmetzIndiaIoni Bowcher QUALIFIED
Maria K VenereFranceXuxue Feng UNQUALIFIED
Maisha W AlbaresJapanIoni Bowcher NEGOTIATION
Salvatore J VocelkaCanadaStephen Shaw PROPOSAL
Sinclair N StockhamArgentinaOnyama Limba NEW
Antonio W MaletJapanBernardo Dominic PROPOSAL
Kadeem L NestleIndiaElwin Sharvill QUALIFIED
Chavez T RimIndiaOnyama Limba QUALIFIED
Antonio I MorascaRussiaBernardo Dominic RENEWAL
Tony S GarufiJapanOnyama Limba NEW
Misaki R KolmetzBrazilElwin Sharvill NEGOTIATION
Chavez C MacleadRussiaAmy Elsner RENEWAL
Costa Y FigeroaUnited KingdomOnyama Limba RENEWAL
Nicolas G DoeJapanElwin Sharvill RENEWAL
Sinclair D VocelkaJapanBernardo Dominic QUALIFIED
Stacey N PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Antonio X SaylorsIndiaAsiya Javayant PROPOSAL
Ricardo V CaldareraArgentinaStephen Shaw PROPOSAL
Silvio A DarakjyFranceAsiya Javayant RENEWAL
Jeanfrancois V KuskoUnited KingdomXuxue Feng NEGOTIATION
Alejandro E ShinkoGermanyBernardo Dominic QUALIFIED
Maria A AlbaresSpainElwin Sharvill NEGOTIATION
Maria L VenereBrazilBernardo Dominic RENEWAL
Ricardo W SchemmerIndiaIvan Magalhaes NEGOTIATION
Jones G MorascaSpainAmy Elsner NEGOTIATION
Stacey Z RoysterRussiaStephen Shaw NEGOTIATION
Faith Y WhobreyGermanyAnna Fali RENEWAL
Kaitlin N TollnerItalyElwin Sharvill NEW
Kaitlin W CaldareraBrazilIvan Magalhaes UNQUALIFIED
Costa M WhobreyFranceIvan Magalhaes PROPOSAL
Antonio O SlusarskiItalyElwin Sharvill RENEWAL
Jeanfrancois K StockhamBrazilElwin Sharvill UNQUALIFIED
Francesco E WaycottBrazilElwin Sharvill UNQUALIFIED
Ivar M PoquetteAustraliaAmy Elsner QUALIFIED
Antonio Q CampainUnited KingdomIvan Magalhaes NEW
Clifford D CampainGermanyStephen Shaw UNQUALIFIED
Ashley I VocelkaFranceAmy Elsner PROPOSAL
Johnson K SergiSpainElwin Sharvill RENEWAL
Izzy K DoeArgentinaXuxue Feng RENEWAL
Ricardo S RulapaughRussiaElwin Sharvill UNQUALIFIED
Stacey X NestleBrazilStephen Shaw NEGOTIATION
Morrow H GillianSpainIvan Magalhaes NEW
Clifford U StensethSpainBernardo Dominic RENEWAL
Isabel C SchemmerCanadaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Aditya F Shinko
Jeanfrancois G Tollner
Faith Y Wieser
Aditya Y Caldarera
Leja Y Paprocki
Jefferson H Albares
Jones F Gillian
Darci O Gillian
Jeanfrancois K Kolmetz
Deepesh I Malet
Juan C Tollner
Costa N Royster
Emily T Kolmetz
Salvatore N Malet
Clifford L Gaucho
Cody N Briddick
Munro K Rulapaugh
Kaitlin O Shinko
Maisha P Nicka
Emily N Sergi
James G Doe
Nicolas W Marrier
Clifford E Figeroa
Kadeem Z Tollner
Aditya K Oldroyd
Murillo M Malet
Claire Y Saylors
Jeanfrancois O Schemmer
James X Perin
Izzy G Bowley
Claire V Rulapaugh
Murillo X Oldroyd
Aika Y Venere
Sinclair M Nestle
Mujtaba F Royster
Greenwood E Poquette
Leon J Wieser
Ashley J Kolmetz
Ricardo P Ruta
Ashley L Ostrosky
Claire I Shinko
Mujtaba N Venere
Kadeem H Ruta
Alejandro B Caudy
Silvio F Kolmetz
Adams O Foller
Claire W Tollner
Mujtaba A Bolognia
Smith F Whobrey
Juan U Paprocki
IdCountryDate
1000United Kingdom2026-10-24
1001Germany2026-10-26
1002United Kingdom2026-10-24
1003India2026-10-28
1004India2026-10-23
1005Russia2026-10-31
1006Argentina2026-10-17
1007India2026-10-23
1008Japan2026-10-20
1009Germany2026-10-21
1010France2026-10-16
1011Australia2026-10-15
1012Brazil2026-10-20
1013Germany2026-10-15
1014Australia2026-11-01
1015United Kingdom2026-10-13
1016Australia2026-11-06
1017Italy2026-10-11
1018India2026-11-05
1019Argentina2026-10-12
1020Canada2026-10-20
1021India2026-11-06
1022Russia2026-10-25
1023India2026-11-07
1024Japan2026-10-31
1025Canada2026-11-07
1026Australia2026-11-03
1027Canada2026-10-23
1028Japan2026-11-04
1029Argentina2026-11-02
1030Italy2026-10-22
1031Canada2026-11-04
1032Japan2026-10-15
1033United Kingdom2026-10-30
1034Australia2026-10-11
1035Italy2026-10-29
1036Italy2026-10-22
1037United Kingdom2026-10-17
1038Australia2026-10-23
1039Canada2026-11-01
1040Russia2026-11-08
1041Russia2026-10-22
1042Australia2026-10-29
1043Japan2026-10-16
1044Australia2026-10-14
1045India2026-10-20
1046Canada2026-10-18
1047France2026-10-29
1048Russia2026-10-15
1049United Kingdom2026-10-30

On-Demand Data

NameIdCountryDate
Smith J Kusko1000Russia2026-11-04
Munro V Foller1001Australia2026-10-28
David A Royster1002Russia2026-10-11
Alejandro J Iturbide1003United Kingdom2026-10-29
Faith X Bolognia1004India2026-10-17
Salvatore A Malet1005Brazil2026-10-30
Costa N Whobrey1006Germany2026-10-15
Tony C Ruta1007Canada2026-10-18
Antonio K Vocelka1008India2026-11-08
Aika O Nicka1009Australia2026-11-06
James K Oldroyd1010Japan2026-10-12
David T Stenseth1011Argentina2026-10-23
Misaki C Perin1012Spain2026-10-18
James R Gaucho1013Brazil2026-10-21
Emily G Amigon1014Canada2026-10-26
Stacey M Perin1015Japan2026-10-31
Stacey W Chui1016Spain2026-10-27
Leja S Waycott1017Japan2026-10-19
Sinclair G Nicka1018Argentina2026-11-08
Arvin W Amigon1019United Kingdom2026-10-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer F AlbaresJapanStephen Shaw RENEWAL
Octavia M MaletGermanyAsiya Javayant PROPOSAL
Mayumi R RoysterAustraliaBernardo Dominic NEW
Silvio G IturbideGermanyAmy Elsner PROPOSAL
Clifford L GarufiItalyAnna Fali PROPOSAL
Darci M CampainFranceIoni Bowcher RENEWAL
Jones C AlbaresArgentinaAmy Elsner QUALIFIED
Adams S RoysterAustraliaAnna Fali UNQUALIFIED
Murillo A PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Isabel G TollnerArgentinaIoni Bowcher RENEWAL
Mayumi J NickaFranceStephen Shaw NEW
James N RimGermanyBernardo Dominic PROPOSAL
Darci Q GauchoSpainOnyama Limba UNQUALIFIED
Jefferson I SergiUnited KingdomIoni Bowcher PROPOSAL
Alejandro J GillianCanadaAnna Fali RENEWAL
Jennifer R InouyeGermanyIvan Magalhaes QUALIFIED
Morrow F MaletArgentinaAmy Elsner QUALIFIED
Antonio X PerinRussiaAmy Elsner PROPOSAL
Costa Y PaprockiJapanAmy Elsner PROPOSAL
Clifford K WieserAustraliaStephen Shaw NEGOTIATION
Greenwood C VocelkaGermanyXuxue Feng PROPOSAL
David V KuskoFranceIoni Bowcher QUALIFIED
Mujtaba I InouyeCanadaStephen Shaw NEGOTIATION
James X GlickItalyAnna Fali QUALIFIED
Aruna P SchemmerItalyElwin Sharvill NEGOTIATION
Faith J CaldareraJapanAsiya Javayant QUALIFIED
Clifford V DoeUnited KingdomAnna Fali RENEWAL
Smith H RoysterFranceElwin Sharvill RENEWAL
Deepesh W SlusarskiIndiaIoni Bowcher RENEWAL
Munro K OldroydUnited KingdomAmy Elsner QUALIFIED
Greenwood J MarrierCanadaAmy Elsner PROPOSAL
Kaitlin Y MacleadItalyAsiya Javayant RENEWAL
Mujtaba O NestleJapanAsiya Javayant QUALIFIED
Emily R MorascaItalyXuxue Feng RENEWAL
Chavez N MaletFranceElwin Sharvill UNQUALIFIED
David O NickaRussiaXuxue Feng UNQUALIFIED
Ricardo H PerinFranceXuxue Feng NEW
Juan G TollnerAustraliaStephen Shaw PROPOSAL
Julie R GillianItalyAnna Fali NEGOTIATION
Cody G MorascaAustraliaBernardo Dominic NEW

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