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
Nicolas X PaprockiRussiaXuxue Feng QUALIFIED
Francesco C SaylorsJapanBernardo Dominic RENEWAL
Nicolas B AmigonGermanyXuxue Feng QUALIFIED
Maisha W StensethItalyOnyama Limba NEW
Mayumi N RutaRussiaAsiya Javayant PROPOSAL
Arvin Z FollerArgentinaAnna Fali NEW
Kadeem F NestleArgentinaBernardo Dominic NEGOTIATION
Munro W SaylorsGermanyXuxue Feng NEW
David G StockhamRussiaIvan Magalhaes PROPOSAL
Greenwood H DilliardRussiaAnna Fali RENEWAL
Deepesh M GlickArgentinaIoni Bowcher NEGOTIATION
Costa R MorascaJapanOnyama Limba PROPOSAL
Ivar R NickaFranceElwin Sharvill PROPOSAL
Mujtaba N TollnerArgentinaIoni Bowcher NEW
Leja G MacleadIndiaBernardo Dominic PROPOSAL
Chavez H MacleadArgentinaAsiya Javayant UNQUALIFIED
Claire B OldroydItalyAsiya Javayant RENEWAL
Leja B MarrierRussiaIvan Magalhaes QUALIFIED
Smith R ChuiRussiaStephen Shaw NEGOTIATION
Claire G WieserSpainAmy Elsner QUALIFIED
Wickens R RutaCanadaElwin Sharvill NEW
Jeanfrancois M NestleSpainBernardo Dominic QUALIFIED
Greenwood R RimSpainAmy Elsner NEW
Munro I ShinkoCanadaStephen Shaw NEGOTIATION
Jeanfrancois O MorascaSpainXuxue Feng QUALIFIED
Leon X FigeroaRussiaIvan Magalhaes NEGOTIATION
Isabel K FollerFranceElwin Sharvill NEW
Leja I ChuiArgentinaAnna Fali RENEWAL
Smith V OstroskyAustraliaAmy Elsner RENEWAL
Nicolas S ShinkoJapanAsiya Javayant RENEWAL
Rodrigues S AmigonItalyElwin Sharvill QUALIFIED
Morrow G SaylorsFranceElwin Sharvill UNQUALIFIED
Leja M MaletArgentinaAmy Elsner NEW
Jeanfrancois A BowleyBrazilXuxue Feng PROPOSAL
Johnson B RoysterAustraliaStephen Shaw PROPOSAL
Ricardo J CampainUnited KingdomStephen Shaw UNQUALIFIED
Aruna L BowleyJapanStephen Shaw PROPOSAL
Munro J FlosiCanadaBernardo Dominic RENEWAL
Francesco E SlusarskiRussiaStephen Shaw RENEWAL
Mujtaba I AlbaresSpainOnyama Limba NEW
Rodrigues V VocelkaArgentinaIvan Magalhaes QUALIFIED
Izzy E RimItalyStephen Shaw UNQUALIFIED
Mujtaba I NestleArgentinaElwin Sharvill NEW
Alejandro S SaylorsArgentinaOnyama Limba QUALIFIED
Leon A AlbaresFranceXuxue Feng UNQUALIFIED
Francesco W WaycottSpainIoni Bowcher NEW
Jones F ChuiArgentinaIoni Bowcher PROPOSAL
Antonio K RutaSpainIvan Magalhaes NEGOTIATION
Juan J PoquetteSpainIoni Bowcher UNQUALIFIED
Wickens L RutaArgentinaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson E MarrierBrazilOnyama Limba NEGOTIATION
Ricardo C InouyeIndiaXuxue Feng RENEWAL
Clifford N PerinGermanyAnna Fali RENEWAL
Aika U BriddickIndiaAnna Fali NEW
Arvin Y CampainFranceElwin Sharvill NEGOTIATION
Antonio J InouyeSpainElwin Sharvill NEW
David D RutaRussiaAnna Fali QUALIFIED
Darci G RutaItalyAmy Elsner NEW
Adams B GauchoArgentinaIvan Magalhaes NEGOTIATION
Maisha J GarufiFranceAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire A AmigonGermany2026-10-15Chapman, Ross E Esq NEGOTIATION52Ioni Bowcher
1001Ashley W DoeRussia2026-10-29Morlong Associates UNQUALIFIED97Onyama Limba
1002Murillo B ButtArgentina2026-10-21King, Christopher A Esq QUALIFIED32Amy Elsner
1003Antonio M SchemmerArgentina2026-10-12Feiner Bros RENEWAL34Ioni Bowcher
1004Adams F GarufiJapan2026-11-02Feltz Printing Service NEGOTIATION15Anna Fali
1005Kadeem Y InouyeBrazil2026-10-28Chanay, Jeffrey A Esq RENEWAL74Ivan Magalhaes
1006Misaki S SlusarskiGermany2026-11-08Chanay, Jeffrey A Esq NEGOTIATION14Ioni Bowcher
1007Costa J BriddickGermany2026-10-15Feiner Bros PROPOSAL19Ioni Bowcher
1008Darci Z SaylorsFrance2026-10-16Commercial Press QUALIFIED29Asiya Javayant
1009Ivar Q PaprockiArgentina2026-10-14Printing Dimensions NEGOTIATION49Asiya Javayant
1010Stacey P DarakjyFrance2026-10-15Chapman, Ross E Esq UNQUALIFIED0Elwin Sharvill
1011Adams X VenereUnited Kingdom2026-10-23Buckley Miller Wright UNQUALIFIED96Amy Elsner
1012Jones A RoysterGermany2026-10-22Feiner Bros UNQUALIFIED93Elwin Sharvill
1013Adams W ChuiUnited Kingdom2026-10-28Benton, John B Jr NEGOTIATION93Anna Fali
1014Octavia P VocelkaIndia2026-10-21Commercial Press PROPOSAL30Asiya Javayant
1015Julie F BologniaItaly2026-11-08Buckley Miller Wright PROPOSAL79Amy Elsner
1016Tony E PaprockiRussia2026-11-08Chanay, Jeffrey A Esq NEW49Elwin Sharvill
1017Misaki S InouyeArgentina2026-10-28Rousseaux, Michael Esq NEW16Asiya Javayant
1018Alejandro Z CampainBrazil2026-11-09Truhlar And Truhlar Attys PROPOSAL95Bernardo Dominic
1019Jennifer X NickaBrazil2026-10-28Benton, John B Jr RENEWAL55Elwin Sharvill
1020Jeanfrancois B WhobreyJapan2026-10-22Feltz Printing Service UNQUALIFIED87Bernardo Dominic
1021Francesco Y MaletBrazil2026-11-07Truhlar And Truhlar Attys UNQUALIFIED33Onyama Limba
1022Claire X NestleArgentina2026-10-18Feltz Printing Service PROPOSAL74Bernardo Dominic
1023Costa E RutaItaly2026-10-18Rousseaux, Michael Esq QUALIFIED71Stephen Shaw
1024Juan D WieserUnited Kingdom2026-11-07King, Christopher A Esq RENEWAL19Stephen Shaw
1025Greenwood O RimFrance2026-10-13Rousseaux, Michael Esq UNQUALIFIED28Ioni Bowcher
1026Faith N AmigonCanada2026-10-13Dorl, James J Esq NEW87Amy Elsner
1027Ashley Y OldroydFrance2026-10-27Commercial Press PROPOSAL87Stephen Shaw
1028Mayumi R TollnerUnited Kingdom2026-10-12King, Christopher A Esq RENEWAL24Onyama Limba
1029Sinclair Z KuskoGermany2026-11-09Rangoni Of Florence UNQUALIFIED84Anna Fali
1030Jeanfrancois I GlickIndia2026-11-01Dorl, James J Esq QUALIFIED62Anna Fali
1031Claire G GlickAustralia2026-10-19Buckley Miller Wright NEW78Ivan Magalhaes
1032Murillo R WieserSpain2026-11-08Chemel, James L Cpa QUALIFIED59Anna Fali
1033Francesco T StockhamGermany2026-11-02King, Christopher A Esq UNQUALIFIED45Anna Fali
1034James I StensethJapan2026-10-15Morlong Associates NEW20Xuxue Feng
1035Adams K DilliardIndia2026-11-09Truhlar And Truhlar Attys NEGOTIATION64Ivan Magalhaes
1036Maisha A ShinkoFrance2026-11-02Morlong Associates NEW93Elwin Sharvill
1037Misaki E CaldareraBrazil2026-10-18Chapman, Ross E Esq QUALIFIED22Anna Fali
1038Mayumi N ButtUnited Kingdom2026-10-22King, Christopher A Esq UNQUALIFIED93Xuxue Feng
1039Morrow K DarakjyArgentina2026-10-22Feltz Printing Service UNQUALIFIED31Elwin Sharvill
1040David Y CaldareraArgentina2026-10-12Feiner Bros QUALIFIED61Ivan Magalhaes
1041Maria Q StensethUnited Kingdom2026-10-19Dorl, James J Esq PROPOSAL31Asiya Javayant
1042Silvio L AmigonCanada2026-11-04Feiner Bros NEGOTIATION0Elwin Sharvill
1043Leon Q OldroydCanada2026-11-04Chapman, Ross E Esq RENEWAL65Bernardo Dominic
1044Julie M GarufiSpain2026-11-03Rousseaux, Michael Esq NEW98Amy Elsner
1045Johnson B BologniaSpain2026-11-08Benton, John B Jr PROPOSAL88Elwin Sharvill
1046Claire F BowleyCanada2026-10-21Commercial Press UNQUALIFIED72Asiya Javayant
1047Munro C NestleIndia2026-11-05Buckley Miller Wright RENEWAL50Xuxue Feng
1048Antonio F RulapaughFrance2026-11-07Chanay, Jeffrey A Esq NEGOTIATION66Asiya Javayant
1049Emily E NestleAustralia2026-11-02Chanay, Jeffrey A Esq NEW93Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leon E MarrierFranceXuxue Feng QUALIFIED
Rodrigues Z DarakjyGermanyAsiya Javayant PROPOSAL
Wickens B OldroydCanadaAmy Elsner RENEWAL
Faith O MarrierJapanStephen Shaw RENEWAL
Mayumi P ChuiCanadaAsiya Javayant RENEWAL
Wickens F PerinJapanBernardo Dominic NEGOTIATION
Aika F OldroydAustraliaOnyama Limba PROPOSAL
Ivar Q GillianUnited KingdomStephen Shaw PROPOSAL
Stacey M CaldareraCanadaBernardo Dominic NEGOTIATION
Smith B SaylorsFranceAnna Fali QUALIFIED
Morrow B WhobreyAustraliaAmy Elsner QUALIFIED
Nicolas Y GarufiJapanAmy Elsner QUALIFIED
Antonio A GauchoGermanyStephen Shaw UNQUALIFIED
Costa F KuskoCanadaIoni Bowcher NEW
Claire C IturbideGermanyAmy Elsner QUALIFIED
Salvatore V FerenczRussiaElwin Sharvill QUALIFIED
Isabel U KuskoRussiaStephen Shaw NEW
Jefferson G KolmetzIndiaAmy Elsner QUALIFIED
Leja M SchemmerRussiaXuxue Feng NEW
Jefferson Y RutaUnited KingdomElwin Sharvill QUALIFIED
Leja G GauchoFranceIvan Magalhaes UNQUALIFIED
Misaki O MaletBrazilBernardo Dominic UNQUALIFIED
Julie Z WieserSpainBernardo Dominic UNQUALIFIED
Ricardo Q RoysterSpainAmy Elsner NEGOTIATION
Smith L FlosiCanadaIoni Bowcher NEGOTIATION
Nicolas W VocelkaCanadaAsiya Javayant PROPOSAL
Nicolas P MarrierCanadaAnna Fali NEW
Maisha S FerenczItalyIvan Magalhaes NEW
Wickens U SergiSpainIoni Bowcher RENEWAL
Nicolas S BowleyFranceAsiya Javayant PROPOSAL
Izzy O RoysterSpainAnna Fali UNQUALIFIED
Octavia L MorascaJapanAnna Fali NEGOTIATION
Leja R BriddickIndiaAmy Elsner NEGOTIATION
Isabel V ButtFranceAnna Fali PROPOSAL
Clifford V IturbideBrazilOnyama Limba PROPOSAL
Alejandro G DarakjyFranceXuxue Feng RENEWAL
Arvin P FerenczUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois M StensethItalyIvan Magalhaes NEW
David O VenereArgentinaAsiya Javayant NEW
David G MorascaItalyStephen Shaw PROPOSAL
Sinclair V RutaJapanIoni Bowcher PROPOSAL
Aruna T CaudyGermanyAnna Fali RENEWAL
Silvio E FigeroaBrazilXuxue Feng RENEWAL
Nicolas E FigeroaUnited KingdomBernardo Dominic RENEWAL
Clifford V RulapaughFranceIoni Bowcher UNQUALIFIED
Tony Y NestleFranceAmy Elsner QUALIFIED
Antonio H StockhamFranceAsiya Javayant QUALIFIED
David I GauchoArgentinaBernardo Dominic RENEWAL
Maisha O RimGermanyAmy Elsner NEGOTIATION
Costa B PoquetteGermanyOnyama Limba NEW
Frozen Columns
Name
Emily B Foller
Salvatore P Morasca
Maria X Gillian
Antonio X Nicka
Julie N Slusarski
Kadeem A Venere
James U Ostrosky
Faith B Ruta
Nicolas O Whobrey
Sinclair K Tollner
Izzy D Paprocki
Faith H Rulapaugh
Aditya K Wieser
Salvatore V Oldroyd
Juan N Doe
Salvatore B Ferencz
Munro E Waycott
Kaitlin P Slusarski
Kadeem K Malet
Emily R Ferencz
Greenwood A Caudy
Julie B Glick
Alejandro V Royster
Adams X Ostrosky
Juan A Inouye
Jefferson G Whobrey
Francesco N Vocelka
Kaitlin L Caldarera
Jeanfrancois K Bowley
Aditya T Butt
Antonio L Butt
Munro Q Venere
Aruna U Dilliard
James E Waycott
Sinclair I Albares
Leja X Perin
Julie G Ostrosky
Adams Y Poquette
Chavez A Gaucho
Darci A Marrier
Munro F Flosi
Maria Q Stockham
Costa K Malet
Juan R Garufi
Maisha I Nicka
Jennifer A Dilliard
Stacey U Slusarski
Juan C Nestle
Juan P Albares
Julie F Morasca
IdCountryDate
1000India2026-10-15
1001Australia2026-11-01
1002Australia2026-10-16
1003Germany2026-10-23
1004Australia2026-10-27
1005Italy2026-10-23
1006Canada2026-10-13
1007Italy2026-10-26
1008United Kingdom2026-10-20
1009Brazil2026-10-26
1010Australia2026-10-23
1011Germany2026-10-24
1012Canada2026-10-29
1013India2026-10-23
1014India2026-11-10
1015Russia2026-10-13
1016United Kingdom2026-11-03
1017Canada2026-11-05
1018Russia2026-10-23
1019France2026-10-25
1020Canada2026-10-28
1021Italy2026-11-09
1022Canada2026-10-31
1023France2026-10-31
1024Argentina2026-10-18
1025Australia2026-10-30
1026Italy2026-11-02
1027Russia2026-10-15
1028Spain2026-10-25
1029Canada2026-11-10
1030Japan2026-11-01
1031Australia2026-10-27
1032Brazil2026-11-03
1033Germany2026-10-21
1034Brazil2026-11-06
1035Brazil2026-11-06
1036Germany2026-11-02
1037Japan2026-11-02
1038France2026-10-17
1039France2026-10-31
1040Australia2026-11-10
1041Australia2026-11-04
1042Canada2026-10-17
1043India2026-11-02
1044Japan2026-10-22
1045Germany2026-10-31
1046Australia2026-10-20
1047India2026-11-05
1048France2026-10-31
1049Australia2026-10-19

