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
Aruna P FollerItalyIoni Bowcher RENEWAL
Francesco K RoysterIndiaAsiya Javayant NEGOTIATION
Wickens U BowleyFranceStephen Shaw NEW
Wickens J SlusarskiRussiaElwin Sharvill PROPOSAL
Silvio Z MacleadJapanBernardo Dominic RENEWAL
Jefferson B CampainUnited KingdomXuxue Feng NEW
Antonio F NickaFranceAmy Elsner RENEWAL
Ricardo I WhobreyBrazilStephen Shaw NEGOTIATION
Mujtaba W BriddickArgentinaOnyama Limba UNQUALIFIED
Silvio V CaudyArgentinaXuxue Feng QUALIFIED
Jefferson J NestleFranceXuxue Feng NEGOTIATION
Costa B IturbideIndiaBernardo Dominic PROPOSAL
Faith B CaldareraGermanyXuxue Feng QUALIFIED
Aruna O CaldareraIndiaStephen Shaw NEW
Octavia H AlbaresJapanIoni Bowcher PROPOSAL
Juan X PoquetteIndiaBernardo Dominic NEGOTIATION
Kadeem G FlosiSpainAsiya Javayant RENEWAL
Leon Y ButtFranceAmy Elsner UNQUALIFIED
Darci X VocelkaItalyAsiya Javayant RENEWAL
Jones Q CaldareraUnited KingdomIoni Bowcher NEW
Wickens C MacleadGermanyIoni Bowcher NEW
Jeanfrancois Y WhobreyBrazilIvan Magalhaes QUALIFIED
Costa W NestleIndiaElwin Sharvill RENEWAL
Misaki N DoeItalyOnyama Limba UNQUALIFIED
Maria V FollerBrazilAsiya Javayant RENEWAL
Leja J CampainItalyXuxue Feng QUALIFIED
Greenwood O WhobreyItalyBernardo Dominic NEGOTIATION
Costa F DilliardIndiaXuxue Feng UNQUALIFIED
Ricardo N MaletGermanyAnna Fali QUALIFIED
Salvatore V MarrierRussiaElwin Sharvill RENEWAL
Francesco I RimIndiaAmy Elsner NEGOTIATION
Maisha X SaylorsFranceIvan Magalhaes QUALIFIED
Chavez N DarakjySpainAsiya Javayant NEW
Aruna Y WaycottAustraliaIvan Magalhaes QUALIFIED
Maria C OstroskyIndiaAsiya Javayant QUALIFIED
Aika N StockhamIndiaXuxue Feng UNQUALIFIED
Aditya S TollnerAustraliaElwin Sharvill UNQUALIFIED
Greenwood R MaletIndiaXuxue Feng NEGOTIATION
Leon T NestleItalyStephen Shaw UNQUALIFIED
Francesco E FigeroaIndiaIvan Magalhaes PROPOSAL
Cody I OldroydBrazilAmy Elsner PROPOSAL
Mujtaba Q AlbaresFranceOnyama Limba PROPOSAL
Kaitlin O KuskoCanadaAnna Fali RENEWAL
Emily S OldroydRussiaAsiya Javayant NEGOTIATION
Izzy K DarakjyJapanAmy Elsner RENEWAL
Aruna L RutaBrazilIvan Magalhaes UNQUALIFIED
Jefferson Z MacleadRussiaOnyama Limba NEW
Arvin A GarufiJapanOnyama Limba NEGOTIATION
Kaitlin Y CampainIndiaAmy Elsner RENEWAL
Ashley V DarakjyAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh M WhobreyGermanyAsiya Javayant NEGOTIATION
Sinclair K ChuiSpainXuxue Feng NEW
Nicolas R MaletCanadaAmy Elsner RENEWAL
Deepesh W WhobreySpainOnyama Limba PROPOSAL
Jennifer Y FerenczSpainAsiya Javayant NEW
Darci C FigeroaFranceElwin Sharvill NEW
Ashley C MaletUnited KingdomAnna Fali NEW
Aika B PerinCanadaXuxue Feng UNQUALIFIED
Adams L GarufiFranceElwin Sharvill QUALIFIED
David T OstroskyArgentinaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika T VenereArgentina2026-09-14Dorl, James J Esq NEW28Onyama Limba
1001James B MorascaRussia2026-08-26Dorl, James J Esq RENEWAL19Stephen Shaw
1002Tony J CampainBrazil2026-09-14Printing Dimensions NEW69Amy Elsner
1003Wickens G RimSpain2026-09-03Chanay, Jeffrey A Esq QUALIFIED83Onyama Limba
1004Misaki E FlosiItaly2026-09-18Chapman, Ross E Esq RENEWAL63Bernardo Dominic
1005Emily L CaldareraRussia2026-09-15King, Christopher A Esq NEW56Stephen Shaw
1006Alejandro S StockhamRussia2026-09-16Chapman, Ross E Esq UNQUALIFIED44Ioni Bowcher
1007Munro U KuskoSpain2026-08-28Feiner Bros UNQUALIFIED93Bernardo Dominic
1008Smith U MaletJapan2026-09-05Buckley Miller Wright QUALIFIED89Amy Elsner
1009David Q MarrierIndia2026-08-30Dorl, James J Esq NEW20Amy Elsner
1010Misaki O SlusarskiGermany2026-09-10Truhlar And Truhlar Attys UNQUALIFIED19Xuxue Feng
1011Isabel L VocelkaIndia2026-09-20Feiner Bros NEGOTIATION7Amy Elsner
1012Izzy R MarrierIndia2026-08-28Chanay, Jeffrey A Esq RENEWAL34Asiya Javayant
1013Costa O FerenczAustralia2026-09-07Chemel, James L Cpa PROPOSAL60Asiya Javayant
1014Ashley U BriddickFrance2026-08-28Benton, John B Jr NEW29Asiya Javayant
1015Ricardo R PerinArgentina2026-09-15Chapman, Ross E Esq UNQUALIFIED16Xuxue Feng
1016Francesco B SaylorsUnited Kingdom2026-09-11Buckley Miller Wright NEW66Amy Elsner
1017Darci N DoeSpain2026-09-19Morlong Associates NEGOTIATION24Amy Elsner
1018Jones Q TollnerGermany2026-08-28Chemel, James L Cpa RENEWAL96Bernardo Dominic
1019Silvio I FigeroaUnited Kingdom2026-09-14Truhlar And Truhlar Attys PROPOSAL85Onyama Limba
1020Kadeem E NestleUnited Kingdom2026-09-06Printing Dimensions NEW49Onyama Limba
1021Nicolas H InouyeRussia2026-09-19Printing Dimensions QUALIFIED33Ivan Magalhaes
1022Isabel P DarakjyCanada2026-09-18Morlong Associates NEGOTIATION94Ioni Bowcher
1023Adams Q RimItaly2026-09-10Benton, John B Jr NEW34Amy Elsner
1024Julie H CaudyCanada2026-09-22King, Christopher A Esq NEGOTIATION68Anna Fali
1025Arvin X RutaUnited Kingdom2026-09-18Printing Dimensions QUALIFIED32Amy Elsner
1026Wickens H DarakjyCanada2026-09-22Chemel, James L Cpa QUALIFIED31Xuxue Feng
1027Jeanfrancois W MaletJapan2026-09-08Buckley Miller Wright QUALIFIED20Bernardo Dominic
1028Leon J OstroskyGermany2026-09-08Truhlar And Truhlar Attys PROPOSAL68Ioni Bowcher
1029Kaitlin F MarrierAustralia2026-09-20Rousseaux, Michael Esq RENEWAL51Amy Elsner
1030Aika Y BowleyRussia2026-09-22Buckley Miller Wright QUALIFIED36Ivan Magalhaes
1031James N PerinFrance2026-09-12Chapman, Ross E Esq UNQUALIFIED71Ivan Magalhaes
1032Wickens R MacleadRussia2026-08-31Chanay, Jeffrey A Esq NEGOTIATION16Xuxue Feng
1033Jones Y BriddickUnited Kingdom2026-09-03Feiner Bros UNQUALIFIED68Anna Fali
1034Stacey G ButtGermany2026-09-20Chanay, Jeffrey A Esq UNQUALIFIED98Amy Elsner
1035Aruna I AmigonAustralia2026-09-11Chapman, Ross E Esq UNQUALIFIED4Amy Elsner
1036Chavez D GarufiGermany2026-09-01Feltz Printing Service PROPOSAL87Amy Elsner
1037Alejandro Y SchemmerJapan2026-09-23Morlong Associates RENEWAL49Ivan Magalhaes
1038Smith P FlosiBrazil2026-09-23Feltz Printing Service UNQUALIFIED47Amy Elsner
1039Maisha P RutaAustralia2026-09-08Printing Dimensions NEGOTIATION6Onyama Limba
1040Kadeem E RimGermany2026-09-17Chapman, Ross E Esq PROPOSAL38Ivan Magalhaes
1041Murillo B TollnerBrazil2026-09-03Chapman, Ross E Esq PROPOSAL44Asiya Javayant
1042Sinclair O VocelkaSpain2026-08-30Commercial Press QUALIFIED68Ioni Bowcher
1043Mayumi L SaylorsItaly2026-09-20Printing Dimensions UNQUALIFIED8Anna Fali
1044David C RimSpain2026-09-11Commercial Press NEGOTIATION34Ivan Magalhaes
1045Morrow N NickaItaly2026-09-19Buckley Miller Wright UNQUALIFIED33Ioni Bowcher
1046Nicolas M KuskoAustralia2026-09-06King, Christopher A Esq NEW51Asiya Javayant
1047Sinclair B MarrierAustralia2026-08-30Buckley Miller Wright NEGOTIATION79Stephen Shaw
1048Jeanfrancois L OldroydRussia2026-09-13Chanay, Jeffrey A Esq UNQUALIFIED63Onyama Limba
1049Deepesh F VocelkaRussia2026-09-23Buckley Miller Wright RENEWAL72Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aruna C WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Nicolas X MaletIndiaIvan Magalhaes NEGOTIATION
Cody N SlusarskiSpainOnyama Limba PROPOSAL
Izzy X OldroydFranceAnna Fali NEW
Murillo T MacleadArgentinaAnna Fali NEW
Tony E CaudyUnited KingdomStephen Shaw PROPOSAL
James X RimJapanAmy Elsner RENEWAL
Aruna B VocelkaArgentinaElwin Sharvill UNQUALIFIED
Aruna R GauchoFranceElwin Sharvill UNQUALIFIED
Aditya K PoquetteGermanyBernardo Dominic UNQUALIFIED
Salvatore C FerenczUnited KingdomIoni Bowcher NEW
Tony R BowleyFranceXuxue Feng PROPOSAL
Rodrigues L GauchoAustraliaStephen Shaw RENEWAL
Octavia J OstroskySpainAsiya Javayant NEW
Mayumi S FlosiRussiaIvan Magalhaes QUALIFIED
Stacey C IturbideGermanyAnna Fali NEW
Smith G MorascaArgentinaIoni Bowcher NEW
Ashley K NickaFranceStephen Shaw PROPOSAL
Misaki L MaletRussiaAnna Fali RENEWAL
Stacey I CaldareraAustraliaStephen Shaw NEW
Misaki F PerinArgentinaElwin Sharvill PROPOSAL
Octavia D DarakjyRussiaIoni Bowcher RENEWAL
Mayumi F TollnerCanadaIoni Bowcher NEW
Salvatore H ChuiRussiaIoni Bowcher NEW
Sinclair Q FollerFranceXuxue Feng PROPOSAL
David O ShinkoItalyAmy Elsner QUALIFIED
Leon K MaletItalyElwin Sharvill NEW
Faith F ShinkoItalyOnyama Limba RENEWAL
Aditya X SchemmerUnited KingdomIvan Magalhaes NEW
Morrow F MacleadSpainBernardo Dominic RENEWAL
Maria C FlosiJapanElwin Sharvill NEGOTIATION
Clifford S StockhamArgentinaIoni Bowcher PROPOSAL
Sinclair E ButtFranceStephen Shaw NEGOTIATION
Alejandro C PoquetteAustraliaStephen Shaw RENEWAL
Smith Z DilliardAustraliaIvan Magalhaes NEGOTIATION
Izzy R WaycottBrazilElwin Sharvill QUALIFIED
Isabel K NestleIndiaAnna Fali RENEWAL
Jones P TollnerArgentinaIvan Magalhaes UNQUALIFIED
Tony K DoeIndiaBernardo Dominic UNQUALIFIED
Ashley B RoysterUnited KingdomAmy Elsner NEW
Claire H KolmetzBrazilXuxue Feng PROPOSAL
Maisha K GarufiAustraliaElwin Sharvill UNQUALIFIED
James E FollerGermanyBernardo Dominic QUALIFIED
Nicolas U AmigonAustraliaBernardo Dominic PROPOSAL
Clifford G PerinRussiaBernardo Dominic RENEWAL
Sinclair A SchemmerCanadaBernardo Dominic UNQUALIFIED
Francesco G WaycottFranceOnyama Limba UNQUALIFIED
Antonio B BologniaGermanyStephen Shaw QUALIFIED
Jefferson H GauchoUnited KingdomIoni Bowcher QUALIFIED
Johnson L SaylorsFranceAnna Fali RENEWAL
Frozen Columns
Name
Misaki L Oldroyd
Adams L Ruta
Aika I Figeroa
Julie Z Campain
Julie P Doe
Silvio X Gaucho
Chavez W Venere
Arvin B Amigon
Misaki K Stockham
Octavia B Gaucho
Deepesh X Iturbide
Aika D Gillian
Smith Z Stockham
Maisha J Amigon
Misaki I Foller
Adams F Oldroyd
Juan C Bolognia
Mayumi G Albares
Deepesh T Waycott
Munro Y Perin
Chavez W Morasca
Jones V Rulapaugh
Claire T Amigon
Leon W Morasca
Chavez S Slusarski
Rodrigues S Royster
Juan X Shinko
Silvio L Dilliard
Aika O Kusko
Deepesh C Garufi
Izzy T Gillian
Stacey F Caudy
Jeanfrancois V Caldarera
Deepesh T Stockham
Nicolas A Caudy
Jeanfrancois H Dilliard
Jennifer F Oldroyd
Munro O Rulapaugh
Octavia I Vocelka
Munro L Nestle
Juan Y Chui
Jones W Butt
Aika U Royster
Ivar B Nicka
Deepesh E Shinko
Aruna P Rulapaugh
Clifford K Foller
Ivar S Vocelka
Alejandro J Malet
Ivar L Caudy
IdCountryDate
1000Italy2026-09-11
1001Japan2026-08-31
1002Argentina2026-09-06
1003United Kingdom2026-09-10
1004Italy2026-09-12
1005France2026-09-14
1006Brazil2026-09-02
1007Argentina2026-09-21
1008Germany2026-09-16
1009Argentina2026-09-04
1010Canada2026-09-07
1011Brazil2026-08-28
1012Argentina2026-09-16
1013Australia2026-09-02
1014France2026-09-02
1015Australia2026-09-15
1016Argentina2026-09-12
1017France2026-09-11
1018Italy2026-08-28
1019India2026-08-29
1020Russia2026-08-31
1021Argentina2026-08-29
1022Spain2026-08-29
1023United Kingdom2026-09-09
1024United Kingdom2026-09-23
1025Spain2026-09-13
1026Brazil2026-09-18
1027Russia2026-09-16
1028Germany2026-08-31
1029Spain2026-09-24
1030Japan2026-09-20
1031United Kingdom2026-09-23
1032Canada2026-09-10
1033United Kingdom2026-09-19
1034Australia2026-09-12
1035Italy2026-09-01
1036France2026-09-05
1037Brazil2026-08-26
1038France2026-09-07
1039United Kingdom2026-09-05
1040Russia2026-09-07
1041Italy2026-09-10
1042Italy2026-09-13
1043Germany2026-08-31
1044India2026-09-20
1045Spain2026-09-09
1046Russia2026-09-03
1047Spain2026-09-20
1048Italy2026-09-10
1049Brazil2026-08-30

