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
Juan X GlickAustraliaIoni Bowcher RENEWAL
Clifford B StockhamSpainIoni Bowcher NEW
Alejandro B RimSpainXuxue Feng UNQUALIFIED
Aika T DarakjyAustraliaIvan Magalhaes RENEWAL
Stacey K WaycottGermanyOnyama Limba UNQUALIFIED
James Y BologniaAustraliaOnyama Limba RENEWAL
Adams X RimBrazilAmy Elsner RENEWAL
Emily Q MaletAustraliaElwin Sharvill PROPOSAL
Leja X SchemmerJapanAnna Fali RENEWAL
Stacey G TollnerRussiaIoni Bowcher QUALIFIED
Costa J GauchoAustraliaAnna Fali NEGOTIATION
Emily T InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Murillo W RutaArgentinaOnyama Limba RENEWAL
Maisha O SchemmerCanadaOnyama Limba NEW
Jennifer T KolmetzCanadaIoni Bowcher NEGOTIATION
Faith J StensethFranceStephen Shaw QUALIFIED
Jeanfrancois R FigeroaJapanOnyama Limba NEW
Francesco R VenereRussiaAnna Fali PROPOSAL
Wickens N InouyeRussiaIoni Bowcher PROPOSAL
Morrow Y MorascaAustraliaIoni Bowcher RENEWAL
Ashley X RoysterSpainOnyama Limba NEW
Aika V RoysterGermanyStephen Shaw NEGOTIATION
Aika U RoysterRussiaAmy Elsner NEGOTIATION
Clifford F BologniaSpainStephen Shaw NEGOTIATION
Nicolas Z FollerFranceOnyama Limba PROPOSAL
Juan M ChuiJapanAnna Fali RENEWAL
Claire M TollnerIndiaIoni Bowcher UNQUALIFIED
Jones Y MaletItalyBernardo Dominic RENEWAL
Silvio N GauchoSpainStephen Shaw QUALIFIED
Adams H FigeroaRussiaAsiya Javayant UNQUALIFIED
Adams E RoysterAustraliaIoni Bowcher RENEWAL
Ricardo Q CaudyItalyIvan Magalhaes RENEWAL
Kadeem F PerinBrazilAmy Elsner QUALIFIED
Claire P CaudySpainOnyama Limba NEW
Julie V WhobreyItalyStephen Shaw NEGOTIATION
James S RulapaughRussiaElwin Sharvill QUALIFIED
Jeanfrancois D TollnerSpainXuxue Feng NEW
Aditya Z WaycottJapanAmy Elsner PROPOSAL
David W DilliardUnited KingdomIoni Bowcher NEW
Alejandro D KolmetzRussiaAsiya Javayant QUALIFIED
Izzy S AmigonCanadaXuxue Feng NEW
James O AmigonSpainIvan Magalhaes NEW
Jefferson L ButtCanadaAmy Elsner NEGOTIATION
Aruna E MaletJapanIoni Bowcher QUALIFIED
Mayumi W MaletSpainOnyama Limba PROPOSAL
Sinclair C AmigonUnited KingdomAsiya Javayant QUALIFIED
Morrow R OstroskyIndiaOnyama Limba PROPOSAL
Adams Y VocelkaGermanyAmy Elsner QUALIFIED
Mujtaba P FlosiGermanyBernardo Dominic NEW
Mayumi U RutaRussiaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois Q PerinCanadaIvan Magalhaes QUALIFIED
Emily N BowleyGermanyAnna Fali NEGOTIATION
Murillo N WaycottAustraliaElwin Sharvill UNQUALIFIED
David X WhobreyBrazilIoni Bowcher UNQUALIFIED
Kaitlin Y CaudyIndiaElwin Sharvill RENEWAL
Darci X PoquetteArgentinaOnyama Limba PROPOSAL
Claire M PaprockiFranceElwin Sharvill PROPOSAL
Wickens J OldroydIndiaXuxue Feng UNQUALIFIED
Isabel E SergiUnited KingdomXuxue Feng RENEWAL
Aika F OstroskyIndiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem E OstroskyUnited Kingdom2026-09-07Feltz Printing Service PROPOSAL43Ioni Bowcher
1001Deepesh H ChuiIndia2026-08-30Chemel, James L Cpa UNQUALIFIED55Stephen Shaw
1002Emily X FollerSpain2026-09-20Benton, John B Jr QUALIFIED40Ioni Bowcher
1003Kadeem F GarufiAustralia2026-09-09Feiner Bros QUALIFIED11Amy Elsner
1004Munro S InouyeCanada2026-09-15Benton, John B Jr NEGOTIATION59Ivan Magalhaes
1005Misaki Z InouyeItaly2026-08-24Rousseaux, Michael Esq PROPOSAL81Bernardo Dominic
1006Francesco N FlosiArgentina2026-09-20King, Christopher A Esq PROPOSAL71Anna Fali
1007Wickens C RutaItaly2026-09-17Buckley Miller Wright NEGOTIATION53Onyama Limba
1008Murillo M BologniaIndia2026-09-18Dorl, James J Esq NEGOTIATION93Anna Fali
1009Costa R SaylorsItaly2026-09-19Chapman, Ross E Esq QUALIFIED54Ivan Magalhaes
1010Deepesh T CampainUnited Kingdom2026-09-13Rousseaux, Michael Esq NEW88Amy Elsner
1011Jones E FlosiIndia2026-09-11Buckley Miller Wright NEW76Ivan Magalhaes
1012Rodrigues I BologniaFrance2026-08-27Chemel, James L Cpa NEW32Bernardo Dominic
1013Izzy T ChuiGermany2026-08-31King, Christopher A Esq UNQUALIFIED44Anna Fali
1014Silvio I RutaJapan2026-09-09Feiner Bros PROPOSAL64Xuxue Feng
1015Mayumi R ShinkoUnited Kingdom2026-09-17Commercial Press NEW80Anna Fali
1016Mayumi S ChuiItaly2026-09-16Feiner Bros NEW83Amy Elsner
1017Costa U DarakjyRussia2026-09-06Rousseaux, Michael Esq QUALIFIED62Onyama Limba
1018Murillo Q FigeroaJapan2026-08-31King, Christopher A Esq PROPOSAL21Amy Elsner
1019Clifford S NickaIndia2026-09-14Chemel, James L Cpa PROPOSAL69Xuxue Feng
1020Rodrigues Q VocelkaRussia2026-09-11Dorl, James J Esq NEW22Xuxue Feng
1021Antonio P WieserRussia2026-09-20Feltz Printing Service UNQUALIFIED84Elwin Sharvill
1022Darci Y OldroydBrazil2026-08-28Chapman, Ross E Esq UNQUALIFIED68Stephen Shaw
1023Leon K RimRussia2026-08-26Printing Dimensions PROPOSAL9Asiya Javayant
1024Maisha B MarrierCanada2026-09-20Chapman, Ross E Esq NEW81Ioni Bowcher
1025Kaitlin W DarakjyRussia2026-09-18Feiner Bros RENEWAL17Onyama Limba
1026Kaitlin W RimAustralia2026-09-02Feiner Bros PROPOSAL11Asiya Javayant
1027Leja T MaletItaly2026-09-02Rangoni Of Florence PROPOSAL83Xuxue Feng
1028Isabel I FigeroaBrazil2026-09-20Printing Dimensions PROPOSAL77Ioni Bowcher
1029Octavia S VenereIndia2026-09-01Feiner Bros NEW54Anna Fali
1030Greenwood B ButtJapan2026-09-19Dorl, James J Esq PROPOSAL9Xuxue Feng
1031Aika J GillianItaly2026-09-21Feiner Bros UNQUALIFIED50Anna Fali
1032Tony I SaylorsItaly2026-09-16Rousseaux, Michael Esq NEW59Onyama Limba
1033Clifford H VocelkaSpain2026-09-18Rousseaux, Michael Esq UNQUALIFIED55Onyama Limba
1034Juan D ButtIndia2026-09-06Buckley Miller Wright PROPOSAL22Ivan Magalhaes
1035Sinclair J MaletArgentina2026-09-20Chapman, Ross E Esq PROPOSAL93Stephen Shaw
1036Murillo T VocelkaJapan2026-09-01Feltz Printing Service UNQUALIFIED42Amy Elsner
1037Emily Q NickaFrance2026-09-09Chemel, James L Cpa RENEWAL42Anna Fali
1038Misaki E MaletCanada2026-08-27Chanay, Jeffrey A Esq UNQUALIFIED62Bernardo Dominic
1039Wickens M BriddickGermany2026-09-08Buckley Miller Wright RENEWAL28Bernardo Dominic
1040Leon Z CampainBrazil2026-08-25Rousseaux, Michael Esq NEW52Asiya Javayant
1041Ricardo H GillianCanada2026-08-29Morlong Associates NEW86Asiya Javayant
1042Deepesh N BowleyCanada2026-09-21Buckley Miller Wright RENEWAL78Amy Elsner
1043Tony R RimSpain2026-09-20Buckley Miller Wright NEW23Amy Elsner
1044Isabel E NickaUnited Kingdom2026-09-12Chapman, Ross E Esq PROPOSAL14Asiya Javayant
1045Tony J GarufiIndia2026-09-09Chanay, Jeffrey A Esq RENEWAL16Ivan Magalhaes
1046Deepesh J PaprockiGermany2026-09-09Printing Dimensions RENEWAL55Elwin Sharvill
1047Alejandro I AlbaresUnited Kingdom2026-09-03Chemel, James L Cpa PROPOSAL59Onyama Limba
1048Ricardo R BologniaFrance2026-09-20Feiner Bros QUALIFIED96Xuxue Feng
1049Wickens Z CaldareraSpain2026-09-13Rousseaux, Michael Esq UNQUALIFIED8Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Murillo H FollerUnited KingdomAmy Elsner PROPOSAL
Deepesh Q ChuiArgentinaOnyama Limba QUALIFIED
Leon H KuskoJapanAsiya Javayant NEGOTIATION
Leon W FigeroaGermanyElwin Sharvill NEGOTIATION
Maria Y AlbaresRussiaAnna Fali QUALIFIED
Julie N NickaRussiaStephen Shaw PROPOSAL
Wickens I WieserSpainXuxue Feng RENEWAL
Isabel L AlbaresArgentinaIoni Bowcher QUALIFIED
Clifford P CaudySpainAnna Fali PROPOSAL
Wickens Z GillianFranceStephen Shaw NEW
Darci T FlosiIndiaStephen Shaw RENEWAL
Murillo P AlbaresArgentinaXuxue Feng NEW
Antonio Z ShinkoUnited KingdomIvan Magalhaes RENEWAL
Kadeem O OldroydUnited KingdomStephen Shaw RENEWAL
Faith Z ButtRussiaXuxue Feng RENEWAL
Aruna W WaycottGermanyIoni Bowcher NEGOTIATION
Mayumi P OldroydIndiaAmy Elsner NEGOTIATION
Aruna E WhobreyGermanyIvan Magalhaes QUALIFIED
Mujtaba N KolmetzJapanBernardo Dominic RENEWAL
Deepesh Y WaycottJapanAsiya Javayant PROPOSAL
Octavia F FollerGermanyElwin Sharvill NEW
Octavia C KuskoFranceXuxue Feng UNQUALIFIED
Morrow C BowleyCanadaElwin Sharvill NEW
Deepesh T RimItalyAmy Elsner NEGOTIATION
Silvio P GauchoSpainAsiya Javayant QUALIFIED
Kaitlin A OstroskyRussiaIvan Magalhaes UNQUALIFIED
Clifford L MacleadCanadaStephen Shaw NEW
Juan G StockhamArgentinaAnna Fali NEGOTIATION
Isabel K AlbaresItalyElwin Sharvill UNQUALIFIED
Arvin T OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Mujtaba C CampainBrazilIoni Bowcher PROPOSAL
Emily D ShinkoGermanyAnna Fali PROPOSAL
Smith M FollerItalyOnyama Limba NEW
Tony R ButtBrazilIvan Magalhaes RENEWAL
Smith B SergiBrazilAsiya Javayant QUALIFIED
Ashley E RoysterBrazilIvan Magalhaes NEGOTIATION
Maisha N MorascaBrazilAsiya Javayant QUALIFIED
Chavez H SergiRussiaAnna Fali UNQUALIFIED
Rodrigues E OldroydCanadaBernardo Dominic UNQUALIFIED
Jefferson R OstroskyFranceAsiya Javayant RENEWAL
Mayumi F WieserArgentinaStephen Shaw NEW
Smith O DilliardRussiaIoni Bowcher RENEWAL
Tony N DilliardBrazilAmy Elsner QUALIFIED
Rodrigues J ChuiAustraliaIoni Bowcher QUALIFIED
Sinclair P CaudyUnited KingdomElwin Sharvill QUALIFIED
Cody K RoysterJapanBernardo Dominic NEGOTIATION
Octavia U FlosiFranceIvan Magalhaes RENEWAL
Deepesh X RutaSpainXuxue Feng UNQUALIFIED
Murillo G KuskoFranceIoni Bowcher QUALIFIED
Arvin Y BologniaSpainIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Isabel G Marrier
Chavez E Gaucho
Ricardo M Whobrey
James Y Sergi
Aditya X Malet
Jones H Schemmer
Johnson O Butt
Ashley C Campain
Nicolas D Venere
Jones S Vocelka
Claire V Inouye
Cody U Chui
Deepesh A Amigon
Isabel M Amigon
Wickens Y Albares
Deepesh A Nicka
Leon O Inouye
Munro M Garufi
Leon Q Gaucho
Leon X Rulapaugh
Silvio G Schemmer
Mujtaba X Figeroa
Munro Q Waycott
Isabel B Morasca
Francesco E Amigon
Johnson U Tollner
Greenwood J Briddick
Clifford X Figeroa
Tony H Caldarera
Johnson R Ostrosky
Claire F Nicka
Costa X Nestle
Rodrigues X Doe
Aditya O Tollner
Jennifer H Sergi
Leon Z Rulapaugh
Kadeem T Chui
Munro P Saylors
Silvio Q Glick
Antonio L Caudy
Izzy R Caudy
Wickens M Ostrosky
Misaki D Gillian
Stacey B Butt
Isabel I Ferencz
Silvio P Rim
Faith D Amigon
Francesco R Gaucho
Kaitlin L Campain
Tony F Doe
IdCountryDate
1000Japan2026-09-07
1001Canada2026-08-31
1002Argentina2026-08-29
1003Australia2026-09-20
1004Australia2026-09-01
1005France2026-08-27
1006Argentina2026-09-19
1007India2026-09-15
1008United Kingdom2026-09-16
1009Russia2026-09-07
1010Spain2026-09-13
1011France2026-09-12
1012France2026-08-31
1013France2026-09-12
1014Germany2026-09-01
1015Italy2026-09-06
1016Germany2026-09-13
1017Japan2026-09-19
1018Argentina2026-08-30
1019Germany2026-08-30
1020France2026-09-04
1021Australia2026-09-19
1022Germany2026-09-08
1023United Kingdom2026-08-25
1024Argentina2026-09-14
1025Japan2026-09-08
1026Italy2026-09-06
1027Spain2026-08-25
1028Canada2026-09-18
1029Spain2026-09-22
1030France2026-09-22
1031Russia2026-08-29
1032France2026-09-19
1033Italy2026-09-08
1034Australia2026-08-26
1035Japan2026-09-17
1036Australia2026-09-16
1037Spain2026-09-19
1038Canada2026-09-02
1039Russia2026-09-08
1040United Kingdom2026-08-29
1041Brazil2026-09-06
1042Germany2026-09-14
1043Canada2026-09-15
1044Spain2026-09-03
1045Japan2026-09-08
1046France2026-09-07
1047Japan2026-09-18
1048Australia2026-09-12
1049Canada2026-08-31

