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
Johnson Y StockhamGermanyOnyama Limba PROPOSAL
Octavia G MorascaSpainXuxue Feng NEGOTIATION
Julie L CampainBrazilBernardo Dominic UNQUALIFIED
Jennifer J GlickGermanyAnna Fali QUALIFIED
Jones U NestleSpainElwin Sharvill PROPOSAL
Adams K MacleadUnited KingdomAmy Elsner NEW
Salvatore Z GarufiIndiaIvan Magalhaes NEGOTIATION
Izzy F CaudyIndiaAnna Fali NEW
Francesco J FlosiGermanyIvan Magalhaes PROPOSAL
Alejandro W WieserArgentinaAnna Fali UNQUALIFIED
Arvin Z SlusarskiGermanyAnna Fali UNQUALIFIED
Antonio B PoquetteSpainAsiya Javayant RENEWAL
Alejandro W RulapaughUnited KingdomOnyama Limba NEW
James C SaylorsIndiaAnna Fali NEGOTIATION
Claire U GlickIndiaBernardo Dominic QUALIFIED
Octavia E WieserGermanyXuxue Feng PROPOSAL
Mujtaba M DoeIndiaElwin Sharvill NEW
Arvin X MaletAustraliaOnyama Limba RENEWAL
Leja E FigeroaFranceStephen Shaw NEW
Stacey M FerenczUnited KingdomStephen Shaw NEW
Claire C BriddickRussiaIoni Bowcher UNQUALIFIED
Mujtaba M CaudyCanadaBernardo Dominic NEGOTIATION
Aditya F TollnerFranceAmy Elsner QUALIFIED
Munro M InouyeArgentinaStephen Shaw RENEWAL
Adams S SlusarskiItalyStephen Shaw QUALIFIED
Misaki F InouyeBrazilIoni Bowcher NEW
Juan B NestleIndiaStephen Shaw QUALIFIED
Jefferson W WaycottIndiaIoni Bowcher NEGOTIATION
Jeanfrancois I IturbideCanadaAmy Elsner RENEWAL
Darci R KolmetzAustraliaAsiya Javayant QUALIFIED
Aika Z VenereBrazilAmy Elsner NEGOTIATION
Izzy J AmigonFranceAmy Elsner NEW
James X RoysterCanadaAmy Elsner QUALIFIED
Arvin T GarufiJapanIoni Bowcher QUALIFIED
Clifford D WhobreyGermanyBernardo Dominic NEW
David M OstroskyAustraliaOnyama Limba NEW
Izzy O FollerSpainAsiya Javayant PROPOSAL
Murillo Z WaycottJapanAsiya Javayant RENEWAL
Octavia T KolmetzGermanyIoni Bowcher NEW
Misaki O SchemmerUnited KingdomBernardo Dominic UNQUALIFIED
Antonio V NickaCanadaStephen Shaw PROPOSAL
Greenwood R GillianCanadaIoni Bowcher RENEWAL
Ivar K BowleyFranceIvan Magalhaes PROPOSAL
Chavez L ChuiBrazilIoni Bowcher PROPOSAL
Maisha E FollerRussiaIvan Magalhaes UNQUALIFIED
Jefferson F FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Arvin N WieserGermanyXuxue Feng RENEWAL
Murillo T RimSpainStephen Shaw RENEWAL
Smith W MaletUnited KingdomAmy Elsner UNQUALIFIED
Tony J FerenczSpainBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Tony B MarrierItalyAnna Fali NEGOTIATION
Mujtaba H GlickArgentinaElwin Sharvill QUALIFIED
James C MaletArgentinaAmy Elsner PROPOSAL
Francesco Z RutaSpainIoni Bowcher NEGOTIATION
Clifford D WhobreyRussiaXuxue Feng NEGOTIATION
Ivar R SchemmerItalyStephen Shaw UNQUALIFIED
Misaki K AlbaresUnited KingdomOnyama Limba NEW
Cody F WaycottBrazilAmy Elsner UNQUALIFIED
Ricardo T DilliardJapanAsiya Javayant NEGOTIATION
Ashley O AlbaresJapanElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey V PaprockiAustralia2026-09-13Chanay, Jeffrey A Esq NEW76Asiya Javayant
1001Kadeem J BologniaJapan2026-09-09Chapman, Ross E Esq NEGOTIATION12Stephen Shaw
1002James W OstroskyFrance2026-09-08Rousseaux, Michael Esq RENEWAL83Amy Elsner
1003Murillo A DoeSpain2026-09-04Feltz Printing Service RENEWAL65Anna Fali
1004Leja F DarakjyGermany2026-09-29King, Christopher A Esq QUALIFIED44Xuxue Feng
1005David B StensethGermany2026-09-25Truhlar And Truhlar Attys NEGOTIATION69Elwin Sharvill
1006Misaki X RutaAustralia2026-09-27Chanay, Jeffrey A Esq PROPOSAL58Anna Fali
1007Ivar Y TollnerRussia2026-09-01Benton, John B Jr QUALIFIED51Bernardo Dominic
1008Emily M SaylorsIndia2026-09-11Buckley Miller Wright NEGOTIATION14Asiya Javayant
1009Mayumi X StensethUnited Kingdom2026-09-29Commercial Press UNQUALIFIED59Ivan Magalhaes
1010Isabel Q TollnerArgentina2026-09-25Morlong Associates NEW68Bernardo Dominic
1011Misaki K ButtRussia2026-09-27Chanay, Jeffrey A Esq PROPOSAL95Anna Fali
1012Rodrigues K ShinkoFrance2026-09-17Truhlar And Truhlar Attys PROPOSAL44Elwin Sharvill
1013Mayumi Y VenereSpain2026-09-27Rousseaux, Michael Esq PROPOSAL27Xuxue Feng
1014Francesco U CampainRussia2026-09-07Rousseaux, Michael Esq NEW72Onyama Limba
1015Isabel D SlusarskiGermany2026-09-18Feiner Bros RENEWAL15Onyama Limba
1016Arvin T FigeroaAustralia2026-09-10Chemel, James L Cpa RENEWAL29Onyama Limba
1017Stacey I RoysterItaly2026-09-10Rangoni Of Florence RENEWAL55Bernardo Dominic
1018Leja E IturbideUnited Kingdom2026-09-04Commercial Press RENEWAL93Elwin Sharvill
1019Deepesh E PerinUnited Kingdom2026-09-09Commercial Press NEGOTIATION76Ivan Magalhaes
1020Ivar Z DoeGermany2026-09-20Truhlar And Truhlar Attys NEGOTIATION37Anna Fali
1021Misaki W WieserCanada2026-09-13Rousseaux, Michael Esq NEGOTIATION7Ivan Magalhaes
1022Ivar Y AlbaresFrance2026-09-11Commercial Press UNQUALIFIED86Ioni Bowcher
1023Cody F BologniaFrance2026-09-24Truhlar And Truhlar Attys NEGOTIATION63Onyama Limba
1024Munro J WaycottArgentina2026-09-08Printing Dimensions NEW8Amy Elsner
1025Silvio H PoquetteUnited Kingdom2026-09-07Chemel, James L Cpa PROPOSAL23Stephen Shaw
1026Antonio Q BologniaCanada2026-09-27Benton, John B Jr UNQUALIFIED54Anna Fali
1027Isabel L ChuiRussia2026-09-28Feiner Bros RENEWAL99Amy Elsner
1028Johnson N GauchoCanada2026-09-09Feiner Bros RENEWAL21Elwin Sharvill
1029Arvin J MaletArgentina2026-09-14Truhlar And Truhlar Attys PROPOSAL28Ivan Magalhaes
1030Salvatore N DilliardSpain2026-09-09Chapman, Ross E Esq QUALIFIED52Elwin Sharvill
1031Munro T InouyeSpain2026-09-25Truhlar And Truhlar Attys NEW16Asiya Javayant
1032Munro W FlosiGermany2026-09-17Feltz Printing Service NEGOTIATION20Elwin Sharvill
1033James B DarakjyRussia2026-09-12Rangoni Of Florence UNQUALIFIED95Asiya Javayant
1034Emily G MarrierUnited Kingdom2026-09-02Rousseaux, Michael Esq QUALIFIED64Ioni Bowcher
1035Misaki O BologniaIndia2026-09-12King, Christopher A Esq RENEWAL10Bernardo Dominic
1036Francesco Q SlusarskiJapan2026-09-19Chapman, Ross E Esq QUALIFIED13Ioni Bowcher
1037Rodrigues F InouyeRussia2026-09-15Commercial Press NEW95Stephen Shaw
1038Isabel L PaprockiFrance2026-09-28Chemel, James L Cpa NEW56Ivan Magalhaes
1039Ashley F CaudyUnited Kingdom2026-09-16Printing Dimensions UNQUALIFIED84Onyama Limba
1040Johnson P PaprockiArgentina2026-09-27Dorl, James J Esq RENEWAL84Asiya Javayant
1041Ricardo O SlusarskiArgentina2026-09-09Chanay, Jeffrey A Esq NEGOTIATION34Elwin Sharvill
1042Aika R GillianItaly2026-09-29Commercial Press QUALIFIED69Anna Fali
1043Silvio U BriddickItaly2026-09-01Feiner Bros RENEWAL19Onyama Limba
1044Aruna O VenereSpain2026-09-12Rangoni Of Florence NEW85Elwin Sharvill
1045Claire F RoysterGermany2026-09-16Chapman, Ross E Esq NEW40Amy Elsner
1046Munro G VocelkaItaly2026-09-10Feltz Printing Service RENEWAL82Elwin Sharvill
1047Ricardo Z MacleadUnited Kingdom2026-09-24Buckley Miller Wright RENEWAL31Elwin Sharvill
1048Stacey C OstroskySpain2026-09-26Feiner Bros RENEWAL57Bernardo Dominic
1049Aditya D FlosiGermany2026-09-12Commercial Press QUALIFIED25Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Nicolas W SaylorsGermanyIoni Bowcher NEGOTIATION
Arvin F MacleadFranceStephen Shaw PROPOSAL
Leja F ChuiBrazilElwin Sharvill NEW
Cody W BriddickFranceXuxue Feng NEGOTIATION
Misaki D OstroskyRussiaAnna Fali NEGOTIATION
Maria D GlickIndiaBernardo Dominic PROPOSAL
Octavia S WaycottCanadaIoni Bowcher NEGOTIATION
Costa Z SaylorsIndiaAsiya Javayant PROPOSAL
Aika V GillianArgentinaAsiya Javayant NEGOTIATION
Clifford G StockhamJapanAsiya Javayant NEW
Cody I VenereSpainIvan Magalhaes QUALIFIED
Misaki G AmigonIndiaStephen Shaw NEGOTIATION
Aditya Z PaprockiRussiaBernardo Dominic NEW
Costa K DilliardFranceOnyama Limba PROPOSAL
Kaitlin T SaylorsRussiaXuxue Feng NEGOTIATION
Deepesh V BriddickItalyOnyama Limba NEW
Darci H BologniaBrazilIoni Bowcher RENEWAL
Ashley W NestleRussiaAsiya Javayant NEGOTIATION
Emily E AlbaresCanadaStephen Shaw UNQUALIFIED
Emily E OstroskyArgentinaAsiya Javayant PROPOSAL
Leja J BriddickIndiaStephen Shaw UNQUALIFIED
Alejandro T GauchoUnited KingdomAmy Elsner QUALIFIED
Munro D GlickBrazilStephen Shaw NEW
Emily A StensethBrazilAmy Elsner NEW
Clifford O MarrierCanadaXuxue Feng QUALIFIED
Kaitlin S TollnerCanadaXuxue Feng UNQUALIFIED
David N NickaUnited KingdomBernardo Dominic NEW
Kadeem P ChuiAustraliaAnna Fali RENEWAL
Adams V StensethGermanyAnna Fali QUALIFIED
Jeanfrancois V VenereFranceIvan Magalhaes NEGOTIATION
Ricardo N WaycottJapanIvan Magalhaes PROPOSAL
Julie E RimJapanIoni Bowcher RENEWAL
Jeanfrancois U OstroskyJapanStephen Shaw RENEWAL
Ashley U StockhamGermanyElwin Sharvill UNQUALIFIED
Aika E FlosiSpainBernardo Dominic UNQUALIFIED
James S WaycottSpainBernardo Dominic UNQUALIFIED
Rodrigues F IturbideFranceXuxue Feng PROPOSAL
Maisha T BowleySpainAnna Fali NEGOTIATION
Stacey O PoquetteRussiaBernardo Dominic PROPOSAL
Ricardo M SergiGermanyAmy Elsner PROPOSAL
James M BowleyJapanAnna Fali UNQUALIFIED
Claire P FollerRussiaAmy Elsner QUALIFIED
Salvatore M OldroydItalyIvan Magalhaes NEGOTIATION
Stacey V SlusarskiItalyIoni Bowcher PROPOSAL
Kaitlin U MacleadBrazilAsiya Javayant NEGOTIATION
Emily W FlosiSpainIoni Bowcher PROPOSAL
Emily G RoysterUnited KingdomIoni Bowcher UNQUALIFIED
James V CaldareraFranceBernardo Dominic UNQUALIFIED
Nicolas B GillianArgentinaAsiya Javayant NEGOTIATION
Mujtaba K GauchoBrazilAnna Fali NEW
Frozen Columns
Name
Kadeem B Iturbide
Kaitlin A Perin
Ricardo E Whobrey
Chavez P Stockham
Salvatore R Flosi
Greenwood A Ostrosky
Kadeem M Royster
Mujtaba T Briddick
Smith G Butt
Silvio E Ostrosky
Aruna B Morasca
Arvin D Doe
Juan Z Venere
Tony U Figeroa
Johnson Q Waycott
Sinclair G Tollner
Mujtaba G Gillian
Kaitlin T Tollner
Mujtaba N Malet
Johnson J Inouye
Leon J Wieser
Izzy Y Kolmetz
Leon L Doe
Johnson H Kolmetz
Leja A Sergi
Clifford N Caudy
Leja H Stockham
Mayumi H Butt
Sinclair X Ruta
Leon G Whobrey
Johnson J Sergi
Aika F Bolognia
Ashley G Maclead
Aditya J Caldarera
Izzy N Rulapaugh
James U Gaucho
Kadeem R Ruta
Ricardo V Tollner
Morrow J Malet
Stacey U Paprocki
Jones J Flosi
Sinclair N Kusko
Maisha K Rulapaugh
Munro U Glick
Alejandro W Vocelka
Jeanfrancois M Dilliard
Smith Z Bolognia
Mujtaba W Gaucho
Sinclair W Campain
Jennifer A Ostrosky
IdCountryDate
1000Spain2026-09-16
1001Japan2026-09-17
1002Brazil2026-09-19
1003Italy2026-09-19
1004Russia2026-08-31
1005United Kingdom2026-09-26
1006Argentina2026-09-26
1007Brazil2026-09-08
1008Russia2026-09-22
1009Japan2026-09-11
1010Argentina2026-09-05
1011Canada2026-09-17
1012United Kingdom2026-09-05
1013Germany2026-09-14
1014United Kingdom2026-09-06
1015Japan2026-09-08
1016Argentina2026-09-06
1017Russia2026-09-06
1018Italy2026-09-22
1019Russia2026-09-14
1020Germany2026-09-21
1021India2026-09-11
1022United Kingdom2026-09-23
1023Argentina2026-09-20
1024India2026-09-27
1025Italy2026-09-09
1026Canada2026-09-21
1027Brazil2026-09-01
1028United Kingdom2026-09-09
1029France2026-09-02
1030Canada2026-09-17
1031Argentina2026-09-27
1032Australia2026-09-18
1033France2026-09-17
1034Russia2026-09-19
1035India2026-09-04
1036Russia2026-09-26
1037Spain2026-09-06
1038Japan2026-09-28
1039Japan2026-09-04
1040Australia2026-09-06
1041Russia2026-09-26
1042Italy2026-09-27
1043Brazil2026-09-07
1044Canada2026-09-18
1045Germany2026-09-20
1046Australia2026-09-17
1047United Kingdom2026-09-24
1048India2026-09-07
1049United Kingdom2026-09-12

