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
Munro E GillianBrazilStephen Shaw NEGOTIATION
James O MorascaGermanyElwin Sharvill PROPOSAL
Adams I GarufiBrazilAnna Fali RENEWAL
Salvatore A BowleyFranceIvan Magalhaes NEW
Isabel M NickaBrazilIvan Magalhaes PROPOSAL
Emily G NestleBrazilAmy Elsner PROPOSAL
Emily H IturbideBrazilOnyama Limba NEGOTIATION
Juan L KuskoIndiaAnna Fali PROPOSAL
Kadeem J SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Deepesh E VocelkaJapanXuxue Feng UNQUALIFIED
Salvatore N ButtUnited KingdomAmy Elsner RENEWAL
Francesco V MaletUnited KingdomBernardo Dominic NEGOTIATION
Jefferson S IturbideBrazilOnyama Limba NEGOTIATION
Kaitlin X PerinAustraliaOnyama Limba NEW
Leja Z ButtGermanyStephen Shaw UNQUALIFIED
Aditya R FigeroaArgentinaElwin Sharvill QUALIFIED
Jones J SergiUnited KingdomIvan Magalhaes QUALIFIED
Jennifer R GauchoCanadaBernardo Dominic QUALIFIED
Sinclair C WieserCanadaBernardo Dominic QUALIFIED
Leja M PerinItalyIvan Magalhaes NEGOTIATION
Aditya W StensethSpainAsiya Javayant PROPOSAL
Murillo A GlickCanadaIoni Bowcher UNQUALIFIED
Alejandro W FerenczItalyAsiya Javayant RENEWAL
Sinclair G SchemmerSpainElwin Sharvill PROPOSAL
Rodrigues L SergiJapanAsiya Javayant NEW
Sinclair S WaycottIndiaXuxue Feng QUALIFIED
Arvin G WieserAustraliaElwin Sharvill NEW
Mayumi Z MacleadUnited KingdomXuxue Feng NEW
Leon Y DilliardSpainIvan Magalhaes NEW
Ivar D MaletSpainXuxue Feng PROPOSAL
Leon T ChuiRussiaOnyama Limba NEGOTIATION
Tony A MorascaAustraliaIvan Magalhaes PROPOSAL
Greenwood Z SaylorsAustraliaIvan Magalhaes NEW
Julie Y MaletFranceStephen Shaw QUALIFIED
Kadeem A VocelkaCanadaAsiya Javayant QUALIFIED
Ashley X AmigonBrazilStephen Shaw QUALIFIED
Murillo U KuskoFranceIvan Magalhaes NEGOTIATION
Costa Z VenereAustraliaAmy Elsner NEW
Izzy O VenereAustraliaIoni Bowcher NEGOTIATION
Maria E NickaBrazilElwin Sharvill NEW
Juan N BriddickSpainElwin Sharvill NEW
Smith I RulapaughItalyAsiya Javayant RENEWAL
Faith P RulapaughSpainXuxue Feng UNQUALIFIED
Maisha B SchemmerItalyElwin Sharvill QUALIFIED
Isabel L SergiJapanIvan Magalhaes NEGOTIATION
Murillo Y KuskoBrazilIoni Bowcher UNQUALIFIED
Clifford P FigeroaGermanyIoni Bowcher NEW
Ivar E CaldareraUnited KingdomStephen Shaw PROPOSAL
Julie X DoeBrazilBernardo Dominic QUALIFIED
Ashley H ButtAustraliaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Chavez I MacleadJapanAsiya Javayant NEGOTIATION
Mujtaba B ChuiAustraliaXuxue Feng NEW
Octavia U DarakjyItalyElwin Sharvill RENEWAL
Aruna Q ChuiFranceElwin Sharvill PROPOSAL
Kadeem I RulapaughItalyIvan Magalhaes NEW
Cody W RulapaughAustraliaAmy Elsner PROPOSAL
Tony M DilliardCanadaOnyama Limba PROPOSAL
Munro D IturbideItalyXuxue Feng RENEWAL
Darci I InouyeSpainAmy Elsner PROPOSAL
Murillo W BowleyFranceAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem Q GauchoGermany2026-09-22Commercial Press PROPOSAL45Onyama Limba
1001Leja U AmigonFrance2026-09-23Dorl, James J Esq QUALIFIED19Anna Fali
1002Maisha X OldroydJapan2026-09-18King, Christopher A Esq NEGOTIATION12Amy Elsner
1003Antonio J PerinUnited Kingdom2026-09-15Feltz Printing Service PROPOSAL93Amy Elsner
1004Juan V CaudyUnited Kingdom2026-09-07Feiner Bros NEW92Anna Fali
1005Ivar E SchemmerFrance2026-08-31Feiner Bros RENEWAL64Anna Fali
1006Isabel E PaprockiRussia2026-09-18King, Christopher A Esq QUALIFIED53Bernardo Dominic
1007Adams G OldroydCanada2026-09-16Feiner Bros NEGOTIATION64Onyama Limba
1008Costa J ChuiAustralia2026-09-21Truhlar And Truhlar Attys PROPOSAL12Xuxue Feng
1009Francesco T GarufiAustralia2026-09-13Rousseaux, Michael Esq RENEWAL85Ioni Bowcher
1010Claire M FollerUnited Kingdom2026-09-14Buckley Miller Wright NEW94Ivan Magalhaes
1011Octavia K BriddickItaly2026-08-28Printing Dimensions NEGOTIATION35Anna Fali
1012Rodrigues V RoysterAustralia2026-09-10Morlong Associates UNQUALIFIED30Stephen Shaw
1013Rodrigues I CampainBrazil2026-09-22Dorl, James J Esq QUALIFIED58Elwin Sharvill
1014Darci D FigeroaBrazil2026-08-31Commercial Press QUALIFIED41Anna Fali
1015Maria Z AmigonGermany2026-09-17Buckley Miller Wright NEGOTIATION82Bernardo Dominic
1016Maisha Z RulapaughItaly2026-09-12King, Christopher A Esq QUALIFIED77Ioni Bowcher
1017Leon R StensethUnited Kingdom2026-09-17Truhlar And Truhlar Attys RENEWAL50Ivan Magalhaes
1018Arvin D GlickFrance2026-09-09Chemel, James L Cpa PROPOSAL89Ivan Magalhaes
1019David E InouyeAustralia2026-08-30Buckley Miller Wright RENEWAL8Stephen Shaw
1020Kadeem G MaletGermany2026-09-21Buckley Miller Wright PROPOSAL18Xuxue Feng
1021Octavia B CaldareraAustralia2026-09-17King, Christopher A Esq NEGOTIATION39Ioni Bowcher
1022Chavez P GauchoItaly2026-08-29King, Christopher A Esq NEW34Ivan Magalhaes
1023Darci D NickaBrazil2026-08-30Truhlar And Truhlar Attys UNQUALIFIED6Elwin Sharvill
1024Ashley D CampainJapan2026-09-06Truhlar And Truhlar Attys RENEWAL70Onyama Limba
1025Maisha F FigeroaRussia2026-09-19Feltz Printing Service NEW42Amy Elsner
1026Jennifer A VocelkaBrazil2026-09-21Truhlar And Truhlar Attys PROPOSAL97Ioni Bowcher
1027David E MaletSpain2026-09-22Feltz Printing Service NEW19Amy Elsner
1028Kadeem U ChuiItaly2026-09-08King, Christopher A Esq QUALIFIED97Bernardo Dominic
1029Cody Y FollerFrance2026-09-15Truhlar And Truhlar Attys UNQUALIFIED82Onyama Limba
1030Francesco F MacleadItaly2026-08-26Feiner Bros PROPOSAL93Bernardo Dominic
1031Jones H GarufiUnited Kingdom2026-08-31Dorl, James J Esq RENEWAL47Onyama Limba
1032Mayumi L GlickSpain2026-08-27Commercial Press NEW31Asiya Javayant
1033Adams R WaycottIndia2026-09-23Buckley Miller Wright UNQUALIFIED12Xuxue Feng
1034Jennifer B KuskoIndia2026-09-23Chanay, Jeffrey A Esq QUALIFIED6Asiya Javayant
1035Kadeem F CaldareraItaly2026-08-30Truhlar And Truhlar Attys UNQUALIFIED60Bernardo Dominic
1036Maria G RulapaughCanada2026-09-06Morlong Associates PROPOSAL80Anna Fali
1037James Z IturbideJapan2026-09-19Buckley Miller Wright NEGOTIATION35Xuxue Feng
1038Kadeem G BologniaAustralia2026-09-19Chemel, James L Cpa UNQUALIFIED84Anna Fali
1039Greenwood D SchemmerSpain2026-08-25Benton, John B Jr UNQUALIFIED78Asiya Javayant
1040Deepesh Y ButtIndia2026-09-17Benton, John B Jr RENEWAL57Amy Elsner
1041Misaki J TollnerFrance2026-09-02Truhlar And Truhlar Attys NEW72Onyama Limba
1042Julie A GauchoArgentina2026-09-07Buckley Miller Wright NEGOTIATION67Asiya Javayant
1043Wickens W CaudyArgentina2026-09-11Printing Dimensions RENEWAL21Asiya Javayant
1044Leja D CaldareraFrance2026-09-22Feiner Bros NEW45Bernardo Dominic
1045Jones A RoysterBrazil2026-09-10Feltz Printing Service NEW63Ivan Magalhaes
1046Stacey I RulapaughBrazil2026-09-07Dorl, James J Esq QUALIFIED30Ioni Bowcher
1047Octavia N OstroskyCanada2026-09-01King, Christopher A Esq NEGOTIATION79Onyama Limba
1048Ricardo U TollnerBrazil2026-09-17Feiner Bros NEGOTIATION22Anna Fali
1049Sinclair R StockhamSpain2026-09-02Chemel, James L Cpa NEGOTIATION56Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maisha Z BowleyGermanyAsiya Javayant QUALIFIED
Jennifer J RoysterAustraliaAmy Elsner NEGOTIATION
Leja K MarrierFranceAsiya Javayant RENEWAL
Clifford O StockhamRussiaBernardo Dominic RENEWAL
Costa X WhobreyJapanStephen Shaw NEW
Faith G PoquetteArgentinaXuxue Feng PROPOSAL
Jones L DarakjyBrazilStephen Shaw RENEWAL
Aditya X FlosiIndiaAsiya Javayant QUALIFIED
Antonio F WhobreyArgentinaAsiya Javayant PROPOSAL
Jennifer M OstroskyFranceXuxue Feng NEW
Greenwood D PerinItalyAsiya Javayant PROPOSAL
Antonio D FigeroaItalyXuxue Feng UNQUALIFIED
Costa P MacleadGermanyAmy Elsner UNQUALIFIED
Maisha O InouyeIndiaAmy Elsner UNQUALIFIED
Greenwood R BowleyBrazilAnna Fali NEGOTIATION
Johnson R BriddickBrazilAmy Elsner NEW
Cody S CaudyAustraliaXuxue Feng NEGOTIATION
Johnson Q CaudySpainOnyama Limba QUALIFIED
Greenwood L GillianIndiaElwin Sharvill NEGOTIATION
Antonio L PerinAustraliaStephen Shaw NEW
Leja H BriddickAustraliaAmy Elsner QUALIFIED
Smith K VocelkaUnited KingdomAnna Fali RENEWAL
Silvio Y VenereJapanIoni Bowcher QUALIFIED
Maisha K RimGermanyBernardo Dominic RENEWAL
Octavia M PoquetteIndiaAnna Fali NEGOTIATION
Jennifer R PaprockiCanadaOnyama Limba QUALIFIED
Smith R PaprockiSpainElwin Sharvill UNQUALIFIED
Clifford H WhobreySpainAnna Fali NEGOTIATION
Aruna P ShinkoAustraliaAnna Fali NEW
Jones Q DilliardBrazilBernardo Dominic RENEWAL
Morrow A RutaSpainAnna Fali QUALIFIED
Jones H WaycottFranceXuxue Feng PROPOSAL
David K CaudyItalyAmy Elsner NEW
Darci L BologniaIndiaAsiya Javayant QUALIFIED
Jones F FlosiFranceElwin Sharvill UNQUALIFIED
Murillo V PerinArgentinaAmy Elsner NEW
Emily H InouyeIndiaBernardo Dominic RENEWAL
Chavez H StockhamArgentinaAnna Fali NEGOTIATION
Ricardo U KolmetzItalyXuxue Feng PROPOSAL
Maria J OldroydAustraliaElwin Sharvill RENEWAL
Maria W WhobreyIndiaIvan Magalhaes RENEWAL
Salvatore L NickaIndiaBernardo Dominic NEGOTIATION
Adams A NickaUnited KingdomAsiya Javayant NEW
Misaki F DarakjyGermanyElwin Sharvill PROPOSAL
Ivar K GarufiCanadaElwin Sharvill PROPOSAL
Ashley I RimArgentinaElwin Sharvill PROPOSAL
Salvatore I RutaArgentinaAmy Elsner QUALIFIED
Clifford T KolmetzAustraliaAmy Elsner PROPOSAL
Deepesh L SlusarskiArgentinaXuxue Feng NEW
Greenwood D MaletFranceAnna Fali QUALIFIED
Frozen Columns
Name
James P Stockham
Smith T Wieser
Mujtaba Q Poquette
Wickens H Marrier
Emily F Perin
Francesco M Slusarski
Chavez U Iturbide
Antonio U Saylors
Ricardo T Albares
Jefferson Z Amigon
Aruna C Ostrosky
Jennifer V Doe
Kadeem W Schemmer
Emily B Inouye
Darci L Flosi
Faith R Nestle
Kaitlin J Malet
Deepesh L Briddick
Mujtaba R Chui
Emily O Stenseth
Maria I Malet
Smith P Caldarera
Costa I Kusko
Rodrigues P Doe
Leja N Tollner
Ivar W Stockham
Aruna I Oldroyd
Greenwood U Inouye
Murillo H Ruta
Ivar G Figeroa
Costa X Marrier
Jefferson W Poquette
Smith U Iturbide
Alejandro R Schemmer
Juan T Royster
Aika I Campain
Smith U Figeroa
Morrow K Glick
Darci N Iturbide
Tony A Butt
Rodrigues S Flosi
Octavia E Iturbide
Misaki M Dilliard
Salvatore V Nestle
Sinclair N Doe
Octavia N Shinko
Smith Y Waycott
Darci O Darakjy
Morrow O Poquette
Mayumi J Sergi
IdCountryDate
1000Spain2026-08-30
1001Italy2026-09-11
1002Spain2026-08-25
1003Spain2026-08-29
1004United Kingdom2026-09-06
1005Italy2026-09-10
1006Brazil2026-09-16
1007Japan2026-09-05
1008Argentina2026-09-08
1009Japan2026-09-09
1010Spain2026-09-02
1011Brazil2026-09-20
1012Germany2026-09-17
1013Spain2026-09-03
1014France2026-09-05
1015Germany2026-09-06
1016Spain2026-08-31
1017Japan2026-09-17
1018France2026-09-02
1019United Kingdom2026-09-19
1020Spain2026-09-19
1021Germany2026-08-26
1022India2026-09-20
1023Russia2026-09-14
1024Argentina2026-09-06
1025Japan2026-09-14
1026Spain2026-09-03
1027India2026-09-06
1028India2026-09-10
1029Canada2026-08-31
1030Canada2026-09-19
1031Canada2026-09-07
1032United Kingdom2026-09-22
1033Japan2026-09-20
1034France2026-08-30
1035Argentina2026-09-08
1036Russia2026-09-09
1037India2026-09-05
1038Italy2026-09-10
1039Russia2026-09-03
1040France2026-08-26
1041United Kingdom2026-08-30
1042Australia2026-09-10
1043Spain2026-09-09
1044India2026-09-04
1045Argentina2026-09-22
1046Australia2026-09-20
1047Spain2026-09-14
1048India2026-09-03
1049Australia2026-09-06

