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
Maisha B VocelkaGermanyElwin Sharvill RENEWAL
Leja O DarakjySpainAsiya Javayant NEGOTIATION
Maria B RimAustraliaStephen Shaw NEW
Isabel K BologniaGermanyStephen Shaw UNQUALIFIED
Rodrigues V MaletJapanIvan Magalhaes QUALIFIED
Juan U MaletUnited KingdomBernardo Dominic NEW
Julie B DilliardIndiaBernardo Dominic UNQUALIFIED
Arvin P SchemmerFranceIoni Bowcher NEGOTIATION
Ivar B GlickRussiaElwin Sharvill RENEWAL
Claire L CaudyItalyAsiya Javayant QUALIFIED
Munro R AmigonFranceBernardo Dominic NEW
Maisha Y StensethRussiaBernardo Dominic RENEWAL
James O SergiItalyAsiya Javayant QUALIFIED
Kadeem P ButtArgentinaAsiya Javayant UNQUALIFIED
Silvio B MaletArgentinaAnna Fali RENEWAL
Claire Y FigeroaFranceOnyama Limba QUALIFIED
Kadeem H InouyeRussiaAmy Elsner QUALIFIED
Greenwood Y SaylorsIndiaAmy Elsner RENEWAL
Claire R GlickGermanyStephen Shaw UNQUALIFIED
Faith U SchemmerItalyBernardo Dominic QUALIFIED
Jennifer K WieserRussiaElwin Sharvill QUALIFIED
David X OstroskyUnited KingdomIvan Magalhaes QUALIFIED
Arvin D FigeroaSpainBernardo Dominic UNQUALIFIED
Aika T KuskoGermanyAmy Elsner QUALIFIED
Aditya T SchemmerItalyAnna Fali UNQUALIFIED
Ashley V FollerRussiaBernardo Dominic PROPOSAL
Aruna A WaycottJapanStephen Shaw PROPOSAL
Rodrigues Y PoquetteRussiaElwin Sharvill NEW
Maria O CampainGermanyAmy Elsner QUALIFIED
Francesco U SlusarskiBrazilStephen Shaw NEW
Deepesh Z RoysterUnited KingdomOnyama Limba QUALIFIED
Costa R WhobreyIndiaOnyama Limba RENEWAL
David F InouyeUnited KingdomXuxue Feng PROPOSAL
Salvatore K RulapaughItalyIoni Bowcher RENEWAL
Darci T WaycottItalyElwin Sharvill PROPOSAL
Tony C MarrierCanadaAsiya Javayant NEGOTIATION
Clifford L ChuiRussiaIoni Bowcher PROPOSAL
David L SergiArgentinaAnna Fali QUALIFIED
Tony G TollnerJapanElwin Sharvill NEGOTIATION
Morrow D SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Kaitlin K IturbideItalyAsiya Javayant RENEWAL
Jones N PerinSpainOnyama Limba QUALIFIED
Costa X MaletBrazilAsiya Javayant QUALIFIED
Costa B RoysterUnited KingdomStephen Shaw UNQUALIFIED
Tony A MorascaGermanyAmy Elsner RENEWAL
Antonio Z DoeAustraliaIoni Bowcher UNQUALIFIED
Misaki S IturbideFranceXuxue Feng RENEWAL
Leja O StensethRussiaElwin Sharvill UNQUALIFIED
Munro Y RimSpainAmy Elsner NEGOTIATION
Octavia B FlosiUnited KingdomElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha X FerenczJapanStephen Shaw QUALIFIED
Jefferson A RimBrazilStephen Shaw NEGOTIATION
Kadeem V KuskoIndiaBernardo Dominic NEGOTIATION
Mujtaba P StensethGermanyXuxue Feng NEGOTIATION
Smith M PerinUnited KingdomAmy Elsner NEW
Deepesh D WaycottBrazilAmy Elsner UNQUALIFIED
Leon O BowleyAustraliaAnna Fali QUALIFIED
Jennifer Y MorascaIndiaAsiya Javayant RENEWAL
Salvatore O InouyeUnited KingdomElwin Sharvill QUALIFIED
Chavez W CampainRussiaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna L SchemmerRussia2026-10-06Benton, John B Jr UNQUALIFIED65Ivan Magalhaes
1001Kaitlin A SchemmerUnited Kingdom2026-10-04Commercial Press QUALIFIED83Anna Fali
1002Kaitlin J DoeGermany2026-09-26Rousseaux, Michael Esq QUALIFIED75Onyama Limba
1003Clifford A ShinkoBrazil2026-10-11Truhlar And Truhlar Attys UNQUALIFIED41Ioni Bowcher
1004Octavia S DarakjyAustralia2026-09-19Commercial Press QUALIFIED57Elwin Sharvill
1005Aditya K WhobreyRussia2026-09-17King, Christopher A Esq NEGOTIATION76Elwin Sharvill
1006Nicolas I CaudyItaly2026-09-22Rangoni Of Florence UNQUALIFIED30Bernardo Dominic
1007Darci N KuskoCanada2026-10-04Benton, John B Jr NEW80Asiya Javayant
1008Clifford C FerenczJapan2026-10-12Benton, John B Jr QUALIFIED30Anna Fali
1009Faith O MorascaCanada2026-09-29King, Christopher A Esq NEW54Bernardo Dominic
1010Ricardo Z PerinRussia2026-09-14Feltz Printing Service NEW58Asiya Javayant
1011Sinclair Z BriddickAustralia2026-09-26Commercial Press UNQUALIFIED77Xuxue Feng
1012Salvatore G DarakjyGermany2026-09-29Chemel, James L Cpa PROPOSAL43Bernardo Dominic
1013Chavez C IturbideAustralia2026-10-03Commercial Press PROPOSAL82Bernardo Dominic
1014Mayumi N StockhamJapan2026-09-28Chapman, Ross E Esq UNQUALIFIED45Asiya Javayant
1015Mayumi Q FlosiCanada2026-09-16Truhlar And Truhlar Attys RENEWAL30Xuxue Feng
1016Claire H InouyeAustralia2026-09-17Buckley Miller Wright UNQUALIFIED91Stephen Shaw
1017Aika L IturbideBrazil2026-09-14Chemel, James L Cpa UNQUALIFIED12Elwin Sharvill
1018Faith T SlusarskiIndia2026-10-04Chanay, Jeffrey A Esq PROPOSAL56Amy Elsner
1019Costa D RutaCanada2026-09-29Rousseaux, Michael Esq NEGOTIATION65Ivan Magalhaes
1020Leon E DoeJapan2026-09-29Morlong Associates NEGOTIATION8Asiya Javayant
1021Isabel J MaletGermany2026-10-06Dorl, James J Esq UNQUALIFIED98Onyama Limba
1022Arvin H ShinkoIndia2026-10-05Feltz Printing Service RENEWAL96Anna Fali
1023Clifford M BowleyArgentina2026-10-02Buckley Miller Wright QUALIFIED80Amy Elsner
1024Misaki N MarrierRussia2026-10-04Chanay, Jeffrey A Esq QUALIFIED5Bernardo Dominic
1025Silvio M RutaBrazil2026-09-22Buckley Miller Wright PROPOSAL67Ivan Magalhaes
1026Arvin D RutaItaly2026-10-11Dorl, James J Esq NEGOTIATION46Onyama Limba
1027Smith W SchemmerItaly2026-09-26Rangoni Of Florence UNQUALIFIED11Onyama Limba
1028Smith P AlbaresArgentina2026-10-02Feltz Printing Service RENEWAL27Anna Fali
1029Salvatore G OstroskyItaly2026-10-06Dorl, James J Esq RENEWAL67Anna Fali
1030Morrow P RulapaughGermany2026-10-01Dorl, James J Esq QUALIFIED26Xuxue Feng
1031James H GillianGermany2026-09-15Printing Dimensions RENEWAL37Onyama Limba
1032Kadeem G GauchoGermany2026-09-26Chapman, Ross E Esq UNQUALIFIED78Amy Elsner
1033Aditya G KolmetzSpain2026-10-03Truhlar And Truhlar Attys NEW11Ioni Bowcher
1034Greenwood Z PoquetteUnited Kingdom2026-09-17Feiner Bros PROPOSAL13Stephen Shaw
1035Ivar D WieserFrance2026-09-19Morlong Associates NEGOTIATION0Elwin Sharvill
1036Tony B AmigonRussia2026-09-21Printing Dimensions NEW94Amy Elsner
1037Izzy D AmigonBrazil2026-09-16Chapman, Ross E Esq PROPOSAL44Elwin Sharvill
1038Alejandro S WhobreySpain2026-09-28Benton, John B Jr NEGOTIATION13Amy Elsner
1039Mujtaba G FlosiBrazil2026-10-08Printing Dimensions NEGOTIATION55Xuxue Feng
1040Johnson N GillianRussia2026-09-22Morlong Associates RENEWAL15Onyama Limba
1041Nicolas M DoeJapan2026-09-25Dorl, James J Esq QUALIFIED54Stephen Shaw
1042Kadeem Q InouyeUnited Kingdom2026-09-30Chapman, Ross E Esq NEGOTIATION41Elwin Sharvill
1043Murillo I GillianFrance2026-10-03Dorl, James J Esq NEGOTIATION86Bernardo Dominic
1044Morrow G FigeroaCanada2026-10-03Feltz Printing Service NEGOTIATION76Elwin Sharvill
1045Ricardo E ButtItaly2026-09-29Commercial Press NEGOTIATION85Asiya Javayant
1046Mujtaba V BologniaCanada2026-09-18Rousseaux, Michael Esq UNQUALIFIED87Onyama Limba
1047Greenwood M CaudyAustralia2026-10-03Printing Dimensions RENEWAL5Stephen Shaw
1048Cody U MaletArgentina2026-09-14King, Christopher A Esq RENEWAL75Elwin Sharvill
1049Mujtaba G RutaArgentina2026-10-11Feltz Printing Service RENEWAL56Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Antonio O BologniaUnited KingdomBernardo Dominic NEW
Mayumi H PoquetteSpainAsiya Javayant UNQUALIFIED
Costa R KuskoFranceIvan Magalhaes NEW
Jefferson A DilliardUnited KingdomStephen Shaw PROPOSAL
Munro M CaldareraCanadaStephen Shaw NEGOTIATION
Leja H OldroydArgentinaXuxue Feng NEW
Aika H DoeAustraliaAmy Elsner QUALIFIED
Ricardo M GarufiRussiaElwin Sharvill NEGOTIATION
Morrow U SchemmerJapanElwin Sharvill NEGOTIATION
Ricardo J OldroydRussiaElwin Sharvill PROPOSAL
Stacey M NickaItalyIvan Magalhaes NEGOTIATION
Alejandro R PoquetteJapanAnna Fali QUALIFIED
Greenwood D ChuiCanadaAmy Elsner PROPOSAL
Ashley O MarrierRussiaOnyama Limba NEGOTIATION
Leja J BriddickBrazilXuxue Feng PROPOSAL
Faith E BologniaFranceAmy Elsner QUALIFIED
Greenwood H SergiItalyElwin Sharvill PROPOSAL
Nicolas D GlickFranceXuxue Feng QUALIFIED
Leon B PerinArgentinaStephen Shaw QUALIFIED
Adams E GauchoAustraliaAnna Fali NEGOTIATION
Izzy E GillianAustraliaOnyama Limba PROPOSAL
Darci Y MarrierBrazilIoni Bowcher PROPOSAL
Aruna V StockhamBrazilIvan Magalhaes RENEWAL
Ivar E SergiArgentinaIoni Bowcher NEW
Jeanfrancois L WaycottRussiaXuxue Feng RENEWAL
Chavez Z VocelkaFranceElwin Sharvill NEW
Rodrigues E ButtRussiaStephen Shaw PROPOSAL
Aika A FlosiFranceIvan Magalhaes NEW
Jefferson X AlbaresItalyAmy Elsner RENEWAL
Leja J MarrierIndiaAmy Elsner NEGOTIATION
Aruna C BologniaCanadaAnna Fali NEW
Maisha B WhobreyAustraliaIvan Magalhaes PROPOSAL
Greenwood H MaletSpainIoni Bowcher UNQUALIFIED
Leja Q SaylorsCanadaElwin Sharvill NEW
Jeanfrancois U PerinJapanElwin Sharvill RENEWAL
Cody E FlosiCanadaIvan Magalhaes NEW
Nicolas F MacleadGermanyAnna Fali NEGOTIATION
Adams F FollerFranceXuxue Feng NEGOTIATION
Costa O MorascaArgentinaElwin Sharvill QUALIFIED
Arvin K NestleSpainStephen Shaw PROPOSAL
Darci H GarufiJapanIoni Bowcher UNQUALIFIED
Chavez O MarrierGermanyAsiya Javayant NEW
Alejandro T GillianItalyStephen Shaw RENEWAL
Claire X BriddickFranceAsiya Javayant QUALIFIED
Ivar L GauchoRussiaIoni Bowcher NEGOTIATION
Isabel T MorascaItalyIoni Bowcher QUALIFIED
Smith R DoeAustraliaAmy Elsner QUALIFIED
Emily H GlickFranceXuxue Feng NEW
Nicolas I SergiBrazilAsiya Javayant NEGOTIATION
Maisha O RulapaughJapanOnyama Limba UNQUALIFIED
Frozen Columns
Name
Johnson U Dilliard
Wickens S Iturbide
Kadeem N Amigon
Antonio J Bolognia
Tony P Briddick
Julie D Doe
Arvin L Foller
James E Slusarski
Arvin G Caldarera
Munro P Stenseth
Leja B Sergi
Murillo F Inouye
James R Gaucho
James U Caudy
Wickens H Albares
Leon A Ostrosky
Jennifer M Royster
Francesco D Iturbide
Leja N Foller
Deepesh P Maclead
Jennifer H Tollner
Salvatore C Marrier
Costa B Butt
Aika R Campain
Tony A Ruta
Chavez O Campain
Deepesh W Stenseth
Sinclair T Darakjy
Faith S Glick
Johnson C Oldroyd
Alejandro P Malet
Aruna X Malet
Clifford S Campain
Mujtaba Q Bolognia
Alejandro V Stenseth
Tony G Vocelka
Deepesh N Butt
Johnson T Shinko
Wickens W Rim
Sinclair J Paprocki
Silvio Z Venere
Wickens T Saylors
Morrow A Kusko
Ashley S Kolmetz
Ivar N Venere
Antonio T Wieser
Murillo P Figeroa
Kaitlin M Darakjy
Ivar I Doe
Isabel Y Gaucho
IdCountryDate
1000India2026-09-28
1001Brazil2026-10-07
1002Italy2026-09-18
1003United Kingdom2026-10-01
1004France2026-10-03
1005France2026-09-28
1006Australia2026-09-22
1007Spain2026-09-28
1008Canada2026-09-29
1009Australia2026-09-21
1010Russia2026-10-07
1011Germany2026-09-13
1012Spain2026-09-27
1013Germany2026-09-14
1014Australia2026-09-30
1015Italy2026-09-29
1016Spain2026-10-08
1017Brazil2026-09-15
1018United Kingdom2026-10-07
1019Germany2026-10-09
1020Brazil2026-09-19
1021Brazil2026-09-28
1022Japan2026-09-25
1023Germany2026-10-02
1024France2026-09-18
1025Germany2026-09-13
1026United Kingdom2026-09-17
1027France2026-10-03
1028United Kingdom2026-09-21
1029Canada2026-09-19
1030Spain2026-09-26
1031Canada2026-09-15
1032India2026-09-17
1033Italy2026-10-03
1034Australia2026-10-04
1035Italy2026-09-24
1036Japan2026-10-03
1037France2026-09-14
1038Russia2026-09-24
1039Japan2026-09-26
1040Spain2026-10-10
1041Australia2026-09-28
1042Spain2026-09-28
1043India2026-09-30
1044India2026-09-22
1045Canada2026-09-30
1046Japan2026-09-23
1047Japan2026-09-13
1048Germany2026-10-08
1049Italy2026-09-23

