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
Mayumi D VocelkaCanadaOnyama Limba NEGOTIATION
James P FerenczJapanIoni Bowcher RENEWAL
Darci Y RimAustraliaAnna Fali UNQUALIFIED
Aruna R MaletIndiaIvan Magalhaes QUALIFIED
Stacey Z IturbideRussiaOnyama Limba RENEWAL
Jeanfrancois H GarufiArgentinaXuxue Feng RENEWAL
Maisha I AmigonArgentinaIvan Magalhaes RENEWAL
James D RulapaughSpainBernardo Dominic UNQUALIFIED
Misaki N KuskoSpainAmy Elsner NEGOTIATION
Darci O InouyeBrazilElwin Sharvill NEW
Misaki R MaletGermanyXuxue Feng NEW
Antonio E KuskoCanadaXuxue Feng PROPOSAL
Greenwood K GillianCanadaIoni Bowcher RENEWAL
Morrow Q InouyeItalyElwin Sharvill NEW
Rodrigues U WaycottItalyElwin Sharvill NEGOTIATION
Chavez B GlickCanadaStephen Shaw NEGOTIATION
Misaki J SaylorsArgentinaXuxue Feng NEGOTIATION
Darci H VenereAustraliaStephen Shaw NEW
Rodrigues G CampainJapanBernardo Dominic NEW
Johnson F RimUnited KingdomIvan Magalhaes PROPOSAL
Silvio G ShinkoRussiaAsiya Javayant UNQUALIFIED
Maisha J FerenczArgentinaAsiya Javayant PROPOSAL
Morrow P NestleGermanyAnna Fali QUALIFIED
Faith O InouyeCanadaOnyama Limba PROPOSAL
Aika C KuskoFranceBernardo Dominic RENEWAL
Jones A FigeroaJapanXuxue Feng NEGOTIATION
Arvin Q WaycottCanadaElwin Sharvill NEW
Darci G RulapaughSpainXuxue Feng NEGOTIATION
Ivar U WaycottIndiaBernardo Dominic UNQUALIFIED
Maisha J DilliardBrazilAnna Fali NEW
Cody W TollnerCanadaAsiya Javayant NEW
Octavia L FigeroaAustraliaElwin Sharvill NEW
Clifford L StensethJapanAnna Fali NEW
Maria U StensethCanadaIvan Magalhaes UNQUALIFIED
Wickens Q OldroydBrazilAsiya Javayant NEW
Octavia D ButtIndiaIvan Magalhaes PROPOSAL
Antonio T PerinAustraliaXuxue Feng NEW
Sinclair Q RimGermanyAnna Fali UNQUALIFIED
Claire Y CaudyBrazilOnyama Limba QUALIFIED
Isabel W FerenczRussiaIoni Bowcher RENEWAL
Julie Q PaprockiFranceElwin Sharvill PROPOSAL
Francesco V MaletFranceStephen Shaw QUALIFIED
Misaki O MaletGermanyOnyama Limba NEW
Emily R MarrierItalyElwin Sharvill NEW
Tony P GauchoAustraliaIoni Bowcher UNQUALIFIED
Juan I RimGermanyBernardo Dominic RENEWAL
Leja J SaylorsGermanyOnyama Limba PROPOSAL
Emily R DarakjyCanadaElwin Sharvill NEW
Tony E FollerSpainAnna Fali NEGOTIATION
Kadeem P MacleadSpainElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio D RimIndiaIvan Magalhaes NEGOTIATION
Isabel C StensethJapanAnna Fali PROPOSAL
Maisha P AlbaresUnited KingdomBernardo Dominic QUALIFIED
Maisha S NestleUnited KingdomAmy Elsner UNQUALIFIED
Cody G MaletAustraliaOnyama Limba NEW
Claire P KolmetzBrazilAsiya Javayant NEGOTIATION
Jeanfrancois U StensethItalyStephen Shaw RENEWAL
Ricardo W MaletArgentinaElwin Sharvill NEW
Mujtaba X AlbaresBrazilXuxue Feng UNQUALIFIED
Claire S MaletJapanIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba E AlbaresArgentina2026-10-07Truhlar And Truhlar Attys UNQUALIFIED95Onyama Limba
1001Rodrigues D TollnerRussia2026-10-09Dorl, James J Esq NEGOTIATION76Stephen Shaw
1002Kadeem U MaletSpain2026-10-06King, Christopher A Esq NEW47Stephen Shaw
1003Claire A CaudyArgentina2026-10-08Benton, John B Jr QUALIFIED78Onyama Limba
1004Mayumi Z FollerGermany2026-10-12Chemel, James L Cpa PROPOSAL70Xuxue Feng
1005Maisha A RimBrazil2026-10-07King, Christopher A Esq PROPOSAL91Amy Elsner
1006Leon U FigeroaFrance2026-09-28Truhlar And Truhlar Attys NEGOTIATION48Asiya Javayant
1007Emily H ButtSpain2026-10-05Commercial Press RENEWAL53Onyama Limba
1008Costa O PoquetteGermany2026-09-19Feltz Printing Service QUALIFIED99Onyama Limba
1009Ricardo F CaldareraRussia2026-09-21Rangoni Of Florence NEGOTIATION84Bernardo Dominic
1010Johnson I FollerFrance2026-10-17Rousseaux, Michael Esq RENEWAL15Anna Fali
1011Jeanfrancois C FollerCanada2026-10-06Feltz Printing Service QUALIFIED59Onyama Limba
1012Arvin X ShinkoArgentina2026-09-24Chapman, Ross E Esq NEGOTIATION99Stephen Shaw
1013Salvatore A AlbaresArgentina2026-10-03Printing Dimensions PROPOSAL62Anna Fali
1014Nicolas J GlickUnited Kingdom2026-10-03Rangoni Of Florence QUALIFIED72Elwin Sharvill
1015Darci D BriddickJapan2026-09-20Benton, John B Jr PROPOSAL5Xuxue Feng
1016Costa P SlusarskiUnited Kingdom2026-09-22Commercial Press RENEWAL5Stephen Shaw
1017Cody S InouyeUnited Kingdom2026-09-19Feiner Bros QUALIFIED83Amy Elsner
1018Misaki Q DarakjyItaly2026-10-16King, Christopher A Esq NEGOTIATION54Ioni Bowcher
1019Sinclair B ShinkoSpain2026-10-02Benton, John B Jr QUALIFIED87Elwin Sharvill
1020Aruna D SergiRussia2026-10-07Morlong Associates RENEWAL95Xuxue Feng
1021Julie O CaudyGermany2026-10-18Morlong Associates NEGOTIATION65Ivan Magalhaes
1022Murillo Z MaletGermany2026-10-04Dorl, James J Esq QUALIFIED86Ioni Bowcher
1023Aditya B PoquetteAustralia2026-09-23King, Christopher A Esq RENEWAL84Elwin Sharvill
1024Johnson Q VenereJapan2026-10-06Truhlar And Truhlar Attys NEGOTIATION72Anna Fali
1025Clifford V FlosiItaly2026-10-09Morlong Associates UNQUALIFIED17Xuxue Feng
1026Munro N AlbaresRussia2026-10-11Buckley Miller Wright PROPOSAL75Ioni Bowcher
1027Tony N FlosiGermany2026-10-09Morlong Associates RENEWAL10Asiya Javayant
1028Salvatore S BriddickGermany2026-09-30Buckley Miller Wright NEGOTIATION25Asiya Javayant
1029Arvin T ChuiBrazil2026-09-23Benton, John B Jr QUALIFIED68Onyama Limba
1030Maria K ShinkoRussia2026-10-01Chapman, Ross E Esq RENEWAL50Elwin Sharvill
1031Sinclair I NestleArgentina2026-10-03Chapman, Ross E Esq NEGOTIATION37Elwin Sharvill
1032Jennifer H AmigonRussia2026-10-17Feiner Bros PROPOSAL66Ivan Magalhaes
1033Alejandro C DilliardUnited Kingdom2026-09-21Rousseaux, Michael Esq RENEWAL30Asiya Javayant
1034James Y PaprockiUnited Kingdom2026-09-22Printing Dimensions RENEWAL30Ivan Magalhaes
1035Rodrigues D MorascaIndia2026-10-18Feiner Bros PROPOSAL77Ivan Magalhaes
1036Antonio P VenereRussia2026-10-04King, Christopher A Esq PROPOSAL9Ivan Magalhaes
1037Mujtaba X IturbideCanada2026-10-01Rousseaux, Michael Esq NEGOTIATION68Anna Fali
1038Isabel Q GlickGermany2026-09-25King, Christopher A Esq NEW97Amy Elsner
1039Johnson B SchemmerCanada2026-10-14Rousseaux, Michael Esq RENEWAL26Bernardo Dominic
1040Leja O CaldareraBrazil2026-10-15Feiner Bros NEGOTIATION90Anna Fali
1041Sinclair Q KolmetzRussia2026-10-10Feltz Printing Service QUALIFIED78Asiya Javayant
1042Misaki T StensethAustralia2026-09-25Feltz Printing Service NEGOTIATION70Amy Elsner
1043Arvin N AlbaresUnited Kingdom2026-09-26Printing Dimensions NEW92Ioni Bowcher
1044Greenwood X AlbaresRussia2026-09-26King, Christopher A Esq NEGOTIATION81Asiya Javayant
1045Salvatore D SchemmerIndia2026-09-20Morlong Associates PROPOSAL29Elwin Sharvill
1046Jennifer U RutaBrazil2026-09-30Truhlar And Truhlar Attys QUALIFIED92Amy Elsner
1047Chavez F RutaAustralia2026-10-05Rangoni Of Florence UNQUALIFIED4Ivan Magalhaes
1048Smith R OstroskyGermany2026-09-25Dorl, James J Esq NEW75Onyama Limba
1049Sinclair Y OldroydUnited Kingdom2026-09-20Benton, John B Jr QUALIFIED71Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Greenwood F ChuiGermanyIoni Bowcher QUALIFIED
Kadeem C InouyeIndiaElwin Sharvill PROPOSAL
Nicolas F CampainJapanIvan Magalhaes PROPOSAL
Greenwood Q BowleyFranceElwin Sharvill PROPOSAL
Murillo E IturbideArgentinaOnyama Limba NEGOTIATION
Julie M AlbaresFranceStephen Shaw UNQUALIFIED
Johnson S ShinkoSpainElwin Sharvill QUALIFIED
Kaitlin N CaudyRussiaBernardo Dominic NEGOTIATION
Faith X GauchoGermanyOnyama Limba UNQUALIFIED
Johnson G GillianUnited KingdomAnna Fali NEGOTIATION
Silvio D CaudyAustraliaIoni Bowcher RENEWAL
Stacey Q PoquetteBrazilXuxue Feng PROPOSAL
Izzy T PerinJapanOnyama Limba NEGOTIATION
Chavez C BriddickArgentinaStephen Shaw UNQUALIFIED
Ashley T MaletGermanyAsiya Javayant NEW
Francesco P BowleyJapanElwin Sharvill RENEWAL
Greenwood L DilliardUnited KingdomOnyama Limba RENEWAL
Munro K GillianAustraliaStephen Shaw RENEWAL
Kadeem T ButtBrazilAmy Elsner UNQUALIFIED
Julie X RoysterRussiaIvan Magalhaes PROPOSAL
Johnson G BowleyAustraliaBernardo Dominic NEGOTIATION
Misaki R StensethRussiaIvan Magalhaes NEGOTIATION
Darci D FigeroaArgentinaAnna Fali QUALIFIED
Aika P NickaJapanAmy Elsner PROPOSAL
Munro X KolmetzSpainElwin Sharvill QUALIFIED
Munro Q WaycottArgentinaOnyama Limba PROPOSAL
Wickens J GarufiSpainBernardo Dominic RENEWAL
Ivar U MaletUnited KingdomIoni Bowcher NEW
Emily J MarrierAustraliaAnna Fali UNQUALIFIED
Cody L InouyeSpainElwin Sharvill UNQUALIFIED
Jennifer L GlickSpainXuxue Feng UNQUALIFIED
Ashley V RutaItalyXuxue Feng UNQUALIFIED
Wickens C WaycottArgentinaElwin Sharvill RENEWAL
Arvin O InouyeUnited KingdomIvan Magalhaes NEW
Salvatore M SlusarskiBrazilIoni Bowcher NEW
Arvin V SchemmerBrazilAsiya Javayant PROPOSAL
Octavia X IturbideGermanyBernardo Dominic PROPOSAL
Deepesh D DoeFranceIoni Bowcher NEGOTIATION
Maria Q StockhamItalyOnyama Limba NEW
Julie T MacleadBrazilAsiya Javayant QUALIFIED
Deepesh U MacleadGermanyOnyama Limba NEW
Ivar L FlosiCanadaAsiya Javayant RENEWAL
Juan V FollerFranceElwin Sharvill NEW
Morrow S StensethArgentinaIvan Magalhaes PROPOSAL
Jennifer C VocelkaFranceElwin Sharvill PROPOSAL
Mayumi K MaletArgentinaAsiya Javayant RENEWAL
Misaki F PerinFranceOnyama Limba RENEWAL
Greenwood H VenereBrazilXuxue Feng UNQUALIFIED
Wickens V PoquetteSpainAsiya Javayant RENEWAL
Aika I GlickFranceXuxue Feng RENEWAL
Frozen Columns
Name
Murillo U Rim
Greenwood B Dilliard
Johnson M Shinko
Tony F Garufi
Arvin U Malet
Jefferson J Kolmetz
Mayumi J Shinko
Ashley N Waycott
Arvin W Vocelka
Adams M Rulapaugh
Wickens P Oldroyd
Greenwood E Marrier
Faith D Venere
Leja F Marrier
Izzy T Butt
Ivar Z Campain
Johnson O Malet
Stacey H Bolognia
Munro W Marrier
Isabel Z Kolmetz
Murillo I Shinko
Julie T Gaucho
Johnson E Slusarski
Jeanfrancois G Albares
Wickens S Morasca
Francesco Q Caudy
Isabel R Garufi
Alejandro S Kusko
Cody J Perin
Ricardo B Iturbide
Silvio X Amigon
Leon I Bolognia
Aditya P Ferencz
Julie W Perin
Morrow I Flosi
Tony J Saylors
Francesco Q Kolmetz
Salvatore A Malet
David L Stenseth
Tony M Albares
Smith A Glick
Ricardo F Morasca
Costa G Iturbide
Stacey W Vocelka
Leja T Vocelka
Cody W Whobrey
Faith O Kolmetz
Faith W Stenseth
Kaitlin G Inouye
Izzy D Chui
IdCountryDate
1000India2026-09-28
1001France2026-09-29
1002Canada2026-10-13
1003United Kingdom2026-10-11
1004Brazil2026-10-18
1005Canada2026-09-29
1006Brazil2026-10-15
1007United Kingdom2026-10-06
1008France2026-09-28
1009Japan2026-10-03
1010Spain2026-09-20
1011United Kingdom2026-10-16
1012India2026-10-16
1013France2026-09-25
1014Spain2026-10-12
1015Italy2026-10-15
1016Brazil2026-10-02
1017Italy2026-10-10
1018Brazil2026-10-10
1019Australia2026-10-14
1020Australia2026-10-07
1021Canada2026-10-08
1022Germany2026-10-18
1023Spain2026-10-10
1024France2026-10-16
1025Russia2026-10-16
1026Italy2026-10-17
1027Russia2026-10-15
1028Australia2026-10-03
1029Italy2026-10-01
1030France2026-09-27
1031Australia2026-10-09
1032Germany2026-10-06
1033Italy2026-09-26
1034Canada2026-10-13
1035Australia2026-10-16
1036Brazil2026-09-25
1037France2026-10-02
1038Italy2026-09-27
1039India2026-09-19
1040India2026-09-24
1041United Kingdom2026-10-17
1042Brazil2026-09-25
1043France2026-10-05
1044United Kingdom2026-09-26
1045Brazil2026-10-06
1046United Kingdom2026-10-08
1047Canada2026-10-03
1048Spain2026-09-20
1049India2026-10-08

