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
Leon H WhobreyFranceIvan Magalhaes PROPOSAL
Rodrigues A RoysterUnited KingdomBernardo Dominic QUALIFIED
Costa G MarrierJapanOnyama Limba NEW
Alejandro W OldroydSpainAsiya Javayant PROPOSAL
Salvatore Q CaldareraJapanIoni Bowcher NEW
Costa B PoquetteUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo I RimRussiaIvan Magalhaes PROPOSAL
Isabel T DilliardArgentinaStephen Shaw NEW
Cody D MorascaFranceAnna Fali RENEWAL
Cody E DarakjyUnited KingdomAmy Elsner RENEWAL
Tony L DilliardArgentinaOnyama Limba QUALIFIED
Alejandro W PoquetteIndiaAsiya Javayant NEW
Mayumi M VocelkaGermanyStephen Shaw QUALIFIED
James W DoeItalyOnyama Limba NEW
Juan F MarrierRussiaAsiya Javayant NEGOTIATION
Murillo K SchemmerFranceAsiya Javayant PROPOSAL
Clifford A StockhamCanadaBernardo Dominic PROPOSAL
Izzy M SergiGermanyAnna Fali NEW
Jennifer Y GlickArgentinaBernardo Dominic NEGOTIATION
Leon W CampainUnited KingdomAmy Elsner QUALIFIED
Maria K SaylorsGermanyAnna Fali UNQUALIFIED
Jeanfrancois S RoysterItalyStephen Shaw RENEWAL
Smith Z BriddickItalyXuxue Feng UNQUALIFIED
Maria A PerinFranceXuxue Feng NEW
Chavez O TollnerGermanyAsiya Javayant RENEWAL
Francesco Y PerinSpainIoni Bowcher NEW
Morrow U DilliardJapanElwin Sharvill UNQUALIFIED
Rodrigues W DilliardFranceStephen Shaw NEGOTIATION
Maisha C MorascaItalyXuxue Feng NEGOTIATION
Rodrigues V GillianBrazilXuxue Feng PROPOSAL
Sinclair M InouyeArgentinaAmy Elsner QUALIFIED
Greenwood S MarrierRussiaIvan Magalhaes RENEWAL
Munro T VocelkaBrazilBernardo Dominic UNQUALIFIED
Antonio C RutaJapanStephen Shaw NEGOTIATION
Mujtaba Z MacleadItalyStephen Shaw NEW
Salvatore B SchemmerRussiaIoni Bowcher PROPOSAL
Ashley C NestleRussiaIoni Bowcher RENEWAL
Antonio U WieserIndiaAmy Elsner QUALIFIED
Morrow H BologniaCanadaIvan Magalhaes NEW
Isabel Q SergiRussiaAsiya Javayant NEGOTIATION
Jefferson Z TollnerJapanAnna Fali QUALIFIED
Leja R DilliardSpainXuxue Feng UNQUALIFIED
Greenwood D WhobreyArgentinaAnna Fali QUALIFIED
Deepesh M RimCanadaIvan Magalhaes NEGOTIATION
Faith L GlickUnited KingdomXuxue Feng UNQUALIFIED
Aruna B KuskoSpainAmy Elsner QUALIFIED
Darci D MarrierJapanIoni Bowcher UNQUALIFIED
Salvatore S IturbideUnited KingdomAsiya Javayant NEW
Alejandro H WhobreyCanadaOnyama Limba QUALIFIED
Emily H AlbaresIndiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
James C MaletBrazilAnna Fali PROPOSAL
Smith A FerenczFranceXuxue Feng NEGOTIATION
Wickens V PerinSpainIvan Magalhaes NEW
Juan S OldroydIndiaIvan Magalhaes QUALIFIED
Morrow T BriddickAustraliaOnyama Limba UNQUALIFIED
Ashley W SchemmerRussiaBernardo Dominic RENEWAL
Jones N MorascaGermanyOnyama Limba QUALIFIED
Aruna O SlusarskiFranceIvan Magalhaes NEW
Jefferson H RulapaughUnited KingdomXuxue Feng QUALIFIED
Clifford S VenereItalyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas L AlbaresGermany2026-10-21Chapman, Ross E Esq RENEWAL63Anna Fali
1001David Q VocelkaRussia2026-10-11Buckley Miller Wright PROPOSAL84Asiya Javayant
1002Ricardo L AmigonSpain2026-10-17Benton, John B Jr RENEWAL4Ioni Bowcher
1003Kadeem E SaylorsSpain2026-10-27Feltz Printing Service RENEWAL22Asiya Javayant
1004Cody B BologniaFrance2026-10-07Commercial Press UNQUALIFIED86Asiya Javayant
1005Claire W FerenczGermany2026-09-29Truhlar And Truhlar Attys NEW84Bernardo Dominic
1006Aika T SergiSpain2026-10-01Chanay, Jeffrey A Esq QUALIFIED79Anna Fali
1007Jennifer J FigeroaSpain2026-10-17Printing Dimensions RENEWAL31Anna Fali
1008Costa F SaylorsAustralia2026-09-29Chapman, Ross E Esq PROPOSAL68Ioni Bowcher
1009Nicolas A WhobreyUnited Kingdom2026-10-19Benton, John B Jr NEW45Stephen Shaw
1010Wickens Z TollnerSpain2026-10-15Feltz Printing Service RENEWAL90Ivan Magalhaes
1011Isabel K ButtUnited Kingdom2026-10-21Rousseaux, Michael Esq PROPOSAL55Stephen Shaw
1012Julie J RutaUnited Kingdom2026-10-14Morlong Associates RENEWAL62Elwin Sharvill
1013Emily M BriddickItaly2026-10-12Chanay, Jeffrey A Esq NEGOTIATION37Amy Elsner
1014Ivar D BowleyFrance2026-10-26Feiner Bros NEW50Asiya Javayant
1015David P TollnerGermany2026-10-14Benton, John B Jr RENEWAL48Elwin Sharvill
1016Adams A WieserArgentina2026-10-09Morlong Associates UNQUALIFIED20Amy Elsner
1017Aditya W FlosiGermany2026-10-12Buckley Miller Wright RENEWAL73Onyama Limba
1018Jefferson X SaylorsAustralia2026-10-04Chapman, Ross E Esq UNQUALIFIED10Stephen Shaw
1019Kaitlin M FollerRussia2026-10-20King, Christopher A Esq UNQUALIFIED75Ioni Bowcher
1020Costa I CampainFrance2026-10-02Truhlar And Truhlar Attys NEGOTIATION15Xuxue Feng
1021Ivar C FlosiUnited Kingdom2026-10-20Printing Dimensions RENEWAL39Bernardo Dominic
1022Rodrigues V FlosiItaly2026-10-07Chapman, Ross E Esq QUALIFIED13Stephen Shaw
1023Leon U SchemmerJapan2026-10-12Chemel, James L Cpa QUALIFIED14Ioni Bowcher
1024Kaitlin S PaprockiSpain2026-10-12Rousseaux, Michael Esq NEGOTIATION47Elwin Sharvill
1025Deepesh I KuskoJapan2026-09-29Printing Dimensions QUALIFIED56Amy Elsner
1026Chavez Z OldroydIndia2026-10-26Dorl, James J Esq UNQUALIFIED67Stephen Shaw
1027Deepesh B RimUnited Kingdom2026-10-01Commercial Press NEW13Ivan Magalhaes
1028Silvio I DilliardJapan2026-10-08Chanay, Jeffrey A Esq QUALIFIED35Ioni Bowcher
1029David I MaletGermany2026-10-04Feltz Printing Service RENEWAL28Elwin Sharvill
1030Silvio U PerinArgentina2026-10-23Dorl, James J Esq PROPOSAL78Xuxue Feng
1031Jennifer W FollerUnited Kingdom2026-09-29Benton, John B Jr NEGOTIATION93Xuxue Feng
1032Ricardo V DoeBrazil2026-10-22Dorl, James J Esq UNQUALIFIED96Anna Fali
1033Cody W PerinIndia2026-10-06Morlong Associates RENEWAL89Asiya Javayant
1034Ricardo V SlusarskiIndia2026-10-14Truhlar And Truhlar Attys NEGOTIATION42Ivan Magalhaes
1035Munro E StensethCanada2026-10-07Printing Dimensions NEW35Asiya Javayant
1036Ricardo G SergiIndia2026-10-05Dorl, James J Esq PROPOSAL94Stephen Shaw
1037Kaitlin O WhobreySpain2026-10-22Truhlar And Truhlar Attys QUALIFIED34Amy Elsner
1038Mujtaba Q PoquetteSpain2026-10-06Morlong Associates NEGOTIATION19Amy Elsner
1039Jefferson E KuskoItaly2026-10-13Morlong Associates QUALIFIED68Onyama Limba
1040Antonio N FlosiCanada2026-10-21Feltz Printing Service UNQUALIFIED48Stephen Shaw
1041Nicolas U MaletRussia2026-10-14King, Christopher A Esq NEW47Bernardo Dominic
1042Juan O OstroskyFrance2026-10-10Dorl, James J Esq UNQUALIFIED41Xuxue Feng
1043Clifford J FlosiArgentina2026-10-17Chemel, James L Cpa QUALIFIED80Anna Fali
1044Tony R CaudyIndia2026-10-24Chemel, James L Cpa NEGOTIATION68Asiya Javayant
1045Greenwood B InouyeSpain2026-10-08Feiner Bros QUALIFIED68Amy Elsner
1046Julie G AmigonCanada2026-10-13Chanay, Jeffrey A Esq UNQUALIFIED66Amy Elsner
1047Chavez L GlickAustralia2026-10-06Printing Dimensions NEGOTIATION23Onyama Limba
1048Stacey Y RoysterBrazil2026-10-01Chemel, James L Cpa RENEWAL22Amy Elsner
1049Mujtaba M IturbideUnited Kingdom2026-10-16Printing Dimensions UNQUALIFIED50Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Emily G MaletGermanyAmy Elsner PROPOSAL
Aika R VocelkaJapanXuxue Feng NEW
Ivar L ShinkoCanadaAnna Fali RENEWAL
James G GauchoBrazilXuxue Feng QUALIFIED
Jones O InouyeFranceIoni Bowcher PROPOSAL
Jeanfrancois I FerenczItalyAmy Elsner PROPOSAL
Munro C MarrierSpainElwin Sharvill UNQUALIFIED
Maisha T OldroydGermanyAmy Elsner UNQUALIFIED
Ivar A StockhamCanadaStephen Shaw NEGOTIATION
Alejandro M OldroydRussiaAmy Elsner UNQUALIFIED
Kaitlin K FollerBrazilIoni Bowcher NEGOTIATION
Deepesh H GarufiItalyBernardo Dominic NEGOTIATION
Tony J NestleIndiaStephen Shaw NEGOTIATION
Darci A StockhamRussiaXuxue Feng PROPOSAL
Aruna V ShinkoFranceBernardo Dominic RENEWAL
Rodrigues A NestleRussiaAmy Elsner PROPOSAL
Aika F DarakjyBrazilStephen Shaw UNQUALIFIED
Izzy B VenereJapanAmy Elsner QUALIFIED
Kaitlin T DarakjyRussiaBernardo Dominic NEW
Silvio H MarrierRussiaStephen Shaw UNQUALIFIED
Silvio D RoysterBrazilStephen Shaw RENEWAL
Aditya T InouyeAustraliaIvan Magalhaes NEW
Aika T FerenczSpainOnyama Limba QUALIFIED
Smith N GarufiJapanAmy Elsner NEGOTIATION
Nicolas I CampainAustraliaBernardo Dominic PROPOSAL
Wickens Z GillianAustraliaIoni Bowcher NEW
David H KolmetzJapanOnyama Limba NEGOTIATION
Leja P GauchoSpainElwin Sharvill QUALIFIED
Maisha N OldroydItalyAmy Elsner NEW
Wickens B IturbideBrazilStephen Shaw RENEWAL
Jennifer D WieserSpainAsiya Javayant QUALIFIED
Misaki C GarufiFranceAsiya Javayant PROPOSAL
Greenwood H MorascaCanadaAsiya Javayant UNQUALIFIED
Nicolas Z GauchoCanadaAnna Fali NEGOTIATION
Morrow E InouyeItalyAnna Fali QUALIFIED
Ricardo A BowleyUnited KingdomBernardo Dominic NEW
Arvin R GlickJapanIvan Magalhaes NEGOTIATION
Deepesh Z DarakjyBrazilBernardo Dominic PROPOSAL
Silvio N KuskoArgentinaXuxue Feng UNQUALIFIED
Morrow H AlbaresAustraliaIvan Magalhaes UNQUALIFIED
David C OldroydCanadaAsiya Javayant QUALIFIED
Jeanfrancois A PerinUnited KingdomStephen Shaw PROPOSAL
Octavia U StockhamAustraliaIvan Magalhaes QUALIFIED
Costa M MorascaGermanyXuxue Feng RENEWAL
Aruna R ButtFranceBernardo Dominic NEGOTIATION
Leon J MaletJapanIvan Magalhaes NEGOTIATION
Stacey A MarrierJapanAmy Elsner RENEWAL
Antonio E SlusarskiSpainAmy Elsner UNQUALIFIED
Ricardo U DoeFranceElwin Sharvill PROPOSAL
Clifford Y PerinBrazilAsiya Javayant RENEWAL
Frozen Columns
Name
Jennifer K Slusarski
James V Saylors
Leja S Shinko
Cody V Nicka
Mayumi H Wieser
Mayumi L Shinko
Juan Z Caldarera
Isabel O Gaucho
Murillo U Iturbide
Izzy B Campain
Juan R Malet
Maisha T Slusarski
Mujtaba N Schemmer
Francesco H Butt
Deepesh R Garufi
Silvio S Wieser
Ricardo X Waycott
Rodrigues A Slusarski
Francesco I Bowley
Julie D Chui
Chavez P Gillian
James E Albares
Julie T Bolognia
Jeanfrancois P Venere
Murillo G Briddick
Kaitlin E Waycott
Darci N Oldroyd
Kadeem F Maclead
James X Perin
Deepesh I Caldarera
Clifford U Iturbide
Stacey K Nestle
Munro M Butt
Jones J Glick
Wickens A Inouye
Morrow Z Venere
Morrow I Doe
Julie P Kolmetz
Jefferson X Nestle
David S Briddick
Greenwood U Darakjy
Munro O Figeroa
Wickens B Maclead
Francesco M Kolmetz
Emily L Kusko
Emily W Saylors
Johnson E Nicka
Julie D Malet
Misaki K Caudy
Mayumi V Albares
IdCountryDate
1000France2026-10-05
1001Australia2026-10-11
1002Russia2026-10-26
1003France2026-10-17
1004United Kingdom2026-10-15
1005Canada2026-10-28
1006Australia2026-10-17
1007Germany2026-09-29
1008Australia2026-10-13
1009Italy2026-10-25
1010Canada2026-10-20
1011United Kingdom2026-10-10
1012Spain2026-10-09
1013Spain2026-10-13
1014Argentina2026-10-10
1015France2026-10-04
1016Germany2026-09-29
1017Germany2026-10-17
1018Russia2026-10-27
1019India2026-10-15
1020Australia2026-10-11
1021Argentina2026-10-04
1022Italy2026-10-28
1023Russia2026-10-22
1024Brazil2026-10-03
1025Australia2026-10-03
1026Argentina2026-10-09
1027India2026-10-25
1028Canada2026-10-27
1029Japan2026-10-13
1030Italy2026-10-16
1031Spain2026-10-21
1032Australia2026-10-13
1033Russia2026-10-12
1034Brazil2026-10-10
1035India2026-10-20
1036France2026-10-28
1037Germany2026-10-19
1038Canada2026-10-18
1039Russia2026-10-07
1040Canada2026-10-10
1041Russia2026-10-09
1042Canada2026-10-19
1043Spain2026-09-30
1044Japan2026-09-29
1045Italy2026-10-14
1046Italy2026-10-14
1047Spain2026-09-30
1048Brazil2026-10-17
1049Germany2026-10-10

