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
Aika Z GillianRussiaAsiya Javayant RENEWAL
Leon D BriddickSpainAmy Elsner NEW
Clifford I MaletCanadaXuxue Feng NEGOTIATION
Juan R VocelkaIndiaAmy Elsner NEGOTIATION
Salvatore A KuskoBrazilBernardo Dominic PROPOSAL
Nicolas V MacleadFranceIvan Magalhaes NEGOTIATION
Isabel M SchemmerCanadaAmy Elsner RENEWAL
Chavez Y InouyeGermanyAsiya Javayant NEW
Faith Q RulapaughItalyStephen Shaw UNQUALIFIED
Chavez J PerinRussiaIoni Bowcher NEW
Darci H FigeroaBrazilStephen Shaw QUALIFIED
David A MorascaUnited KingdomIoni Bowcher RENEWAL
Emily O CaldareraGermanyXuxue Feng PROPOSAL
Nicolas F SlusarskiArgentinaElwin Sharvill QUALIFIED
Munro P ShinkoItalyAnna Fali NEGOTIATION
Juan R RutaFranceXuxue Feng PROPOSAL
Jefferson Q StensethJapanElwin Sharvill PROPOSAL
Nicolas B BologniaAustraliaAmy Elsner PROPOSAL
Ashley E GauchoUnited KingdomIoni Bowcher NEW
Clifford X FerenczItalyBernardo Dominic QUALIFIED
Rodrigues T DilliardCanadaIvan Magalhaes RENEWAL
Jeanfrancois R SlusarskiCanadaOnyama Limba PROPOSAL
Jefferson O StensethJapanOnyama Limba NEGOTIATION
Jefferson I NickaIndiaXuxue Feng QUALIFIED
Adams V GlickBrazilXuxue Feng NEGOTIATION
Misaki G GarufiRussiaAnna Fali NEW
Chavez Y OldroydRussiaAsiya Javayant QUALIFIED
Mayumi R DoeJapanElwin Sharvill PROPOSAL
Isabel E GillianFranceStephen Shaw NEW
Ashley J RutaAustraliaElwin Sharvill UNQUALIFIED
Antonio D KolmetzCanadaAmy Elsner NEW
Leja S VenereRussiaIvan Magalhaes NEW
Johnson X WieserItalyIvan Magalhaes RENEWAL
Emily R DoeFranceOnyama Limba NEGOTIATION
Clifford V MorascaSpainIvan Magalhaes QUALIFIED
Juan J TollnerJapanStephen Shaw NEGOTIATION
Emily M MaletJapanIoni Bowcher PROPOSAL
Emily O SlusarskiBrazilAmy Elsner NEGOTIATION
Salvatore F BriddickAustraliaXuxue Feng PROPOSAL
Misaki E StockhamCanadaAnna Fali NEW
Deepesh Q CaldareraRussiaIoni Bowcher PROPOSAL
Emily A FigeroaBrazilStephen Shaw NEW
Ashley T SergiFranceAnna Fali RENEWAL
Julie V NestleCanadaStephen Shaw RENEWAL
Jeanfrancois R ShinkoIndiaElwin Sharvill QUALIFIED
Costa T SlusarskiUnited KingdomXuxue Feng RENEWAL
Jeanfrancois S SergiUnited KingdomAnna Fali PROPOSAL
Kaitlin N WhobreyFranceElwin Sharvill NEW
Claire C VocelkaArgentinaBernardo Dominic RENEWAL
Jeanfrancois E VenereArgentinaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin R SlusarskiAustraliaAsiya Javayant RENEWAL
Morrow Y ShinkoJapanIoni Bowcher QUALIFIED
Francesco U GauchoCanadaAmy Elsner PROPOSAL
Chavez R RutaItalyIoni Bowcher PROPOSAL
Darci X InouyeGermanyIvan Magalhaes QUALIFIED
Juan R NickaGermanyOnyama Limba PROPOSAL
Jeanfrancois Z RutaBrazilOnyama Limba PROPOSAL
Cody K MorascaBrazilAnna Fali NEW
Mujtaba W MaletBrazilAmy Elsner PROPOSAL
Kaitlin I StockhamItalyIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer G OstroskyJapan2026-08-31Benton, John B Jr PROPOSAL87Elwin Sharvill
1001Murillo L MaletIndia2026-09-27Feiner Bros NEGOTIATION48Elwin Sharvill
1002Leon E OldroydJapan2026-09-06Morlong Associates QUALIFIED64Onyama Limba
1003Claire C TollnerSpain2026-09-20Chapman, Ross E Esq PROPOSAL3Bernardo Dominic
1004Arvin Z FigeroaIndia2026-09-23Dorl, James J Esq NEW57Bernardo Dominic
1005Stacey Q RoysterCanada2026-09-23Dorl, James J Esq UNQUALIFIED25Bernardo Dominic
1006Faith R WaycottArgentina2026-09-06King, Christopher A Esq RENEWAL84Stephen Shaw
1007Mayumi I ChuiUnited Kingdom2026-09-09Printing Dimensions NEGOTIATION1Xuxue Feng
1008Maisha D OldroydCanada2026-09-16Rangoni Of Florence NEGOTIATION47Xuxue Feng
1009Mayumi N AmigonGermany2026-09-23Benton, John B Jr RENEWAL80Stephen Shaw
1010Salvatore Y RoysterAustralia2026-09-26Rangoni Of Florence RENEWAL93Anna Fali
1011Faith B BowleyCanada2026-09-03Feiner Bros NEGOTIATION54Ioni Bowcher
1012Rodrigues J MacleadUnited Kingdom2026-09-20Feltz Printing Service UNQUALIFIED27Elwin Sharvill
1013Chavez V KolmetzGermany2026-09-18Benton, John B Jr QUALIFIED95Onyama Limba
1014Kaitlin W ChuiUnited Kingdom2026-09-25Feiner Bros RENEWAL49Xuxue Feng
1015Jefferson B RutaBrazil2026-09-11Benton, John B Jr UNQUALIFIED88Stephen Shaw
1016Faith Q ShinkoArgentina2026-09-25Morlong Associates PROPOSAL15Stephen Shaw
1017Aruna E VenereFrance2026-09-05Truhlar And Truhlar Attys RENEWAL83Ivan Magalhaes
1018Costa U GlickUnited Kingdom2026-09-14Rangoni Of Florence NEGOTIATION61Xuxue Feng
1019Jefferson G GlickFrance2026-09-19Rousseaux, Michael Esq NEGOTIATION9Asiya Javayant
1020Greenwood A SchemmerAustralia2026-09-06Truhlar And Truhlar Attys QUALIFIED6Bernardo Dominic
1021Sinclair U RoysterItaly2026-09-18Buckley Miller Wright UNQUALIFIED92Asiya Javayant
1022Maria Y GauchoGermany2026-09-01Benton, John B Jr QUALIFIED11Onyama Limba
1023Aika P CaudyJapan2026-09-19Printing Dimensions PROPOSAL5Asiya Javayant
1024Leon W RutaArgentina2026-09-23Morlong Associates QUALIFIED59Bernardo Dominic
1025Chavez T InouyeSpain2026-09-03Printing Dimensions NEGOTIATION18Ioni Bowcher
1026Jennifer J PoquetteCanada2026-09-02Rousseaux, Michael Esq PROPOSAL92Ioni Bowcher
1027Juan H VocelkaRussia2026-09-07Commercial Press NEW28Xuxue Feng
1028Kadeem U RoysterBrazil2026-09-28Buckley Miller Wright QUALIFIED35Stephen Shaw
1029Silvio V KuskoBrazil2026-09-09Dorl, James J Esq NEGOTIATION64Bernardo Dominic
1030Rodrigues K WieserArgentina2026-09-03Truhlar And Truhlar Attys UNQUALIFIED7Onyama Limba
1031Aruna D WaycottRussia2026-09-04Benton, John B Jr NEW71Amy Elsner
1032Misaki D CampainBrazil2026-09-17Dorl, James J Esq RENEWAL31Ioni Bowcher
1033Salvatore E OstroskyAustralia2026-09-26Printing Dimensions QUALIFIED63Amy Elsner
1034Jones Z GauchoItaly2026-09-18Chapman, Ross E Esq RENEWAL3Asiya Javayant
1035Claire U FigeroaGermany2026-09-22Rousseaux, Michael Esq NEW65Anna Fali
1036Johnson M CampainJapan2026-09-24Chanay, Jeffrey A Esq UNQUALIFIED73Ivan Magalhaes
1037Jefferson Y InouyeBrazil2026-09-19King, Christopher A Esq RENEWAL57Elwin Sharvill
1038Rodrigues F MaletItaly2026-09-28Buckley Miller Wright NEGOTIATION88Xuxue Feng
1039Misaki L KuskoFrance2026-09-01Chapman, Ross E Esq PROPOSAL84Stephen Shaw
1040Deepesh V FigeroaUnited Kingdom2026-09-02Morlong Associates RENEWAL6Asiya Javayant
1041Nicolas P SchemmerCanada2026-09-11Feltz Printing Service QUALIFIED19Ioni Bowcher
1042James G WieserRussia2026-09-11Morlong Associates NEGOTIATION39Ioni Bowcher
1043Mayumi I AlbaresAustralia2026-09-23Buckley Miller Wright PROPOSAL23Onyama Limba
1044James A FlosiItaly2026-09-11Feltz Printing Service PROPOSAL0Amy Elsner
1045Darci G CaldareraSpain2026-09-28Morlong Associates NEGOTIATION32Elwin Sharvill
1046Clifford T CaldareraRussia2026-09-08Dorl, James J Esq QUALIFIED60Bernardo Dominic
1047Ashley Q InouyeArgentina2026-09-11Feltz Printing Service RENEWAL81Xuxue Feng
1048Silvio Y BologniaUnited Kingdom2026-09-17Feiner Bros QUALIFIED58Asiya Javayant
1049Faith Q PoquetteFrance2026-09-08Morlong Associates NEGOTIATION94Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Wickens Q CampainRussiaAnna Fali RENEWAL
Darci Z BologniaSpainIoni Bowcher NEW
Costa P FlosiCanadaXuxue Feng RENEWAL
Isabel C NickaSpainBernardo Dominic UNQUALIFIED
Sinclair T VocelkaGermanyAmy Elsner NEW
Aika L ButtIndiaAmy Elsner NEGOTIATION
Chavez Q FigeroaGermanyIvan Magalhaes NEW
Aika R OldroydJapanBernardo Dominic QUALIFIED
Mujtaba L WaycottCanadaOnyama Limba NEW
Mujtaba N GillianUnited KingdomOnyama Limba NEGOTIATION
Nicolas M AlbaresArgentinaAnna Fali UNQUALIFIED
Darci Y WhobreyGermanyIvan Magalhaes NEW
Aruna G FlosiFranceAmy Elsner PROPOSAL
Murillo Q NestleJapanAnna Fali QUALIFIED
Maria N GillianAustraliaIvan Magalhaes RENEWAL
Alejandro X GlickAustraliaIoni Bowcher PROPOSAL
Maria S MacleadCanadaAmy Elsner PROPOSAL
Izzy R InouyeCanadaIoni Bowcher RENEWAL
Faith G KuskoCanadaBernardo Dominic PROPOSAL
Claire V GillianCanadaAsiya Javayant PROPOSAL
Misaki H MaletAustraliaOnyama Limba QUALIFIED
Ricardo E AmigonItalyElwin Sharvill RENEWAL
Jeanfrancois W KolmetzRussiaAmy Elsner NEGOTIATION
Jeanfrancois N RulapaughArgentinaXuxue Feng PROPOSAL
Misaki J ButtUnited KingdomAnna Fali NEW
Ashley D GauchoItalyIvan Magalhaes UNQUALIFIED
Darci P DoeCanadaBernardo Dominic PROPOSAL
Johnson E GlickJapanBernardo Dominic RENEWAL
Aditya N OldroydJapanIoni Bowcher NEW
Tony Y ButtJapanIoni Bowcher UNQUALIFIED
Julie U StockhamUnited KingdomBernardo Dominic RENEWAL
Jeanfrancois L MaletItalyStephen Shaw NEW
Mayumi H OstroskyCanadaXuxue Feng UNQUALIFIED
Mujtaba R OstroskySpainAnna Fali UNQUALIFIED
David T RutaGermanyIvan Magalhaes NEGOTIATION
Emily Y VenereFranceElwin Sharvill PROPOSAL
David T GillianIndiaIoni Bowcher UNQUALIFIED
Greenwood J WaycottCanadaBernardo Dominic NEGOTIATION
Mujtaba N TollnerRussiaXuxue Feng RENEWAL
Jennifer P GillianBrazilIvan Magalhaes NEW
Faith D SchemmerItalyIvan Magalhaes UNQUALIFIED
Johnson G RoysterBrazilAmy Elsner RENEWAL
Faith T WieserSpainOnyama Limba UNQUALIFIED
Claire J FlosiUnited KingdomOnyama Limba NEGOTIATION
Antonio Y RimIndiaElwin Sharvill RENEWAL
Aruna N FerenczItalyStephen Shaw PROPOSAL
Jones I FerenczIndiaIoni Bowcher PROPOSAL
Murillo A AlbaresJapanAmy Elsner UNQUALIFIED
Costa C GillianSpainOnyama Limba PROPOSAL
Isabel L PerinSpainBernardo Dominic NEGOTIATION
Frozen Columns
Name
Tony C Saylors
Jeanfrancois T Morasca
Morrow U Schemmer
Aruna H Gillian
Rodrigues Y Gillian
Greenwood T Inouye
Maisha W Campain
Murillo W Kusko
Kadeem U Nicka
Alejandro I Saylors
James O Doe
Emily H Bowley
Faith I Rim
James U Malet
Costa S Shinko
Aditya U Kusko
Aika I Ruta
Rodrigues J Saylors
Wickens H Whobrey
Juan N Butt
Kadeem S Shinko
Salvatore B Butt
Maria K Doe
Chavez U Rulapaugh
Costa Y Tollner
Cody J Marrier
Greenwood C Waycott
Darci J Poquette
Aika A Stockham
Leon B Flosi
Clifford B Foller
Nicolas X Amigon
Ricardo G Malet
Morrow R Morasca
Ashley F Marrier
Faith G Slusarski
Misaki P Venere
Salvatore J Nicka
Isabel P Glick
Rodrigues X Morasca
Wickens E Albares
Salvatore V Bolognia
Antonio K Garufi
Greenwood C Sergi
Cody O Saylors
Wickens R Malet
Leja Q Waycott
Stacey P Darakjy
Stacey Z Campain
Aruna B Stockham
IdCountryDate
1000Japan2026-09-25
1001France2026-09-25
1002Brazil2026-09-26
1003Canada2026-09-06
1004Germany2026-09-11
1005United Kingdom2026-09-05
1006Russia2026-09-15
1007Japan2026-09-08
1008Russia2026-09-05
1009Argentina2026-09-04
1010Italy2026-09-12
1011Spain2026-09-01
1012Germany2026-09-10
1013Canada2026-09-07
1014Russia2026-09-25
1015Canada2026-09-04
1016Australia2026-09-09
1017Canada2026-09-03
1018United Kingdom2026-09-19
1019Spain2026-09-09
1020Germany2026-09-01
1021Spain2026-09-20
1022Canada2026-09-13
1023Brazil2026-09-22
1024Italy2026-09-17
1025Australia2026-09-01
1026Italy2026-09-12
1027Italy2026-09-06
1028Spain2026-09-29
1029Japan2026-08-31
1030Brazil2026-09-19
1031Argentina2026-09-28
1032India2026-09-25
1033Russia2026-09-27
1034Italy2026-09-16
1035Brazil2026-09-16
1036India2026-09-06
1037India2026-09-08
1038Brazil2026-09-27
1039Spain2026-09-14
1040Italy2026-09-06
1041Australia2026-09-20
1042France2026-09-14
1043Canada2026-09-01
1044India2026-09-15
1045Russia2026-09-03
1046India2026-09-14
1047India2026-09-22
1048Russia2026-09-12
1049France2026-09-13

