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
Stacey U FlosiJapanAnna Fali NEGOTIATION
Misaki E CampainIndiaAnna Fali QUALIFIED
Clifford Y TollnerIndiaElwin Sharvill NEGOTIATION
Greenwood J VocelkaAustraliaOnyama Limba PROPOSAL
Silvio J CampainJapanElwin Sharvill PROPOSAL
Francesco K PaprockiFranceAsiya Javayant PROPOSAL
Jefferson V RimAustraliaIoni Bowcher NEW
Silvio J IturbideArgentinaBernardo Dominic NEGOTIATION
Sinclair P DarakjyArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois Z MaletIndiaElwin Sharvill NEGOTIATION
Jennifer V FigeroaFranceAnna Fali QUALIFIED
Jones X SlusarskiCanadaAmy Elsner NEGOTIATION
Emily R SaylorsJapanElwin Sharvill QUALIFIED
Darci V RoysterArgentinaElwin Sharvill PROPOSAL
Ivar Y OstroskyJapanIoni Bowcher UNQUALIFIED
Deepesh K DarakjyJapanBernardo Dominic QUALIFIED
Costa D VenereAustraliaIoni Bowcher PROPOSAL
Maria Z PoquetteFranceStephen Shaw QUALIFIED
Misaki V RoysterJapanOnyama Limba NEGOTIATION
Ashley Q TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Octavia F FerenczSpainElwin Sharvill UNQUALIFIED
Salvatore R RutaCanadaBernardo Dominic NEW
Izzy W FerenczCanadaAmy Elsner UNQUALIFIED
Isabel O FlosiGermanyStephen Shaw NEGOTIATION
Izzy E VenereItalyAnna Fali NEW
Leja F PerinAustraliaOnyama Limba NEW
Chavez P CaudyCanadaXuxue Feng QUALIFIED
Costa J GauchoItalyElwin Sharvill RENEWAL
Adams V FlosiIndiaStephen Shaw NEW
Ashley P SlusarskiArgentinaAsiya Javayant UNQUALIFIED
Cody S StockhamUnited KingdomStephen Shaw NEGOTIATION
Greenwood L SergiBrazilIoni Bowcher PROPOSAL
Munro L WhobreyBrazilAmy Elsner UNQUALIFIED
Antonio X MorascaSpainAmy Elsner RENEWAL
Greenwood O BowleyJapanStephen Shaw RENEWAL
Mujtaba U DarakjyFranceBernardo Dominic RENEWAL
Sinclair A SergiJapanOnyama Limba UNQUALIFIED
Jefferson N BologniaArgentinaIoni Bowcher PROPOSAL
Jeanfrancois C AlbaresBrazilXuxue Feng NEGOTIATION
Jennifer T GarufiUnited KingdomElwin Sharvill NEW
Jefferson U FlosiArgentinaAnna Fali RENEWAL
Aruna W FigeroaSpainAmy Elsner UNQUALIFIED
Chavez G FerenczIndiaBernardo Dominic RENEWAL
Tony L MarrierRussiaOnyama Limba QUALIFIED
Ivar S DarakjyBrazilAsiya Javayant NEGOTIATION
James Z SchemmerArgentinaIvan Magalhaes PROPOSAL
Ashley J DilliardIndiaAnna Fali NEW
Francesco L BriddickJapanAmy Elsner QUALIFIED
Darci C KolmetzGermanyOnyama Limba PROPOSAL
Antonio D OstroskyItalyAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood D FigeroaJapanStephen Shaw QUALIFIED
Octavia B RoysterArgentinaIoni Bowcher PROPOSAL
Izzy Q StockhamBrazilIoni Bowcher NEW
David P GauchoArgentinaStephen Shaw NEGOTIATION
Mujtaba G RutaAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba H AmigonSpainBernardo Dominic NEW
Nicolas P PaprockiAustraliaBernardo Dominic NEW
Rodrigues A StockhamAustraliaAsiya Javayant NEGOTIATION
Costa Y BriddickRussiaXuxue Feng NEGOTIATION
James Q BriddickFranceAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow F MaletRussia2026-10-15Printing Dimensions QUALIFIED84Bernardo Dominic
1001Costa J MacleadAustralia2026-10-12Dorl, James J Esq RENEWAL85Anna Fali
1002Smith T SergiRussia2026-11-02Commercial Press RENEWAL87Anna Fali
1003Jones C GillianIndia2026-10-20Commercial Press PROPOSAL69Asiya Javayant
1004Costa O BowleyJapan2026-11-03Truhlar And Truhlar Attys NEW53Bernardo Dominic
1005Silvio B SchemmerItaly2026-10-18Chanay, Jeffrey A Esq QUALIFIED74Ioni Bowcher
1006Isabel Y CaldareraIndia2026-10-11Commercial Press RENEWAL83Bernardo Dominic
1007Tony Z RoysterBrazil2026-10-22Rousseaux, Michael Esq NEW85Stephen Shaw
1008Jeanfrancois T DilliardUnited Kingdom2026-10-23Feltz Printing Service RENEWAL34Asiya Javayant
1009Wickens F WieserJapan2026-10-24Dorl, James J Esq UNQUALIFIED17Onyama Limba
1010Ricardo O SlusarskiAustralia2026-10-30Rousseaux, Michael Esq NEW67Amy Elsner
1011Kaitlin Q WhobreyJapan2026-10-31King, Christopher A Esq PROPOSAL9Stephen Shaw
1012Claire H GillianBrazil2026-10-15Truhlar And Truhlar Attys UNQUALIFIED91Amy Elsner
1013Darci E DilliardItaly2026-11-01Dorl, James J Esq QUALIFIED79Asiya Javayant
1014Stacey Q FlosiArgentina2026-10-27Morlong Associates UNQUALIFIED6Stephen Shaw
1015Francesco G PerinGermany2026-10-20King, Christopher A Esq QUALIFIED56Ioni Bowcher
1016Leja C StensethSpain2026-10-07King, Christopher A Esq NEW65Xuxue Feng
1017Jennifer F MaletSpain2026-10-23Rousseaux, Michael Esq NEGOTIATION20Ivan Magalhaes
1018Silvio F PerinBrazil2026-10-22Chemel, James L Cpa QUALIFIED50Anna Fali
1019Aditya S SaylorsItaly2026-10-09Morlong Associates PROPOSAL7Ivan Magalhaes
1020Darci U CaldareraCanada2026-10-16Feiner Bros UNQUALIFIED32Onyama Limba
1021Arvin Z RoysterIndia2026-10-17Buckley Miller Wright PROPOSAL97Bernardo Dominic
1022Juan P PaprockiIndia2026-10-28Rangoni Of Florence QUALIFIED38Asiya Javayant
1023Kadeem G RulapaughJapan2026-10-12Dorl, James J Esq RENEWAL31Ivan Magalhaes
1024Julie G GlickRussia2026-10-10Chapman, Ross E Esq RENEWAL18Amy Elsner
1025Jennifer K NestleJapan2026-10-25Printing Dimensions NEGOTIATION86Ioni Bowcher
1026Clifford G GlickItaly2026-10-19Printing Dimensions PROPOSAL16Amy Elsner
1027Izzy J NestleSpain2026-10-23Dorl, James J Esq RENEWAL8Elwin Sharvill
1028Isabel K StensethRussia2026-10-22Dorl, James J Esq PROPOSAL74Onyama Limba
1029Antonio Z StockhamUnited Kingdom2026-10-13Printing Dimensions NEGOTIATION40Xuxue Feng
1030Ivar H OstroskySpain2026-11-03Chanay, Jeffrey A Esq PROPOSAL5Stephen Shaw
1031Mujtaba E FerenczBrazil2026-10-17King, Christopher A Esq NEW42Asiya Javayant
1032Johnson H FerenczRussia2026-10-09Commercial Press NEW26Elwin Sharvill
1033Octavia O AmigonRussia2026-10-25Feiner Bros NEGOTIATION78Xuxue Feng
1034Arvin B StockhamRussia2026-10-29Morlong Associates QUALIFIED67Amy Elsner
1035Greenwood Q StockhamIndia2026-10-25Commercial Press UNQUALIFIED12Anna Fali
1036Jones C OldroydFrance2026-10-08King, Christopher A Esq NEW12Asiya Javayant
1037Octavia H OldroydJapan2026-10-15Rangoni Of Florence NEW53Ivan Magalhaes
1038Juan C MarrierIndia2026-10-31Buckley Miller Wright PROPOSAL56Anna Fali
1039Adams P SlusarskiAustralia2026-10-31Buckley Miller Wright NEW53Elwin Sharvill
1040Darci N DilliardRussia2026-10-20Commercial Press QUALIFIED24Elwin Sharvill
1041Jones A ChuiIndia2026-10-12Morlong Associates RENEWAL99Onyama Limba
1042Aditya R SchemmerCanada2026-10-19Rousseaux, Michael Esq QUALIFIED72Ivan Magalhaes
1043Leon E ButtIndia2026-10-16Printing Dimensions PROPOSAL48Ioni Bowcher
1044James O RulapaughItaly2026-10-31Chanay, Jeffrey A Esq NEW62Xuxue Feng
1045David U RutaGermany2026-10-09Chapman, Ross E Esq QUALIFIED3Amy Elsner
1046Claire T RulapaughBrazil2026-11-03Chapman, Ross E Esq PROPOSAL10Ioni Bowcher
1047Aditya C OstroskyGermany2026-10-15Chapman, Ross E Esq PROPOSAL9Onyama Limba
1048Johnson N MarrierUnited Kingdom2026-10-21Printing Dimensions QUALIFIED4Onyama Limba
1049Rodrigues M MacleadRussia2026-10-23Chemel, James L Cpa PROPOSAL82Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Izzy H OstroskySpainElwin Sharvill NEW
Salvatore Y SlusarskiItalyIoni Bowcher NEGOTIATION
Cody U OldroydFranceIvan Magalhaes NEGOTIATION
Mayumi L SergiBrazilIoni Bowcher NEW
Jefferson B GillianIndiaXuxue Feng PROPOSAL
Francesco H WieserSpainAsiya Javayant QUALIFIED
Deepesh B WaycottRussiaXuxue Feng UNQUALIFIED
Nicolas I GillianIndiaIvan Magalhaes UNQUALIFIED
Salvatore I WaycottRussiaIoni Bowcher QUALIFIED
Greenwood J GlickRussiaXuxue Feng RENEWAL
Kadeem K CampainJapanStephen Shaw PROPOSAL
Morrow U FlosiCanadaIoni Bowcher QUALIFIED
Munro U StensethGermanyIoni Bowcher PROPOSAL
Johnson K OstroskySpainXuxue Feng NEGOTIATION
Mujtaba P MacleadBrazilStephen Shaw NEW
Munro J GarufiArgentinaAsiya Javayant NEW
Jennifer Z FlosiAustraliaStephen Shaw NEGOTIATION
Chavez L RimCanadaIvan Magalhaes NEGOTIATION
Aditya W RutaItalyXuxue Feng RENEWAL
Kaitlin D MacleadJapanXuxue Feng PROPOSAL
Deepesh R RimGermanyAmy Elsner NEW
Kaitlin R BowleyAustraliaXuxue Feng NEW
Julie Z ButtItalyAnna Fali PROPOSAL
Clifford B MaletFranceAsiya Javayant RENEWAL
Leja Y FlosiGermanyElwin Sharvill NEW
Tony C FlosiFranceXuxue Feng RENEWAL
James Z BowleyGermanyAnna Fali QUALIFIED
James Q FollerJapanStephen Shaw QUALIFIED
Juan A PerinCanadaAmy Elsner QUALIFIED
Isabel B SaylorsRussiaStephen Shaw NEGOTIATION
David C WaycottGermanyBernardo Dominic PROPOSAL
David N SchemmerRussiaElwin Sharvill PROPOSAL
Kadeem K SergiAustraliaIvan Magalhaes RENEWAL
Antonio M FigeroaUnited KingdomAsiya Javayant NEW
Deepesh I SaylorsCanadaAsiya Javayant PROPOSAL
Ivar R KuskoAustraliaAmy Elsner RENEWAL
Greenwood Z OldroydGermanyOnyama Limba NEGOTIATION
Maisha U WaycottIndiaIvan Magalhaes RENEWAL
Adams Q FigeroaIndiaAnna Fali NEW
Deepesh H WhobreyBrazilAsiya Javayant QUALIFIED
Isabel D RoysterCanadaAsiya Javayant QUALIFIED
Munro H DilliardUnited KingdomAnna Fali RENEWAL
Munro R DarakjyItalyXuxue Feng PROPOSAL
Arvin P GarufiFranceXuxue Feng NEW
Jefferson H GauchoJapanAsiya Javayant PROPOSAL
Clifford A BowleyCanadaAnna Fali NEW
Munro Y BriddickCanadaOnyama Limba PROPOSAL
Misaki H RutaRussiaElwin Sharvill NEGOTIATION
Deepesh R BowleyIndiaBernardo Dominic NEW
Izzy Z ShinkoArgentinaAmy Elsner NEGOTIATION
Frozen Columns
Name
Leja U Royster
Adams Q Stockham
Leon M Paprocki
Aruna M Tollner
James U Gaucho
Darci H Wieser
Deepesh Q Ostrosky
Clifford Z Figeroa
Ricardo T Darakjy
Mujtaba H Slusarski
Ivar B Butt
Leja G Glick
Antonio V Sergi
Alejandro C Slusarski
Munro S Nestle
Nicolas N Iturbide
Clifford I Butt
Stacey H Gillian
Misaki G Poquette
Leja K Nicka
Salvatore L Royster
Misaki P Vocelka
James R Glick
Misaki I Campain
Ivar D Venere
Adams E Vocelka
Aditya C Malet
Jefferson N Sergi
Chavez M Nicka
Leja H Campain
Smith X Albares
Misaki Z Garufi
Tony Q Morasca
Maisha S Stenseth
Maisha B Stockham
Mayumi N Ruta
Costa E Wieser
Tony J Ruta
Antonio U Ferencz
Darci Y Dilliard
Leja N Nicka
Morrow P Campain
Murillo G Darakjy
Jeanfrancois P Nestle
Isabel R Nestle
Jefferson L Poquette
David C Rim
Jones H Oldroyd
Francesco G Oldroyd
Izzy Q Garufi
IdCountryDate
1000Russia2026-10-14
1001Russia2026-10-22
1002Japan2026-10-12
1003Australia2026-10-15
1004Japan2026-10-18
1005Russia2026-10-16
1006United Kingdom2026-11-01
1007Argentina2026-10-11
1008Spain2026-11-01
1009Australia2026-10-08
1010Canada2026-10-12
1011India2026-10-10
1012India2026-10-21
1013Japan2026-10-18
1014Germany2026-10-13
1015Canada2026-10-10
1016Australia2026-10-26
1017Spain2026-10-22
1018Spain2026-10-17
1019Canada2026-10-08
1020Brazil2026-11-04
1021Italy2026-10-15
1022France2026-10-29
1023Argentina2026-10-29
1024Germany2026-10-17
1025India2026-10-15
1026Canada2026-10-15
1027Russia2026-10-21
1028Germany2026-10-21
1029Argentina2026-10-15
1030Italy2026-11-03
1031Argentina2026-10-14
1032Russia2026-10-23
1033Canada2026-10-13
1034Japan2026-10-21
1035Russia2026-10-27
1036Canada2026-10-28
1037Australia2026-10-30
1038Brazil2026-10-18
1039Australia2026-10-30
1040Germany2026-10-14
1041Canada2026-10-14
1042Brazil2026-10-26
1043United Kingdom2026-11-01
1044Italy2026-10-31
1045France2026-11-04
1046Canada2026-10-21
1047Russia2026-10-09
1048Brazil2026-10-24
1049Argentina2026-10-18

