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
Maisha I CampainItalyIvan Magalhaes NEW
Claire C AlbaresAustraliaElwin Sharvill NEGOTIATION
David S ButtCanadaAmy Elsner RENEWAL
Izzy S FollerSpainXuxue Feng NEW
Tony F WhobreyRussiaOnyama Limba PROPOSAL
Misaki Z MarrierIndiaStephen Shaw UNQUALIFIED
Murillo S StockhamBrazilBernardo Dominic NEW
Leon U InouyeJapanIvan Magalhaes UNQUALIFIED
Darci O WaycottSpainStephen Shaw RENEWAL
Stacey Q MarrierItalyElwin Sharvill UNQUALIFIED
Nicolas G SlusarskiIndiaIvan Magalhaes RENEWAL
Clifford T NestleSpainAmy Elsner UNQUALIFIED
Leon X VenereAustraliaXuxue Feng NEGOTIATION
Cody T RimBrazilIvan Magalhaes RENEWAL
Leja L WieserBrazilBernardo Dominic RENEWAL
Mujtaba U CampainCanadaOnyama Limba UNQUALIFIED
Leon I FlosiFranceIoni Bowcher NEGOTIATION
Johnson B DarakjyUnited KingdomIvan Magalhaes RENEWAL
Isabel H DoeIndiaIoni Bowcher UNQUALIFIED
Alejandro O PerinBrazilElwin Sharvill NEW
Ashley F TollnerArgentinaBernardo Dominic QUALIFIED
Sinclair Q CaudyAustraliaStephen Shaw UNQUALIFIED
Wickens O GarufiGermanyAmy Elsner QUALIFIED
Juan R GillianIndiaIoni Bowcher PROPOSAL
Rodrigues B GillianAustraliaAsiya Javayant RENEWAL
Munro K MarrierIndiaStephen Shaw UNQUALIFIED
Rodrigues K WieserIndiaBernardo Dominic PROPOSAL
Maisha K CaudyJapanOnyama Limba NEGOTIATION
Juan O CampainIndiaOnyama Limba NEGOTIATION
Mayumi K KuskoSpainStephen Shaw UNQUALIFIED
Silvio X WaycottItalyStephen Shaw NEGOTIATION
Smith X AlbaresJapanAsiya Javayant PROPOSAL
Wickens H OstroskyArgentinaStephen Shaw NEW
Jeanfrancois C TollnerJapanAmy Elsner NEGOTIATION
Morrow P DoeGermanyXuxue Feng RENEWAL
Mujtaba X GarufiBrazilAmy Elsner QUALIFIED
Mayumi Z PoquetteGermanyBernardo Dominic QUALIFIED
Aika O CampainIndiaIvan Magalhaes RENEWAL
Kadeem P BologniaJapanXuxue Feng RENEWAL
James S GlickRussiaXuxue Feng QUALIFIED
Jefferson R ChuiBrazilStephen Shaw QUALIFIED
James D DoeFranceAsiya Javayant NEGOTIATION
Jeanfrancois A FollerGermanyStephen Shaw UNQUALIFIED
Wickens K InouyeCanadaXuxue Feng RENEWAL
Maria W GlickGermanyElwin Sharvill QUALIFIED
Maisha F AmigonCanadaStephen Shaw RENEWAL
Rodrigues Q AlbaresIndiaIvan Magalhaes UNQUALIFIED
Maisha O MaletJapanAsiya Javayant UNQUALIFIED
Francesco O GlickJapanXuxue Feng NEW
Jeanfrancois V MorascaArgentinaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas I FigeroaCanadaAmy Elsner NEW
Octavia A SaylorsRussiaXuxue Feng RENEWAL
Darci D GarufiCanadaIvan Magalhaes PROPOSAL
Kadeem U AmigonGermanyIvan Magalhaes NEGOTIATION
Octavia E GarufiJapanStephen Shaw RENEWAL
Tony U MorascaJapanOnyama Limba NEGOTIATION
Ashley A FlosiGermanyIvan Magalhaes UNQUALIFIED
Ricardo B CaldareraArgentinaAmy Elsner RENEWAL
Emily F SaylorsCanadaAnna Fali NEGOTIATION
Jefferson X CampainJapanIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba N AmigonUnited Kingdom2026-08-22Feltz Printing Service NEGOTIATION29Anna Fali
1001Arvin Q GauchoIndia2026-09-01Buckley Miller Wright NEW19Stephen Shaw
1002Jefferson N GauchoJapan2026-09-01Chapman, Ross E Esq UNQUALIFIED40Xuxue Feng
1003Maria K OstroskyIndia2026-08-22Morlong Associates QUALIFIED62Ivan Magalhaes
1004Munro C GarufiIndia2026-09-18Feiner Bros QUALIFIED69Amy Elsner
1005Francesco A OstroskyItaly2026-08-21Feltz Printing Service NEW40Anna Fali
1006Alejandro H RimAustralia2026-09-12Buckley Miller Wright RENEWAL69Ivan Magalhaes
1007Aditya S ChuiArgentina2026-08-29Rangoni Of Florence PROPOSAL66Anna Fali
1008Emily Q IturbideArgentina2026-09-05Rangoni Of Florence PROPOSAL12Ivan Magalhaes
1009Kadeem U VenereGermany2026-09-05Benton, John B Jr UNQUALIFIED74Ivan Magalhaes
1010Morrow Y MorascaArgentina2026-09-14King, Christopher A Esq QUALIFIED6Bernardo Dominic
1011Johnson X NickaAustralia2026-09-08Morlong Associates RENEWAL45Asiya Javayant
1012Juan I MacleadArgentina2026-09-10Truhlar And Truhlar Attys PROPOSAL21Asiya Javayant
1013Johnson Z CaudySpain2026-08-27Rangoni Of Florence UNQUALIFIED51Bernardo Dominic
1014Salvatore W NestleIndia2026-08-29Commercial Press UNQUALIFIED97Amy Elsner
1015Munro C TollnerArgentina2026-09-10King, Christopher A Esq RENEWAL64Amy Elsner
1016Julie P GarufiRussia2026-09-05Truhlar And Truhlar Attys UNQUALIFIED90Amy Elsner
1017Antonio K FollerFrance2026-08-26Chanay, Jeffrey A Esq PROPOSAL1Anna Fali
1018Aruna T WhobreyFrance2026-09-09Morlong Associates PROPOSAL17Ivan Magalhaes
1019Salvatore J StensethJapan2026-09-03Truhlar And Truhlar Attys NEGOTIATION85Elwin Sharvill
1020Antonio P SaylorsCanada2026-08-25Truhlar And Truhlar Attys QUALIFIED33Xuxue Feng
1021James X SlusarskiGermany2026-08-22Feltz Printing Service RENEWAL62Elwin Sharvill
1022Aruna E IturbideUnited Kingdom2026-08-29Chanay, Jeffrey A Esq NEW95Onyama Limba
1023Clifford U SergiGermany2026-08-26Chemel, James L Cpa RENEWAL78Xuxue Feng
1024Leon X SaylorsIndia2026-09-04Dorl, James J Esq NEW96Ioni Bowcher
1025Tony F FlosiJapan2026-08-27Dorl, James J Esq QUALIFIED5Ioni Bowcher
1026Rodrigues Y TollnerItaly2026-08-28Rangoni Of Florence NEW56Asiya Javayant
1027Clifford C WaycottRussia2026-09-01Printing Dimensions NEW74Amy Elsner
1028Morrow S StockhamAustralia2026-09-10Chanay, Jeffrey A Esq RENEWAL64Anna Fali
1029Maria J ChuiAustralia2026-09-16Rousseaux, Michael Esq NEW31Stephen Shaw
1030Adams N GauchoGermany2026-09-16Rousseaux, Michael Esq PROPOSAL46Ioni Bowcher
1031Mujtaba V SlusarskiFrance2026-08-24Chapman, Ross E Esq QUALIFIED5Ioni Bowcher
1032Clifford N GillianUnited Kingdom2026-09-16Feltz Printing Service RENEWAL18Onyama Limba
1033Isabel X IturbideItaly2026-09-01Feiner Bros NEW11Stephen Shaw
1034Julie W CaldareraJapan2026-09-17Commercial Press NEW21Ivan Magalhaes
1035Nicolas F NestleAustralia2026-08-24Chemel, James L Cpa NEGOTIATION65Asiya Javayant
1036Jefferson P MaletJapan2026-09-14Benton, John B Jr UNQUALIFIED20Onyama Limba
1037Morrow F BriddickBrazil2026-09-15Commercial Press NEW22Amy Elsner
1038Adams Z TollnerRussia2026-09-06Chapman, Ross E Esq NEW13Onyama Limba
1039Smith B OstroskyFrance2026-09-06Benton, John B Jr QUALIFIED9Onyama Limba
1040Silvio Y FollerRussia2026-09-03Commercial Press QUALIFIED94Ioni Bowcher
1041Jefferson B KuskoFrance2026-08-21Feltz Printing Service RENEWAL82Stephen Shaw
1042Julie L NickaIndia2026-08-31Dorl, James J Esq UNQUALIFIED67Asiya Javayant
1043Alejandro L InouyeUnited Kingdom2026-08-30Rangoni Of Florence NEGOTIATION23Onyama Limba
1044Maisha B ButtUnited Kingdom2026-09-06Commercial Press NEGOTIATION4Onyama Limba
1045Costa X ButtJapan2026-09-14Chapman, Ross E Esq NEW82Ivan Magalhaes
1046Claire W MacleadCanada2026-09-03Dorl, James J Esq NEGOTIATION81Stephen Shaw
1047Rodrigues R DoeArgentina2026-08-24Chanay, Jeffrey A Esq UNQUALIFIED21Ivan Magalhaes
1048Silvio U DilliardGermany2026-09-13Truhlar And Truhlar Attys PROPOSAL22Amy Elsner
1049Mujtaba L RutaSpain2026-09-19Feltz Printing Service NEGOTIATION96Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maria J GauchoJapanElwin Sharvill QUALIFIED
David R MarrierUnited KingdomOnyama Limba RENEWAL
Adams C StensethUnited KingdomBernardo Dominic NEW
Ivar I RimArgentinaBernardo Dominic PROPOSAL
Adams D MaletFranceElwin Sharvill NEGOTIATION
Ivar X OstroskyFranceAnna Fali RENEWAL
Morrow K DarakjyItalyElwin Sharvill RENEWAL
Ricardo B MacleadRussiaElwin Sharvill RENEWAL
Ashley O WaycottSpainIoni Bowcher RENEWAL
Julie M CaldareraAustraliaElwin Sharvill QUALIFIED
Leon Y OstroskyRussiaAnna Fali NEGOTIATION
Jefferson S MacleadBrazilOnyama Limba PROPOSAL
Francesco S TollnerItalyIvan Magalhaes NEW
Juan T NestleBrazilOnyama Limba UNQUALIFIED
Aika M NickaAustraliaBernardo Dominic NEW
Jones F BowleyFranceIoni Bowcher UNQUALIFIED
Morrow N SaylorsFranceBernardo Dominic NEGOTIATION
Maisha C KolmetzCanadaAmy Elsner QUALIFIED
Kaitlin A FollerUnited KingdomBernardo Dominic RENEWAL
Nicolas X RutaAustraliaAnna Fali UNQUALIFIED
Jones X WhobreyCanadaAsiya Javayant QUALIFIED
Wickens B AmigonFranceElwin Sharvill RENEWAL
Leon H AmigonRussiaIvan Magalhaes RENEWAL
Adams R OstroskyUnited KingdomAnna Fali NEGOTIATION
Deepesh Z BologniaGermanyOnyama Limba PROPOSAL
Octavia T DarakjyUnited KingdomBernardo Dominic PROPOSAL
Faith E PerinArgentinaOnyama Limba RENEWAL
Juan Y NickaAustraliaStephen Shaw UNQUALIFIED
Murillo Y OldroydUnited KingdomBernardo Dominic NEW
Darci U DoeAustraliaIoni Bowcher NEW
Jennifer Y MorascaItalyBernardo Dominic NEW
Julie D PaprockiSpainStephen Shaw UNQUALIFIED
Octavia X WieserAustraliaAnna Fali RENEWAL
Deepesh C AmigonJapanBernardo Dominic NEGOTIATION
Maria O OstroskyJapanStephen Shaw NEGOTIATION
Jones Z DarakjyAustraliaAmy Elsner NEW
Nicolas D MacleadCanadaIvan Magalhaes RENEWAL
Clifford W MarrierGermanyBernardo Dominic UNQUALIFIED
Darci Q CaldareraItalyAnna Fali RENEWAL
Murillo R MarrierItalyOnyama Limba QUALIFIED
Cody Y RulapaughBrazilAmy Elsner RENEWAL
Ricardo Z SergiBrazilAsiya Javayant NEGOTIATION
Claire A FerenczJapanStephen Shaw NEGOTIATION
Aditya O WaycottAustraliaAmy Elsner NEW
Nicolas V GauchoItalyXuxue Feng PROPOSAL
Silvio F BowleyBrazilElwin Sharvill UNQUALIFIED
Salvatore Q SergiRussiaIoni Bowcher RENEWAL
Murillo O WaycottCanadaAmy Elsner NEGOTIATION
Kaitlin B StensethRussiaElwin Sharvill QUALIFIED
David L NickaSpainAsiya Javayant PROPOSAL
Frozen Columns
Name
Chavez Y Morasca
Aika E Caudy
Tony U Gillian
Francesco U Maclead
Aika Z Doe
Cody A Gaucho
Misaki Q Schemmer
Aditya P Malet
Mayumi T Iturbide
Kaitlin A Malet
Greenwood I Ostrosky
Nicolas E Bowley
Salvatore D Caudy
Tony V Perin
Maisha J Venere
Emily N Shinko
Smith K Stenseth
Kaitlin O Inouye
Izzy G Paprocki
Maisha K Ostrosky
Emily A Gillian
Chavez C Stenseth
Antonio N Perin
Tony A Nicka
Faith R Garufi
Kadeem J Garufi
Clifford T Rulapaugh
Smith N Campain
Silvio G Slusarski
Faith G Wieser
Octavia J Gaucho
Izzy M Bolognia
Alejandro U Oldroyd
Izzy O Ruta
Sinclair J Doe
Juan V Ferencz
Francesco A Chui
Aika S Amigon
Greenwood P Nestle
Mujtaba M Schemmer
Francesco K Paprocki
David J Wieser
Cody X Marrier
Mujtaba S Darakjy
Chavez B Venere
David F Butt
Misaki P Rulapaugh
Sinclair Q Marrier
Octavia T Bolognia
Antonio C Saylors
IdCountryDate
1000France2026-08-27
1001Japan2026-08-30
1002Japan2026-08-23
1003Argentina2026-09-15
1004Russia2026-09-15
1005Germany2026-09-03
1006India2026-09-10
1007Brazil2026-09-02
1008Argentina2026-09-05
1009Russia2026-09-07
1010Russia2026-09-02
1011Russia2026-08-30
1012Argentina2026-09-11
1013Japan2026-08-27
1014Germany2026-09-18
1015Australia2026-08-21
1016Australia2026-09-19
1017Spain2026-08-28
1018Australia2026-09-15
1019United Kingdom2026-09-12
1020Japan2026-08-29
1021Argentina2026-09-12
1022United Kingdom2026-09-16
1023India2026-08-28
1024Italy2026-09-03
1025Australia2026-09-03
1026Japan2026-09-13
1027Japan2026-08-30
1028Russia2026-08-22
1029Germany2026-09-10
1030Italy2026-08-28
1031Germany2026-09-06
1032Canada2026-09-14
1033Argentina2026-08-28
1034Canada2026-08-28
1035Japan2026-09-13
1036Russia2026-08-23
1037Spain2026-09-09
1038Australia2026-09-05
1039Italy2026-08-24
1040Spain2026-09-17
1041United Kingdom2026-09-02
1042Brazil2026-08-26
1043Argentina2026-09-18
1044Brazil2026-09-02
1045Spain2026-09-14
1046United Kingdom2026-09-13
1047United Kingdom2026-08-26
1048Italy2026-09-13
1049India2026-09-17