On-Demand Data

NameIdCountryDate
Darci C Waycott1000Germany2026-10-24
Juan M Inouye1001Canada2026-10-13
Ivar J Gillian1002Italy2026-10-12
Leja V Caudy1003Brazil2026-10-28
Kaitlin R Gaucho1004France2026-10-17
Murillo X Iturbide1005Italy2026-11-06
Deepesh A Oldroyd1006Germany2026-11-08
Aditya E Nicka1007Japan2026-10-13
Misaki V Gillian1008Japan2026-11-04
David E Gillian1009Russia2026-10-13
Cody G Doe1010United Kingdom2026-10-26
Maisha T Bolognia1011Italy2026-10-12
Murillo Y Doe1012India2026-10-19
Ivar K Whobrey1013Italy2026-11-06
James S Rulapaugh1014Russia2026-10-24
Ivar D Foller1015France2026-10-23
Clifford R Butt1016Australia2026-10-25
Kadeem Y Albares1017Germany2026-11-09
David X Campain1018France2026-11-10
Izzy G Ostrosky1019Australia2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio C SaylorsUnited KingdomXuxue Feng NEW
Rodrigues T GarufiArgentinaOnyama Limba RENEWAL
Darci E KuskoUnited KingdomXuxue Feng PROPOSAL
Ivar X PerinJapanStephen Shaw PROPOSAL
Darci P GlickFranceAnna Fali RENEWAL
Salvatore P MaletSpainIoni Bowcher NEGOTIATION
Tony U BriddickFranceBernardo Dominic PROPOSAL
Clifford J WaycottArgentinaBernardo Dominic PROPOSAL
Aditya P WhobreySpainElwin Sharvill UNQUALIFIED
Sinclair X StockhamAustraliaAmy Elsner PROPOSAL
Rodrigues I FlosiUnited KingdomXuxue Feng NEW
Deepesh N OstroskyAustraliaElwin Sharvill QUALIFIED
Kadeem Z GlickUnited KingdomAsiya Javayant PROPOSAL
Leon U FigeroaRussiaIvan Magalhaes NEGOTIATION
Deepesh O AmigonRussiaBernardo Dominic UNQUALIFIED
Aruna B DilliardBrazilIvan Magalhaes NEW
Costa X NickaIndiaAmy Elsner NEW
Isabel T MacleadUnited KingdomStephen Shaw RENEWAL
Mujtaba K NickaIndiaAnna Fali NEW
Darci E ChuiJapanIoni Bowcher NEW
Jennifer N VenereBrazilIoni Bowcher RENEWAL
Ivar L StensethRussiaAsiya Javayant NEW
Mayumi J NestleSpainAnna Fali RENEWAL
Antonio L ShinkoFranceElwin Sharvill NEW
Salvatore F FerenczSpainAsiya Javayant PROPOSAL
Izzy N KolmetzBrazilAsiya Javayant RENEWAL
Kadeem V SergiJapanAnna Fali UNQUALIFIED
Aruna W ChuiFranceStephen Shaw RENEWAL
Adams K ShinkoArgentinaAsiya Javayant NEGOTIATION
Faith D PaprockiArgentinaIvan Magalhaes UNQUALIFIED
Ashley C VenereSpainXuxue Feng NEGOTIATION
Alejandro P AlbaresUnited KingdomXuxue Feng RENEWAL
Claire Y GillianBrazilXuxue Feng NEW
David O DoeJapanXuxue Feng QUALIFIED
Mayumi P ChuiArgentinaStephen Shaw PROPOSAL
Smith H WaycottItalyXuxue Feng RENEWAL
Juan A NestleJapanElwin Sharvill NEW
Isabel F RimArgentinaAmy Elsner QUALIFIED
Arvin E StensethSpainOnyama Limba NEGOTIATION
Maria D StensethBrazilAsiya Javayant 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>