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 B GlickJapanOnyama Limba RENEWAL
Kaitlin T MarrierSpainIvan Magalhaes NEGOTIATION
Alejandro I SlusarskiArgentinaAsiya Javayant RENEWAL
Darci P ShinkoIndiaAnna Fali NEW
Arvin X BriddickJapanStephen Shaw UNQUALIFIED
Francesco O WaycottUnited KingdomStephen Shaw QUALIFIED
Deepesh F OldroydFranceAnna Fali RENEWAL
Costa T RutaRussiaIvan Magalhaes NEGOTIATION
James W ChuiRussiaIvan Magalhaes UNQUALIFIED
Chavez C KuskoSpainXuxue Feng NEGOTIATION
Clifford K SlusarskiRussiaAmy Elsner NEW
Salvatore N ChuiFranceElwin Sharvill QUALIFIED
Maisha V KuskoArgentinaAmy Elsner UNQUALIFIED
Antonio F NestleItalyBernardo Dominic QUALIFIED
Clifford N BowleyItalyXuxue Feng UNQUALIFIED
Claire O MorascaBrazilAnna Fali NEGOTIATION
Maisha L MaletAustraliaIoni Bowcher PROPOSAL
Stacey T RoysterItalyAsiya Javayant NEW
Misaki L ChuiArgentinaIoni Bowcher QUALIFIED
Murillo Z GlickIndiaElwin Sharvill NEGOTIATION
Misaki F WhobreyBrazilStephen Shaw NEW
Jeanfrancois D RutaJapanAnna Fali NEGOTIATION
Johnson O MarrierSpainOnyama Limba UNQUALIFIED
Wickens N FlosiItalyIvan Magalhaes RENEWAL
Kaitlin F MacleadUnited KingdomAnna Fali UNQUALIFIED
Mayumi M StensethFranceStephen Shaw UNQUALIFIED
Faith T MacleadRussiaIvan Magalhaes NEW
Costa W GauchoJapanAmy Elsner NEGOTIATION
Silvio Z VenereFranceXuxue Feng UNQUALIFIED
Mayumi L BowleyRussiaIvan Magalhaes RENEWAL
Jeanfrancois O WieserFranceAsiya Javayant NEW
Emily P MarrierCanadaBernardo Dominic UNQUALIFIED
Ashley I FigeroaUnited KingdomIvan Magalhaes RENEWAL
Leon N PerinJapanOnyama Limba NEW
Chavez V MaletRussiaAsiya Javayant UNQUALIFIED
James G RimAustraliaOnyama Limba PROPOSAL
Johnson X DilliardBrazilAsiya Javayant PROPOSAL
Jones T GillianAustraliaAmy Elsner NEW
Alejandro I GauchoIndiaAmy Elsner NEGOTIATION
Faith L SchemmerGermanyAnna Fali PROPOSAL
Kaitlin B WieserArgentinaAmy Elsner NEGOTIATION
Ivar D WaycottGermanyAsiya Javayant UNQUALIFIED
Johnson T MaletBrazilIoni Bowcher UNQUALIFIED
Wickens H NickaFranceAsiya Javayant RENEWAL
Juan C BowleyJapanOnyama Limba RENEWAL
David I StockhamUnited KingdomAmy Elsner RENEWAL
Emily Z BowleyJapanElwin Sharvill RENEWAL
Maisha U RoysterGermanyStephen Shaw RENEWAL
Julie V DilliardArgentinaBernardo Dominic PROPOSAL
Adams V WaycottAustraliaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon A PerinUnited KingdomIoni Bowcher NEGOTIATION
Aditya Z FigeroaRussiaXuxue Feng QUALIFIED
Octavia U CaldareraJapanBernardo Dominic NEW
Octavia U SlusarskiAustraliaAnna Fali PROPOSAL
Darci S SaylorsBrazilStephen Shaw RENEWAL
Munro X CaudyUnited KingdomBernardo Dominic PROPOSAL
Aruna I StockhamJapanIvan Magalhaes RENEWAL
Aika A RutaIndiaAsiya Javayant UNQUALIFIED
James J WieserFranceOnyama Limba RENEWAL
Adams A CaldareraGermanyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith T VenereBrazil2026-10-23Feltz Printing Service QUALIFIED25Asiya Javayant
1001Darci J StockhamJapan2026-10-09Feltz Printing Service NEGOTIATION82Asiya Javayant
1002Greenwood A OldroydArgentina2026-10-12Rangoni Of Florence RENEWAL5Onyama Limba
1003Jefferson U OstroskySpain2026-10-07Rangoni Of Florence RENEWAL76Ivan Magalhaes
1004Silvio C WaycottUnited Kingdom2026-10-18Printing Dimensions RENEWAL98Ioni Bowcher
1005Smith D MaletRussia2026-10-17Rangoni Of Florence NEW4Anna Fali
1006Isabel R SchemmerCanada2026-10-25King, Christopher A Esq QUALIFIED79Elwin Sharvill
1007Cody G WieserGermany2026-10-18Chapman, Ross E Esq RENEWAL3Bernardo Dominic
1008Tony L NestleJapan2026-10-08Rangoni Of Florence NEW86Anna Fali
1009James O KuskoIndia2026-10-19Dorl, James J Esq NEW20Amy Elsner
1010Jeanfrancois V RulapaughJapan2026-10-15Benton, John B Jr PROPOSAL73Stephen Shaw
1011Isabel U AlbaresCanada2026-10-28Commercial Press QUALIFIED30Onyama Limba
1012Ivar Q KuskoItaly2026-10-12King, Christopher A Esq RENEWAL75Amy Elsner
1013Chavez K SchemmerArgentina2026-10-12Truhlar And Truhlar Attys NEGOTIATION82Onyama Limba
1014Juan A WhobreyCanada2026-10-08Chapman, Ross E Esq UNQUALIFIED10Ivan Magalhaes
1015Smith Q NickaUnited Kingdom2026-10-05Rangoni Of Florence NEW86Stephen Shaw
1016Salvatore Y DilliardGermany2026-10-22Chanay, Jeffrey A Esq NEGOTIATION98Ioni Bowcher
1017Johnson X ButtGermany2026-10-11Chemel, James L Cpa NEW21Bernardo Dominic
1018Leon U CaudyRussia2026-10-23Chemel, James L Cpa QUALIFIED12Anna Fali
1019Tony W FollerAustralia2026-10-19Chemel, James L Cpa UNQUALIFIED29Amy Elsner
1020Arvin B ChuiRussia2026-10-15Dorl, James J Esq NEW94Ivan Magalhaes
1021Ricardo S WhobreyArgentina2026-10-13Rangoni Of Florence QUALIFIED65Ioni Bowcher
1022Salvatore H OstroskyUnited Kingdom2026-10-03Benton, John B Jr UNQUALIFIED93Elwin Sharvill
1023Aika R ChuiCanada2026-10-17Dorl, James J Esq PROPOSAL51Xuxue Feng
1024Isabel Y DarakjyItaly2026-10-19Feltz Printing Service PROPOSAL25Stephen Shaw
1025Kaitlin V FollerUnited Kingdom2026-10-05Benton, John B Jr NEW33Anna Fali
1026Greenwood R MacleadGermany2026-10-21Benton, John B Jr NEW68Ioni Bowcher
1027Julie P TollnerRussia2026-10-19Chanay, Jeffrey A Esq NEW41Elwin Sharvill
1028Greenwood B VocelkaArgentina2026-10-16Feiner Bros PROPOSAL14Stephen Shaw
1029Nicolas A FigeroaIndia2026-10-23Feltz Printing Service NEW55Amy Elsner
1030Jefferson J FlosiCanada2026-10-24Commercial Press UNQUALIFIED86Amy Elsner
1031Emily U StockhamCanada2026-10-26Truhlar And Truhlar Attys RENEWAL48Ivan Magalhaes
1032Sinclair C NickaFrance2026-10-12Dorl, James J Esq UNQUALIFIED41Ioni Bowcher
1033Julie L TollnerSpain2026-10-20Rousseaux, Michael Esq NEGOTIATION9Ivan Magalhaes
1034Jefferson J SlusarskiJapan2026-10-18Chapman, Ross E Esq UNQUALIFIED15Bernardo Dominic
1035Sinclair P PoquetteIndia2026-10-25Feiner Bros UNQUALIFIED51Ivan Magalhaes
1036Jefferson W SergiIndia2026-10-23Chemel, James L Cpa NEW74Amy Elsner
1037Aruna X SlusarskiUnited Kingdom2026-10-13Commercial Press NEW33Onyama Limba
1038Kaitlin W KolmetzIndia2026-10-06King, Christopher A Esq NEGOTIATION66Onyama Limba
1039Emily F MorascaArgentina2026-10-03Chanay, Jeffrey A Esq QUALIFIED2Anna Fali
1040Maisha V FollerJapan2026-10-08Chemel, James L Cpa NEW97Onyama Limba
1041Aditya I NestleGermany2026-10-05Chemel, James L Cpa RENEWAL44Elwin Sharvill
1042Clifford S KuskoAustralia2026-10-10King, Christopher A Esq RENEWAL25Amy Elsner
1043Clifford K WaycottIndia2026-10-11Buckley Miller Wright NEW12Elwin Sharvill
1044Ricardo Z FerenczBrazil2026-10-06Benton, John B Jr NEW46Onyama Limba
1045Greenwood A PaprockiFrance2026-10-15Feiner Bros RENEWAL40Amy Elsner
1046Silvio F BriddickBrazil2026-10-24Benton, John B Jr UNQUALIFIED31Ioni Bowcher
1047David K SaylorsJapan2026-10-11Feltz Printing Service NEW21Elwin Sharvill
1048Ashley W WieserItaly2026-10-14Chemel, James L Cpa NEGOTIATION63Onyama Limba
1049Claire Z RoysterSpain2026-10-26Rangoni Of Florence RENEWAL87Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
David E PoquetteArgentinaAnna Fali PROPOSAL
Jefferson U OstroskyUnited KingdomElwin Sharvill NEW
Jennifer U BologniaAustraliaElwin Sharvill UNQUALIFIED
Silvio R PerinFranceIvan Magalhaes NEGOTIATION
Claire L AmigonIndiaXuxue Feng NEW
David S OldroydIndiaAmy Elsner PROPOSAL
Ivar X RulapaughIndiaAnna Fali RENEWAL
Faith T OstroskyArgentinaStephen Shaw PROPOSAL
Isabel I VocelkaSpainAsiya Javayant NEW
Munro V RulapaughAustraliaStephen Shaw NEW
Smith A NickaGermanyAsiya Javayant RENEWAL
Smith N RulapaughItalyAsiya Javayant NEW
Clifford P RimGermanyIoni Bowcher QUALIFIED
Francesco P CaldareraBrazilAmy Elsner NEW
Ricardo H AlbaresSpainAmy Elsner RENEWAL
Smith D VenereIndiaIoni Bowcher UNQUALIFIED
Ashley X RimJapanXuxue Feng PROPOSAL
Julie C GarufiAustraliaIoni Bowcher RENEWAL
Leja K MaletSpainBernardo Dominic RENEWAL
Wickens T IturbideArgentinaStephen Shaw NEW
Murillo U AlbaresBrazilAnna Fali PROPOSAL
Maisha R NestleRussiaBernardo Dominic NEGOTIATION
Ivar L MaletItalyIoni Bowcher PROPOSAL
Ashley I InouyeUnited KingdomAmy Elsner UNQUALIFIED
Arvin P AlbaresItalyBernardo Dominic PROPOSAL
Aruna G IturbideCanadaOnyama Limba NEGOTIATION
Misaki L ChuiUnited KingdomAmy Elsner NEW
Costa N TollnerGermanyAnna Fali NEGOTIATION
Leon N SergiIndiaOnyama Limba QUALIFIED
Aruna S ChuiUnited KingdomXuxue Feng RENEWAL
Aika S MaletGermanyBernardo Dominic UNQUALIFIED
Jones S WhobreyJapanIvan Magalhaes NEW
Ivar W ButtIndiaElwin Sharvill QUALIFIED
Ricardo A BologniaSpainIoni Bowcher NEW
Izzy B RutaUnited KingdomIoni Bowcher RENEWAL
Misaki E GillianArgentinaAnna Fali PROPOSAL
Emily M FigeroaAustraliaIoni Bowcher PROPOSAL
Jeanfrancois Q WieserCanadaAsiya Javayant QUALIFIED
Adams F StockhamFranceXuxue Feng RENEWAL
Arvin B MaletCanadaIoni Bowcher UNQUALIFIED
Emily K ShinkoRussiaAmy Elsner PROPOSAL
Ashley J MaletCanadaAmy Elsner NEGOTIATION
Jennifer J SlusarskiBrazilAnna Fali QUALIFIED
Claire W RulapaughGermanyElwin Sharvill QUALIFIED
Maisha Q FigeroaArgentinaXuxue Feng NEW
Cody R SaylorsArgentinaAnna Fali PROPOSAL
Greenwood P OldroydJapanAsiya Javayant NEGOTIATION
Aruna Y VocelkaRussiaAmy Elsner NEW
Jennifer O MaletIndiaAmy Elsner NEGOTIATION
Ashley J MaletFranceXuxue Feng RENEWAL
Frozen Columns
Name
Costa G Vocelka
Ashley Y Oldroyd
Aditya K Stockham
Izzy K Doe
Johnson M Gillian
Isabel M Inouye
Arvin E Royster
Jeanfrancois R Amigon
Cody Z Ferencz
Deepesh A Caldarera
Izzy J Schemmer
Nicolas T Iturbide
Greenwood P Kolmetz
Jennifer M Kolmetz
Silvio P Figeroa
Francesco D Nicka
Wickens L Campain
Emily R Iturbide
Ricardo R Paprocki
Jeanfrancois V Doe
Stacey T Nestle
Isabel R Maclead
Smith E Ruta
Johnson Y Kusko
Aruna Y Ruta
Claire Q Gaucho
Jefferson D Doe
Maisha Y Paprocki
Claire X Rulapaugh
Ashley S Bolognia
Isabel S Flosi
Juan P Nicka
Silvio Z Butt
Kadeem R Waycott
Ricardo K Caudy
Nicolas N Bowley
Maria X Poquette
Morrow V Marrier
Claire D Bowley
Octavia H Kolmetz
Jones E Malet
Aika Y Oldroyd
Juan D Butt
Octavia Y Morasca
Claire L Paprocki
Aika T Iturbide
Tony F Darakjy
Wickens S Whobrey
Chavez X Ostrosky
Arvin T Waycott
IdCountryDate
1000United Kingdom2026-10-20
1001France2026-10-24
1002Russia2026-10-07
1003Japan2026-10-06
1004Germany2026-10-21
1005India2026-10-22
1006Australia2026-10-21
1007United Kingdom2026-10-23
1008Australia2026-10-14
1009India2026-10-14
1010Italy2026-10-31
1011Italy2026-10-14
1012United Kingdom2026-10-09
1013Brazil2026-10-07
1014Brazil2026-10-05
1015Argentina2026-10-22
1016Brazil2026-10-25
1017France2026-10-24
1018United Kingdom2026-10-11
1019Brazil2026-10-10
1020Canada2026-10-23
1021Italy2026-10-29
1022Spain2026-10-07
1023Japan2026-10-09
1024India2026-10-16
1025Russia2026-10-20
1026Spain2026-10-03
1027Italy2026-10-21
1028Italy2026-10-12
1029Spain2026-10-25
1030India2026-10-22
1031France2026-10-12
1032India2026-10-13
1033Spain2026-10-24
1034France2026-10-14
1035Australia2026-10-11
1036Brazil2026-10-11
1037India2026-10-04
1038Australia2026-10-26
1039Italy2026-10-12
1040Italy2026-10-13
1041Argentina2026-10-06
1042Russia2026-10-15
1043Australia2026-10-12
1044India2026-10-02
1045Japan2026-10-22
1046France2026-10-17
1047Canada2026-10-23
1048Germany2026-10-07
1049Germany2026-10-05

