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
Salvatore J PerinAustraliaBernardo Dominic PROPOSAL
Chavez I MaletArgentinaElwin Sharvill NEW
Jones I MorascaRussiaAnna Fali PROPOSAL
Jennifer F AlbaresBrazilAsiya Javayant PROPOSAL
Wickens A MarrierArgentinaIvan Magalhaes QUALIFIED
Kaitlin O AmigonRussiaAnna Fali RENEWAL
Maria T NickaArgentinaAnna Fali QUALIFIED
Smith B MaletAustraliaElwin Sharvill NEGOTIATION
Clifford G OldroydUnited KingdomOnyama Limba UNQUALIFIED
Jennifer P TollnerItalyAnna Fali RENEWAL
Salvatore X DarakjyIndiaIoni Bowcher NEGOTIATION
Julie M ShinkoFranceAmy Elsner PROPOSAL
Misaki E RoysterJapanAsiya Javayant NEW
Greenwood O CaudyRussiaElwin Sharvill PROPOSAL
Octavia A OldroydCanadaElwin Sharvill UNQUALIFIED
Francesco A PoquetteIndiaOnyama Limba NEW
Alejandro R CampainBrazilIvan Magalhaes NEGOTIATION
Costa C DarakjyArgentinaAnna Fali QUALIFIED
Tony T InouyeGermanyAmy Elsner PROPOSAL
Jones G GlickRussiaIvan Magalhaes NEGOTIATION
Smith X MarrierGermanyAsiya Javayant NEW
Julie H AlbaresRussiaAnna Fali RENEWAL
Chavez E SaylorsCanadaStephen Shaw NEW
Tony A OldroydUnited KingdomAnna Fali QUALIFIED
Alejandro X WhobreyUnited KingdomIoni Bowcher NEGOTIATION
Wickens G BowleyFranceBernardo Dominic RENEWAL
Kaitlin Y OldroydAustraliaBernardo Dominic RENEWAL
Kaitlin B GlickRussiaElwin Sharvill RENEWAL
Morrow J FlosiItalyAsiya Javayant UNQUALIFIED
Munro A BologniaJapanIvan Magalhaes NEW
Misaki X RutaBrazilAmy Elsner QUALIFIED
Kaitlin N OstroskyIndiaOnyama Limba QUALIFIED
Sinclair N NickaArgentinaAsiya Javayant NEGOTIATION
Leon T MaletArgentinaIoni Bowcher NEGOTIATION
Kadeem P MacleadFranceBernardo Dominic PROPOSAL
Murillo U RoysterBrazilXuxue Feng QUALIFIED
Aruna X ButtJapanStephen Shaw RENEWAL
Leon G MacleadGermanyIoni Bowcher PROPOSAL
Jefferson W TollnerSpainAsiya Javayant RENEWAL
Antonio K GlickFranceOnyama Limba RENEWAL
David Q PoquetteItalyElwin Sharvill RENEWAL
Maisha S OstroskyFranceAmy Elsner NEW
Sinclair Z GarufiItalyAmy Elsner PROPOSAL
Octavia J SaylorsArgentinaIoni Bowcher NEGOTIATION
Munro W GillianJapanAsiya Javayant RENEWAL
Aika U DarakjyArgentinaElwin Sharvill NEW
Clifford R SlusarskiArgentinaIvan Magalhaes QUALIFIED
Murillo G BowleyAustraliaAnna Fali NEW
James R MaletArgentinaStephen Shaw RENEWAL
Emily I RimAustraliaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba W StensethAustraliaBernardo Dominic RENEWAL
Ricardo Z DilliardBrazilOnyama Limba UNQUALIFIED
Jefferson S BologniaCanadaXuxue Feng PROPOSAL
Darci H RulapaughJapanAmy Elsner NEGOTIATION
David U MaletSpainIvan Magalhaes NEGOTIATION
Leon E FerenczBrazilOnyama Limba QUALIFIED
Costa C NestleUnited KingdomAsiya Javayant UNQUALIFIED
Costa Y VocelkaGermanyOnyama Limba RENEWAL
Arvin H MaletCanadaElwin Sharvill QUALIFIED
David F KolmetzArgentinaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio U OldroydItaly2026-09-29Buckley Miller Wright PROPOSAL65Stephen Shaw
1001Jennifer O GillianGermany2026-09-09Buckley Miller Wright QUALIFIED84Amy Elsner
1002Francesco J OstroskyAustralia2026-09-04Dorl, James J Esq RENEWAL30Ivan Magalhaes
1003Jennifer G RoysterBrazil2026-09-24Printing Dimensions UNQUALIFIED54Asiya Javayant
1004Maisha O ButtArgentina2026-09-06Chemel, James L Cpa UNQUALIFIED82Stephen Shaw
1005Aruna Q MarrierSpain2026-09-18Truhlar And Truhlar Attys NEGOTIATION82Elwin Sharvill
1006Chavez Q VenereUnited Kingdom2026-10-03Chemel, James L Cpa UNQUALIFIED55Anna Fali
1007Nicolas Y ShinkoJapan2026-09-13Rousseaux, Michael Esq PROPOSAL17Asiya Javayant
1008Leja O NickaGermany2026-09-30Rousseaux, Michael Esq QUALIFIED6Bernardo Dominic
1009Antonio F RoysterCanada2026-10-02Rangoni Of Florence RENEWAL86Ivan Magalhaes
1010Ashley G SaylorsRussia2026-09-04Dorl, James J Esq QUALIFIED6Ioni Bowcher
1011Stacey W BologniaItaly2026-09-27Feltz Printing Service PROPOSAL81Ioni Bowcher
1012Emily E SchemmerArgentina2026-09-26Morlong Associates NEGOTIATION21Ioni Bowcher
1013Wickens X SchemmerAustralia2026-09-13Feltz Printing Service NEW30Stephen Shaw
1014Alejandro W ButtCanada2026-09-17Chemel, James L Cpa NEW24Stephen Shaw
1015Tony D RoysterJapan2026-09-22Dorl, James J Esq UNQUALIFIED10Ivan Magalhaes
1016Julie W FollerArgentina2026-09-29Benton, John B Jr UNQUALIFIED43Asiya Javayant
1017Johnson Q ShinkoFrance2026-09-22Rousseaux, Michael Esq NEW6Amy Elsner
1018Maria G CaudyRussia2026-09-26Feltz Printing Service RENEWAL9Stephen Shaw
1019Greenwood W ButtArgentina2026-10-01King, Christopher A Esq RENEWAL68Xuxue Feng
1020Jennifer R FigeroaIndia2026-10-02Chemel, James L Cpa NEGOTIATION73Stephen Shaw
1021Mujtaba N KuskoIndia2026-09-07Chemel, James L Cpa RENEWAL32Stephen Shaw
1022Adams H DoeArgentina2026-09-21Feiner Bros UNQUALIFIED43Elwin Sharvill
1023Nicolas D PerinAustralia2026-09-13Rousseaux, Michael Esq RENEWAL99Onyama Limba
1024Murillo Y FollerItaly2026-09-22Truhlar And Truhlar Attys NEW8Stephen Shaw
1025Ricardo L DoeFrance2026-09-04Chemel, James L Cpa UNQUALIFIED80Bernardo Dominic
1026Jeanfrancois K OstroskyIndia2026-09-07Printing Dimensions QUALIFIED59Onyama Limba
1027Cody I OstroskyJapan2026-09-25Chanay, Jeffrey A Esq QUALIFIED78Amy Elsner
1028Antonio P BologniaGermany2026-09-22Printing Dimensions PROPOSAL80Amy Elsner
1029Faith J AlbaresGermany2026-09-26Buckley Miller Wright PROPOSAL27Elwin Sharvill
1030Aika H SaylorsItaly2026-09-26Feiner Bros NEGOTIATION26Anna Fali
1031Ricardo F FigeroaArgentina2026-09-18Rousseaux, Michael Esq QUALIFIED71Ivan Magalhaes
1032Murillo B MacleadBrazil2026-10-02Chemel, James L Cpa PROPOSAL30Ivan Magalhaes
1033Costa V BologniaRussia2026-09-06Rangoni Of Florence NEW61Ioni Bowcher
1034Jefferson I MarrierFrance2026-09-19Buckley Miller Wright PROPOSAL59Bernardo Dominic
1035Rodrigues S BriddickRussia2026-09-16Feltz Printing Service NEGOTIATION94Anna Fali
1036Ivar O RutaJapan2026-09-21Dorl, James J Esq NEW58Onyama Limba
1037Morrow V GillianJapan2026-09-11Benton, John B Jr UNQUALIFIED65Onyama Limba
1038Francesco X GillianIndia2026-09-25Printing Dimensions NEGOTIATION31Anna Fali
1039Tony A FigeroaRussia2026-10-01Printing Dimensions NEGOTIATION98Elwin Sharvill
1040Smith K RoysterGermany2026-09-18Feiner Bros NEW31Xuxue Feng
1041Maisha I BologniaItaly2026-09-18Feiner Bros PROPOSAL94Onyama Limba
1042Emily W NestleArgentina2026-09-14Feiner Bros UNQUALIFIED59Onyama Limba
1043Cody R VenereFrance2026-09-22Feltz Printing Service UNQUALIFIED92Anna Fali
1044Wickens I SchemmerUnited Kingdom2026-09-11Benton, John B Jr QUALIFIED55Asiya Javayant
1045Greenwood M PoquetteCanada2026-09-12King, Christopher A Esq PROPOSAL13Amy Elsner
1046Misaki U NickaRussia2026-09-23Buckley Miller Wright PROPOSAL69Anna Fali
1047Izzy M VenereUnited Kingdom2026-09-08King, Christopher A Esq UNQUALIFIED65Ioni Bowcher
1048Isabel R PerinUnited Kingdom2026-09-18Feiner Bros NEGOTIATION47Anna Fali
1049Juan Z FerenczRussia2026-09-12Chemel, James L Cpa NEGOTIATION24Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maisha I StockhamGermanyIoni Bowcher PROPOSAL
Julie O PoquetteCanadaStephen Shaw QUALIFIED
Maria U SaylorsBrazilElwin Sharvill PROPOSAL
Murillo O GlickUnited KingdomStephen Shaw PROPOSAL
Adams D IturbideGermanyAsiya Javayant NEGOTIATION
Ricardo W MacleadItalyIvan Magalhaes QUALIFIED
Ashley O MaletAustraliaIvan Magalhaes NEW
Deepesh J MaletUnited KingdomAsiya Javayant PROPOSAL
Darci U DilliardUnited KingdomElwin Sharvill PROPOSAL
Faith E WieserRussiaAnna Fali PROPOSAL
Aika T StensethJapanXuxue Feng NEW
Octavia O SlusarskiItalyElwin Sharvill QUALIFIED
Ivar M KolmetzArgentinaAnna Fali UNQUALIFIED
Costa H FollerFranceStephen Shaw UNQUALIFIED
Kadeem F MorascaUnited KingdomStephen Shaw PROPOSAL
Alejandro E SergiUnited KingdomAnna Fali UNQUALIFIED
Mayumi P CaudyRussiaOnyama Limba NEGOTIATION
Jones M WhobreyCanadaIoni Bowcher RENEWAL
Nicolas B PaprockiBrazilOnyama Limba NEW
Mujtaba O VocelkaAustraliaBernardo Dominic NEW
Sinclair T OstroskyRussiaStephen Shaw QUALIFIED
Maria K GauchoIndiaBernardo Dominic QUALIFIED
Deepesh T SchemmerBrazilStephen Shaw QUALIFIED
Murillo G NickaJapanAsiya Javayant PROPOSAL
Munro N GauchoUnited KingdomXuxue Feng UNQUALIFIED
Adams N KolmetzIndiaAnna Fali NEW
Francesco X GlickSpainStephen Shaw NEW
Alejandro J RutaRussiaStephen Shaw PROPOSAL
Chavez Y WaycottGermanyAsiya Javayant NEGOTIATION
Costa Y GlickCanadaIvan Magalhaes NEGOTIATION
Adams A CampainArgentinaAnna Fali RENEWAL
Deepesh M AmigonCanadaXuxue Feng UNQUALIFIED
Salvatore D PerinArgentinaIoni Bowcher RENEWAL
Cody S NestleFranceBernardo Dominic RENEWAL
Mujtaba T ChuiFranceStephen Shaw NEGOTIATION
Mayumi V TollnerJapanElwin Sharvill RENEWAL
Ricardo V GarufiRussiaAmy Elsner UNQUALIFIED
Deepesh T GarufiBrazilXuxue Feng NEGOTIATION
Deepesh B StensethGermanyXuxue Feng QUALIFIED
Chavez O FollerBrazilStephen Shaw NEW
Kaitlin C GlickArgentinaStephen Shaw NEW
Jefferson Q CampainIndiaAmy Elsner RENEWAL
Leon L CampainItalyIoni Bowcher NEW
David V WaycottFranceAsiya Javayant RENEWAL
Jeanfrancois H IturbideBrazilAsiya Javayant PROPOSAL
Julie B PaprockiGermanyAsiya Javayant QUALIFIED
Salvatore X FollerUnited KingdomAmy Elsner PROPOSAL
Chavez P CaudyFranceAsiya Javayant UNQUALIFIED
Leja Q RimJapanAmy Elsner NEW
Kadeem I GillianFranceAnna Fali NEGOTIATION
Frozen Columns
Name
Morrow X Darakjy
Isabel B Rim
Clifford E Glick
Claire T Marrier
Emily Z Vocelka
Morrow A Nicka
Darci A Kolmetz
Morrow Q Kusko
Silvio Y Figeroa
Izzy J Paprocki
Ashley I Foller
Smith X Ostrosky
Murillo A Dilliard
Kadeem F Morasca
Kadeem K Tollner
Misaki X Sergi
Salvatore G Gillian
Ashley O Albares
Juan C Wieser
Salvatore T Waycott
Antonio N Schemmer
Mayumi M Waycott
Jefferson A Perin
Murillo M Stenseth
Aika A Paprocki
Juan V Kusko
Mayumi T Figeroa
Johnson C Bolognia
Nicolas A Rim
Smith T Morasca
Jones K Poquette
Jefferson K Figeroa
Johnson X Figeroa
Aruna C Gillian
Aditya Y Albares
Wickens D Doe
Wickens J Garufi
Maisha D Royster
Cody B Paprocki
Stacey J Butt
Aruna R Malet
Tony Y Garufi
Smith K Venere
Aditya M Gillian
Mujtaba U Malet
James X Chui
Munro F Sergi
Tony M Ferencz
Munro L Rim
Antonio D Amigon
IdCountryDate
1000United Kingdom2026-09-16
1001Australia2026-09-07
1002Germany2026-09-08
1003Argentina2026-09-27
1004France2026-09-21
1005Germany2026-09-09
1006Italy2026-09-19
1007Argentina2026-09-04
1008Russia2026-09-09
1009Spain2026-09-13
1010India2026-09-06
1011Russia2026-09-12
1012Spain2026-09-17
1013Italy2026-09-16
1014India2026-09-05
1015Argentina2026-09-21
1016United Kingdom2026-09-09
1017Russia2026-09-06
1018India2026-09-28
1019Italy2026-09-29
1020Russia2026-09-13
1021Italy2026-09-28
1022Spain2026-09-24
1023India2026-09-21
1024Spain2026-09-28
1025Germany2026-09-14
1026Argentina2026-09-09
1027Spain2026-09-29
1028Russia2026-09-28
1029Brazil2026-09-05
1030Russia2026-09-04
1031Japan2026-09-10
1032Japan2026-09-21
1033Germany2026-09-05
1034United Kingdom2026-09-29
1035India2026-09-05
1036Canada2026-09-27
1037Germany2026-09-11
1038India2026-09-05
1039Argentina2026-09-29
1040United Kingdom2026-09-26
1041France2026-10-01
1042Japan2026-09-17
1043Italy2026-09-17
1044Argentina2026-09-24
1045Russia2026-09-27
1046Russia2026-09-11
1047Brazil2026-09-10
1048Brazil2026-09-15
1049India2026-09-14

