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
Nicolas P BriddickRussiaXuxue Feng PROPOSAL
Wickens H CaldareraIndiaXuxue Feng QUALIFIED
Jefferson P VenereCanadaAmy Elsner NEGOTIATION
Leja K RutaRussiaAmy Elsner RENEWAL
Smith H DoeUnited KingdomIvan Magalhaes NEW
Antonio J CampainFranceAsiya Javayant PROPOSAL
Mujtaba G ButtSpainXuxue Feng RENEWAL
Sinclair K OldroydItalyOnyama Limba UNQUALIFIED
Ashley E TollnerArgentinaOnyama Limba PROPOSAL
Aruna L StensethGermanyIvan Magalhaes NEGOTIATION
Ricardo I KuskoAustraliaStephen Shaw RENEWAL
Johnson K IturbideFranceStephen Shaw NEGOTIATION
Octavia B PaprockiRussiaIvan Magalhaes UNQUALIFIED
Jefferson T SaylorsBrazilElwin Sharvill UNQUALIFIED
Salvatore S WhobreyArgentinaElwin Sharvill NEGOTIATION
Sinclair O WieserArgentinaXuxue Feng NEW
Murillo Y GarufiUnited KingdomBernardo Dominic RENEWAL
Jones P MarrierCanadaStephen Shaw NEGOTIATION
Jones I KuskoFranceBernardo Dominic QUALIFIED
Murillo W MaletCanadaAsiya Javayant QUALIFIED
Stacey Z MaletRussiaBernardo Dominic NEW
Chavez X DarakjyArgentinaAsiya Javayant QUALIFIED
Ivar D BologniaBrazilOnyama Limba NEGOTIATION
Greenwood P MorascaGermanyIvan Magalhaes NEGOTIATION
Greenwood N PoquetteUnited KingdomAnna Fali NEW
Aika L CampainCanadaAsiya Javayant QUALIFIED
Claire Y ButtArgentinaOnyama Limba QUALIFIED
Leja X WieserArgentinaStephen Shaw PROPOSAL
James C MaletRussiaAnna Fali UNQUALIFIED
Rodrigues I AlbaresJapanXuxue Feng UNQUALIFIED
Ricardo D GlickBrazilAsiya Javayant NEW
Darci K SergiJapanStephen Shaw PROPOSAL
Tony K CaudyUnited KingdomAsiya Javayant RENEWAL
Greenwood O KolmetzIndiaOnyama Limba NEW
James M BologniaJapanAmy Elsner PROPOSAL
Leja Z SaylorsAustraliaAmy Elsner NEGOTIATION
Alejandro V KolmetzIndiaOnyama Limba RENEWAL
Adams J MaletUnited KingdomStephen Shaw UNQUALIFIED
Francesco J VocelkaCanadaAsiya Javayant NEGOTIATION
Aika Z BowleyJapanAnna Fali UNQUALIFIED
Jeanfrancois B PoquetteJapanXuxue Feng NEW
Aika K RulapaughCanadaStephen Shaw NEGOTIATION
Deepesh J KolmetzFranceAsiya Javayant NEW
James L SchemmerArgentinaElwin Sharvill UNQUALIFIED
Tony S RulapaughCanadaAsiya Javayant QUALIFIED
Jones Y MaletUnited KingdomAsiya Javayant QUALIFIED
Arvin P GauchoSpainOnyama Limba PROPOSAL
Murillo C StensethIndiaIvan Magalhaes NEGOTIATION
Morrow Y CampainArgentinaIoni Bowcher RENEWAL
Claire Q OldroydBrazilStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
James U VenereUnited KingdomXuxue Feng NEGOTIATION
Maria E DoeBrazilAnna Fali RENEWAL
Jennifer Q FerenczFranceStephen Shaw RENEWAL
Ashley Z RimGermanyAnna Fali NEW
Maria H MaletGermanyAnna Fali NEW
Izzy F WhobreyRussiaAnna Fali UNQUALIFIED
Aruna S GlickAustraliaAsiya Javayant PROPOSAL
Sinclair W ButtBrazilAmy Elsner PROPOSAL
Aditya Z CampainIndiaElwin Sharvill NEGOTIATION
Octavia U GauchoFranceIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer P KolmetzItaly2026-09-25Truhlar And Truhlar Attys UNQUALIFIED16Stephen Shaw
1001Isabel I GlickJapan2026-09-21Commercial Press NEW2Amy Elsner
1002Ricardo F SlusarskiCanada2026-10-04Chemel, James L Cpa QUALIFIED92Asiya Javayant
1003Kaitlin G GlickRussia2026-09-23Buckley Miller Wright RENEWAL53Onyama Limba
1004Wickens K DoeGermany2026-09-26Rousseaux, Michael Esq QUALIFIED96Onyama Limba
1005Adams K AlbaresUnited Kingdom2026-10-15Printing Dimensions PROPOSAL21Stephen Shaw
1006Munro X RulapaughIndia2026-10-14Printing Dimensions NEGOTIATION90Ivan Magalhaes
1007Maisha S WhobreyCanada2026-10-11Chanay, Jeffrey A Esq NEW2Stephen Shaw
1008Claire C FigeroaJapan2026-10-09Commercial Press NEW78Stephen Shaw
1009Salvatore S ButtFrance2026-09-19Feiner Bros UNQUALIFIED56Ivan Magalhaes
1010Aditya R RoysterGermany2026-10-01Truhlar And Truhlar Attys NEGOTIATION61Stephen Shaw
1011Kadeem F BriddickAustralia2026-10-06Dorl, James J Esq QUALIFIED14Elwin Sharvill
1012Emily U TollnerJapan2026-09-30Rousseaux, Michael Esq RENEWAL95Amy Elsner
1013Faith D CampainBrazil2026-10-01Rangoni Of Florence PROPOSAL84Stephen Shaw
1014Ashley D DilliardItaly2026-10-12Buckley Miller Wright NEW14Stephen Shaw
1015Ashley K DarakjyArgentina2026-10-14Rangoni Of Florence RENEWAL99Asiya Javayant
1016Antonio G PaprockiCanada2026-09-17King, Christopher A Esq PROPOSAL27Ivan Magalhaes
1017Sinclair S GauchoJapan2026-10-15Truhlar And Truhlar Attys NEW3Onyama Limba
1018Maria A TollnerGermany2026-09-23King, Christopher A Esq NEGOTIATION70Onyama Limba
1019Adams I AmigonArgentina2026-09-22Buckley Miller Wright NEW16Bernardo Dominic
1020Juan A DarakjyGermany2026-09-30Benton, John B Jr QUALIFIED22Ioni Bowcher
1021Munro O SchemmerIndia2026-09-16Printing Dimensions RENEWAL60Onyama Limba
1022James P OstroskySpain2026-09-26King, Christopher A Esq NEW51Xuxue Feng
1023Maisha Z FigeroaAustralia2026-09-19Feiner Bros PROPOSAL78Ivan Magalhaes
1024Stacey P TollnerIndia2026-10-04Commercial Press NEGOTIATION41Anna Fali
1025Leja S RimItaly2026-09-24Morlong Associates RENEWAL39Stephen Shaw
1026Maisha I IturbideArgentina2026-10-12Chemel, James L Cpa PROPOSAL42Onyama Limba
1027Ivar T InouyeArgentina2026-10-04Truhlar And Truhlar Attys UNQUALIFIED91Onyama Limba
1028James P KolmetzBrazil2026-10-08Benton, John B Jr QUALIFIED84Elwin Sharvill
1029Izzy W FigeroaAustralia2026-10-03Dorl, James J Esq QUALIFIED39Elwin Sharvill
1030Rodrigues K GillianSpain2026-09-16Rangoni Of Florence QUALIFIED48Amy Elsner
1031Izzy V GillianAustralia2026-09-23Chapman, Ross E Esq QUALIFIED16Amy Elsner
1032Antonio O PoquetteRussia2026-10-02Benton, John B Jr NEGOTIATION50Elwin Sharvill
1033James R ShinkoBrazil2026-09-20Buckley Miller Wright NEW79Xuxue Feng
1034Arvin L VocelkaRussia2026-09-29Commercial Press UNQUALIFIED77Amy Elsner
1035Clifford D NestleUnited Kingdom2026-10-04Morlong Associates PROPOSAL85Anna Fali
1036Francesco V SergiAustralia2026-10-09Chemel, James L Cpa UNQUALIFIED22Anna Fali
1037Tony F ShinkoJapan2026-09-26Printing Dimensions RENEWAL86Ivan Magalhaes
1038Jefferson P BriddickRussia2026-10-10Dorl, James J Esq RENEWAL54Anna Fali
1039Maisha S AlbaresSpain2026-09-23Rousseaux, Michael Esq NEGOTIATION65Amy Elsner
1040Greenwood W OstroskyBrazil2026-10-06Feiner Bros UNQUALIFIED51Ioni Bowcher
1041Sinclair U CaudyAustralia2026-10-08Chapman, Ross E Esq PROPOSAL23Stephen Shaw
1042David O FigeroaIndia2026-09-29Chanay, Jeffrey A Esq NEGOTIATION23Asiya Javayant
1043Arvin A GarufiCanada2026-09-24Rousseaux, Michael Esq PROPOSAL59Asiya Javayant
1044Stacey R NestleGermany2026-10-09Chemel, James L Cpa NEGOTIATION95Bernardo Dominic
1045Sinclair U ShinkoIndia2026-10-07Chapman, Ross E Esq QUALIFIED20Asiya Javayant
1046Ashley D NestleUnited Kingdom2026-09-28Commercial Press QUALIFIED79Onyama Limba
1047James I NestleIndia2026-09-27Buckley Miller Wright NEGOTIATION69Onyama Limba
1048Wickens Q SergiArgentina2026-09-22Rangoni Of Florence RENEWAL79Ioni Bowcher
1049Leon N SaylorsGermany2026-10-08Chemel, James L Cpa PROPOSAL38Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Antonio R FollerFranceElwin Sharvill PROPOSAL
Cody G SlusarskiGermanyXuxue Feng RENEWAL
Alejandro P MorascaItalyXuxue Feng PROPOSAL
Mujtaba V StockhamArgentinaAsiya Javayant QUALIFIED
Costa B NestleJapanAnna Fali NEGOTIATION
Salvatore I MacleadRussiaElwin Sharvill NEGOTIATION
Murillo H PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Aika K RimArgentinaAnna Fali QUALIFIED
Rodrigues G SaylorsRussiaAsiya Javayant NEW
Silvio W PerinItalyStephen Shaw NEW
Maisha R RutaItalyOnyama Limba NEGOTIATION
Johnson V SergiUnited KingdomAsiya Javayant QUALIFIED
Darci I InouyeJapanIvan Magalhaes QUALIFIED
Morrow C GarufiArgentinaOnyama Limba RENEWAL
Tony H NickaUnited KingdomIvan Magalhaes UNQUALIFIED
Costa D PerinGermanyAsiya Javayant NEGOTIATION
Leon E MaletFranceStephen Shaw PROPOSAL
Izzy T FlosiFranceBernardo Dominic NEGOTIATION
Munro F OstroskyArgentinaIoni Bowcher PROPOSAL
Murillo F OldroydSpainBernardo Dominic NEGOTIATION
Costa S NickaRussiaBernardo Dominic UNQUALIFIED
Leon F PoquetteAustraliaElwin Sharvill UNQUALIFIED
Julie O PerinItalyIvan Magalhaes UNQUALIFIED
Arvin X SlusarskiItalyAsiya Javayant QUALIFIED
Aruna J OldroydCanadaElwin Sharvill NEGOTIATION
Misaki N DoeRussiaIoni Bowcher NEGOTIATION
Rodrigues B PoquetteSpainIoni Bowcher UNQUALIFIED
Claire D CaudyFranceAnna Fali RENEWAL
Maisha N BologniaFranceOnyama Limba RENEWAL
Ashley O VocelkaCanadaBernardo Dominic NEGOTIATION
Johnson Y MorascaCanadaXuxue Feng NEW
Jefferson S MaletCanadaElwin Sharvill NEW
James U NestleSpainAmy Elsner RENEWAL
Jeanfrancois V DarakjyAustraliaOnyama Limba QUALIFIED
Maria B StockhamJapanOnyama Limba UNQUALIFIED
Isabel J CaudyBrazilIoni Bowcher QUALIFIED
Darci C WieserGermanyAnna Fali NEW
Antonio A StensethBrazilAmy Elsner NEGOTIATION
Kadeem Q SaylorsRussiaXuxue Feng QUALIFIED
Aruna N CaldareraFranceElwin Sharvill NEGOTIATION
Wickens X RutaFranceElwin Sharvill UNQUALIFIED
Munro S CampainSpainAmy Elsner RENEWAL
Stacey R RoysterSpainIvan Magalhaes NEGOTIATION
Emily Y CaudyArgentinaElwin Sharvill PROPOSAL
Deepesh Y MacleadRussiaBernardo Dominic NEGOTIATION
Ashley O RoysterArgentinaAmy Elsner RENEWAL
Murillo Y FollerUnited KingdomStephen Shaw RENEWAL
Antonio G GarufiIndiaElwin Sharvill RENEWAL
Jones D GarufiJapanXuxue Feng UNQUALIFIED
Wickens Q SergiAustraliaIoni Bowcher QUALIFIED
Frozen Columns
Name
Wickens O Iturbide
David N Rim
Wickens U Caldarera
Munro Y Waycott
Faith W Caudy
Mujtaba G Garufi
Izzy V Rulapaugh
Juan L Maclead
Arvin B Malet
Misaki P Doe
Ricardo B Ferencz
Nicolas I Sergi
Cody R Rim
Kaitlin K Wieser
Izzy J Darakjy
James P Morasca
Misaki O Kolmetz
Sinclair L Iturbide
Octavia A Rim
Murillo V Ostrosky
Silvio H Shinko
Francesco G Flosi
Maisha W Garufi
Ashley J Perin
Aditya V Oldroyd
Ricardo L Caldarera
Leja O Flosi
Jeanfrancois V Gaucho
Izzy H Vocelka
Morrow C Kusko
Antonio Y Maclead
Costa E Kusko
Jennifer C Iturbide
Izzy F Bowley
Greenwood B Morasca
Munro M Malet
Ashley Y Ferencz
Aika L Briddick
Aditya I Gaucho
Wickens Q Doe
Francesco T Flosi
Tony X Perin
Nicolas C Wieser
Darci B Garufi
Ashley Q Stockham
Jefferson L Caudy
Aruna B Briddick
Munro G Rim
Munro O Gillian
Misaki S Marrier
IdCountryDate
1000Japan2026-10-09
1001India2026-10-13
1002Australia2026-10-02
1003Germany2026-09-24
1004Japan2026-10-12
1005Brazil2026-09-20
1006Brazil2026-10-07
1007Argentina2026-09-28
1008Argentina2026-10-03
1009Canada2026-09-29
1010France2026-09-19
1011Australia2026-09-17
1012Germany2026-09-27
1013France2026-10-10
1014Italy2026-10-01
1015Japan2026-09-29
1016Italy2026-10-07
1017Japan2026-10-09
1018Spain2026-09-20
1019Australia2026-09-27
1020Spain2026-09-29
1021India2026-09-16
1022Spain2026-09-18
1023Japan2026-10-11
1024Argentina2026-10-07
1025Canada2026-09-24
1026Australia2026-09-21
1027France2026-10-09
1028Japan2026-09-24
1029Germany2026-09-24
1030Brazil2026-09-21
1031Argentina2026-09-23
1032United Kingdom2026-09-20
1033Italy2026-09-20
1034United Kingdom2026-10-05
1035France2026-10-11
1036France2026-10-06
1037Canada2026-09-26
1038United Kingdom2026-10-03
1039Canada2026-10-01
1040Russia2026-09-27
1041India2026-09-30
1042France2026-10-08
1043France2026-09-22
1044Canada2026-10-12
1045Spain2026-10-12
1046France2026-09-17
1047Russia2026-10-10
1048Canada2026-10-14
1049Argentina2026-10-09

