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
Ricardo R RoysterJapanAnna Fali QUALIFIED
Jones O FerenczBrazilAmy Elsner RENEWAL
Juan X OstroskyFranceStephen Shaw UNQUALIFIED
Misaki E PoquetteRussiaIoni Bowcher RENEWAL
Mayumi V OstroskyAustraliaElwin Sharvill PROPOSAL
Leon Q GlickIndiaElwin Sharvill NEGOTIATION
Adams G RutaSpainElwin Sharvill PROPOSAL
Adams S StockhamGermanyIvan Magalhaes QUALIFIED
Costa M SergiItalyIvan Magalhaes PROPOSAL
Smith Z SchemmerAustraliaBernardo Dominic RENEWAL
Julie C NestleArgentinaAmy Elsner NEW
Morrow C DarakjyCanadaAsiya Javayant QUALIFIED
Salvatore V KuskoBrazilAnna Fali NEW
Cody U IturbideUnited KingdomIoni Bowcher UNQUALIFIED
Claire K FerenczFranceStephen Shaw NEGOTIATION
Mujtaba W TollnerAustraliaElwin Sharvill RENEWAL
Tony H SchemmerRussiaBernardo Dominic UNQUALIFIED
Isabel G IturbideFranceAsiya Javayant NEW
Ashley T KuskoBrazilIvan Magalhaes UNQUALIFIED
Johnson U DoeCanadaElwin Sharvill QUALIFIED
Ivar C FollerFranceBernardo Dominic NEW
Sinclair W VocelkaJapanAmy Elsner QUALIFIED
Maria Q ChuiRussiaAmy Elsner NEW
David Y AmigonIndiaElwin Sharvill NEW
Clifford N NestleCanadaIvan Magalhaes RENEWAL
Sinclair N GauchoFranceAmy Elsner NEW
David S BologniaCanadaAsiya Javayant QUALIFIED
Arvin M CampainSpainStephen Shaw NEW
Aditya E OstroskyArgentinaBernardo Dominic NEGOTIATION
Octavia W AmigonUnited KingdomIvan Magalhaes NEW
Francesco H DarakjyIndiaIoni Bowcher PROPOSAL
Jeanfrancois U ButtArgentinaAsiya Javayant NEW
Deepesh P ButtGermanyBernardo Dominic QUALIFIED
Darci D StockhamJapanIoni Bowcher UNQUALIFIED
Greenwood I KolmetzGermanyIvan Magalhaes NEW
James W ShinkoBrazilAmy Elsner NEW
Isabel E SchemmerJapanAnna Fali UNQUALIFIED
Jennifer R PoquetteFranceAmy Elsner NEGOTIATION
Misaki N RimCanadaBernardo Dominic RENEWAL
Johnson W GillianRussiaXuxue Feng QUALIFIED
Octavia M RoysterCanadaXuxue Feng NEW
Francesco R DoeUnited KingdomElwin Sharvill NEW
Mayumi U SlusarskiIndiaXuxue Feng PROPOSAL
James F GauchoIndiaAmy Elsner RENEWAL
Ashley W RimSpainStephen Shaw RENEWAL
Johnson J SchemmerArgentinaElwin Sharvill QUALIFIED
Rodrigues E ButtBrazilOnyama Limba RENEWAL
Murillo B CaldareraRussiaIoni Bowcher PROPOSAL
Munro C StockhamIndiaStephen Shaw UNQUALIFIED
Maisha M VenereBrazilAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Darci X CaudyRussiaIvan Magalhaes PROPOSAL
Chavez Y WhobreyGermanyAmy Elsner NEW
Greenwood V OldroydCanadaAsiya Javayant NEW
Salvatore K GarufiSpainBernardo Dominic QUALIFIED
Cody D CampainAustraliaBernardo Dominic RENEWAL
Silvio U SergiIndiaAsiya Javayant UNQUALIFIED
Izzy L OstroskyUnited KingdomOnyama Limba NEGOTIATION
Kaitlin P SergiBrazilAmy Elsner NEW
Stacey A GauchoIndiaIoni Bowcher UNQUALIFIED
Antonio U CaudyGermanyStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie J BologniaRussia2026-10-24Chanay, Jeffrey A Esq NEGOTIATION62Ioni Bowcher
1001Mayumi G WieserCanada2026-10-07Feltz Printing Service UNQUALIFIED45Onyama Limba
1002Munro Z RutaSpain2026-10-17King, Christopher A Esq NEW42Onyama Limba
1003Antonio K RoysterCanada2026-11-01Dorl, James J Esq PROPOSAL30Ioni Bowcher
1004Aditya V GlickJapan2026-10-27Chapman, Ross E Esq QUALIFIED60Amy Elsner
1005Rodrigues Y TollnerArgentina2026-10-20Printing Dimensions QUALIFIED0Xuxue Feng
1006Adams K ShinkoRussia2026-10-20Rousseaux, Michael Esq NEGOTIATION7Onyama Limba
1007Munro P DilliardArgentina2026-10-12Morlong Associates RENEWAL81Anna Fali
1008Ivar O BowleyFrance2026-10-17Rangoni Of Florence RENEWAL20Ivan Magalhaes
1009Claire G CaldareraSpain2026-10-06Feiner Bros RENEWAL30Onyama Limba
1010Antonio P BriddickAustralia2026-10-05King, Christopher A Esq QUALIFIED46Ioni Bowcher
1011Adams C IturbideBrazil2026-10-24Commercial Press UNQUALIFIED90Anna Fali
1012Jones Y NickaFrance2026-10-17Chanay, Jeffrey A Esq QUALIFIED79Stephen Shaw
1013Antonio B KolmetzSpain2026-10-23Rousseaux, Michael Esq RENEWAL27Ioni Bowcher
1014Morrow O CaldareraItaly2026-10-15Chemel, James L Cpa UNQUALIFIED57Xuxue Feng
1015Johnson D PerinBrazil2026-10-18Buckley Miller Wright NEW67Ioni Bowcher
1016Isabel K PerinAustralia2026-10-13Commercial Press RENEWAL38Anna Fali
1017Clifford C PerinJapan2026-10-22Feiner Bros RENEWAL45Asiya Javayant
1018Kadeem Q CaldareraJapan2026-10-16Buckley Miller Wright PROPOSAL66Asiya Javayant
1019Claire F ChuiArgentina2026-10-25Rangoni Of Florence QUALIFIED49Ivan Magalhaes
1020Leon X RimFrance2026-10-09Rousseaux, Michael Esq NEGOTIATION98Anna Fali
1021Izzy O OldroydGermany2026-10-10Commercial Press UNQUALIFIED95Asiya Javayant
1022Chavez V InouyeJapan2026-10-06Benton, John B Jr UNQUALIFIED54Asiya Javayant
1023Jeanfrancois L BriddickBrazil2026-11-01Rangoni Of Florence UNQUALIFIED82Xuxue Feng
1024Leja O ButtItaly2026-10-25Chanay, Jeffrey A Esq UNQUALIFIED74Xuxue Feng
1025Leja C MaletAustralia2026-10-12King, Christopher A Esq QUALIFIED3Ioni Bowcher
1026Leon V TollnerUnited Kingdom2026-10-27Feiner Bros UNQUALIFIED46Ivan Magalhaes
1027Maisha X IturbideJapan2026-10-24Morlong Associates NEGOTIATION29Bernardo Dominic
1028Salvatore O DoeGermany2026-10-15Morlong Associates RENEWAL16Onyama Limba
1029Cody Y InouyeIndia2026-10-19Chapman, Ross E Esq QUALIFIED78Anna Fali
1030Jefferson J DoeAustralia2026-11-01Morlong Associates QUALIFIED70Anna Fali
1031Juan B OldroydGermany2026-10-24Printing Dimensions PROPOSAL44Bernardo Dominic
1032Arvin K BologniaGermany2026-10-21Rangoni Of Florence QUALIFIED74Xuxue Feng
1033Alejandro L MacleadGermany2026-10-03Morlong Associates RENEWAL45Ivan Magalhaes
1034Aditya X AmigonBrazil2026-10-25Dorl, James J Esq UNQUALIFIED90Ioni Bowcher
1035Antonio K BowleyCanada2026-10-28Rangoni Of Florence UNQUALIFIED27Anna Fali
1036Alejandro B GlickGermany2026-10-15Dorl, James J Esq NEW20Amy Elsner
1037Wickens R MaletFrance2026-10-03Morlong Associates QUALIFIED83Amy Elsner
1038Munro T MarrierArgentina2026-10-19Rangoni Of Florence QUALIFIED76Ioni Bowcher
1039Jennifer J ButtGermany2026-10-17Morlong Associates PROPOSAL15Onyama Limba
1040Ricardo D ChuiArgentina2026-10-19Chemel, James L Cpa NEW63Ioni Bowcher
1041Aika A FerenczFrance2026-10-07Benton, John B Jr UNQUALIFIED1Ivan Magalhaes
1042Murillo S NickaJapan2026-10-14Printing Dimensions QUALIFIED18Ioni Bowcher
1043Greenwood P FerenczUnited Kingdom2026-10-07Dorl, James J Esq UNQUALIFIED83Elwin Sharvill
1044Aika H OstroskyAustralia2026-10-09Rangoni Of Florence NEGOTIATION12Elwin Sharvill
1045Costa S PaprockiSpain2026-10-11Benton, John B Jr RENEWAL24Ivan Magalhaes
1046Isabel L NestleGermany2026-10-14Dorl, James J Esq PROPOSAL67Ivan Magalhaes
1047Silvio Y FollerItaly2026-10-05King, Christopher A Esq NEGOTIATION6Amy Elsner
1048Smith F SlusarskiItaly2026-10-24Feltz Printing Service NEGOTIATION62Bernardo Dominic
1049Jennifer W StockhamIndia2026-10-31Feiner Bros UNQUALIFIED46Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jennifer A SaylorsJapanElwin Sharvill RENEWAL
Stacey A ChuiArgentinaIoni Bowcher NEW
Emily T InouyeSpainAmy Elsner UNQUALIFIED
Cody N SchemmerJapanOnyama Limba NEGOTIATION
Salvatore T VenereAustraliaElwin Sharvill NEW
Antonio T SlusarskiFranceOnyama Limba RENEWAL
Kadeem X StensethRussiaElwin Sharvill QUALIFIED
Kadeem I NickaIndiaIoni Bowcher PROPOSAL
James Q CaudyArgentinaOnyama Limba RENEWAL
Jeanfrancois J GarufiFranceElwin Sharvill QUALIFIED
Julie F NestleArgentinaOnyama Limba PROPOSAL
Murillo L MarrierJapanXuxue Feng NEGOTIATION
Mayumi V CaldareraItalyElwin Sharvill UNQUALIFIED
Darci K IturbideRussiaIvan Magalhaes QUALIFIED
Maisha M FollerAustraliaBernardo Dominic UNQUALIFIED
Jones E NickaAustraliaIvan Magalhaes NEGOTIATION
Smith E BriddickItalyIvan Magalhaes NEW
Ashley O DoeItalyStephen Shaw QUALIFIED
Nicolas J PerinFranceOnyama Limba NEW
Wickens X NestleArgentinaXuxue Feng RENEWAL
Aika K TollnerAustraliaAmy Elsner UNQUALIFIED
Jeanfrancois M GauchoGermanyAsiya Javayant QUALIFIED
Costa T RimArgentinaElwin Sharvill PROPOSAL
Wickens Y RulapaughJapanAmy Elsner QUALIFIED
Leon M FlosiIndiaAsiya Javayant RENEWAL
Leon Z PaprockiItalyElwin Sharvill RENEWAL
Stacey M BriddickSpainIvan Magalhaes PROPOSAL
Jefferson T ChuiIndiaOnyama Limba NEGOTIATION
Emily O ButtCanadaAnna Fali NEW
Smith L KuskoJapanIoni Bowcher UNQUALIFIED
Tony U GlickRussiaAmy Elsner NEGOTIATION
Misaki Q ChuiCanadaOnyama Limba PROPOSAL
Ashley B PaprockiUnited KingdomBernardo Dominic NEGOTIATION
Ricardo Q MacleadFranceAnna Fali RENEWAL
Jennifer D DilliardSpainOnyama Limba NEGOTIATION
Francesco S CaldareraArgentinaStephen Shaw PROPOSAL
Maisha B PoquetteRussiaBernardo Dominic UNQUALIFIED
Arvin S DoeGermanyXuxue Feng NEW
Claire I KuskoFranceOnyama Limba NEGOTIATION
Isabel E FigeroaBrazilAnna Fali UNQUALIFIED
Leja F GauchoJapanIvan Magalhaes NEW
Cody H CaudyIndiaIoni Bowcher UNQUALIFIED
Aditya P WieserFranceElwin Sharvill QUALIFIED
Chavez Y FollerItalyBernardo Dominic NEGOTIATION
Octavia P NickaArgentinaOnyama Limba NEGOTIATION
Francesco U AmigonFranceXuxue Feng PROPOSAL
Salvatore O DarakjyRussiaAsiya Javayant NEGOTIATION
Salvatore C VocelkaJapanAsiya Javayant NEGOTIATION
Chavez O FollerBrazilIoni Bowcher QUALIFIED
Mayumi H IturbideIndiaAmy Elsner NEW
Frozen Columns
Name
Francesco Y Iturbide
Tony Q Flosi
Mujtaba Z Whobrey
Silvio R Bolognia
Faith B Ostrosky
Jeanfrancois G Campain
Aditya A Nestle
David M Saylors
Costa V Caudy
Juan N Venere
Francesco L Ruta
Izzy M Vocelka
Ashley N Venere
Leon P Caldarera
Aika J Venere
Clifford H Nestle
Munro J Foller
Leon Y Gaucho
Julie J Briddick
Alejandro U Oldroyd
David I Rim
Arvin W Butt
Misaki U Nicka
Sinclair I Doe
Johnson Y Venere
Ashley R Perin
Greenwood A Morasca
Adams I Bowley
Jeanfrancois O Doe
James I Marrier
Aditya Z Darakjy
Jones B Amigon
Misaki Q Doe
Deepesh Z Foller
Misaki S Nestle
Ricardo J Dilliard
Juan C Figeroa
Murillo Y Ferencz
Murillo U Butt
Antonio B Bowley
Alejandro D Marrier
Stacey D Perin
Stacey R Foller
Chavez B Ruta
Stacey G Venere
Juan Z Gaucho
Jefferson P Campain
Munro P Dilliard
Tony T Nestle
Jennifer I Royster
IdCountryDate
1000United Kingdom2026-10-12
1001India2026-10-17
1002Spain2026-10-18
1003India2026-10-09
1004Germany2026-10-11
1005Russia2026-10-09
1006Russia2026-10-14
1007Germany2026-10-14
1008Australia2026-10-19
1009Australia2026-10-08
1010Australia2026-10-25
1011Russia2026-10-05
1012United Kingdom2026-10-28
1013Argentina2026-10-17
1014Canada2026-10-07
1015Germany2026-10-06
1016Germany2026-10-20
1017Spain2026-10-07
1018Brazil2026-10-26
1019Italy2026-10-22
1020Brazil2026-10-20
1021Australia2026-10-08
1022India2026-10-28
1023Canada2026-10-18
1024Japan2026-10-25
1025Brazil2026-10-21
1026India2026-10-16
1027Russia2026-10-06
1028Australia2026-10-03
1029Australia2026-10-25
1030France2026-10-25
1031Australia2026-10-19
1032Germany2026-10-19
1033United Kingdom2026-10-10
1034Argentina2026-11-01
1035Brazil2026-10-17
1036Spain2026-10-14
1037Spain2026-11-01
1038Germany2026-10-27
1039India2026-10-20
1040Brazil2026-10-06
1041Brazil2026-10-06
1042Brazil2026-10-03
1043Canada2026-10-20
1044France2026-10-09
1045Germany2026-10-29
1046United Kingdom2026-10-29
1047France2026-10-24
1048Argentina2026-10-06
1049Brazil2026-10-09