On-Demand Data

NameIdCountryDate
Ashley K Stockham1000Canada2026-09-19
Chavez E Malet1001India2026-09-15
Faith Y Campain1002Canada2026-10-07
Maria N Ruta1003Italy2026-10-02
Stacey H Venere1004Russia2026-09-29
Murillo H Ostrosky1005Australia2026-09-16
Octavia L Iturbide1006France2026-10-05
Jennifer G Rim1007Germany2026-09-19
Izzy U Albares1008Brazil2026-09-27
Mujtaba H Whobrey1009Canada2026-10-12
Maisha M Saylors1010India2026-10-09
Julie E Vocelka1011Australia2026-10-03
Leon F Royster1012France2026-09-19
Stacey H Whobrey1013Italy2026-10-11
Johnson R Maclead1014Brazil2026-10-03
Clifford L Malet1015Spain2026-09-28
Aditya C Malet1016Spain2026-09-19
Kaitlin V Foller1017United Kingdom2026-10-12
Adams V Stockham1018Australia2026-09-14
Clifford E Maclead1019Australia2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony Y StockhamCanadaElwin Sharvill UNQUALIFIED
Izzy Q GauchoRussiaXuxue Feng NEW
Francesco H RutaRussiaAnna Fali NEW
Aruna L OstroskyCanadaIoni Bowcher QUALIFIED
Izzy G BologniaRussiaIoni Bowcher QUALIFIED
Faith B MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin T IturbideAustraliaAmy Elsner NEW
Aditya T FollerItalyAmy Elsner RENEWAL
Ricardo H RulapaughBrazilAsiya Javayant PROPOSAL
Morrow A BriddickSpainOnyama Limba PROPOSAL
Smith J ChuiItalyStephen Shaw NEW
Jeanfrancois O DoeItalyXuxue Feng PROPOSAL
Kaitlin K IturbideRussiaIoni Bowcher NEW
Antonio M PaprockiGermanyStephen Shaw UNQUALIFIED
Kadeem C WhobreyGermanyElwin Sharvill NEW
Deepesh G GlickGermanyElwin Sharvill UNQUALIFIED
Rodrigues Z NestleCanadaAsiya Javayant UNQUALIFIED
Adams I BriddickSpainElwin Sharvill NEGOTIATION
Julie M InouyeUnited KingdomOnyama Limba QUALIFIED
Smith U AlbaresGermanyXuxue Feng PROPOSAL
Leon X BowleyArgentinaStephen Shaw QUALIFIED
Francesco F ButtItalyOnyama Limba UNQUALIFIED
Maisha R KuskoJapanXuxue Feng NEGOTIATION
Adams Y ShinkoCanadaAmy Elsner UNQUALIFIED
Murillo I VocelkaIndiaElwin Sharvill QUALIFIED
Jones W DarakjyRussiaBernardo Dominic RENEWAL
Kaitlin D IturbideIndiaIoni Bowcher RENEWAL
James Y RoysterBrazilAnna Fali NEW
Smith O StensethFranceIoni Bowcher RENEWAL
Francesco P ShinkoItalyAnna Fali NEW
Jefferson U ButtBrazilBernardo Dominic NEGOTIATION
Emily A BologniaIndiaIoni Bowcher NEW
Izzy A GillianJapanAsiya Javayant NEW
Alejandro I SchemmerSpainAnna Fali NEGOTIATION
Kaitlin S BriddickArgentinaIvan Magalhaes NEW
Izzy Q MaletUnited KingdomOnyama Limba UNQUALIFIED
Jones A CampainCanadaBernardo Dominic UNQUALIFIED
Morrow R AmigonRussiaIvan Magalhaes QUALIFIED
Sinclair M FigeroaArgentinaElwin Sharvill QUALIFIED
Jennifer D RoysterAustraliaStephen Shaw 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>