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
Claire P MorascaAustraliaIoni Bowcher UNQUALIFIED
Francesco L VocelkaSpainAnna Fali QUALIFIED
Deepesh V StensethItalyElwin Sharvill PROPOSAL
Cody W GarufiArgentinaAmy Elsner RENEWAL
Adams N MacleadGermanyIvan Magalhaes QUALIFIED
Darci I DarakjyCanadaAsiya Javayant QUALIFIED
Ivar N FlosiJapanXuxue Feng RENEWAL
Aika N AlbaresFranceIvan Magalhaes RENEWAL
Mujtaba K CampainBrazilStephen Shaw QUALIFIED
James M BologniaBrazilOnyama Limba UNQUALIFIED
Morrow F InouyeSpainIoni Bowcher UNQUALIFIED
Emily M BologniaSpainIvan Magalhaes RENEWAL
Munro G OldroydItalyAnna Fali QUALIFIED
Claire E MaletRussiaAnna Fali PROPOSAL
Maisha W VenereItalyAmy Elsner RENEWAL
Stacey A IturbideUnited KingdomXuxue Feng NEW
Kaitlin C WhobreyUnited KingdomAmy Elsner QUALIFIED
Leon H CaudyFranceOnyama Limba RENEWAL
Faith X DarakjyUnited KingdomStephen Shaw PROPOSAL
Wickens T WaycottGermanyXuxue Feng PROPOSAL
Antonio R VenereUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois L NestleJapanStephen Shaw PROPOSAL
Mujtaba Y MacleadJapanStephen Shaw PROPOSAL
Rodrigues K FlosiItalyOnyama Limba NEGOTIATION
Jeanfrancois R WieserArgentinaOnyama Limba QUALIFIED
James Y AmigonFranceXuxue Feng NEW
Arvin P VocelkaItalyXuxue Feng PROPOSAL
Maria Q RoysterArgentinaXuxue Feng QUALIFIED
Isabel K NickaGermanyAsiya Javayant RENEWAL
Munro M CaudyFranceXuxue Feng NEW
Darci C FlosiIndiaAsiya Javayant NEW
Juan V SergiFranceIoni Bowcher PROPOSAL
Ricardo S WieserIndiaAnna Fali QUALIFIED
Ricardo B SchemmerRussiaBernardo Dominic PROPOSAL
Johnson M VocelkaArgentinaAnna Fali RENEWAL
Octavia C OldroydItalyXuxue Feng NEW
Clifford Z DoeItalyIvan Magalhaes NEGOTIATION
Aruna J StockhamRussiaIoni Bowcher UNQUALIFIED
Wickens P BologniaItalyBernardo Dominic RENEWAL
Claire C PaprockiAustraliaIoni Bowcher QUALIFIED
Aditya W KuskoItalyAmy Elsner RENEWAL
Aika P WieserIndiaAmy Elsner NEW
Tony A BowleyItalyAnna Fali NEGOTIATION
James C MorascaRussiaOnyama Limba UNQUALIFIED
Aditya Q WieserJapanIoni Bowcher NEGOTIATION
David Z CampainArgentinaOnyama Limba UNQUALIFIED
Munro B FollerCanadaXuxue Feng RENEWAL
Chavez J BowleyIndiaXuxue Feng QUALIFIED
Misaki N GlickItalyBernardo Dominic PROPOSAL
Sinclair M CaudyFranceOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams M BowleyRussiaAsiya Javayant NEGOTIATION
Leja X MorascaRussiaOnyama Limba NEW
Silvio W StockhamRussiaIvan Magalhaes PROPOSAL
Ashley I MarrierSpainOnyama Limba QUALIFIED
Juan P MaletArgentinaStephen Shaw NEGOTIATION
James O DarakjyFranceAnna Fali UNQUALIFIED
Chavez V InouyeRussiaXuxue Feng NEW
Clifford Y MaletArgentinaElwin Sharvill NEW
Smith X GarufiGermanyBernardo Dominic NEW
Aruna N RimSpainElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams E IturbideJapan2026-09-16Commercial Press PROPOSAL68Elwin Sharvill
1001Octavia Y VocelkaRussia2026-09-19Rangoni Of Florence UNQUALIFIED8Bernardo Dominic
1002Leon A NickaJapan2026-09-15Buckley Miller Wright QUALIFIED98Ioni Bowcher
1003Jones Q AmigonArgentina2026-09-11Benton, John B Jr NEGOTIATION17Bernardo Dominic
1004Maria E OstroskyUnited Kingdom2026-09-06Commercial Press RENEWAL10Asiya Javayant
1005Alejandro I DarakjyCanada2026-09-12Feiner Bros PROPOSAL28Ivan Magalhaes
1006Deepesh L MaletGermany2026-09-03Rangoni Of Florence UNQUALIFIED99Xuxue Feng
1007Ricardo V MaletArgentina2026-09-02Chemel, James L Cpa UNQUALIFIED35Anna Fali
1008Aruna O SchemmerArgentina2026-08-31Chapman, Ross E Esq QUALIFIED23Asiya Javayant
1009Antonio L FerenczIndia2026-09-16Feltz Printing Service NEW71Amy Elsner
1010Kaitlin A BriddickUnited Kingdom2026-09-10Chanay, Jeffrey A Esq QUALIFIED20Amy Elsner
1011Rodrigues N DoeGermany2026-08-31Commercial Press NEW78Elwin Sharvill
1012Jennifer C StensethJapan2026-09-13Rangoni Of Florence PROPOSAL19Asiya Javayant
1013Darci J VocelkaRussia2026-09-14Commercial Press NEGOTIATION24Stephen Shaw
1014Aruna O SchemmerSpain2026-09-08Chemel, James L Cpa RENEWAL46Amy Elsner
1015Mujtaba D SlusarskiBrazil2026-09-21Buckley Miller Wright UNQUALIFIED31Anna Fali
1016Claire G KuskoIndia2026-09-16Buckley Miller Wright NEGOTIATION49Bernardo Dominic
1017Chavez N MaletRussia2026-09-23Printing Dimensions NEW29Ivan Magalhaes
1018Adams E DarakjyUnited Kingdom2026-09-22Buckley Miller Wright NEGOTIATION74Anna Fali
1019Chavez B BowleyUnited Kingdom2026-09-12Feltz Printing Service UNQUALIFIED94Anna Fali
1020Chavez K BologniaUnited Kingdom2026-09-23Commercial Press NEGOTIATION7Stephen Shaw
1021David U OstroskyBrazil2026-09-14Feltz Printing Service PROPOSAL35Xuxue Feng
1022Faith M GauchoGermany2026-09-09Truhlar And Truhlar Attys UNQUALIFIED5Ivan Magalhaes
1023Chavez B KolmetzFrance2026-08-26Printing Dimensions QUALIFIED86Bernardo Dominic
1024Kaitlin A FlosiJapan2026-09-22Benton, John B Jr PROPOSAL13Onyama Limba
1025Octavia F KuskoIndia2026-08-26Feltz Printing Service NEGOTIATION59Xuxue Feng
1026Smith O PaprockiFrance2026-08-27Rousseaux, Michael Esq PROPOSAL17Xuxue Feng
1027Emily Q MaletRussia2026-09-07King, Christopher A Esq RENEWAL74Onyama Limba
1028Murillo Q GillianJapan2026-09-08Feltz Printing Service UNQUALIFIED84Xuxue Feng
1029Munro O InouyeBrazil2026-09-10Feiner Bros RENEWAL72Stephen Shaw
1030Sinclair G SlusarskiCanada2026-09-21Chanay, Jeffrey A Esq NEW84Asiya Javayant
1031Munro G FigeroaCanada2026-08-31Buckley Miller Wright NEGOTIATION91Xuxue Feng
1032Emily H IturbideItaly2026-09-22Truhlar And Truhlar Attys NEW50Bernardo Dominic
1033Juan I GillianGermany2026-09-09Feiner Bros PROPOSAL75Onyama Limba
1034Ashley F BologniaIndia2026-09-13Rousseaux, Michael Esq QUALIFIED58Ioni Bowcher
1035Misaki N RimItaly2026-08-28Benton, John B Jr NEGOTIATION13Ioni Bowcher
1036Juan I GauchoJapan2026-09-22Morlong Associates RENEWAL80Bernardo Dominic
1037Stacey L CaldareraIndia2026-09-10Rangoni Of Florence RENEWAL4Onyama Limba
1038Wickens Z PaprockiSpain2026-09-07Rousseaux, Michael Esq NEGOTIATION21Bernardo Dominic
1039Ivar A CaudyBrazil2026-09-14Truhlar And Truhlar Attys PROPOSAL61Xuxue Feng
1040Maisha O InouyeRussia2026-08-29Feiner Bros PROPOSAL51Ioni Bowcher
1041Claire Z GlickFrance2026-09-20Dorl, James J Esq QUALIFIED62Elwin Sharvill
1042Claire T BowleyRussia2026-09-16Dorl, James J Esq RENEWAL14Bernardo Dominic
1043Greenwood K NestleAustralia2026-09-16Rangoni Of Florence QUALIFIED23Ioni Bowcher
1044Arvin B AmigonArgentina2026-08-29Feltz Printing Service PROPOSAL85Onyama Limba
1045Ivar E RutaAustralia2026-09-05Morlong Associates QUALIFIED96Xuxue Feng
1046Cody T StockhamSpain2026-08-26Rangoni Of Florence QUALIFIED23Asiya Javayant
1047Kadeem A SaylorsItaly2026-09-14Rousseaux, Michael Esq NEW41Asiya Javayant
1048Costa P VenereJapan2026-09-24Buckley Miller Wright UNQUALIFIED55Elwin Sharvill
1049Izzy G RulapaughBrazil2026-09-14Printing Dimensions NEGOTIATION61Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Faith C DoeCanadaOnyama Limba QUALIFIED
Sinclair G GillianFranceStephen Shaw NEGOTIATION
Aruna B CampainRussiaAnna Fali NEGOTIATION
Greenwood F CaudySpainStephen Shaw RENEWAL
Arvin J DilliardJapanIvan Magalhaes NEW
Emily P RulapaughSpainIoni Bowcher UNQUALIFIED
Murillo R BowleyRussiaOnyama Limba NEGOTIATION
Darci A DoeRussiaIvan Magalhaes NEW
Ivar Y VenereJapanAsiya Javayant NEW
Clifford D VocelkaItalyAmy Elsner QUALIFIED
Aika E BowleyAustraliaAnna Fali RENEWAL
Arvin Z FigeroaGermanyIvan Magalhaes NEGOTIATION
Smith T StockhamItalyStephen Shaw NEW
Faith E VocelkaBrazilOnyama Limba QUALIFIED
Jefferson R BologniaAustraliaStephen Shaw RENEWAL
Isabel Q MorascaGermanyStephen Shaw PROPOSAL
Leja L AlbaresUnited KingdomAnna Fali UNQUALIFIED
Leja J WieserJapanAsiya Javayant NEW
Aika F StockhamFranceXuxue Feng UNQUALIFIED
Izzy I MaletUnited KingdomIvan Magalhaes NEW
Jefferson C WhobreyUnited KingdomAsiya Javayant RENEWAL
Ashley P WieserCanadaStephen Shaw NEGOTIATION
Adams Q SlusarskiUnited KingdomBernardo Dominic NEGOTIATION
Alejandro K AmigonItalyBernardo Dominic RENEWAL
Ashley C DilliardArgentinaIvan Magalhaes PROPOSAL
Ivar A SaylorsItalyAmy Elsner UNQUALIFIED
Murillo I FlosiUnited KingdomStephen Shaw NEW
Aruna V WhobreyJapanIvan Magalhaes UNQUALIFIED
Kaitlin D RutaAustraliaIoni Bowcher UNQUALIFIED
Claire N CaudyUnited KingdomIoni Bowcher NEW
Misaki Y GauchoBrazilAsiya Javayant NEGOTIATION
Nicolas S CaudyItalyAnna Fali NEGOTIATION
James R FollerAustraliaXuxue Feng NEW
Greenwood Y WhobreyJapanOnyama Limba QUALIFIED
Leja S MaletCanadaAmy Elsner NEGOTIATION
Jefferson K SlusarskiItalyBernardo Dominic NEGOTIATION
Murillo Q MorascaUnited KingdomBernardo Dominic PROPOSAL
Jennifer C FerenczItalyAmy Elsner UNQUALIFIED
Alejandro X BologniaRussiaBernardo Dominic RENEWAL
Sinclair F ShinkoIndiaStephen Shaw QUALIFIED
Aditya D KolmetzSpainOnyama Limba QUALIFIED
Aditya F FerenczGermanyStephen Shaw NEGOTIATION
Antonio Z RoysterIndiaElwin Sharvill QUALIFIED
Ashley W KuskoRussiaOnyama Limba QUALIFIED
Jefferson Q DarakjyGermanyAsiya Javayant RENEWAL
Juan W GlickItalyAsiya Javayant UNQUALIFIED
Tony M RimCanadaAsiya Javayant NEGOTIATION
Claire Q FerenczAustraliaIvan Magalhaes RENEWAL
Johnson N FerenczRussiaIvan Magalhaes QUALIFIED
Kaitlin C MarrierIndiaAmy Elsner QUALIFIED
Frozen Columns
Name
Julie L Morasca
Costa P Stenseth
Kaitlin Q Rulapaugh
Alejandro C Slusarski
Isabel O Wieser
Stacey O Flosi
Octavia H Wieser
Ivar E Butt
Maria C Caudy
Maisha W Kusko
Chavez L Perin
Nicolas C Briddick
Kaitlin X Gillian
Cody M Shinko
Jeanfrancois N Bolognia
Jefferson E Perin
Salvatore B Briddick
Morrow A Doe
Julie B Paprocki
Isabel A Royster
Izzy K Slusarski
Kaitlin O Tollner
Aika Q Tollner
Rodrigues M Kolmetz
Juan W Caudy
Rodrigues G Whobrey
Kaitlin G Sergi
Faith F Bolognia
Darci C Perin
Alejandro U Briddick
Jeanfrancois S Nicka
Antonio H Stockham
Izzy V Poquette
Sinclair Q Poquette
Ricardo W Campain
Costa Q Saylors
Maisha X Vocelka
Maria J Flosi
Jefferson P Ostrosky
Juan J Bolognia
Jefferson E Gillian
Murillo T Shinko
Munro E Figeroa
Claire C Kolmetz
Kaitlin Z Caudy
Maria G Bowley
Clifford W Darakjy
Mujtaba N Whobrey
Sinclair Q Paprocki
Jeanfrancois S Sergi
IdCountryDate
1000Spain2026-08-31
1001Spain2026-09-12
1002Spain2026-09-20
1003Brazil2026-08-26
1004Spain2026-09-20
1005Germany2026-09-14
1006Italy2026-09-02
1007Canada2026-08-27
1008Australia2026-09-18
1009Canada2026-09-13
1010Italy2026-09-07
1011Brazil2026-09-18
1012Italy2026-09-24
1013Canada2026-09-08
1014Canada2026-09-21
1015Russia2026-09-24
1016Russia2026-09-11
1017Canada2026-09-19
1018United Kingdom2026-09-13
1019Russia2026-09-19
1020France2026-09-03
1021Canada2026-09-06
1022Russia2026-09-10
1023Canada2026-09-07
1024Spain2026-08-28
1025United Kingdom2026-09-17
1026Australia2026-09-06
1027Argentina2026-08-29
1028Argentina2026-09-12
1029Italy2026-09-10
1030Canada2026-09-12
1031Russia2026-08-27
1032Italy2026-09-01
1033Germany2026-08-31
1034United Kingdom2026-09-13
1035Japan2026-09-04
1036Brazil2026-09-01
1037Germany2026-09-12
1038Germany2026-09-01
1039India2026-09-14
1040Australia2026-09-15
1041India2026-09-19
1042Brazil2026-09-02
1043Australia2026-09-06
1044Italy2026-09-18
1045France2026-09-05
1046Germany2026-09-18
1047Japan2026-08-29
1048France2026-09-07
1049United Kingdom2026-09-03

