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
Ashley J RoysterAustraliaIoni Bowcher UNQUALIFIED
Morrow X StockhamJapanIvan Magalhaes NEGOTIATION
Nicolas S MarrierJapanOnyama Limba PROPOSAL
Deepesh R RimUnited KingdomIvan Magalhaes NEW
David Q BowleyRussiaOnyama Limba UNQUALIFIED
Misaki N NickaItalyAmy Elsner UNQUALIFIED
Tony Q KuskoFranceOnyama Limba NEGOTIATION
Mayumi D MaletArgentinaIvan Magalhaes NEW
Kadeem P BriddickArgentinaIvan Magalhaes QUALIFIED
Rodrigues T GauchoUnited KingdomAmy Elsner RENEWAL
Misaki M GillianGermanyIvan Magalhaes RENEWAL
Misaki D FigeroaArgentinaAsiya Javayant PROPOSAL
Jones F MarrierAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois R ShinkoSpainElwin Sharvill NEW
Jennifer Y StensethItalyAnna Fali UNQUALIFIED
Jeanfrancois O SergiArgentinaAmy Elsner PROPOSAL
Faith G OldroydUnited KingdomStephen Shaw NEW
Claire F SchemmerIndiaIoni Bowcher UNQUALIFIED
Nicolas A FerenczJapanIvan Magalhaes PROPOSAL
Sinclair V MaletBrazilOnyama Limba NEW
Alejandro V MaletGermanyBernardo Dominic NEW
Antonio V OstroskyArgentinaAsiya Javayant NEW
Leja A MaletArgentinaBernardo Dominic NEW
Cody H SchemmerAustraliaAsiya Javayant UNQUALIFIED
Silvio P FollerUnited KingdomOnyama Limba NEW
Smith S AlbaresBrazilAnna Fali UNQUALIFIED
Leon C TollnerGermanyIvan Magalhaes NEW
Morrow H GauchoBrazilIvan Magalhaes PROPOSAL
Ricardo E InouyeArgentinaStephen Shaw RENEWAL
Deepesh Y FigeroaFranceBernardo Dominic PROPOSAL
Ricardo K FerenczJapanOnyama Limba NEGOTIATION
Tony S GlickJapanOnyama Limba UNQUALIFIED
Chavez O NestleAustraliaOnyama Limba PROPOSAL
Greenwood W DarakjyJapanIoni Bowcher RENEWAL
Murillo D GauchoRussiaIoni Bowcher NEGOTIATION
Ricardo E IturbideJapanOnyama Limba UNQUALIFIED
Faith W NestleItalyStephen Shaw NEW
Misaki O KolmetzRussiaAmy Elsner RENEWAL
Wickens Y WaycottFranceStephen Shaw PROPOSAL
Alejandro X SchemmerFranceAsiya Javayant QUALIFIED
Ivar I AlbaresAustraliaBernardo Dominic RENEWAL
Ivar I FigeroaGermanyAsiya Javayant RENEWAL
Jefferson K InouyeBrazilElwin Sharvill QUALIFIED
Juan T ShinkoJapanElwin Sharvill RENEWAL
Kadeem E WieserFranceOnyama Limba NEW
Smith P BriddickSpainIoni Bowcher RENEWAL
Sinclair L SaylorsUnited KingdomIoni Bowcher UNQUALIFIED
Arvin P FlosiAustraliaAnna Fali PROPOSAL
Kadeem U ButtCanadaElwin Sharvill RENEWAL
Johnson G MaletItalyIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan Q InouyeCanadaElwin Sharvill PROPOSAL
Wickens N RimRussiaStephen Shaw RENEWAL
Jeanfrancois E SchemmerFranceAsiya Javayant UNQUALIFIED
Smith F RimFranceIoni Bowcher NEGOTIATION
Leon B MarrierBrazilElwin Sharvill QUALIFIED
Costa W MorascaArgentinaAmy Elsner NEW
Kaitlin U IturbideSpainIvan Magalhaes QUALIFIED
Leja U KuskoArgentinaAsiya Javayant NEW
Ashley H IturbideRussiaElwin Sharvill UNQUALIFIED
Maria X WaycottUnited KingdomXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer A FerenczBrazil2026-10-08Morlong Associates PROPOSAL68Ioni Bowcher
1001Misaki K OstroskyRussia2026-10-08Feiner Bros RENEWAL16Ivan Magalhaes
1002Silvio V FigeroaJapan2026-10-09Morlong Associates PROPOSAL98Amy Elsner
1003Wickens G PaprockiFrance2026-10-02Rangoni Of Florence NEW27Anna Fali
1004Costa O GauchoItaly2026-09-30Printing Dimensions PROPOSAL66Ivan Magalhaes
1005Jefferson F OstroskyArgentina2026-10-04Benton, John B Jr QUALIFIED16Ivan Magalhaes
1006Izzy X AlbaresGermany2026-10-12Chemel, James L Cpa RENEWAL25Anna Fali
1007Nicolas N PerinArgentina2026-10-01Feiner Bros NEW22Anna Fali
1008Leja B StockhamBrazil2026-10-11Feltz Printing Service NEW71Anna Fali
1009Johnson M SchemmerRussia2026-09-29Commercial Press NEW13Stephen Shaw
1010Leon W RulapaughUnited Kingdom2026-10-07Feltz Printing Service UNQUALIFIED0Bernardo Dominic
1011Wickens M NestleUnited Kingdom2026-10-06Commercial Press NEW94Onyama Limba
1012Darci A ShinkoFrance2026-10-06Benton, John B Jr PROPOSAL21Bernardo Dominic
1013Nicolas B StockhamIndia2026-09-27Rousseaux, Michael Esq PROPOSAL37Anna Fali
1014Ashley U MacleadSpain2026-09-22Buckley Miller Wright QUALIFIED22Bernardo Dominic
1015Ashley F KuskoUnited Kingdom2026-10-09Buckley Miller Wright NEW10Asiya Javayant
1016Munro I BowleyIndia2026-10-21Truhlar And Truhlar Attys RENEWAL66Xuxue Feng
1017Arvin W OstroskyGermany2026-10-07Commercial Press PROPOSAL35Asiya Javayant
1018Aditya G BriddickGermany2026-10-13Chemel, James L Cpa QUALIFIED95Elwin Sharvill
1019Octavia Y VenereSpain2026-10-14Chemel, James L Cpa NEGOTIATION9Ioni Bowcher
1020Leja H StockhamIndia2026-09-28Chapman, Ross E Esq NEW5Bernardo Dominic
1021Smith B DilliardUnited Kingdom2026-10-08Chapman, Ross E Esq NEGOTIATION54Onyama Limba
1022Jones Y BologniaIndia2026-10-06Feltz Printing Service NEGOTIATION84Amy Elsner
1023Smith C WieserArgentina2026-09-23Rousseaux, Michael Esq RENEWAL83Elwin Sharvill
1024Francesco J BriddickArgentina2026-09-28Buckley Miller Wright QUALIFIED9Xuxue Feng
1025Wickens M BowleyRussia2026-10-16Rousseaux, Michael Esq UNQUALIFIED45Xuxue Feng
1026Leon N FollerArgentina2026-10-21Rousseaux, Michael Esq RENEWAL98Amy Elsner
1027Izzy P SlusarskiSpain2026-10-08King, Christopher A Esq UNQUALIFIED50Amy Elsner
1028Aika Z MaletCanada2026-10-21Chemel, James L Cpa NEGOTIATION58Xuxue Feng
1029Faith P KuskoBrazil2026-10-11Chapman, Ross E Esq NEW53Elwin Sharvill
1030Chavez K AlbaresArgentina2026-10-19Chapman, Ross E Esq NEGOTIATION1Xuxue Feng
1031Ricardo H MorascaGermany2026-09-30King, Christopher A Esq PROPOSAL25Bernardo Dominic
1032Isabel S FerenczIndia2026-10-03Printing Dimensions PROPOSAL42Anna Fali
1033Arvin Y PaprockiCanada2026-10-14Chemel, James L Cpa NEGOTIATION89Anna Fali
1034Juan J PerinBrazil2026-09-29Morlong Associates QUALIFIED15Amy Elsner
1035Ashley X PaprockiBrazil2026-10-14Chapman, Ross E Esq NEW48Asiya Javayant
1036Smith E FerenczIndia2026-10-19Buckley Miller Wright NEGOTIATION31Xuxue Feng
1037Juan I MaletFrance2026-09-23Dorl, James J Esq QUALIFIED50Ioni Bowcher
1038Wickens G ShinkoCanada2026-10-12Chapman, Ross E Esq UNQUALIFIED3Amy Elsner
1039Leon H VocelkaCanada2026-10-17Dorl, James J Esq NEGOTIATION37Elwin Sharvill
1040Isabel T AmigonRussia2026-10-16Commercial Press PROPOSAL74Asiya Javayant
1041Johnson O CaldareraSpain2026-09-27King, Christopher A Esq NEGOTIATION92Onyama Limba
1042Costa D SaylorsFrance2026-10-17Chapman, Ross E Esq NEW86Anna Fali
1043Murillo N GlickIndia2026-10-12Benton, John B Jr NEW2Onyama Limba
1044Darci M GauchoRussia2026-09-28Printing Dimensions NEW63Ivan Magalhaes
1045Greenwood O GillianIndia2026-10-05Chanay, Jeffrey A Esq NEGOTIATION31Anna Fali
1046Tony O FerenczGermany2026-10-03Dorl, James J Esq QUALIFIED63Elwin Sharvill
1047Leon J WieserBrazil2026-09-26Chapman, Ross E Esq PROPOSAL40Anna Fali
1048Ashley E OstroskyIndia2026-10-13Printing Dimensions UNQUALIFIED65Amy Elsner
1049Ivar E CampainUnited Kingdom2026-10-15Feltz Printing Service QUALIFIED24Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan D SchemmerItalyElwin Sharvill UNQUALIFIED
Mayumi R CampainFranceIoni Bowcher NEW
Nicolas A FollerItalyAnna Fali QUALIFIED
James Y AmigonBrazilElwin Sharvill NEW
Ivar Y StensethAustraliaElwin Sharvill NEW
Kadeem D VocelkaItalyAnna Fali UNQUALIFIED
Leja K RutaUnited KingdomOnyama Limba NEW
Smith B IturbideFranceIoni Bowcher PROPOSAL
Cody Y DarakjyArgentinaAsiya Javayant QUALIFIED
Costa E SlusarskiJapanIvan Magalhaes PROPOSAL
Aika A TollnerArgentinaAmy Elsner NEGOTIATION
Smith W AlbaresFranceIvan Magalhaes NEGOTIATION
Mujtaba Q SergiIndiaXuxue Feng NEGOTIATION
Kaitlin Z PoquetteCanadaBernardo Dominic UNQUALIFIED
Maisha Y CaldareraAustraliaStephen Shaw NEW
Jeanfrancois Z NickaUnited KingdomBernardo Dominic PROPOSAL
Rodrigues Z FollerArgentinaAsiya Javayant NEGOTIATION
Adams C MaletJapanAmy Elsner NEW
Smith O FlosiCanadaStephen Shaw RENEWAL
Rodrigues A InouyeAustraliaIvan Magalhaes QUALIFIED
Adams Y BologniaArgentinaOnyama Limba RENEWAL
Sinclair H SaylorsItalyBernardo Dominic PROPOSAL
Rodrigues Y StockhamGermanyAmy Elsner UNQUALIFIED
Aruna H CaudyArgentinaAmy Elsner NEW
Morrow Z PoquetteUnited KingdomIoni Bowcher UNQUALIFIED
Aika J MorascaAustraliaIvan Magalhaes PROPOSAL
Johnson H RimFranceOnyama Limba QUALIFIED
Adams G VocelkaSpainElwin Sharvill UNQUALIFIED
Clifford M AmigonFranceStephen Shaw NEGOTIATION
Aruna R MaletJapanXuxue Feng NEGOTIATION
Jennifer V OstroskyCanadaAnna Fali NEGOTIATION
Antonio Q StockhamIndiaElwin Sharvill RENEWAL
Aditya Q MorascaCanadaBernardo Dominic NEGOTIATION
Aika N FlosiAustraliaXuxue Feng UNQUALIFIED
Johnson T GarufiRussiaElwin Sharvill UNQUALIFIED
Misaki Z BologniaRussiaOnyama Limba RENEWAL
Julie A TollnerUnited KingdomAsiya Javayant NEW
Claire U StensethFranceAnna Fali UNQUALIFIED
Chavez J DilliardIndiaIoni Bowcher NEGOTIATION
Jennifer C WaycottAustraliaBernardo Dominic NEGOTIATION
Maria K PoquetteIndiaXuxue Feng UNQUALIFIED
Mayumi F MacleadGermanyXuxue Feng NEGOTIATION
Alejandro Q StockhamAustraliaOnyama Limba RENEWAL
Johnson K SergiGermanyAnna Fali NEGOTIATION
Wickens J VenereGermanyXuxue Feng QUALIFIED
Greenwood V WhobreyCanadaAmy Elsner QUALIFIED
Leon K CaldareraSpainIvan Magalhaes NEGOTIATION
Tony E DarakjyCanadaBernardo Dominic NEW
Costa B GlickAustraliaBernardo Dominic UNQUALIFIED
Chavez O GarufiGermanyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Ashley G Garufi
Deepesh G Butt
Mujtaba M Venere
Maisha T Glick
Morrow C Chui
Clifford A Bolognia
Leon V Campain
Kadeem B Perin
Greenwood Y Caldarera
Francesco D Kusko
Ivar N Kusko
Ricardo M Ruta
Ricardo Z Caudy
Kaitlin J Gaucho
Jones E Garufi
Costa G Oldroyd
Leja P Nestle
Deepesh S Amigon
Cody U Garufi
Sinclair K Rim
Octavia O Doe
Julie O Waycott
Morrow V Inouye
Clifford I Rulapaugh
Wickens P Caldarera
Johnson M Morasca
Chavez J Butt
Clifford Z Sergi
Silvio O Schemmer
Aika C Paprocki
James V Vocelka
Rodrigues V Chui
Nicolas S Stockham
Adams Q Waycott
Ashley M Glick
Smith A Malet
Francesco X Waycott
Murillo Z Albares
Jeanfrancois A Shinko
Ivar G Ostrosky
Salvatore Q Nestle
Murillo F Venere
Nicolas T Chui
Mayumi Y Figeroa
Clifford D Saylors
Costa G Kolmetz
Mujtaba O Inouye
Silvio S Kolmetz
Misaki N Saylors
Izzy C Glick
IdCountryDate
1000Argentina2026-10-10
1001France2026-10-12
1002Canada2026-09-27
1003Germany2026-10-03
1004Brazil2026-10-17
1005Spain2026-09-22
1006Australia2026-10-16
1007Brazil2026-10-02
1008Spain2026-09-25
1009Canada2026-09-29
1010Brazil2026-09-23
1011Spain2026-09-24
1012Australia2026-10-08
1013Argentina2026-09-24
1014Japan2026-09-25
1015Brazil2026-10-14
1016Germany2026-09-28
1017France2026-10-09
1018India2026-09-28
1019India2026-10-19
1020Japan2026-10-03
1021Argentina2026-10-12
1022Spain2026-10-01
1023Japan2026-10-20
1024Germany2026-10-10
1025Italy2026-09-24
1026Australia2026-10-07
1027Germany2026-09-22
1028Germany2026-10-09
1029Germany2026-10-01
1030Australia2026-10-04
1031Argentina2026-10-02
1032Spain2026-10-17
1033Canada2026-10-14
1034Japan2026-10-11
1035Russia2026-10-12
1036France2026-10-10
1037Argentina2026-10-05
1038France2026-10-20
1039Canada2026-09-24
1040Spain2026-09-27
1041United Kingdom2026-09-27
1042Canada2026-09-28
1043Japan2026-09-24
1044Canada2026-10-12
1045Italy2026-09-24
1046Germany2026-10-06
1047Brazil2026-10-06
1048France2026-09-28
1049Japan2026-10-13