On-Demand Data

NameIdCountryDate
Jeanfrancois X Garufi1000France2026-09-21
Silvio B Malet1001Spain2026-09-07
Ivar J Bolognia1002Russia2026-09-10
Sinclair A Bolognia1003Argentina2026-09-10
Aruna O Caudy1004Germany2026-09-03
Wickens K Stockham1005Brazil2026-09-01
Aruna X Poquette1006Argentina2026-09-19
Morrow L Darakjy1007Japan2026-09-16
Maria Y Kusko1008India2026-09-04
Sinclair F Ostrosky1009Spain2026-09-03
Darci I Ruta1010Germany2026-09-16
Arvin T Marrier1011Brazil2026-09-08
Rodrigues K Nestle1012United Kingdom2026-08-29
Darci R Flosi1013India2026-09-12
Francesco T Iturbide1014Italy2026-08-26
James D Butt1015United Kingdom2026-09-14
Alejandro M Waycott1016Russia2026-09-06
Murillo C Ostrosky1017Germany2026-09-16
Wickens A Butt1018Italy2026-09-02
Jennifer N Flosi1019Germany2026-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya M GillianGermanyIvan Magalhaes RENEWAL
Jones C WieserUnited KingdomIoni Bowcher NEGOTIATION
Maisha K WaycottRussiaBernardo Dominic PROPOSAL
Ivar Y GlickIndiaIvan Magalhaes PROPOSAL
Leon O OstroskyAustraliaBernardo Dominic QUALIFIED
Emily D BowleyCanadaStephen Shaw RENEWAL
Isabel Q VocelkaAustraliaAsiya Javayant PROPOSAL
Mayumi K GillianRussiaIoni Bowcher QUALIFIED
Maisha J OstroskyBrazilElwin Sharvill NEW
Alejandro X CampainRussiaXuxue Feng NEW
Morrow Q BologniaIndiaOnyama Limba QUALIFIED
Juan R FlosiJapanAnna Fali PROPOSAL
Faith F StockhamUnited KingdomStephen Shaw NEGOTIATION
Octavia I MacleadBrazilStephen Shaw UNQUALIFIED
Leon W RoysterAustraliaElwin Sharvill UNQUALIFIED
Aruna E BowleyFranceElwin Sharvill PROPOSAL
Francesco R PoquetteCanadaAsiya Javayant UNQUALIFIED
Kadeem N GlickSpainXuxue Feng NEW
Alejandro W PaprockiCanadaElwin Sharvill PROPOSAL
Aruna Y TollnerFranceBernardo Dominic QUALIFIED
Emily L OldroydGermanyElwin Sharvill PROPOSAL
Salvatore W SlusarskiArgentinaAmy Elsner RENEWAL
Maria V CaldareraArgentinaBernardo Dominic QUALIFIED
Antonio H InouyeAustraliaAnna Fali RENEWAL
Murillo F CampainSpainAsiya Javayant QUALIFIED
Adams R FlosiSpainElwin Sharvill NEGOTIATION
Mayumi W PerinJapanStephen Shaw RENEWAL
Kaitlin Q CampainJapanElwin Sharvill NEGOTIATION
Ashley M SaylorsUnited KingdomIoni Bowcher NEGOTIATION
Aruna J BriddickGermanyAmy Elsner NEW
Darci Z MacleadRussiaAmy Elsner NEGOTIATION
Aditya Q FollerAustraliaBernardo Dominic QUALIFIED
Jefferson S VenereAustraliaAsiya Javayant RENEWAL
Francesco X FigeroaUnited KingdomStephen Shaw QUALIFIED
Nicolas H VenereRussiaAsiya Javayant NEW
Costa K BriddickRussiaAmy Elsner RENEWAL
Tony I ShinkoBrazilAmy Elsner QUALIFIED
Faith R NickaArgentinaElwin Sharvill UNQUALIFIED
Emily I GauchoFranceAnna Fali PROPOSAL
Aruna W TollnerFranceAnna Fali 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>