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
Murillo S CampainItalyAnna Fali NEGOTIATION
Johnson V GarufiAustraliaOnyama Limba RENEWAL
Morrow E KuskoSpainAsiya Javayant NEW
Antonio O BowleyAustraliaElwin Sharvill NEGOTIATION
Juan D IturbideSpainElwin Sharvill UNQUALIFIED
Maisha E ShinkoSpainBernardo Dominic RENEWAL
Cody I SchemmerCanadaAmy Elsner NEGOTIATION
Jeanfrancois K GlickRussiaIoni Bowcher QUALIFIED
Rodrigues Z NestleAustraliaElwin Sharvill QUALIFIED
Stacey O RutaIndiaIvan Magalhaes NEW
Greenwood E GarufiGermanyXuxue Feng PROPOSAL
Faith B AmigonSpainAnna Fali PROPOSAL
Ashley D ButtFranceXuxue Feng UNQUALIFIED
Munro A GauchoGermanyElwin Sharvill NEW
Murillo H IturbideIndiaStephen Shaw QUALIFIED
Tony C RutaArgentinaStephen Shaw PROPOSAL
David E SergiJapanAsiya Javayant RENEWAL
Octavia I FerenczJapanAnna Fali NEGOTIATION
Aditya A ChuiRussiaAmy Elsner PROPOSAL
David B RimBrazilStephen Shaw NEGOTIATION
Claire E FlosiIndiaIoni Bowcher NEGOTIATION
Jones K DilliardUnited KingdomAsiya Javayant PROPOSAL
Cody U ButtItalyOnyama Limba NEW
Deepesh F MacleadIndiaXuxue Feng PROPOSAL
Arvin Z VocelkaAustraliaAsiya Javayant PROPOSAL
Munro N SchemmerSpainOnyama Limba QUALIFIED
Costa S RulapaughIndiaXuxue Feng NEW
Johnson S MacleadItalyAsiya Javayant QUALIFIED
Alejandro U StockhamUnited KingdomIvan Magalhaes PROPOSAL
Salvatore G ChuiBrazilAmy Elsner NEW
Isabel P PoquetteFranceAsiya Javayant RENEWAL
Alejandro Y SchemmerRussiaBernardo Dominic PROPOSAL
Leja Z CaudyArgentinaXuxue Feng QUALIFIED
Faith F WaycottArgentinaIvan Magalhaes UNQUALIFIED
Smith C BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Adams P GarufiBrazilElwin Sharvill NEW
Claire E PaprockiBrazilBernardo Dominic PROPOSAL
Johnson R MaletJapanXuxue Feng RENEWAL
Octavia W PoquetteIndiaOnyama Limba QUALIFIED
Wickens O MacleadFranceIvan Magalhaes RENEWAL
Ashley J InouyeItalyXuxue Feng UNQUALIFIED
Jones L OldroydFranceElwin Sharvill NEGOTIATION
Rodrigues W RoysterRussiaIoni Bowcher UNQUALIFIED
Kaitlin H VocelkaBrazilAsiya Javayant NEGOTIATION
Jennifer E TollnerFranceAmy Elsner QUALIFIED
Alejandro I KuskoCanadaAnna Fali NEW
Ricardo I PerinRussiaOnyama Limba RENEWAL
Kaitlin W SergiGermanyAmy Elsner NEW
Deepesh Q RutaCanadaAsiya Javayant RENEWAL
Kaitlin L StensethItalyAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David U GarufiFranceAsiya Javayant PROPOSAL
Leja R GauchoJapanAnna Fali NEGOTIATION
Ricardo F StockhamCanadaBernardo Dominic RENEWAL
Silvio H DarakjyItalyIoni Bowcher NEGOTIATION
Francesco L OstroskyRussiaAnna Fali PROPOSAL
Isabel M RoysterGermanyBernardo Dominic QUALIFIED
Johnson N VocelkaFranceAmy Elsner QUALIFIED
Silvio B ChuiArgentinaStephen Shaw QUALIFIED
Ashley A PerinItalyAsiya Javayant PROPOSAL
Murillo W KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily R MorascaJapan2026-09-07Truhlar And Truhlar Attys RENEWAL72Asiya Javayant
1001Julie L ChuiAustralia2026-09-17Dorl, James J Esq NEGOTIATION77Amy Elsner
1002James B BriddickRussia2026-09-09Chapman, Ross E Esq NEW11Amy Elsner
1003Francesco D VenereAustralia2026-09-11Chemel, James L Cpa QUALIFIED89Xuxue Feng
1004Izzy D MarrierRussia2026-08-29Rangoni Of Florence PROPOSAL33Bernardo Dominic
1005Munro E NestleGermany2026-09-16Printing Dimensions PROPOSAL55Ivan Magalhaes
1006Leon E MarrierBrazil2026-09-08Feiner Bros UNQUALIFIED70Stephen Shaw
1007David P MarrierFrance2026-09-24Chanay, Jeffrey A Esq RENEWAL68Xuxue Feng
1008Cody Q BologniaAustralia2026-09-02Buckley Miller Wright NEW64Elwin Sharvill
1009Jefferson K RutaRussia2026-09-20Chapman, Ross E Esq PROPOSAL50Amy Elsner
1010Faith S InouyeArgentina2026-09-20Buckley Miller Wright QUALIFIED50Anna Fali
1011Nicolas U TollnerJapan2026-09-03Chapman, Ross E Esq NEGOTIATION93Asiya Javayant
1012Leon I StockhamArgentina2026-09-14Chanay, Jeffrey A Esq UNQUALIFIED3Xuxue Feng
1013Morrow O MarrierIndia2026-09-17Chemel, James L Cpa RENEWAL94Onyama Limba
1014Faith A SlusarskiCanada2026-09-16Feiner Bros NEW59Xuxue Feng
1015Morrow U ChuiArgentina2026-08-31Rangoni Of Florence UNQUALIFIED59Xuxue Feng
1016Chavez Y RimRussia2026-09-21Benton, John B Jr PROPOSAL96Elwin Sharvill
1017Mujtaba C PaprockiIndia2026-09-03Feltz Printing Service RENEWAL81Onyama Limba
1018Misaki N OldroydUnited Kingdom2026-09-06Dorl, James J Esq NEGOTIATION0Amy Elsner
1019Aditya D AmigonBrazil2026-09-27Morlong Associates QUALIFIED72Onyama Limba
1020Cody M ButtCanada2026-09-20Printing Dimensions NEW54Stephen Shaw
1021Chavez S MaletUnited Kingdom2026-09-16Rangoni Of Florence PROPOSAL43Anna Fali
1022Misaki M OstroskyRussia2026-09-01Morlong Associates QUALIFIED96Xuxue Feng
1023Francesco P BowleyItaly2026-09-21Rousseaux, Michael Esq UNQUALIFIED3Onyama Limba
1024Salvatore Y NestleBrazil2026-09-15Buckley Miller Wright NEGOTIATION18Elwin Sharvill
1025Kadeem I NickaAustralia2026-09-13Rousseaux, Michael Esq UNQUALIFIED26Xuxue Feng
1026Wickens I KolmetzIndia2026-09-01Feiner Bros PROPOSAL87Asiya Javayant
1027Jones C MacleadIndia2026-09-01Chapman, Ross E Esq NEW25Ioni Bowcher
1028Chavez C NickaItaly2026-09-04Dorl, James J Esq UNQUALIFIED74Asiya Javayant
1029Morrow G StensethFrance2026-09-25Rangoni Of Florence UNQUALIFIED42Amy Elsner
1030Tony O DarakjyItaly2026-09-23Truhlar And Truhlar Attys PROPOSAL1Xuxue Feng
1031Smith E GarufiBrazil2026-09-15Chapman, Ross E Esq PROPOSAL51Onyama Limba
1032Adams O FollerSpain2026-08-29Chemel, James L Cpa NEW17Ivan Magalhaes
1033Mujtaba A MorascaBrazil2026-09-13Rousseaux, Michael Esq UNQUALIFIED51Elwin Sharvill
1034Greenwood F CaldareraCanada2026-08-31Dorl, James J Esq UNQUALIFIED67Ioni Bowcher
1035Wickens P CampainItaly2026-09-24Printing Dimensions QUALIFIED61Onyama Limba
1036Adams T DoeItaly2026-09-27King, Christopher A Esq NEGOTIATION57Onyama Limba
1037Smith I WaycottJapan2026-09-19Chanay, Jeffrey A Esq NEGOTIATION25Stephen Shaw
1038Emily A BowleyIndia2026-09-09Rangoni Of Florence NEGOTIATION1Ivan Magalhaes
1039Deepesh R KuskoItaly2026-09-13Rousseaux, Michael Esq RENEWAL61Stephen Shaw
1040Nicolas C DilliardBrazil2026-09-15Dorl, James J Esq UNQUALIFIED51Asiya Javayant
1041Ivar T FollerIndia2026-09-17King, Christopher A Esq PROPOSAL66Amy Elsner
1042Izzy J TollnerItaly2026-09-01Benton, John B Jr NEW87Xuxue Feng
1043James R FollerBrazil2026-09-11Dorl, James J Esq RENEWAL72Anna Fali
1044Misaki Y VenereIndia2026-09-24Truhlar And Truhlar Attys UNQUALIFIED44Stephen Shaw
1045Mayumi E CaudyAustralia2026-09-04Rangoni Of Florence UNQUALIFIED35Asiya Javayant
1046Izzy N CampainRussia2026-09-01Commercial Press RENEWAL9Amy Elsner
1047David T SlusarskiIndia2026-09-09Printing Dimensions QUALIFIED12Ivan Magalhaes
1048Ricardo G NickaItaly2026-09-18Commercial Press NEGOTIATION59Stephen Shaw
1049Emily H BologniaGermany2026-09-23King, Christopher A Esq NEGOTIATION86Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Morrow P WaycottBrazilElwin Sharvill NEGOTIATION
Misaki N FlosiRussiaAnna Fali RENEWAL
Deepesh O ButtGermanyBernardo Dominic NEW
Silvio P CampainGermanyBernardo Dominic PROPOSAL
Aditya A WhobreyJapanStephen Shaw RENEWAL
Faith K GauchoJapanIoni Bowcher NEW
Smith O GlickJapanAnna Fali QUALIFIED
Francesco S ChuiBrazilIoni Bowcher RENEWAL
Darci J SaylorsArgentinaStephen Shaw QUALIFIED
Tony I NestleJapanElwin Sharvill RENEWAL
Clifford G BowleyJapanAmy Elsner RENEWAL
Aika S SchemmerGermanyOnyama Limba NEGOTIATION
Kadeem Y ChuiIndiaAmy Elsner NEW
Kaitlin U DilliardItalyIoni Bowcher UNQUALIFIED
Francesco K RulapaughBrazilIoni Bowcher PROPOSAL
Misaki B BowleyItalyStephen Shaw RENEWAL
Maria C RoysterCanadaXuxue Feng RENEWAL
Costa L RutaAustraliaElwin Sharvill PROPOSAL
Antonio E AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Jeanfrancois U FigeroaCanadaAsiya Javayant RENEWAL
Aika J WieserRussiaXuxue Feng RENEWAL
Maria Q GlickFranceAmy Elsner NEW
Octavia I CaudyBrazilStephen Shaw NEGOTIATION
Aika U RulapaughBrazilAmy Elsner NEGOTIATION
Julie W SlusarskiCanadaStephen Shaw RENEWAL
Arvin C SaylorsFranceIoni Bowcher QUALIFIED
Greenwood X BologniaArgentinaIvan Magalhaes PROPOSAL
Kadeem T RutaSpainAmy Elsner NEW
Arvin M GlickUnited KingdomBernardo Dominic NEW
Stacey Y FlosiAustraliaIvan Magalhaes UNQUALIFIED
Ashley S KuskoCanadaStephen Shaw RENEWAL
Sinclair W FollerGermanyOnyama Limba NEW
Cody S KolmetzAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois X RulapaughSpainOnyama Limba NEW
Leon K IturbideIndiaOnyama Limba NEW
Nicolas D BologniaBrazilElwin Sharvill PROPOSAL
Antonio C FlosiRussiaBernardo Dominic RENEWAL
Cody P FlosiRussiaIoni Bowcher RENEWAL
Kadeem R WhobreyGermanyAmy Elsner RENEWAL
Rodrigues I VenereSpainBernardo Dominic PROPOSAL
James Y NickaSpainIoni Bowcher NEW
Cody Z WaycottFranceAsiya Javayant UNQUALIFIED
Arvin W RutaJapanAnna Fali PROPOSAL
Kadeem D RulapaughFranceXuxue Feng PROPOSAL
Mayumi U AlbaresFranceBernardo Dominic UNQUALIFIED
Costa M GlickCanadaStephen Shaw NEGOTIATION
Ricardo U SchemmerArgentinaIoni Bowcher RENEWAL
Darci E BriddickSpainXuxue Feng PROPOSAL
Julie G BologniaItalyBernardo Dominic UNQUALIFIED
Cody A StockhamAustraliaIoni Bowcher RENEWAL
Frozen Columns
Name
Antonio O Caudy
Julie S Chui
Mayumi G Butt
Claire F Iturbide
Mujtaba L Glick
David I Glick
Mujtaba W Whobrey
Murillo S Caudy
Antonio J Marrier
Alejandro J Ferencz
Rodrigues Z Iturbide
Aika W Gaucho
Isabel Y Ruta
Jefferson Z Sergi
Stacey Z Oldroyd
Adams Y Nicka
Kadeem N Shinko
Claire W Saylors
Jefferson O Gaucho
Juan H Albares
Arvin X Kusko
Julie C Kolmetz
Stacey Z Slusarski
Cody X Nicka
Tony W Rulapaugh
Salvatore E Wieser
Cody E Rulapaugh
Aruna S Nicka
Sinclair A Sergi
Nicolas C Briddick
Tony K Perin
Kaitlin D Bolognia
David L Saylors
Izzy G Malet
Kadeem C Dilliard
Kaitlin D Rim
Munro I Whobrey
Isabel S Oldroyd
Kaitlin B Amigon
Murillo A Dilliard
Jefferson L Chui
James W Dilliard
Stacey Y Paprocki
Morrow N Vocelka
Ashley M Nicka
Aika W Inouye
Stacey H Nestle
Sinclair R Campain
Aika T Inouye
Smith F Slusarski
IdCountryDate
1000Italy2026-09-19
1001Japan2026-09-09
1002Italy2026-09-14
1003Russia2026-09-12
1004Argentina2026-09-15
1005Italy2026-09-20
1006Germany2026-09-10
1007Argentina2026-09-04
1008Argentina2026-09-08
1009Brazil2026-09-09
1010Italy2026-09-23
1011Canada2026-09-23
1012Argentina2026-09-02
1013Italy2026-09-07
1014Brazil2026-08-31
1015United Kingdom2026-08-29
1016United Kingdom2026-09-26
1017France2026-09-10
1018Spain2026-09-26
1019Spain2026-09-01
1020Germany2026-09-08
1021Spain2026-09-16
1022Italy2026-09-08
1023Spain2026-09-04
1024Russia2026-09-09
1025Japan2026-09-18
1026Italy2026-09-25
1027Russia2026-09-08
1028Russia2026-09-25
1029Japan2026-09-22
1030Brazil2026-09-20
1031Australia2026-08-30
1032Brazil2026-09-08
1033India2026-09-25
1034Russia2026-09-09
1035Japan2026-09-09
1036Russia2026-08-29
1037United Kingdom2026-09-15
1038Brazil2026-09-02
1039France2026-09-11
1040Russia2026-09-07
1041Canada2026-09-22
1042Brazil2026-08-30
1043Argentina2026-09-09
1044Brazil2026-09-14
1045Canada2026-09-23
1046Russia2026-09-12
1047Spain2026-08-29
1048France2026-09-23
1049France2026-09-05

