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
Chavez E RimFranceIvan Magalhaes NEGOTIATION
Mujtaba J TollnerItalyAsiya Javayant RENEWAL
Leja R CaudyCanadaBernardo Dominic PROPOSAL
Arvin L ShinkoUnited KingdomBernardo Dominic PROPOSAL
Salvatore J SlusarskiRussiaIvan Magalhaes QUALIFIED
Munro G AmigonSpainIvan Magalhaes RENEWAL
Rodrigues M RulapaughGermanyBernardo Dominic NEGOTIATION
Sinclair M KuskoJapanAmy Elsner UNQUALIFIED
Morrow S VenereGermanyAmy Elsner NEGOTIATION
Ricardo G PaprockiAustraliaIvan Magalhaes NEGOTIATION
Adams E BologniaGermanyAmy Elsner QUALIFIED
Jeanfrancois Q KuskoJapanAnna Fali QUALIFIED
Ashley D OstroskyGermanyStephen Shaw UNQUALIFIED
Alejandro N ButtItalyStephen Shaw NEW
Darci H PaprockiJapanAnna Fali RENEWAL
Claire U KuskoIndiaIoni Bowcher PROPOSAL
Stacey I CaudyItalyElwin Sharvill QUALIFIED
Misaki V ButtAustraliaXuxue Feng NEW
Alejandro V CaldareraItalyXuxue Feng NEW
Nicolas N PoquetteFranceElwin Sharvill PROPOSAL
Johnson T SergiRussiaAnna Fali RENEWAL
Wickens Y RutaArgentinaElwin Sharvill NEGOTIATION
Stacey Q TollnerIndiaXuxue Feng RENEWAL
Clifford E GauchoGermanyIoni Bowcher PROPOSAL
Greenwood R PoquetteAustraliaIvan Magalhaes NEGOTIATION
Antonio K SergiAustraliaAmy Elsner UNQUALIFIED
Claire G MorascaCanadaBernardo Dominic QUALIFIED
Aruna R MarrierFranceIoni Bowcher QUALIFIED
Adams L BologniaRussiaElwin Sharvill RENEWAL
Murillo U ChuiFranceOnyama Limba NEW
Izzy G DoeFranceIoni Bowcher RENEWAL
Kaitlin T CaldareraJapanXuxue Feng UNQUALIFIED
Johnson H MarrierBrazilElwin Sharvill UNQUALIFIED
Ashley K WhobreyArgentinaIoni Bowcher QUALIFIED
Murillo L AmigonAustraliaOnyama Limba NEW
Maisha X WieserJapanBernardo Dominic QUALIFIED
Leja N GlickRussiaBernardo Dominic UNQUALIFIED
Jefferson U GillianArgentinaOnyama Limba NEGOTIATION
Salvatore Z FigeroaJapanIoni Bowcher NEGOTIATION
Julie C MorascaAustraliaIvan Magalhaes RENEWAL
Jeanfrancois N DarakjyJapanIvan Magalhaes NEGOTIATION
Jeanfrancois W SchemmerAustraliaAsiya Javayant NEGOTIATION
Jones J FollerArgentinaAnna Fali PROPOSAL
Greenwood L NestleCanadaBernardo Dominic UNQUALIFIED
Jefferson O BowleyFranceElwin Sharvill RENEWAL
Tony N GillianUnited KingdomStephen Shaw UNQUALIFIED
Ricardo P FlosiUnited KingdomIoni Bowcher QUALIFIED
Adams R PoquetteBrazilAnna Fali QUALIFIED
Alejandro O TollnerGermanyAmy Elsner NEGOTIATION
Leja F SlusarskiGermanyAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin C MarrierRussiaAmy Elsner RENEWAL
Smith B OstroskySpainXuxue Feng UNQUALIFIED
Emily Z GillianJapanStephen Shaw NEW
Maria T SergiUnited KingdomXuxue Feng PROPOSAL
Arvin A OstroskySpainAsiya Javayant PROPOSAL
Salvatore P BologniaIndiaStephen Shaw PROPOSAL
Leon L GauchoFranceAsiya Javayant NEGOTIATION
Francesco G DarakjyCanadaIvan Magalhaes NEGOTIATION
Silvio P BologniaFranceXuxue Feng NEGOTIATION
Johnson D PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja J DilliardItaly2026-09-19King, Christopher A Esq RENEWAL90Bernardo Dominic
1001Octavia V OldroydArgentina2026-09-04Rousseaux, Michael Esq PROPOSAL60Xuxue Feng
1002Misaki G ChuiArgentina2026-09-04Dorl, James J Esq PROPOSAL98Asiya Javayant
1003Wickens S ButtBrazil2026-09-19Feiner Bros PROPOSAL76Anna Fali
1004Francesco Z SchemmerRussia2026-08-30Morlong Associates PROPOSAL11Bernardo Dominic
1005Aruna G RutaGermany2026-09-04Morlong Associates RENEWAL42Stephen Shaw
1006Jennifer N ChuiArgentina2026-09-14Rousseaux, Michael Esq PROPOSAL38Bernardo Dominic
1007Munro R RutaAustralia2026-09-04Dorl, James J Esq NEW81Amy Elsner
1008Octavia K MaletCanada2026-09-10Benton, John B Jr RENEWAL59Asiya Javayant
1009Chavez E AmigonIndia2026-09-11Morlong Associates RENEWAL28Bernardo Dominic
1010Tony M OldroydItaly2026-09-11Rangoni Of Florence RENEWAL75Ioni Bowcher
1011Emily F MarrierIndia2026-09-05Dorl, James J Esq NEW4Onyama Limba
1012Silvio M MaletFrance2026-08-30Feiner Bros QUALIFIED80Elwin Sharvill
1013David B TollnerRussia2026-09-02Printing Dimensions UNQUALIFIED95Ivan Magalhaes
1014Munro O ChuiFrance2026-09-11Chemel, James L Cpa NEGOTIATION54Onyama Limba
1015David B VenereRussia2026-09-17Morlong Associates RENEWAL55Ioni Bowcher
1016James V VenereIndia2026-08-30Chapman, Ross E Esq PROPOSAL45Elwin Sharvill
1017Clifford U FerenczAustralia2026-09-11Commercial Press NEGOTIATION16Xuxue Feng
1018Jefferson C NestleJapan2026-09-11Commercial Press UNQUALIFIED3Anna Fali
1019Arvin E IturbideBrazil2026-09-16King, Christopher A Esq QUALIFIED35Onyama Limba
1020Mayumi U GillianFrance2026-09-10Chemel, James L Cpa QUALIFIED68Stephen Shaw
1021Juan Q KuskoIndia2026-09-05Commercial Press UNQUALIFIED45Amy Elsner
1022Adams P SlusarskiBrazil2026-09-14Commercial Press NEW1Elwin Sharvill
1023Claire A ButtBrazil2026-09-01Chanay, Jeffrey A Esq NEW66Ivan Magalhaes
1024Ashley B BologniaBrazil2026-08-29Benton, John B Jr NEW38Asiya Javayant
1025Mayumi X MarrierUnited Kingdom2026-09-23Benton, John B Jr PROPOSAL30Asiya Javayant
1026Jennifer M IturbideGermany2026-09-26Chemel, James L Cpa PROPOSAL1Asiya Javayant
1027Kadeem R SlusarskiSpain2026-09-16Rousseaux, Michael Esq NEW75Xuxue Feng
1028Faith S SchemmerIndia2026-08-29Buckley Miller Wright QUALIFIED95Anna Fali
1029Ivar N DarakjyCanada2026-09-24Morlong Associates QUALIFIED49Onyama Limba
1030Juan E FlosiIndia2026-09-16Dorl, James J Esq UNQUALIFIED28Ioni Bowcher
1031Faith K GillianArgentina2026-09-08Chanay, Jeffrey A Esq PROPOSAL28Xuxue Feng
1032Kadeem C CaldareraIndia2026-09-22Feiner Bros PROPOSAL16Asiya Javayant
1033Francesco L AlbaresJapan2026-08-30Dorl, James J Esq RENEWAL22Bernardo Dominic
1034Kaitlin D BriddickRussia2026-09-08Chapman, Ross E Esq QUALIFIED37Xuxue Feng
1035Antonio Y GillianJapan2026-09-23Morlong Associates PROPOSAL30Onyama Limba
1036Julie C GauchoItaly2026-08-29Buckley Miller Wright NEW57Asiya Javayant
1037Juan L OldroydGermany2026-09-01Commercial Press NEW65Anna Fali
1038Misaki U WhobreyAustralia2026-08-31Truhlar And Truhlar Attys UNQUALIFIED76Anna Fali
1039Wickens O VocelkaItaly2026-09-06Benton, John B Jr PROPOSAL66Amy Elsner
1040Claire M MaletItaly2026-09-08Morlong Associates NEW62Onyama Limba
1041Julie D VenereCanada2026-09-01Morlong Associates NEW60Stephen Shaw
1042Faith Z FollerAustralia2026-09-09Feiner Bros NEW0Ivan Magalhaes
1043Jefferson I PaprockiFrance2026-09-26King, Christopher A Esq NEW67Amy Elsner
1044Mayumi S FlosiRussia2026-09-08Truhlar And Truhlar Attys PROPOSAL30Anna Fali
1045Morrow Y FollerFrance2026-08-30Commercial Press UNQUALIFIED3Ioni Bowcher
1046Darci K CaudyJapan2026-09-22King, Christopher A Esq NEW17Ioni Bowcher
1047Salvatore L AmigonCanada2026-08-30Chapman, Ross E Esq QUALIFIED78Stephen Shaw
1048Salvatore K RimGermany2026-08-29Chanay, Jeffrey A Esq NEW52Stephen Shaw
1049Alejandro D PerinArgentina2026-09-25Rangoni Of Florence NEW40Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ivar A BowleyGermanyXuxue Feng QUALIFIED
Sinclair N ButtIndiaIvan Magalhaes QUALIFIED
Aruna T MacleadSpainXuxue Feng NEW
Octavia Q RimUnited KingdomIvan Magalhaes NEW
Darci S SaylorsItalyElwin Sharvill RENEWAL
Antonio L IturbideRussiaElwin Sharvill QUALIFIED
Rodrigues F VocelkaItalyIvan Magalhaes NEGOTIATION
Jeanfrancois F BologniaSpainAsiya Javayant RENEWAL
Clifford Z CaldareraBrazilAmy Elsner NEGOTIATION
Jones E BowleyRussiaIvan Magalhaes NEGOTIATION
Izzy F WieserItalyIvan Magalhaes NEGOTIATION
Jennifer D ButtFranceXuxue Feng UNQUALIFIED
Claire F MarrierJapanXuxue Feng RENEWAL
Deepesh V MorascaSpainAmy Elsner QUALIFIED
James V DilliardItalyIvan Magalhaes UNQUALIFIED
Kaitlin F DoeUnited KingdomStephen Shaw NEGOTIATION
Aika S KuskoFranceIoni Bowcher RENEWAL
Smith B IturbideIndiaOnyama Limba PROPOSAL
Rodrigues P FollerBrazilXuxue Feng PROPOSAL
Smith N KuskoBrazilOnyama Limba RENEWAL
Stacey P DarakjyIndiaIoni Bowcher QUALIFIED
Juan M FlosiAustraliaXuxue Feng RENEWAL
David R GauchoSpainIoni Bowcher RENEWAL
Costa R KolmetzItalyBernardo Dominic PROPOSAL
Morrow Y TollnerSpainAsiya Javayant RENEWAL
Aditya B FerenczFranceXuxue Feng QUALIFIED
Leon A GauchoCanadaIvan Magalhaes NEGOTIATION
Rodrigues H RoysterBrazilAsiya Javayant NEGOTIATION
Octavia Y DarakjyJapanOnyama Limba QUALIFIED
Jennifer X FerenczCanadaIoni Bowcher UNQUALIFIED
James B KuskoAustraliaIvan Magalhaes NEGOTIATION
Mujtaba U RulapaughCanadaBernardo Dominic RENEWAL
Arvin X OstroskyUnited KingdomXuxue Feng UNQUALIFIED
David K AlbaresSpainBernardo Dominic UNQUALIFIED
Isabel J SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Costa O DoeGermanyXuxue Feng QUALIFIED
Murillo Q GarufiIndiaXuxue Feng NEGOTIATION
Jennifer J GauchoGermanyAmy Elsner UNQUALIFIED
Arvin E VocelkaCanadaAsiya Javayant QUALIFIED
Salvatore K SergiItalyAsiya Javayant UNQUALIFIED
Juan J GarufiJapanAnna Fali NEGOTIATION
Cody X WieserSpainIvan Magalhaes NEGOTIATION
Mujtaba G PoquetteArgentinaOnyama Limba QUALIFIED
Deepesh B AmigonAustraliaStephen Shaw PROPOSAL
Leon A NickaJapanIvan Magalhaes QUALIFIED
Francesco C NickaIndiaAmy Elsner PROPOSAL
Aditya J DarakjyRussiaOnyama Limba QUALIFIED
Adams Z AlbaresItalyBernardo Dominic PROPOSAL
Rodrigues X GlickItalyXuxue Feng NEW
Greenwood C WieserAustraliaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Sinclair P Oldroyd
Munro Q Tollner
Chavez G Darakjy
Smith I Paprocki
Emily R Oldroyd
Sinclair A Schemmer
Faith N Briddick
Darci U Garufi
Greenwood D Marrier
Maria E Saylors
Kaitlin U Caldarera
Juan V Waycott
Johnson W Royster
Johnson C Inouye
Greenwood K Stenseth
Costa N Whobrey
Claire T Vocelka
Smith T Inouye
James D Albares
Misaki N Ruta
Claire Q Shinko
Mayumi K Royster
Adams C Marrier
Darci W Garufi
Emily A Caudy
Aruna I Wieser
Maria H Gaucho
Maisha F Royster
Wickens O Poquette
Isabel W Nestle
Johnson P Ostrosky
Francesco B Albares
Ricardo H Saylors
Juan O Tollner
Aditya C Butt
Chavez P Inouye
Chavez Z Flosi
Deepesh T Figeroa
Maisha T Butt
Cody F Stockham
Aika E Morasca
Clifford W Bowley
Maria Z Sergi
Kaitlin C Albares
Cody X Caudy
Murillo B Nicka
Sinclair O Amigon
Izzy U Poquette
David N Stenseth
Ashley O Malet
IdCountryDate
1000Argentina2026-09-13
1001Germany2026-09-22
1002India2026-09-04
1003Canada2026-08-29
1004Spain2026-09-05
1005Japan2026-09-11
1006Argentina2026-09-17
1007Argentina2026-09-21
1008France2026-09-14
1009United Kingdom2026-09-27
1010France2026-09-09
1011Argentina2026-09-11
1012Australia2026-09-18
1013Spain2026-09-11
1014United Kingdom2026-09-13
1015Australia2026-09-05
1016Brazil2026-09-16
1017India2026-09-10
1018Italy2026-09-16
1019Australia2026-09-12
1020Germany2026-09-02
1021France2026-09-25
1022Italy2026-09-11
1023Canada2026-09-24
1024France2026-09-01
1025United Kingdom2026-09-13
1026Canada2026-09-01
1027Russia2026-09-27
1028United Kingdom2026-09-08
1029India2026-09-08
1030Brazil2026-09-23
1031India2026-09-01
1032Australia2026-09-15
1033Canada2026-09-05
1034France2026-09-08
1035Russia2026-09-03
1036India2026-09-23
1037Spain2026-09-22
1038Argentina2026-09-04
1039Russia2026-09-22
1040France2026-09-19
1041Argentina2026-09-22
1042Germany2026-09-06
1043Canada2026-09-01
1044Brazil2026-09-03
1045Australia2026-09-03
1046Germany2026-09-14
1047Argentina2026-08-31
1048Australia2026-09-08
1049Italy2026-09-13

