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
Francesco A FlosiRussiaAsiya Javayant RENEWAL
Rodrigues B ShinkoCanadaStephen Shaw NEGOTIATION
Faith G DoeGermanyIoni Bowcher UNQUALIFIED
Isabel A OldroydRussiaIvan Magalhaes PROPOSAL
Sinclair Z KuskoArgentinaAmy Elsner NEW
Rodrigues H FlosiItalyBernardo Dominic QUALIFIED
Ricardo N RutaJapanElwin Sharvill NEW
Arvin G TollnerFranceBernardo Dominic NEW
Leon F PoquetteArgentinaElwin Sharvill QUALIFIED
Aditya U StensethSpainAmy Elsner RENEWAL
Clifford N AmigonBrazilStephen Shaw PROPOSAL
Emily H BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Jefferson L MorascaGermanyBernardo Dominic NEW
Jones P RutaUnited KingdomStephen Shaw QUALIFIED
Julie R SlusarskiJapanOnyama Limba NEGOTIATION
Munro K RoysterCanadaXuxue Feng NEGOTIATION
Kaitlin N CaudyUnited KingdomIoni Bowcher NEW
Arvin Q WaycottItalyIvan Magalhaes QUALIFIED
Chavez B IturbideIndiaIoni Bowcher RENEWAL
Tony B RulapaughJapanStephen Shaw PROPOSAL
Kaitlin M KolmetzRussiaAsiya Javayant RENEWAL
Murillo O BologniaRussiaXuxue Feng NEGOTIATION
Nicolas T NestleAustraliaIoni Bowcher RENEWAL
Mujtaba F InouyeBrazilStephen Shaw QUALIFIED
Leja E StockhamArgentinaAmy Elsner UNQUALIFIED
Francesco G NestleRussiaAsiya Javayant RENEWAL
Jennifer F ButtAustraliaElwin Sharvill QUALIFIED
Francesco Q FerenczCanadaAmy Elsner PROPOSAL
Jeanfrancois H DoeRussiaXuxue Feng NEW
Kadeem V PerinAustraliaIoni Bowcher PROPOSAL
Nicolas Q GillianJapanBernardo Dominic NEGOTIATION
Murillo M MarrierFranceIoni Bowcher UNQUALIFIED
Jeanfrancois P RulapaughJapanIoni Bowcher NEW
Cody F SlusarskiCanadaElwin Sharvill RENEWAL
Morrow U WaycottUnited KingdomElwin Sharvill QUALIFIED
Tony P CaudyUnited KingdomAsiya Javayant RENEWAL
Emily T OldroydCanadaXuxue Feng NEGOTIATION
Nicolas M WhobreyCanadaXuxue Feng NEGOTIATION
David G GlickCanadaElwin Sharvill UNQUALIFIED
Misaki F ButtJapanIoni Bowcher RENEWAL
Costa X PoquetteJapanIvan Magalhaes RENEWAL
Faith U FollerArgentinaAsiya Javayant QUALIFIED
Aruna J RimRussiaElwin Sharvill NEW
Jones I BriddickGermanyXuxue Feng PROPOSAL
Mujtaba G TollnerArgentinaBernardo Dominic UNQUALIFIED
Leon X StensethIndiaAmy Elsner QUALIFIED
Costa C KolmetzFranceAsiya Javayant NEGOTIATION
Julie Z DilliardFranceElwin Sharvill QUALIFIED
Cody E MacleadCanadaAsiya Javayant QUALIFIED
Ashley C CaudyBrazilOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey N DilliardJapanAmy Elsner PROPOSAL
Jeanfrancois Q MaletAustraliaIoni Bowcher QUALIFIED
David G WaycottUnited KingdomAmy Elsner PROPOSAL
Julie B IturbideJapanStephen Shaw UNQUALIFIED
Salvatore M CaldareraBrazilOnyama Limba UNQUALIFIED
Claire Z VocelkaFranceXuxue Feng RENEWAL
Rodrigues Z RulapaughFranceIvan Magalhaes NEW
Costa E PerinUnited KingdomAnna Fali QUALIFIED
Clifford F CaldareraAustraliaAnna Fali QUALIFIED
David K NickaGermanyStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo K FollerCanada2026-10-10Chapman, Ross E Esq PROPOSAL38Onyama Limba
1001Sinclair M KolmetzBrazil2026-10-21Chemel, James L Cpa RENEWAL39Ivan Magalhaes
1002Leja R ShinkoUnited Kingdom2026-10-23Chemel, James L Cpa NEW91Onyama Limba
1003Cody W CampainFrance2026-09-27King, Christopher A Esq NEGOTIATION3Anna Fali
1004Tony H MaletArgentina2026-10-24Chemel, James L Cpa NEW29Onyama Limba
1005Ashley J RoysterFrance2026-10-17Feltz Printing Service RENEWAL35Amy Elsner
1006Aika E IturbideItaly2026-09-29Commercial Press NEW47Elwin Sharvill
1007James Y IturbideBrazil2026-10-17Feiner Bros NEW16Elwin Sharvill
1008Jeanfrancois E FerenczIndia2026-10-11Chapman, Ross E Esq NEW72Elwin Sharvill
1009Antonio X WhobreyUnited Kingdom2026-10-16Printing Dimensions RENEWAL64Asiya Javayant
1010Silvio H GillianCanada2026-10-21Truhlar And Truhlar Attys RENEWAL10Ioni Bowcher
1011Jones F RimFrance2026-10-08King, Christopher A Esq RENEWAL26Amy Elsner
1012Aika J RulapaughGermany2026-10-01Benton, John B Jr QUALIFIED30Amy Elsner
1013Jefferson L DarakjyFrance2026-10-03Benton, John B Jr RENEWAL36Xuxue Feng
1014Isabel X DoeFrance2026-09-30Chapman, Ross E Esq NEW97Ivan Magalhaes
1015Ashley A OstroskyFrance2026-10-03Rangoni Of Florence RENEWAL67Onyama Limba
1016Rodrigues Q GauchoIndia2026-09-29King, Christopher A Esq UNQUALIFIED2Ivan Magalhaes
1017Deepesh T PoquetteCanada2026-10-19Rangoni Of Florence NEGOTIATION78Amy Elsner
1018Costa V PoquetteAustralia2026-10-16Buckley Miller Wright NEW79Amy Elsner
1019Kadeem A BowleyBrazil2026-09-28Buckley Miller Wright QUALIFIED51Amy Elsner
1020Costa C TollnerGermany2026-10-08Dorl, James J Esq NEGOTIATION74Asiya Javayant
1021Cody W MarrierSpain2026-10-03Dorl, James J Esq RENEWAL65Stephen Shaw
1022Murillo H RulapaughAustralia2026-09-28Feltz Printing Service QUALIFIED18Stephen Shaw
1023Smith B ChuiItaly2026-09-29King, Christopher A Esq NEGOTIATION88Bernardo Dominic
1024Alejandro W FlosiFrance2026-10-03Chemel, James L Cpa NEGOTIATION65Amy Elsner
1025Arvin K WieserJapan2026-10-22Rangoni Of Florence NEGOTIATION31Asiya Javayant
1026Leon A NickaSpain2026-09-26Chapman, Ross E Esq RENEWAL17Anna Fali
1027Jefferson H GauchoSpain2026-10-13King, Christopher A Esq UNQUALIFIED85Elwin Sharvill
1028Leja K PaprockiFrance2026-10-19Benton, John B Jr NEGOTIATION53Xuxue Feng
1029Leon C RutaItaly2026-10-01Commercial Press NEGOTIATION5Anna Fali
1030Leon Y GillianItaly2026-09-30Rangoni Of Florence NEGOTIATION68Ioni Bowcher
1031Murillo Z MaletSpain2026-10-05Rangoni Of Florence NEW68Anna Fali
1032Isabel W GillianBrazil2026-10-08Chanay, Jeffrey A Esq QUALIFIED70Stephen Shaw
1033Adams C MacleadJapan2026-10-24Chapman, Ross E Esq NEGOTIATION88Asiya Javayant
1034Leon M StensethSpain2026-09-27Feiner Bros RENEWAL60Anna Fali
1035Murillo W ShinkoBrazil2026-10-09Feltz Printing Service QUALIFIED46Elwin Sharvill
1036David X RutaRussia2026-10-14Commercial Press PROPOSAL61Xuxue Feng
1037Aika U SergiAustralia2026-09-26Truhlar And Truhlar Attys UNQUALIFIED70Elwin Sharvill
1038Leon G BologniaSpain2026-10-18Feltz Printing Service NEW32Ioni Bowcher
1039Costa I FollerIndia2026-10-10Rousseaux, Michael Esq NEGOTIATION10Onyama Limba
1040Nicolas R StockhamAustralia2026-10-01Printing Dimensions QUALIFIED87Anna Fali
1041Emily A WaycottGermany2026-09-28Rangoni Of Florence NEGOTIATION39Ivan Magalhaes
1042Jeanfrancois Z StockhamFrance2026-10-24Feltz Printing Service UNQUALIFIED40Xuxue Feng
1043Wickens J PoquetteUnited Kingdom2026-10-15Chemel, James L Cpa QUALIFIED5Onyama Limba
1044Mujtaba P SlusarskiCanada2026-10-10Rangoni Of Florence PROPOSAL24Stephen Shaw
1045Darci L ButtJapan2026-10-01Chanay, Jeffrey A Esq NEGOTIATION9Asiya Javayant
1046James Y DilliardGermany2026-10-11Printing Dimensions NEGOTIATION2Asiya Javayant
1047Wickens I RoysterJapan2026-10-05Chanay, Jeffrey A Esq UNQUALIFIED77Anna Fali
1048Tony Y InouyeArgentina2026-10-01Rangoni Of Florence PROPOSAL58Stephen Shaw
1049Tony P StensethRussia2026-10-06Dorl, James J Esq UNQUALIFIED92Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aditya X RutaGermanyXuxue Feng UNQUALIFIED
James T AmigonFranceOnyama Limba QUALIFIED
Aditya K RimItalyAmy Elsner NEW
Aditya E ShinkoCanadaAmy Elsner PROPOSAL
Antonio C StensethIndiaAmy Elsner NEGOTIATION
Claire N RoysterUnited KingdomXuxue Feng QUALIFIED
Juan E OldroydCanadaStephen Shaw NEW
Mujtaba M OldroydJapanStephen Shaw QUALIFIED
Darci L AmigonArgentinaAmy Elsner QUALIFIED
James P TollnerRussiaIvan Magalhaes RENEWAL
Aditya E GarufiSpainXuxue Feng RENEWAL
Smith S GillianUnited KingdomXuxue Feng RENEWAL
Johnson Y ShinkoUnited KingdomAmy Elsner PROPOSAL
Emily A ButtItalyIvan Magalhaes QUALIFIED
Jones S ButtCanadaAnna Fali NEGOTIATION
Stacey B OldroydJapanStephen Shaw UNQUALIFIED
Silvio P RoysterItalyBernardo Dominic QUALIFIED
Faith W MaletCanadaStephen Shaw QUALIFIED
Kaitlin U NestleGermanyIvan Magalhaes NEGOTIATION
Claire L OstroskyArgentinaIvan Magalhaes NEGOTIATION
Darci E SaylorsSpainElwin Sharvill NEW
Julie Q FigeroaSpainAsiya Javayant NEGOTIATION
Aika Y ChuiRussiaElwin Sharvill NEGOTIATION
Murillo B PerinCanadaElwin Sharvill PROPOSAL
Ivar Q SaylorsBrazilAmy Elsner PROPOSAL
Claire L MorascaSpainAsiya Javayant UNQUALIFIED
Antonio X KolmetzUnited KingdomAmy Elsner NEGOTIATION
Faith X FlosiFranceOnyama Limba PROPOSAL
Rodrigues V WieserArgentinaIvan Magalhaes NEW
Kadeem P FlosiItalyXuxue Feng NEW
Kaitlin G MaletJapanElwin Sharvill RENEWAL
Emily S KuskoJapanIoni Bowcher QUALIFIED
Maria W RoysterSpainStephen Shaw RENEWAL
Leon K WhobreyIndiaAmy Elsner UNQUALIFIED
Octavia R RutaBrazilAnna Fali PROPOSAL
Costa O CaldareraArgentinaAmy Elsner PROPOSAL
Sinclair P MorascaJapanBernardo Dominic RENEWAL
Wickens B FlosiBrazilAsiya Javayant QUALIFIED
Ivar A RoysterCanadaIoni Bowcher QUALIFIED
Jennifer U StensethItalyAsiya Javayant PROPOSAL
Aditya W KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Kadeem K MaletAustraliaAsiya Javayant NEW
James V GarufiCanadaBernardo Dominic NEW
Chavez D BriddickAustraliaAmy Elsner RENEWAL
Smith F OstroskyIndiaAnna Fali UNQUALIFIED
Tony B CaudyAustraliaBernardo Dominic RENEWAL
Ivar K GillianBrazilOnyama Limba PROPOSAL
Jefferson C RutaJapanIoni Bowcher NEGOTIATION
Cody H AlbaresItalyBernardo Dominic NEW
Nicolas P SchemmerRussiaBernardo Dominic PROPOSAL
Frozen Columns
Name
Morrow F Flosi
Munro A Ostrosky
Cody D Doe
Kaitlin K Whobrey
Cody K Amigon
Wickens T Saylors
Smith F Tollner
Leja K Whobrey
Arvin L Vocelka
Greenwood K Foller
Stacey P Slusarski
Jennifer A Flosi
Maria B Caudy
David F Amigon
Kaitlin K Bolognia
Arvin Y Ostrosky
Smith O Sergi
Silvio H Doe
Ashley D Waycott
Misaki D Ferencz
Julie Z Shinko
David T Bowley
Octavia X Campain
Morrow Q Saylors
Kaitlin S Glick
Nicolas Z Ostrosky
Munro Q Darakjy
Ivar O Perin
Alejandro L Gillian
Mayumi V Wieser
Cody K Darakjy
Cody J Slusarski
Darci O Caudy
Morrow R Schemmer
Juan U Sergi
Kaitlin K Doe
Deepesh F Gaucho
Jennifer W Schemmer
Misaki M Ferencz
Francesco B Malet
Clifford K Schemmer
Claire V Chui
Aika D Figeroa
Octavia V Foller
Maria U Whobrey
Jones V Foller
Jones L Ruta
Costa J Bolognia
Chavez Q Schemmer
Francesco U Oldroyd
IdCountryDate
1000Brazil2026-09-28
1001Italy2026-10-13
1002India2026-10-05
1003France2026-10-13
1004Spain2026-10-03
1005Russia2026-10-12
1006Japan2026-09-29
1007Germany2026-10-22
1008United Kingdom2026-10-12
1009France2026-10-18
1010Italy2026-09-28
1011Italy2026-10-01
1012Canada2026-10-08
1013United Kingdom2026-09-27
1014Brazil2026-09-29
1015Argentina2026-10-20
1016Argentina2026-10-02
1017Brazil2026-10-07
1018Italy2026-10-16
1019Russia2026-10-24
1020United Kingdom2026-10-04
1021India2026-10-08
1022Russia2026-10-02
1023Italy2026-10-23
1024Brazil2026-09-28
1025Germany2026-10-23
1026Canada2026-10-24
1027United Kingdom2026-09-27
1028Russia2026-09-28
1029Argentina2026-10-22
1030Italy2026-10-20
1031Argentina2026-09-29
1032Spain2026-09-25
1033Italy2026-10-02
1034Germany2026-10-07
1035Argentina2026-10-22
1036Japan2026-09-26
1037Japan2026-09-29
1038France2026-10-10
1039Germany2026-10-04
1040Germany2026-10-17
1041Spain2026-10-10
1042Canada2026-09-30
1043Argentina2026-10-16
1044Russia2026-10-17
1045Argentina2026-09-29
1046Spain2026-09-30
1047Germany2026-09-27
1048Brazil2026-09-26
1049Spain2026-09-29