On-Demand Data

NameIdCountryDate
Tony C Butt1000Italy2026-09-10
Leon G Gaucho1001Brazil2026-09-19
Aika R Rulapaugh1002Russia2026-09-17
James Y Butt1003Russia2026-09-14
Ivar S Caudy1004Spain2026-09-21
Munro X Campain1005Canada2026-09-21
Johnson M Campain1006Canada2026-09-16
Wickens A Morasca1007Brazil2026-09-11
Darci C Nicka1008Brazil2026-09-15
Murillo Z Briddick1009Canada2026-09-20
Leja D Marrier1010France2026-09-09
Francesco E Dilliard1011France2026-09-30
Aruna A Marrier1012Argentina2026-09-20
Aditya M Sergi1013Spain2026-09-10
Alejandro O Bowley1014Italy2026-09-16
Aika P Saylors1015Brazil2026-09-23
Ricardo M Paprocki1016Brazil2026-09-11
Arvin D Bolognia1017Italy2026-09-11
Darci M Stenseth1018United Kingdom2026-09-17
Isabel M Darakjy1019France2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David W DarakjyCanadaAsiya Javayant QUALIFIED
Emily W GarufiIndiaIoni Bowcher QUALIFIED
David Q DoeJapanStephen Shaw UNQUALIFIED
Juan W WaycottJapanElwin Sharvill RENEWAL
Isabel G CaudyRussiaAsiya Javayant QUALIFIED
Antonio Z FlosiAustraliaIoni Bowcher RENEWAL
Leon J PerinAustraliaOnyama Limba PROPOSAL
Johnson O AmigonArgentinaBernardo Dominic QUALIFIED
Rodrigues B FerenczIndiaOnyama Limba RENEWAL
Darci A GauchoArgentinaAmy Elsner UNQUALIFIED
Adams U WaycottJapanElwin Sharvill UNQUALIFIED
Faith M CampainSpainAsiya Javayant PROPOSAL
Chavez J DilliardAustraliaAsiya Javayant NEW
Clifford A GauchoArgentinaIoni Bowcher PROPOSAL
Cody H PoquetteArgentinaIvan Magalhaes RENEWAL
Misaki X DarakjyBrazilIoni Bowcher NEW
Francesco X TollnerBrazilIoni Bowcher NEGOTIATION
Misaki N FigeroaSpainOnyama Limba RENEWAL
Kaitlin H PerinItalyStephen Shaw RENEWAL
Arvin N OstroskyAustraliaAsiya Javayant QUALIFIED
Jeanfrancois U DoeIndiaElwin Sharvill NEW
Nicolas E BriddickArgentinaAmy Elsner RENEWAL
Maisha Q RutaArgentinaXuxue Feng NEW
Tony D BowleyUnited KingdomAsiya Javayant NEW
Wickens R MaletAustraliaIoni Bowcher NEW
Darci Z RulapaughGermanyIvan Magalhaes NEGOTIATION
Wickens U RimRussiaElwin Sharvill QUALIFIED
Juan Q SergiGermanyStephen Shaw NEGOTIATION
Izzy H GillianBrazilBernardo Dominic PROPOSAL
Clifford C OstroskyFranceIoni Bowcher RENEWAL
David S FigeroaArgentinaIoni Bowcher QUALIFIED
Claire V InouyeItalyXuxue Feng PROPOSAL
Kaitlin M InouyeIndiaAmy Elsner NEGOTIATION
Jennifer G DoeFranceBernardo Dominic UNQUALIFIED
Nicolas K ChuiIndiaAmy Elsner NEGOTIATION
Antonio I WhobreySpainAsiya Javayant NEW
Darci J CaudyGermanyBernardo Dominic UNQUALIFIED
Aditya S BowleyRussiaStephen Shaw NEGOTIATION
Cody M RulapaughBrazilAmy Elsner PROPOSAL
Maisha A StockhamArgentinaIoni Bowcher 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>