On-Demand Data

NameIdCountryDate
Emily J Morasca1000Argentina2026-08-24
Jennifer F Figeroa1001Russia2026-09-08
Emily T Flosi1002India2026-09-02
Smith B Dilliard1003Argentina2026-09-12
Emily E Figeroa1004France2026-08-28
Cody A Chui1005Russia2026-09-10
Arvin I Bolognia1006United Kingdom2026-09-12
Octavia L Kusko1007Italy2026-09-07
Leon J Foller1008Australia2026-08-24
Jennifer U Garufi1009Spain2026-09-06
Wickens G Dilliard1010India2026-08-27
David I Albares1011Argentina2026-08-24
Ricardo M Caldarera1012Canada2026-08-30
Stacey K Morasca1013United Kingdom2026-09-01
Alejandro O Campain1014Germany2026-09-18
Chavez J Whobrey1015Japan2026-09-05
Adams K Nestle1016Japan2026-09-13
Silvio C Foller1017Germany2026-09-13
Costa J Foller1018Japan2026-09-12
Murillo O Saylors1019Germany2026-09-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Z AmigonJapanXuxue Feng QUALIFIED
Sinclair Q StensethItalyAnna Fali PROPOSAL
Jones C OstroskyFranceAnna Fali QUALIFIED
Tony Q OstroskyBrazilIoni Bowcher PROPOSAL
Clifford W StensethItalyElwin Sharvill UNQUALIFIED
Jones C SchemmerGermanyStephen Shaw QUALIFIED
Leja O AmigonAustraliaAmy Elsner PROPOSAL
Faith H VenereUnited KingdomAmy Elsner UNQUALIFIED
Cody M ChuiUnited KingdomAmy Elsner QUALIFIED
Cody Q VenereArgentinaAmy Elsner QUALIFIED
Claire L AlbaresFranceAsiya Javayant PROPOSAL
Darci R OldroydGermanyOnyama Limba RENEWAL
Salvatore T WhobreyCanadaAmy Elsner NEW
Sinclair Z DoeBrazilAmy Elsner NEGOTIATION
Salvatore L GauchoGermanyStephen Shaw PROPOSAL
Johnson Q MarrierItalyStephen Shaw NEW
Aruna A OldroydArgentinaAmy Elsner NEGOTIATION
Tony M RulapaughIndiaIoni Bowcher UNQUALIFIED
Octavia W SergiFranceAmy Elsner RENEWAL
Tony J AmigonCanadaIoni Bowcher UNQUALIFIED
Tony E NickaFranceIvan Magalhaes NEW
Misaki D NestleAustraliaElwin Sharvill PROPOSAL
Salvatore R MaletAustraliaOnyama Limba PROPOSAL
Maisha D SaylorsJapanAsiya Javayant NEW
Wickens T MaletRussiaStephen Shaw NEGOTIATION
Tony Y FollerUnited KingdomAnna Fali PROPOSAL
James D TollnerUnited KingdomStephen Shaw UNQUALIFIED
Francesco T WhobreySpainIoni Bowcher QUALIFIED
Morrow H RutaArgentinaBernardo Dominic RENEWAL
Maria L PerinItalyStephen Shaw UNQUALIFIED
Mayumi W AlbaresAustraliaElwin Sharvill NEGOTIATION
Aditya S FerenczIndiaXuxue Feng UNQUALIFIED
Smith A FigeroaGermanyXuxue Feng NEGOTIATION
Claire M GarufiIndiaAmy Elsner NEGOTIATION
Johnson L DarakjyBrazilIvan Magalhaes NEW
Maisha X RulapaughArgentinaIoni Bowcher UNQUALIFIED
Adams H PerinFranceIoni Bowcher UNQUALIFIED
Stacey Q BriddickBrazilOnyama Limba QUALIFIED
Jeanfrancois D GarufiGermanyOnyama Limba QUALIFIED
Cody S MorascaSpainXuxue Feng RENEWAL

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