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
Wickens D ButtBrazilAnna Fali QUALIFIED
Alejandro V SlusarskiBrazilBernardo Dominic NEGOTIATION
Isabel U FerenczAustraliaAsiya Javayant NEW
Greenwood B CaudyGermanyIvan Magalhaes PROPOSAL
Munro X NestleFranceIoni Bowcher NEW
Ricardo R SlusarskiArgentinaAmy Elsner NEW
Jeanfrancois B BowleyGermanyElwin Sharvill UNQUALIFIED
David K FerenczJapanAmy Elsner NEW
Nicolas O RimRussiaBernardo Dominic RENEWAL
Antonio J BologniaCanadaOnyama Limba NEGOTIATION
Kaitlin O StockhamAustraliaIoni Bowcher RENEWAL
Arvin D ShinkoJapanOnyama Limba QUALIFIED
Antonio Q FollerArgentinaBernardo Dominic UNQUALIFIED
Jennifer E FerenczSpainIoni Bowcher NEW
Leja N AmigonIndiaIvan Magalhaes UNQUALIFIED
Smith W BologniaIndiaElwin Sharvill UNQUALIFIED
Francesco H KolmetzAustraliaElwin Sharvill UNQUALIFIED
Ivar V FollerItalyOnyama Limba NEW
Deepesh T NickaCanadaAmy Elsner UNQUALIFIED
Francesco I CaldareraBrazilAmy Elsner UNQUALIFIED
Juan O GillianGermanyXuxue Feng RENEWAL
Clifford J WaycottSpainBernardo Dominic NEGOTIATION
Isabel Y OldroydUnited KingdomStephen Shaw PROPOSAL
Kadeem F FlosiCanadaBernardo Dominic QUALIFIED
Aditya W AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Smith B BowleyRussiaIvan Magalhaes PROPOSAL
Aditya R PoquetteGermanyAmy Elsner NEW
Chavez I BriddickItalyAnna Fali QUALIFIED
Ashley T MaletArgentinaIvan Magalhaes NEGOTIATION
Sinclair M KolmetzAustraliaStephen Shaw QUALIFIED
Faith L DarakjyItalyIvan Magalhaes NEGOTIATION
Aruna V RulapaughCanadaIvan Magalhaes NEW
Morrow Q MaletGermanyAnna Fali QUALIFIED
Ricardo D FigeroaGermanyBernardo Dominic NEW
James R PerinJapanElwin Sharvill RENEWAL
Morrow W WhobreyGermanyIoni Bowcher NEW
Izzy S DoeSpainAsiya Javayant UNQUALIFIED
Mujtaba R GarufiCanadaOnyama Limba NEGOTIATION
Tony Q SergiItalyAnna Fali RENEWAL
Emily J RimBrazilIvan Magalhaes RENEWAL
Salvatore U InouyeRussiaIoni Bowcher UNQUALIFIED
Aditya S GillianSpainIoni Bowcher NEGOTIATION
Tony L FerenczItalyBernardo Dominic QUALIFIED
Octavia B RimGermanyStephen Shaw PROPOSAL
Salvatore P StockhamBrazilAmy Elsner QUALIFIED
Ashley T SergiIndiaIvan Magalhaes PROPOSAL
Johnson R WieserFranceElwin Sharvill UNQUALIFIED
Mujtaba Z ShinkoSpainElwin Sharvill RENEWAL
Aika Y RulapaughIndiaXuxue Feng QUALIFIED
Morrow S SlusarskiGermanyIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan M MaletBrazilAmy Elsner NEW
Maisha X SlusarskiJapanXuxue Feng PROPOSAL
Silvio Y SchemmerJapanBernardo Dominic RENEWAL
Misaki D ShinkoGermanyAmy Elsner UNQUALIFIED
Munro H RutaBrazilBernardo Dominic NEGOTIATION
Murillo B WaycottFranceIoni Bowcher QUALIFIED
Alejandro C PoquetteUnited KingdomElwin Sharvill QUALIFIED
Ivar K SlusarskiGermanyAnna Fali QUALIFIED
Sinclair V DoeRussiaElwin Sharvill PROPOSAL
Ivar Q NestleSpainIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio R VocelkaBrazil2026-09-04Buckley Miller Wright PROPOSAL23Ioni Bowcher
1001Wickens P SergiGermany2026-09-11Morlong Associates UNQUALIFIED31Ivan Magalhaes
1002Darci F PoquetteFrance2026-09-08Dorl, James J Esq NEGOTIATION89Onyama Limba
1003Julie I StensethCanada2026-09-04Printing Dimensions PROPOSAL29Anna Fali
1004Ashley T SergiFrance2026-09-13Rangoni Of Florence PROPOSAL10Asiya Javayant
1005Chavez V CaudyUnited Kingdom2026-09-03Printing Dimensions QUALIFIED22Amy Elsner
1006Tony F WaycottArgentina2026-09-16Morlong Associates QUALIFIED30Ivan Magalhaes
1007Jefferson B BriddickIndia2026-09-19Chanay, Jeffrey A Esq NEGOTIATION87Ioni Bowcher
1008Ricardo P MarrierArgentina2026-09-03Chanay, Jeffrey A Esq NEGOTIATION44Elwin Sharvill
1009Nicolas R MaletAustralia2026-09-18Morlong Associates RENEWAL39Asiya Javayant
1010Silvio V FerenczRussia2026-09-22Truhlar And Truhlar Attys NEW38Elwin Sharvill
1011James Q FigeroaUnited Kingdom2026-09-17Feiner Bros PROPOSAL66Asiya Javayant
1012Tony Q SaylorsRussia2026-09-08Benton, John B Jr NEW39Ivan Magalhaes
1013Misaki W WieserFrance2026-09-02Truhlar And Truhlar Attys RENEWAL62Ioni Bowcher
1014Nicolas U MorascaCanada2026-09-19Buckley Miller Wright PROPOSAL30Ioni Bowcher
1015Faith B RutaGermany2026-09-30Commercial Press UNQUALIFIED32Anna Fali
1016Chavez G DoeCanada2026-09-26Chemel, James L Cpa UNQUALIFIED73Ivan Magalhaes
1017Smith O DoeRussia2026-09-30Chanay, Jeffrey A Esq NEW47Asiya Javayant
1018Munro K KolmetzUnited Kingdom2026-09-12Feltz Printing Service RENEWAL44Stephen Shaw
1019Izzy I RoysterAustralia2026-09-02Rousseaux, Michael Esq PROPOSAL2Amy Elsner
1020Kaitlin T OldroydSpain2026-09-24Printing Dimensions NEW73Amy Elsner
1021Francesco S ShinkoFrance2026-09-09Chemel, James L Cpa UNQUALIFIED44Amy Elsner
1022Mayumi T BowleyCanada2026-09-25King, Christopher A Esq NEW57Onyama Limba
1023Arvin A VocelkaFrance2026-09-30Feiner Bros QUALIFIED37Ivan Magalhaes
1024Nicolas E AmigonFrance2026-09-02Feiner Bros RENEWAL10Xuxue Feng
1025Jefferson A SaylorsAustralia2026-09-26Commercial Press NEGOTIATION58Amy Elsner
1026Alejandro I CampainUnited Kingdom2026-09-26Benton, John B Jr NEGOTIATION50Elwin Sharvill
1027Kaitlin G RoysterItaly2026-09-03Chemel, James L Cpa NEGOTIATION99Amy Elsner
1028Antonio M FerenczJapan2026-09-05Chapman, Ross E Esq RENEWAL41Amy Elsner
1029Ricardo I MaletIndia2026-09-29Chapman, Ross E Esq RENEWAL54Onyama Limba
1030Leja N CaudyBrazil2026-09-07Rousseaux, Michael Esq PROPOSAL18Anna Fali
1031Maria F FerenczIndia2026-09-10Rangoni Of Florence RENEWAL86Amy Elsner
1032Maisha Q MorascaIndia2026-09-19Chanay, Jeffrey A Esq PROPOSAL50Ivan Magalhaes
1033Mujtaba S KuskoIndia2026-09-19Dorl, James J Esq PROPOSAL13Onyama Limba
1034Faith V DilliardItaly2026-09-27Rangoni Of Florence PROPOSAL99Ivan Magalhaes
1035Jefferson N CampainJapan2026-09-17Rousseaux, Michael Esq RENEWAL73Ioni Bowcher
1036Smith K CampainBrazil2026-09-23King, Christopher A Esq NEGOTIATION57Anna Fali
1037Munro E CaldareraRussia2026-09-02Feiner Bros NEW88Asiya Javayant
1038Leja L AmigonBrazil2026-09-03Truhlar And Truhlar Attys PROPOSAL76Bernardo Dominic
1039Leja N OldroydBrazil2026-09-27Chemel, James L Cpa RENEWAL65Asiya Javayant
1040Salvatore E BowleyUnited Kingdom2026-09-01Rangoni Of Florence PROPOSAL19Ioni Bowcher
1041James E KolmetzIndia2026-09-23Rangoni Of Florence PROPOSAL35Anna Fali
1042Morrow F MaletCanada2026-09-13Morlong Associates UNQUALIFIED12Anna Fali
1043Izzy O ShinkoGermany2026-09-15Feiner Bros NEW82Amy Elsner
1044Morrow I StockhamArgentina2026-09-25Benton, John B Jr UNQUALIFIED58Ivan Magalhaes
1045Jennifer T TollnerRussia2026-09-19King, Christopher A Esq NEGOTIATION49Amy Elsner
1046Jeanfrancois P OstroskyItaly2026-09-22Buckley Miller Wright QUALIFIED5Ivan Magalhaes
1047Aika N ShinkoIndia2026-09-10King, Christopher A Esq UNQUALIFIED64Stephen Shaw
1048Sinclair R FollerGermany2026-09-07Printing Dimensions NEW97Stephen Shaw
1049Leja V NickaSpain2026-09-12Chanay, Jeffrey A Esq PROPOSAL24Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones W MarrierJapanOnyama Limba PROPOSAL
Johnson M DoeItalyXuxue Feng NEGOTIATION
Clifford U ShinkoSpainOnyama Limba PROPOSAL
Alejandro F KuskoBrazilStephen Shaw QUALIFIED
Leja T StockhamCanadaAsiya Javayant RENEWAL
Tony B RoysterJapanStephen Shaw RENEWAL
Antonio T BowleyUnited KingdomBernardo Dominic NEW
Adams I NestleCanadaAsiya Javayant RENEWAL
Deepesh K FigeroaSpainBernardo Dominic QUALIFIED
Munro O VocelkaBrazilAmy Elsner PROPOSAL
Claire T SaylorsItalyAnna Fali NEGOTIATION
Rodrigues A VenereArgentinaAnna Fali PROPOSAL
Adams M NestleGermanyIoni Bowcher RENEWAL
Kaitlin B OstroskyGermanyElwin Sharvill UNQUALIFIED
David L InouyeItalyIoni Bowcher RENEWAL
Mujtaba N DarakjyRussiaOnyama Limba NEGOTIATION
Mayumi S SergiBrazilAnna Fali NEW
Chavez Q SergiFranceIvan Magalhaes UNQUALIFIED
Greenwood P CampainBrazilOnyama Limba QUALIFIED
Rodrigues E GillianBrazilStephen Shaw NEGOTIATION
Salvatore H SaylorsSpainAnna Fali PROPOSAL
James P TollnerFranceXuxue Feng PROPOSAL
Jeanfrancois E FerenczJapanAsiya Javayant UNQUALIFIED
Ivar L RimItalyAnna Fali RENEWAL
Jones G RutaIndiaXuxue Feng NEW
Maria Y RulapaughArgentinaIoni Bowcher UNQUALIFIED
James U InouyeRussiaOnyama Limba PROPOSAL
Claire X KuskoAustraliaIvan Magalhaes UNQUALIFIED
Jones H CaldareraBrazilBernardo Dominic UNQUALIFIED
Sinclair S PerinCanadaAmy Elsner NEW
Chavez Z RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Juan R OldroydBrazilAmy Elsner NEW
Julie I OstroskyGermanyAsiya Javayant PROPOSAL
Rodrigues E NickaJapanAsiya Javayant RENEWAL
Leja T PerinCanadaElwin Sharvill QUALIFIED
Jones Y FollerGermanyAnna Fali UNQUALIFIED
Leja I StockhamBrazilBernardo Dominic QUALIFIED
Leja F ButtRussiaXuxue Feng NEGOTIATION
Adams S ShinkoAustraliaElwin Sharvill RENEWAL
Alejandro M OstroskyFranceXuxue Feng RENEWAL
Chavez R GlickCanadaOnyama Limba RENEWAL
Costa J StensethBrazilAmy Elsner NEGOTIATION
Nicolas W OldroydSpainAsiya Javayant NEGOTIATION
Salvatore X RulapaughSpainStephen Shaw RENEWAL
Darci S CaldareraArgentinaAsiya Javayant UNQUALIFIED
Clifford C PaprockiIndiaElwin Sharvill NEGOTIATION
Faith F ShinkoSpainAnna Fali NEGOTIATION
Aika Z FerenczArgentinaAsiya Javayant UNQUALIFIED
Jefferson O RoysterAustraliaAsiya Javayant UNQUALIFIED
Darci Z GarufiFranceXuxue Feng UNQUALIFIED
Frozen Columns
Name
Smith B Chui
Adams E Garufi
Mayumi J Malet
Octavia U Caudy
Jeanfrancois W Gillian
Wickens T Shinko
James A Schemmer
Faith H Albares
Octavia E Flosi
Arvin B Ferencz
Jeanfrancois S Whobrey
Costa L Rim
Mayumi U Rim
Murillo A Oldroyd
Jones G Shinko
James B Marrier
Johnson T Albares
Ashley N Gaucho
Mayumi M Paprocki
Ashley D Ruta
Silvio I Iturbide
Munro K Albares
Munro I Garufi
Maria H Tollner
Juan I Dilliard
Sinclair L Nestle
Ricardo C Gillian
Nicolas H Perin
Tony F Campain
Greenwood E Nestle
Antonio A Doe
Tony O Paprocki
Deepesh U Morasca
Nicolas B Albares
Misaki I Paprocki
Maria Q Nicka
Kaitlin B Nestle
Julie F Slusarski
Greenwood N Poquette
Aika U Royster
Kaitlin D Tollner
James X Wieser
Octavia W Maclead
Clifford K Rim
Greenwood T Albares
Nicolas M Malet
Emily F Darakjy
Wickens B Marrier
Misaki B Paprocki
Jones Z Caldarera
IdCountryDate
1000Brazil2026-09-18
1001Germany2026-09-24
1002Australia2026-09-13
1003Germany2026-09-16
1004Japan2026-09-12
1005France2026-09-04
1006Australia2026-09-30
1007Canada2026-09-04
1008Germany2026-09-24
1009United Kingdom2026-09-19
1010Canada2026-09-01
1011Brazil2026-09-18
1012United Kingdom2026-09-17
1013United Kingdom2026-09-10
1014United Kingdom2026-09-15
1015Italy2026-09-13
1016France2026-09-23
1017Canada2026-09-02
1018France2026-09-09
1019Canada2026-09-03
1020Russia2026-09-23
1021Brazil2026-09-30
1022Germany2026-09-18
1023India2026-09-06
1024Japan2026-09-06
1025France2026-09-16
1026Spain2026-09-22
1027Spain2026-09-16
1028Russia2026-09-07
1029Spain2026-09-02
1030Russia2026-09-06
1031Australia2026-09-07
1032Russia2026-09-24
1033Australia2026-09-11
1034Australia2026-09-23
1035Japan2026-09-30
1036United Kingdom2026-09-21
1037India2026-09-16
1038Australia2026-09-17
1039France2026-09-13
1040France2026-09-19
1041Argentina2026-09-06
1042Spain2026-09-09
1043Canada2026-09-23
1044France2026-09-01
1045United Kingdom2026-09-26
1046India2026-09-22
1047United Kingdom2026-09-05
1048Russia2026-09-04
1049France2026-09-22

