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
Aruna P BriddickGermanyIoni Bowcher UNQUALIFIED
Silvio W FerenczBrazilIoni Bowcher UNQUALIFIED
Rodrigues F BologniaGermanyElwin Sharvill UNQUALIFIED
Costa Q FlosiJapanXuxue Feng QUALIFIED
Sinclair S WaycottGermanyBernardo Dominic QUALIFIED
Leja P WaycottItalyElwin Sharvill PROPOSAL
Jefferson O DoeAustraliaBernardo Dominic NEW
Deepesh O WhobreyCanadaIvan Magalhaes QUALIFIED
Costa B NickaIndiaXuxue Feng UNQUALIFIED
Faith G NickaArgentinaAnna Fali NEW
Munro S PerinUnited KingdomStephen Shaw PROPOSAL
Kadeem V GarufiRussiaAmy Elsner PROPOSAL
Juan P AmigonBrazilAsiya Javayant PROPOSAL
Maisha B BowleyFranceElwin Sharvill QUALIFIED
Jefferson W GlickFranceIoni Bowcher RENEWAL
Claire P InouyeRussiaAsiya Javayant NEW
Leja Q TollnerRussiaOnyama Limba RENEWAL
Rodrigues L CaldareraBrazilIoni Bowcher PROPOSAL
Smith C SergiUnited KingdomIoni Bowcher NEGOTIATION
Misaki D RutaAustraliaAnna Fali PROPOSAL
Juan U WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Faith R GillianBrazilBernardo Dominic RENEWAL
Kaitlin V ButtAustraliaAmy Elsner PROPOSAL
Ricardo L FollerGermanyIvan Magalhaes QUALIFIED
Johnson Y FerenczSpainBernardo Dominic QUALIFIED
Salvatore M DarakjyRussiaElwin Sharvill NEGOTIATION
Ivar W InouyeArgentinaBernardo Dominic QUALIFIED
Silvio H ShinkoAustraliaIoni Bowcher RENEWAL
Stacey H ButtIndiaElwin Sharvill UNQUALIFIED
Wickens N DilliardCanadaElwin Sharvill NEW
Greenwood B IturbideJapanBernardo Dominic NEGOTIATION
Stacey S StensethBrazilAnna Fali NEGOTIATION
Salvatore K GarufiAustraliaAnna Fali RENEWAL
Leja T GarufiItalyAsiya Javayant QUALIFIED
Leon Q CaudyCanadaStephen Shaw UNQUALIFIED
Jeanfrancois G FlosiSpainOnyama Limba QUALIFIED
Johnson Z BriddickFranceIvan Magalhaes RENEWAL
Darci X InouyeAustraliaOnyama Limba PROPOSAL
Ivar K GillianGermanyIoni Bowcher NEW
Julie N GlickItalyStephen Shaw NEW
Maisha F GauchoJapanBernardo Dominic NEGOTIATION
Morrow I KuskoIndiaAmy Elsner NEGOTIATION
Jeanfrancois D AlbaresSpainXuxue Feng RENEWAL
Maria B FlosiArgentinaIoni Bowcher UNQUALIFIED
Alejandro X WhobreyBrazilAmy Elsner UNQUALIFIED
Isabel P StensethGermanyXuxue Feng PROPOSAL
Izzy F SaylorsBrazilOnyama Limba NEGOTIATION
Sinclair Q KuskoIndiaAmy Elsner QUALIFIED
Costa X DilliardJapanStephen Shaw NEGOTIATION
Jeanfrancois V InouyeAustraliaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio L BologniaItalyAsiya Javayant UNQUALIFIED
Cody R SergiItalyOnyama Limba NEGOTIATION
Smith B FollerFranceBernardo Dominic PROPOSAL
Alejandro N PoquetteFranceIvan Magalhaes RENEWAL
Greenwood R MarrierArgentinaBernardo Dominic PROPOSAL
Jefferson N StensethAustraliaStephen Shaw NEGOTIATION
Adams B VenereIndiaAnna Fali QUALIFIED
Mujtaba B MacleadBrazilElwin Sharvill RENEWAL
Darci U WaycottCanadaAmy Elsner QUALIFIED
David E SergiBrazilAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair Y CaudyGermany2026-10-03Rousseaux, Michael Esq NEW36Onyama Limba
1001Alejandro Q IturbideAustralia2026-09-27Buckley Miller Wright PROPOSAL82Stephen Shaw
1002Chavez T DoeFrance2026-09-13Feiner Bros NEGOTIATION98Asiya Javayant
1003David C VenereRussia2026-09-26King, Christopher A Esq QUALIFIED4Ioni Bowcher
1004Chavez C SlusarskiJapan2026-09-19Dorl, James J Esq UNQUALIFIED28Bernardo Dominic
1005Arvin Y SlusarskiBrazil2026-09-09Rousseaux, Michael Esq RENEWAL16Anna Fali
1006Deepesh Q MaletUnited Kingdom2026-10-02Commercial Press NEGOTIATION26Asiya Javayant
1007Salvatore V RoysterAustralia2026-09-20Truhlar And Truhlar Attys QUALIFIED28Onyama Limba
1008Faith K KuskoSpain2026-09-26Chemel, James L Cpa NEW65Ioni Bowcher
1009Wickens E FerenczIndia2026-09-23Rangoni Of Florence QUALIFIED46Onyama Limba
1010Sinclair M AlbaresFrance2026-10-05Commercial Press RENEWAL26Ivan Magalhaes
1011Aditya F SchemmerSpain2026-10-06Dorl, James J Esq QUALIFIED47Ioni Bowcher
1012Maria I WaycottRussia2026-09-22Printing Dimensions NEW76Ioni Bowcher
1013Maria B BriddickSpain2026-09-13Morlong Associates PROPOSAL24Stephen Shaw
1014Greenwood Z PoquetteUnited Kingdom2026-09-23Dorl, James J Esq QUALIFIED97Xuxue Feng
1015Deepesh U WieserIndia2026-09-27Commercial Press PROPOSAL51Ioni Bowcher
1016Kadeem F SaylorsSpain2026-09-14Rousseaux, Michael Esq NEW70Xuxue Feng
1017Stacey X DilliardUnited Kingdom2026-09-23Feiner Bros NEW87Bernardo Dominic
1018Darci B DarakjyFrance2026-09-07Printing Dimensions UNQUALIFIED88Ioni Bowcher
1019Greenwood X GarufiGermany2026-09-25Chemel, James L Cpa UNQUALIFIED16Amy Elsner
1020Ashley N StensethBrazil2026-09-20Buckley Miller Wright QUALIFIED90Amy Elsner
1021Misaki C MaletCanada2026-10-06Feiner Bros RENEWAL40Asiya Javayant
1022Misaki X RutaArgentina2026-09-08Truhlar And Truhlar Attys PROPOSAL47Ivan Magalhaes
1023Cody W MacleadUnited Kingdom2026-10-03Rangoni Of Florence QUALIFIED85Onyama Limba
1024Jones Z MaletBrazil2026-09-13King, Christopher A Esq NEW89Stephen Shaw
1025David H RoysterSpain2026-09-17Truhlar And Truhlar Attys RENEWAL59Amy Elsner
1026Julie G BriddickCanada2026-09-08Rousseaux, Michael Esq RENEWAL78Ioni Bowcher
1027Aditya X SchemmerRussia2026-09-12Feltz Printing Service PROPOSAL96Xuxue Feng
1028Aruna M WhobreyJapan2026-09-27Buckley Miller Wright NEW68Onyama Limba
1029Leja Z PoquetteCanada2026-09-23Dorl, James J Esq PROPOSAL71Stephen Shaw
1030Jones D GlickJapan2026-09-25Chemel, James L Cpa PROPOSAL78Asiya Javayant
1031Alejandro M PaprockiFrance2026-09-24Chemel, James L Cpa RENEWAL17Onyama Limba
1032Darci V NestleGermany2026-09-26Printing Dimensions RENEWAL94Onyama Limba
1033Rodrigues M GillianItaly2026-09-09Buckley Miller Wright PROPOSAL23Amy Elsner
1034Costa I ShinkoArgentina2026-09-18Truhlar And Truhlar Attys NEW28Ivan Magalhaes
1035Darci H MorascaGermany2026-09-07Feltz Printing Service QUALIFIED51Asiya Javayant
1036Jefferson Z KuskoBrazil2026-09-24Feiner Bros RENEWAL18Ioni Bowcher
1037Smith M GillianFrance2026-09-19Rangoni Of Florence QUALIFIED88Xuxue Feng
1038Jefferson V VenereJapan2026-09-15Feltz Printing Service PROPOSAL60Onyama Limba
1039Isabel E ShinkoGermany2026-10-03Buckley Miller Wright NEW95Ioni Bowcher
1040Deepesh X DilliardItaly2026-09-30Feiner Bros UNQUALIFIED38Ivan Magalhaes
1041Nicolas V FigeroaArgentina2026-09-15Chapman, Ross E Esq RENEWAL88Asiya Javayant
1042Emily Y MorascaIndia2026-09-20Morlong Associates UNQUALIFIED2Anna Fali
1043Kadeem M RulapaughItaly2026-09-24Commercial Press QUALIFIED33Asiya Javayant
1044Mayumi O SchemmerArgentina2026-10-02Commercial Press PROPOSAL98Xuxue Feng
1045Cody X OstroskyUnited Kingdom2026-09-08Chanay, Jeffrey A Esq NEGOTIATION93Anna Fali
1046Juan S FlosiBrazil2026-09-25Benton, John B Jr PROPOSAL85Ivan Magalhaes
1047Murillo P RimGermany2026-09-21Feltz Printing Service RENEWAL32Ivan Magalhaes
1048David F DilliardJapan2026-10-01Dorl, James J Esq UNQUALIFIED53Bernardo Dominic
1049Juan B OstroskyArgentina2026-09-22Feiner Bros NEW46Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Arvin X DarakjyAustraliaElwin Sharvill NEGOTIATION
Isabel F MaletBrazilAnna Fali RENEWAL
Stacey M MarrierUnited KingdomElwin Sharvill RENEWAL
Silvio P SlusarskiIndiaStephen Shaw PROPOSAL
James M FollerAustraliaAsiya Javayant RENEWAL
Izzy T CaudySpainIvan Magalhaes NEW
Jennifer S SergiBrazilIvan Magalhaes NEW
Salvatore B StensethUnited KingdomAsiya Javayant RENEWAL
Aditya J WaycottFranceAmy Elsner QUALIFIED
Munro Y RulapaughUnited KingdomXuxue Feng PROPOSAL
Sinclair X AmigonAustraliaStephen Shaw QUALIFIED
Tony K InouyeGermanyElwin Sharvill NEGOTIATION
Leja E GauchoFranceStephen Shaw RENEWAL
Leja T FlosiRussiaIoni Bowcher NEW
Nicolas T FigeroaAustraliaAnna Fali RENEWAL
Aruna E WieserIndiaAsiya Javayant UNQUALIFIED
Aruna P WhobreyArgentinaOnyama Limba NEW
Claire Z SchemmerFranceXuxue Feng RENEWAL
Clifford Z AlbaresRussiaStephen Shaw NEGOTIATION
Emily O SlusarskiSpainStephen Shaw RENEWAL
Tony E OldroydFranceXuxue Feng UNQUALIFIED
Chavez J RimArgentinaAmy Elsner UNQUALIFIED
Julie S FigeroaSpainBernardo Dominic NEW
Jefferson U MaletCanadaXuxue Feng RENEWAL
Deepesh M ChuiAustraliaStephen Shaw QUALIFIED
David O VenereIndiaElwin Sharvill RENEWAL
Wickens U VenereGermanyAmy Elsner QUALIFIED
Isabel Q ShinkoAustraliaXuxue Feng PROPOSAL
Costa U RutaItalyOnyama Limba NEW
Wickens X RoysterJapanStephen Shaw NEGOTIATION
Smith F KolmetzRussiaIoni Bowcher PROPOSAL
Murillo N MaletJapanIvan Magalhaes QUALIFIED
Smith E OstroskyGermanyXuxue Feng RENEWAL
Wickens M FerenczUnited KingdomElwin Sharvill PROPOSAL
Murillo G SergiSpainAsiya Javayant UNQUALIFIED
Stacey N KolmetzFranceIvan Magalhaes NEW
Costa L VenereFranceOnyama Limba NEW
Jones J DilliardIndiaStephen Shaw UNQUALIFIED
Mujtaba X OstroskyFranceXuxue Feng UNQUALIFIED
Antonio F GauchoArgentinaAnna Fali NEW
Izzy R MaletIndiaIvan Magalhaes RENEWAL
Leon U PaprockiCanadaIoni Bowcher QUALIFIED
Leja D NestleJapanXuxue Feng RENEWAL
James Q MaletAustraliaIvan Magalhaes NEGOTIATION
Juan G NickaItalyOnyama Limba NEGOTIATION
Darci A RulapaughUnited KingdomAmy Elsner NEW
Arvin W DarakjyRussiaIoni Bowcher PROPOSAL
Smith Y VenereGermanyIoni Bowcher NEW
Stacey N ButtAustraliaAmy Elsner QUALIFIED
Munro B KolmetzArgentinaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Izzy N Shinko
Ricardo V Whobrey
Ashley K Shinko
Greenwood W Rim
Wickens S Slusarski
Smith C Ferencz
Emily J Iturbide
Johnson G Chui
Mayumi Y Butt
Emily B Venere
Faith Z Malet
Emily W Tollner
Wickens Y Malet
Jones S Whobrey
Johnson U Darakjy
Ricardo N Campain
Aruna D Oldroyd
Mayumi S Slusarski
Clifford W Rim
Juan T Caldarera
Wickens R Nestle
Clifford S Stockham
Alejandro F Inouye
Aruna I Maclead
Johnson H Vocelka
Faith L Stockham
Ricardo V Darakjy
Ashley H Kusko
Morrow G Kusko
Clifford I Iturbide
Rodrigues C Maclead
Mayumi V Iturbide
Chavez Z Albares
Tony T Garufi
Darci I Caldarera
Tony P Gillian
Aruna X Figeroa
Maria B Sergi
Emily Z Amigon
Morrow X Tollner
Aruna J Nicka
Adams A Ostrosky
Jones C Marrier
Clifford O Chui
Smith T Bolognia
Adams K Malet
Adams Q Rulapaugh
Costa R Foller
Salvatore N Briddick
Aika W Flosi
IdCountryDate
1000Italy2026-09-26
1001Russia2026-09-25
1002India2026-09-21
1003Italy2026-10-05
1004India2026-09-29
1005United Kingdom2026-09-15
1006India2026-09-21
1007India2026-09-28
1008Canada2026-10-03
1009Australia2026-09-09
1010Germany2026-10-06
1011Australia2026-09-21
1012Canada2026-09-20
1013Russia2026-09-23
1014Argentina2026-09-26
1015Japan2026-09-12
1016United Kingdom2026-10-01
1017France2026-09-14
1018United Kingdom2026-10-03
1019France2026-10-02
1020Brazil2026-09-25
1021Germany2026-09-09
1022Italy2026-09-27
1023India2026-09-23
1024Germany2026-09-24
1025Australia2026-10-06
1026France2026-09-18
1027Russia2026-10-03
1028Russia2026-10-03
1029Argentina2026-09-13
1030Italy2026-10-05
1031Argentina2026-09-15
1032Germany2026-09-23
1033Brazil2026-09-18
1034France2026-10-05
1035Canada2026-09-23
1036India2026-09-09
1037Argentina2026-09-28
1038Argentina2026-09-27
1039Brazil2026-09-26
1040Italy2026-09-14
1041Germany2026-09-08
1042Japan2026-09-14
1043India2026-09-07
1044Spain2026-09-17
1045Australia2026-09-15
1046Canada2026-09-29
1047Germany2026-09-10
1048Brazil2026-09-16
1049Canada2026-09-14