On-Demand Data

NameIdCountryDate
Smith E Poquette1000Russia2026-10-06
Arvin N Perin1001Brazil2026-10-04
Octavia C Whobrey1002Brazil2026-10-07
Clifford U Albares1003India2026-09-23
Aruna H Wieser1004Australia2026-09-30
Chavez E Garufi1005Australia2026-10-17
James E Garufi1006Brazil2026-10-14
Leja E Venere1007Japan2026-10-04
Aditya Z Garufi1008Germany2026-09-23
Silvio Y Bowley1009Japan2026-09-27
Mayumi W Ruta1010India2026-09-23
Julie V Campain1011Italy2026-09-27
Isabel L Dilliard1012Japan2026-09-26
Munro Z Inouye1013India2026-09-26
David P Chui1014Germany2026-09-27
Misaki M Nicka1015India2026-09-29
Cody J Gillian1016Russia2026-10-13
Jeanfrancois H Albares1017Japan2026-09-28
Aika Z Rulapaugh1018India2026-10-14
Leja F Saylors1019Japan2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar U MaletSpainElwin Sharvill QUALIFIED
Wickens H WaycottArgentinaBernardo Dominic PROPOSAL
Maria C ChuiBrazilAsiya Javayant UNQUALIFIED
Izzy V DilliardSpainXuxue Feng NEGOTIATION
Johnson K CaudyCanadaXuxue Feng UNQUALIFIED
Claire D BologniaFranceElwin Sharvill QUALIFIED
Mayumi H InouyeSpainIvan Magalhaes NEGOTIATION
Smith E RimGermanyAmy Elsner PROPOSAL
Adams E MorascaGermanyAnna Fali NEGOTIATION
Aditya Q MaletBrazilIvan Magalhaes QUALIFIED
Jennifer E InouyeBrazilBernardo Dominic PROPOSAL
Kaitlin N CaldareraAustraliaAsiya Javayant PROPOSAL
Antonio G GlickArgentinaAnna Fali PROPOSAL
Silvio O RutaGermanyAnna Fali NEW
Smith D InouyeArgentinaAmy Elsner PROPOSAL
Deepesh D StockhamBrazilOnyama Limba UNQUALIFIED
Adams G MaletRussiaAsiya Javayant RENEWAL
Ivar E CaldareraItalyElwin Sharvill PROPOSAL
Clifford L ShinkoArgentinaBernardo Dominic NEW
Izzy U StockhamAustraliaAmy Elsner PROPOSAL
Morrow H RulapaughAustraliaAmy Elsner NEGOTIATION
Maria H SlusarskiBrazilBernardo Dominic NEGOTIATION
Wickens C MacleadGermanyIvan Magalhaes NEGOTIATION
Leon G VocelkaUnited KingdomAmy Elsner UNQUALIFIED
Smith N FlosiGermanyOnyama Limba PROPOSAL
Antonio X TollnerFranceOnyama Limba NEGOTIATION
Aika C InouyeCanadaBernardo Dominic PROPOSAL
Alejandro M BowleyIndiaAmy Elsner NEW
Tony T FlosiGermanyElwin Sharvill RENEWAL
Ricardo C InouyeCanadaAnna Fali RENEWAL
Aditya J GarufiGermanyAmy Elsner PROPOSAL
Wickens K FlosiJapanIoni Bowcher UNQUALIFIED
Munro B FlosiAustraliaElwin Sharvill PROPOSAL
Leja V GlickAustraliaXuxue Feng UNQUALIFIED
Leon S VenereItalyIoni Bowcher QUALIFIED
Clifford U GillianCanadaXuxue Feng PROPOSAL
Sinclair Z KuskoBrazilAsiya Javayant UNQUALIFIED
Chavez N ChuiArgentinaAsiya Javayant PROPOSAL
Tony I TollnerIndiaAmy Elsner PROPOSAL
Antonio U GillianAustraliaAnna Fali NEGOTIATION

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