On-Demand Data

NameIdCountryDate
Tony K Amigon1000Russia2026-10-13
Jefferson Z Perin1001India2026-10-22
Cody U Saylors1002Canada2026-10-28
Emily N Darakjy1003India2026-10-12
Cody E Caldarera1004Brazil2026-11-04
Jones M Paprocki1005France2026-10-07
James H Flosi1006Argentina2026-10-23
Jefferson S Stockham1007Japan2026-10-23
Chavez K Saylors1008Spain2026-10-24
Claire Q Saylors1009United Kingdom2026-10-13
Nicolas W Nestle1010Brazil2026-11-03
Clifford M Doe1011Argentina2026-10-31
Misaki Y Bowley1012Germany2026-11-02
Deepesh F Perin1013Japan2026-10-14
Smith B Bolognia1014Argentina2026-10-26
Costa P Kusko1015Italy2026-11-04
Ricardo L Ruta1016Japan2026-10-25
Aika X Inouye1017Spain2026-10-27
Aika M Perin1018Germany2026-10-19
Leja Y Figeroa1019Australia2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair H AlbaresFranceXuxue Feng UNQUALIFIED
Misaki H BologniaFranceOnyama Limba NEW
Murillo O NestleIndiaXuxue Feng PROPOSAL
Jones Y PoquetteIndiaAnna Fali QUALIFIED
Francesco O GillianAustraliaXuxue Feng NEW
Tony Z GillianCanadaIoni Bowcher UNQUALIFIED
Chavez D GillianRussiaStephen Shaw NEGOTIATION
Isabel M WaycottJapanOnyama Limba UNQUALIFIED
Clifford D DilliardItalyAsiya Javayant NEGOTIATION
Kaitlin S GauchoAustraliaIoni Bowcher QUALIFIED
Izzy E BriddickGermanyOnyama Limba UNQUALIFIED
Adams X FollerItalyAnna Fali QUALIFIED
Ricardo F WieserUnited KingdomAsiya Javayant QUALIFIED
Stacey L SaylorsJapanAsiya Javayant NEW
Leja S CampainItalyAmy Elsner NEGOTIATION
Mujtaba X GillianBrazilAsiya Javayant NEW
Nicolas B WhobreyGermanyAmy Elsner QUALIFIED
Murillo O SchemmerSpainIvan Magalhaes NEW
Aika A OldroydFranceXuxue Feng NEW
Arvin A SchemmerGermanyOnyama Limba NEW
Jefferson F GillianGermanyAmy Elsner RENEWAL
Leon V CampainBrazilIoni Bowcher NEW
Leja T FlosiSpainAnna Fali PROPOSAL
Smith F SchemmerBrazilOnyama Limba RENEWAL
Cody J VenereGermanyAsiya Javayant QUALIFIED
Munro B BowleyRussiaStephen Shaw UNQUALIFIED
Leon I SlusarskiBrazilIoni Bowcher QUALIFIED
Maisha A OstroskyCanadaIvan Magalhaes PROPOSAL
Claire K MorascaAustraliaBernardo Dominic UNQUALIFIED
Munro Z BowleyJapanOnyama Limba UNQUALIFIED
Misaki A OstroskyArgentinaXuxue Feng NEW
Jefferson B PaprockiSpainBernardo Dominic RENEWAL
Clifford R ChuiItalyXuxue Feng RENEWAL
Alejandro T WhobreyRussiaXuxue Feng UNQUALIFIED
Clifford R KolmetzBrazilElwin Sharvill PROPOSAL
Kadeem R MorascaIndiaXuxue Feng NEGOTIATION
Chavez G MaletItalyOnyama Limba NEGOTIATION
Ricardo E SaylorsIndiaAsiya Javayant NEW
Jones J TollnerGermanyAmy Elsner RENEWAL
Adams Z SergiAustraliaStephen Shaw 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>