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
Smith A StockhamSpainBernardo Dominic RENEWAL
Jones U MorascaRussiaIoni Bowcher RENEWAL
Claire C BriddickAustraliaIoni Bowcher UNQUALIFIED
Darci I AmigonCanadaAnna Fali NEW
Darci X DarakjySpainAnna Fali NEW
Chavez F BologniaUnited KingdomStephen Shaw PROPOSAL
Ricardo W AlbaresSpainAsiya Javayant UNQUALIFIED
Kaitlin S CampainBrazilAsiya Javayant NEGOTIATION
Izzy Z FollerAustraliaXuxue Feng PROPOSAL
Leja Z FigeroaGermanyAsiya Javayant PROPOSAL
Aruna H FollerSpainIoni Bowcher RENEWAL
Jones W OstroskyCanadaAnna Fali QUALIFIED
Stacey X DoeCanadaBernardo Dominic QUALIFIED
Julie X SlusarskiItalyBernardo Dominic NEGOTIATION
Adams L MorascaSpainStephen Shaw PROPOSAL
David W PoquetteSpainXuxue Feng NEGOTIATION
Maria N RimArgentinaAnna Fali RENEWAL
Antonio D MaletArgentinaElwin Sharvill NEGOTIATION
Greenwood X BriddickUnited KingdomAsiya Javayant NEGOTIATION
Misaki M DoeRussiaAmy Elsner PROPOSAL
Darci L BowleyFranceAmy Elsner QUALIFIED
Jones O VocelkaSpainAsiya Javayant QUALIFIED
Ricardo P DoeCanadaElwin Sharvill UNQUALIFIED
Ricardo S FigeroaIndiaXuxue Feng UNQUALIFIED
Maria Z GlickArgentinaXuxue Feng UNQUALIFIED
Clifford D DilliardUnited KingdomAmy Elsner RENEWAL
Ivar C CampainItalyIoni Bowcher UNQUALIFIED
Julie D GarufiRussiaAnna Fali PROPOSAL
Chavez T NestleAustraliaAnna Fali QUALIFIED
Ashley N GlickRussiaAnna Fali RENEWAL
Isabel Q DilliardItalyIoni Bowcher NEGOTIATION
Chavez Z BowleyUnited KingdomAmy Elsner QUALIFIED
Octavia N BowleyArgentinaElwin Sharvill RENEWAL
Aika R NestleGermanyAnna Fali UNQUALIFIED
Francesco B PerinArgentinaBernardo Dominic QUALIFIED
Francesco Z CaudyJapanAmy Elsner RENEWAL
Francesco V BologniaItalyXuxue Feng RENEWAL
Stacey K WieserAustraliaIvan Magalhaes QUALIFIED
Darci C ShinkoBrazilAnna Fali RENEWAL
Chavez S ChuiAustraliaAmy Elsner QUALIFIED
Rodrigues T PoquetteFranceBernardo Dominic UNQUALIFIED
Claire D FollerJapanAsiya Javayant QUALIFIED
Alejandro J GillianRussiaBernardo Dominic NEGOTIATION
Arvin Y VocelkaBrazilAnna Fali RENEWAL
Chavez L MacleadSpainIoni Bowcher NEGOTIATION
Arvin Y MaletFranceBernardo Dominic NEGOTIATION
Aruna E KolmetzRussiaStephen Shaw PROPOSAL
Aditya I AlbaresArgentinaAnna Fali UNQUALIFIED
Munro T OldroydArgentinaIvan Magalhaes RENEWAL
Johnson P MarrierIndiaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna Y SlusarskiAustraliaAnna Fali RENEWAL
Emily U SergiUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair U CampainArgentinaIoni Bowcher NEGOTIATION
David K ShinkoSpainIvan Magalhaes UNQUALIFIED
Morrow F KuskoIndiaAsiya Javayant NEW
Murillo S IturbideRussiaAsiya Javayant RENEWAL
Izzy U SlusarskiFranceAmy Elsner RENEWAL
Faith E TollnerIndiaElwin Sharvill UNQUALIFIED
Morrow A MarrierRussiaIoni Bowcher QUALIFIED
Isabel H StensethUnited KingdomOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio E SergiFrance2026-08-30Truhlar And Truhlar Attys NEGOTIATION6Bernardo Dominic
1001Maria C CampainFrance2026-09-20Feltz Printing Service NEW43Amy Elsner
1002Izzy G SchemmerAustralia2026-08-28Buckley Miller Wright UNQUALIFIED17Xuxue Feng
1003Johnson M NickaGermany2026-08-23Chemel, James L Cpa UNQUALIFIED37Onyama Limba
1004Ashley V SaylorsGermany2026-09-16Feiner Bros UNQUALIFIED15Stephen Shaw
1005Deepesh Y RulapaughFrance2026-08-25Chapman, Ross E Esq QUALIFIED30Elwin Sharvill
1006Kaitlin X FerenczAustralia2026-09-14Dorl, James J Esq NEGOTIATION94Onyama Limba
1007Antonio O WaycottRussia2026-09-07Rangoni Of Florence QUALIFIED68Ivan Magalhaes
1008Francesco X OstroskyArgentina2026-09-08Rangoni Of Florence NEW94Bernardo Dominic
1009Cody L FlosiFrance2026-09-13Buckley Miller Wright QUALIFIED30Ioni Bowcher
1010Johnson Q DilliardAustralia2026-08-25Chapman, Ross E Esq PROPOSAL88Bernardo Dominic
1011Jefferson X IturbideIndia2026-08-29Feiner Bros NEW44Asiya Javayant
1012Darci R KuskoSpain2026-09-07Feiner Bros NEW36Ioni Bowcher
1013Faith I CaldareraIndia2026-09-12Chapman, Ross E Esq RENEWAL4Xuxue Feng
1014Kaitlin J MorascaUnited Kingdom2026-08-30Feiner Bros PROPOSAL3Xuxue Feng
1015David J VocelkaItaly2026-08-25King, Christopher A Esq NEW32Xuxue Feng
1016Rodrigues S MacleadItaly2026-09-20Truhlar And Truhlar Attys NEW66Ioni Bowcher
1017Rodrigues W WhobreyJapan2026-09-07Rangoni Of Florence NEGOTIATION72Ioni Bowcher
1018Chavez U PaprockiSpain2026-09-14Chanay, Jeffrey A Esq NEW30Onyama Limba
1019Aruna A SlusarskiItaly2026-09-17Dorl, James J Esq NEW74Onyama Limba
1020Leon N PoquetteRussia2026-09-07Truhlar And Truhlar Attys RENEWAL55Anna Fali
1021Greenwood T RulapaughItaly2026-09-19Feiner Bros QUALIFIED45Onyama Limba
1022Deepesh Y AmigonItaly2026-09-20Dorl, James J Esq QUALIFIED80Stephen Shaw
1023Adams I PaprockiAustralia2026-09-18Feltz Printing Service NEW19Anna Fali
1024Jones J MorascaFrance2026-08-26Rousseaux, Michael Esq PROPOSAL18Bernardo Dominic
1025Maisha Z RimItaly2026-09-02Benton, John B Jr UNQUALIFIED91Amy Elsner
1026Julie K OldroydJapan2026-08-29Rousseaux, Michael Esq NEW64Bernardo Dominic
1027Tony J AlbaresIndia2026-09-08King, Christopher A Esq PROPOSAL5Xuxue Feng
1028David J RoysterItaly2026-09-13Dorl, James J Esq UNQUALIFIED96Bernardo Dominic
1029Faith W NickaUnited Kingdom2026-09-16Chemel, James L Cpa NEGOTIATION46Xuxue Feng
1030Leon S StensethRussia2026-09-19Rangoni Of Florence NEGOTIATION46Elwin Sharvill
1031Misaki Q GauchoAustralia2026-09-04Chemel, James L Cpa RENEWAL82Xuxue Feng
1032Greenwood E GauchoUnited Kingdom2026-09-16Chapman, Ross E Esq PROPOSAL46Xuxue Feng
1033Misaki B FigeroaAustralia2026-09-06Printing Dimensions QUALIFIED67Amy Elsner
1034Johnson F GauchoJapan2026-09-15Truhlar And Truhlar Attys QUALIFIED42Anna Fali
1035Deepesh B ChuiFrance2026-09-08Rousseaux, Michael Esq NEW59Ivan Magalhaes
1036Smith S RutaArgentina2026-08-26Rousseaux, Michael Esq NEW94Amy Elsner
1037Sinclair S RimAustralia2026-09-04Morlong Associates RENEWAL81Asiya Javayant
1038Cody S StensethSpain2026-09-07Chapman, Ross E Esq UNQUALIFIED70Amy Elsner
1039Kadeem J GarufiBrazil2026-09-11Chanay, Jeffrey A Esq RENEWAL59Ivan Magalhaes
1040Izzy E FollerJapan2026-09-18Chapman, Ross E Esq UNQUALIFIED89Anna Fali
1041Stacey Y GillianAustralia2026-08-23Commercial Press PROPOSAL96Anna Fali
1042Ivar P WhobreySpain2026-09-13Rousseaux, Michael Esq RENEWAL21Xuxue Feng
1043Mayumi U GillianItaly2026-09-17Rangoni Of Florence RENEWAL46Asiya Javayant
1044Nicolas H AlbaresIndia2026-08-22Morlong Associates NEGOTIATION11Ioni Bowcher
1045Kadeem Q WaycottFrance2026-09-18Feiner Bros RENEWAL23Elwin Sharvill
1046Claire T PaprockiFrance2026-09-10Commercial Press UNQUALIFIED53Bernardo Dominic
1047Munro C KuskoAustralia2026-09-08King, Christopher A Esq RENEWAL98Asiya Javayant
1048Maria N CampainFrance2026-08-24Benton, John B Jr NEGOTIATION35Bernardo Dominic
1049Jennifer L DoeAustralia2026-09-08King, Christopher A Esq RENEWAL75Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Alejandro Z NickaGermanyIoni Bowcher RENEWAL
Nicolas H GarufiJapanElwin Sharvill QUALIFIED
Kaitlin X VocelkaSpainOnyama Limba NEW
Salvatore V KuskoJapanIoni Bowcher NEGOTIATION
Johnson K StockhamGermanyAsiya Javayant QUALIFIED
Rodrigues O FigeroaRussiaAmy Elsner QUALIFIED
Greenwood F OldroydCanadaIoni Bowcher RENEWAL
Faith R MaletIndiaIoni Bowcher RENEWAL
Kadeem N KuskoCanadaAnna Fali NEGOTIATION
Johnson V BriddickRussiaBernardo Dominic NEGOTIATION
Jeanfrancois G BriddickFranceElwin Sharvill NEW
Silvio F IturbideCanadaXuxue Feng RENEWAL
Smith Z SaylorsRussiaAnna Fali PROPOSAL
Salvatore L StockhamIndiaElwin Sharvill NEW
Isabel S BologniaRussiaAnna Fali PROPOSAL
Isabel C WhobreySpainOnyama Limba QUALIFIED
Rodrigues Q AmigonSpainElwin Sharvill QUALIFIED
Francesco B PaprockiItalyXuxue Feng UNQUALIFIED
Cody U SergiIndiaOnyama Limba QUALIFIED
Greenwood I StockhamSpainIvan Magalhaes PROPOSAL
Octavia I MaletFranceElwin Sharvill NEW
Cody G DarakjyJapanAsiya Javayant QUALIFIED
Deepesh M FerenczRussiaAmy Elsner UNQUALIFIED
Aruna U DarakjyItalyStephen Shaw PROPOSAL
Leja B GarufiJapanIvan Magalhaes PROPOSAL
Misaki R MorascaIndiaAnna Fali NEGOTIATION
Darci R CaudyUnited KingdomElwin Sharvill PROPOSAL
Kadeem Y FlosiJapanXuxue Feng RENEWAL
Izzy Y PoquetteJapanOnyama Limba QUALIFIED
Rodrigues K KolmetzSpainAsiya Javayant NEW
Deepesh Q GillianRussiaOnyama Limba NEGOTIATION
Isabel N KuskoAustraliaAnna Fali QUALIFIED
Octavia B GarufiUnited KingdomIoni Bowcher QUALIFIED
Ivar U CaldareraItalyIvan Magalhaes QUALIFIED
Johnson I StensethBrazilStephen Shaw QUALIFIED
Adams T RoysterIndiaOnyama Limba QUALIFIED
Mujtaba P GillianJapanBernardo Dominic RENEWAL
Aditya U MacleadGermanyAsiya Javayant PROPOSAL
Kaitlin C PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Arvin G GlickSpainIoni Bowcher UNQUALIFIED
Jennifer C GarufiBrazilStephen Shaw PROPOSAL
Kadeem O CampainAustraliaBernardo Dominic QUALIFIED
Sinclair H RoysterRussiaAmy Elsner RENEWAL
Clifford L VenereIndiaAsiya Javayant QUALIFIED
James C CaldareraGermanyIvan Magalhaes RENEWAL
Tony L GauchoCanadaAsiya Javayant UNQUALIFIED
Julie S NestleFranceAnna Fali QUALIFIED
James O PaprockiIndiaOnyama Limba NEW
Ashley Q GillianUnited KingdomStephen Shaw NEW
Jefferson H MarrierCanadaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Maisha B Flosi
Chavez J Ostrosky
Leja B Shinko
Julie N Rulapaugh
Adams A Figeroa
Aruna Y Vocelka
Faith P Ostrosky
Kadeem X Nicka
Salvatore X Inouye
Antonio W Stockham
Aika I Morasca
Leja L Malet
Mayumi V Venere
Jefferson E Campain
Maria K Poquette
Tony J Waycott
Mayumi E Glick
Faith A Shinko
Izzy U Wieser
Jennifer D Amigon
Antonio O Caudy
Jeanfrancois G Whobrey
Misaki W Venere
Silvio Q Butt
Emily C Figeroa
Emily O Stenseth
Misaki I Paprocki
Cody Q Albares
David A Vocelka
Johnson N Royster
Munro I Nestle
Nicolas W Shinko
Ricardo X Oldroyd
Jones G Darakjy
Isabel T Stenseth
Wickens F Flosi
Ashley O Poquette
Tony O Figeroa
Greenwood H Iturbide
Nicolas P Rulapaugh
Antonio J Whobrey
Munro G Wieser
Julie E Figeroa
Johnson F Whobrey
Cody X Venere
Francesco E Albares
Juan H Caudy
Claire N Ostrosky
Adams I Garufi
Darci P Caldarera
IdCountryDate
1000Argentina2026-09-19
1001France2026-09-18
1002France2026-09-14
1003Italy2026-08-26
1004Japan2026-09-02
1005Brazil2026-09-09
1006Italy2026-09-13
1007France2026-09-11
1008India2026-09-19
1009Australia2026-09-14
1010Brazil2026-08-27
1011Germany2026-08-29
1012Argentina2026-08-22
1013Brazil2026-08-27
1014Japan2026-08-26
1015France2026-09-16
1016France2026-09-16
1017Brazil2026-08-27
1018Argentina2026-08-25
1019United Kingdom2026-09-02
1020Japan2026-09-09
1021Japan2026-09-11
1022Argentina2026-09-04
1023Japan2026-08-27
1024Australia2026-09-17
1025Argentina2026-08-29
1026Japan2026-09-20
1027Brazil2026-09-14
1028Canada2026-09-09
1029Canada2026-09-16
1030Brazil2026-09-11
1031India2026-09-08
1032France2026-09-18
1033Italy2026-09-11
1034Germany2026-08-23
1035Japan2026-08-24
1036Argentina2026-09-04
1037United Kingdom2026-08-22
1038Argentina2026-09-15
1039United Kingdom2026-09-16
1040Canada2026-09-10
1041Russia2026-09-02
1042Russia2026-09-19
1043Italy2026-08-31
1044Spain2026-09-03
1045Germany2026-09-02
1046Argentina2026-08-30
1047India2026-09-01
1048Canada2026-09-18
1049Spain2026-08-24

