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
Alejandro O OldroydIndiaOnyama Limba NEGOTIATION
Jones Y PerinFranceAsiya Javayant NEW
Jennifer G DoeArgentinaAmy Elsner RENEWAL
Murillo Y RulapaughItalyAsiya Javayant NEW
Alejandro L FigeroaFranceAmy Elsner PROPOSAL
Smith K InouyeIndiaElwin Sharvill RENEWAL
Izzy B OstroskyGermanyXuxue Feng NEW
Mujtaba M CampainBrazilBernardo Dominic QUALIFIED
Ricardo F PoquetteFranceStephen Shaw RENEWAL
Kaitlin O ButtSpainIoni Bowcher QUALIFIED
Claire Z KolmetzBrazilXuxue Feng RENEWAL
Cody Q DarakjyUnited KingdomAsiya Javayant QUALIFIED
Emily M FigeroaBrazilIoni Bowcher QUALIFIED
Misaki C AmigonAustraliaStephen Shaw UNQUALIFIED
Ashley P KolmetzIndiaIoni Bowcher RENEWAL
Deepesh K FlosiFranceIvan Magalhaes UNQUALIFIED
Misaki J OstroskyIndiaOnyama Limba RENEWAL
Kaitlin U RimCanadaOnyama Limba NEW
David F KuskoItalyXuxue Feng RENEWAL
Julie T PaprockiGermanyStephen Shaw UNQUALIFIED
Chavez J FollerGermanyOnyama Limba NEGOTIATION
Mujtaba D DilliardGermanyAsiya Javayant UNQUALIFIED
Silvio Q CaudyAustraliaElwin Sharvill UNQUALIFIED
Munro P RoysterGermanyOnyama Limba NEGOTIATION
David X SergiCanadaIoni Bowcher UNQUALIFIED
Maria T TollnerItalyAsiya Javayant UNQUALIFIED
Jeanfrancois T GillianCanadaXuxue Feng RENEWAL
Izzy W NickaGermanyAnna Fali NEW
Juan K WhobreyBrazilBernardo Dominic NEGOTIATION
Stacey Y DilliardRussiaStephen Shaw PROPOSAL
Deepesh Q MaletFranceBernardo Dominic PROPOSAL
David O ShinkoAustraliaElwin Sharvill NEW
Chavez E CampainRussiaIoni Bowcher PROPOSAL
Juan H RulapaughAustraliaOnyama Limba NEW
James Y VocelkaJapanOnyama Limba PROPOSAL
David I DarakjyBrazilStephen Shaw RENEWAL
Stacey O PerinJapanElwin Sharvill QUALIFIED
Smith V SlusarskiGermanyOnyama Limba QUALIFIED
Juan T DilliardUnited KingdomStephen Shaw NEW
Misaki G InouyeArgentinaBernardo Dominic PROPOSAL
Mujtaba G PerinGermanyIvan Magalhaes UNQUALIFIED
Aika A ChuiFranceAnna Fali NEGOTIATION
Isabel Q PaprockiRussiaElwin Sharvill UNQUALIFIED
Izzy K TollnerJapanAsiya Javayant RENEWAL
Kaitlin L FigeroaAustraliaAsiya Javayant NEGOTIATION
Ashley L MaletCanadaBernardo Dominic RENEWAL
Deepesh D CaudyAustraliaBernardo Dominic PROPOSAL
Murillo A SchemmerCanadaOnyama Limba RENEWAL
Rodrigues J NestleSpainAsiya Javayant NEGOTIATION
Octavia P GlickCanadaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mayumi V GauchoIndiaAsiya Javayant NEW
Aika I AlbaresCanadaAsiya Javayant PROPOSAL
Izzy V FollerItalyIoni Bowcher NEGOTIATION
Tony L DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Claire R SchemmerFranceBernardo Dominic PROPOSAL
Tony D VenereGermanyAmy Elsner QUALIFIED
Maisha J StockhamCanadaXuxue Feng QUALIFIED
Jones Z WieserUnited KingdomIoni Bowcher PROPOSAL
Maria R KuskoAustraliaIoni Bowcher UNQUALIFIED
Misaki P BologniaItalyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio I FerenczGermany2026-10-10King, Christopher A Esq NEGOTIATION86Amy Elsner
1001Jennifer Q VocelkaJapan2026-09-30Buckley Miller Wright NEW77Stephen Shaw
1002Cody G FerenczRussia2026-10-11Rangoni Of Florence QUALIFIED55Amy Elsner
1003Aika I SergiIndia2026-09-21Printing Dimensions RENEWAL49Elwin Sharvill
1004Ivar C FollerBrazil2026-09-24Dorl, James J Esq NEGOTIATION18Amy Elsner
1005Costa X SchemmerItaly2026-09-25Dorl, James J Esq NEW97Asiya Javayant
1006Morrow G CaldareraIndia2026-09-21Chapman, Ross E Esq PROPOSAL72Elwin Sharvill
1007Kadeem T GlickUnited Kingdom2026-09-27Feltz Printing Service NEW11Anna Fali
1008Jennifer E SlusarskiAustralia2026-09-29Truhlar And Truhlar Attys QUALIFIED90Stephen Shaw
1009Maisha Z OstroskyIndia2026-10-04Commercial Press QUALIFIED68Bernardo Dominic
1010Claire R WieserAustralia2026-09-28Chemel, James L Cpa QUALIFIED33Anna Fali
1011Ricardo W ButtCanada2026-10-03Chemel, James L Cpa RENEWAL65Amy Elsner
1012Ricardo S FollerCanada2026-10-02Benton, John B Jr QUALIFIED15Onyama Limba
1013Smith M BriddickAustralia2026-09-22King, Christopher A Esq QUALIFIED45Asiya Javayant
1014Kaitlin H PaprockiUnited Kingdom2026-09-27Commercial Press NEGOTIATION18Elwin Sharvill
1015Ashley B SchemmerIndia2026-09-14Printing Dimensions QUALIFIED61Elwin Sharvill
1016Smith Y InouyeAustralia2026-09-27Chemel, James L Cpa NEW68Onyama Limba
1017Costa N RoysterRussia2026-10-05King, Christopher A Esq UNQUALIFIED93Stephen Shaw
1018Mayumi H WaycottFrance2026-10-06Commercial Press UNQUALIFIED8Elwin Sharvill
1019Jones N KuskoGermany2026-10-03Rangoni Of Florence NEGOTIATION4Anna Fali
1020Aika U InouyeJapan2026-09-29Truhlar And Truhlar Attys QUALIFIED59Ioni Bowcher
1021Aika Q GauchoUnited Kingdom2026-10-11Rousseaux, Michael Esq QUALIFIED30Ioni Bowcher
1022Claire M GarufiJapan2026-09-22Chemel, James L Cpa PROPOSAL0Anna Fali
1023Darci T SaylorsItaly2026-09-24Printing Dimensions QUALIFIED65Ioni Bowcher
1024Aditya R OldroydCanada2026-09-29Rangoni Of Florence RENEWAL27Xuxue Feng
1025Octavia D StockhamIndia2026-09-30King, Christopher A Esq RENEWAL35Ioni Bowcher
1026Aditya L DarakjyBrazil2026-09-17Feiner Bros UNQUALIFIED76Onyama Limba
1027Kadeem I SergiArgentina2026-10-05King, Christopher A Esq NEGOTIATION47Stephen Shaw
1028Chavez R RimCanada2026-09-15King, Christopher A Esq RENEWAL13Ivan Magalhaes
1029Adams J SchemmerGermany2026-09-14Truhlar And Truhlar Attys UNQUALIFIED64Ioni Bowcher
1030Emily A GillianFrance2026-09-22Commercial Press PROPOSAL59Bernardo Dominic
1031Adams O PaprockiIndia2026-10-03Printing Dimensions QUALIFIED56Onyama Limba
1032Leja C VocelkaSpain2026-10-07Feltz Printing Service UNQUALIFIED3Amy Elsner
1033Darci H MarrierGermany2026-10-03Dorl, James J Esq NEW33Xuxue Feng
1034Morrow M RutaCanada2026-10-04Feltz Printing Service PROPOSAL0Ioni Bowcher
1035Jennifer M TollnerArgentina2026-10-07Rousseaux, Michael Esq QUALIFIED53Asiya Javayant
1036Arvin W KolmetzArgentina2026-10-03Printing Dimensions UNQUALIFIED53Elwin Sharvill
1037Kaitlin K OstroskyRussia2026-10-10Morlong Associates RENEWAL45Ivan Magalhaes
1038Chavez G StensethRussia2026-10-01Chemel, James L Cpa NEGOTIATION64Bernardo Dominic
1039Aika W KolmetzGermany2026-10-06Chemel, James L Cpa UNQUALIFIED76Asiya Javayant
1040Cody C WaycottRussia2026-09-18Morlong Associates RENEWAL48Amy Elsner
1041Izzy E AlbaresCanada2026-10-02Dorl, James J Esq QUALIFIED18Stephen Shaw
1042Kaitlin K MorascaAustralia2026-09-18Rousseaux, Michael Esq UNQUALIFIED41Ioni Bowcher
1043Jefferson U PerinIndia2026-09-21King, Christopher A Esq RENEWAL43Ioni Bowcher
1044Misaki O DarakjyItaly2026-09-18Printing Dimensions NEW55Onyama Limba
1045Costa O RoysterRussia2026-09-29Chanay, Jeffrey A Esq RENEWAL45Stephen Shaw
1046Ricardo A SaylorsUnited Kingdom2026-09-16Truhlar And Truhlar Attys QUALIFIED77Stephen Shaw
1047Costa B MarrierBrazil2026-10-06Commercial Press NEGOTIATION34Xuxue Feng
1048Misaki Q KuskoGermany2026-10-04Benton, John B Jr NEW49Bernardo Dominic
1049Munro I SlusarskiBrazil2026-09-30Benton, John B Jr UNQUALIFIED69Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Murillo B CaudyArgentinaIoni Bowcher NEGOTIATION
Greenwood J TollnerGermanyXuxue Feng UNQUALIFIED
Alejandro K WhobreyCanadaElwin Sharvill PROPOSAL
Isabel F StensethFranceStephen Shaw RENEWAL
Munro C PerinArgentinaAnna Fali QUALIFIED
Mujtaba X NestleJapanAmy Elsner NEGOTIATION
Smith A BologniaArgentinaIvan Magalhaes QUALIFIED
Murillo R BriddickCanadaStephen Shaw NEW
Isabel I StockhamCanadaIoni Bowcher NEW
Sinclair D ButtBrazilAnna Fali RENEWAL
Kaitlin U AlbaresCanadaIvan Magalhaes UNQUALIFIED
Leon Z FlosiCanadaAnna Fali UNQUALIFIED
Octavia Y WhobreyBrazilBernardo Dominic NEW
Cody P VocelkaIndiaOnyama Limba RENEWAL
Claire T WaycottGermanyAsiya Javayant RENEWAL
Wickens E MaletItalyAmy Elsner UNQUALIFIED
Misaki L GarufiJapanAnna Fali RENEWAL
Leja S WaycottFranceAsiya Javayant RENEWAL
Maisha M FigeroaArgentinaBernardo Dominic NEGOTIATION
David F FollerCanadaIoni Bowcher NEGOTIATION
Clifford R GillianRussiaOnyama Limba PROPOSAL
James B BriddickJapanAnna Fali NEW
Aditya Y OstroskyBrazilXuxue Feng NEW
Morrow K SaylorsArgentinaXuxue Feng PROPOSAL
Mujtaba J RoysterIndiaIoni Bowcher RENEWAL
David J GarufiIndiaAmy Elsner NEGOTIATION
Cody T StensethItalyElwin Sharvill NEGOTIATION
Smith D SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood W StockhamCanadaAsiya Javayant PROPOSAL
David I ShinkoJapanStephen Shaw NEW
Wickens V WhobreyArgentinaAmy Elsner RENEWAL
Murillo B OldroydRussiaIvan Magalhaes NEGOTIATION
Misaki X FlosiIndiaIvan Magalhaes QUALIFIED
Arvin D SlusarskiGermanyAmy Elsner UNQUALIFIED
Julie L StockhamBrazilAsiya Javayant NEGOTIATION
Leon O SchemmerFranceIvan Magalhaes NEGOTIATION
Murillo N DoeFranceElwin Sharvill PROPOSAL
Johnson Q MaletCanadaOnyama Limba PROPOSAL
Adams B ShinkoIndiaOnyama Limba UNQUALIFIED
Morrow Y RoysterFranceStephen Shaw PROPOSAL
Clifford A SergiCanadaXuxue Feng NEGOTIATION
Antonio Z InouyeArgentinaAnna Fali RENEWAL
Maria Q DilliardIndiaElwin Sharvill QUALIFIED
Arvin Y NickaFranceStephen Shaw UNQUALIFIED
Aika G AmigonGermanyAnna Fali NEW
Kadeem Y WieserArgentinaOnyama Limba NEW
Adams T MaletFranceAmy Elsner RENEWAL
Mayumi H BologniaBrazilElwin Sharvill QUALIFIED
Aika W BowleyGermanyIoni Bowcher RENEWAL
Claire I RulapaughFranceAmy Elsner NEW
Frozen Columns
Name
Costa T Iturbide
Salvatore V Wieser
Emily T Doe
Leja Q Schemmer
Nicolas T Caldarera
Stacey O Malet
Mayumi T Nicka
Morrow V Royster
Aika W Caudy
Antonio J Campain
Mujtaba B Kolmetz
Wickens R Poquette
Arvin N Saylors
Arvin L Amigon
Juan W Whobrey
Alejandro A Rim
Murillo R Foller
James U Campain
James F Gillian
Morrow A Figeroa
Faith S Bolognia
Ricardo M Morasca
Wickens S Campain
Octavia R Inouye
Stacey R Caudy
Johnson V Foller
Murillo J Royster
Jeanfrancois Z Chui
Salvatore H Venere
Nicolas P Rulapaugh
Arvin S Slusarski
Julie X Bolognia
Tony Z Malet
Cody X Marrier
Sinclair M Gaucho
Julie J Butt
Morrow N Sergi
Ashley O Saylors
Nicolas A Shinko
Jefferson W Inouye
Francesco A Stockham
Ashley Z Vocelka
Juan W Maclead
Leon N Ostrosky
Munro X Figeroa
Stacey C Stenseth
Kaitlin N Butt
Cody I Morasca
Leon I Maclead
Jones L Gaucho
IdCountryDate
1000France2026-09-23
1001Argentina2026-10-07
1002Japan2026-10-06
1003Germany2026-10-08
1004United Kingdom2026-09-30
1005Spain2026-10-02
1006Spain2026-09-16
1007Russia2026-09-17
1008Germany2026-10-09
1009France2026-09-21
1010Australia2026-09-27
1011Canada2026-09-14
1012Australia2026-09-25
1013France2026-09-19
1014United Kingdom2026-09-19
1015Argentina2026-10-09
1016Germany2026-09-16
1017Russia2026-10-10
1018Italy2026-10-04
1019Japan2026-09-22
1020Germany2026-09-17
1021Spain2026-09-18
1022Brazil2026-09-26
1023France2026-09-17
1024Russia2026-09-12
1025Brazil2026-09-20
1026Australia2026-10-05
1027Brazil2026-09-24
1028France2026-09-26
1029Germany2026-09-12
1030France2026-09-14
1031France2026-10-01
1032Brazil2026-10-05
1033Spain2026-10-06
1034India2026-10-01
1035India2026-10-06
1036Canada2026-09-12
1037Brazil2026-09-25
1038Germany2026-10-02
1039India2026-09-18
1040Argentina2026-09-15
1041India2026-09-13
1042Germany2026-09-13
1043Germany2026-09-14
1044France2026-10-01
1045Brazil2026-09-21
1046Australia2026-09-18
1047Brazil2026-09-12
1048France2026-10-11
1049France2026-10-02

