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
Kadeem C DilliardFranceXuxue Feng PROPOSAL
Tony W SergiRussiaElwin Sharvill RENEWAL
Sinclair Y DarakjyAustraliaIoni Bowcher QUALIFIED
Ivar L MacleadGermanyAmy Elsner NEW
Costa I KuskoCanadaIvan Magalhaes QUALIFIED
Octavia O OldroydFranceAnna Fali RENEWAL
Aditya D BologniaAustraliaStephen Shaw UNQUALIFIED
Faith I SergiSpainIvan Magalhaes RENEWAL
Costa L TollnerRussiaOnyama Limba NEGOTIATION
Wickens O WieserSpainElwin Sharvill UNQUALIFIED
Isabel Z RutaJapanAnna Fali NEGOTIATION
James B DoeArgentinaAmy Elsner RENEWAL
Misaki B NestleRussiaElwin Sharvill PROPOSAL
Nicolas G MaletArgentinaAmy Elsner QUALIFIED
Greenwood J VocelkaGermanyElwin Sharvill QUALIFIED
Silvio M PaprockiAustraliaIoni Bowcher NEW
Costa A FigeroaCanadaAsiya Javayant NEW
Murillo Q IturbideBrazilAnna Fali PROPOSAL
Julie N PerinUnited KingdomAsiya Javayant NEW
Jennifer R NickaIndiaXuxue Feng RENEWAL
Antonio H RimGermanyXuxue Feng NEGOTIATION
Morrow S InouyeSpainOnyama Limba NEW
James B PoquetteSpainElwin Sharvill NEGOTIATION
Silvio P KuskoUnited KingdomIoni Bowcher PROPOSAL
Aika P MaletRussiaAmy Elsner RENEWAL
Arvin L IturbideFranceOnyama Limba NEGOTIATION
Ivar Z DilliardUnited KingdomAnna Fali RENEWAL
Octavia H NestleItalyBernardo Dominic NEW
Juan X NestleAustraliaAnna Fali PROPOSAL
Jeanfrancois V InouyeSpainIvan Magalhaes RENEWAL
Salvatore X CampainBrazilIoni Bowcher PROPOSAL
Mujtaba T GillianRussiaAsiya Javayant QUALIFIED
Maria G FlosiJapanElwin Sharvill NEGOTIATION
Mayumi A FollerItalyAnna Fali PROPOSAL
Isabel X FerenczFranceElwin Sharvill UNQUALIFIED
Juan P GillianRussiaAsiya Javayant QUALIFIED
Julie D AlbaresItalyAsiya Javayant UNQUALIFIED
Leon N GillianCanadaIvan Magalhaes NEGOTIATION
Juan K DarakjyGermanyXuxue Feng UNQUALIFIED
James H TollnerItalyAnna Fali NEW
Wickens E VocelkaGermanyStephen Shaw UNQUALIFIED
Maria R IturbideBrazilIvan Magalhaes QUALIFIED
Leon W AmigonCanadaElwin Sharvill QUALIFIED
Claire F DilliardSpainAnna Fali NEW
Mujtaba S SchemmerUnited KingdomBernardo Dominic QUALIFIED
Mujtaba J MacleadUnited KingdomAmy Elsner NEW
Rodrigues Y KuskoRussiaIoni Bowcher NEGOTIATION
Rodrigues Z WieserBrazilOnyama Limba UNQUALIFIED
Claire J NestleBrazilBernardo Dominic RENEWAL
Johnson U ButtBrazilIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria S MarrierAustraliaStephen Shaw UNQUALIFIED
Tony R MarrierGermanyOnyama Limba PROPOSAL
Munro F StockhamSpainIvan Magalhaes NEW
Adams V OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Ricardo N DilliardAustraliaOnyama Limba UNQUALIFIED
Julie Z NestleFranceAsiya Javayant RENEWAL
Leja N FollerRussiaAnna Fali RENEWAL
Jeanfrancois H StockhamCanadaOnyama Limba PROPOSAL
Leon Y OstroskyItalyXuxue Feng NEW
Ricardo S BowleyBrazilIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin M PerinCanada2026-09-17Rangoni Of Florence NEGOTIATION32Ivan Magalhaes
1001Isabel D InouyeGermany2026-09-12Benton, John B Jr QUALIFIED36Ivan Magalhaes
1002Jones X PaprockiGermany2026-09-16King, Christopher A Esq UNQUALIFIED55Bernardo Dominic
1003Jefferson T DilliardCanada2026-09-15Rangoni Of Florence QUALIFIED73Elwin Sharvill
1004Jennifer Z GauchoGermany2026-09-22Dorl, James J Esq UNQUALIFIED36Amy Elsner
1005Kadeem F ButtArgentina2026-09-12Rangoni Of Florence UNQUALIFIED19Amy Elsner
1006Leja P VenereRussia2026-09-21Feltz Printing Service NEW72Bernardo Dominic
1007Kaitlin C ShinkoSpain2026-10-04Chanay, Jeffrey A Esq PROPOSAL70Asiya Javayant
1008Deepesh S WieserCanada2026-09-28Chemel, James L Cpa NEW25Bernardo Dominic
1009Wickens H GauchoRussia2026-09-10Truhlar And Truhlar Attys NEGOTIATION36Xuxue Feng
1010Silvio Y RoysterItaly2026-09-18Commercial Press RENEWAL57Ivan Magalhaes
1011Aika X CaudyAustralia2026-09-26Dorl, James J Esq UNQUALIFIED46Bernardo Dominic
1012Greenwood A MarrierArgentina2026-09-23Chanay, Jeffrey A Esq NEGOTIATION88Xuxue Feng
1013Mujtaba Y WieserRussia2026-09-21Feiner Bros PROPOSAL51Asiya Javayant
1014Jones P MaletCanada2026-10-07Buckley Miller Wright UNQUALIFIED71Ivan Magalhaes
1015Smith V CaudyAustralia2026-10-06Dorl, James J Esq NEGOTIATION69Ioni Bowcher
1016Clifford D DarakjySpain2026-09-19Benton, John B Jr NEW20Bernardo Dominic
1017Rodrigues V WhobreySpain2026-09-23Morlong Associates PROPOSAL18Elwin Sharvill
1018Kaitlin W TollnerItaly2026-09-28Commercial Press UNQUALIFIED33Xuxue Feng
1019Smith T VenereRussia2026-10-02King, Christopher A Esq NEW65Ivan Magalhaes
1020Morrow Q MorascaUnited Kingdom2026-09-30Benton, John B Jr UNQUALIFIED90Ioni Bowcher
1021Morrow A BriddickArgentina2026-09-29Benton, John B Jr QUALIFIED86Amy Elsner
1022Leja C OldroydFrance2026-10-05Dorl, James J Esq RENEWAL42Ivan Magalhaes
1023Octavia R MorascaSpain2026-09-16Morlong Associates QUALIFIED72Stephen Shaw
1024Francesco T CaudyBrazil2026-09-11Dorl, James J Esq NEGOTIATION35Onyama Limba
1025Clifford D RimUnited Kingdom2026-09-20Chemel, James L Cpa RENEWAL55Stephen Shaw
1026Ricardo Q SaylorsBrazil2026-09-14Chanay, Jeffrey A Esq NEGOTIATION42Amy Elsner
1027Adams F KolmetzRussia2026-09-22Buckley Miller Wright QUALIFIED92Ivan Magalhaes
1028Salvatore D StensethFrance2026-10-07Chemel, James L Cpa UNQUALIFIED57Asiya Javayant
1029Maisha C CaldareraArgentina2026-10-07Rangoni Of Florence RENEWAL18Asiya Javayant
1030Mujtaba X BriddickSpain2026-10-08Buckley Miller Wright NEGOTIATION16Bernardo Dominic
1031Nicolas W GillianJapan2026-09-19Rousseaux, Michael Esq QUALIFIED77Anna Fali
1032Juan X GillianBrazil2026-09-13Chemel, James L Cpa PROPOSAL71Amy Elsner
1033Nicolas O KuskoIndia2026-09-18Truhlar And Truhlar Attys QUALIFIED37Bernardo Dominic
1034Francesco P VenereCanada2026-09-25Benton, John B Jr NEW14Stephen Shaw
1035Kaitlin F FigeroaJapan2026-09-15Morlong Associates NEGOTIATION59Amy Elsner
1036Antonio A FlosiSpain2026-09-26Morlong Associates UNQUALIFIED92Onyama Limba
1037Misaki T InouyeGermany2026-09-16Benton, John B Jr UNQUALIFIED87Onyama Limba
1038Ashley L FigeroaArgentina2026-09-24Truhlar And Truhlar Attys QUALIFIED56Anna Fali
1039Silvio G SchemmerSpain2026-09-26Chemel, James L Cpa NEW84Xuxue Feng
1040Ivar G GillianCanada2026-09-30Morlong Associates PROPOSAL29Xuxue Feng
1041Aruna Y VocelkaCanada2026-09-10King, Christopher A Esq PROPOSAL63Stephen Shaw
1042Rodrigues K WieserRussia2026-09-10Benton, John B Jr RENEWAL65Asiya Javayant
1043Jefferson L ButtCanada2026-09-14Benton, John B Jr RENEWAL77Elwin Sharvill
1044Johnson H BowleyGermany2026-10-08Feltz Printing Service NEGOTIATION6Amy Elsner
1045Misaki T PerinArgentina2026-10-05Morlong Associates NEGOTIATION29Elwin Sharvill
1046Stacey B WieserCanada2026-09-27Chanay, Jeffrey A Esq UNQUALIFIED28Stephen Shaw
1047Jennifer W SergiItaly2026-09-28Printing Dimensions UNQUALIFIED25Ivan Magalhaes
1048Faith X MacleadFrance2026-10-07Morlong Associates RENEWAL34Ivan Magalhaes
1049Aditya W PoquetteJapan2026-09-16Chapman, Ross E Esq NEW5Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leja L VenereArgentinaIoni Bowcher QUALIFIED
Aditya G WhobreyRussiaIvan Magalhaes UNQUALIFIED
Darci H GillianArgentinaIoni Bowcher UNQUALIFIED
Stacey A MaletJapanBernardo Dominic NEW
Leon C CaudyBrazilOnyama Limba QUALIFIED
Izzy B AmigonItalyIvan Magalhaes QUALIFIED
Ashley Y KolmetzGermanyXuxue Feng UNQUALIFIED
Tony I RutaBrazilBernardo Dominic NEW
Johnson U BowleyCanadaXuxue Feng RENEWAL
Alejandro G SergiArgentinaAnna Fali NEW
Misaki D DarakjySpainOnyama Limba PROPOSAL
Morrow B OstroskyBrazilOnyama Limba RENEWAL
Aditya A CampainBrazilOnyama Limba QUALIFIED
Alejandro V MaletUnited KingdomBernardo Dominic RENEWAL
Wickens L ButtGermanyStephen Shaw NEW
Tony V RutaJapanIoni Bowcher NEGOTIATION
Costa T SlusarskiFranceElwin Sharvill RENEWAL
Isabel K MacleadBrazilIoni Bowcher RENEWAL
Misaki Y AlbaresSpainAsiya Javayant NEGOTIATION
Faith X ShinkoItalyStephen Shaw UNQUALIFIED
Leja Q AmigonRussiaOnyama Limba RENEWAL
Octavia C BologniaBrazilElwin Sharvill RENEWAL
Leja U BologniaGermanyIoni Bowcher RENEWAL
Munro U FollerArgentinaXuxue Feng NEW
Clifford O BowleyBrazilElwin Sharvill NEW
Cody A DarakjyGermanyIvan Magalhaes NEW
Johnson T TollnerAustraliaOnyama Limba UNQUALIFIED
Munro N SergiAustraliaElwin Sharvill UNQUALIFIED
Morrow I GarufiRussiaIoni Bowcher NEW
Ashley Z GillianBrazilIvan Magalhaes PROPOSAL
Faith P NickaUnited KingdomIvan Magalhaes PROPOSAL
Jefferson K DilliardBrazilStephen Shaw NEGOTIATION
Maisha H DilliardItalyIvan Magalhaes QUALIFIED
Jeanfrancois K CaldareraJapanAsiya Javayant RENEWAL
Morrow C FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Murillo W OldroydUnited KingdomXuxue Feng NEGOTIATION
Sinclair B VenereJapanIoni Bowcher PROPOSAL
David D WhobreyUnited KingdomStephen Shaw NEW
Mujtaba Z InouyeIndiaElwin Sharvill QUALIFIED
Kadeem D DilliardAustraliaXuxue Feng UNQUALIFIED
James F SaylorsJapanBernardo Dominic NEGOTIATION
Sinclair X CampainCanadaAsiya Javayant PROPOSAL
Morrow A PoquetteJapanBernardo Dominic PROPOSAL
Arvin C SaylorsIndiaAnna Fali NEGOTIATION
Isabel R AlbaresSpainAmy Elsner PROPOSAL
Cody I MorascaCanadaAsiya Javayant NEGOTIATION
Chavez Y GauchoAustraliaOnyama Limba QUALIFIED
Murillo Z RoysterFranceOnyama Limba RENEWAL
Faith H DilliardGermanyAnna Fali PROPOSAL
Sinclair W WhobreyJapanAmy Elsner RENEWAL
Frozen Columns
Name
Jeanfrancois T Stockham
Ashley N Kusko
Munro I Ferencz
Maria C Bolognia
Chavez L Waycott
Kaitlin R Iturbide
Adams Z Albares
Jennifer H Butt
Rodrigues I Vocelka
Chavez Y Shinko
Ashley Y Briddick
Munro B Stockham
Izzy K Kolmetz
Mujtaba N Kusko
Jeanfrancois E Flosi
Murillo Z Inouye
Murillo G Tollner
Juan A Bowley
Jefferson K Vocelka
Murillo M Stockham
David S Rim
Ivar V Malet
Aika V Butt
Greenwood O Malet
Nicolas S Caldarera
Aditya R Waycott
Faith A Amigon
Faith C Waycott
Costa R Campain
Chavez R Glick
Misaki V Perin
Arvin N Oldroyd
Murillo V Glick
Izzy N Stenseth
Izzy U Figeroa
Faith R Ferencz
Nicolas S Amigon
Ricardo T Wieser
Kadeem P Shinko
Alejandro N Albares
Jones B Campain
Aruna F Butt
Aditya E Foller
Jeanfrancois Z Saylors
Octavia Q Doe
Mujtaba Y Kusko
Antonio Y Shinko
Julie G Paprocki
Sinclair E Doe
Jones V Glick
IdCountryDate
1000India2026-09-19
1001France2026-10-06
1002Brazil2026-09-25
1003United Kingdom2026-09-19
1004Australia2026-09-10
1005Spain2026-09-17
1006Argentina2026-09-17
1007Germany2026-09-17
1008Russia2026-10-09
1009Germany2026-10-01
1010Brazil2026-10-08
1011Australia2026-09-19
1012India2026-09-14
1013France2026-09-15
1014Brazil2026-09-23
1015Canada2026-09-11
1016Canada2026-10-01
1017Brazil2026-09-22
1018Italy2026-10-07
1019Brazil2026-09-19
1020Canada2026-10-01
1021United Kingdom2026-10-07
1022Brazil2026-09-24
1023Russia2026-09-28
1024Germany2026-10-09
1025Japan2026-09-19
1026France2026-10-07
1027Spain2026-09-27
1028Japan2026-09-22
1029Russia2026-09-17
1030Australia2026-09-20
1031Australia2026-09-10
1032Canada2026-09-27
1033Japan2026-10-09
1034Germany2026-10-03
1035Spain2026-10-03
1036Germany2026-09-20
1037Argentina2026-09-10
1038Japan2026-10-05
1039Australia2026-10-08
1040Argentina2026-09-20
1041Canada2026-10-03
1042Canada2026-09-18
1043Spain2026-09-18
1044Canada2026-09-30
1045India2026-09-26
1046Argentina2026-09-23
1047Argentina2026-10-09
1048Canada2026-09-11
1049Germany2026-09-23

