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
Mujtaba A NestleIndiaXuxue Feng PROPOSAL
Mujtaba N KolmetzGermanyIvan Magalhaes UNQUALIFIED
Smith K NestleRussiaIoni Bowcher RENEWAL
Greenwood U WieserAustraliaBernardo Dominic UNQUALIFIED
Arvin Q FollerArgentinaAnna Fali RENEWAL
Misaki H GarufiAustraliaAsiya Javayant PROPOSAL
Aditya V DilliardUnited KingdomAnna Fali UNQUALIFIED
Isabel R DoeSpainAnna Fali NEGOTIATION
Isabel S ButtAustraliaOnyama Limba PROPOSAL
David Y DarakjyFranceBernardo Dominic RENEWAL
Rodrigues X StensethGermanyXuxue Feng QUALIFIED
Cody O StensethFranceBernardo Dominic NEW
James S InouyeRussiaBernardo Dominic PROPOSAL
Adams B FigeroaItalyAmy Elsner PROPOSAL
Antonio G CaldareraArgentinaStephen Shaw NEGOTIATION
Ashley C MaletCanadaAmy Elsner RENEWAL
Tony F RoysterSpainAnna Fali RENEWAL
Deepesh M FigeroaRussiaStephen Shaw PROPOSAL
Jennifer C CaudySpainXuxue Feng NEW
Wickens O WaycottSpainIoni Bowcher UNQUALIFIED
Morrow S CampainJapanAmy Elsner RENEWAL
Mayumi R TollnerBrazilAnna Fali QUALIFIED
Smith G KuskoUnited KingdomElwin Sharvill NEW
Isabel Z GarufiCanadaBernardo Dominic NEGOTIATION
Mujtaba L MorascaGermanyIoni Bowcher PROPOSAL
Ivar P SlusarskiCanadaIvan Magalhaes NEGOTIATION
Deepesh D RimBrazilAnna Fali NEGOTIATION
Murillo J WaycottFranceAsiya Javayant NEW
Claire O MorascaSpainIvan Magalhaes NEGOTIATION
Murillo D GarufiCanadaIvan Magalhaes QUALIFIED
Kadeem G ButtItalyAmy Elsner UNQUALIFIED
Kadeem U VocelkaFranceAmy Elsner NEGOTIATION
Ricardo E FigeroaRussiaIoni Bowcher NEGOTIATION
Jeanfrancois P MorascaAustraliaAsiya Javayant RENEWAL
Juan E AmigonRussiaAmy Elsner NEW
Munro G MorascaArgentinaIvan Magalhaes PROPOSAL
Arvin I OstroskyRussiaBernardo Dominic QUALIFIED
Maria W SlusarskiGermanyBernardo Dominic UNQUALIFIED
Maisha Z ButtSpainBernardo Dominic QUALIFIED
Francesco B WaycottCanadaIvan Magalhaes RENEWAL
Francesco Q PerinJapanAnna Fali UNQUALIFIED
Jeanfrancois T RutaRussiaAsiya Javayant NEW
Deepesh O WieserJapanOnyama Limba UNQUALIFIED
Jeanfrancois C OldroydJapanElwin Sharvill NEW
Misaki E BologniaSpainAnna Fali UNQUALIFIED
Alejandro M AmigonAustraliaAsiya Javayant RENEWAL
Ricardo W FigeroaSpainXuxue Feng RENEWAL
Leon S MacleadArgentinaAsiya Javayant RENEWAL
James T ShinkoJapanXuxue Feng RENEWAL
Francesco R MaletRussiaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas T DilliardItalyBernardo Dominic UNQUALIFIED
Smith R VenereSpainBernardo Dominic RENEWAL
Ricardo Y WhobreySpainIoni Bowcher NEW
Mujtaba X SchemmerItalyStephen Shaw UNQUALIFIED
Misaki Q GarufiBrazilXuxue Feng UNQUALIFIED
Claire C DoeCanadaElwin Sharvill QUALIFIED
Stacey P InouyeGermanyOnyama Limba NEW
Octavia D RulapaughSpainAmy Elsner QUALIFIED
James B ButtJapanXuxue Feng UNQUALIFIED
Clifford A FigeroaAustraliaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy H NestleRussia2026-08-21Commercial Press QUALIFIED52Bernardo Dominic
1001Silvio L OstroskyIndia2026-08-31Rangoni Of Florence RENEWAL42Elwin Sharvill
1002Greenwood C WhobreyFrance2026-08-29Dorl, James J Esq NEGOTIATION22Stephen Shaw
1003Faith W KolmetzCanada2026-09-01Chapman, Ross E Esq RENEWAL7Asiya Javayant
1004Rodrigues X VenereAustralia2026-08-21Rangoni Of Florence RENEWAL9Anna Fali
1005Maisha O FigeroaCanada2026-09-07Feiner Bros NEW85Ivan Magalhaes
1006Silvio X BriddickJapan2026-09-02Dorl, James J Esq RENEWAL9Ivan Magalhaes
1007Ashley T FlosiUnited Kingdom2026-08-26Feltz Printing Service PROPOSAL48Xuxue Feng
1008Rodrigues T KolmetzRussia2026-09-18Chemel, James L Cpa RENEWAL67Elwin Sharvill
1009Jennifer S AmigonFrance2026-08-25Feiner Bros RENEWAL23Ioni Bowcher
1010Wickens T InouyeCanada2026-09-12Rangoni Of Florence UNQUALIFIED50Bernardo Dominic
1011Jefferson U WaycottFrance2026-08-30Dorl, James J Esq NEW60Anna Fali
1012Mujtaba L NickaBrazil2026-09-01Benton, John B Jr PROPOSAL92Ivan Magalhaes
1013Antonio A GillianIndia2026-08-21Truhlar And Truhlar Attys PROPOSAL36Ioni Bowcher
1014Octavia D OstroskyGermany2026-09-15Buckley Miller Wright RENEWAL17Xuxue Feng
1015Darci K BriddickAustralia2026-08-24Rousseaux, Michael Esq QUALIFIED73Xuxue Feng
1016Deepesh I WieserFrance2026-09-10Commercial Press PROPOSAL19Onyama Limba
1017Octavia T MorascaGermany2026-09-07Feltz Printing Service RENEWAL51Stephen Shaw
1018Johnson B FigeroaCanada2026-09-17King, Christopher A Esq NEGOTIATION57Elwin Sharvill
1019Sinclair F GarufiRussia2026-08-24Chemel, James L Cpa UNQUALIFIED54Ivan Magalhaes
1020Morrow D InouyeBrazil2026-09-05Feltz Printing Service NEGOTIATION84Xuxue Feng
1021Greenwood D FlosiSpain2026-08-23Rousseaux, Michael Esq NEGOTIATION17Ioni Bowcher
1022Ashley S GauchoBrazil2026-09-15Rousseaux, Michael Esq UNQUALIFIED4Amy Elsner
1023Kadeem X VenereAustralia2026-09-12Chapman, Ross E Esq RENEWAL47Xuxue Feng
1024Adams L RulapaughItaly2026-09-12Commercial Press NEGOTIATION62Ioni Bowcher
1025Wickens H BriddickRussia2026-09-03Dorl, James J Esq PROPOSAL40Amy Elsner
1026Arvin W AmigonCanada2026-09-10Chapman, Ross E Esq NEGOTIATION56Asiya Javayant
1027Jones U CaudyBrazil2026-09-15Feiner Bros NEW67Asiya Javayant
1028Isabel Y WaycottUnited Kingdom2026-09-02Feltz Printing Service NEW57Ivan Magalhaes
1029Alejandro K SchemmerJapan2026-09-12Commercial Press PROPOSAL1Onyama Limba
1030David M WieserGermany2026-09-17Chapman, Ross E Esq PROPOSAL44Amy Elsner
1031Costa T WaycottSpain2026-09-09Rangoni Of Florence PROPOSAL99Ioni Bowcher
1032Leja B NestleBrazil2026-09-09Benton, John B Jr QUALIFIED24Amy Elsner
1033James R FlosiUnited Kingdom2026-09-13Feiner Bros RENEWAL25Stephen Shaw
1034David N KolmetzUnited Kingdom2026-08-24King, Christopher A Esq RENEWAL48Ivan Magalhaes
1035Stacey W ButtUnited Kingdom2026-09-02Rousseaux, Michael Esq PROPOSAL33Xuxue Feng
1036Wickens L DilliardUnited Kingdom2026-09-17Chemel, James L Cpa RENEWAL96Asiya Javayant
1037Izzy K GillianSpain2026-09-08Commercial Press QUALIFIED57Bernardo Dominic
1038Mujtaba G RulapaughBrazil2026-09-06Chapman, Ross E Esq PROPOSAL55Onyama Limba
1039Stacey Y BowleyFrance2026-08-24Commercial Press QUALIFIED59Ivan Magalhaes
1040Jones W DilliardSpain2026-08-26Dorl, James J Esq RENEWAL93Anna Fali
1041Emily Z CaldareraArgentina2026-09-01Chapman, Ross E Esq UNQUALIFIED59Anna Fali
1042Jeanfrancois X OldroydAustralia2026-09-09Commercial Press UNQUALIFIED31Ivan Magalhaes
1043Octavia S IturbideSpain2026-08-25Dorl, James J Esq NEW96Ioni Bowcher
1044Antonio H SaylorsAustralia2026-08-24Chemel, James L Cpa NEGOTIATION43Bernardo Dominic
1045Faith T VenereBrazil2026-08-25Commercial Press PROPOSAL19Ioni Bowcher
1046Arvin P SlusarskiArgentina2026-09-12Feiner Bros NEW63Stephen Shaw
1047Faith L IturbideJapan2026-09-03Rousseaux, Michael Esq RENEWAL82Elwin Sharvill
1048Greenwood O SaylorsBrazil2026-09-05Benton, John B Jr RENEWAL69Amy Elsner
1049Arvin W GillianArgentina2026-09-18Rousseaux, Michael Esq NEGOTIATION92Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Arvin L KuskoBrazilStephen Shaw NEGOTIATION
Johnson J SaylorsAustraliaIvan Magalhaes QUALIFIED
Claire T MaletJapanIvan Magalhaes NEW
Smith Y FigeroaUnited KingdomElwin Sharvill NEW
Kadeem A ButtArgentinaStephen Shaw UNQUALIFIED
Misaki T TollnerItalyIoni Bowcher RENEWAL
Adams L RulapaughIndiaXuxue Feng NEW
James F DoeFranceElwin Sharvill NEW
Faith K DilliardRussiaOnyama Limba NEW
Munro C TollnerIndiaAmy Elsner RENEWAL
Chavez R CaldareraFranceAnna Fali UNQUALIFIED
Maisha C DoeRussiaAsiya Javayant RENEWAL
Alejandro L DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha W StensethArgentinaIoni Bowcher NEW
Aditya D WieserIndiaElwin Sharvill PROPOSAL
Leja X SchemmerAustraliaAnna Fali NEW
Emily A BologniaItalyIoni Bowcher PROPOSAL
Faith M FlosiArgentinaBernardo Dominic RENEWAL
Jones Z FerenczRussiaXuxue Feng NEGOTIATION
Ivar Y AmigonFranceElwin Sharvill PROPOSAL
Emily S SchemmerItalyAnna Fali NEW
Morrow Y MacleadAustraliaIvan Magalhaes NEW
Kadeem Q StensethAustraliaAsiya Javayant RENEWAL
Aika T MarrierAustraliaIvan Magalhaes PROPOSAL
Darci N ChuiGermanyAsiya Javayant UNQUALIFIED
Antonio P WhobreyJapanBernardo Dominic PROPOSAL
Jennifer N FigeroaUnited KingdomElwin Sharvill RENEWAL
Isabel J BologniaIndiaElwin Sharvill RENEWAL
Ivar U GauchoUnited KingdomOnyama Limba QUALIFIED
Nicolas O GlickAustraliaAnna Fali NEW
David P KolmetzIndiaElwin Sharvill PROPOSAL
Tony W SaylorsArgentinaAnna Fali RENEWAL
Arvin A MaletUnited KingdomAsiya Javayant NEW
Nicolas G SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Adams X FlosiJapanBernardo Dominic UNQUALIFIED
Johnson Q NickaRussiaAnna Fali RENEWAL
Kaitlin V WaycottUnited KingdomAmy Elsner RENEWAL
Mayumi L StockhamIndiaElwin Sharvill NEGOTIATION
Isabel K StockhamBrazilStephen Shaw NEGOTIATION
Darci H FigeroaCanadaXuxue Feng NEW
Ashley I ShinkoItalyAmy Elsner UNQUALIFIED
Mayumi Z MaletSpainElwin Sharvill PROPOSAL
Morrow Y AlbaresSpainBernardo Dominic UNQUALIFIED
Izzy U VocelkaGermanyBernardo Dominic QUALIFIED
Ashley P RulapaughAustraliaAmy Elsner RENEWAL
Emily D AlbaresJapanIoni Bowcher NEGOTIATION
Darci T MaletAustraliaAnna Fali RENEWAL
Aditya H FlosiItalyBernardo Dominic UNQUALIFIED
Munro I StensethSpainIoni Bowcher NEGOTIATION
Jeanfrancois I StockhamJapanAmy Elsner PROPOSAL
Frozen Columns
Name
Ashley V Rulapaugh
Jefferson A Inouye
Darci A Ferencz
Mayumi J Briddick
Murillo L Darakjy
Faith P Bowley
Deepesh W Iturbide
Maisha Q Waycott
Maria B Royster
Julie F Ruta
Clifford I Whobrey
Aruna Z Vocelka
Nicolas W Figeroa
Rodrigues B Foller
Jefferson S Wieser
Costa X Campain
Octavia D Morasca
Isabel X Amigon
Deepesh E Perin
Maisha W Amigon
Chavez X Morasca
Alejandro L Sergi
Francesco R Poquette
Ashley B Oldroyd
Salvatore J Waycott
Smith W Garufi
Francesco O Caldarera
Munro T Schemmer
Maisha B Inouye
Clifford A Waycott
Kadeem E Dilliard
Mujtaba P Iturbide
Sinclair X Rulapaugh
Silvio C Marrier
Izzy C Nicka
David Y Ostrosky
Arvin I Maclead
Salvatore O Whobrey
Mujtaba F Figeroa
Salvatore P Oldroyd
Costa D Marrier
Isabel D Royster
Aditya J Morasca
Ashley V Figeroa
James C Stockham
Jeanfrancois I Rim
Ashley W Figeroa
Nicolas T Whobrey
Salvatore P Schemmer
Octavia Z Royster
IdCountryDate
1000Italy2026-09-04
1001Spain2026-08-22
1002Germany2026-09-14
1003Canada2026-09-04
1004Argentina2026-08-29
1005Brazil2026-09-04
1006Canada2026-09-05
1007Japan2026-08-30
1008Russia2026-09-15
1009Japan2026-09-11
1010Australia2026-09-07
1011Brazil2026-08-30
1012Argentina2026-08-20
1013Brazil2026-09-12
1014Russia2026-09-12
1015Japan2026-09-14
1016Brazil2026-09-01
1017Spain2026-08-20
1018Argentina2026-09-14
1019India2026-08-26
1020Italy2026-09-03
1021Australia2026-08-27
1022India2026-09-17
1023Argentina2026-09-02
1024Japan2026-08-20
1025France2026-09-02
1026Italy2026-09-16
1027India2026-09-11
1028Germany2026-09-16
1029Italy2026-09-02
1030Italy2026-08-28
1031India2026-08-20
1032France2026-08-25
1033United Kingdom2026-09-02
1034United Kingdom2026-09-14
1035Italy2026-08-20
1036India2026-09-08
1037Spain2026-09-04
1038Canada2026-09-03
1039Japan2026-09-06
1040Brazil2026-09-03
1041France2026-09-07
1042India2026-08-27
1043United Kingdom2026-09-05
1044Australia2026-09-02
1045Argentina2026-08-30
1046Brazil2026-09-06
1047Russia2026-09-02
1048Spain2026-09-13
1049Argentina2026-08-21

