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 F BriddickGermanyXuxue Feng RENEWAL
Francesco X RutaFranceAsiya Javayant NEW
Costa N MorascaSpainIvan Magalhaes UNQUALIFIED
James V WaycottFranceBernardo Dominic QUALIFIED
Stacey N MacleadBrazilXuxue Feng UNQUALIFIED
Ashley E StockhamBrazilAsiya Javayant QUALIFIED
Francesco C BriddickFranceAnna Fali RENEWAL
Aruna X OldroydGermanyXuxue Feng NEW
Cody Q PaprockiBrazilIvan Magalhaes NEW
Octavia M DoeIndiaElwin Sharvill QUALIFIED
Leja N MaletAustraliaAmy Elsner RENEWAL
Ivar A WaycottFranceBernardo Dominic PROPOSAL
Ivar W FlosiSpainBernardo Dominic NEGOTIATION
Deepesh Q ChuiCanadaAnna Fali NEGOTIATION
Salvatore R PerinRussiaXuxue Feng RENEWAL
Maisha Z MorascaIndiaIoni Bowcher UNQUALIFIED
Sinclair J StensethIndiaBernardo Dominic RENEWAL
Johnson U PerinIndiaOnyama Limba NEW
Juan R BriddickJapanStephen Shaw PROPOSAL
Maisha S TollnerSpainAsiya Javayant UNQUALIFIED
Aruna J BowleySpainAsiya Javayant RENEWAL
Sinclair G PerinFranceStephen Shaw NEGOTIATION
Rodrigues E CaudyFranceOnyama Limba UNQUALIFIED
Ashley L MaletGermanyElwin Sharvill UNQUALIFIED
Murillo V ButtIndiaElwin Sharvill NEGOTIATION
Clifford H FlosiFranceIoni Bowcher RENEWAL
Leon C GlickBrazilAmy Elsner PROPOSAL
Tony U FollerRussiaAnna Fali RENEWAL
Munro T FigeroaIndiaAsiya Javayant QUALIFIED
Francesco J CaldareraGermanyIvan Magalhaes NEGOTIATION
Claire M VenereAustraliaStephen Shaw UNQUALIFIED
Jefferson D BriddickUnited KingdomIoni Bowcher NEW
Leon T GlickIndiaXuxue Feng PROPOSAL
Ivar W RimCanadaIoni Bowcher NEGOTIATION
Julie T VenereSpainAmy Elsner NEGOTIATION
Sinclair L SergiUnited KingdomIoni Bowcher QUALIFIED
Darci Y BriddickSpainAmy Elsner RENEWAL
Wickens L ShinkoSpainAsiya Javayant RENEWAL
David L StockhamJapanXuxue Feng UNQUALIFIED
Aditya P GarufiJapanIvan Magalhaes RENEWAL
Nicolas T VocelkaJapanAmy Elsner QUALIFIED
Stacey G KolmetzGermanyBernardo Dominic PROPOSAL
Juan F PoquetteIndiaXuxue Feng PROPOSAL
Alejandro Z IturbideSpainAsiya Javayant UNQUALIFIED
Kaitlin V DilliardFranceIoni Bowcher UNQUALIFIED
Smith W PerinFranceAnna Fali UNQUALIFIED
Faith D NickaBrazilXuxue Feng NEW
Antonio O KuskoUnited KingdomAmy Elsner PROPOSAL
Alejandro G RoysterRussiaElwin Sharvill NEGOTIATION
Silvio D VocelkaIndiaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Darci B DarakjyBrazilXuxue Feng UNQUALIFIED
Cody O CampainIndiaAnna Fali RENEWAL
Darci J WhobreySpainAnna Fali QUALIFIED
Arvin B BowleySpainXuxue Feng NEGOTIATION
Ashley B RoysterBrazilAsiya Javayant NEW
Deepesh F KuskoFranceIoni Bowcher QUALIFIED
Murillo Z AmigonAustraliaAnna Fali QUALIFIED
Leja B FigeroaJapanAmy Elsner QUALIFIED
Ashley C RoysterBrazilBernardo Dominic PROPOSAL
Murillo Q NestleItalyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya Q SlusarskiRussia2026-11-05Chanay, Jeffrey A Esq RENEWAL58Asiya Javayant
1001Murillo Z KuskoGermany2026-10-14Feiner Bros QUALIFIED81Ivan Magalhaes
1002Ivar K ChuiBrazil2026-10-11Dorl, James J Esq PROPOSAL66Bernardo Dominic
1003Deepesh F WaycottItaly2026-10-24Rousseaux, Michael Esq NEGOTIATION84Anna Fali
1004Johnson R PerinRussia2026-10-23Rangoni Of Florence NEW72Stephen Shaw
1005Sinclair V MacleadGermany2026-10-28Buckley Miller Wright QUALIFIED34Amy Elsner
1006Murillo J ChuiUnited Kingdom2026-10-30Commercial Press QUALIFIED47Xuxue Feng
1007Octavia E KolmetzRussia2026-10-23Chanay, Jeffrey A Esq RENEWAL70Stephen Shaw
1008Murillo T MaletRussia2026-11-05Truhlar And Truhlar Attys NEGOTIATION1Elwin Sharvill
1009Arvin X RulapaughIndia2026-11-03King, Christopher A Esq RENEWAL24Elwin Sharvill
1010Aditya Z StensethIndia2026-10-27Chanay, Jeffrey A Esq PROPOSAL91Asiya Javayant
1011Silvio B MorascaFrance2026-10-19Benton, John B Jr NEW47Anna Fali
1012Salvatore B KuskoFrance2026-10-31Rousseaux, Michael Esq PROPOSAL85Amy Elsner
1013Jefferson M WhobreySpain2026-10-13Chapman, Ross E Esq PROPOSAL85Amy Elsner
1014Juan Q KuskoJapan2026-10-18Buckley Miller Wright NEGOTIATION52Stephen Shaw
1015Kadeem Y MaletSpain2026-10-25Buckley Miller Wright UNQUALIFIED55Asiya Javayant
1016Antonio W ShinkoItaly2026-10-15Chanay, Jeffrey A Esq NEW15Xuxue Feng
1017Aditya E MaletRussia2026-11-03Benton, John B Jr RENEWAL42Elwin Sharvill
1018Maria E DoeCanada2026-10-23King, Christopher A Esq QUALIFIED62Bernardo Dominic
1019Mujtaba L TollnerJapan2026-10-28Rangoni Of Florence UNQUALIFIED88Amy Elsner
1020Darci H PoquetteBrazil2026-10-09Rangoni Of Florence NEW95Ivan Magalhaes
1021Murillo Z DoeRussia2026-10-09Morlong Associates QUALIFIED4Elwin Sharvill
1022Deepesh R KuskoArgentina2026-10-26Morlong Associates NEW59Stephen Shaw
1023Nicolas T IturbideGermany2026-10-17Feiner Bros NEGOTIATION3Onyama Limba
1024Smith I ChuiIndia2026-11-02Truhlar And Truhlar Attys NEW57Bernardo Dominic
1025Mujtaba O FerenczFrance2026-10-20Morlong Associates UNQUALIFIED25Ivan Magalhaes
1026Jones Y GlickRussia2026-10-25Chapman, Ross E Esq PROPOSAL17Amy Elsner
1027Francesco D FlosiItaly2026-10-26Buckley Miller Wright PROPOSAL11Bernardo Dominic
1028Stacey R StensethGermany2026-10-30Rousseaux, Michael Esq NEGOTIATION83Xuxue Feng
1029Maisha V BowleyArgentina2026-10-16Printing Dimensions QUALIFIED15Onyama Limba
1030Smith F PerinSpain2026-10-19Rangoni Of Florence NEW71Amy Elsner
1031Sinclair M PerinIndia2026-10-12Chapman, Ross E Esq UNQUALIFIED17Amy Elsner
1032James M RimFrance2026-10-15Dorl, James J Esq RENEWAL66Asiya Javayant
1033Clifford G FigeroaArgentina2026-10-07King, Christopher A Esq QUALIFIED28Ioni Bowcher
1034Ivar O MaletArgentina2026-11-02Chanay, Jeffrey A Esq NEW34Xuxue Feng
1035Maisha K DoeIndia2026-10-18Chapman, Ross E Esq NEGOTIATION31Elwin Sharvill
1036Morrow C SergiUnited Kingdom2026-10-25Dorl, James J Esq NEGOTIATION90Onyama Limba
1037Jeanfrancois Y WhobreyBrazil2026-10-10Commercial Press UNQUALIFIED43Elwin Sharvill
1038Ivar D DarakjyUnited Kingdom2026-10-21Chapman, Ross E Esq NEW74Anna Fali
1039Morrow N ChuiUnited Kingdom2026-11-03Truhlar And Truhlar Attys NEW17Xuxue Feng
1040Leon J IturbideFrance2026-10-09Rousseaux, Michael Esq QUALIFIED66Onyama Limba
1041Arvin Y WieserBrazil2026-10-28Truhlar And Truhlar Attys NEGOTIATION13Stephen Shaw
1042James L GauchoItaly2026-10-27Commercial Press QUALIFIED80Onyama Limba
1043Salvatore I RulapaughGermany2026-10-14Commercial Press RENEWAL30Ioni Bowcher
1044Clifford K BowleyUnited Kingdom2026-11-04Truhlar And Truhlar Attys RENEWAL93Asiya Javayant
1045Leja F CampainSpain2026-11-01Chanay, Jeffrey A Esq NEW87Bernardo Dominic
1046Jefferson E OstroskyAustralia2026-10-14Chemel, James L Cpa QUALIFIED91Asiya Javayant
1047Jones W StockhamUnited Kingdom2026-10-14Feltz Printing Service QUALIFIED65Xuxue Feng
1048Morrow O MaletCanada2026-10-13Feltz Printing Service NEW77Elwin Sharvill
1049Mujtaba R MaletBrazil2026-10-09Printing Dimensions NEW73Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin X RutaBrazilIvan Magalhaes RENEWAL
Kaitlin C PoquetteIndiaOnyama Limba RENEWAL
Maisha I RoysterFranceIvan Magalhaes QUALIFIED
Ricardo U KuskoCanadaAnna Fali NEW
Clifford I BriddickCanadaAnna Fali RENEWAL
Antonio X WaycottSpainBernardo Dominic UNQUALIFIED
Rodrigues L VenereCanadaAmy Elsner QUALIFIED
Aika V WaycottUnited KingdomAnna Fali RENEWAL
Cody Q WieserSpainAnna Fali NEW
Tony P StockhamCanadaOnyama Limba RENEWAL
Costa O KolmetzItalyStephen Shaw UNQUALIFIED
Rodrigues V StockhamSpainXuxue Feng NEW
Octavia W PerinJapanAsiya Javayant NEW
Silvio R MacleadIndiaXuxue Feng UNQUALIFIED
Mayumi M KuskoAustraliaXuxue Feng PROPOSAL
Murillo Q FigeroaArgentinaIoni Bowcher UNQUALIFIED
Antonio F PaprockiCanadaAnna Fali QUALIFIED
Maria V StockhamRussiaStephen Shaw NEW
Mayumi I PerinIndiaAmy Elsner RENEWAL
Munro W BowleyBrazilAmy Elsner UNQUALIFIED
Ivar T GauchoUnited KingdomIvan Magalhaes PROPOSAL
David Q CampainItalyOnyama Limba UNQUALIFIED
Kadeem X CaudySpainAsiya Javayant NEW
Maria I SergiUnited KingdomElwin Sharvill UNQUALIFIED
Stacey I KuskoJapanOnyama Limba UNQUALIFIED
Nicolas X GlickRussiaElwin Sharvill QUALIFIED
Aditya Q InouyeSpainStephen Shaw QUALIFIED
Alejandro G GauchoArgentinaBernardo Dominic PROPOSAL
Alejandro F NestleSpainIvan Magalhaes UNQUALIFIED
Salvatore G NestleRussiaAnna Fali QUALIFIED
Johnson K FigeroaGermanyElwin Sharvill UNQUALIFIED
Johnson F RulapaughUnited KingdomStephen Shaw NEGOTIATION
Clifford A CaldareraItalyOnyama Limba NEW
Leja P DilliardSpainAmy Elsner NEGOTIATION
Sinclair L WieserRussiaIvan Magalhaes NEW
Aika Y RimJapanBernardo Dominic QUALIFIED
Faith K DilliardCanadaAnna Fali QUALIFIED
Aruna Q StockhamJapanBernardo Dominic RENEWAL
Smith Z MorascaGermanyAnna Fali RENEWAL
Silvio M RoysterAustraliaStephen Shaw UNQUALIFIED
Murillo O AmigonRussiaIvan Magalhaes RENEWAL
Mujtaba C VenereItalyAnna Fali NEGOTIATION
Clifford P BologniaJapanBernardo Dominic NEGOTIATION
Stacey J CaldareraRussiaIoni Bowcher NEGOTIATION
Greenwood O WieserAustraliaAnna Fali NEGOTIATION
Salvatore W DilliardCanadaAmy Elsner NEW
Wickens D RulapaughFranceIoni Bowcher NEGOTIATION
Silvio D FollerBrazilAsiya Javayant UNQUALIFIED
Silvio A RulapaughAustraliaOnyama Limba QUALIFIED
Rodrigues A GillianBrazilAnna Fali QUALIFIED
Frozen Columns
Name
Silvio J Waycott
Salvatore R Vocelka
Aditya F Amigon
Smith A Tollner
Claire B Tollner
Jefferson R Malet
Sinclair T Inouye
Sinclair F Caudy
Nicolas X Nicka
Alejandro I Schemmer
Salvatore I Slusarski
Costa K Figeroa
Deepesh I Nestle
Jeanfrancois L Caudy
Julie T Gillian
Jeanfrancois G Kusko
Nicolas D Wieser
Mujtaba T Shinko
Wickens V Flosi
Cody Y Caudy
Clifford B Campain
Octavia V Campain
Murillo U Morasca
Alejandro O Wieser
David W Morasca
Faith G Bowley
Aditya E Glick
Ivar G Poquette
Misaki D Caudy
Leon B Albares
Antonio U Kusko
Johnson J Caudy
Emily E Bolognia
Ivar P Kusko
Aruna F Rulapaugh
Clifford U Schemmer
Jefferson A Maclead
Maisha I Butt
Julie E Malet
Cody K Maclead
Nicolas F Rim
Smith K Wieser
Aditya A Whobrey
Mujtaba M Wieser
Ivar Q Bowley
Ashley K Kolmetz
Jennifer X Chui
Jefferson T Darakjy
Aika T Maclead
Darci D Nestle
IdCountryDate
1000United Kingdom2026-10-13
1001United Kingdom2026-10-20
1002Russia2026-10-09
1003Italy2026-10-26
1004Russia2026-10-26
1005France2026-11-04
1006Brazil2026-10-28
1007Russia2026-10-08
1008Russia2026-10-10
1009Argentina2026-10-25
1010France2026-10-21
1011Russia2026-10-11
1012Brazil2026-10-18
1013India2026-10-26
1014Italy2026-10-24
1015Spain2026-10-27
1016India2026-11-05
1017Canada2026-10-16
1018Argentina2026-10-13
1019Russia2026-10-29
1020Japan2026-10-25
1021Germany2026-10-26
1022United Kingdom2026-11-04
1023Russia2026-10-12
1024Argentina2026-10-20
1025Australia2026-10-20
1026Germany2026-10-15
1027Italy2026-11-02
1028Canada2026-11-03
1029India2026-10-30
1030Argentina2026-10-13
1031Argentina2026-10-27
1032United Kingdom2026-10-14
1033Argentina2026-10-14
1034Australia2026-10-11
1035France2026-10-18
1036Italy2026-11-02
1037Japan2026-10-11
1038Brazil2026-10-23
1039Spain2026-10-27
1040Japan2026-10-19
1041Australia2026-10-09
1042Japan2026-10-27
1043Australia2026-11-01
1044Canada2026-10-31
1045Brazil2026-10-18
1046Germany2026-10-15
1047Canada2026-11-01
1048Germany2026-11-05
1049Canada2026-10-20