On-Demand Data

NameIdCountryDate
Smith L Poquette1000Germany2026-09-27
Isabel J Chui1001Canada2026-09-27
Tony N Ferencz1002Spain2026-09-27
Sinclair X Amigon1003Spain2026-09-19
Ivar U Butt1004India2026-09-06
Darci S Caudy1005Italy2026-09-10
Izzy S Waycott1006Brazil2026-09-07
Arvin C Iturbide1007Japan2026-09-23
Claire Y Vocelka1008Brazil2026-09-22
Deepesh P Butt1009Argentina2026-09-13
Kadeem E Campain1010United Kingdom2026-09-23
Jefferson I Malet1011Germany2026-09-18
Claire T Waycott1012Japan2026-09-05
Aditya X Ruta1013Spain2026-09-17
Munro Z Waycott1014Japan2026-09-25
Mayumi S Kolmetz1015Australia2026-09-28
Adams F Malet1016Italy2026-09-09
Ashley G Garufi1017India2026-09-22
Emily G Ruta1018Canada2026-09-02
Maisha U Darakjy1019Japan2026-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody C GarufiIndiaOnyama Limba NEGOTIATION
Chavez O CaldareraAustraliaStephen Shaw UNQUALIFIED
Cody G ChuiFranceBernardo Dominic NEW
Emily H SaylorsItalyAnna Fali RENEWAL
Misaki Q NickaUnited KingdomXuxue Feng UNQUALIFIED
Jeanfrancois Q AlbaresSpainXuxue Feng NEGOTIATION
James I KuskoSpainElwin Sharvill QUALIFIED
Costa B GarufiGermanyXuxue Feng NEW
Jones I FigeroaBrazilOnyama Limba NEW
Jefferson U WieserCanadaAmy Elsner RENEWAL
Munro L RutaUnited KingdomAmy Elsner QUALIFIED
Leon Z GarufiGermanyAnna Fali QUALIFIED
Julie U StockhamSpainAsiya Javayant NEW
Mayumi W VenereIndiaStephen Shaw QUALIFIED
Costa L ShinkoItalyElwin Sharvill RENEWAL
Chavez E FigeroaGermanyOnyama Limba PROPOSAL
Aditya B BologniaJapanIvan Magalhaes RENEWAL
Silvio W MaletItalyAmy Elsner UNQUALIFIED
Maisha W PaprockiFranceBernardo Dominic QUALIFIED
Emily G SchemmerCanadaIvan Magalhaes QUALIFIED
Adams Z TollnerAustraliaStephen Shaw NEW
Arvin X WieserItalyElwin Sharvill NEGOTIATION
Aika S DoeBrazilStephen Shaw PROPOSAL
Darci O FigeroaSpainAsiya Javayant QUALIFIED
Misaki O MaletItalyAnna Fali NEW
Wickens S PoquetteUnited KingdomAnna Fali QUALIFIED
Jefferson H FlosiGermanyXuxue Feng NEW
Jennifer N NestleGermanyStephen Shaw NEW
Emily V MaletSpainAmy Elsner NEW
Tony Q PerinIndiaStephen Shaw NEGOTIATION
Julie U RulapaughGermanyAsiya Javayant RENEWAL
Mayumi A VocelkaUnited KingdomXuxue Feng PROPOSAL
Jennifer R ButtItalyStephen Shaw UNQUALIFIED
Maria A InouyeUnited KingdomXuxue Feng NEGOTIATION
Chavez Z NickaArgentinaOnyama Limba UNQUALIFIED
Greenwood E MaletUnited KingdomElwin Sharvill NEGOTIATION
Arvin L MorascaCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois F RimFranceAmy Elsner NEW
Faith B VenereBrazilIvan Magalhaes QUALIFIED
David B SaylorsUnited KingdomAnna Fali NEGOTIATION

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