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 B FlosiJapanXuxue Feng UNQUALIFIED
Julie N CampainJapanAnna Fali RENEWAL
Kadeem G CampainRussiaAmy Elsner PROPOSAL
Salvatore F FlosiCanadaXuxue Feng RENEWAL
Faith T FigeroaIndiaAmy Elsner QUALIFIED
Misaki Q NestleUnited KingdomIvan Magalhaes NEGOTIATION
Cody D RutaAustraliaOnyama Limba QUALIFIED
Jefferson Q PerinIndiaOnyama Limba PROPOSAL
Emily I AlbaresUnited KingdomOnyama Limba QUALIFIED
Arvin O ShinkoSpainElwin Sharvill NEGOTIATION
Chavez K AmigonUnited KingdomOnyama Limba PROPOSAL
Adams Z StensethSpainAnna Fali QUALIFIED
James P DilliardGermanyOnyama Limba PROPOSAL
Costa S SchemmerCanadaBernardo Dominic NEGOTIATION
Kadeem P DoeBrazilOnyama Limba RENEWAL
Jennifer W FerenczCanadaXuxue Feng UNQUALIFIED
Clifford P GillianItalyIvan Magalhaes NEW
Izzy U BologniaBrazilElwin Sharvill QUALIFIED
David N CampainBrazilXuxue Feng PROPOSAL
Ashley Y CampainCanadaBernardo Dominic NEW
Morrow E TollnerJapanOnyama Limba PROPOSAL
Alejandro C WhobreySpainAsiya Javayant QUALIFIED
Aruna W StensethRussiaAmy Elsner UNQUALIFIED
Jefferson Q BriddickAustraliaAsiya Javayant UNQUALIFIED
Munro B MacleadAustraliaAsiya Javayant RENEWAL
Chavez L BowleyJapanAmy Elsner PROPOSAL
Maria K PaprockiArgentinaXuxue Feng NEGOTIATION
Clifford S CampainIndiaIoni Bowcher PROPOSAL
Aditya H DarakjyJapanAsiya Javayant QUALIFIED
Leon J VenereAustraliaIvan Magalhaes QUALIFIED
Arvin Q MacleadRussiaAmy Elsner QUALIFIED
Tony G PoquetteJapanOnyama Limba RENEWAL
Cody E StockhamItalyXuxue Feng PROPOSAL
Chavez S KuskoItalyAnna Fali RENEWAL
Rodrigues P SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Salvatore H SchemmerIndiaAsiya Javayant QUALIFIED
Aditya S OldroydCanadaOnyama Limba NEW
Misaki C FlosiItalyBernardo Dominic PROPOSAL
Antonio P CaudyBrazilBernardo Dominic RENEWAL
Aditya D PaprockiCanadaOnyama Limba QUALIFIED
Julie I GillianFranceAnna Fali QUALIFIED
Ricardo R ShinkoArgentinaOnyama Limba PROPOSAL
Faith L MarrierGermanyXuxue Feng UNQUALIFIED
Emily W MacleadUnited KingdomBernardo Dominic NEW
Antonio Y InouyeUnited KingdomBernardo Dominic RENEWAL
Jones Y PaprockiFranceBernardo Dominic RENEWAL
Octavia C RimBrazilAnna Fali PROPOSAL
Sinclair D DarakjyArgentinaIvan Magalhaes NEW
Rodrigues G WaycottUnited KingdomStephen Shaw UNQUALIFIED
James L FlosiUnited KingdomOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Izzy E RimRussiaAmy Elsner QUALIFIED
Aruna T IturbideJapanAsiya Javayant PROPOSAL
Leja O CaldareraBrazilStephen Shaw QUALIFIED
Ashley G RutaArgentinaIoni Bowcher RENEWAL
Morrow R NickaUnited KingdomAnna Fali NEW
Stacey F SaylorsAustraliaAmy Elsner RENEWAL
Jeanfrancois L BowleySpainXuxue Feng RENEWAL
Francesco R StensethAustraliaAsiya Javayant NEW
Ashley G MarrierCanadaIvan Magalhaes QUALIFIED
Smith G FigeroaSpainAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio Z GauchoFrance2026-09-29Chanay, Jeffrey A Esq UNQUALIFIED64Ioni Bowcher
1001Ashley E VocelkaUnited Kingdom2026-09-24Rousseaux, Michael Esq NEW14Xuxue Feng
1002Salvatore A WaycottAustralia2026-09-22Rousseaux, Michael Esq RENEWAL79Elwin Sharvill
1003David O KuskoBrazil2026-10-01Commercial Press QUALIFIED22Ivan Magalhaes
1004Octavia X AlbaresArgentina2026-10-13Chanay, Jeffrey A Esq PROPOSAL65Ioni Bowcher
1005Morrow D GarufiCanada2026-09-27Chapman, Ross E Esq QUALIFIED3Elwin Sharvill
1006Munro Q CampainItaly2026-10-15King, Christopher A Esq NEGOTIATION81Amy Elsner
1007Silvio M WaycottGermany2026-10-17Morlong Associates QUALIFIED88Ioni Bowcher
1008Aika W PerinArgentina2026-10-01Chanay, Jeffrey A Esq PROPOSAL42Anna Fali
1009Sinclair G WieserSpain2026-10-11Dorl, James J Esq QUALIFIED63Bernardo Dominic
1010Julie N StockhamIndia2026-10-01Buckley Miller Wright QUALIFIED61Onyama Limba
1011Rodrigues U WhobreyFrance2026-10-03Chemel, James L Cpa PROPOSAL25Ioni Bowcher
1012Rodrigues M PaprockiAustralia2026-09-29Rangoni Of Florence QUALIFIED13Ivan Magalhaes
1013Deepesh G SergiRussia2026-10-04Benton, John B Jr PROPOSAL34Bernardo Dominic
1014Francesco B TollnerIndia2026-10-17Chanay, Jeffrey A Esq UNQUALIFIED40Stephen Shaw
1015Ivar J NickaRussia2026-10-04Printing Dimensions NEW7Ivan Magalhaes
1016Cody H NickaArgentina2026-09-23Commercial Press NEW15Anna Fali
1017Leja M IturbideAustralia2026-09-19Morlong Associates UNQUALIFIED9Onyama Limba
1018Jefferson B DarakjySpain2026-10-08Printing Dimensions NEGOTIATION56Bernardo Dominic
1019Adams C MarrierAustralia2026-10-10Rousseaux, Michael Esq NEW52Stephen Shaw
1020Maria U PerinUnited Kingdom2026-09-30Rangoni Of Florence QUALIFIED95Bernardo Dominic
1021Mayumi O PerinSpain2026-10-08Rangoni Of Florence RENEWAL7Anna Fali
1022Mujtaba H GillianIndia2026-10-17Chapman, Ross E Esq NEW73Anna Fali
1023Munro B DarakjyJapan2026-10-08Dorl, James J Esq NEGOTIATION41Onyama Limba
1024Clifford G RoysterAustralia2026-10-15Rousseaux, Michael Esq RENEWAL38Ivan Magalhaes
1025Faith Q FollerAustralia2026-10-01Chanay, Jeffrey A Esq QUALIFIED1Elwin Sharvill
1026Greenwood E WhobreyJapan2026-09-24Commercial Press NEGOTIATION4Ivan Magalhaes
1027David K MaletRussia2026-10-13Rangoni Of Florence UNQUALIFIED93Anna Fali
1028Silvio I CampainUnited Kingdom2026-09-20Benton, John B Jr PROPOSAL98Onyama Limba
1029Antonio O RulapaughItaly2026-09-21Commercial Press PROPOSAL67Amy Elsner
1030Ricardo X CaldareraIndia2026-10-08Benton, John B Jr NEW44Ioni Bowcher
1031Nicolas F WhobreyIndia2026-10-05Benton, John B Jr QUALIFIED49Amy Elsner
1032Johnson C SergiFrance2026-09-19Chapman, Ross E Esq NEGOTIATION83Anna Fali
1033Isabel X MaletArgentina2026-09-30Feiner Bros QUALIFIED70Ivan Magalhaes
1034Jeanfrancois B BriddickBrazil2026-09-26King, Christopher A Esq PROPOSAL8Xuxue Feng
1035Misaki Q BologniaArgentina2026-10-01Rousseaux, Michael Esq NEW92Xuxue Feng
1036Isabel H ShinkoJapan2026-10-02Commercial Press QUALIFIED2Ivan Magalhaes
1037Chavez M CaldareraJapan2026-09-21Rangoni Of Florence NEGOTIATION51Amy Elsner
1038Kadeem L BologniaIndia2026-09-27Printing Dimensions PROPOSAL40Asiya Javayant
1039David E OldroydArgentina2026-10-17Commercial Press UNQUALIFIED13Ivan Magalhaes
1040Aditya N NickaAustralia2026-09-28Chanay, Jeffrey A Esq NEW0Bernardo Dominic
1041Munro E GarufiUnited Kingdom2026-10-06Printing Dimensions PROPOSAL98Onyama Limba
1042Maria H WaycottFrance2026-10-07Chapman, Ross E Esq UNQUALIFIED30Anna Fali
1043Maisha E StockhamRussia2026-09-24Buckley Miller Wright NEGOTIATION77Amy Elsner
1044Rodrigues D FigeroaRussia2026-09-22Benton, John B Jr NEW31Ivan Magalhaes
1045Maisha Q BowleyIndia2026-10-13Printing Dimensions QUALIFIED42Onyama Limba
1046Adams P OldroydBrazil2026-10-14Commercial Press QUALIFIED18Stephen Shaw
1047Greenwood U StockhamJapan2026-10-16Chapman, Ross E Esq PROPOSAL91Amy Elsner
1048Izzy P WhobreyArgentina2026-10-02Printing Dimensions UNQUALIFIED64Elwin Sharvill
1049Jeanfrancois P NickaSpain2026-09-23Buckley Miller Wright NEW85Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Silvio Y StensethArgentinaXuxue Feng NEGOTIATION
Munro N TollnerRussiaAmy Elsner PROPOSAL
Salvatore X DilliardSpainStephen Shaw NEW
Greenwood T OldroydJapanAsiya Javayant RENEWAL
Cody T RoysterUnited KingdomAnna Fali NEW
Faith J KuskoSpainAnna Fali PROPOSAL
Ricardo J MaletAustraliaAmy Elsner QUALIFIED
Kaitlin E FigeroaJapanElwin Sharvill RENEWAL
Aruna K ButtIndiaAnna Fali PROPOSAL
Antonio B RoysterSpainOnyama Limba NEW
Ashley I RimBrazilIoni Bowcher PROPOSAL
Francesco F SaylorsItalyOnyama Limba NEW
Maisha G RimRussiaOnyama Limba QUALIFIED
Ivar S StockhamSpainAmy Elsner NEW
Alejandro K RutaAustraliaOnyama Limba RENEWAL
Aika B MacleadGermanyElwin Sharvill RENEWAL
Jennifer F DilliardArgentinaBernardo Dominic NEGOTIATION
Rodrigues U IturbideAustraliaXuxue Feng NEW
Salvatore M OldroydFranceAsiya Javayant PROPOSAL
Francesco E PerinGermanyStephen Shaw QUALIFIED
Nicolas T RoysterRussiaIvan Magalhaes PROPOSAL
Mayumi Q FlosiUnited KingdomAmy Elsner NEGOTIATION
Izzy K GarufiIndiaIvan Magalhaes UNQUALIFIED
Costa F BologniaItalyBernardo Dominic RENEWAL
Greenwood R GauchoIndiaStephen Shaw NEGOTIATION
Tony F ButtCanadaBernardo Dominic UNQUALIFIED
Alejandro E CaldareraJapanXuxue Feng NEW
Aika U WaycottIndiaStephen Shaw UNQUALIFIED
Ricardo B WaycottSpainIvan Magalhaes NEGOTIATION
Aika D StockhamFranceAsiya Javayant PROPOSAL
Chavez X PoquetteIndiaAnna Fali QUALIFIED
Isabel S CaudyBrazilBernardo Dominic RENEWAL
Sinclair B MorascaIndiaIvan Magalhaes QUALIFIED
Leon W GillianJapanAsiya Javayant QUALIFIED
Murillo R FigeroaArgentinaAmy Elsner NEW
Aditya T AlbaresRussiaBernardo Dominic NEW
Octavia R OldroydUnited KingdomOnyama Limba NEGOTIATION
Stacey T InouyeJapanOnyama Limba NEW
Jones G PerinGermanyIvan Magalhaes RENEWAL
Octavia O WhobreyRussiaBernardo Dominic PROPOSAL
Emily I StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Jones P BowleyCanadaStephen Shaw NEW
Ashley Y FerenczRussiaElwin Sharvill QUALIFIED
Jeanfrancois D VocelkaGermanyStephen Shaw PROPOSAL
Aditya R ButtIndiaIoni Bowcher UNQUALIFIED
Darci H AmigonRussiaAmy Elsner UNQUALIFIED
Antonio Q InouyeUnited KingdomXuxue Feng QUALIFIED
Julie Y DilliardGermanyAsiya Javayant RENEWAL
Adams V RimGermanyOnyama Limba PROPOSAL
Ashley N GauchoUnited KingdomIoni Bowcher RENEWAL
Frozen Columns
Name
Aruna H Nicka
Mayumi I Inouye
Claire K Chui
Sinclair D Caldarera
Morrow N Dilliard
Rodrigues E Caudy
Mayumi V Malet
Arvin W Darakjy
Juan A Foller
Arvin K Venere
Izzy E Malet
Mayumi H Wieser
Johnson U Oldroyd
Mujtaba P Ruta
Faith V Maclead
Chavez D Ferencz
Aruna Y Dilliard
Clifford K Malet
James K Rulapaugh
Silvio Z Ferencz
Wickens K Morasca
Izzy G Shinko
Alejandro E Bowley
Jeanfrancois Y Stenseth
Ricardo K Marrier
Arvin D Nestle
Greenwood H Slusarski
Deepesh E Nicka
Wickens Z Gaucho
Adams X Bowley
Isabel B Shinko
Claire Z Nicka
Tony J Briddick
Kaitlin M Oldroyd
Ricardo X Waycott
Mujtaba N Inouye
Rodrigues N Waycott
Silvio C Kusko
Kadeem I Dilliard
Leon K Doe
Claire Y Ostrosky
Aditya Z Caudy
Aruna X Morasca
Arvin D Amigon
Arvin M Gaucho
Aditya E Nestle
Jones X Saylors
Mayumi X Maclead
Faith H Doe
Jeanfrancois U Nestle
IdCountryDate
1000Australia2026-10-08
1001Australia2026-10-08
1002Russia2026-09-23
1003Germany2026-09-26
1004Italy2026-10-11
1005Spain2026-09-24
1006Germany2026-09-24
1007France2026-10-17
1008Spain2026-10-11
1009United Kingdom2026-10-13
1010Italy2026-10-11
1011United Kingdom2026-09-23
1012Germany2026-10-13
1013Brazil2026-09-27
1014Japan2026-10-03
1015Russia2026-10-17
1016Spain2026-09-18
1017Germany2026-10-02
1018India2026-10-06
1019Italy2026-10-01
1020Italy2026-10-10
1021India2026-09-26
1022Japan2026-10-16
1023Argentina2026-10-17
1024India2026-09-28
1025Australia2026-10-06
1026Japan2026-09-18
1027Italy2026-10-14
1028France2026-09-27
1029France2026-10-16
1030Canada2026-09-29
1031Russia2026-10-07
1032Brazil2026-10-04
1033Australia2026-10-17
1034Canada2026-09-29
1035France2026-10-04
1036Russia2026-09-25
1037Brazil2026-10-13
1038Australia2026-09-30
1039Australia2026-10-10
1040Canada2026-10-13
1041France2026-10-14
1042Russia2026-10-01
1043Japan2026-10-08
1044Germany2026-09-19
1045United Kingdom2026-10-02
1046Germany2026-10-04
1047Brazil2026-09-21
1048Brazil2026-10-13
1049France2026-09-28