On-Demand Data

NameIdCountryDate
Stacey A Waycott1000Italy2026-09-21
Sinclair S Amigon1001France2026-10-02
Maisha J Iturbide1002Australia2026-10-03
Greenwood F Stenseth1003Japan2026-09-08
Rodrigues S Nestle1004Canada2026-09-26
Ricardo T Nestle1005United Kingdom2026-09-25
Clifford T Ostrosky1006Spain2026-09-12
Maria L Shinko1007France2026-09-28
Jeanfrancois F Kusko1008France2026-09-15
Jones B Poquette1009Japan2026-09-08
Ricardo Z Malet1010France2026-09-08
Deepesh X Garufi1011United Kingdom2026-09-25
Faith O Marrier1012Japan2026-09-20
Julie V Foller1013Brazil2026-10-01
Jefferson T Malet1014Spain2026-09-24
James V Nicka1015Germany2026-09-19
Maria F Dilliard1016Germany2026-10-01
James X Briddick1017Italy2026-09-30
Leja A Figeroa1018Argentina2026-09-08
Arvin G Caudy1019Germany2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas P MaletItalyBernardo Dominic NEGOTIATION
Johnson U ChuiBrazilElwin Sharvill NEGOTIATION
Emily C SlusarskiArgentinaOnyama Limba UNQUALIFIED
Nicolas F DilliardCanadaAmy Elsner QUALIFIED
Cody Z SchemmerArgentinaIvan Magalhaes PROPOSAL
Aruna L MaletUnited KingdomBernardo Dominic PROPOSAL
Darci Y VocelkaJapanIvan Magalhaes NEW
Misaki F WhobreyItalyIoni Bowcher QUALIFIED
Francesco Y BologniaJapanAnna Fali RENEWAL
Julie X MacleadJapanElwin Sharvill NEW
Misaki J PerinJapanAnna Fali QUALIFIED
Aika A MaletRussiaBernardo Dominic PROPOSAL
Stacey C DoeCanadaBernardo Dominic RENEWAL
Rodrigues O DarakjyRussiaStephen Shaw RENEWAL
Francesco N SaylorsArgentinaAnna Fali RENEWAL
Isabel I PerinRussiaBernardo Dominic QUALIFIED
Costa R MarrierArgentinaAmy Elsner PROPOSAL
Misaki C FigeroaAustraliaXuxue Feng PROPOSAL
Stacey R FollerAustraliaAsiya Javayant NEW
Jefferson F FerenczRussiaIvan Magalhaes QUALIFIED
Maisha W CampainBrazilAmy Elsner NEW
Costa H SergiCanadaOnyama Limba UNQUALIFIED
Ashley S KolmetzBrazilXuxue Feng UNQUALIFIED
Jeanfrancois M MacleadUnited KingdomAsiya Javayant RENEWAL
Chavez H CaudyIndiaIvan Magalhaes QUALIFIED
Francesco Q MaletUnited KingdomIvan Magalhaes NEGOTIATION
Aika V PoquetteItalyAsiya Javayant UNQUALIFIED
Izzy L SaylorsCanadaAnna Fali NEGOTIATION
Aruna M NickaRussiaStephen Shaw RENEWAL
Morrow B PerinCanadaIvan Magalhaes UNQUALIFIED
Juan F ShinkoUnited KingdomBernardo Dominic PROPOSAL
Costa Z BowleyUnited KingdomAmy Elsner NEW
Maria O PerinSpainOnyama Limba RENEWAL
Ashley L CaudyArgentinaAnna Fali RENEWAL
James O GlickGermanyElwin Sharvill PROPOSAL
Nicolas W DilliardSpainIoni Bowcher QUALIFIED
Murillo R MarrierGermanyOnyama Limba PROPOSAL
Smith T DarakjyGermanyAsiya Javayant UNQUALIFIED
Leja R SlusarskiJapanOnyama Limba NEW
James M FerenczAustraliaXuxue Feng NEW

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