On-Demand Data

NameIdCountryDate
Greenwood S Briddick1000France2026-09-24
Octavia K Gaucho1001Japan2026-10-05
Sinclair A Caldarera1002Argentina2026-09-17
Octavia O Ruta1003Australia2026-10-08
Ricardo G Kusko1004United Kingdom2026-10-05
Antonio A Foller1005Germany2026-10-01
Emily U Marrier1006Argentina2026-10-04
Octavia O Maclead1007Japan2026-09-25
Nicolas Y Ruta1008Argentina2026-10-07
Juan K Rulapaugh1009France2026-10-02
Morrow G Perin1010Canada2026-09-20
Munro A Stenseth1011Italy2026-09-21
Mayumi O Kolmetz1012India2026-09-23
Wickens Q Stockham1013Argentina2026-09-19
Adams P Rim1014Argentina2026-10-10
Julie B Amigon1015Argentina2026-10-06
Cody G Wieser1016United Kingdom2026-09-17
Antonio G Butt1017Australia2026-10-08
Morrow K Foller1018Japan2026-09-23
Jefferson N Nicka1019Germany2026-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh O SaylorsJapanAmy Elsner UNQUALIFIED
Leja J RutaUnited KingdomAsiya Javayant RENEWAL
Emily F GarufiUnited KingdomBernardo Dominic NEGOTIATION
Juan F OstroskyUnited KingdomElwin Sharvill PROPOSAL
Kaitlin C SaylorsSpainElwin Sharvill RENEWAL
Stacey X PaprockiBrazilStephen Shaw NEGOTIATION
Rodrigues Z KuskoBrazilElwin Sharvill QUALIFIED
Kadeem R FlosiGermanyIvan Magalhaes NEGOTIATION
Clifford J FlosiJapanIoni Bowcher PROPOSAL
Maisha M RoysterIndiaAsiya Javayant RENEWAL
Julie B GarufiIndiaXuxue Feng RENEWAL
Maisha Y OldroydSpainStephen Shaw QUALIFIED
Mujtaba A VocelkaUnited KingdomStephen Shaw NEGOTIATION
Francesco B InouyeGermanyBernardo Dominic NEGOTIATION
Emily R SlusarskiJapanXuxue Feng NEW
Wickens O FerenczRussiaAmy Elsner NEGOTIATION
Kaitlin Q OstroskySpainAsiya Javayant UNQUALIFIED
Arvin N CaldareraBrazilOnyama Limba NEGOTIATION
Stacey H ButtCanadaIoni Bowcher PROPOSAL
Silvio S NickaUnited KingdomIvan Magalhaes PROPOSAL
Misaki B OstroskyRussiaAmy Elsner QUALIFIED
Murillo A StockhamRussiaAmy Elsner QUALIFIED
Claire U BologniaJapanAnna Fali NEW
Aruna G WaycottUnited KingdomStephen Shaw NEGOTIATION
Smith Q CaldareraItalyElwin Sharvill NEGOTIATION
Silvio T RimArgentinaAnna Fali PROPOSAL
Greenwood T CaldareraJapanAsiya Javayant UNQUALIFIED
Jones Q PoquetteAustraliaAnna Fali QUALIFIED
Mujtaba Z CaldareraArgentinaAnna Fali NEGOTIATION
Leon F GauchoUnited KingdomAnna Fali NEGOTIATION
Maria A SchemmerIndiaOnyama Limba PROPOSAL
Aika J CaldareraJapanStephen Shaw PROPOSAL
Ashley L InouyeItalyXuxue Feng NEW
Ashley V WhobreyUnited KingdomOnyama Limba NEGOTIATION
Johnson F BowleyRussiaIoni Bowcher RENEWAL
Ashley Z RoysterGermanyStephen Shaw RENEWAL
Kaitlin B BowleyAustraliaIoni Bowcher UNQUALIFIED
Jennifer H KuskoCanadaXuxue Feng PROPOSAL
Emily N OldroydRussiaIvan Magalhaes UNQUALIFIED
Ashley G IturbideCanadaIoni Bowcher 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>