On-Demand Data

NameIdCountryDate
Francesco P Saylors1000Australia2026-09-18
Aika T Kusko1001Canada2026-09-05
James N Perin1002Germany2026-08-31
Greenwood O Bowley1003United Kingdom2026-09-15
Leon S Gaucho1004Italy2026-09-01
Aika X Albares1005Argentina2026-08-22
Salvatore T Stenseth1006Germany2026-08-31
Costa B Flosi1007Argentina2026-08-26
Kadeem J Marrier1008France2026-09-10
Francesco F Royster1009France2026-09-10
Maria M Caldarera1010Australia2026-08-23
Antonio X Sergi1011Canada2026-09-18
Silvio C Campain1012Spain2026-09-18
Faith V Amigon1013Spain2026-08-22
Maisha L Butt1014India2026-08-22
Johnson G Morasca1015Spain2026-08-31
Maria E Kolmetz1016India2026-09-01
Chavez N Garufi1017Canada2026-08-22
Smith E Tollner1018Canada2026-08-29
James S Tollner1019Germany2026-09-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois U AlbaresUnited KingdomBernardo Dominic QUALIFIED
Arvin J CaldareraIndiaAnna Fali NEGOTIATION
Leja R InouyeRussiaXuxue Feng QUALIFIED
Chavez B WaycottFranceAmy Elsner UNQUALIFIED
Julie S KolmetzJapanStephen Shaw NEGOTIATION
Aditya R IturbideCanadaIoni Bowcher UNQUALIFIED
Antonio I AmigonCanadaIvan Magalhaes RENEWAL
Nicolas A MorascaGermanyStephen Shaw NEGOTIATION
Leon R ButtIndiaAsiya Javayant RENEWAL
Cody K BowleyItalyAsiya Javayant NEGOTIATION
Isabel E SlusarskiUnited KingdomXuxue Feng QUALIFIED
Adams B DarakjyIndiaOnyama Limba PROPOSAL
Aruna X WieserBrazilElwin Sharvill UNQUALIFIED
Leon H DarakjyItalyAsiya Javayant NEGOTIATION
James N MaletJapanXuxue Feng PROPOSAL
Sinclair N RutaBrazilBernardo Dominic NEGOTIATION
Jones B TollnerAustraliaStephen Shaw NEGOTIATION
Nicolas Y BologniaCanadaXuxue Feng NEGOTIATION
Maria T DilliardAustraliaIvan Magalhaes UNQUALIFIED
Stacey N RimItalyIvan Magalhaes RENEWAL
Misaki B RulapaughIndiaOnyama Limba NEW
Munro Y IturbideUnited KingdomStephen Shaw PROPOSAL
Murillo K StensethIndiaXuxue Feng PROPOSAL
Darci S WaycottRussiaStephen Shaw NEGOTIATION
Costa G FollerArgentinaIoni Bowcher RENEWAL
Greenwood Y ChuiGermanyElwin Sharvill PROPOSAL
Jones T PerinUnited KingdomElwin Sharvill RENEWAL
Claire R BowleyBrazilAmy Elsner QUALIFIED
Alejandro U SaylorsCanadaAnna Fali PROPOSAL
Claire C IturbideBrazilOnyama Limba NEGOTIATION
Maisha B GlickArgentinaElwin Sharvill NEGOTIATION
Munro D DarakjyArgentinaBernardo Dominic RENEWAL
Francesco Z DarakjyGermanyIvan Magalhaes UNQUALIFIED
Rodrigues Z ButtItalyAnna Fali QUALIFIED
Maisha A SchemmerBrazilAsiya Javayant UNQUALIFIED
Nicolas O CaudyIndiaIoni Bowcher PROPOSAL
Ashley J RimJapanBernardo Dominic NEGOTIATION
Stacey U InouyeItalyIvan Magalhaes UNQUALIFIED
Adams T BowleyJapanIvan Magalhaes QUALIFIED
Francesco F CaudyAustraliaIvan Magalhaes 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>