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 J MorascaGermanyAnna Fali NEGOTIATION
Rodrigues S RoysterIndiaAnna Fali PROPOSAL
Jennifer M MaletGermanyAmy Elsner QUALIFIED
Jefferson O BriddickItalyOnyama Limba NEW
Deepesh E ButtIndiaAnna Fali UNQUALIFIED
Octavia Z BowleyAustraliaBernardo Dominic RENEWAL
Darci B SchemmerUnited KingdomOnyama Limba NEW
Arvin I CampainBrazilStephen Shaw RENEWAL
Alejandro Q RulapaughBrazilAsiya Javayant NEGOTIATION
Rodrigues A ShinkoJapanXuxue Feng QUALIFIED
Mayumi B SergiJapanIvan Magalhaes RENEWAL
Juan J SergiGermanyAnna Fali QUALIFIED
Morrow U VocelkaArgentinaIoni Bowcher PROPOSAL
Chavez R OstroskyBrazilAsiya Javayant QUALIFIED
Jones L BowleyItalyIoni Bowcher NEW
Isabel U StockhamBrazilIvan Magalhaes QUALIFIED
Faith Q WaycottItalyBernardo Dominic RENEWAL
Costa A TollnerSpainXuxue Feng NEW
Misaki W RulapaughSpainAsiya Javayant PROPOSAL
Morrow V VocelkaJapanOnyama Limba NEW
Aditya F FlosiUnited KingdomAnna Fali QUALIFIED
Kadeem D RimAustraliaElwin Sharvill NEGOTIATION
Stacey H BriddickArgentinaAmy Elsner PROPOSAL
Greenwood C OldroydRussiaXuxue Feng QUALIFIED
Octavia Q RimUnited KingdomAmy Elsner RENEWAL
Ivar W FigeroaItalyBernardo Dominic PROPOSAL
Deepesh I WaycottSpainStephen Shaw PROPOSAL
Ricardo S SergiAustraliaAmy Elsner UNQUALIFIED
Stacey M KolmetzArgentinaOnyama Limba NEGOTIATION
Jefferson C StensethJapanAsiya Javayant NEW
Adams I SergiUnited KingdomStephen Shaw NEW
Rodrigues G OldroydUnited KingdomBernardo Dominic NEW
Ricardo S MorascaRussiaAmy Elsner NEGOTIATION
Chavez Y CaldareraSpainAmy Elsner PROPOSAL
Kadeem J NickaIndiaBernardo Dominic QUALIFIED
Kaitlin P KuskoSpainStephen Shaw NEW
Ashley T KuskoAustraliaAsiya Javayant UNQUALIFIED
Claire J PerinRussiaIvan Magalhaes PROPOSAL
Clifford T FlosiCanadaIoni Bowcher PROPOSAL
Adams E CampainFranceOnyama Limba QUALIFIED
Wickens X MacleadSpainBernardo Dominic RENEWAL
Mayumi U GlickFranceBernardo Dominic QUALIFIED
Morrow E WhobreyCanadaAnna Fali NEW
Deepesh P CaudyCanadaStephen Shaw PROPOSAL
David G StensethArgentinaAsiya Javayant RENEWAL
Misaki M CampainIndiaAsiya Javayant NEGOTIATION
Nicolas U MaletUnited KingdomStephen Shaw NEW
Adams U CampainRussiaOnyama Limba QUALIFIED
Juan R SergiIndiaBernardo Dominic RENEWAL
Sinclair T WieserArgentinaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem T DarakjyArgentinaAsiya Javayant UNQUALIFIED
Emily J InouyeFranceXuxue Feng NEW
Munro K NickaUnited KingdomOnyama Limba QUALIFIED
Nicolas Y CaldareraCanadaOnyama Limba UNQUALIFIED
Emily K ChuiArgentinaIvan Magalhaes NEGOTIATION
Kaitlin M SaylorsRussiaIoni Bowcher RENEWAL
Wickens H SlusarskiFranceXuxue Feng UNQUALIFIED
Leja L SergiUnited KingdomAnna Fali NEGOTIATION
Jefferson Z MaletJapanAmy Elsner PROPOSAL
Mujtaba Q ChuiRussiaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley X SaylorsIndia2026-08-29Feiner Bros NEW69Onyama Limba
1001Aruna J IturbideItaly2026-09-10Chanay, Jeffrey A Esq NEGOTIATION32Amy Elsner
1002Greenwood C IturbideFrance2026-09-09Commercial Press PROPOSAL74Xuxue Feng
1003Johnson H KuskoUnited Kingdom2026-09-03King, Christopher A Esq NEGOTIATION49Xuxue Feng
1004Rodrigues I SchemmerAustralia2026-08-24King, Christopher A Esq RENEWAL33Bernardo Dominic
1005Aruna K RoysterRussia2026-09-05Buckley Miller Wright UNQUALIFIED68Anna Fali
1006Mujtaba S SlusarskiGermany2026-08-25Feltz Printing Service PROPOSAL16Ioni Bowcher
1007Francesco L KolmetzFrance2026-09-08Commercial Press RENEWAL96Stephen Shaw
1008Claire G NickaGermany2026-08-18Truhlar And Truhlar Attys RENEWAL66Onyama Limba
1009Costa P KolmetzArgentina2026-09-13Dorl, James J Esq NEW8Xuxue Feng
1010Jeanfrancois S MaletAustralia2026-09-11Buckley Miller Wright QUALIFIED10Anna Fali
1011Maria F MaletAustralia2026-09-15Benton, John B Jr NEW63Anna Fali
1012Izzy V KolmetzItaly2026-09-10Truhlar And Truhlar Attys PROPOSAL59Xuxue Feng
1013Aika X SergiSpain2026-09-07Morlong Associates NEW98Bernardo Dominic
1014Jeanfrancois B CaudySpain2026-08-28Feiner Bros NEGOTIATION19Ivan Magalhaes
1015Isabel S OldroydArgentina2026-09-14King, Christopher A Esq NEGOTIATION36Xuxue Feng
1016Rodrigues M MacleadBrazil2026-09-01Dorl, James J Esq NEW28Onyama Limba
1017Francesco P PerinAustralia2026-09-10Chanay, Jeffrey A Esq PROPOSAL95Ivan Magalhaes
1018Ivar G WaycottArgentina2026-09-02Printing Dimensions RENEWAL70Ivan Magalhaes
1019Octavia K PoquetteSpain2026-09-08Morlong Associates RENEWAL46Bernardo Dominic
1020Silvio O IturbideCanada2026-09-08Morlong Associates NEGOTIATION11Xuxue Feng
1021Adams V GlickRussia2026-08-27Feiner Bros PROPOSAL98Ioni Bowcher
1022Jeanfrancois H FollerGermany2026-09-14Chanay, Jeffrey A Esq NEW59Anna Fali
1023Salvatore L CaudyArgentina2026-09-11Rangoni Of Florence RENEWAL67Xuxue Feng
1024Nicolas S GlickFrance2026-09-12Benton, John B Jr PROPOSAL94Anna Fali
1025Stacey G PerinJapan2026-08-30Benton, John B Jr RENEWAL76Anna Fali
1026Murillo G NestleArgentina2026-09-09Feltz Printing Service NEW75Ioni Bowcher
1027Leon D SaylorsFrance2026-09-09Chemel, James L Cpa NEW2Xuxue Feng
1028Salvatore A OstroskyJapan2026-09-13Printing Dimensions UNQUALIFIED16Ivan Magalhaes
1029Maisha V AmigonSpain2026-09-06Rangoni Of Florence NEGOTIATION66Amy Elsner
1030Octavia G NickaAustralia2026-09-04Chapman, Ross E Esq NEGOTIATION66Amy Elsner
1031Leja X MaletItaly2026-09-02Feltz Printing Service NEGOTIATION82Asiya Javayant
1032Ashley E CaldareraFrance2026-08-19Truhlar And Truhlar Attys UNQUALIFIED94Bernardo Dominic
1033Claire L AmigonRussia2026-08-20Chapman, Ross E Esq UNQUALIFIED71Anna Fali
1034Nicolas Z StockhamSpain2026-09-02Benton, John B Jr PROPOSAL93Ivan Magalhaes
1035Aditya S MaletAustralia2026-09-09Benton, John B Jr NEW7Anna Fali
1036Munro U GlickIndia2026-08-26Benton, John B Jr NEW4Anna Fali
1037Ivar J SlusarskiAustralia2026-08-18Chemel, James L Cpa NEW34Amy Elsner
1038Murillo L AlbaresIndia2026-08-30King, Christopher A Esq QUALIFIED10Amy Elsner
1039Leon W GarufiBrazil2026-09-10Rangoni Of Florence RENEWAL65Xuxue Feng
1040Costa N DarakjyUnited Kingdom2026-08-24Chemel, James L Cpa QUALIFIED71Amy Elsner
1041Isabel K RimAustralia2026-09-15Buckley Miller Wright PROPOSAL88Xuxue Feng
1042Salvatore A DilliardItaly2026-09-15Truhlar And Truhlar Attys NEGOTIATION31Asiya Javayant
1043Ivar J FerenczUnited Kingdom2026-09-01Printing Dimensions UNQUALIFIED82Elwin Sharvill
1044Silvio V GauchoItaly2026-08-30Chanay, Jeffrey A Esq NEW73Bernardo Dominic
1045Kaitlin A WieserItaly2026-08-25Benton, John B Jr QUALIFIED96Xuxue Feng
1046Munro U BowleySpain2026-08-22Dorl, James J Esq NEW25Anna Fali
1047Aditya H DoeCanada2026-08-25King, Christopher A Esq PROPOSAL37Elwin Sharvill
1048Nicolas W RulapaughBrazil2026-09-01Rangoni Of Florence NEW38Elwin Sharvill
1049Aditya S FerenczBrazil2026-09-05Rangoni Of Florence NEGOTIATION71Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson J RutaIndiaOnyama Limba QUALIFIED
Juan J PoquetteJapanXuxue Feng UNQUALIFIED
Leja V PaprockiUnited KingdomBernardo Dominic NEGOTIATION
Deepesh F OldroydJapanAnna Fali NEW
David A KuskoFranceAsiya Javayant PROPOSAL
Aika E CampainUnited KingdomXuxue Feng PROPOSAL
Ivar F DoeIndiaElwin Sharvill NEGOTIATION
Sinclair W KuskoIndiaAmy Elsner NEGOTIATION
Adams T GlickRussiaStephen Shaw UNQUALIFIED
Misaki S DilliardItalyAsiya Javayant RENEWAL
Emily F SaylorsUnited KingdomAmy Elsner NEW
Morrow Y WieserBrazilAmy Elsner PROPOSAL
Ashley X DoeUnited KingdomAmy Elsner QUALIFIED
Adams E PaprockiArgentinaXuxue Feng NEGOTIATION
Wickens M StockhamArgentinaStephen Shaw NEGOTIATION
Ricardo V ButtRussiaBernardo Dominic NEW
Jeanfrancois F RutaArgentinaIoni Bowcher UNQUALIFIED
Ricardo D NestleItalyAnna Fali NEW
Costa V CampainCanadaAsiya Javayant QUALIFIED
Aruna L RulapaughJapanOnyama Limba NEGOTIATION
Francesco N BologniaIndiaIoni Bowcher QUALIFIED
Octavia C MaletItalyIoni Bowcher RENEWAL
Cody Y PoquetteUnited KingdomOnyama Limba PROPOSAL
Mujtaba J ChuiAustraliaXuxue Feng NEW
Maisha C FollerRussiaOnyama Limba RENEWAL
Octavia T RutaFranceIvan Magalhaes NEW
Octavia Y AmigonJapanOnyama Limba NEGOTIATION
Octavia O GillianRussiaStephen Shaw PROPOSAL
Cody I FollerBrazilIvan Magalhaes PROPOSAL
James B BologniaItalyIoni Bowcher QUALIFIED
Alejandro E PerinSpainAmy Elsner UNQUALIFIED
Emily M FigeroaFranceAmy Elsner RENEWAL
Mujtaba Y KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Alejandro R StockhamArgentinaElwin Sharvill PROPOSAL
Stacey N DoeFranceOnyama Limba NEW
Clifford M PoquetteItalyIvan Magalhaes NEW
Adams B RimBrazilIvan Magalhaes RENEWAL
Julie I StockhamAustraliaStephen Shaw QUALIFIED
Clifford V DilliardIndiaIvan Magalhaes NEW
Emily P RoysterFranceIoni Bowcher QUALIFIED
Adams O RulapaughSpainElwin Sharvill QUALIFIED
Jeanfrancois J BriddickFranceXuxue Feng NEW
Aditya A GlickFranceIvan Magalhaes NEGOTIATION
Costa T FollerUnited KingdomOnyama Limba NEGOTIATION
Darci O CaudyArgentinaStephen Shaw RENEWAL
Costa G CampainCanadaAsiya Javayant NEGOTIATION
Aditya D OstroskyBrazilElwin Sharvill NEW
Jennifer F GlickBrazilElwin Sharvill PROPOSAL
Misaki C DoeGermanyIvan Magalhaes PROPOSAL
Julie E BologniaRussiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Mujtaba G Kusko
Izzy H Morasca
Leja O Poquette
Munro D Kolmetz
Chavez F Dilliard
Rodrigues K Maclead
Salvatore R Venere
Adams X Sergi
Adams T Malet
Deepesh G Saylors
Maria H Malet
Aditya W Malet
Arvin K Malet
Isabel U Gaucho
Alejandro D Gaucho
Octavia R Ferencz
Silvio V Nicka
Maisha N Flosi
Francesco I Morasca
Sinclair V Morasca
Johnson Q Venere
Aditya X Albares
Maria D Waycott
Costa J Ostrosky
Wickens D Wieser
James M Nicka
Ivar B Paprocki
Ashley S Campain
Smith M Stenseth
Jeanfrancois U Rulapaugh
Costa M Vocelka
Rodrigues U Darakjy
Leja U Stockham
David O Chui
Leon I Tollner
Octavia T Butt
Claire H Iturbide
Maria B Malet
Jones B Caldarera
Kaitlin B Ruta
Francesco F Bolognia
Stacey V Kolmetz
Maria W Whobrey
Adams W Bolognia
Nicolas Q Caudy
Costa K Tollner
Octavia W Bowley
Isabel Q Stenseth
Greenwood H Poquette
Leon C Schemmer
IdCountryDate
1000Russia2026-08-23
1001Italy2026-09-01
1002Germany2026-08-21
1003Brazil2026-08-27
1004Spain2026-09-15
1005India2026-08-23
1006Germany2026-08-25
1007United Kingdom2026-08-31
1008France2026-08-31
1009Argentina2026-08-26
1010Germany2026-09-05
1011Canada2026-09-11
1012Argentina2026-09-05
1013Germany2026-09-03
1014Canada2026-09-01
1015Japan2026-08-27
1016United Kingdom2026-09-02
1017United Kingdom2026-09-11
1018Spain2026-08-31
1019Russia2026-08-24
1020Germany2026-08-18
1021Argentina2026-08-23
1022Japan2026-08-28
1023India2026-09-05
1024Argentina2026-09-16
1025Germany2026-09-16
1026Spain2026-09-07
1027Japan2026-08-23
1028France2026-08-19
1029India2026-09-03
1030India2026-08-22
1031France2026-09-10
1032Canada2026-09-10
1033Russia2026-08-30
1034Argentina2026-08-31
1035Japan2026-09-16
1036Russia2026-08-21
1037France2026-09-10
1038Australia2026-08-26
1039Japan2026-09-06
1040Japan2026-09-12
1041Russia2026-09-04
1042Italy2026-08-20
1043Spain2026-09-08
1044Spain2026-08-27
1045France2026-08-31
1046Brazil2026-08-26
1047Brazil2026-09-08
1048United Kingdom2026-08-21
1049Japan2026-09-01

