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
Alejandro F MarrierCanadaStephen Shaw NEW
David O MarrierIndiaBernardo Dominic UNQUALIFIED
Izzy R ShinkoFranceAsiya Javayant NEGOTIATION
Aruna E BowleyArgentinaAmy Elsner PROPOSAL
Morrow T FigeroaRussiaBernardo Dominic PROPOSAL
Francesco X CaudyIndiaIoni Bowcher QUALIFIED
Morrow X NickaGermanyAnna Fali UNQUALIFIED
Izzy W GauchoIndiaAmy Elsner PROPOSAL
Mujtaba R OldroydCanadaBernardo Dominic UNQUALIFIED
Tony F PaprockiBrazilBernardo Dominic NEGOTIATION
Stacey U WhobreySpainIvan Magalhaes NEW
Johnson W ChuiArgentinaBernardo Dominic QUALIFIED
Ivar E RimAustraliaAnna Fali NEGOTIATION
Julie R MaletGermanyStephen Shaw RENEWAL
Murillo Q KuskoRussiaXuxue Feng NEGOTIATION
Mayumi Z AmigonBrazilAnna Fali NEGOTIATION
Maisha J RimRussiaXuxue Feng RENEWAL
Misaki F FlosiSpainAmy Elsner NEW
Misaki K FollerIndiaAmy Elsner PROPOSAL
Silvio H BologniaCanadaAsiya Javayant RENEWAL
Darci V SaylorsArgentinaAnna Fali QUALIFIED
Leja H SergiBrazilBernardo Dominic UNQUALIFIED
Ivar A ChuiIndiaAmy Elsner NEW
Julie R ChuiJapanIvan Magalhaes NEW
Adams E CampainUnited KingdomAnna Fali RENEWAL
Leja U BriddickArgentinaAnna Fali NEGOTIATION
James A RoysterRussiaBernardo Dominic RENEWAL
Munro P StockhamJapanIvan Magalhaes UNQUALIFIED
Darci O IturbideSpainIoni Bowcher QUALIFIED
Morrow Z MacleadRussiaAmy Elsner UNQUALIFIED
Isabel G OstroskyArgentinaIoni Bowcher NEW
Chavez J MaletCanadaAmy Elsner UNQUALIFIED
Morrow S KolmetzFranceXuxue Feng QUALIFIED
Costa A MaletItalyIoni Bowcher RENEWAL
Julie V GarufiItalyStephen Shaw RENEWAL
James I CaldareraSpainXuxue Feng UNQUALIFIED
Ashley Z MaletJapanBernardo Dominic UNQUALIFIED
Kaitlin K ChuiRussiaStephen Shaw NEGOTIATION
Francesco N OstroskyAustraliaAsiya Javayant RENEWAL
Arvin Q KolmetzSpainXuxue Feng PROPOSAL
Antonio T RutaIndiaBernardo Dominic PROPOSAL
Juan O TollnerBrazilOnyama Limba NEGOTIATION
Jeanfrancois D MaletRussiaAnna Fali NEGOTIATION
Claire A WaycottUnited KingdomAsiya Javayant RENEWAL
Cody W AmigonCanadaAmy Elsner NEW
Maria Y PoquetteCanadaElwin Sharvill PROPOSAL
Ivar J VocelkaCanadaXuxue Feng RENEWAL
Francesco Y GarufiGermanyBernardo Dominic PROPOSAL
Alejandro O ButtRussiaAsiya Javayant QUALIFIED
Morrow R FerenczItalyXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon B TollnerJapanIvan Magalhaes PROPOSAL
Kadeem G KolmetzGermanyXuxue Feng RENEWAL
Leon A MaletArgentinaAnna Fali QUALIFIED
Morrow E FerenczAustraliaOnyama Limba RENEWAL
Ashley S MarrierRussiaAmy Elsner QUALIFIED
Aditya Y FollerAustraliaIvan Magalhaes PROPOSAL
Jennifer Q AmigonCanadaAnna Fali UNQUALIFIED
Salvatore F GillianGermanyIvan Magalhaes RENEWAL
Arvin Q MacleadUnited KingdomXuxue Feng QUALIFIED
Arvin Y FigeroaArgentinaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya T MarrierAustralia2026-10-05Rangoni Of Florence UNQUALIFIED28Elwin Sharvill
1001Jefferson H RulapaughUnited Kingdom2026-10-18Printing Dimensions PROPOSAL13Ivan Magalhaes
1002Deepesh O MaletJapan2026-09-30Buckley Miller Wright PROPOSAL54Xuxue Feng
1003Ricardo P GauchoAustralia2026-10-12Feltz Printing Service RENEWAL78Stephen Shaw
1004Greenwood K FlosiSpain2026-10-07Truhlar And Truhlar Attys QUALIFIED48Anna Fali
1005Smith H GillianRussia2026-09-28Morlong Associates NEW9Elwin Sharvill
1006Francesco V MaletArgentina2026-10-01Rousseaux, Michael Esq PROPOSAL7Amy Elsner
1007Clifford F FlosiBrazil2026-10-02Chapman, Ross E Esq UNQUALIFIED42Onyama Limba
1008Johnson H ButtFrance2026-10-02King, Christopher A Esq PROPOSAL76Elwin Sharvill
1009Francesco I AlbaresBrazil2026-10-15Chemel, James L Cpa NEGOTIATION74Bernardo Dominic
1010Izzy E RutaItaly2026-10-10Dorl, James J Esq NEGOTIATION42Anna Fali
1011Julie V DarakjyItaly2026-10-16King, Christopher A Esq NEGOTIATION17Stephen Shaw
1012Maisha V GlickUnited Kingdom2026-10-25Feltz Printing Service UNQUALIFIED58Onyama Limba
1013Sinclair A VocelkaArgentina2026-10-17Buckley Miller Wright NEGOTIATION83Ivan Magalhaes
1014Francesco N RimUnited Kingdom2026-10-14Rousseaux, Michael Esq NEGOTIATION60Ioni Bowcher
1015Misaki U CampainUnited Kingdom2026-10-09Chanay, Jeffrey A Esq PROPOSAL59Xuxue Feng
1016Francesco W NickaSpain2026-10-16Rangoni Of Florence NEGOTIATION50Ivan Magalhaes
1017Isabel I RoysterSpain2026-10-14Chanay, Jeffrey A Esq NEGOTIATION26Ioni Bowcher
1018Silvio Z MaletUnited Kingdom2026-10-22King, Christopher A Esq UNQUALIFIED31Elwin Sharvill
1019Izzy I SergiSpain2026-10-24Chapman, Ross E Esq UNQUALIFIED55Bernardo Dominic
1020Juan G PoquetteSpain2026-10-08Dorl, James J Esq NEGOTIATION35Onyama Limba
1021Tony G SchemmerAustralia2026-10-09King, Christopher A Esq UNQUALIFIED51Bernardo Dominic
1022Salvatore G RimJapan2026-10-19Buckley Miller Wright NEGOTIATION26Ivan Magalhaes
1023Clifford I RoysterIndia2026-10-12Commercial Press NEGOTIATION97Asiya Javayant
1024Antonio Y PoquetteFrance2026-10-07Dorl, James J Esq NEW37Xuxue Feng
1025Misaki X KuskoJapan2026-10-23Commercial Press UNQUALIFIED0Ioni Bowcher
1026Jeanfrancois C SchemmerBrazil2026-10-07Chemel, James L Cpa RENEWAL73Onyama Limba
1027Leja C KolmetzAustralia2026-10-01Commercial Press QUALIFIED17Amy Elsner
1028James T RimUnited Kingdom2026-10-13Rangoni Of Florence PROPOSAL89Ioni Bowcher
1029Izzy D WaycottCanada2026-10-13Rousseaux, Michael Esq NEW9Stephen Shaw
1030Adams L VenereUnited Kingdom2026-10-15Chemel, James L Cpa UNQUALIFIED49Onyama Limba
1031Juan Z RoysterBrazil2026-10-05King, Christopher A Esq NEW86Xuxue Feng
1032Jones Q ButtUnited Kingdom2026-10-17Dorl, James J Esq QUALIFIED56Ioni Bowcher
1033Kaitlin A WhobreyJapan2026-10-11Buckley Miller Wright QUALIFIED69Ivan Magalhaes
1034Aruna M BowleyItaly2026-10-13Rousseaux, Michael Esq NEW26Elwin Sharvill
1035Octavia H ChuiRussia2026-10-01Truhlar And Truhlar Attys NEW2Stephen Shaw
1036Chavez L StockhamJapan2026-10-05Buckley Miller Wright RENEWAL71Asiya Javayant
1037Kadeem T CaudyIndia2026-10-21Rousseaux, Michael Esq NEW71Bernardo Dominic
1038Rodrigues Z GillianJapan2026-10-01Chanay, Jeffrey A Esq PROPOSAL88Bernardo Dominic
1039Leja P IturbideGermany2026-10-18Feltz Printing Service NEW26Elwin Sharvill
1040Mujtaba U CaldareraItaly2026-10-22Dorl, James J Esq RENEWAL90Anna Fali
1041Mayumi S VocelkaArgentina2026-10-16Buckley Miller Wright NEGOTIATION45Stephen Shaw
1042Emily T AmigonSpain2026-10-13Commercial Press NEW63Bernardo Dominic
1043Deepesh W PaprockiArgentina2026-10-26Morlong Associates NEW27Anna Fali
1044Chavez Q FlosiSpain2026-10-07Benton, John B Jr NEGOTIATION32Ivan Magalhaes
1045Costa X SchemmerGermany2026-10-08Truhlar And Truhlar Attys RENEWAL65Asiya Javayant
1046Maisha T NickaItaly2026-09-30Dorl, James J Esq NEW57Bernardo Dominic
1047Jefferson Z WhobreyItaly2026-10-21Commercial Press UNQUALIFIED6Asiya Javayant
1048Jones R SergiAustralia2026-10-07Benton, John B Jr NEGOTIATION29Onyama Limba
1049Leon A WieserJapan2026-10-04Feiner Bros UNQUALIFIED79Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Wickens S FerenczFranceBernardo Dominic QUALIFIED
Francesco E WaycottIndiaAmy Elsner PROPOSAL
Wickens J StockhamIndiaXuxue Feng RENEWAL
Salvatore B BologniaRussiaOnyama Limba PROPOSAL
Munro Y CampainIndiaXuxue Feng NEW
Kaitlin P AlbaresFranceOnyama Limba PROPOSAL
Maria Q OstroskyUnited KingdomIoni Bowcher QUALIFIED
Leja D FlosiArgentinaXuxue Feng RENEWAL
Aika W RutaFranceIoni Bowcher UNQUALIFIED
Deepesh R KuskoBrazilIvan Magalhaes PROPOSAL
Stacey M RimJapanXuxue Feng QUALIFIED
Stacey G MaletFranceAmy Elsner NEW
Murillo F RulapaughGermanyOnyama Limba NEW
Clifford P RoysterFranceXuxue Feng PROPOSAL
Aditya C FlosiJapanXuxue Feng NEGOTIATION
Izzy W PoquetteItalyAsiya Javayant UNQUALIFIED
Maisha Y GillianArgentinaAmy Elsner NEGOTIATION
Morrow J CaldareraSpainElwin Sharvill QUALIFIED
Maria P GillianFranceXuxue Feng RENEWAL
Juan B TollnerAustraliaOnyama Limba QUALIFIED
Tony F RoysterIndiaElwin Sharvill RENEWAL
Misaki X SlusarskiRussiaStephen Shaw RENEWAL
Smith V ShinkoIndiaBernardo Dominic RENEWAL
Maisha E OstroskyJapanBernardo Dominic PROPOSAL
Kadeem F FerenczArgentinaAnna Fali NEW
Francesco E CampainJapanAsiya Javayant RENEWAL
Ivar H SaylorsBrazilIoni Bowcher NEGOTIATION
Tony G TollnerRussiaIoni Bowcher NEW
Jeanfrancois D FlosiSpainAmy Elsner NEGOTIATION
Misaki G AmigonAustraliaAmy Elsner NEW
Mujtaba S PoquetteGermanyIvan Magalhaes QUALIFIED
Emily K NickaArgentinaAnna Fali UNQUALIFIED
Ashley M RulapaughFranceXuxue Feng RENEWAL
Mujtaba C VocelkaFranceBernardo Dominic PROPOSAL
Misaki D FigeroaItalyIoni Bowcher NEW
Francesco F OldroydCanadaIvan Magalhaes NEGOTIATION
Aika L SlusarskiSpainIoni Bowcher UNQUALIFIED
Tony A FerenczRussiaBernardo Dominic UNQUALIFIED
Kadeem G AmigonFranceIoni Bowcher NEGOTIATION
Alejandro R MaletSpainAmy Elsner NEGOTIATION
Rodrigues W GauchoGermanyAnna Fali RENEWAL
Smith B AlbaresFranceXuxue Feng RENEWAL
Darci C GarufiAustraliaStephen Shaw PROPOSAL
Julie T MacleadItalyAmy Elsner RENEWAL
Wickens I GlickCanadaAnna Fali RENEWAL
Aditya R WaycottCanadaIvan Magalhaes NEW
Murillo V MarrierIndiaAsiya Javayant QUALIFIED
Juan K VocelkaAustraliaIvan Magalhaes PROPOSAL
Stacey A StockhamItalyAmy Elsner QUALIFIED
Ashley F WhobreyGermanyAmy Elsner UNQUALIFIED
Frozen Columns
Name
Johnson B Shinko
Antonio R Nicka
Isabel L Perin
Smith N Bowley
Wickens O Dilliard
Adams T Bolognia
Rodrigues O Figeroa
Aika F Tollner
Mayumi V Royster
Leon M Kolmetz
Darci B Garufi
Silvio M Malet
Maisha I Whobrey
Silvio I Stockham
Kaitlin T Gillian
Rodrigues F Darakjy
Costa V Slusarski
Izzy V Gillian
Octavia X Glick
Ricardo H Caldarera
Murillo I Ruta
Costa G Stenseth
Munro E Amigon
Silvio M Kusko
David M Ferencz
Deepesh A Kolmetz
Adams U Campain
Darci Z Stenseth
David E Nicka
David N Campain
Nicolas E Garufi
Ivar B Ruta
Darci E Maclead
Murillo C Ostrosky
Stacey N Perin
Morrow W Perin
Ashley A Paprocki
Jennifer P Rim
Murillo K Stenseth
Aditya Y Morasca
Juan R Gillian
Leon J Paprocki
Darci X Gillian
Jefferson Y Caldarera
David Z Dilliard
Izzy F Briddick
Jennifer V Nicka
Aruna E Figeroa
Sinclair P Nicka
Aika R Rulapaugh
IdCountryDate
1000Italy2026-10-25
1001Russia2026-10-02
1002Russia2026-10-24
1003Spain2026-10-04
1004Argentina2026-10-14
1005Australia2026-10-20
1006Russia2026-09-30
1007Argentina2026-10-11
1008Russia2026-09-29
1009Spain2026-10-15
1010Australia2026-10-12
1011Argentina2026-09-29
1012Italy2026-09-28
1013Germany2026-09-30
1014Japan2026-10-26
1015Australia2026-10-25
1016United Kingdom2026-10-10
1017France2026-10-27
1018Germany2026-10-01
1019Italy2026-10-10
1020Japan2026-10-03
1021Australia2026-10-10
1022United Kingdom2026-10-03
1023United Kingdom2026-10-25
1024Brazil2026-10-20
1025Australia2026-10-04
1026Brazil2026-10-16
1027India2026-10-08
1028Spain2026-09-28
1029Russia2026-09-28
1030Canada2026-10-23
1031Germany2026-10-16
1032Italy2026-10-16
1033Russia2026-10-23
1034Australia2026-10-26
1035Argentina2026-10-01
1036Italy2026-10-25
1037Japan2026-10-03
1038France2026-10-19
1039Russia2026-10-04
1040France2026-10-27
1041Italy2026-10-01
1042Spain2026-10-09
1043Germany2026-10-04
1044Russia2026-10-14
1045United Kingdom2026-10-05
1046Germany2026-10-05
1047Australia2026-10-02
1048India2026-10-07
1049France2026-10-07

