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
David Y RoysterGermanyIvan Magalhaes RENEWAL
Antonio X VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Stacey I BowleyRussiaXuxue Feng RENEWAL
Clifford J MaletAustraliaStephen Shaw NEW
Stacey W FigeroaFranceBernardo Dominic RENEWAL
Francesco P WaycottArgentinaBernardo Dominic PROPOSAL
Ashley H StockhamIndiaAsiya Javayant QUALIFIED
Claire Z DoeJapanOnyama Limba UNQUALIFIED
Alejandro G CaldareraSpainOnyama Limba RENEWAL
Julie S FlosiUnited KingdomXuxue Feng PROPOSAL
David U WieserCanadaAsiya Javayant QUALIFIED
Jones E MacleadUnited KingdomAmy Elsner QUALIFIED
Chavez I ChuiGermanyElwin Sharvill NEW
Jones X MacleadJapanIoni Bowcher RENEWAL
Darci U StensethItalyIvan Magalhaes UNQUALIFIED
Isabel A RimGermanyAsiya Javayant NEGOTIATION
Aditya B GlickCanadaAmy Elsner NEW
Claire I OstroskyCanadaAsiya Javayant NEGOTIATION
Izzy Z WaycottFranceElwin Sharvill QUALIFIED
Arvin T VenereUnited KingdomBernardo Dominic RENEWAL
Emily P VenereIndiaAnna Fali RENEWAL
Cody S KuskoAustraliaXuxue Feng RENEWAL
Jones A PerinArgentinaAnna Fali NEGOTIATION
Rodrigues Y MacleadIndiaAmy Elsner PROPOSAL
Claire L WhobreyGermanyAmy Elsner UNQUALIFIED
Nicolas L KuskoCanadaXuxue Feng RENEWAL
Johnson P CaldareraItalyAmy Elsner UNQUALIFIED
Adams C RutaItalyAnna Fali NEGOTIATION
James L BologniaItalyOnyama Limba UNQUALIFIED
Alejandro M ShinkoAustraliaAmy Elsner NEGOTIATION
Alejandro D PoquetteBrazilStephen Shaw PROPOSAL
Sinclair R BologniaUnited KingdomXuxue Feng PROPOSAL
Juan I BowleyItalyIoni Bowcher QUALIFIED
Deepesh O SergiRussiaAsiya Javayant UNQUALIFIED
Leja P DoeArgentinaBernardo Dominic QUALIFIED
Silvio C CampainSpainOnyama Limba PROPOSAL
Claire G FollerBrazilIvan Magalhaes RENEWAL
Smith H FollerCanadaBernardo Dominic QUALIFIED
Ricardo Z AlbaresBrazilElwin Sharvill NEW
Jeanfrancois E FollerFranceIoni Bowcher UNQUALIFIED
Mayumi A KuskoJapanXuxue Feng NEW
Emily X ChuiArgentinaAmy Elsner UNQUALIFIED
Nicolas Z StockhamRussiaStephen Shaw NEW
Octavia O CaldareraGermanyXuxue Feng NEW
Mujtaba H BologniaArgentinaOnyama Limba RENEWAL
Munro A DoeItalyIvan Magalhaes UNQUALIFIED
Aruna W GillianArgentinaAnna Fali QUALIFIED
Juan B MaletRussiaXuxue Feng QUALIFIED
Ivar I FerenczItalyIvan Magalhaes NEW
Costa F CaldareraGermanyElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams P RutaArgentinaAsiya Javayant NEW
Leon F WhobreyArgentinaAsiya Javayant NEW
Cody U WhobreyUnited KingdomXuxue Feng NEW
Ashley P SlusarskiSpainIoni Bowcher UNQUALIFIED
Aditya G FollerAustraliaAnna Fali UNQUALIFIED
Ivar I StensethFranceIvan Magalhaes NEGOTIATION
Greenwood V RoysterIndiaIvan Magalhaes NEW
Antonio B GarufiUnited KingdomAnna Fali QUALIFIED
Tony W BriddickGermanyIvan Magalhaes RENEWAL
Salvatore X MacleadFranceStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire T BologniaIndia2026-09-02Rangoni Of Florence NEGOTIATION18Bernardo Dominic
1001Ricardo H MorascaBrazil2026-09-04King, Christopher A Esq QUALIFIED71Bernardo Dominic
1002Salvatore G BologniaFrance2026-09-17Rousseaux, Michael Esq UNQUALIFIED82Ioni Bowcher
1003Morrow Q FigeroaCanada2026-09-07Rousseaux, Michael Esq RENEWAL26Amy Elsner
1004Jefferson D ChuiUnited Kingdom2026-09-04Feltz Printing Service UNQUALIFIED54Ivan Magalhaes
1005Arvin W CaudyJapan2026-09-21Printing Dimensions NEW88Ioni Bowcher
1006Julie Y GlickItaly2026-09-06Rousseaux, Michael Esq QUALIFIED94Ioni Bowcher
1007Maria P BowleyBrazil2026-09-12Morlong Associates RENEWAL28Onyama Limba
1008Stacey K NickaItaly2026-08-24Chanay, Jeffrey A Esq RENEWAL65Amy Elsner
1009Leon Z PaprockiArgentina2026-09-10Feltz Printing Service NEW41Bernardo Dominic
1010Aika X DoeGermany2026-08-25Morlong Associates NEGOTIATION43Stephen Shaw
1011Jefferson N VenereItaly2026-09-09Commercial Press NEW30Anna Fali
1012Cody M VenereBrazil2026-09-11Commercial Press PROPOSAL29Onyama Limba
1013Leja M DoeCanada2026-09-08Feltz Printing Service NEGOTIATION19Ivan Magalhaes
1014Alejandro P RimUnited Kingdom2026-09-13Rangoni Of Florence UNQUALIFIED16Stephen Shaw
1015Antonio P SlusarskiIndia2026-09-20Chemel, James L Cpa RENEWAL5Onyama Limba
1016Tony H SchemmerBrazil2026-08-25Buckley Miller Wright NEGOTIATION0Onyama Limba
1017Wickens J MaletUnited Kingdom2026-09-11Feltz Printing Service PROPOSAL94Onyama Limba
1018Jefferson I GauchoArgentina2026-08-29Printing Dimensions UNQUALIFIED2Onyama Limba
1019Arvin P NestleCanada2026-09-17Printing Dimensions UNQUALIFIED90Amy Elsner
1020Mujtaba C GlickUnited Kingdom2026-09-10Chemel, James L Cpa UNQUALIFIED93Stephen Shaw
1021Mayumi D RulapaughSpain2026-08-25Truhlar And Truhlar Attys PROPOSAL57Onyama Limba
1022Rodrigues L CampainIndia2026-08-28Feiner Bros QUALIFIED44Asiya Javayant
1023Chavez B PoquetteAustralia2026-09-13Rangoni Of Florence NEW11Asiya Javayant
1024Jefferson L BriddickArgentina2026-08-25Buckley Miller Wright PROPOSAL60Stephen Shaw
1025Silvio X WhobreyAustralia2026-08-25Chemel, James L Cpa RENEWAL92Anna Fali
1026Adams H FerenczJapan2026-09-04Feiner Bros RENEWAL58Amy Elsner
1027David P FigeroaJapan2026-09-09Benton, John B Jr RENEWAL33Asiya Javayant
1028Ivar O InouyeCanada2026-09-02Chapman, Ross E Esq NEW16Bernardo Dominic
1029Greenwood G WieserJapan2026-08-26Truhlar And Truhlar Attys NEGOTIATION94Ioni Bowcher
1030Costa E NestleIndia2026-09-18Chapman, Ross E Esq NEW32Elwin Sharvill
1031Mayumi D VenereBrazil2026-08-24Truhlar And Truhlar Attys QUALIFIED66Bernardo Dominic
1032Costa Q MorascaUnited Kingdom2026-08-26Printing Dimensions UNQUALIFIED68Anna Fali
1033Francesco R MorascaIndia2026-09-06Feltz Printing Service PROPOSAL9Anna Fali
1034Jeanfrancois D GarufiCanada2026-09-21Chemel, James L Cpa UNQUALIFIED63Amy Elsner
1035Ashley F NickaItaly2026-08-25Benton, John B Jr QUALIFIED62Ivan Magalhaes
1036Adams X RoysterRussia2026-09-07Morlong Associates RENEWAL47Elwin Sharvill
1037Sinclair K MarrierGermany2026-08-29Commercial Press NEGOTIATION51Xuxue Feng
1038Sinclair Z CampainSpain2026-09-11Benton, John B Jr RENEWAL89Bernardo Dominic
1039Munro S SchemmerItaly2026-08-24Truhlar And Truhlar Attys UNQUALIFIED97Onyama Limba
1040Kaitlin U InouyeBrazil2026-09-13Rangoni Of Florence QUALIFIED74Ioni Bowcher
1041Adams S MacleadBrazil2026-09-11Feltz Printing Service UNQUALIFIED5Ivan Magalhaes
1042Silvio S NickaBrazil2026-09-17Commercial Press PROPOSAL8Elwin Sharvill
1043Antonio C NickaRussia2026-09-20Rousseaux, Michael Esq UNQUALIFIED43Stephen Shaw
1044Ashley K CampainAustralia2026-09-07Benton, John B Jr PROPOSAL71Asiya Javayant
1045Tony Z BologniaSpain2026-09-07Chapman, Ross E Esq PROPOSAL18Onyama Limba
1046Alejandro B FollerSpain2026-09-04Rousseaux, Michael Esq NEW56Asiya Javayant
1047Adams R OstroskyCanada2026-08-25Truhlar And Truhlar Attys UNQUALIFIED3Anna Fali
1048Salvatore U MaletSpain2026-09-12Benton, John B Jr QUALIFIED47Anna Fali
1049Ricardo T RulapaughArgentina2026-09-03Feltz Printing Service NEW21Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
James C DoeBrazilAsiya Javayant RENEWAL
Cody I MaletItalyStephen Shaw UNQUALIFIED
Morrow D NestleUnited KingdomStephen Shaw NEW
Julie U RimAustraliaXuxue Feng NEGOTIATION
Aditya K DilliardFranceIoni Bowcher QUALIFIED
Mayumi O MaletItalyElwin Sharvill PROPOSAL
Murillo C SchemmerFranceXuxue Feng QUALIFIED
Mayumi P FigeroaBrazilOnyama Limba NEGOTIATION
Mujtaba O FollerAustraliaOnyama Limba NEGOTIATION
Ashley V WhobreyCanadaAnna Fali RENEWAL
Mujtaba E RutaAustraliaOnyama Limba RENEWAL
Aika V ButtRussiaIoni Bowcher QUALIFIED
Smith Y IturbideJapanAnna Fali UNQUALIFIED
Leja C OldroydCanadaXuxue Feng QUALIFIED
Johnson F BologniaGermanyXuxue Feng PROPOSAL
Stacey E WaycottCanadaOnyama Limba RENEWAL
Antonio B BriddickAustraliaIvan Magalhaes NEGOTIATION
Alejandro B BriddickAustraliaStephen Shaw QUALIFIED
David G VenereGermanyElwin Sharvill QUALIFIED
Francesco H MaletRussiaAmy Elsner UNQUALIFIED
Stacey U GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Octavia Z CaldareraIndiaIvan Magalhaes NEGOTIATION
Cody S AlbaresRussiaAsiya Javayant QUALIFIED
Greenwood A CampainJapanBernardo Dominic NEW
Greenwood O PaprockiGermanyAnna Fali QUALIFIED
Ivar S WaycottUnited KingdomElwin Sharvill NEW
Jones M TollnerUnited KingdomIvan Magalhaes RENEWAL
Munro F AlbaresIndiaIoni Bowcher QUALIFIED
Ivar T StensethRussiaXuxue Feng NEGOTIATION
Julie K BologniaSpainIoni Bowcher QUALIFIED
Chavez V BologniaBrazilAnna Fali PROPOSAL
Chavez J GarufiGermanyStephen Shaw NEGOTIATION
Morrow Y FollerAustraliaIoni Bowcher PROPOSAL
Nicolas J DarakjyIndiaXuxue Feng PROPOSAL
Maria H RutaBrazilElwin Sharvill QUALIFIED
Arvin A DilliardSpainIoni Bowcher RENEWAL
Misaki V WhobreyAustraliaIoni Bowcher NEGOTIATION
Costa F PaprockiBrazilAmy Elsner RENEWAL
Juan M MaletBrazilIoni Bowcher NEW
Arvin R CaudyRussiaOnyama Limba PROPOSAL
Tony Q KuskoBrazilElwin Sharvill NEGOTIATION
Stacey N WaycottFranceStephen Shaw NEW
Izzy D FigeroaFranceAsiya Javayant NEW
Jones C CaudyRussiaAmy Elsner PROPOSAL
Mujtaba D WaycottSpainIvan Magalhaes NEGOTIATION
Leja T PaprockiUnited KingdomAsiya Javayant NEW
Greenwood W PaprockiAustraliaAnna Fali UNQUALIFIED
Jeanfrancois T GauchoArgentinaAsiya Javayant UNQUALIFIED
Misaki B StockhamJapanBernardo Dominic RENEWAL
Cody V InouyeAustraliaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Kadeem E Shinko
Francesco W Foller
Murillo M Gaucho
Isabel G Darakjy
Greenwood O Paprocki
Jefferson Y Malet
Smith Q Inouye
Smith A Campain
Faith D Tollner
Stacey I Nestle
Kadeem P Darakjy
Morrow P Kusko
Ricardo H Schemmer
Jones P Albares
Sinclair U Shinko
Munro H Stenseth
Mujtaba F Kolmetz
Rodrigues Y Doe
Rodrigues N Kusko
Morrow B Inouye
Mujtaba B Maclead
Claire M Schemmer
Clifford B Whobrey
Ashley R Garufi
Maisha M Figeroa
Leja S Stockham
Alejandro Y Nestle
James D Campain
Darci K Poquette
Alejandro M Butt
Isabel N Royster
Salvatore X Shinko
Kaitlin V Kusko
Tony F Iturbide
Ashley P Schemmer
Greenwood F Slusarski
Jefferson A Figeroa
Arvin N Campain
Francesco T Nestle
Smith T Kolmetz
Kadeem I Sergi
Stacey U Saylors
Smith V Kusko
Darci R Poquette
Stacey W Paprocki
James I Flosi
Faith G Dilliard
David F Ferencz
Faith Z Butt
Chavez H Flosi
IdCountryDate
1000United Kingdom2026-08-28
1001Germany2026-08-24
1002United Kingdom2026-08-30
1003Germany2026-09-05
1004India2026-09-10
1005Spain2026-08-24
1006Germany2026-09-13
1007India2026-09-02
1008Canada2026-09-07
1009France2026-09-14
1010Japan2026-09-19
1011Italy2026-08-27
1012India2026-09-22
1013Brazil2026-08-25
1014United Kingdom2026-09-16
1015Canada2026-08-28
1016Canada2026-09-19
1017Germany2026-08-30
1018France2026-09-10
1019Russia2026-09-09
1020Japan2026-09-12
1021Japan2026-09-03
1022India2026-08-25
1023Germany2026-09-15
1024Japan2026-09-12
1025Canada2026-08-26
1026Spain2026-09-21
1027Argentina2026-09-10
1028Spain2026-09-01
1029Japan2026-09-18
1030Argentina2026-09-09
1031France2026-09-08
1032Spain2026-08-29
1033Spain2026-08-26
1034France2026-09-08
1035Italy2026-09-02
1036Brazil2026-09-08
1037Canada2026-08-29
1038Brazil2026-09-14
1039United Kingdom2026-09-22
1040Brazil2026-08-26
1041India2026-09-04
1042Russia2026-09-16
1043Australia2026-08-27
1044Germany2026-09-17
1045Italy2026-09-09
1046Argentina2026-08-31
1047Japan2026-09-15
1048Japan2026-09-07
1049Argentina2026-08-29