On-Demand Data

NameIdCountryDate
Adams C Albares1000Japan2026-10-11
Nicolas I Inouye1001Italy2026-10-22
Leja X Dilliard1002Italy2026-10-24
Stacey P Inouye1003Argentina2026-10-05
Johnson J Schemmer1004Japan2026-10-11
Antonio M Ostrosky1005United Kingdom2026-10-26
Juan M Butt1006France2026-10-16
Cody S Whobrey1007Germany2026-10-10
Faith H Schemmer1008United Kingdom2026-10-03
Jefferson S Chui1009Australia2026-10-11
Aditya O Oldroyd1010Canada2026-11-01
Jefferson H Saylors1011Russia2026-10-30
Munro F Kusko1012Canada2026-10-25
Juan L Slusarski1013Australia2026-10-27
Kaitlin S Wieser1014Argentina2026-10-15
Misaki F Amigon1015Japan2026-10-05
Mayumi S Albares1016Spain2026-10-22
Tony X Inouye1017Spain2026-10-22
Darci Z Briddick1018Germany2026-10-26
Salvatore L Kusko1019Germany2026-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford W FerenczGermanyOnyama Limba NEGOTIATION
Mujtaba N NickaCanadaXuxue Feng QUALIFIED
Costa R GillianUnited KingdomAmy Elsner PROPOSAL
Aruna G RoysterGermanyOnyama Limba NEW
Jeanfrancois K BriddickUnited KingdomAmy Elsner RENEWAL
Munro X DarakjyIndiaXuxue Feng RENEWAL
Leja Z MaletCanadaBernardo Dominic NEGOTIATION
Costa G CampainIndiaAsiya Javayant UNQUALIFIED
Francesco S GauchoBrazilBernardo Dominic NEGOTIATION
Ivar X VocelkaFranceBernardo Dominic RENEWAL
Kaitlin F CaudyItalyIvan Magalhaes PROPOSAL
Ivar B CaudyRussiaAnna Fali UNQUALIFIED
Smith F FigeroaIndiaAmy Elsner NEW
Smith W WaycottJapanIvan Magalhaes RENEWAL
Adams U ShinkoJapanOnyama Limba PROPOSAL
Aditya W VocelkaArgentinaOnyama Limba NEW
Aika D FollerJapanAnna Fali NEW
Morrow F AmigonItalyAnna Fali UNQUALIFIED
Ashley H DoeCanadaBernardo Dominic PROPOSAL
David U BriddickItalyBernardo Dominic UNQUALIFIED
Johnson O NestleItalyIoni Bowcher PROPOSAL
Jefferson R MacleadUnited KingdomAsiya Javayant PROPOSAL
Juan X NestleJapanAnna Fali QUALIFIED
Arvin E IturbideIndiaElwin Sharvill PROPOSAL
Claire D FlosiCanadaAnna Fali NEW
Wickens E SchemmerBrazilXuxue Feng UNQUALIFIED
Ashley U RoysterIndiaBernardo Dominic NEGOTIATION
Stacey G AmigonUnited KingdomStephen Shaw NEGOTIATION
Chavez S RoysterGermanyOnyama Limba NEGOTIATION
Munro C PoquetteSpainElwin Sharvill NEW
Kadeem Y NestleAustraliaBernardo Dominic QUALIFIED
Izzy E FollerBrazilIvan Magalhaes NEW
Francesco S GlickItalyIvan Magalhaes RENEWAL
Johnson G KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Antonio C SlusarskiIndiaOnyama Limba RENEWAL
David Z RutaUnited KingdomElwin Sharvill QUALIFIED
Cody M RoysterGermanyElwin Sharvill PROPOSAL
Kaitlin I MarrierSpainAnna Fali NEGOTIATION
Misaki I GauchoArgentinaXuxue Feng PROPOSAL
Maisha W MaletGermanyElwin Sharvill 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>