On-Demand Data

NameIdCountryDate
Leon M Campain1000Canada2026-10-27
Claire H Caldarera1001Argentina2026-10-01
Cody I Slusarski1002Italy2026-10-18
Ricardo W Ostrosky1003Argentina2026-10-12
Sinclair P Maclead1004Russia2026-10-14
Kadeem I Ruta1005Australia2026-10-09
Smith D Darakjy1006Italy2026-09-28
Arvin H Campain1007Germany2026-09-30
Greenwood H Garufi1008Brazil2026-10-24
Johnson G Maclead1009Italy2026-10-07
Maisha L Maclead1010India2026-10-01
Ashley C Poquette1011Australia2026-10-05
Cody J Ferencz1012Russia2026-10-16
Adams R Malet1013Russia2026-10-15
Silvio Y Ruta1014Russia2026-10-03
Silvio V Malet1015Japan2026-10-04
Deepesh D Chui1016Argentina2026-10-27
Costa K Marrier1017Japan2026-10-26
Kadeem L Malet1018Brazil2026-10-25
Ashley D Darakjy1019Australia2026-10-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel O VenereGermanyBernardo Dominic UNQUALIFIED
Kadeem N BologniaGermanyAsiya Javayant NEGOTIATION
Leon C SchemmerJapanIvan Magalhaes RENEWAL
Nicolas S MacleadArgentinaElwin Sharvill UNQUALIFIED
Kaitlin R BriddickFranceStephen Shaw RENEWAL
Mujtaba Q FerenczAustraliaAnna Fali UNQUALIFIED
Octavia G GauchoJapanAnna Fali RENEWAL
Silvio Q CaudyCanadaIoni Bowcher UNQUALIFIED
Murillo B SchemmerGermanyXuxue Feng RENEWAL
Faith T ChuiSpainIvan Magalhaes UNQUALIFIED
Costa Q IturbideRussiaXuxue Feng UNQUALIFIED
Stacey D SlusarskiFranceAsiya Javayant NEW
David U WhobreyJapanBernardo Dominic QUALIFIED
Adams Q ShinkoArgentinaIvan Magalhaes NEGOTIATION
Salvatore V KolmetzRussiaOnyama Limba PROPOSAL
Julie I DarakjySpainAmy Elsner NEW
Aika N RoysterCanadaAmy Elsner QUALIFIED
Nicolas S CaldareraArgentinaIvan Magalhaes QUALIFIED
Chavez Z PaprockiCanadaOnyama Limba NEGOTIATION
Misaki A OldroydJapanStephen Shaw UNQUALIFIED
Ricardo A GauchoJapanIoni Bowcher PROPOSAL
Murillo Q BowleyJapanBernardo Dominic PROPOSAL
Izzy X CaudyGermanyAnna Fali UNQUALIFIED
Octavia E VenereRussiaAmy Elsner QUALIFIED
Munro Q RutaRussiaXuxue Feng PROPOSAL
James D PerinIndiaElwin Sharvill NEGOTIATION
Emily M ButtCanadaIoni Bowcher NEGOTIATION
Tony M WhobreyFranceIoni Bowcher QUALIFIED
Mayumi P SchemmerRussiaOnyama Limba NEGOTIATION
Smith Y MarrierItalyAmy Elsner PROPOSAL
James I StensethArgentinaOnyama Limba RENEWAL
Clifford W PoquetteRussiaBernardo Dominic RENEWAL
Leja G GauchoRussiaXuxue Feng UNQUALIFIED
Juan W StockhamFranceOnyama Limba PROPOSAL
Cody C ButtAustraliaAnna Fali QUALIFIED
Murillo X InouyeCanadaAsiya Javayant QUALIFIED
Francesco X CaldareraIndiaAsiya Javayant UNQUALIFIED
Smith A SergiCanadaXuxue Feng NEGOTIATION
Clifford A MaletGermanyElwin Sharvill UNQUALIFIED
Maisha S AmigonItalyAsiya Javayant UNQUALIFIED

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