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
Leja K WieserRussiaElwin Sharvill PROPOSAL
Izzy C FollerUnited KingdomBernardo Dominic PROPOSAL
Sinclair N BowleyBrazilXuxue Feng QUALIFIED
Maisha S FollerItalyIvan Magalhaes PROPOSAL
Kaitlin K SchemmerGermanyIvan Magalhaes UNQUALIFIED
Leja K GillianUnited KingdomXuxue Feng QUALIFIED
Misaki X ShinkoSpainOnyama Limba UNQUALIFIED
Sinclair P MaletRussiaAsiya Javayant NEW
Emily P BologniaCanadaIoni Bowcher NEW
Leon B KolmetzJapanStephen Shaw RENEWAL
Silvio J BriddickArgentinaIvan Magalhaes NEW
Ivar Z GillianGermanyStephen Shaw RENEWAL
Emily F MaletUnited KingdomAsiya Javayant UNQUALIFIED
Alejandro Y CaudyAustraliaAnna Fali UNQUALIFIED
Deepesh K StensethJapanAnna Fali NEGOTIATION
Jennifer B AmigonItalyIvan Magalhaes NEW
Costa E MaletBrazilBernardo Dominic NEGOTIATION
Greenwood R VenereCanadaIvan Magalhaes NEGOTIATION
Smith K SergiArgentinaStephen Shaw QUALIFIED
Aditya B OldroydArgentinaIvan Magalhaes NEGOTIATION
Ricardo N MaletFranceBernardo Dominic NEW
Costa V CaldareraGermanyAsiya Javayant NEW
Morrow M GauchoFranceElwin Sharvill QUALIFIED
Jeanfrancois M MarrierBrazilOnyama Limba UNQUALIFIED
Antonio H FigeroaJapanElwin Sharvill UNQUALIFIED
Johnson Q CaldareraArgentinaIvan Magalhaes RENEWAL
Wickens A MaletBrazilAsiya Javayant RENEWAL
Antonio R ShinkoItalyIoni Bowcher QUALIFIED
Leon I RimAustraliaStephen Shaw RENEWAL
Mayumi U WaycottAustraliaIoni Bowcher QUALIFIED
Faith B InouyeIndiaAmy Elsner NEGOTIATION
Munro J FlosiGermanyOnyama Limba UNQUALIFIED
Chavez P PoquetteIndiaIoni Bowcher NEGOTIATION
Kadeem X MaletCanadaIoni Bowcher UNQUALIFIED
Antonio A SaylorsAustraliaStephen Shaw NEW
Deepesh F OstroskyAustraliaXuxue Feng NEGOTIATION
Leon N KolmetzIndiaAmy Elsner RENEWAL
Izzy W FlosiJapanAnna Fali UNQUALIFIED
Aditya M ButtArgentinaIoni Bowcher NEW
Munro Y DilliardIndiaIoni Bowcher QUALIFIED
Jefferson T NestleFranceAmy Elsner NEGOTIATION
Mujtaba W OldroydSpainIvan Magalhaes UNQUALIFIED
Leja N StensethIndiaIvan Magalhaes QUALIFIED
Maria O WaycottFranceIvan Magalhaes NEW
Kadeem L StensethArgentinaOnyama Limba NEW
Leon F OldroydFranceElwin Sharvill NEW
Maisha X PaprockiJapanIvan Magalhaes QUALIFIED
Jeanfrancois A GarufiCanadaElwin Sharvill NEGOTIATION
Johnson U IturbideCanadaStephen Shaw PROPOSAL
Darci O MorascaFranceAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Juan F ChuiIndiaAnna Fali RENEWAL
Sinclair M PaprockiItalyStephen Shaw QUALIFIED
Johnson I ShinkoRussiaAsiya Javayant PROPOSAL
Julie T KuskoSpainAnna Fali UNQUALIFIED
Kadeem V FollerSpainAsiya Javayant PROPOSAL
Darci P TollnerUnited KingdomIoni Bowcher NEGOTIATION
Aika F MacleadSpainBernardo Dominic NEW
Costa T ButtBrazilIvan Magalhaes RENEWAL
Claire H SaylorsRussiaIvan Magalhaes NEGOTIATION
Isabel C OldroydGermanyElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy H FigeroaIndia2026-08-26Morlong Associates NEGOTIATION92Ivan Magalhaes
1001Leja P KuskoBrazil2026-09-09Buckley Miller Wright PROPOSAL91Elwin Sharvill
1002Aruna C SlusarskiGermany2026-08-27Buckley Miller Wright NEW80Ivan Magalhaes
1003Cody D VenereRussia2026-08-29Commercial Press UNQUALIFIED75Ioni Bowcher
1004Arvin Z GlickAustralia2026-09-11Rangoni Of Florence QUALIFIED63Xuxue Feng
1005Aruna O ChuiBrazil2026-09-08Truhlar And Truhlar Attys NEGOTIATION93Bernardo Dominic
1006Juan L KuskoRussia2026-08-31Rousseaux, Michael Esq NEW1Onyama Limba
1007Chavez L InouyeAustralia2026-09-15Feiner Bros PROPOSAL80Xuxue Feng
1008Morrow Z BriddickBrazil2026-09-19Chanay, Jeffrey A Esq PROPOSAL38Ivan Magalhaes
1009Kadeem S StockhamGermany2026-09-03Dorl, James J Esq NEGOTIATION89Stephen Shaw
1010Leja U FigeroaCanada2026-08-24King, Christopher A Esq RENEWAL90Ivan Magalhaes
1011Kaitlin U WieserUnited Kingdom2026-09-05Morlong Associates NEW5Stephen Shaw
1012Claire C BowleyArgentina2026-09-07King, Christopher A Esq RENEWAL76Stephen Shaw
1013Ricardo B OstroskyRussia2026-09-06Chemel, James L Cpa RENEWAL37Xuxue Feng
1014Ricardo Y AlbaresRussia2026-08-22Benton, John B Jr QUALIFIED89Asiya Javayant
1015Costa I CaldareraBrazil2026-09-07Truhlar And Truhlar Attys UNQUALIFIED73Stephen Shaw
1016Aika E SchemmerGermany2026-08-23Commercial Press UNQUALIFIED42Elwin Sharvill
1017Aika G RutaBrazil2026-09-14Feltz Printing Service PROPOSAL6Amy Elsner
1018Jefferson K CaudySpain2026-09-08Feltz Printing Service NEW43Amy Elsner
1019Sinclair F MarrierSpain2026-09-12Truhlar And Truhlar Attys UNQUALIFIED66Amy Elsner
1020Smith A AmigonSpain2026-09-02Dorl, James J Esq PROPOSAL43Bernardo Dominic
1021Morrow L WieserAustralia2026-09-14King, Christopher A Esq PROPOSAL91Stephen Shaw
1022Ricardo Q WaycottArgentina2026-09-07Feiner Bros NEW78Ivan Magalhaes
1023Jones R GlickAustralia2026-09-18Rangoni Of Florence RENEWAL3Elwin Sharvill
1024Silvio Q GarufiItaly2026-09-03Feiner Bros QUALIFIED77Bernardo Dominic
1025Claire Z StensethSpain2026-09-06Benton, John B Jr UNQUALIFIED62Ioni Bowcher
1026Mujtaba Q KolmetzRussia2026-09-17Rangoni Of Florence NEGOTIATION91Xuxue Feng
1027Isabel H OldroydCanada2026-08-29Commercial Press QUALIFIED82Bernardo Dominic
1028Mayumi C GarufiJapan2026-08-30Buckley Miller Wright QUALIFIED49Ivan Magalhaes
1029Jennifer N RutaJapan2026-09-01Chanay, Jeffrey A Esq NEGOTIATION93Xuxue Feng
1030Murillo B MaletBrazil2026-08-24Truhlar And Truhlar Attys UNQUALIFIED28Anna Fali
1031Leja B StensethBrazil2026-09-14Feltz Printing Service NEW89Ivan Magalhaes
1032Misaki Q ButtAustralia2026-09-04Commercial Press NEW33Bernardo Dominic
1033Johnson H KolmetzSpain2026-09-01Printing Dimensions NEW70Asiya Javayant
1034Nicolas F MorascaJapan2026-09-05Chapman, Ross E Esq PROPOSAL91Anna Fali
1035Smith O RutaBrazil2026-09-03Rousseaux, Michael Esq RENEWAL11Ivan Magalhaes
1036Alejandro M WieserSpain2026-09-19Benton, John B Jr UNQUALIFIED39Elwin Sharvill
1037Adams W WieserIndia2026-09-13Dorl, James J Esq RENEWAL86Bernardo Dominic
1038Izzy S SaylorsSpain2026-09-03Rousseaux, Michael Esq UNQUALIFIED9Elwin Sharvill
1039Tony W NickaArgentina2026-09-16Commercial Press PROPOSAL84Amy Elsner
1040Maisha O BologniaGermany2026-09-19Printing Dimensions RENEWAL29Asiya Javayant
1041Antonio Y ChuiFrance2026-08-30Chapman, Ross E Esq NEGOTIATION97Xuxue Feng
1042Tony J FerenczRussia2026-08-22Feltz Printing Service NEW82Xuxue Feng
1043Clifford H ChuiCanada2026-09-13Buckley Miller Wright PROPOSAL83Elwin Sharvill
1044Greenwood N MaletSpain2026-08-27Chemel, James L Cpa NEGOTIATION31Ioni Bowcher
1045Costa K VenereCanada2026-09-02Dorl, James J Esq PROPOSAL17Ioni Bowcher
1046Mujtaba S SlusarskiRussia2026-08-23Feltz Printing Service PROPOSAL2Xuxue Feng
1047Morrow J KolmetzFrance2026-08-22Chemel, James L Cpa RENEWAL3Ioni Bowcher
1048Adams A FigeroaIndia2026-09-03Rangoni Of Florence QUALIFIED40Onyama Limba
1049Adams U MaletBrazil2026-08-23Rangoni Of Florence QUALIFIED22Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Cody K MaletJapanXuxue Feng UNQUALIFIED
Wickens R WhobreyRussiaBernardo Dominic NEGOTIATION
Sinclair N DilliardSpainAsiya Javayant NEGOTIATION
Maisha F GarufiJapanBernardo Dominic RENEWAL
Tony O PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Ivar P RulapaughItalyElwin Sharvill RENEWAL
Alejandro U DoeGermanyAmy Elsner NEW
Chavez B FlosiIndiaAsiya Javayant NEW
Costa L RutaItalyOnyama Limba RENEWAL
Adams B PerinRussiaXuxue Feng PROPOSAL
Julie D WieserItalyXuxue Feng QUALIFIED
Sinclair O MarrierRussiaIvan Magalhaes UNQUALIFIED
Adams X PoquetteIndiaStephen Shaw NEW
Smith K CampainIndiaAnna Fali NEGOTIATION
Salvatore V TollnerFranceBernardo Dominic QUALIFIED
David H DilliardJapanElwin Sharvill UNQUALIFIED
Murillo R DilliardRussiaStephen Shaw RENEWAL
Morrow N SlusarskiIndiaIvan Magalhaes NEW
Murillo Q VenereAustraliaAnna Fali NEW
Maisha B KuskoArgentinaAsiya Javayant UNQUALIFIED
Faith P SaylorsIndiaOnyama Limba NEGOTIATION
Chavez V VenereUnited KingdomElwin Sharvill RENEWAL
Stacey U SlusarskiRussiaIoni Bowcher RENEWAL
Aika Z StensethRussiaXuxue Feng NEW
Cody K BologniaAustraliaXuxue Feng PROPOSAL
Emily O RulapaughGermanyBernardo Dominic RENEWAL
Stacey U VenereRussiaXuxue Feng NEW
Johnson T ShinkoBrazilAnna Fali UNQUALIFIED
Maria Z DoeIndiaIvan Magalhaes PROPOSAL
Emily K TollnerBrazilElwin Sharvill UNQUALIFIED
Nicolas P MacleadSpainAmy Elsner PROPOSAL
Aruna L DoeItalyAsiya Javayant UNQUALIFIED
Leon F PoquetteCanadaBernardo Dominic NEGOTIATION
Nicolas I PerinFranceIoni Bowcher QUALIFIED
Jeanfrancois C FigeroaSpainAsiya Javayant NEGOTIATION
Munro C MaletCanadaXuxue Feng PROPOSAL
Jones M BologniaUnited KingdomStephen Shaw RENEWAL
Juan R VenereFranceElwin Sharvill NEGOTIATION
Smith Y WieserIndiaIvan Magalhaes RENEWAL
Smith W PoquetteJapanXuxue Feng NEGOTIATION
Mayumi F RimAustraliaAnna Fali NEW
Maria H NestleAustraliaBernardo Dominic UNQUALIFIED
Kadeem E CaudyIndiaIvan Magalhaes PROPOSAL
Jefferson K SaylorsBrazilIoni Bowcher PROPOSAL
Silvio K RutaJapanOnyama Limba UNQUALIFIED
Johnson S BowleyIndiaAnna Fali NEW
Juan J FlosiSpainStephen Shaw NEW
Greenwood M BriddickGermanyOnyama Limba PROPOSAL
Jones Z ShinkoIndiaIvan Magalhaes UNQUALIFIED
Aditya P BowleyFranceAnna Fali QUALIFIED
Frozen Columns
Name
Silvio T Wieser
Kaitlin O Bowley
Jones X Perin
Julie L Stockham
Adams U Doe
Jones B Foller
Darci H Ferencz
Sinclair L Nicka
Isabel J Paprocki
Silvio L Ferencz
Clifford P Oldroyd
Antonio V Waycott
Cody M Darakjy
Greenwood U Chui
Ricardo K Figeroa
Leja Q Gillian
David P Dilliard
Julie G Morasca
Ashley Z Oldroyd
Leja I Malet
Salvatore H Sergi
Antonio X Gillian
Rodrigues S Amigon
Cody W Ferencz
Darci Q Ferencz
Maisha V Glick
Nicolas U Schemmer
Tony X Flosi
Alejandro I Ostrosky
Nicolas H Royster
Claire M Briddick
Rodrigues L Foller
Aruna T Vocelka
Maria V Iturbide
Johnson Z Oldroyd
Aditya Y Shinko
Darci O Malet
Johnson W Nicka
Jefferson Q Oldroyd
Deepesh P Morasca
Julie C Glick
Silvio E Shinko
Jennifer N Malet
Misaki Y Waycott
Ashley B Royster
Isabel G Whobrey
Stacey U Venere
Arvin P Inouye
Ivar C Saylors
Isabel O Ferencz
IdCountryDate
1000Spain2026-09-08
1001Russia2026-09-06
1002Spain2026-08-31
1003Australia2026-09-09
1004Spain2026-09-06
1005Canada2026-09-06
1006India2026-08-24
1007Russia2026-09-03
1008Russia2026-08-31
1009Spain2026-09-02
1010India2026-08-25
1011Italy2026-09-01
1012France2026-09-19
1013Brazil2026-09-01
1014Canada2026-09-01
1015Spain2026-09-20
1016India2026-08-30
1017Japan2026-09-05
1018Canada2026-08-24
1019Russia2026-09-13
1020Argentina2026-09-01
1021Italy2026-08-22
1022Italy2026-09-18
1023France2026-09-09
1024Russia2026-09-04
1025Canada2026-09-02
1026Canada2026-08-27
1027Russia2026-09-10
1028Canada2026-09-20
1029Japan2026-08-22
1030Argentina2026-09-03
1031Russia2026-09-08
1032Italy2026-09-20
1033United Kingdom2026-09-18
1034Canada2026-09-01
1035Italy2026-09-06
1036Canada2026-09-15
1037Brazil2026-09-10
1038Germany2026-09-12
1039Australia2026-09-10
1040Italy2026-09-03
1041Germany2026-09-18
1042United Kingdom2026-09-04
1043United Kingdom2026-08-24
1044France2026-09-02
1045Germany2026-09-05
1046Russia2026-09-12
1047Canada2026-09-12
1048Australia2026-09-11
1049Japan2026-08-25

