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
Maria L MacleadFranceAnna Fali UNQUALIFIED
Isabel H StensethCanadaBernardo Dominic QUALIFIED
Darci U MarrierIndiaAsiya Javayant UNQUALIFIED
Clifford T NestleJapanAnna Fali NEGOTIATION
Octavia G KolmetzSpainOnyama Limba RENEWAL
Aika Z BriddickRussiaAmy Elsner PROPOSAL
Rodrigues W ChuiRussiaAmy Elsner PROPOSAL
Mayumi Y GlickIndiaIvan Magalhaes RENEWAL
Jefferson S RimAustraliaAsiya Javayant UNQUALIFIED
Juan B GauchoArgentinaAnna Fali NEW
Nicolas P GauchoFranceAnna Fali NEGOTIATION
Leja I BriddickAustraliaElwin Sharvill UNQUALIFIED
Johnson R FlosiArgentinaAsiya Javayant NEGOTIATION
Mayumi L CaudyArgentinaIoni Bowcher PROPOSAL
Alejandro U SlusarskiUnited KingdomAsiya Javayant RENEWAL
Darci Z AlbaresJapanIvan Magalhaes UNQUALIFIED
Salvatore B CampainUnited KingdomIvan Magalhaes NEW
Antonio L StockhamIndiaOnyama Limba NEGOTIATION
Maisha U ButtRussiaStephen Shaw NEW
Emily A DoeIndiaOnyama Limba QUALIFIED
James U FigeroaItalyAsiya Javayant RENEWAL
Jones U WaycottIndiaBernardo Dominic UNQUALIFIED
Mujtaba X SchemmerRussiaXuxue Feng NEW
Morrow H MarrierBrazilAmy Elsner QUALIFIED
Salvatore P NestleSpainOnyama Limba NEW
Alejandro C IturbideSpainOnyama Limba NEGOTIATION
Leon U VocelkaBrazilStephen Shaw NEGOTIATION
Silvio D MorascaGermanyXuxue Feng UNQUALIFIED
Juan G MaletFranceAsiya Javayant QUALIFIED
Maisha I FlosiJapanStephen Shaw UNQUALIFIED
Stacey N MaletSpainAmy Elsner PROPOSAL
Sinclair S AlbaresIndiaBernardo Dominic UNQUALIFIED
Smith K BriddickCanadaXuxue Feng RENEWAL
Darci O ChuiArgentinaElwin Sharvill RENEWAL
Aruna A GauchoItalyOnyama Limba NEW
Chavez C VocelkaArgentinaElwin Sharvill QUALIFIED
Darci S SlusarskiGermanyBernardo Dominic PROPOSAL
Emily L SergiIndiaIoni Bowcher UNQUALIFIED
Salvatore L WhobreyArgentinaAnna Fali QUALIFIED
Ashley S FollerFranceAsiya Javayant NEW
Leon G PaprockiItalyOnyama Limba NEGOTIATION
Aruna W SlusarskiUnited KingdomStephen Shaw QUALIFIED
Silvio H ChuiUnited KingdomAnna Fali NEW
Morrow Z CaudyBrazilAnna Fali UNQUALIFIED
Salvatore H OldroydBrazilAsiya Javayant PROPOSAL
Kadeem Y ShinkoItalyAsiya Javayant RENEWAL
David P BowleyIndiaAsiya Javayant NEW
Maisha Y CaudyArgentinaIvan Magalhaes NEW
Johnson R DilliardCanadaStephen Shaw RENEWAL
Tony M OstroskyArgentinaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Munro S DarakjyGermanyXuxue Feng NEW
Mayumi G RimFranceAsiya Javayant UNQUALIFIED
Arvin P AlbaresCanadaXuxue Feng UNQUALIFIED
Deepesh D DarakjyCanadaAnna Fali QUALIFIED
Jeanfrancois S WhobreySpainAmy Elsner RENEWAL
Ricardo Q WhobreyRussiaBernardo Dominic NEGOTIATION
Tony I ButtArgentinaOnyama Limba QUALIFIED
Aruna M GarufiIndiaAsiya Javayant NEW
Salvatore G MarrierIndiaOnyama Limba QUALIFIED
Adams B GlickGermanyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James X WaycottJapan2026-11-10Feltz Printing Service NEW31Ivan Magalhaes
1001Arvin X ChuiUnited Kingdom2026-11-07Truhlar And Truhlar Attys RENEWAL52Anna Fali
1002Costa E BologniaRussia2026-10-25Morlong Associates NEW27Ioni Bowcher
1003Rodrigues N GlickBrazil2026-10-15Buckley Miller Wright RENEWAL24Xuxue Feng
1004Greenwood C AmigonGermany2026-10-20Feiner Bros QUALIFIED19Anna Fali
1005David O StensethAustralia2026-10-17Benton, John B Jr PROPOSAL24Onyama Limba
1006Claire N SchemmerFrance2026-11-04Feltz Printing Service NEGOTIATION22Asiya Javayant
1007Morrow I MarrierItaly2026-11-08Morlong Associates UNQUALIFIED14Asiya Javayant
1008Munro V PoquetteUnited Kingdom2026-10-27Morlong Associates NEGOTIATION77Elwin Sharvill
1009Isabel C ChuiSpain2026-10-23Chemel, James L Cpa NEW36Ioni Bowcher
1010Stacey I AlbaresGermany2026-10-16Rangoni Of Florence NEW13Stephen Shaw
1011Darci O SaylorsItaly2026-11-11Benton, John B Jr PROPOSAL0Elwin Sharvill
1012Maria J PaprockiItaly2026-10-24Printing Dimensions NEW69Xuxue Feng
1013Maisha B MarrierBrazil2026-11-07Commercial Press RENEWAL22Xuxue Feng
1014Isabel X PaprockiRussia2026-10-20Chemel, James L Cpa NEW22Elwin Sharvill
1015Aruna Q DilliardArgentina2026-10-30Buckley Miller Wright PROPOSAL9Bernardo Dominic
1016Deepesh B DilliardBrazil2026-11-02Feiner Bros NEGOTIATION93Stephen Shaw
1017Claire X FerenczRussia2026-11-10King, Christopher A Esq RENEWAL47Ivan Magalhaes
1018Jones Q AmigonItaly2026-11-10Truhlar And Truhlar Attys QUALIFIED65Stephen Shaw
1019Morrow Y ShinkoGermany2026-10-29Chemel, James L Cpa NEW45Asiya Javayant
1020Alejandro P TollnerGermany2026-10-24Truhlar And Truhlar Attys RENEWAL32Anna Fali
1021Smith L SlusarskiIndia2026-10-20Morlong Associates PROPOSAL88Elwin Sharvill
1022Wickens I FollerIndia2026-10-22Rangoni Of Florence RENEWAL93Amy Elsner
1023Rodrigues N PoquetteRussia2026-11-12Chanay, Jeffrey A Esq NEW70Asiya Javayant
1024Kaitlin P MorascaItaly2026-11-05Printing Dimensions NEW34Asiya Javayant
1025Rodrigues H IturbideCanada2026-10-27Rousseaux, Michael Esq NEW16Stephen Shaw
1026Francesco X OstroskyArgentina2026-11-11Buckley Miller Wright NEGOTIATION82Amy Elsner
1027Francesco X RoysterFrance2026-10-14Feltz Printing Service RENEWAL24Onyama Limba
1028Ivar V StockhamRussia2026-10-19Chapman, Ross E Esq QUALIFIED0Ivan Magalhaes
1029Misaki X GillianIndia2026-11-12Chanay, Jeffrey A Esq NEW76Onyama Limba
1030Ricardo M MacleadUnited Kingdom2026-10-25Chanay, Jeffrey A Esq QUALIFIED70Stephen Shaw
1031Darci P FlosiFrance2026-10-20Feiner Bros NEW32Asiya Javayant
1032Aditya O VenereBrazil2026-11-06Rangoni Of Florence NEGOTIATION19Ivan Magalhaes
1033Sinclair T VenereRussia2026-11-11Commercial Press QUALIFIED75Asiya Javayant
1034Jeanfrancois G GillianFrance2026-10-26Printing Dimensions PROPOSAL91Stephen Shaw
1035Smith Z ChuiGermany2026-10-21King, Christopher A Esq QUALIFIED82Amy Elsner
1036Darci A RoysterFrance2026-10-15Chemel, James L Cpa NEGOTIATION66Anna Fali
1037Octavia X MaletArgentina2026-10-25Commercial Press UNQUALIFIED70Ioni Bowcher
1038Jefferson M RutaAustralia2026-11-10Dorl, James J Esq RENEWAL85Bernardo Dominic
1039Chavez K AmigonAustralia2026-11-06King, Christopher A Esq UNQUALIFIED43Onyama Limba
1040Arvin Z BologniaCanada2026-10-17Buckley Miller Wright NEGOTIATION87Anna Fali
1041Rodrigues C CampainRussia2026-11-06Benton, John B Jr QUALIFIED41Elwin Sharvill
1042Leon D BowleyGermany2026-10-18Commercial Press NEW44Anna Fali
1043David Y VocelkaItaly2026-10-16Feltz Printing Service RENEWAL29Ioni Bowcher
1044Maisha T FlosiFrance2026-10-19Benton, John B Jr NEGOTIATION5Anna Fali
1045Ricardo N RoysterItaly2026-11-11Chanay, Jeffrey A Esq NEGOTIATION94Amy Elsner
1046Ashley N InouyeCanada2026-10-15Chapman, Ross E Esq NEW23Onyama Limba
1047Aditya E PaprockiUnited Kingdom2026-10-17Feltz Printing Service UNQUALIFIED53Bernardo Dominic
1048Murillo D OldroydGermany2026-10-27Truhlar And Truhlar Attys PROPOSAL40Ivan Magalhaes
1049Salvatore A VenereCanada2026-10-18Truhlar And Truhlar Attys UNQUALIFIED19Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Kadeem L AmigonBrazilBernardo Dominic NEW
Leon D FlosiArgentinaAmy Elsner UNQUALIFIED
Maria I AlbaresJapanBernardo Dominic NEW
Aruna Q GarufiJapanIvan Magalhaes QUALIFIED
Greenwood N DarakjyAustraliaXuxue Feng QUALIFIED
Claire M CaudyUnited KingdomAsiya Javayant PROPOSAL
Antonio L KuskoRussiaBernardo Dominic NEW
Chavez P PoquetteRussiaAnna Fali NEW
Deepesh S BowleyBrazilElwin Sharvill NEGOTIATION
Jefferson Q MarrierRussiaAmy Elsner UNQUALIFIED
Emily T DilliardAustraliaStephen Shaw NEW
Ashley N RimFranceIoni Bowcher NEW
Salvatore S IturbideFranceAmy Elsner QUALIFIED
Maisha A FollerItalyIvan Magalhaes RENEWAL
Leja E WieserUnited KingdomXuxue Feng QUALIFIED
Chavez P BowleyCanadaAsiya Javayant NEW
Misaki G GauchoUnited KingdomXuxue Feng NEW
Salvatore J WieserArgentinaAmy Elsner QUALIFIED
Maria E BriddickItalyOnyama Limba RENEWAL
Kadeem D NestleItalyAnna Fali PROPOSAL
Ivar D MorascaJapanAnna Fali NEGOTIATION
Munro L RutaItalyBernardo Dominic UNQUALIFIED
Nicolas U CaudyIndiaStephen Shaw QUALIFIED
Kaitlin N PerinBrazilAmy Elsner NEW
Antonio V StockhamIndiaStephen Shaw PROPOSAL
Aruna E MaletBrazilAsiya Javayant RENEWAL
Misaki R OldroydSpainOnyama Limba RENEWAL
Munro Y BologniaArgentinaIoni Bowcher NEGOTIATION
Ricardo N BriddickFranceAsiya Javayant PROPOSAL
Morrow E ButtArgentinaAmy Elsner UNQUALIFIED
Stacey O GillianBrazilXuxue Feng NEGOTIATION
Johnson D GillianBrazilBernardo Dominic NEW
Jeanfrancois H VocelkaGermanyAmy Elsner NEGOTIATION
Emily D AlbaresItalyIvan Magalhaes NEGOTIATION
Octavia Y ShinkoIndiaAmy Elsner NEGOTIATION
Ivar Q StockhamGermanyXuxue Feng UNQUALIFIED
Julie C SaylorsBrazilIvan Magalhaes QUALIFIED
Kaitlin B IturbideFranceStephen Shaw UNQUALIFIED
Jeanfrancois E DilliardItalyElwin Sharvill QUALIFIED
Mayumi Z NestleIndiaElwin Sharvill NEGOTIATION
Arvin T BologniaItalyStephen Shaw PROPOSAL
Octavia J DarakjyCanadaElwin Sharvill UNQUALIFIED
Faith E MacleadArgentinaXuxue Feng PROPOSAL
Maisha N MaletAustraliaAsiya Javayant NEGOTIATION
Murillo V ButtItalyBernardo Dominic PROPOSAL
Alejandro Q MaletFranceElwin Sharvill QUALIFIED
Jeanfrancois H CampainBrazilAsiya Javayant NEW
Johnson U ButtFranceStephen Shaw PROPOSAL
James B InouyeJapanOnyama Limba NEGOTIATION
Ivar V NickaCanadaElwin Sharvill PROPOSAL
Frozen Columns
Name
Antonio N Morasca
Jeanfrancois O Bolognia
Aika T Gillian
Rodrigues S Flosi
Leja D Stenseth
Morrow E Waycott
Misaki U Garufi
Murillo L Perin
Salvatore V Tollner
Rodrigues W Slusarski
Ashley L Bolognia
Claire F Doe
Mujtaba H Paprocki
Munro X Waycott
Jennifer U Chui
Aruna L Briddick
Jeanfrancois X Paprocki
Julie I Bowley
Maisha V Whobrey
Ivar O Kusko
Silvio V Malet
Nicolas P Gaucho
Leja Z Poquette
Maisha B Wieser
Antonio I Slusarski
Cody U Nestle
Misaki E Amigon
Silvio D Dilliard
Mayumi T Marrier
Murillo T Figeroa
Silvio Y Perin
Maria Q Nicka
Izzy A Briddick
Jennifer D Royster
Leja Z Morasca
Mayumi X Nestle
Murillo J Venere
Clifford V Oldroyd
Cody J Vocelka
Silvio I Marrier
Misaki N Inouye
Maria N Chui
Rodrigues S Caudy
Misaki P Tollner
Greenwood G Kolmetz
Darci R Amigon
Ivar V Nestle
Tony G Foller
Silvio I Ruta
Nicolas R Nestle
IdCountryDate
1000Brazil2026-10-26
1001Australia2026-11-10
1002Australia2026-10-15
1003Italy2026-10-16
1004Canada2026-10-19
1005Spain2026-11-09
1006France2026-11-06
1007Argentina2026-11-02
1008United Kingdom2026-10-26
1009France2026-10-31
1010Brazil2026-10-17
1011India2026-10-21
1012Russia2026-11-01
1013India2026-11-06
1014France2026-10-16
1015Russia2026-11-07
1016Canada2026-10-31
1017Japan2026-10-15
1018Russia2026-10-30
1019Russia2026-11-01
1020Australia2026-10-30
1021India2026-10-24
1022Germany2026-11-11
1023France2026-11-03
1024Russia2026-10-30
1025Germany2026-10-16
1026Japan2026-10-17
1027Italy2026-10-15
1028Germany2026-10-31
1029Germany2026-10-18
1030Spain2026-10-19
1031Japan2026-10-22
1032India2026-10-16
1033Spain2026-11-09
1034United Kingdom2026-10-28
1035Japan2026-10-30
1036Brazil2026-11-02
1037France2026-11-07
1038Canada2026-10-28
1039Russia2026-10-17
1040Brazil2026-11-02
1041Italy2026-10-27
1042Russia2026-10-29
1043Spain2026-10-25
1044Germany2026-10-24
1045Russia2026-11-07
1046Argentina2026-11-04
1047Spain2026-11-12
1048Russia2026-10-15
1049Germany2026-11-07