On-Demand Data

NameIdCountryDate
Alejandro Y Bowley1000Russia2026-09-04
Octavia H Royster1001Russia2026-09-01
Leja T Ruta1002Italy2026-09-11
Leja P Ferencz1003India2026-09-17
Silvio D Ferencz1004Spain2026-09-11
Jefferson W Gillian1005France2026-09-14
Ricardo M Albares1006United Kingdom2026-09-04
Wickens P Caudy1007Spain2026-09-07
Leja T Venere1008Brazil2026-09-19
Izzy S Gaucho1009Australia2026-09-11
Salvatore O Malet1010Canada2026-09-25
Misaki Q Stenseth1011Japan2026-09-15
Ivar W Dilliard1012India2026-09-29
Deepesh C Saylors1013Spain2026-09-25
Maria S Venere1014Australia2026-09-23
Clifford Z Ostrosky1015France2026-09-06
Johnson R Figeroa1016Italy2026-09-10
Jones P Foller1017Australia2026-09-24
Antonio P Vocelka1018Russia2026-09-21
Arvin E Marrier1019Japan2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony J OldroydSpainAsiya Javayant QUALIFIED
Stacey U BriddickRussiaStephen Shaw QUALIFIED
Misaki C PerinItalyAmy Elsner NEW
Kadeem G MaletUnited KingdomIvan Magalhaes RENEWAL
Izzy X FigeroaJapanStephen Shaw NEGOTIATION
Adams I OstroskyIndiaOnyama Limba PROPOSAL
Antonio R GauchoAustraliaXuxue Feng NEGOTIATION
Misaki A MacleadRussiaAsiya Javayant PROPOSAL
Silvio J CaldareraGermanyXuxue Feng NEW
Clifford R BowleyIndiaElwin Sharvill UNQUALIFIED
Faith G ButtSpainElwin Sharvill RENEWAL
Maisha H CampainItalyAnna Fali NEW
Francesco R KuskoJapanAmy Elsner PROPOSAL
Sinclair G BowleyRussiaElwin Sharvill PROPOSAL
Ivar A RoysterGermanyIoni Bowcher RENEWAL
Octavia S GarufiJapanStephen Shaw PROPOSAL
James S OldroydArgentinaBernardo Dominic NEGOTIATION
Ricardo N CaudyItalyStephen Shaw RENEWAL
Deepesh R BowleySpainAmy Elsner NEW
David Z SlusarskiSpainIvan Magalhaes NEW
Claire M RimAustraliaBernardo Dominic UNQUALIFIED
Mayumi G FlosiJapanStephen Shaw NEGOTIATION
Johnson R StensethGermanyIoni Bowcher RENEWAL
Maria K MaletUnited KingdomAsiya Javayant UNQUALIFIED
Leon Z ButtItalyStephen Shaw UNQUALIFIED
Antonio H MarrierItalyIvan Magalhaes UNQUALIFIED
Nicolas D SergiJapanStephen Shaw NEGOTIATION
Leja S CaudyIndiaBernardo Dominic PROPOSAL
Mujtaba A FigeroaGermanyElwin Sharvill QUALIFIED
Emily K RulapaughCanadaAsiya Javayant QUALIFIED
Stacey J BriddickSpainXuxue Feng UNQUALIFIED
Smith Y SaylorsAustraliaStephen Shaw UNQUALIFIED
Rodrigues Y VocelkaGermanyElwin Sharvill QUALIFIED
Ricardo B KolmetzCanadaIvan Magalhaes NEGOTIATION
Misaki F CaldareraIndiaBernardo Dominic NEGOTIATION
Aika E BologniaBrazilIoni Bowcher QUALIFIED
Kaitlin O PerinFranceOnyama Limba UNQUALIFIED
Nicolas F BriddickBrazilIoni Bowcher PROPOSAL
Cody J AlbaresArgentinaXuxue Feng PROPOSAL
Kaitlin U SaylorsItalyIoni Bowcher 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>