On-Demand Data

NameIdCountryDate
Mujtaba L Amigon1000Italy2026-09-24
Greenwood I Stockham1001Germany2026-08-31
Isabel R Gaucho1002United Kingdom2026-09-17
Nicolas S Caldarera1003Italy2026-08-30
Aruna A Kolmetz1004Japan2026-09-14
Ricardo J Dilliard1005Russia2026-09-11
Johnson O Poquette1006Brazil2026-09-23
Antonio T Slusarski1007Italy2026-08-27
Deepesh Q Chui1008Russia2026-09-18
Clifford T Campain1009Argentina2026-08-30
Francesco T Caldarera1010Germany2026-09-17
Izzy G Doe1011Germany2026-08-26
Smith U Gillian1012United Kingdom2026-09-03
Mujtaba I Kolmetz1013Italy2026-09-11
Maria T Caldarera1014Germany2026-09-13
Smith I Marrier1015Germany2026-08-29
Munro V Perin1016Canada2026-08-31
Kadeem Q Malet1017India2026-09-24
Stacey U Rim1018France2026-09-09
Leja T Sergi1019Japan2026-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki U MaletFranceAmy Elsner RENEWAL
Izzy T FollerCanadaElwin Sharvill NEGOTIATION
Claire U MacleadBrazilIoni Bowcher QUALIFIED
Ashley O OldroydArgentinaXuxue Feng PROPOSAL
Stacey E MaletItalyElwin Sharvill NEW
Julie L NestleCanadaStephen Shaw PROPOSAL
Wickens Z BowleyIndiaOnyama Limba RENEWAL
Jeanfrancois A GillianAustraliaElwin Sharvill NEW
Emily E WaycottIndiaAsiya Javayant NEW
Arvin U FigeroaFranceElwin Sharvill NEW
David O OstroskyGermanyBernardo Dominic NEW
Johnson K SergiUnited KingdomIoni Bowcher NEW
Costa J SchemmerArgentinaBernardo Dominic UNQUALIFIED
Claire D SaylorsIndiaIvan Magalhaes NEW
Greenwood D CaudyJapanBernardo Dominic RENEWAL
Leja C FerenczGermanyIvan Magalhaes PROPOSAL
Juan K SchemmerGermanyStephen Shaw NEGOTIATION
Leon N StensethUnited KingdomIvan Magalhaes NEGOTIATION
Kaitlin J CampainFranceOnyama Limba QUALIFIED
Ivar U MacleadRussiaAmy Elsner RENEWAL
Munro M KuskoCanadaXuxue Feng UNQUALIFIED
Tony M DarakjyFranceElwin Sharvill PROPOSAL
Munro R BologniaCanadaIvan Magalhaes PROPOSAL
Deepesh K MorascaJapanAsiya Javayant QUALIFIED
Silvio L RulapaughJapanOnyama Limba NEGOTIATION
Kadeem E FerenczBrazilStephen Shaw RENEWAL
Wickens R MaletAustraliaIoni Bowcher QUALIFIED
Ivar M GauchoAustraliaXuxue Feng PROPOSAL
Jefferson I GarufiArgentinaIvan Magalhaes PROPOSAL
Munro G PerinIndiaAnna Fali RENEWAL
Alejandro W FlosiItalyStephen Shaw UNQUALIFIED
Adams W FerenczSpainAsiya Javayant RENEWAL
Claire X CaldareraGermanyOnyama Limba UNQUALIFIED
Kadeem U SlusarskiIndiaAnna Fali PROPOSAL
Nicolas D IturbideCanadaStephen Shaw NEGOTIATION
Aditya F PoquetteFranceIvan Magalhaes RENEWAL
Munro V KuskoSpainAnna Fali QUALIFIED
Clifford F CaudyIndiaElwin Sharvill RENEWAL
Ashley B MacleadGermanyXuxue Feng UNQUALIFIED
Greenwood A MarrierArgentinaBernardo Dominic 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>