On-Demand Data

NameIdCountryDate
Juan E Foller1000Russia2026-10-03
Octavia I Albares1001Germany2026-10-16
Mujtaba E Amigon1002Argentina2026-10-08
Maria K Albares1003Argentina2026-10-02
Francesco N Gaucho1004Italy2026-10-20
Morrow J Malet1005Australia2026-10-26
Julie J Poquette1006Italy2026-10-19
Salvatore V Shinko1007India2026-10-28
David F Doe1008Russia2026-10-16
Faith L Stockham1009Canada2026-10-12
Wickens I Perin1010Spain2026-09-30
Aruna O Ostrosky1011Spain2026-10-13
Cody Y Garufi1012Italy2026-10-28
Maisha C Royster1013Russia2026-10-26
Adams A Ferencz1014Italy2026-09-29
Adams T Tollner1015France2026-10-19
Wickens L Caldarera1016France2026-10-27
Sinclair E Morasca1017Australia2026-10-28
James P Rim1018Japan2026-10-03
Leon E Oldroyd1019Spain2026-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh I MaletGermanyIvan Magalhaes PROPOSAL
Jennifer I PerinItalyStephen Shaw PROPOSAL
Munro L MacleadFranceXuxue Feng PROPOSAL
Isabel Z SchemmerFranceAnna Fali UNQUALIFIED
Jennifer D NestleAustraliaStephen Shaw PROPOSAL
Aika O PaprockiAustraliaXuxue Feng PROPOSAL
Aruna Q PerinGermanyBernardo Dominic PROPOSAL
Silvio Q MarrierJapanElwin Sharvill NEW
Nicolas U PerinGermanyAsiya Javayant RENEWAL
Ivar C FerenczRussiaAmy Elsner NEGOTIATION
Greenwood S OldroydArgentinaBernardo Dominic NEW
Leon H AmigonUnited KingdomAnna Fali NEGOTIATION
Aika N CaudyRussiaBernardo Dominic UNQUALIFIED
Deepesh H CaudyCanadaAnna Fali NEW
Kadeem K PoquetteCanadaAsiya Javayant NEW
Johnson J RulapaughFranceAsiya Javayant PROPOSAL
Deepesh L CaudyBrazilIvan Magalhaes NEGOTIATION
Aruna L WhobreyRussiaOnyama Limba RENEWAL
Tony J StockhamCanadaAnna Fali NEGOTIATION
Antonio A SchemmerItalyIvan Magalhaes UNQUALIFIED
Leon M OldroydRussiaAnna Fali QUALIFIED
Smith T InouyeAustraliaIvan Magalhaes NEGOTIATION
Mujtaba N ChuiSpainIoni Bowcher QUALIFIED
Greenwood M OldroydAustraliaBernardo Dominic PROPOSAL
Alejandro W NickaCanadaBernardo Dominic QUALIFIED
Arvin Z BologniaUnited KingdomStephen Shaw NEGOTIATION
Jennifer E CampainRussiaBernardo Dominic NEGOTIATION
Sinclair D FollerBrazilAnna Fali QUALIFIED
Silvio H OstroskyFranceBernardo Dominic QUALIFIED
Tony E NickaItalyBernardo Dominic RENEWAL
Salvatore X FerenczUnited KingdomIoni Bowcher NEGOTIATION
Aditya V MaletJapanBernardo Dominic RENEWAL
Jeanfrancois O ShinkoItalyAnna Fali RENEWAL
Wickens Y VocelkaAustraliaAnna Fali PROPOSAL
Octavia Y MacleadItalyAnna Fali RENEWAL
Ashley J AlbaresGermanyAsiya Javayant QUALIFIED
Kaitlin Y InouyeIndiaXuxue Feng UNQUALIFIED
Kadeem I SaylorsFranceAnna Fali NEGOTIATION
Mayumi T ButtJapanOnyama Limba QUALIFIED
Tony X AlbaresUnited KingdomBernardo Dominic PROPOSAL

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