On-Demand Data

NameIdCountryDate
Antonio E Inouye1000Italy2026-10-22
Sinclair I Kolmetz1001Russia2026-10-06
Isabel X Shinko1002Russia2026-10-16
Maria I Briddick1003Canada2026-10-14
Francesco K Rim1004Germany2026-09-27
Maisha C Caudy1005India2026-09-26
Ricardo N Malet1006France2026-09-28
Alejandro N Wieser1007Russia2026-10-12
Morrow E Figeroa1008United Kingdom2026-10-22
Julie C Nestle1009France2026-10-06
Jefferson T Iturbide1010Australia2026-10-02
Arvin I Paprocki1011United Kingdom2026-10-01
Stacey P Briddick1012Brazil2026-10-03
Alejandro Y Saylors1013India2026-10-03
Nicolas F Kolmetz1014Australia2026-09-27
Morrow I Stockham1015Argentina2026-10-04
Jefferson D Figeroa1016Spain2026-10-13
Clifford X Stockham1017India2026-10-07
Tony L Wieser1018France2026-10-10
Claire W Figeroa1019United Kingdom2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio Y AlbaresCanadaAsiya Javayant UNQUALIFIED
Jones T BologniaUnited KingdomAsiya Javayant PROPOSAL
Emily U NestleAustraliaBernardo Dominic QUALIFIED
Jones O FollerUnited KingdomAsiya Javayant NEGOTIATION
Tony D KuskoIndiaIoni Bowcher NEW
Ashley H StockhamFranceIvan Magalhaes NEW
Isabel P SergiBrazilElwin Sharvill QUALIFIED
Claire N MaletFranceAnna Fali UNQUALIFIED
Mayumi J StockhamJapanIvan Magalhaes QUALIFIED
Adams G AmigonFranceStephen Shaw UNQUALIFIED
Aditya U ChuiJapanXuxue Feng PROPOSAL
Clifford F GarufiIndiaXuxue Feng PROPOSAL
Deepesh D StensethAustraliaAmy Elsner NEGOTIATION
Cody J FerenczSpainXuxue Feng PROPOSAL
Octavia W VenereArgentinaBernardo Dominic UNQUALIFIED
Isabel A BowleyArgentinaStephen Shaw PROPOSAL
Salvatore V RimSpainBernardo Dominic NEGOTIATION
Jeanfrancois W OstroskyGermanyElwin Sharvill RENEWAL
Octavia P MaletFranceIoni Bowcher QUALIFIED
Izzy P NestleIndiaAnna Fali QUALIFIED
Alejandro K MorascaIndiaAsiya Javayant NEW
Leon B NickaFranceAsiya Javayant QUALIFIED
Wickens R GarufiItalyElwin Sharvill NEGOTIATION
Mayumi X NestleBrazilAmy Elsner NEGOTIATION
Izzy K StensethArgentinaElwin Sharvill RENEWAL
Leja K IturbideArgentinaAsiya Javayant PROPOSAL
Nicolas F WieserSpainAsiya Javayant NEW
Jones Y FigeroaCanadaAsiya Javayant PROPOSAL
Aditya E ButtSpainBernardo Dominic PROPOSAL
Jennifer C MaletUnited KingdomElwin Sharvill RENEWAL
Costa U VocelkaAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois J TollnerCanadaAsiya Javayant PROPOSAL
Wickens Z OstroskyIndiaStephen Shaw PROPOSAL
Aika X RoysterRussiaIvan Magalhaes UNQUALIFIED
Jennifer B ButtSpainIvan Magalhaes QUALIFIED
Francesco Y StensethJapanElwin Sharvill QUALIFIED
Ashley N GarufiBrazilAmy Elsner UNQUALIFIED
Arvin T VenereBrazilIvan Magalhaes NEGOTIATION
Wickens V MaletJapanAmy Elsner PROPOSAL
Greenwood O SaylorsUnited KingdomBernardo Dominic 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>