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
Ashley E NestleGermanyAnna Fali NEW
Izzy T DoeFranceIoni Bowcher NEGOTIATION
Emily G FigeroaCanadaAnna Fali RENEWAL
James R AlbaresRussiaIoni Bowcher PROPOSAL
Misaki N WieserIndiaAsiya Javayant QUALIFIED
Misaki O IturbideUnited KingdomAmy Elsner PROPOSAL
Kaitlin F MarrierArgentinaElwin Sharvill UNQUALIFIED
Ivar D SchemmerIndiaAnna Fali PROPOSAL
Jeanfrancois I AlbaresBrazilOnyama Limba RENEWAL
Aika E GarufiCanadaAmy Elsner PROPOSAL
Jeanfrancois P WieserRussiaOnyama Limba NEW
Maria F MacleadGermanyStephen Shaw RENEWAL
David W BriddickUnited KingdomIoni Bowcher RENEWAL
Mujtaba X SlusarskiBrazilBernardo Dominic UNQUALIFIED
Antonio M IturbideSpainAnna Fali UNQUALIFIED
Juan T OldroydItalyXuxue Feng UNQUALIFIED
Arvin G PerinBrazilIoni Bowcher RENEWAL
Wickens S NestleGermanyAnna Fali PROPOSAL
Faith O BriddickGermanyOnyama Limba NEW
Juan M StockhamCanadaAnna Fali RENEWAL
Johnson S ButtJapanBernardo Dominic NEGOTIATION
Greenwood J MarrierFranceBernardo Dominic NEW
James Z BologniaRussiaXuxue Feng PROPOSAL
Jones E SaylorsGermanyAnna Fali RENEWAL
Adams R GauchoFranceStephen Shaw QUALIFIED
Costa W IturbideFranceIoni Bowcher RENEWAL
Izzy U ShinkoFranceBernardo Dominic UNQUALIFIED
Munro Y PoquetteRussiaIvan Magalhaes UNQUALIFIED
Mayumi T NestleRussiaStephen Shaw NEW
Leon O PerinGermanyXuxue Feng NEGOTIATION
Isabel B PaprockiIndiaElwin Sharvill QUALIFIED
Jennifer C WaycottIndiaBernardo Dominic RENEWAL
Jeanfrancois F PerinFranceXuxue Feng NEW
Sinclair U SaylorsJapanOnyama Limba UNQUALIFIED
Leja O ButtCanadaAnna Fali QUALIFIED
Clifford U MaletArgentinaIvan Magalhaes NEW
Francesco O MaletJapanOnyama Limba NEGOTIATION
Leon X OstroskyIndiaIoni Bowcher UNQUALIFIED
Francesco X PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Aika K VenereAustraliaAmy Elsner UNQUALIFIED
David X WhobreyAustraliaOnyama Limba UNQUALIFIED
Salvatore H ShinkoIndiaIoni Bowcher RENEWAL
Salvatore M GlickBrazilElwin Sharvill PROPOSAL
Leon H CaudyRussiaBernardo Dominic NEGOTIATION
Leja L WieserSpainStephen Shaw NEW
Leja H ShinkoSpainElwin Sharvill QUALIFIED
David P RulapaughItalyElwin Sharvill NEW
Octavia L SergiArgentinaIoni Bowcher UNQUALIFIED
Misaki W StockhamUnited KingdomAmy Elsner NEGOTIATION
James L MorascaFranceIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Salvatore E KolmetzJapanBernardo Dominic RENEWAL
Aruna W ButtArgentinaAnna Fali NEW
Darci Z GauchoFranceIoni Bowcher RENEWAL
Darci V WhobreyFranceAmy Elsner NEGOTIATION
Cody H GlickAustraliaAmy Elsner NEGOTIATION
Murillo S StockhamUnited KingdomAnna Fali RENEWAL
Leon I ButtItalyIoni Bowcher NEGOTIATION
Rodrigues Q PoquetteArgentinaAmy Elsner NEGOTIATION
Munro R OldroydArgentinaOnyama Limba NEW
Aika N RutaCanadaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James V SlusarskiJapan2026-09-23Printing Dimensions QUALIFIED79Xuxue Feng
1001Misaki P FerenczCanada2026-09-24Truhlar And Truhlar Attys QUALIFIED19Anna Fali
1002Silvio N BologniaBrazil2026-09-17Morlong Associates QUALIFIED3Ivan Magalhaes
1003Cody E KolmetzAustralia2026-09-16Chapman, Ross E Esq NEGOTIATION72Ivan Magalhaes
1004Aika E WaycottAustralia2026-09-28Rangoni Of Florence PROPOSAL17Stephen Shaw
1005Morrow J VenereSpain2026-09-18Chapman, Ross E Esq NEW80Stephen Shaw
1006Kaitlin B MarrierBrazil2026-09-19Rangoni Of Florence NEW63Onyama Limba
1007Leon Z TollnerIndia2026-09-15Buckley Miller Wright PROPOSAL32Xuxue Feng
1008Silvio T StockhamBrazil2026-10-07Chapman, Ross E Esq QUALIFIED47Ioni Bowcher
1009Emily J SaylorsUnited Kingdom2026-10-09Feltz Printing Service PROPOSAL60Elwin Sharvill
1010Alejandro P GlickArgentina2026-09-24Commercial Press QUALIFIED50Xuxue Feng
1011David C PoquetteGermany2026-10-10Commercial Press NEGOTIATION42Stephen Shaw
1012Kadeem L IturbideRussia2026-10-04Rousseaux, Michael Esq UNQUALIFIED83Onyama Limba
1013Emily N MacleadIndia2026-10-01Benton, John B Jr PROPOSAL0Bernardo Dominic
1014Greenwood H VenereUnited Kingdom2026-10-14Feltz Printing Service PROPOSAL42Stephen Shaw
1015Misaki P DoeIndia2026-10-04Feiner Bros NEGOTIATION82Onyama Limba
1016Ricardo B FerenczArgentina2026-10-04Benton, John B Jr UNQUALIFIED82Stephen Shaw
1017Isabel G FigeroaFrance2026-09-23Chemel, James L Cpa PROPOSAL97Onyama Limba
1018Clifford P InouyeRussia2026-09-25Truhlar And Truhlar Attys NEW35Ivan Magalhaes
1019Aruna D FerenczArgentina2026-09-21Rousseaux, Michael Esq PROPOSAL26Elwin Sharvill
1020Octavia Y GarufiRussia2026-10-11Benton, John B Jr NEGOTIATION11Anna Fali
1021Morrow Z WhobreyGermany2026-09-30Printing Dimensions PROPOSAL62Bernardo Dominic
1022Jennifer T MaletFrance2026-09-19Chemel, James L Cpa QUALIFIED85Stephen Shaw
1023Octavia Q NickaSpain2026-09-18Chapman, Ross E Esq NEW29Elwin Sharvill
1024Silvio X ChuiAustralia2026-09-17Feiner Bros UNQUALIFIED63Xuxue Feng
1025Kaitlin L WaycottGermany2026-09-18Rousseaux, Michael Esq QUALIFIED30Xuxue Feng
1026Tony W FigeroaIndia2026-09-16Feiner Bros QUALIFIED85Xuxue Feng
1027Leon B OldroydCanada2026-10-08Chemel, James L Cpa QUALIFIED67Stephen Shaw
1028Kadeem X RulapaughUnited Kingdom2026-09-19Commercial Press UNQUALIFIED17Ivan Magalhaes
1029Johnson T BriddickFrance2026-09-16Rousseaux, Michael Esq PROPOSAL43Elwin Sharvill
1030Kadeem Y OstroskyItaly2026-09-30Buckley Miller Wright PROPOSAL23Asiya Javayant
1031Misaki Y MarrierSpain2026-10-06Rangoni Of Florence NEGOTIATION59Bernardo Dominic
1032Misaki O BowleyGermany2026-09-16Buckley Miller Wright NEGOTIATION4Stephen Shaw
1033Octavia E WhobreyFrance2026-09-22Commercial Press QUALIFIED1Asiya Javayant
1034Leon R MorascaUnited Kingdom2026-09-23King, Christopher A Esq NEW4Stephen Shaw
1035Aditya H MorascaArgentina2026-10-06Dorl, James J Esq RENEWAL94Xuxue Feng
1036Rodrigues Y FerenczJapan2026-10-04Morlong Associates PROPOSAL71Onyama Limba
1037Jennifer P WieserRussia2026-10-04King, Christopher A Esq NEGOTIATION48Onyama Limba
1038Nicolas H RulapaughJapan2026-09-29Chanay, Jeffrey A Esq PROPOSAL49Ioni Bowcher
1039Misaki G MacleadFrance2026-09-30Buckley Miller Wright NEGOTIATION91Elwin Sharvill
1040Claire I PaprockiSpain2026-10-09Dorl, James J Esq UNQUALIFIED31Asiya Javayant
1041Rodrigues V CaudyArgentina2026-09-25King, Christopher A Esq QUALIFIED21Xuxue Feng
1042Smith J FollerSpain2026-10-03Printing Dimensions UNQUALIFIED66Onyama Limba
1043Arvin K TollnerFrance2026-09-17Rousseaux, Michael Esq QUALIFIED31Xuxue Feng
1044Silvio T WieserCanada2026-09-20Morlong Associates PROPOSAL76Xuxue Feng
1045Ricardo Z OstroskyJapan2026-10-14Feiner Bros NEGOTIATION51Bernardo Dominic
1046Leja R CaudyJapan2026-09-30Commercial Press PROPOSAL45Anna Fali
1047Deepesh P StockhamBrazil2026-09-26Buckley Miller Wright NEW58Anna Fali
1048Morrow F MaletGermany2026-09-17Rousseaux, Michael Esq NEW50Asiya Javayant
1049Murillo Q ShinkoIndia2026-09-21Printing Dimensions QUALIFIED38Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Arvin O AmigonUnited KingdomIvan Magalhaes QUALIFIED
Juan M DoeRussiaBernardo Dominic RENEWAL
David Y ButtIndiaAnna Fali NEGOTIATION
Kaitlin N VenereIndiaAsiya Javayant UNQUALIFIED
Darci Z BriddickIndiaAmy Elsner UNQUALIFIED
Maisha V KuskoAustraliaOnyama Limba QUALIFIED
Deepesh T AmigonCanadaXuxue Feng PROPOSAL
Antonio A OstroskyFranceOnyama Limba PROPOSAL
Mayumi A AlbaresArgentinaElwin Sharvill QUALIFIED
Leon E RimUnited KingdomBernardo Dominic RENEWAL
Aika B FerenczBrazilAmy Elsner PROPOSAL
Smith C NestleBrazilIvan Magalhaes UNQUALIFIED
Deepesh I FollerGermanyXuxue Feng NEGOTIATION
Arvin U MorascaGermanyXuxue Feng QUALIFIED
Jeanfrancois I RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas M SlusarskiFranceOnyama Limba PROPOSAL
Mujtaba U CampainItalyXuxue Feng PROPOSAL
Faith T VocelkaIndiaAmy Elsner QUALIFIED
Maisha H OstroskyRussiaAnna Fali PROPOSAL
Francesco H BologniaUnited KingdomIoni Bowcher NEW
Smith L OstroskyJapanIvan Magalhaes RENEWAL
Juan J GillianAustraliaBernardo Dominic RENEWAL
Adams V OldroydArgentinaAsiya Javayant RENEWAL
Jennifer Z CaldareraBrazilElwin Sharvill NEW
Kaitlin R RutaItalyIvan Magalhaes NEGOTIATION
Aruna S CaldareraCanadaBernardo Dominic RENEWAL
Greenwood A GarufiArgentinaBernardo Dominic UNQUALIFIED
Ashley M DoeJapanIvan Magalhaes NEGOTIATION
Aditya M BologniaSpainAmy Elsner NEGOTIATION
Nicolas L GillianItalyAmy Elsner UNQUALIFIED
Leja N WhobreyIndiaIoni Bowcher NEW
Aruna S TollnerFranceAsiya Javayant PROPOSAL
Mayumi R ChuiArgentinaAnna Fali PROPOSAL
Sinclair R PoquetteSpainIvan Magalhaes NEGOTIATION
Mayumi A AlbaresJapanBernardo Dominic QUALIFIED
Mujtaba A StockhamSpainOnyama Limba RENEWAL
Munro F PoquetteBrazilBernardo Dominic RENEWAL
Darci Z CaudyGermanyStephen Shaw NEW
Stacey I BologniaRussiaElwin Sharvill NEW
Rodrigues O ButtItalyBernardo Dominic QUALIFIED
Ivar T RutaUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi N MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Sinclair O RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Aika R FerenczAustraliaXuxue Feng PROPOSAL
Arvin M WieserRussiaIvan Magalhaes NEW
Kaitlin V DilliardFranceAsiya Javayant NEW
Cody F WaycottGermanyAsiya Javayant NEGOTIATION
Kadeem I MorascaAustraliaIvan Magalhaes UNQUALIFIED
Emily W RimFranceStephen Shaw NEGOTIATION
Smith Z ChuiJapanIoni Bowcher PROPOSAL
Frozen Columns
Name
Ashley G Gillian
Greenwood B Nestle
Emily Z Nicka
Juan Q Garufi
Johnson N Shinko
Morrow A Rim
Morrow G Shinko
Claire C Albares
Darci T Iturbide
Costa A Dilliard
Aruna L Marrier
Emily P Bowley
Julie J Chui
Rodrigues E Kolmetz
Aruna E Albares
Johnson H Ferencz
David Z Glick
Maisha I Nestle
Maisha L Garufi
Leja V Royster
Mujtaba P Inouye
Chavez J Kusko
Morrow H Stenseth
Antonio D Saylors
Juan I Shinko
Costa U Caldarera
Chavez R Nestle
Francesco W Stockham
Juan H Perin
Octavia U Waycott
Cody P Rulapaugh
Jefferson A Venere
Ashley Z Figeroa
Mujtaba V Glick
Misaki Y Kolmetz
Jones I Kolmetz
Stacey G Butt
Julie C Nicka
Morrow R Malet
Leja W Iturbide
Aika J Malet
Maria V Amigon
Kaitlin Z Waycott
Adams H Shinko
Nicolas Y Butt
Murillo Y Perin
Costa E Ferencz
Antonio U Venere
Misaki F Ostrosky
Salvatore X Nicka
IdCountryDate
1000Spain2026-09-18
1001France2026-10-08
1002India2026-09-30
1003Argentina2026-10-04
1004Russia2026-09-16
1005Germany2026-10-01
1006Brazil2026-09-17
1007Japan2026-10-06
1008Russia2026-10-12
1009Australia2026-09-23
1010Spain2026-09-15
1011Japan2026-09-23
1012India2026-10-02
1013Germany2026-09-20
1014India2026-09-21
1015Japan2026-09-21
1016Russia2026-10-02
1017Australia2026-10-10
1018India2026-09-25
1019Australia2026-09-15
1020Germany2026-10-09
1021India2026-09-25
1022Russia2026-09-27
1023Russia2026-10-13
1024France2026-09-21
1025Argentina2026-09-16
1026United Kingdom2026-09-22
1027Brazil2026-09-22
1028Australia2026-09-30
1029Argentina2026-10-04
1030Russia2026-09-22
1031Japan2026-09-22
1032Germany2026-09-17
1033Brazil2026-09-20
1034United Kingdom2026-09-26
1035Canada2026-10-09
1036Argentina2026-10-13
1037Argentina2026-10-04
1038France2026-09-17
1039Russia2026-10-08
1040Italy2026-09-21
1041India2026-10-08
1042France2026-10-09
1043Italy2026-09-19
1044Brazil2026-09-15
1045India2026-09-20
1046Argentina2026-10-10
1047Germany2026-10-12
1048Spain2026-10-06
1049Russia2026-10-02