On-Demand Data

NameIdCountryDate
Adams Y Ostrosky1000United Kingdom2026-11-06
Antonio L Darakjy1001United Kingdom2026-10-15
Tony M Garufi1002Canada2026-10-17
Rodrigues X Flosi1003Australia2026-10-19
Leon K Malet1004Canada2026-11-12
Nicolas B Shinko1005France2026-10-20
Mujtaba U Wieser1006Argentina2026-10-17
Aditya E Nicka1007France2026-11-10
Maria N Ostrosky1008Italy2026-11-09
Sinclair R Stenseth1009Japan2026-10-20
Leja V Marrier1010Argentina2026-10-28
Cody I Morasca1011Brazil2026-10-20
Faith X Vocelka1012Canada2026-10-14
Julie V Dilliard1013Italy2026-10-31
Faith H Perin1014Spain2026-10-31
Mujtaba I Chui1015Canada2026-10-17
Ricardo Y Schemmer1016India2026-10-14
Aika E Slusarski1017Spain2026-11-08
Cody T Tollner1018Japan2026-11-06
Tony K Ostrosky1019Brazil2026-10-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson O SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin X GarufiUnited KingdomStephen Shaw NEW
Morrow R MarrierBrazilAnna Fali NEW
David C GlickIndiaBernardo Dominic NEW
Antonio B SlusarskiFranceIvan Magalhaes NEGOTIATION
Darci D SergiArgentinaIvan Magalhaes RENEWAL
Sinclair H FollerCanadaElwin Sharvill QUALIFIED
Faith M DilliardItalyIvan Magalhaes RENEWAL
Leja B StensethBrazilOnyama Limba UNQUALIFIED
Octavia N BowleyRussiaOnyama Limba UNQUALIFIED
Mayumi E SlusarskiJapanOnyama Limba PROPOSAL
Emily G PoquetteJapanStephen Shaw PROPOSAL
Jones B StockhamCanadaAmy Elsner UNQUALIFIED
Ricardo D NickaBrazilAnna Fali UNQUALIFIED
Ashley U SaylorsJapanAmy Elsner RENEWAL
Julie I MarrierIndiaAnna Fali RENEWAL
Jennifer L OldroydArgentinaAmy Elsner RENEWAL
Ricardo Q ChuiSpainElwin Sharvill UNQUALIFIED
Aditya R KolmetzIndiaStephen Shaw QUALIFIED
Kaitlin Q PaprockiJapanBernardo Dominic PROPOSAL
Cody S PerinBrazilStephen Shaw RENEWAL
Leja I PoquetteSpainOnyama Limba UNQUALIFIED
Francesco X FlosiIndiaXuxue Feng UNQUALIFIED
Cody M FollerRussiaOnyama Limba QUALIFIED
Smith S CaldareraJapanOnyama Limba NEW
Antonio V KolmetzAustraliaAsiya Javayant UNQUALIFIED
Julie K MacleadBrazilXuxue Feng RENEWAL
Claire M MaletRussiaBernardo Dominic PROPOSAL
Ivar W TollnerArgentinaAnna Fali RENEWAL
Leon E ButtAustraliaStephen Shaw UNQUALIFIED
Ivar O SlusarskiFranceAnna Fali UNQUALIFIED
Munro C CampainGermanyXuxue Feng NEW
Ricardo N FollerIndiaIoni Bowcher UNQUALIFIED
Ricardo T OstroskyFranceAsiya Javayant RENEWAL
Wickens L CaudyAustraliaAnna Fali UNQUALIFIED
Adams R NickaGermanyXuxue Feng RENEWAL
Deepesh Q MacleadUnited KingdomIoni Bowcher PROPOSAL
Murillo T RutaItalyBernardo Dominic RENEWAL
Leon D PoquetteSpainAsiya Javayant RENEWAL
Darci W GillianBrazilStephen Shaw QUALIFIED

<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>