On-Demand Data

NameIdCountryDate
Maria Q Rim1000Australia2026-09-16
Jones P Schemmer1001Germany2026-08-29
Smith Z Chui1002Brazil2026-09-15
Maisha L Maclead1003United Kingdom2026-09-04
Morrow D Nicka1004Australia2026-09-17
Tony T Garufi1005India2026-09-05
Izzy T Schemmer1006Italy2026-08-31
Clifford T Foller1007Russia2026-09-03
Nicolas U Bowley1008France2026-09-10
Sinclair I Campain1009France2026-09-01
Emily J Nestle1010Spain2026-09-14
Rodrigues B Morasca1011France2026-09-08
Murillo N Waycott1012Japan2026-09-25
Francesco Q Shinko1013Brazil2026-09-06
Murillo W Amigon1014Australia2026-08-29
David A Rulapaugh1015Russia2026-09-06
Ivar T Rulapaugh1016United Kingdom2026-09-19
Izzy I Kolmetz1017France2026-08-30
Salvatore F Flosi1018France2026-09-27
Maria X Amigon1019Spain2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez R DoeCanadaElwin Sharvill QUALIFIED
Rodrigues L FigeroaBrazilIvan Magalhaes UNQUALIFIED
Leja D NickaGermanyStephen Shaw PROPOSAL
Arvin N CaldareraGermanyBernardo Dominic PROPOSAL
Claire I DoeAustraliaIoni Bowcher PROPOSAL
Octavia D FlosiArgentinaIoni Bowcher NEGOTIATION
Octavia A InouyeFranceAmy Elsner UNQUALIFIED
Aruna Y PoquetteSpainOnyama Limba NEW
Jennifer J WhobreyCanadaAsiya Javayant UNQUALIFIED
Jones N DarakjyItalyElwin Sharvill QUALIFIED
Izzy Z TollnerFranceElwin Sharvill NEGOTIATION
Octavia J OstroskyFranceIvan Magalhaes QUALIFIED
Aika O MaletItalyStephen Shaw PROPOSAL
Juan Q OldroydRussiaXuxue Feng NEGOTIATION
Costa S BowleyAustraliaElwin Sharvill NEW
Francesco F CampainUnited KingdomXuxue Feng NEGOTIATION
Mayumi S KuskoUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin V NestleCanadaBernardo Dominic UNQUALIFIED
Nicolas U ShinkoSpainBernardo Dominic NEW
Alejandro F BowleyJapanBernardo Dominic UNQUALIFIED
Francesco L CaudyJapanStephen Shaw NEGOTIATION
Mujtaba X MaletCanadaAnna Fali PROPOSAL
Emily M MaletUnited KingdomStephen Shaw QUALIFIED
Stacey T MarrierUnited KingdomAsiya Javayant PROPOSAL
Darci T KuskoGermanyXuxue Feng QUALIFIED
Jennifer J MaletGermanyIvan Magalhaes QUALIFIED
Jennifer J GillianFranceStephen Shaw UNQUALIFIED
Claire S MaletArgentinaIoni Bowcher NEW
Jennifer O MacleadArgentinaAmy Elsner UNQUALIFIED
Kaitlin F DoeUnited KingdomIoni Bowcher NEGOTIATION
Jefferson Z FollerUnited KingdomIvan Magalhaes QUALIFIED
Jennifer I RimGermanyIvan Magalhaes RENEWAL
Ricardo I AlbaresRussiaAsiya Javayant QUALIFIED
Kaitlin L BriddickRussiaAmy Elsner PROPOSAL
Wickens L StockhamIndiaOnyama Limba QUALIFIED
Arvin U SlusarskiAustraliaIoni Bowcher PROPOSAL
Cody E RulapaughRussiaElwin Sharvill QUALIFIED
Claire J AlbaresCanadaElwin Sharvill UNQUALIFIED
Julie W GlickFranceAmy Elsner NEW
Misaki I VenereAustraliaStephen 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>