On-Demand Data

NameIdCountryDate
Antonio S Poquette1000Russia2026-08-28
Silvio C Oldroyd1001Brazil2026-09-09
Sinclair Z Garufi1002Brazil2026-09-22
Ricardo K Gillian1003Russia2026-08-30
Jefferson R Flosi1004India2026-09-13
David E Doe1005Spain2026-09-16
Aika Y Ruta1006Canada2026-09-09
Jeanfrancois R Nicka1007Argentina2026-09-14
Aika E Caldarera1008Canada2026-08-28
Johnson H Stockham1009India2026-09-11
Smith X Bowley1010Germany2026-09-21
Jones P Kusko1011Italy2026-09-06
Sinclair C Caldarera1012Argentina2026-08-27
Ivar Z Amigon1013Canada2026-09-19
Aika E Schemmer1014Germany2026-09-17
Sinclair W Bowley1015France2026-09-21
Aditya R Waycott1016India2026-08-31
Mujtaba Q Shinko1017Spain2026-08-25
Emily T Stenseth1018Germany2026-08-25
Emily K Albares1019Spain2026-08-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro U CaldareraIndiaAmy Elsner UNQUALIFIED
Ricardo L OldroydGermanyXuxue Feng NEW
James A PaprockiGermanyIvan Magalhaes QUALIFIED
Antonio P FlosiBrazilOnyama Limba NEW
Ashley G MacleadFranceAmy Elsner PROPOSAL
Isabel M FerenczJapanBernardo Dominic QUALIFIED
Ashley T DilliardAustraliaXuxue Feng PROPOSAL
Stacey G FollerArgentinaIoni Bowcher QUALIFIED
Chavez U PoquetteItalyIvan Magalhaes QUALIFIED
Aika J PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois R SaylorsCanadaOnyama Limba UNQUALIFIED
Antonio T GauchoJapanXuxue Feng QUALIFIED
Mujtaba P ButtCanadaStephen Shaw RENEWAL
Costa M InouyeArgentinaAnna Fali NEW
Silvio M KolmetzItalyIoni Bowcher QUALIFIED
Mayumi U StockhamUnited KingdomAmy Elsner NEGOTIATION
Rodrigues A FigeroaGermanyAmy Elsner RENEWAL
Francesco I SaylorsFranceBernardo Dominic RENEWAL
Ivar W MacleadRussiaStephen Shaw RENEWAL
Wickens V AmigonBrazilStephen Shaw RENEWAL
Munro L GarufiIndiaIoni Bowcher NEW
Jeanfrancois L RoysterGermanyOnyama Limba RENEWAL
Misaki M MaletSpainOnyama Limba RENEWAL
Aruna Q CampainItalyIoni Bowcher RENEWAL
Isabel N StockhamJapanOnyama Limba NEW
Octavia C RoysterFranceIoni Bowcher QUALIFIED
Kaitlin M CaudyCanadaBernardo Dominic PROPOSAL
Jennifer X VocelkaRussiaIvan Magalhaes QUALIFIED
Jones L NestleItalyElwin Sharvill NEGOTIATION
Mujtaba Q MacleadBrazilIvan Magalhaes PROPOSAL
Ivar N CaudyIndiaXuxue Feng PROPOSAL
Mayumi S ShinkoCanadaAsiya Javayant RENEWAL
Nicolas L RimJapanBernardo Dominic PROPOSAL
Tony S AlbaresCanadaAmy Elsner RENEWAL
Deepesh M SaylorsSpainAnna Fali UNQUALIFIED
Wickens Z PoquetteItalyIvan Magalhaes RENEWAL
Adams R SlusarskiIndiaAsiya Javayant NEGOTIATION
Alejandro X RimIndiaOnyama Limba QUALIFIED
Leon Q SergiSpainStephen Shaw NEGOTIATION
Ivar T DoeUnited KingdomIoni Bowcher NEGOTIATION

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