On-Demand Data

NameIdCountryDate
Munro F Stockham1000Canada2026-09-12
Deepesh P Venere1001Spain2026-09-01
Maria O Darakjy1002Italy2026-09-02
Maria Q Stenseth1003Japan2026-09-19
Clifford A Butt1004France2026-09-24
Deepesh R Briddick1005India2026-09-17
Kaitlin Z Caudy1006Russia2026-09-29
Claire F Glick1007Australia2026-09-04
Isabel P Ostrosky1008Germany2026-09-05
Ashley X Bowley1009France2026-09-07
Arvin P Paprocki1010Argentina2026-09-30
Wickens G Caudy1011France2026-09-21
Ricardo Z Ostrosky1012Canada2026-09-18
Ricardo O Briddick1013France2026-09-27
Mujtaba Z Dilliard1014Italy2026-09-21
Cody O Morasca1015Germany2026-09-06
Leon B Ferencz1016France2026-09-03
Murillo V Marrier1017Canada2026-09-23
Aruna I Slusarski1018Japan2026-09-01
Munro O Campain1019Russia2026-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey H OldroydSpainElwin Sharvill NEGOTIATION
Ricardo K FlosiArgentinaIvan Magalhaes PROPOSAL
Aruna E FollerGermanyAnna Fali RENEWAL
Jennifer G GillianItalyElwin Sharvill NEW
Rodrigues T FlosiIndiaAmy Elsner NEW
Costa O OldroydRussiaElwin Sharvill NEGOTIATION
Alejandro J IturbideArgentinaAsiya Javayant PROPOSAL
Ivar L MaletArgentinaXuxue Feng PROPOSAL
James C InouyeBrazilAsiya Javayant PROPOSAL
Deepesh U KuskoBrazilIvan Magalhaes PROPOSAL
Chavez E BologniaItalyBernardo Dominic NEGOTIATION
Tony X RulapaughAustraliaStephen Shaw UNQUALIFIED
Smith K CampainItalyOnyama Limba UNQUALIFIED
Johnson P PoquetteAustraliaAmy Elsner QUALIFIED
Emily V CampainCanadaAmy Elsner NEGOTIATION
Jefferson D ShinkoIndiaElwin Sharvill UNQUALIFIED
Francesco I ChuiArgentinaBernardo Dominic RENEWAL
Francesco F VenereIndiaAnna Fali UNQUALIFIED
Kaitlin F BologniaGermanyElwin Sharvill NEGOTIATION
Murillo B CaudyRussiaIvan Magalhaes NEGOTIATION
Maria G VenereJapanOnyama Limba RENEWAL
Maisha L BowleySpainBernardo Dominic PROPOSAL
Greenwood Y DilliardJapanXuxue Feng QUALIFIED
Adams C BriddickArgentinaIvan Magalhaes PROPOSAL
Ashley C SchemmerFranceIoni Bowcher RENEWAL
Jefferson S OldroydRussiaAsiya Javayant QUALIFIED
Ashley P SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Rodrigues N VocelkaAustraliaAnna Fali NEW
Mayumi U DilliardIndiaXuxue Feng RENEWAL
Alejandro K CampainCanadaAmy Elsner QUALIFIED
Kadeem X StockhamFranceAmy Elsner UNQUALIFIED
Juan Q SlusarskiIndiaIvan Magalhaes NEGOTIATION
Claire M PoquetteArgentinaBernardo Dominic RENEWAL
Mayumi W FerenczBrazilElwin Sharvill NEGOTIATION
Jeanfrancois K SlusarskiRussiaElwin Sharvill NEW
Morrow U PoquetteSpainOnyama Limba PROPOSAL
Cody J OldroydIndiaBernardo Dominic QUALIFIED
David W GauchoArgentinaAsiya Javayant NEW
Adams S GauchoCanadaAnna Fali UNQUALIFIED
Stacey L CaldareraRussiaAnna Fali RENEWAL

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