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
Antonio M WaycottUnited KingdomXuxue Feng QUALIFIED
Leon N ChuiBrazilBernardo Dominic QUALIFIED
Leon Y MaletItalyIoni Bowcher NEW
Faith G ChuiRussiaBernardo Dominic RENEWAL
Leja Y RulapaughIndiaAnna Fali QUALIFIED
Ricardo D PerinGermanyAmy Elsner UNQUALIFIED
Juan V DarakjyGermanyAnna Fali QUALIFIED
Johnson M RutaSpainStephen Shaw NEW
Darci L MacleadCanadaAmy Elsner NEW
Alejandro T TollnerItalyIvan Magalhaes QUALIFIED
Darci I RimIndiaXuxue Feng RENEWAL
Ivar T BowleyArgentinaIoni Bowcher NEW
Kaitlin P ButtCanadaElwin Sharvill NEW
Stacey R NestleIndiaXuxue Feng QUALIFIED
Alejandro P PerinGermanyIvan Magalhaes RENEWAL
Sinclair V DilliardJapanAsiya Javayant NEW
Jefferson Z StensethCanadaElwin Sharvill NEGOTIATION
Ashley D RutaSpainXuxue Feng NEGOTIATION
Mayumi M WaycottJapanIoni Bowcher RENEWAL
Leja U StensethAustraliaBernardo Dominic NEGOTIATION
Arvin M GarufiGermanyIoni Bowcher NEW
Aruna S FlosiIndiaOnyama Limba UNQUALIFIED
Mujtaba Y SergiIndiaAsiya Javayant UNQUALIFIED
Maisha A SlusarskiFranceAnna Fali NEW
Nicolas R FerenczItalyAsiya Javayant UNQUALIFIED
Francesco E StockhamFranceAmy Elsner NEGOTIATION
Leja Y FigeroaFranceStephen Shaw UNQUALIFIED
Claire M BowleyAustraliaBernardo Dominic QUALIFIED
Smith B BriddickRussiaAsiya Javayant QUALIFIED
Greenwood I MaletBrazilIvan Magalhaes PROPOSAL
Aika B KuskoFranceXuxue Feng QUALIFIED
Chavez J RoysterUnited KingdomAsiya Javayant QUALIFIED
Silvio C DilliardSpainElwin Sharvill UNQUALIFIED
James N IturbideIndiaElwin Sharvill PROPOSAL
Darci I FerenczRussiaElwin Sharvill NEW
Isabel X VenereRussiaOnyama Limba NEW
Sinclair N VocelkaRussiaOnyama Limba QUALIFIED
Murillo J PoquetteIndiaAmy Elsner RENEWAL
Ricardo H PerinRussiaAsiya Javayant PROPOSAL
Mayumi U WhobreySpainIoni Bowcher RENEWAL
Darci M ChuiItalyXuxue Feng PROPOSAL
Leon U VocelkaIndiaIvan Magalhaes UNQUALIFIED
James S OstroskyAustraliaElwin Sharvill QUALIFIED
Nicolas D GauchoJapanElwin Sharvill UNQUALIFIED
Johnson H ShinkoUnited KingdomBernardo Dominic QUALIFIED
Darci P BriddickAustraliaAnna Fali NEGOTIATION
Adams Y VocelkaSpainElwin Sharvill NEGOTIATION
Jennifer M StockhamAustraliaIvan Magalhaes QUALIFIED
Rodrigues F StockhamCanadaAmy Elsner UNQUALIFIED
Francesco I ChuiBrazilAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer O WaycottAustraliaAnna Fali NEW
Nicolas B DoeSpainAnna Fali QUALIFIED
Stacey C DoeBrazilIvan Magalhaes QUALIFIED
Ricardo S PerinUnited KingdomAsiya Javayant UNQUALIFIED
Ashley K GarufiBrazilOnyama Limba RENEWAL
David M WhobreyBrazilAmy Elsner UNQUALIFIED
Nicolas Y SchemmerJapanIvan Magalhaes NEW
Leon B SchemmerArgentinaIvan Magalhaes RENEWAL
Faith Q RoysterIndiaElwin Sharvill NEW
Juan N NickaBrazilIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones N VocelkaUnited Kingdom2026-10-15Benton, John B Jr QUALIFIED47Elwin Sharvill
1001Salvatore F ChuiBrazil2026-09-28King, Christopher A Esq UNQUALIFIED72Ivan Magalhaes
1002Rodrigues C FlosiRussia2026-10-01Rangoni Of Florence PROPOSAL77Bernardo Dominic
1003Morrow Q SergiGermany2026-10-03Rangoni Of Florence PROPOSAL31Stephen Shaw
1004Munro V ChuiJapan2026-10-12Commercial Press RENEWAL31Bernardo Dominic
1005Rodrigues N CaudyUnited Kingdom2026-10-11Rousseaux, Michael Esq UNQUALIFIED94Asiya Javayant
1006James U GlickSpain2026-09-28Feltz Printing Service RENEWAL2Bernardo Dominic
1007Aditya Y RulapaughJapan2026-10-04Morlong Associates UNQUALIFIED95Ivan Magalhaes
1008Jeanfrancois D MacleadItaly2026-10-11Truhlar And Truhlar Attys PROPOSAL99Asiya Javayant
1009Kadeem G SlusarskiRussia2026-09-20Commercial Press UNQUALIFIED80Elwin Sharvill
1010Ashley R WaycottUnited Kingdom2026-10-18Truhlar And Truhlar Attys QUALIFIED93Asiya Javayant
1011Ashley G FigeroaFrance2026-09-27Chanay, Jeffrey A Esq NEW34Anna Fali
1012Costa M GillianIndia2026-10-08Dorl, James J Esq RENEWAL21Anna Fali
1013Mayumi L GauchoJapan2026-09-23Chanay, Jeffrey A Esq RENEWAL42Stephen Shaw
1014Aditya Y IturbideJapan2026-10-08Buckley Miller Wright PROPOSAL10Ivan Magalhaes
1015Wickens P KuskoSpain2026-10-05Chanay, Jeffrey A Esq NEW69Stephen Shaw
1016Francesco N WieserIndia2026-10-06Feiner Bros UNQUALIFIED41Amy Elsner
1017Emily N SergiArgentina2026-10-15Chanay, Jeffrey A Esq UNQUALIFIED63Asiya Javayant
1018Maisha Q CaldareraIndia2026-09-23Rousseaux, Michael Esq QUALIFIED80Ivan Magalhaes
1019Alejandro A SlusarskiUnited Kingdom2026-09-27Benton, John B Jr QUALIFIED17Elwin Sharvill
1020Chavez T PerinGermany2026-10-13King, Christopher A Esq PROPOSAL53Xuxue Feng
1021Morrow T AlbaresArgentina2026-10-01Chapman, Ross E Esq PROPOSAL39Amy Elsner
1022Julie S RimBrazil2026-09-20Buckley Miller Wright NEW88Ivan Magalhaes
1023Faith H MorascaArgentina2026-09-20Rangoni Of Florence UNQUALIFIED68Ivan Magalhaes
1024Salvatore J StensethCanada2026-10-11Chemel, James L Cpa NEGOTIATION30Ioni Bowcher
1025Nicolas X MacleadFrance2026-10-06Benton, John B Jr RENEWAL83Asiya Javayant
1026Jefferson F AlbaresUnited Kingdom2026-09-28Chapman, Ross E Esq RENEWAL61Stephen Shaw
1027James S GlickBrazil2026-09-26Buckley Miller Wright UNQUALIFIED77Bernardo Dominic
1028Aika R RimCanada2026-10-15Printing Dimensions RENEWAL65Bernardo Dominic
1029Aika B OstroskyItaly2026-09-22Chapman, Ross E Esq NEW48Anna Fali
1030Jones F IturbideAustralia2026-10-10Feltz Printing Service RENEWAL78Bernardo Dominic
1031Maria L RoysterAustralia2026-09-28King, Christopher A Esq QUALIFIED53Ivan Magalhaes
1032Octavia X KuskoItaly2026-10-11Feltz Printing Service NEGOTIATION37Amy Elsner
1033Stacey Y RoysterFrance2026-09-26Dorl, James J Esq QUALIFIED9Amy Elsner
1034Antonio M SchemmerArgentina2026-10-04Benton, John B Jr QUALIFIED7Ioni Bowcher
1035Darci D AlbaresSpain2026-10-13Commercial Press QUALIFIED87Asiya Javayant
1036Juan P RulapaughRussia2026-10-11Chemel, James L Cpa NEGOTIATION37Ioni Bowcher
1037Antonio X CaudySpain2026-10-06Rangoni Of Florence RENEWAL78Elwin Sharvill
1038Salvatore O CaudyItaly2026-10-12Chanay, Jeffrey A Esq QUALIFIED84Asiya Javayant
1039Deepesh Z StensethGermany2026-10-03Morlong Associates NEGOTIATION98Amy Elsner
1040Antonio Z GillianCanada2026-10-11Truhlar And Truhlar Attys NEW37Amy Elsner
1041Izzy N DilliardJapan2026-10-12Morlong Associates RENEWAL28Ivan Magalhaes
1042Wickens H ChuiIndia2026-10-07Buckley Miller Wright NEGOTIATION48Elwin Sharvill
1043Faith K AmigonAustralia2026-10-04Chanay, Jeffrey A Esq UNQUALIFIED83Ivan Magalhaes
1044Silvio G StockhamIndia2026-10-03Dorl, James J Esq NEGOTIATION10Onyama Limba
1045Kaitlin J BowleySpain2026-09-19Chapman, Ross E Esq NEGOTIATION88Xuxue Feng
1046Ashley D AmigonUnited Kingdom2026-10-01Buckley Miller Wright UNQUALIFIED56Onyama Limba
1047Adams I InouyeFrance2026-09-26Morlong Associates UNQUALIFIED88Ioni Bowcher
1048Ricardo H MorascaSpain2026-10-13Rangoni Of Florence NEW80Amy Elsner
1049Francesco N TollnerSpain2026-10-06Buckley Miller Wright UNQUALIFIED21Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois H CaldareraUnited KingdomElwin Sharvill RENEWAL
Silvio B IturbideGermanyStephen Shaw PROPOSAL
Stacey B OldroydBrazilAmy Elsner QUALIFIED
Juan Y SergiBrazilElwin Sharvill PROPOSAL
Aruna T KolmetzCanadaXuxue Feng RENEWAL
Juan H TollnerArgentinaIvan Magalhaes QUALIFIED
Leon J SlusarskiFranceAsiya Javayant RENEWAL
Ricardo W CampainAustraliaAmy Elsner NEGOTIATION
Mujtaba R IturbideAustraliaIvan Magalhaes NEW
Juan S PaprockiCanadaAmy Elsner RENEWAL
Costa D MorascaBrazilIoni Bowcher PROPOSAL
Murillo E SergiUnited KingdomAnna Fali NEGOTIATION
Smith B SergiItalyAmy Elsner RENEWAL
Greenwood T PerinArgentinaAnna Fali NEGOTIATION
Maisha V TollnerSpainOnyama Limba NEGOTIATION
Leja D GarufiRussiaElwin Sharvill NEW
Costa V KuskoArgentinaIoni Bowcher RENEWAL
Ashley G SergiRussiaAmy Elsner UNQUALIFIED
Kaitlin E BowleyJapanStephen Shaw UNQUALIFIED
Aruna Y RoysterRussiaIvan Magalhaes NEW
Leja Z MaletGermanyAnna Fali NEGOTIATION
Alejandro T FigeroaUnited KingdomElwin Sharvill UNQUALIFIED
Costa V ChuiSpainAmy Elsner NEW
Ivar C KolmetzFranceIvan Magalhaes QUALIFIED
David V IturbideRussiaStephen Shaw QUALIFIED
Darci G WaycottIndiaBernardo Dominic PROPOSAL
Jeanfrancois G MorascaArgentinaAmy Elsner UNQUALIFIED
Isabel X KuskoIndiaAsiya Javayant UNQUALIFIED
Jefferson D ShinkoFranceStephen Shaw RENEWAL
Salvatore U GarufiRussiaOnyama Limba UNQUALIFIED
Aika P NestleCanadaXuxue Feng RENEWAL
Leja Z GauchoCanadaAnna Fali NEW
Ivar V StockhamJapanXuxue Feng QUALIFIED
Juan G MaletArgentinaElwin Sharvill RENEWAL
Ashley V NestleItalyElwin Sharvill RENEWAL
David I VocelkaFranceAsiya Javayant UNQUALIFIED
Chavez T VenereJapanIvan Magalhaes QUALIFIED
Nicolas C StockhamFranceBernardo Dominic UNQUALIFIED
Cody A NickaCanadaAnna Fali RENEWAL
Adams I SergiItalyOnyama Limba UNQUALIFIED
Jones J VocelkaJapanIoni Bowcher RENEWAL
Francesco L StensethItalyXuxue Feng QUALIFIED
Chavez C KolmetzRussiaOnyama Limba NEGOTIATION
Salvatore M SchemmerUnited KingdomStephen Shaw NEW
Misaki H BowleyAustraliaXuxue Feng PROPOSAL
Ivar G BologniaBrazilIvan Magalhaes UNQUALIFIED
Leon Y MorascaGermanyElwin Sharvill QUALIFIED
Leja P SergiRussiaXuxue Feng NEW
Cody W ButtFranceBernardo Dominic NEGOTIATION
Kadeem U NickaUnited KingdomStephen Shaw QUALIFIED
Frozen Columns
Name
Nicolas Y Figeroa
Julie G Flosi
Antonio E Stockham
Aditya A Darakjy
Octavia G Butt
Isabel U Shinko
Aika O Shinko
Ivar P Marrier
Chavez W Nestle
Aruna Z Ostrosky
Octavia G Nicka
Adams P Caudy
Ashley F Venere
Tony K Foller
Darci E Caudy
Jefferson S Garufi
Morrow S Briddick
Kadeem U Inouye
Alejandro I Bowley
Murillo P Malet
Nicolas W Schemmer
James N Shinko
Tony L Morasca
Salvatore O Albares
Jefferson D Stenseth
Kadeem O Tollner
Wickens M Bolognia
Clifford K Inouye
Cody Y Schemmer
Smith I Saylors
Cody R Vocelka
Misaki V Schemmer
Antonio V Sergi
Isabel L Flosi
Adams R Whobrey
Aditya P Saylors
Smith D Doe
Kadeem L Foller
Ricardo S Sergi
Jennifer G Shinko
Misaki Y Malet
Nicolas C Schemmer
Kadeem L Gaucho
Jefferson J Venere
Jennifer D Campain
Claire X Rim
Jeanfrancois W Venere
Nicolas I Wieser
Ashley H Nicka
Misaki H Royster
IdCountryDate
1000Russia2026-10-10
1001Japan2026-10-03
1002Canada2026-10-03
1003Australia2026-10-10
1004Spain2026-10-12
1005France2026-10-11
1006India2026-09-20
1007Spain2026-10-05
1008India2026-09-19
1009United Kingdom2026-09-30
1010Brazil2026-10-16
1011Spain2026-09-23
1012Spain2026-10-05
1013Argentina2026-09-19
1014India2026-10-16
1015Italy2026-09-28
1016Italy2026-10-06
1017Italy2026-09-28
1018Canada2026-10-15
1019Japan2026-10-07
1020Germany2026-10-16
1021United Kingdom2026-10-12
1022Japan2026-09-19
1023Japan2026-09-29
1024Australia2026-09-19
1025Brazil2026-09-27
1026Canada2026-10-16
1027Japan2026-10-02
1028Brazil2026-10-02
1029Argentina2026-09-19
1030Argentina2026-09-30
1031Italy2026-09-30
1032Australia2026-09-29
1033United Kingdom2026-09-29
1034Argentina2026-10-01
1035Brazil2026-10-01
1036Brazil2026-09-24
1037Argentina2026-10-05
1038Canada2026-10-08
1039Brazil2026-10-04
1040United Kingdom2026-09-30
1041Australia2026-09-24
1042Argentina2026-10-03
1043Argentina2026-10-02
1044Germany2026-09-20
1045France2026-09-19
1046Italy2026-10-01
1047Japan2026-10-04
1048Russia2026-10-13
1049Australia2026-10-02