On-Demand Data

NameIdCountryDate
Adams Q Kolmetz1000Canada2026-09-16
Murillo H Inouye1001India2026-10-09
Ivar F Whobrey1002Italy2026-09-18
Salvatore X Dilliard1003Russia2026-09-27
Stacey Q Gaucho1004Brazil2026-09-15
Izzy Z Glick1005Japan2026-09-27
Tony U Maclead1006Japan2026-09-29
Jeanfrancois M Venere1007Canada2026-10-06
Smith G Schemmer1008Spain2026-09-20
Deepesh C Bowley1009Japan2026-09-14
Maisha U Whobrey1010Germany2026-10-01
Ivar L Malet1011India2026-10-06
Adams E Gaucho1012Japan2026-09-12
Silvio R Inouye1013Argentina2026-10-11
Greenwood P Oldroyd1014Italy2026-10-02
Deepesh P Marrier1015Germany2026-09-22
Mayumi I Malet1016Italy2026-09-14
Juan Q Tollner1017France2026-09-26
Jennifer Z Amigon1018Canada2026-09-30
Salvatore U Dilliard1019Canada2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy S VocelkaAustraliaXuxue Feng UNQUALIFIED
Morrow O DoeCanadaXuxue Feng RENEWAL
Leon Z PerinSpainAnna Fali QUALIFIED
Aika P AlbaresAustraliaAsiya Javayant UNQUALIFIED
Cody E WieserArgentinaOnyama Limba UNQUALIFIED
David W FerenczGermanyStephen Shaw NEW
Wickens I NickaRussiaIoni Bowcher PROPOSAL
Salvatore L FerenczSpainAmy Elsner PROPOSAL
Arvin Y GarufiBrazilAsiya Javayant NEW
Murillo Z BologniaFranceIvan Magalhaes PROPOSAL
Salvatore N OstroskyItalyAnna Fali PROPOSAL
Faith K SchemmerItalyAsiya Javayant PROPOSAL
Kaitlin C IturbideFranceIoni Bowcher RENEWAL
Johnson Q ShinkoSpainIvan Magalhaes QUALIFIED
Rodrigues Q RulapaughFranceXuxue Feng QUALIFIED
Emily X PoquetteAustraliaOnyama Limba PROPOSAL
Aika C BowleyBrazilIvan Magalhaes PROPOSAL
Johnson L FlosiFranceElwin Sharvill PROPOSAL
Clifford W NestleSpainAmy Elsner UNQUALIFIED
Murillo E MorascaCanadaIoni Bowcher NEW
Leja T AmigonArgentinaIoni Bowcher NEW
Faith E NickaAustraliaXuxue Feng RENEWAL
Ricardo E MorascaJapanBernardo Dominic UNQUALIFIED
Faith E WieserCanadaXuxue Feng QUALIFIED
Chavez F PerinSpainIvan Magalhaes RENEWAL
Maria M BologniaFranceIvan Magalhaes NEGOTIATION
Mujtaba O FigeroaRussiaXuxue Feng NEW
Silvio D SergiRussiaOnyama Limba RENEWAL
Leon A SchemmerAustraliaAsiya Javayant UNQUALIFIED
Aruna G CaudyUnited KingdomAnna Fali UNQUALIFIED
Alejandro L VocelkaItalyXuxue Feng PROPOSAL
Munro N OstroskyItalyOnyama Limba RENEWAL
Juan E GauchoAustraliaXuxue Feng RENEWAL
Nicolas Y FigeroaIndiaAsiya Javayant PROPOSAL
Ivar E PaprockiCanadaStephen Shaw RENEWAL
Claire U OldroydSpainXuxue Feng QUALIFIED
Morrow E FerenczBrazilOnyama Limba NEGOTIATION
Rodrigues K PaprockiUnited KingdomAmy Elsner RENEWAL
Costa M StensethAustraliaBernardo Dominic PROPOSAL
Jones F PaprockiFranceOnyama Limba 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>