On-Demand Data

NameIdCountryDate
Cody B Darakjy1000Argentina2026-10-03
Johnson Y Slusarski1001Canada2026-10-10
Rodrigues E Rim1002Germany2026-10-13
Cody A Figeroa1003Brazil2026-09-27
Clifford U Sergi1004Italy2026-09-18
Jefferson E Royster1005Spain2026-09-23
Tony O Dilliard1006Russia2026-09-18
Alejandro R Figeroa1007Russia2026-09-26
Morrow W Shinko1008Argentina2026-09-21
Arvin Q Bowley1009Argentina2026-10-06
Stacey M Amigon1010Australia2026-09-21
Morrow N Nicka1011Canada2026-10-10
Murillo J Poquette1012United Kingdom2026-10-10
Francesco M Malet1013Canada2026-09-25
Adams O Nestle1014Italy2026-09-26
Darci B Rim1015Italy2026-10-11
Jeanfrancois P Iturbide1016India2026-10-01
David Q Campain1017Italy2026-10-07
Aditya G Flosi1018Argentina2026-10-02
Faith T Shinko1019Spain2026-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya M AlbaresRussiaStephen Shaw RENEWAL
Octavia V GlickItalyIoni Bowcher PROPOSAL
Murillo U FlosiItalyAnna Fali QUALIFIED
Sinclair V MaletJapanAmy Elsner QUALIFIED
Jefferson U MorascaSpainAmy Elsner RENEWAL
Mujtaba L WieserGermanyIoni Bowcher UNQUALIFIED
Chavez D GarufiIndiaXuxue Feng UNQUALIFIED
Aruna U KolmetzItalyElwin Sharvill PROPOSAL
Adams W DoeBrazilXuxue Feng NEGOTIATION
Murillo W BologniaFranceBernardo Dominic QUALIFIED
Kaitlin Y AlbaresBrazilElwin Sharvill RENEWAL
Ashley J BriddickCanadaElwin Sharvill RENEWAL
Leja C InouyeItalyStephen Shaw NEGOTIATION
Morrow S StockhamJapanXuxue Feng QUALIFIED
Izzy P ChuiBrazilIoni Bowcher NEW
Costa Y VenereJapanXuxue Feng QUALIFIED
Leja R RutaCanadaBernardo Dominic RENEWAL
Munro Y MaletAustraliaAmy Elsner PROPOSAL
Darci D MarrierBrazilAsiya Javayant UNQUALIFIED
Antonio F KolmetzItalyIoni Bowcher UNQUALIFIED
Mujtaba M MarrierGermanyIoni Bowcher PROPOSAL
Isabel B AmigonSpainXuxue Feng RENEWAL
Johnson L MaletSpainElwin Sharvill PROPOSAL
Jennifer I MorascaGermanyElwin Sharvill PROPOSAL
Ashley H SchemmerItalyIvan Magalhaes PROPOSAL
Stacey M ShinkoFranceIvan Magalhaes QUALIFIED
Wickens M RoysterBrazilXuxue Feng RENEWAL
Mayumi C DoeArgentinaAsiya Javayant UNQUALIFIED
Jefferson C FlosiGermanyAmy Elsner RENEWAL
Jefferson I KolmetzGermanyXuxue Feng NEGOTIATION
Aika T VocelkaItalyIvan Magalhaes UNQUALIFIED
Alejandro C ButtBrazilAnna Fali RENEWAL
Munro G ButtGermanyElwin Sharvill PROPOSAL
Sinclair B VenereGermanyBernardo Dominic NEW
Leja U FollerFranceBernardo Dominic PROPOSAL
James R NickaSpainAnna Fali RENEWAL
Leja A MaletCanadaAnna Fali QUALIFIED
Salvatore L GillianGermanyBernardo Dominic RENEWAL
Jeanfrancois O ChuiItalyAnna Fali NEGOTIATION
Maria E ButtRussiaIoni Bowcher 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>