On-Demand Data

NameIdCountryDate
Kaitlin C Slusarski1000Italy2026-10-07
Stacey U Kusko1001Italy2026-10-05
Arvin A Venere1002India2026-10-07
Murillo K Caudy1003Germany2026-10-13
Alejandro P Marrier1004Canada2026-10-04
Jeanfrancois O Ostrosky1005Italy2026-10-04
Costa L Garufi1006India2026-09-30
Isabel X Amigon1007Australia2026-09-25
Smith G Whobrey1008Brazil2026-09-26
Aika V Whobrey1009Canada2026-09-27
Octavia Z Caudy1010Russia2026-10-11
Adams S Nestle1011Japan2026-09-24
Salvatore G Poquette1012Germany2026-09-17
Francesco M Poquette1013Japan2026-09-22
Morrow V Slusarski1014Germany2026-09-16
Izzy A Waycott1015Australia2026-09-23
Darci U Morasca1016Brazil2026-10-03
James Z Inouye1017Russia2026-09-17
Morrow B Rulapaugh1018Brazil2026-10-06
Faith C Perin1019Argentina2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens B IturbideCanadaBernardo Dominic NEGOTIATION
Cody A SlusarskiRussiaBernardo Dominic QUALIFIED
Faith J NestleGermanyXuxue Feng QUALIFIED
Costa W CampainBrazilStephen Shaw RENEWAL
Wickens G MaletItalyIoni Bowcher QUALIFIED
Juan B VocelkaBrazilOnyama Limba PROPOSAL
Aruna D RimRussiaAmy Elsner NEW
Faith B CaldareraGermanyXuxue Feng PROPOSAL
Darci D CaldareraGermanyIvan Magalhaes PROPOSAL
Leon Z BriddickIndiaBernardo Dominic UNQUALIFIED
Silvio L DoeIndiaAmy Elsner UNQUALIFIED
Jennifer S DoeCanadaIoni Bowcher PROPOSAL
Murillo X RoysterCanadaIvan Magalhaes UNQUALIFIED
Maisha R RutaItalyStephen Shaw UNQUALIFIED
Adams K DarakjyArgentinaXuxue Feng PROPOSAL
Chavez Z ChuiFranceXuxue Feng UNQUALIFIED
Morrow S InouyeGermanyAnna Fali PROPOSAL
Octavia M TollnerFranceIvan Magalhaes RENEWAL
Francesco U SchemmerBrazilBernardo Dominic RENEWAL
Murillo I RulapaughCanadaAmy Elsner QUALIFIED
Cody U GarufiArgentinaAmy Elsner RENEWAL
Jennifer U FlosiItalyStephen Shaw NEW
Ivar B ChuiBrazilStephen Shaw NEGOTIATION
Leja H CaudyRussiaStephen Shaw UNQUALIFIED
Antonio S MorascaJapanStephen Shaw UNQUALIFIED
Silvio L RimAustraliaStephen Shaw NEW
Cody W PerinJapanAnna Fali QUALIFIED
Claire D ShinkoCanadaStephen Shaw UNQUALIFIED
Ricardo Q DarakjyCanadaElwin Sharvill PROPOSAL
Jennifer U PoquetteFranceAnna Fali RENEWAL
Jefferson S ButtUnited KingdomBernardo Dominic NEGOTIATION
Julie V SergiCanadaIvan Magalhaes UNQUALIFIED
Jeanfrancois O FigeroaCanadaBernardo Dominic UNQUALIFIED
Francesco U FollerAustraliaBernardo Dominic RENEWAL
Jennifer R RutaSpainAmy Elsner RENEWAL
Salvatore U RimRussiaStephen Shaw UNQUALIFIED
Clifford K KuskoGermanyAmy Elsner QUALIFIED
Cody L CaldareraGermanyBernardo Dominic RENEWAL
Jones R BologniaAustraliaOnyama Limba RENEWAL
James X CaldareraSpainStephen Shaw 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>