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
Jennifer J VenereFranceAmy Elsner QUALIFIED
Greenwood U PaprockiGermanyXuxue Feng PROPOSAL
Darci E OldroydAustraliaBernardo Dominic NEW
Mujtaba B RoysterRussiaOnyama Limba QUALIFIED
David G GarufiUnited KingdomAnna Fali NEGOTIATION
Alejandro Z VenereJapanStephen Shaw QUALIFIED
Maria K NickaCanadaAmy Elsner NEGOTIATION
Kadeem P KolmetzRussiaAsiya Javayant NEGOTIATION
Silvio B SlusarskiGermanyStephen Shaw UNQUALIFIED
Costa Z IturbideUnited KingdomOnyama Limba PROPOSAL
Izzy T DilliardFranceElwin Sharvill RENEWAL
Adams G RoysterItalyElwin Sharvill NEGOTIATION
Faith V SlusarskiSpainAnna Fali NEGOTIATION
David U DilliardIndiaAsiya Javayant RENEWAL
Chavez X PaprockiBrazilElwin Sharvill UNQUALIFIED
Ricardo Y MorascaCanadaStephen Shaw RENEWAL
Cody R RutaGermanyStephen Shaw NEW
Mujtaba H NestleBrazilOnyama Limba PROPOSAL
Jones X RutaJapanBernardo Dominic RENEWAL
Adams J CaudyJapanElwin Sharvill NEW
Cody I KuskoAustraliaXuxue Feng UNQUALIFIED
Jeanfrancois B FollerSpainIoni Bowcher PROPOSAL
Greenwood G SaylorsBrazilBernardo Dominic RENEWAL
Deepesh R PoquetteCanadaBernardo Dominic NEW
Jefferson R MaletBrazilAsiya Javayant UNQUALIFIED
Francesco H OstroskyBrazilStephen Shaw QUALIFIED
Tony L DilliardFranceElwin Sharvill NEGOTIATION
Murillo O PaprockiSpainIvan Magalhaes RENEWAL
Nicolas C NickaItalyElwin Sharvill NEGOTIATION
Aditya Z DoeIndiaAsiya Javayant QUALIFIED
Isabel O GlickJapanIoni Bowcher UNQUALIFIED
Ashley O StensethFranceAmy Elsner RENEWAL
Silvio L MaletItalyXuxue Feng UNQUALIFIED
Emily Z CaldareraItalyAmy Elsner UNQUALIFIED
Murillo B RimUnited KingdomIoni Bowcher PROPOSAL
Aika Q GarufiArgentinaStephen Shaw RENEWAL
Cody B MorascaFranceIvan Magalhaes PROPOSAL
Isabel I FollerGermanyAsiya Javayant RENEWAL
Octavia E KolmetzArgentinaElwin Sharvill QUALIFIED
Antonio P SaylorsCanadaIoni Bowcher QUALIFIED
Emily D FerenczCanadaAsiya Javayant NEW
Izzy B BowleySpainStephen Shaw NEGOTIATION
Misaki F MaletAustraliaElwin Sharvill PROPOSAL
Johnson V CaudyItalyBernardo Dominic UNQUALIFIED
Juan F DilliardFranceBernardo Dominic NEGOTIATION
Faith R DoeItalyIvan Magalhaes RENEWAL
Jennifer M DarakjyFranceIvan Magalhaes UNQUALIFIED
Emily A NickaRussiaAnna Fali UNQUALIFIED
David A FollerAustraliaIoni Bowcher PROPOSAL
Faith J ButtAustraliaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Stacey F NickaItalyOnyama Limba PROPOSAL
Clifford N AmigonArgentinaAnna Fali QUALIFIED
Stacey N NestleArgentinaIvan Magalhaes NEGOTIATION
Nicolas Q MacleadAustraliaIvan Magalhaes NEGOTIATION
Izzy C FerenczCanadaXuxue Feng QUALIFIED
Ashley M DoeIndiaXuxue Feng RENEWAL
Rodrigues P GauchoJapanElwin Sharvill PROPOSAL
David V GillianSpainXuxue Feng UNQUALIFIED
Misaki A KolmetzRussiaElwin Sharvill NEGOTIATION
Salvatore B BowleyJapanAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon J KolmetzCanada2026-09-27Rangoni Of Florence UNQUALIFIED35Bernardo Dominic
1001Maria E PerinArgentina2026-10-12Benton, John B Jr NEGOTIATION98Asiya Javayant
1002Adams T FerenczJapan2026-09-27Printing Dimensions RENEWAL38Ioni Bowcher
1003Stacey F SergiFrance2026-09-28Rangoni Of Florence NEW88Xuxue Feng
1004Octavia J TollnerCanada2026-10-03Commercial Press NEW74Xuxue Feng
1005Antonio F StockhamJapan2026-10-14Chemel, James L Cpa QUALIFIED17Stephen Shaw
1006Deepesh F GauchoIndia2026-10-04Printing Dimensions UNQUALIFIED84Elwin Sharvill
1007Misaki H MacleadItaly2026-10-01Chemel, James L Cpa NEW26Amy Elsner
1008Jeanfrancois M OldroydUnited Kingdom2026-09-27Chanay, Jeffrey A Esq QUALIFIED61Bernardo Dominic
1009Cody T PerinRussia2026-09-29King, Christopher A Esq NEGOTIATION71Asiya Javayant
1010Adams I BriddickIndia2026-10-03Dorl, James J Esq QUALIFIED25Asiya Javayant
1011Jeanfrancois R StockhamGermany2026-09-29Commercial Press NEGOTIATION21Ivan Magalhaes
1012Rodrigues E AlbaresArgentina2026-09-21Rangoni Of Florence PROPOSAL63Ivan Magalhaes
1013Rodrigues X InouyeCanada2026-09-21Truhlar And Truhlar Attys NEW70Ivan Magalhaes
1014Morrow J KuskoBrazil2026-09-25Feiner Bros RENEWAL41Stephen Shaw
1015Leon T GauchoCanada2026-09-30Feltz Printing Service RENEWAL86Asiya Javayant
1016David J NickaArgentina2026-09-16Rousseaux, Michael Esq PROPOSAL91Bernardo Dominic
1017Deepesh J MaletArgentina2026-09-27Printing Dimensions UNQUALIFIED39Xuxue Feng
1018Silvio H RimFrance2026-09-22Dorl, James J Esq PROPOSAL60Xuxue Feng
1019Stacey W RimUnited Kingdom2026-10-13Rangoni Of Florence QUALIFIED17Elwin Sharvill
1020Nicolas B OstroskyBrazil2026-09-20Chapman, Ross E Esq QUALIFIED96Asiya Javayant
1021Ivar E MorascaUnited Kingdom2026-10-12Printing Dimensions RENEWAL38Bernardo Dominic
1022Costa F RutaIndia2026-10-07Chanay, Jeffrey A Esq RENEWAL84Ioni Bowcher
1023Maisha S DarakjySpain2026-09-30Chemel, James L Cpa NEW89Elwin Sharvill
1024Sinclair K MacleadRussia2026-10-12King, Christopher A Esq RENEWAL49Ivan Magalhaes
1025Chavez X DarakjyRussia2026-10-03Chemel, James L Cpa UNQUALIFIED35Ioni Bowcher
1026Ashley L BologniaItaly2026-09-17Dorl, James J Esq PROPOSAL60Stephen Shaw
1027Rodrigues N FlosiCanada2026-10-02Benton, John B Jr UNQUALIFIED30Stephen Shaw
1028Morrow I GauchoFrance2026-09-21Chanay, Jeffrey A Esq QUALIFIED70Amy Elsner
1029Kadeem B WieserBrazil2026-09-21King, Christopher A Esq NEGOTIATION10Ioni Bowcher
1030Kaitlin H VocelkaAustralia2026-10-02Dorl, James J Esq PROPOSAL71Anna Fali
1031Ivar K StensethIndia2026-10-08Dorl, James J Esq NEGOTIATION75Bernardo Dominic
1032Costa P BriddickCanada2026-09-22Dorl, James J Esq QUALIFIED71Anna Fali
1033Sinclair X OldroydAustralia2026-09-18King, Christopher A Esq QUALIFIED47Elwin Sharvill
1034James G StensethRussia2026-09-20Commercial Press NEGOTIATION16Stephen Shaw
1035Johnson P DoeArgentina2026-09-25Commercial Press QUALIFIED42Stephen Shaw
1036Deepesh U SergiIndia2026-10-13Chemel, James L Cpa NEW72Ivan Magalhaes
1037Salvatore G AmigonSpain2026-09-26Benton, John B Jr UNQUALIFIED60Xuxue Feng
1038Ricardo H MorascaGermany2026-10-05Benton, John B Jr NEW72Anna Fali
1039Aika E OldroydGermany2026-09-23Buckley Miller Wright NEGOTIATION48Asiya Javayant
1040David Q MarrierArgentina2026-09-29Rousseaux, Michael Esq QUALIFIED73Asiya Javayant
1041Mujtaba F FerenczSpain2026-10-03Buckley Miller Wright RENEWAL54Onyama Limba
1042Darci G CampainGermany2026-10-15Printing Dimensions QUALIFIED47Onyama Limba
1043Tony D PerinSpain2026-10-05Dorl, James J Esq UNQUALIFIED80Stephen Shaw
1044Ricardo I BowleyRussia2026-09-27Rousseaux, Michael Esq NEW18Amy Elsner
1045Faith I SchemmerAustralia2026-09-17Chanay, Jeffrey A Esq NEW91Elwin Sharvill
1046Octavia X TollnerSpain2026-10-03Rangoni Of Florence UNQUALIFIED39Ivan Magalhaes
1047Emily C RoysterAustralia2026-09-27Truhlar And Truhlar Attys NEW14Asiya Javayant
1048Misaki S BowleyCanada2026-10-02Feiner Bros RENEWAL9Ivan Magalhaes
1049Maria F RulapaughIndia2026-09-26Rousseaux, Michael Esq PROPOSAL87Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Q NickaRussiaStephen Shaw NEW
Salvatore X ChuiRussiaBernardo Dominic UNQUALIFIED
Chavez M MorascaGermanyAsiya Javayant QUALIFIED
Maisha J KuskoUnited KingdomOnyama Limba PROPOSAL
Aruna Z RutaCanadaAmy Elsner NEGOTIATION
Misaki L DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Aditya Z IturbideRussiaIoni Bowcher NEW
Juan G FigeroaSpainStephen Shaw RENEWAL
Juan C CaldareraCanadaXuxue Feng UNQUALIFIED
Francesco K CampainArgentinaAnna Fali QUALIFIED
Aruna C GlickCanadaIvan Magalhaes NEGOTIATION
Murillo U IturbideFranceBernardo Dominic NEGOTIATION
Nicolas D MorascaIndiaXuxue Feng UNQUALIFIED
Aditya H AlbaresBrazilAnna Fali QUALIFIED
Ivar L MacleadGermanyIoni Bowcher RENEWAL
Misaki N MaletRussiaStephen Shaw NEW
Maisha X WaycottJapanAnna Fali PROPOSAL
Salvatore U WhobreyUnited KingdomIoni Bowcher NEGOTIATION
Jones K MaletRussiaAmy Elsner UNQUALIFIED
Isabel Q ButtFranceAsiya Javayant NEGOTIATION
Maisha R KolmetzAustraliaStephen Shaw RENEWAL
Aika U PerinGermanyIvan Magalhaes NEW
Nicolas U InouyeFranceAsiya Javayant RENEWAL
Julie R GlickSpainAsiya Javayant NEW
Chavez B PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Isabel E StockhamRussiaAnna Fali RENEWAL
Claire A NickaUnited KingdomXuxue Feng UNQUALIFIED
Faith B MorascaBrazilAnna Fali NEGOTIATION
Aika U RoysterGermanyAsiya Javayant NEW
Leon W PoquetteJapanOnyama Limba NEW
Munro O KuskoBrazilXuxue Feng NEGOTIATION
Leja H FigeroaIndiaOnyama Limba QUALIFIED
Ricardo Z ChuiFranceAnna Fali NEW
Aditya U GarufiFranceAsiya Javayant PROPOSAL
Salvatore J ShinkoUnited KingdomElwin Sharvill NEGOTIATION
Jones C DarakjyUnited KingdomAnna Fali QUALIFIED
Morrow S MorascaCanadaOnyama Limba NEW
Misaki S SlusarskiIndiaOnyama Limba UNQUALIFIED
Stacey N KuskoUnited KingdomBernardo Dominic RENEWAL
Sinclair P OldroydCanadaIvan Magalhaes PROPOSAL
Arvin I ShinkoRussiaOnyama Limba RENEWAL
Rodrigues K StockhamBrazilElwin Sharvill RENEWAL
Leon G FollerArgentinaAmy Elsner NEGOTIATION
Wickens K OldroydIndiaOnyama Limba PROPOSAL
Antonio W FlosiIndiaElwin Sharvill NEW
Misaki B NestleIndiaXuxue Feng NEW
Darci U BologniaItalyAnna Fali UNQUALIFIED
Nicolas S CaldareraCanadaIoni Bowcher NEW
Leja X RimFranceIvan Magalhaes NEGOTIATION
Ivar J NestleRussiaElwin Sharvill PROPOSAL
Frozen Columns
Name
Aika N Stockham
Kaitlin H Kusko
Misaki G Caldarera
Darci A Bolognia
Chavez F Poquette
Leon V Paprocki
Jefferson E Maclead
Jones R Ferencz
Cody O Garufi
Francesco T Chui
Tony V Caldarera
Rodrigues Z Chui
Deepesh G Stockham
Mujtaba Q Ostrosky
Alejandro S Albares
Alejandro K Campain
Ivar A Shinko
Murillo D Caudy
Mayumi Q Glick
Juan H Iturbide
Smith Y Rulapaugh
Salvatore H Bolognia
Salvatore N Amigon
Jennifer J Shinko
David G Oldroyd
Leja X Waycott
Jeanfrancois A Malet
Juan Q Venere
Jones Z Flosi
Maria R Stenseth
Smith D Venere
Kaitlin X Briddick
Arvin O Kusko
Adams A Perin
Maisha H Campain
Ivar X Shinko
Kadeem E Whobrey
Leja E Oldroyd
Izzy M Foller
Kaitlin F Ruta
Ivar E Ruta
Emily J Poquette
Nicolas U Ruta
Murillo Y Nestle
Jeanfrancois O Iturbide
Wickens W Schemmer
Darci V Nicka
Julie T Vocelka
Antonio U Dilliard
Smith V Foller
IdCountryDate
1000India2026-09-22
1001France2026-10-08
1002Russia2026-09-18
1003Australia2026-09-30
1004Russia2026-09-30
1005Brazil2026-10-04
1006Australia2026-10-01
1007Japan2026-10-07
1008France2026-09-17
1009Brazil2026-10-10
1010Spain2026-09-23
1011Germany2026-10-03
1012Germany2026-10-04
1013Japan2026-10-06
1014Brazil2026-10-04
1015Argentina2026-10-01
1016Italy2026-09-19
1017Japan2026-10-05
1018India2026-09-17
1019Brazil2026-09-21
1020Japan2026-09-23
1021Argentina2026-10-01
1022Japan2026-10-08
1023Australia2026-09-21
1024Russia2026-09-16
1025Canada2026-10-02
1026Spain2026-09-28
1027Japan2026-10-01
1028France2026-10-07
1029Argentina2026-09-24
1030Brazil2026-09-20
1031Brazil2026-10-04
1032Argentina2026-09-28
1033Brazil2026-09-22
1034Australia2026-10-02
1035Italy2026-10-09
1036United Kingdom2026-09-24
1037Japan2026-10-07
1038France2026-09-28
1039France2026-10-04
1040Russia2026-09-30
1041Italy2026-09-24
1042India2026-09-18
1043Italy2026-09-17
1044Japan2026-10-07
1045Australia2026-10-11
1046France2026-09-17
1047Argentina2026-09-16
1048Japan2026-09-16
1049France2026-09-28