On-Demand Data

NameIdCountryDate
Silvio Q Caldarera1000Russia2026-09-08
Julie H Bowley1001Japan2026-08-22
Jefferson K Iturbide1002India2026-09-05
Wickens Q Oldroyd1003United Kingdom2026-09-11
Leon R Paprocki1004Japan2026-09-08
Wickens N Kolmetz1005Russia2026-09-10
Deepesh G Chui1006France2026-08-28
Aruna Y Saylors1007Brazil2026-08-30
Faith X Oldroyd1008India2026-08-23
Wickens P Tollner1009United Kingdom2026-09-16
Smith I Whobrey1010Japan2026-09-17
Cody J Figeroa1011France2026-08-25
Smith L Gillian1012Spain2026-08-30
Nicolas M Gaucho1013Germany2026-09-18
Nicolas D Slusarski1014France2026-09-15
Costa U Vocelka1015Italy2026-09-01
Smith H Gaucho1016France2026-08-28
Adams E Rim1017Russia2026-08-26
Rodrigues P Iturbide1018Spain2026-09-20
Arvin I Chui1019Spain2026-09-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki P DoeSpainOnyama Limba PROPOSAL
Silvio Y StensethFranceBernardo Dominic UNQUALIFIED
Cody U ButtCanadaIvan Magalhaes NEGOTIATION
Leon J PerinSpainAsiya Javayant PROPOSAL
Aruna I VenereCanadaBernardo Dominic QUALIFIED
Leja Q WhobreyCanadaAmy Elsner RENEWAL
Clifford X WieserUnited KingdomBernardo Dominic UNQUALIFIED
Adams K MorascaGermanyOnyama Limba QUALIFIED
Ivar R NickaGermanyAnna Fali NEW
Darci C RulapaughCanadaIvan Magalhaes NEGOTIATION
Darci R KuskoAustraliaElwin Sharvill NEW
Jefferson S BowleyRussiaAmy Elsner QUALIFIED
Emily Q ChuiCanadaAmy Elsner UNQUALIFIED
Octavia N GlickBrazilIvan Magalhaes QUALIFIED
Francesco W MacleadJapanElwin Sharvill PROPOSAL
Leon O StockhamJapanAnna Fali RENEWAL
Chavez Y SaylorsJapanAnna Fali NEGOTIATION
Smith Y MarrierItalyAmy Elsner PROPOSAL
Stacey G SergiJapanIoni Bowcher PROPOSAL
Mujtaba S RoysterRussiaStephen Shaw UNQUALIFIED
Tony Y GlickAustraliaAmy Elsner NEW
Leon I DilliardFranceAsiya Javayant QUALIFIED
Ricardo X WhobreyFranceAnna Fali QUALIFIED
David U FerenczUnited KingdomAsiya Javayant NEW
Arvin Z BriddickRussiaAnna Fali RENEWAL
Deepesh J PoquetteAustraliaXuxue Feng NEW
Misaki A TollnerArgentinaOnyama Limba QUALIFIED
Leja E GarufiRussiaElwin Sharvill RENEWAL
Jones D ShinkoUnited KingdomBernardo Dominic NEGOTIATION
Wickens S NickaRussiaStephen Shaw QUALIFIED
Wickens P StensethIndiaStephen Shaw UNQUALIFIED
Darci D NestleBrazilBernardo Dominic RENEWAL
Nicolas S OldroydSpainBernardo Dominic NEGOTIATION
Aditya A MaletIndiaBernardo Dominic PROPOSAL
Aruna H ShinkoIndiaStephen Shaw NEW
Greenwood O SchemmerJapanAmy Elsner PROPOSAL
Emily Q MorascaRussiaIoni Bowcher QUALIFIED
Claire L TollnerRussiaAnna Fali UNQUALIFIED
Murillo E FlosiIndiaBernardo Dominic NEW
Stacey H KuskoFranceXuxue Feng 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" 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>