On-Demand Data

NameIdCountryDate
Kaitlin O Kusko1000Germany2026-10-05
Smith R Marrier1001Russia2026-10-03
Francesco Z Slusarski1002India2026-09-12
Maisha R Gillian1003Japan2026-10-04
Tony N Nicka1004France2026-09-18
Sinclair F Nestle1005Australia2026-09-18
Ivar M Chui1006United Kingdom2026-09-26
Emily I Bolognia1007Brazil2026-09-17
Johnson C Kusko1008United Kingdom2026-10-08
Isabel R Malet1009Australia2026-09-25
David L Whobrey1010Australia2026-09-16
Silvio U Albares1011Italy2026-09-17
Mujtaba C Schemmer1012Japan2026-09-16
Jones U Ostrosky1013Argentina2026-09-10
Aditya Z Ruta1014Brazil2026-09-21
Johnson H Amigon1015Canada2026-10-08
Ricardo R Paprocki1016Canada2026-09-27
Francesco M Morasca1017Spain2026-10-04
Stacey P Foller1018France2026-09-30
Julie C Bowley1019Argentina2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro N MaletItalyAsiya Javayant PROPOSAL
Leja S ShinkoItalyAmy Elsner NEW
Kaitlin Z OstroskyAustraliaOnyama Limba NEW
Emily J WieserIndiaXuxue Feng RENEWAL
Clifford O WhobreyBrazilStephen Shaw NEGOTIATION
Mujtaba O DoeGermanyIoni Bowcher NEW
Nicolas M StockhamGermanyBernardo Dominic NEW
Leja E StensethFranceAnna Fali NEGOTIATION
Jefferson H MorascaArgentinaAmy Elsner UNQUALIFIED
Greenwood H KolmetzJapanStephen Shaw RENEWAL
Murillo M NestleAustraliaAmy Elsner RENEWAL
Darci C VocelkaCanadaOnyama Limba NEGOTIATION
Leon C FerenczItalyAmy Elsner UNQUALIFIED
Claire X GarufiCanadaIoni Bowcher NEGOTIATION
Faith S SergiCanadaIoni Bowcher NEW
Johnson N GauchoUnited KingdomXuxue Feng NEW
Maisha R CaldareraFranceXuxue Feng NEGOTIATION
Murillo U BriddickSpainAnna Fali QUALIFIED
Isabel P FigeroaUnited KingdomOnyama Limba PROPOSAL
Ashley L FollerItalyAmy Elsner UNQUALIFIED
Arvin F PerinBrazilStephen Shaw QUALIFIED
Stacey R InouyeUnited KingdomIvan Magalhaes QUALIFIED
Arvin W BriddickJapanBernardo Dominic RENEWAL
Greenwood A CaldareraGermanyIvan Magalhaes RENEWAL
Silvio H CampainAustraliaIoni Bowcher UNQUALIFIED
Misaki E ChuiAustraliaAmy Elsner UNQUALIFIED
Faith H DarakjyFranceIoni Bowcher UNQUALIFIED
Aika Y OstroskySpainElwin Sharvill UNQUALIFIED
Ivar B MacleadItalyElwin Sharvill NEGOTIATION
Silvio G KolmetzBrazilXuxue Feng NEW
Johnson K WieserItalyOnyama Limba PROPOSAL
Mujtaba H SaylorsSpainXuxue Feng QUALIFIED
Stacey C CaldareraRussiaBernardo Dominic NEGOTIATION
Leon B SaylorsAustraliaAnna Fali PROPOSAL
Murillo O AlbaresJapanIvan Magalhaes RENEWAL
Morrow Y DoeUnited KingdomAsiya Javayant PROPOSAL
James H WieserCanadaAnna Fali PROPOSAL
Murillo P CampainIndiaStephen Shaw NEW
Costa T CampainBrazilAnna Fali UNQUALIFIED
Johnson O StockhamIndiaIoni Bowcher QUALIFIED

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