On-Demand Data

NameIdCountryDate
Isabel X Rulapaugh1000Italy2026-09-29
Ashley J Garufi1001United Kingdom2026-10-06
Antonio N Stockham1002France2026-09-29
Silvio X Wieser1003Spain2026-10-06
Morrow I Morasca1004Argentina2026-10-07
Ashley Q Foller1005France2026-10-07
Kadeem X Darakjy1006Australia2026-10-01
Mayumi W Glick1007India2026-09-22
Rodrigues Q Morasca1008Canada2026-09-17
Ricardo G Ostrosky1009Russia2026-10-01
Aika K Caldarera1010Argentina2026-09-20
Juan T Albares1011Canada2026-09-26
Emily B Schemmer1012France2026-10-13
Izzy F Kusko1013Italy2026-09-29
Silvio U Maclead1014Spain2026-09-21
Morrow Z Morasca1015Canada2026-09-28
Faith J Dilliard1016Canada2026-10-09
Aika W Saylors1017Brazil2026-10-13
Octavia L Sergi1018Japan2026-09-20
Sinclair B Slusarski1019United Kingdom2026-10-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika J KuskoAustraliaIoni Bowcher PROPOSAL
Jennifer C ButtGermanyIoni Bowcher UNQUALIFIED
Faith M FigeroaArgentinaAsiya Javayant PROPOSAL
Claire A PerinFranceOnyama Limba NEGOTIATION
Greenwood T SchemmerAustraliaAmy Elsner NEW
Emily H RulapaughAustraliaIoni Bowcher NEW
Darci U BowleyCanadaOnyama Limba NEGOTIATION
Cody U MaletJapanAsiya Javayant RENEWAL
Murillo F GarufiBrazilIvan Magalhaes PROPOSAL
Leon Y TollnerJapanIvan Magalhaes UNQUALIFIED
Sinclair E DilliardSpainAnna Fali RENEWAL
Greenwood J CaudyUnited KingdomAmy Elsner RENEWAL
Wickens E CaudySpainAsiya Javayant UNQUALIFIED
Faith G GauchoCanadaAnna Fali UNQUALIFIED
Johnson Z PaprockiFranceOnyama Limba PROPOSAL
Emily K AlbaresAustraliaIvan Magalhaes NEW
Ivar U ShinkoSpainStephen Shaw QUALIFIED
Munro L WhobreyAustraliaAnna Fali PROPOSAL
Nicolas Z SaylorsRussiaBernardo Dominic UNQUALIFIED
Leja V AmigonIndiaAnna Fali QUALIFIED
Rodrigues M GillianJapanAmy Elsner RENEWAL
Tony T WieserArgentinaXuxue Feng QUALIFIED
Leon K MarrierArgentinaOnyama Limba PROPOSAL
Ricardo Y FerenczAustraliaAsiya Javayant UNQUALIFIED
Murillo N ChuiUnited KingdomOnyama Limba QUALIFIED
Munro V PaprockiSpainIoni Bowcher RENEWAL
Darci F RulapaughAustraliaIvan Magalhaes NEW
Arvin M InouyeItalyElwin Sharvill NEGOTIATION
Murillo D OldroydJapanAnna Fali NEW
Murillo O StockhamAustraliaAmy Elsner RENEWAL
Alejandro N KolmetzFranceAsiya Javayant PROPOSAL
Silvio N PaprockiUnited KingdomOnyama Limba QUALIFIED
Maria A StensethBrazilAnna Fali RENEWAL
Alejandro S InouyeIndiaXuxue Feng UNQUALIFIED
Adams J GarufiSpainStephen Shaw UNQUALIFIED
Maria V RulapaughItalyAsiya Javayant NEGOTIATION
Alejandro X TollnerIndiaAmy Elsner NEGOTIATION
Emily N WhobreyItalyIoni Bowcher QUALIFIED
Misaki K StensethJapanIoni Bowcher PROPOSAL
Kadeem Z KuskoSpainOnyama Limba PROPOSAL

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