On-Demand Data

NameIdCountryDate
Costa B Caudy1000Argentina2026-10-10
Jefferson Y Malet1001Canada2026-10-09
Francesco Q Rulapaugh1002Argentina2026-10-16
Munro W Oldroyd1003Spain2026-10-17
Jones L Sergi1004Argentina2026-11-01
Jennifer T Ferencz1005Japan2026-11-02
Leja U Campain1006Spain2026-10-17
Jeanfrancois N Kusko1007Spain2026-11-05
Claire D Campain1008Spain2026-10-22
Greenwood Y Campain1009Australia2026-10-31
Munro K Ostrosky1010Germany2026-10-21
Deepesh T Ruta1011Russia2026-10-23
Mujtaba P Slusarski1012Canada2026-10-21
Antonio K Bolognia1013United Kingdom2026-11-02
Ashley G Foller1014Australia2026-10-20
Smith W Tollner1015Canada2026-10-15
Wickens R Gillian1016Germany2026-10-12
Alejandro Y Perin1017Japan2026-10-16
Morrow Z Darakjy1018Russia2026-10-15
Nicolas U Malet1019Australia2026-10-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki A StensethGermanyAmy Elsner NEW
Clifford X PerinSpainIvan Magalhaes PROPOSAL
Isabel F StockhamBrazilAnna Fali PROPOSAL
Kadeem X NestleRussiaIoni Bowcher PROPOSAL
Ricardo A RoysterGermanyStephen Shaw NEW
Aika I WhobreyGermanyIoni Bowcher QUALIFIED
Sinclair V MorascaCanadaIvan Magalhaes UNQUALIFIED
Julie X KolmetzGermanyAmy Elsner NEGOTIATION
Maisha C WhobreyIndiaElwin Sharvill PROPOSAL
Kadeem J SlusarskiItalyXuxue Feng RENEWAL
Smith T WaycottArgentinaBernardo Dominic PROPOSAL
Deepesh C StockhamJapanBernardo Dominic UNQUALIFIED
Chavez D DarakjyItalyAnna Fali PROPOSAL
Greenwood D NickaRussiaElwin Sharvill NEW
Aditya N KuskoBrazilAsiya Javayant QUALIFIED
Julie Y TollnerBrazilAsiya Javayant QUALIFIED
Jones N NickaAustraliaElwin Sharvill QUALIFIED
Smith Z IturbideIndiaAsiya Javayant RENEWAL
Emily N SaylorsCanadaAsiya Javayant PROPOSAL
Arvin G AlbaresAustraliaIvan Magalhaes RENEWAL
Misaki N CampainFranceStephen Shaw QUALIFIED
Antonio S WaycottIndiaIoni Bowcher UNQUALIFIED
Ivar A BowleyIndiaIoni Bowcher QUALIFIED
Emily M MacleadAustraliaElwin Sharvill NEW
Antonio C SergiAustraliaStephen Shaw NEGOTIATION
Munro U NestleCanadaAmy Elsner RENEWAL
Leja C DilliardArgentinaAnna Fali NEGOTIATION
Chavez X AmigonArgentinaOnyama Limba NEW
Ivar H WhobreyJapanIoni Bowcher UNQUALIFIED
Cody M CaudyArgentinaAmy Elsner UNQUALIFIED
Salvatore M MacleadAustraliaAnna Fali NEW
Octavia K AlbaresAustraliaIoni Bowcher UNQUALIFIED
Alejandro J IturbideUnited KingdomElwin Sharvill NEW
Francesco K WhobreyBrazilAmy Elsner NEW
Leja J MorascaFranceAmy Elsner QUALIFIED
Smith S RoysterSpainAnna Fali NEW
Alejandro D OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Arvin R TollnerGermanyAsiya Javayant NEGOTIATION
Salvatore P DilliardJapanIoni Bowcher UNQUALIFIED
Morrow Q ChuiBrazilStephen 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>