On-Demand Data

NameIdCountryDate
Clifford F Kusko1000United Kingdom2026-08-21
Faith N Chui1001Canada2026-09-03
Ashley G Slusarski1002Italy2026-09-07
Jennifer N Ostrosky1003Spain2026-08-26
Emily W Garufi1004Japan2026-08-29
Alejandro J Caldarera1005Australia2026-09-08
Murillo Y Malet1006Russia2026-09-11
Maria X Royster1007Spain2026-09-05
Kaitlin W Butt1008Japan2026-09-03
Mujtaba O Oldroyd1009France2026-08-23
Arvin R Rim1010India2026-09-13
James I Whobrey1011Russia2026-08-25
Maisha O Inouye1012Russia2026-08-23
Ivar M Inouye1013Japan2026-08-21
Leon E Gaucho1014United Kingdom2026-08-18
Francesco Q Stenseth1015France2026-09-09
Kadeem Q Kusko1016Russia2026-08-24
Morrow S Waycott1017Russia2026-08-26
Mujtaba E Darakjy1018Argentina2026-08-22
Cody D Chui1019Brazil2026-08-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair V GlickBrazilElwin Sharvill UNQUALIFIED
Silvio N SchemmerAustraliaElwin Sharvill UNQUALIFIED
Adams R NickaIndiaXuxue Feng PROPOSAL
Aditya Q SaylorsJapanBernardo Dominic NEW
Kaitlin E NestleSpainIoni Bowcher UNQUALIFIED
Francesco O IturbideIndiaOnyama Limba QUALIFIED
Jeanfrancois I StockhamJapanStephen Shaw PROPOSAL
Wickens Q SlusarskiRussiaIvan Magalhaes NEGOTIATION
Munro D CaudyIndiaOnyama Limba NEGOTIATION
Ashley B MarrierBrazilAnna Fali UNQUALIFIED
Jeanfrancois J KuskoGermanyElwin Sharvill RENEWAL
Wickens Z BologniaAustraliaXuxue Feng QUALIFIED
Emily F FlosiJapanElwin Sharvill PROPOSAL
Francesco R MarrierRussiaAnna Fali RENEWAL
Leja V ButtRussiaXuxue Feng NEGOTIATION
Sinclair K StockhamUnited KingdomAsiya Javayant NEW
Arvin Y InouyeFranceIoni Bowcher NEGOTIATION
Misaki N RimRussiaOnyama Limba QUALIFIED
Izzy N BowleyCanadaIoni Bowcher PROPOSAL
Julie S RoysterRussiaAsiya Javayant UNQUALIFIED
Johnson U GarufiArgentinaIvan Magalhaes NEGOTIATION
Julie H PaprockiJapanAmy Elsner UNQUALIFIED
Munro Q FlosiCanadaXuxue Feng RENEWAL
James H FlosiItalyBernardo Dominic UNQUALIFIED
Munro V CampainUnited KingdomBernardo Dominic PROPOSAL
Aika M ButtBrazilOnyama Limba QUALIFIED
Ashley V VenereCanadaStephen Shaw NEW
Maisha Y VenereUnited KingdomBernardo Dominic UNQUALIFIED
Claire U SergiArgentinaAnna Fali UNQUALIFIED
Jefferson T CaudyAustraliaOnyama Limba UNQUALIFIED
Alejandro K GlickJapanAnna Fali PROPOSAL
Aruna M RulapaughItalyIoni Bowcher UNQUALIFIED
Ivar W IturbideRussiaAmy Elsner NEGOTIATION
Rodrigues J SaylorsIndiaOnyama Limba PROPOSAL
Munro V GillianItalyIvan Magalhaes PROPOSAL
Claire J InouyeJapanElwin Sharvill NEW
Ricardo N PerinJapanIvan Magalhaes NEW
Smith U BologniaUnited KingdomStephen Shaw PROPOSAL
Claire M SlusarskiCanadaBernardo Dominic UNQUALIFIED
Leon P FerenczFranceXuxue Feng QUALIFIED

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