On-Demand Data

NameIdCountryDate
Mayumi M Gillian1000Australia2026-10-07
Francesco F Perin1001Italy2026-10-21
Jefferson M Nicka1002Brazil2026-10-25
Sinclair D Inouye1003Russia2026-10-20
Jennifer L Bowley1004Argentina2026-10-28
Octavia N Venere1005Germany2026-10-16
Jones M Bowley1006Canada2026-10-31
Sinclair P Saylors1007Brazil2026-10-31
Rodrigues J Caudy1008United Kingdom2026-10-23
Aditya L Waycott1009Argentina2026-10-02
Murillo D Gillian1010Italy2026-10-03
Leon E Perin1011Argentina2026-10-27
Kaitlin B Nicka1012Brazil2026-10-18
Johnson F Tollner1013France2026-10-06
Faith X Waycott1014Brazil2026-10-18
Rodrigues L Maclead1015Canada2026-10-08
Aditya S Gillian1016Italy2026-10-27
Jennifer F Stockham1017United Kingdom2026-10-18
Morrow H Bowley1018United Kingdom2026-10-19
James I Flosi1019Germany2026-10-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily L OstroskyRussiaAnna Fali UNQUALIFIED
Nicolas X KuskoIndiaStephen Shaw RENEWAL
James X VocelkaItalyBernardo Dominic PROPOSAL
Alejandro B GarufiCanadaAmy Elsner UNQUALIFIED
Arvin S FlosiFranceAsiya Javayant QUALIFIED
Ricardo Z MacleadIndiaElwin Sharvill PROPOSAL
Claire J OldroydRussiaIvan Magalhaes UNQUALIFIED
Emily M OldroydRussiaElwin Sharvill NEGOTIATION
Aika O CaudyAustraliaStephen Shaw NEGOTIATION
Izzy N RimFranceAmy Elsner PROPOSAL
Julie W StensethRussiaAnna Fali UNQUALIFIED
Leon J KuskoFranceAmy Elsner NEW
Silvio R FollerJapanStephen Shaw QUALIFIED
Kadeem O BowleyRussiaElwin Sharvill RENEWAL
Ricardo K VenereArgentinaElwin Sharvill QUALIFIED
Ivar U ChuiJapanIoni Bowcher NEW
Cody E MaletRussiaIvan Magalhaes QUALIFIED
Jefferson Q RutaGermanyStephen Shaw RENEWAL
Emily Q AmigonSpainAmy Elsner RENEWAL
Mujtaba I VenereGermanyIvan Magalhaes NEGOTIATION
Faith L VenereArgentinaAmy Elsner NEGOTIATION
Smith H GlickRussiaElwin Sharvill PROPOSAL
Mayumi L DarakjySpainIvan Magalhaes UNQUALIFIED
David Q VocelkaJapanAnna Fali NEGOTIATION
Chavez Z DoeUnited KingdomAnna Fali UNQUALIFIED
Nicolas X BowleyJapanBernardo Dominic UNQUALIFIED
Octavia J SchemmerBrazilAsiya Javayant NEW
Leja K StockhamGermanyOnyama Limba NEGOTIATION
Aruna A GarufiArgentinaStephen Shaw QUALIFIED
Ricardo X ButtJapanIoni Bowcher QUALIFIED
Ashley J RulapaughGermanyAsiya Javayant UNQUALIFIED
Sinclair C SlusarskiItalyAmy Elsner NEW
Darci U KuskoGermanyAsiya Javayant QUALIFIED
Claire V RoysterItalyBernardo Dominic PROPOSAL
Jeanfrancois F RoysterJapanStephen Shaw RENEWAL
Chavez H SlusarskiSpainXuxue Feng NEW
Mujtaba M GarufiSpainIoni Bowcher UNQUALIFIED
Jennifer D DarakjyIndiaXuxue Feng UNQUALIFIED
Jeanfrancois A CampainIndiaAsiya Javayant RENEWAL
Misaki U RimUnited KingdomAsiya Javayant 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>