On-Demand Data

NameIdCountryDate
Clifford N Poquette1000Australia2026-09-02
Emily B Malet1001Argentina2026-09-07
Francesco C Gillian1002Argentina2026-09-24
Mayumi N Doe1003Italy2026-09-16
Octavia Q Oldroyd1004India2026-09-22
Maisha Q Garufi1005Italy2026-09-08
Kadeem Z Garufi1006Italy2026-09-16
Antonio T Stenseth1007Japan2026-09-14
Antonio C Figeroa1008Brazil2026-09-12
Aika C Caudy1009France2026-09-06
Aruna I Bowley1010India2026-09-16
Izzy M Figeroa1011Canada2026-09-03
Silvio W Ruta1012Japan2026-08-30
Murillo M Garufi1013Argentina2026-08-29
Octavia S Maclead1014Spain2026-09-12
David F Dilliard1015Argentina2026-09-10
Adams V Doe1016India2026-09-11
Rodrigues A Inouye1017Spain2026-08-31
James N Nicka1018Spain2026-08-27
Rodrigues N Ruta1019Russia2026-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood C NestleJapanIvan Magalhaes PROPOSAL
Kadeem T SergiUnited KingdomXuxue Feng NEGOTIATION
Murillo M NestleGermanyXuxue Feng NEW
Jones F VenereArgentinaElwin Sharvill UNQUALIFIED
Costa K DarakjyJapanIoni Bowcher NEGOTIATION
Munro V FigeroaSpainXuxue Feng NEW
James L OldroydCanadaAmy Elsner NEW
Nicolas E FigeroaUnited KingdomBernardo Dominic PROPOSAL
Isabel H ShinkoArgentinaElwin Sharvill PROPOSAL
Maisha C ChuiRussiaOnyama Limba RENEWAL
David Y StockhamIndiaBernardo Dominic UNQUALIFIED
Juan N WaycottBrazilIoni Bowcher UNQUALIFIED
Sinclair B OldroydRussiaElwin Sharvill NEW
Izzy G StockhamItalyXuxue Feng RENEWAL
Misaki Y BriddickItalyBernardo Dominic UNQUALIFIED
Juan Z WaycottItalyIvan Magalhaes UNQUALIFIED
Isabel T MaletJapanAnna Fali NEW
Morrow E VocelkaJapanOnyama Limba PROPOSAL
Mujtaba C OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois X MaletItalyAnna Fali NEGOTIATION
Maisha S RulapaughArgentinaIoni Bowcher RENEWAL
Ashley J DarakjyRussiaAnna Fali QUALIFIED
Wickens Y FerenczArgentinaXuxue Feng RENEWAL
Johnson P ShinkoItalyElwin Sharvill UNQUALIFIED
Maria P WaycottFranceBernardo Dominic NEGOTIATION
Alejandro G CaldareraIndiaAsiya Javayant UNQUALIFIED
Juan Q AmigonAustraliaIvan Magalhaes UNQUALIFIED
Costa X StockhamCanadaXuxue Feng UNQUALIFIED
Adams D NestleGermanyAnna Fali NEW
Salvatore L ShinkoBrazilAmy Elsner NEGOTIATION
Costa Y CampainAustraliaIoni Bowcher NEW
Jones N NestleAustraliaStephen Shaw PROPOSAL
Johnson B RoysterArgentinaAmy Elsner PROPOSAL
Darci C WaycottUnited KingdomIoni Bowcher QUALIFIED
Leja Z GarufiGermanyElwin Sharvill UNQUALIFIED
Chavez T ButtJapanIvan Magalhaes QUALIFIED
Chavez W BowleyRussiaStephen Shaw QUALIFIED
Jennifer Y FlosiFranceAnna Fali PROPOSAL
Arvin Y MaletCanadaStephen Shaw NEGOTIATION
James I GauchoIndiaElwin Sharvill QUALIFIED

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