On-Demand Data

NameIdCountryDate
Mujtaba Q Malet1000Germany2026-10-05
Ricardo J Caldarera1001Japan2026-09-23
Nicolas U Darakjy1002Canada2026-09-25
Claire T Foller1003India2026-10-13
Alejandro K Flosi1004Canada2026-10-05
Smith C Caudy1005United Kingdom2026-09-20
Munro B Kolmetz1006Russia2026-10-12
Leon N Malet1007United Kingdom2026-09-24
David G Briddick1008Germany2026-10-03
Ashley L Oldroyd1009Canada2026-10-08
Maria X Flosi1010France2026-10-11
Misaki X Darakjy1011Russia2026-09-24
Jennifer W Shinko1012Germany2026-10-06
Greenwood O Darakjy1013Germany2026-09-30
Ivar S Figeroa1014Spain2026-10-18
Chavez S Glick1015India2026-09-20
Arvin N Morasca1016Canada2026-10-16
Kaitlin B Caudy1017Italy2026-10-12
Johnson K Ostrosky1018Germany2026-10-02
Aika A Morasca1019Russia2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci P SergiItalyIvan Magalhaes RENEWAL
Kadeem C FollerAustraliaOnyama Limba PROPOSAL
Sinclair R StockhamFranceElwin Sharvill QUALIFIED
Jennifer K GillianRussiaElwin Sharvill QUALIFIED
Faith U BologniaGermanyStephen Shaw NEGOTIATION
Jones K IturbideUnited KingdomAnna Fali UNQUALIFIED
Kadeem B WaycottUnited KingdomXuxue Feng RENEWAL
Juan A VocelkaSpainOnyama Limba PROPOSAL
Aditya H SergiFranceIoni Bowcher UNQUALIFIED
Deepesh K RoysterSpainAsiya Javayant NEW
Leon L OldroydSpainOnyama Limba QUALIFIED
Smith Q BowleyRussiaIoni Bowcher UNQUALIFIED
Wickens L SaylorsItalyAsiya Javayant NEGOTIATION
Antonio X AmigonArgentinaBernardo Dominic UNQUALIFIED
Aika R SchemmerUnited KingdomXuxue Feng RENEWAL
Izzy O BologniaRussiaXuxue Feng NEGOTIATION
Munro N StensethGermanyStephen Shaw UNQUALIFIED
Clifford Y RutaItalyAmy Elsner NEW
Isabel U MaletFranceElwin Sharvill PROPOSAL
Alejandro S SergiGermanyStephen Shaw NEGOTIATION
Cody E WaycottRussiaOnyama Limba NEW
Antonio H StockhamAustraliaAmy Elsner NEGOTIATION
Johnson I WaycottUnited KingdomElwin Sharvill NEGOTIATION
Morrow R StensethUnited KingdomOnyama Limba NEW
Isabel Q ChuiFranceXuxue Feng UNQUALIFIED
Arvin E FigeroaCanadaElwin Sharvill RENEWAL
Smith W MarrierFranceAmy Elsner PROPOSAL
Wickens G GauchoJapanXuxue Feng RENEWAL
Aruna X StensethGermanyAnna Fali QUALIFIED
Rodrigues Z DarakjyRussiaOnyama Limba RENEWAL
Stacey D RimRussiaStephen Shaw PROPOSAL
Kaitlin L InouyeSpainAnna Fali PROPOSAL
Aruna N ShinkoGermanyAmy Elsner QUALIFIED
Morrow X WhobreyUnited KingdomXuxue Feng PROPOSAL
Deepesh A AlbaresFranceIvan Magalhaes UNQUALIFIED
Kaitlin G RutaBrazilXuxue Feng PROPOSAL
Aditya K MaletItalyOnyama Limba NEW
Antonio W NickaIndiaIvan Magalhaes NEW
Adams O WaycottItalyAnna Fali NEGOTIATION
Johnson G InouyeSpainAmy Elsner 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>