On-Demand Data

NameIdCountryDate
Darci A Vocelka1000Australia2026-09-12
Ricardo O Oldroyd1001Japan2026-09-09
Ashley N Stenseth1002United Kingdom2026-08-23
Leja B Venere1003Italy2026-09-16
Maisha N Kolmetz1004Brazil2026-08-31
Stacey W Malet1005Argentina2026-09-16
Johnson A Glick1006France2026-09-07
Kadeem X Whobrey1007Australia2026-08-22
Jefferson K Stockham1008Canada2026-08-30
Faith J Gillian1009United Kingdom2026-08-31
Misaki R Paprocki1010France2026-08-29
Murillo O Sergi1011Australia2026-09-15
Octavia P Ruta1012India2026-09-17
Nicolas V Doe1013Canada2026-09-14
Juan I Garufi1014France2026-08-29
Octavia B Stockham1015India2026-09-07
Greenwood P Schemmer1016Russia2026-09-13
Nicolas C Caudy1017United Kingdom2026-09-07
Stacey O Dilliard1018Italy2026-09-10
Mayumi Z Malet1019France2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley A VocelkaCanadaIoni Bowcher PROPOSAL
Arvin J SaylorsAustraliaAnna Fali NEW
Francesco J GillianGermanyOnyama Limba NEW
Smith X SergiJapanIvan Magalhaes RENEWAL
Greenwood V MaletSpainIoni Bowcher NEGOTIATION
Claire M KuskoRussiaAnna Fali NEGOTIATION
Isabel N SaylorsBrazilAsiya Javayant NEW
Octavia G SchemmerSpainAnna Fali QUALIFIED
Tony Z ChuiRussiaBernardo Dominic PROPOSAL
Johnson P PoquetteJapanElwin Sharvill QUALIFIED
Ashley L BowleyItalyIoni Bowcher QUALIFIED
Murillo F GlickCanadaBernardo Dominic NEGOTIATION
Julie F MaletGermanyAnna Fali UNQUALIFIED
Kaitlin H StockhamJapanBernardo Dominic RENEWAL
Stacey Z KolmetzRussiaAmy Elsner PROPOSAL
Izzy G StockhamGermanyAsiya Javayant QUALIFIED
Chavez M OstroskyFranceAsiya Javayant QUALIFIED
Chavez U PoquetteBrazilIoni Bowcher RENEWAL
Leja B GillianRussiaAnna Fali UNQUALIFIED
Ivar N SaylorsJapanAnna Fali NEW
Leon B RimSpainXuxue Feng QUALIFIED
Smith B MaletItalyBernardo Dominic NEW
Adams M FerenczUnited KingdomOnyama Limba UNQUALIFIED
Smith J RimJapanBernardo Dominic PROPOSAL
Johnson S FlosiFranceIvan Magalhaes RENEWAL
Alejandro V DarakjyArgentinaAsiya Javayant UNQUALIFIED
David H KolmetzAustraliaAnna Fali PROPOSAL
Aditya U StensethCanadaIoni Bowcher NEW
Misaki X CaudyIndiaBernardo Dominic UNQUALIFIED
Tony K InouyeGermanyIvan Magalhaes NEGOTIATION
Munro U RulapaughIndiaOnyama Limba PROPOSAL
Tony P ShinkoBrazilAmy Elsner UNQUALIFIED
Mujtaba J DilliardSpainStephen Shaw NEGOTIATION
Arvin R VenereUnited KingdomAnna Fali RENEWAL
James K MorascaRussiaIoni Bowcher QUALIFIED
Octavia X DarakjyIndiaIvan Magalhaes NEGOTIATION
Sinclair B GauchoUnited KingdomIoni Bowcher NEW
Ivar O WaycottSpainElwin Sharvill QUALIFIED
Mujtaba R ChuiArgentinaBernardo Dominic NEW
Adams S BologniaBrazilStephen Shaw 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>