On-Demand Data

NameIdCountryDate
Murillo O Darakjy1000India2026-10-13
Arvin O Darakjy1001Canada2026-10-21
Stacey F Marrier1002Italy2026-10-03
Alejandro Z Chui1003India2026-09-22
Alejandro L Gillian1004India2026-10-14
Costa T Glick1005Brazil2026-10-02
Tony I Morasca1006Spain2026-10-17
Aruna T Amigon1007Germany2026-09-23
Darci G Morasca1008Italy2026-10-20
Aditya G Briddick1009Italy2026-10-17
Maisha X Rim1010France2026-09-26
Mayumi V Perin1011Russia2026-09-27
Rodrigues U Glick1012Italy2026-10-08
Faith Y Butt1013Spain2026-10-02
James K Ruta1014Argentina2026-09-22
Mujtaba Y Malet1015United Kingdom2026-10-07
Costa W Marrier1016Russia2026-09-26
Francesco O Caudy1017Russia2026-10-13
Juan Q Shinko1018United Kingdom2026-10-17
Cody E Perin1019United Kingdom2026-10-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar Y FerenczJapanOnyama Limba QUALIFIED
Johnson J KolmetzArgentinaAmy Elsner RENEWAL
Ricardo T NestleIndiaAsiya Javayant UNQUALIFIED
Clifford J RoysterJapanElwin Sharvill UNQUALIFIED
Stacey X WaycottSpainAmy Elsner UNQUALIFIED
Mujtaba L InouyeAustraliaAnna Fali QUALIFIED
Salvatore J PerinAustraliaAmy Elsner NEGOTIATION
Kadeem T RutaGermanyXuxue Feng UNQUALIFIED
Aditya F DilliardGermanyStephen Shaw NEGOTIATION
Rodrigues V RimUnited KingdomAmy Elsner QUALIFIED
Claire C DarakjyUnited KingdomXuxue Feng NEW
Deepesh K KuskoItalyStephen Shaw NEGOTIATION
Clifford B WieserSpainIoni Bowcher UNQUALIFIED
Wickens A NickaFranceXuxue Feng NEW
Stacey M RutaItalyBernardo Dominic QUALIFIED
Adams R GillianItalyAsiya Javayant QUALIFIED
Antonio K InouyeUnited KingdomIvan Magalhaes PROPOSAL
Jefferson Q ButtAustraliaStephen Shaw NEW
Faith C AlbaresItalyIoni Bowcher QUALIFIED
Nicolas D BriddickCanadaBernardo Dominic NEW
Deepesh U DarakjyArgentinaBernardo Dominic UNQUALIFIED
Julie O ButtItalyAmy Elsner QUALIFIED
Emily V DarakjyJapanIoni Bowcher QUALIFIED
Wickens Y GauchoIndiaXuxue Feng PROPOSAL
David R KuskoRussiaOnyama Limba PROPOSAL
Claire C AlbaresRussiaStephen Shaw PROPOSAL
Isabel P PerinUnited KingdomStephen Shaw NEW
Rodrigues L VenereAustraliaElwin Sharvill NEGOTIATION
Izzy N StensethItalyOnyama Limba QUALIFIED
Munro P OldroydFranceIoni Bowcher NEW
Maisha T RoysterGermanyXuxue Feng RENEWAL
Jefferson N SlusarskiGermanyIoni Bowcher QUALIFIED
Octavia P GillianAustraliaIvan Magalhaes NEGOTIATION
Misaki Z FollerJapanAnna Fali NEW
Johnson G StensethCanadaOnyama Limba UNQUALIFIED
Costa E IturbideFranceStephen Shaw RENEWAL
Claire A MaletRussiaAnna Fali NEW
Faith N MaletFranceAsiya Javayant NEGOTIATION
Costa I CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Leja L MaletArgentinaAnna Fali UNQUALIFIED

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