On-Demand Data

NameIdCountryDate
Aruna F Chui1000India2026-09-21
Johnson U Stenseth1001Italy2026-09-18
Munro L Shinko1002Brazil2026-09-15
Smith Y Venere1003France2026-09-04
Deepesh Z Tollner1004Germany2026-09-08
Jones L Rulapaugh1005India2026-09-14
Jennifer Y Darakjy1006Japan2026-09-21
Leja F Kusko1007India2026-09-09
Rodrigues O Glick1008Japan2026-09-09
Antonio B Dilliard1009Australia2026-09-07
Deepesh Q Wieser1010Japan2026-09-03
Kaitlin H Ferencz1011Japan2026-08-29
Smith K Wieser1012France2026-09-19
Leja C Rim1013India2026-09-15
David A Ferencz1014India2026-09-21
Tony V Butt1015Argentina2026-09-01
Cody H Bolognia1016Russia2026-09-17
Izzy F Glick1017Germany2026-09-23
Claire O Stenseth1018Japan2026-09-13
Maria X Caldarera1019Brazil2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire U StockhamAustraliaAnna Fali RENEWAL
Ricardo K StockhamAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois J InouyeArgentinaAnna Fali NEGOTIATION
Leon J CampainAustraliaIvan Magalhaes PROPOSAL
Adams K OldroydRussiaElwin Sharvill QUALIFIED
Deepesh Y KolmetzArgentinaBernardo Dominic UNQUALIFIED
Smith R DarakjyItalyBernardo Dominic NEGOTIATION
Kaitlin Y MarrierArgentinaIvan Magalhaes PROPOSAL
Darci I MarrierRussiaElwin Sharvill NEW
Silvio O AmigonJapanXuxue Feng RENEWAL
Rodrigues A SaylorsIndiaAnna Fali UNQUALIFIED
David C MaletCanadaXuxue Feng RENEWAL
Antonio D AlbaresSpainAsiya Javayant RENEWAL
Julie F RoysterItalyStephen Shaw RENEWAL
Francesco R OldroydItalyIoni Bowcher NEGOTIATION
Maria J BologniaSpainIvan Magalhaes RENEWAL
David N AmigonItalyAnna Fali PROPOSAL
Jones Z MaletCanadaAmy Elsner NEGOTIATION
Francesco N GlickSpainAmy Elsner RENEWAL
Maria H SergiBrazilAnna Fali UNQUALIFIED
James L WaycottFranceAsiya Javayant RENEWAL
Sinclair Y GauchoJapanOnyama Limba RENEWAL
Mujtaba X AmigonJapanOnyama Limba NEGOTIATION
Ricardo D NickaItalyOnyama Limba RENEWAL
Ashley B RutaIndiaStephen Shaw QUALIFIED
James W WaycottRussiaElwin Sharvill NEW
Chavez U CaldareraBrazilOnyama Limba PROPOSAL
Antonio L CampainIndiaStephen Shaw NEW
Murillo O GlickCanadaAsiya Javayant NEW
Kaitlin N KuskoFranceAnna Fali UNQUALIFIED
Mujtaba M GlickAustraliaAnna Fali NEGOTIATION
Sinclair D KuskoArgentinaBernardo Dominic PROPOSAL
Salvatore W FlosiItalyBernardo Dominic QUALIFIED
Julie L GauchoUnited KingdomAmy Elsner RENEWAL
Julie O FollerArgentinaStephen Shaw NEW
Ivar W KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Juan L RimJapanIvan Magalhaes UNQUALIFIED
Morrow R NickaCanadaXuxue Feng NEGOTIATION
Mayumi W NickaUnited KingdomOnyama Limba RENEWAL
Silvio E ChuiSpainElwin Sharvill UNQUALIFIED

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