On-Demand Data

NameIdCountryDate
Claire T Briddick1000Canada2026-08-23
Ashley X Figeroa1001United Kingdom2026-09-10
Stacey E Garufi1002Canada2026-09-02
Maria U Tollner1003Canada2026-09-03
Salvatore A Perin1004Germany2026-08-25
Leon J Caudy1005Canada2026-09-15
Chavez A Iturbide1006Japan2026-09-17
Clifford Z Saylors1007India2026-09-13
Jefferson Y Rim1008France2026-09-13
Julie Q Darakjy1009Germany2026-09-11
Deepesh Y Kusko1010United Kingdom2026-09-03
Smith B Bolognia1011France2026-08-23
Juan M Gillian1012Argentina2026-09-20
Mujtaba K Gillian1013Canada2026-09-18
Adams H Tollner1014Italy2026-09-14
David D Garufi1015Japan2026-09-07
Wickens L Royster1016Brazil2026-08-23
Maisha V Rim1017Canada2026-09-01
James H Venere1018Australia2026-08-28
Jennifer K Glick1019Japan2026-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna E NestleArgentinaAnna Fali RENEWAL
Kaitlin P CampainFranceOnyama Limba RENEWAL
Julie X TollnerItalyAsiya Javayant UNQUALIFIED
Misaki N CaudyUnited KingdomXuxue Feng NEGOTIATION
Alejandro M MaletAustraliaIvan Magalhaes UNQUALIFIED
Misaki V WaycottBrazilOnyama Limba NEGOTIATION
Claire L FlosiGermanyAmy Elsner NEGOTIATION
Tony Y BriddickRussiaElwin Sharvill RENEWAL
Nicolas E PaprockiIndiaIvan Magalhaes PROPOSAL
Smith R GauchoAustraliaStephen Shaw QUALIFIED
Sinclair O WieserUnited KingdomAnna Fali UNQUALIFIED
Johnson C IturbideSpainAmy Elsner UNQUALIFIED
Faith K BriddickFranceAnna Fali QUALIFIED
Sinclair D SaylorsIndiaAmy Elsner NEW
Munro U ChuiArgentinaXuxue Feng QUALIFIED
Smith D BologniaIndiaOnyama Limba QUALIFIED
Emily Z RoysterItalyIoni Bowcher UNQUALIFIED
Kadeem S WieserIndiaIvan Magalhaes RENEWAL
Nicolas C MaletItalyBernardo Dominic QUALIFIED
Jefferson P KuskoItalyIoni Bowcher PROPOSAL
Jeanfrancois A VenereUnited KingdomAsiya Javayant QUALIFIED
Darci U RutaItalyAmy Elsner RENEWAL
Aditya P DilliardAustraliaOnyama Limba NEGOTIATION
Claire N WieserCanadaStephen Shaw PROPOSAL
Aika B WieserRussiaIvan Magalhaes PROPOSAL
Antonio K StensethRussiaXuxue Feng UNQUALIFIED
Maisha H DilliardSpainElwin Sharvill PROPOSAL
Tony T WieserBrazilOnyama Limba RENEWAL
Cody U ChuiItalyStephen Shaw QUALIFIED
Salvatore B FerenczSpainBernardo Dominic RENEWAL
Wickens D ChuiRussiaAsiya Javayant PROPOSAL
Wickens F DoeBrazilAsiya Javayant UNQUALIFIED
Antonio N ShinkoUnited KingdomXuxue Feng NEGOTIATION
Alejandro F AmigonRussiaAnna Fali PROPOSAL
Deepesh Z BriddickSpainIoni Bowcher NEW
Ivar R ShinkoCanadaIoni Bowcher QUALIFIED
Misaki J DarakjyIndiaElwin Sharvill QUALIFIED
Izzy U IturbideRussiaIoni Bowcher RENEWAL
Jones T OldroydSpainAsiya Javayant QUALIFIED
Jeanfrancois F RulapaughAustraliaElwin Sharvill 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>