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
Johnson N MaletRussiaAnna Fali PROPOSAL
Octavia N PerinIndiaBernardo Dominic UNQUALIFIED
Johnson P GlickRussiaIoni Bowcher UNQUALIFIED
Antonio I GarufiItalyAsiya Javayant NEW
Clifford A FlosiUnited KingdomBernardo Dominic PROPOSAL
Stacey S PaprockiItalyStephen Shaw RENEWAL
Claire E CampainUnited KingdomIvan Magalhaes NEGOTIATION
Faith A PoquetteCanadaStephen Shaw NEW
Juan Y RulapaughArgentinaStephen Shaw PROPOSAL
Jefferson X SaylorsItalyIoni Bowcher QUALIFIED
Mujtaba T RulapaughJapanStephen Shaw UNQUALIFIED
Jeanfrancois O NestleGermanyAmy Elsner NEW
Aditya C StockhamIndiaIvan Magalhaes RENEWAL
Leja M WhobreyCanadaBernardo Dominic UNQUALIFIED
James B SergiArgentinaAnna Fali RENEWAL
Murillo J MarrierArgentinaOnyama Limba PROPOSAL
Antonio C SlusarskiRussiaOnyama Limba NEW
Ivar M VocelkaGermanyIoni Bowcher PROPOSAL
Aika H MorascaRussiaAmy Elsner PROPOSAL
Antonio F WieserRussiaAmy Elsner RENEWAL
Alejandro D BowleySpainElwin Sharvill RENEWAL
Misaki K TollnerFranceIoni Bowcher PROPOSAL
Maisha G WieserJapanStephen Shaw NEW
Kadeem W GlickFranceIvan Magalhaes RENEWAL
Silvio V FollerCanadaIoni Bowcher RENEWAL
Izzy A FerenczAustraliaElwin Sharvill NEW
Emily V BowleyArgentinaBernardo Dominic RENEWAL
David C MaletItalyAmy Elsner NEW
Kadeem B CaldareraSpainIvan Magalhaes NEGOTIATION
Arvin B KuskoCanadaStephen Shaw QUALIFIED
Greenwood H DarakjyBrazilBernardo Dominic RENEWAL
Darci K OldroydSpainOnyama Limba UNQUALIFIED
Tony A OldroydBrazilAsiya Javayant NEW
Clifford B GarufiCanadaIoni Bowcher UNQUALIFIED
Morrow J ButtCanadaBernardo Dominic NEGOTIATION
Salvatore X CaudyFranceXuxue Feng NEW
Arvin N OldroydUnited KingdomBernardo Dominic NEGOTIATION
Chavez S DilliardCanadaElwin Sharvill PROPOSAL
Silvio C ShinkoIndiaAsiya Javayant NEGOTIATION
Jefferson O VocelkaItalyIvan Magalhaes UNQUALIFIED
Sinclair H RulapaughArgentinaStephen Shaw NEGOTIATION
Arvin A MaletUnited KingdomBernardo Dominic NEW
Deepesh R MaletRussiaOnyama Limba NEGOTIATION
Antonio J RoysterGermanyStephen Shaw UNQUALIFIED
Stacey A PaprockiAustraliaElwin Sharvill RENEWAL
Aditya N VocelkaJapanIoni Bowcher PROPOSAL
Johnson Z PaprockiArgentinaIvan Magalhaes RENEWAL
Munro X RulapaughRussiaAsiya Javayant UNQUALIFIED
Sinclair U ShinkoRussiaIoni Bowcher RENEWAL
Wickens A OstroskyBrazilBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Octavia Y MaletItalyIoni Bowcher QUALIFIED
Francesco Z SlusarskiRussiaBernardo Dominic NEW
Maria R DarakjyBrazilBernardo Dominic UNQUALIFIED
Aika X DoeRussiaIvan Magalhaes RENEWAL
Smith S GarufiGermanyAmy Elsner QUALIFIED
Silvio R CaldareraJapanElwin Sharvill NEW
Adams B KolmetzFranceElwin Sharvill NEW
Ivar W GauchoItalyElwin Sharvill NEW
Jennifer C PerinSpainIoni Bowcher RENEWAL
Jennifer P StensethUnited KingdomAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas I RutaAustralia2026-09-04Commercial Press NEGOTIATION1Asiya Javayant
1001Jones N GillianSpain2026-09-21Chemel, James L Cpa RENEWAL13Amy Elsner
1002Silvio A FollerFrance2026-09-12Buckley Miller Wright QUALIFIED26Amy Elsner
1003Costa R WhobreyCanada2026-09-10Buckley Miller Wright NEGOTIATION81Ioni Bowcher
1004Maisha U DilliardSpain2026-09-20Buckley Miller Wright QUALIFIED15Onyama Limba
1005Morrow E CampainJapan2026-09-12King, Christopher A Esq RENEWAL98Asiya Javayant
1006Aika P MorascaJapan2026-09-20Morlong Associates QUALIFIED68Ioni Bowcher
1007Smith W DoeUnited Kingdom2026-08-30Morlong Associates RENEWAL5Xuxue Feng
1008Antonio S DarakjyUnited Kingdom2026-09-20Buckley Miller Wright PROPOSAL39Elwin Sharvill
1009Maisha M MaletCanada2026-09-11Printing Dimensions NEGOTIATION8Onyama Limba
1010David P ShinkoCanada2026-09-15Chemel, James L Cpa NEW25Asiya Javayant
1011Silvio M AlbaresJapan2026-08-28Rangoni Of Florence NEW29Elwin Sharvill
1012Cody K CaudyUnited Kingdom2026-09-06King, Christopher A Esq RENEWAL27Onyama Limba
1013Deepesh C GarufiItaly2026-09-16Benton, John B Jr NEGOTIATION91Elwin Sharvill
1014Ricardo K TollnerAustralia2026-09-16Benton, John B Jr UNQUALIFIED99Xuxue Feng
1015Morrow V AmigonSpain2026-09-07Rangoni Of Florence PROPOSAL36Stephen Shaw
1016Salvatore G MorascaGermany2026-09-02Feiner Bros QUALIFIED80Stephen Shaw
1017Murillo I MarrierRussia2026-08-25Truhlar And Truhlar Attys NEGOTIATION82Xuxue Feng
1018James W BriddickItaly2026-09-19Truhlar And Truhlar Attys UNQUALIFIED38Elwin Sharvill
1019Clifford C PoquetteJapan2026-08-27Rangoni Of Florence PROPOSAL37Anna Fali
1020Jones O CaldareraRussia2026-09-07Chemel, James L Cpa UNQUALIFIED92Ivan Magalhaes
1021Ricardo Y CaldareraUnited Kingdom2026-09-10Benton, John B Jr NEW37Stephen Shaw
1022Francesco C MacleadSpain2026-08-30Rangoni Of Florence QUALIFIED5Xuxue Feng
1023Izzy Y RulapaughItaly2026-09-02Feiner Bros UNQUALIFIED50Asiya Javayant
1024Emily G NickaCanada2026-08-30Chemel, James L Cpa RENEWAL6Ioni Bowcher
1025Aruna G NickaRussia2026-08-29Rousseaux, Michael Esq QUALIFIED81Elwin Sharvill
1026Jennifer T NickaAustralia2026-08-24Feltz Printing Service QUALIFIED84Onyama Limba
1027Munro R StensethSpain2026-09-08Truhlar And Truhlar Attys QUALIFIED42Stephen Shaw
1028Ricardo X MorascaUnited Kingdom2026-08-31Buckley Miller Wright RENEWAL28Elwin Sharvill
1029Antonio H MaletJapan2026-08-23Rangoni Of Florence UNQUALIFIED23Onyama Limba
1030Tony P MorascaJapan2026-09-21Printing Dimensions UNQUALIFIED35Amy Elsner
1031Chavez X InouyeAustralia2026-09-20Morlong Associates NEW31Bernardo Dominic
1032Jennifer Z ButtRussia2026-09-13Chapman, Ross E Esq NEW99Amy Elsner
1033Rodrigues W FigeroaItaly2026-08-23Chanay, Jeffrey A Esq NEW57Ivan Magalhaes
1034Isabel I FlosiUnited Kingdom2026-09-01Truhlar And Truhlar Attys RENEWAL67Onyama Limba
1035Jefferson A MaletBrazil2026-09-15Chanay, Jeffrey A Esq NEW37Onyama Limba
1036Leja W WieserFrance2026-09-18Feiner Bros NEW20Bernardo Dominic
1037Faith C GauchoSpain2026-08-28Chapman, Ross E Esq RENEWAL67Ivan Magalhaes
1038Rodrigues B FigeroaItaly2026-09-05Rousseaux, Michael Esq PROPOSAL9Elwin Sharvill
1039Octavia P DarakjyFrance2026-09-08Chapman, Ross E Esq PROPOSAL85Xuxue Feng
1040Maisha J TollnerFrance2026-09-06Rousseaux, Michael Esq UNQUALIFIED8Bernardo Dominic
1041Mayumi X DoeJapan2026-08-25Feiner Bros PROPOSAL52Ioni Bowcher
1042Johnson T DoeJapan2026-09-02Chapman, Ross E Esq NEW35Ivan Magalhaes
1043Tony X StensethItaly2026-08-28Feltz Printing Service RENEWAL97Bernardo Dominic
1044James E RutaRussia2026-09-16Buckley Miller Wright QUALIFIED82Onyama Limba
1045Greenwood M SchemmerItaly2026-09-01Buckley Miller Wright UNQUALIFIED54Amy Elsner
1046Arvin C MorascaAustralia2026-09-10Feiner Bros PROPOSAL38Elwin Sharvill
1047Cody R MorascaAustralia2026-09-04Chemel, James L Cpa RENEWAL75Xuxue Feng
1048Darci D RulapaughCanada2026-09-05Printing Dimensions NEW73Elwin Sharvill
1049Chavez T FerenczFrance2026-09-04Truhlar And Truhlar Attys PROPOSAL37Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Murillo T VocelkaJapanOnyama Limba NEGOTIATION
Aditya A RutaIndiaElwin Sharvill RENEWAL
Greenwood J GillianCanadaIvan Magalhaes RENEWAL
Ashley R ButtRussiaXuxue Feng RENEWAL
Jeanfrancois K FerenczArgentinaStephen Shaw UNQUALIFIED
Nicolas R MaletIndiaOnyama Limba NEGOTIATION
Faith F DilliardAustraliaAsiya Javayant NEW
Emily J PerinItalyIoni Bowcher UNQUALIFIED
Rodrigues L RulapaughBrazilIvan Magalhaes PROPOSAL
Leon Z KuskoFranceIvan Magalhaes PROPOSAL
Jeanfrancois Z WhobreyCanadaAnna Fali UNQUALIFIED
Cody S PerinCanadaAmy Elsner QUALIFIED
Ashley R FerenczGermanyXuxue Feng NEGOTIATION
Chavez C ChuiItalyAnna Fali NEGOTIATION
Silvio F FigeroaIndiaAmy Elsner PROPOSAL
Morrow N RutaItalyAnna Fali PROPOSAL
Jeanfrancois M PaprockiRussiaOnyama Limba PROPOSAL
Mayumi F FigeroaIndiaAmy Elsner QUALIFIED
Aruna W NestleUnited KingdomIoni Bowcher RENEWAL
James E NickaFranceElwin Sharvill NEGOTIATION
Julie U DilliardCanadaIoni Bowcher NEGOTIATION
Costa O SchemmerAustraliaIoni Bowcher RENEWAL
Jennifer H RutaArgentinaAnna Fali NEW
Adams B WhobreyRussiaAnna Fali NEW
Adams V FlosiJapanAmy Elsner UNQUALIFIED
Alejandro W RulapaughFranceIoni Bowcher RENEWAL
Ivar Q SlusarskiGermanyAsiya Javayant PROPOSAL
Jefferson B MarrierItalyAmy Elsner NEGOTIATION
Misaki F VenereRussiaStephen Shaw QUALIFIED
Aditya E OldroydGermanyBernardo Dominic PROPOSAL
Adams M MacleadCanadaAsiya Javayant NEGOTIATION
Johnson C DarakjyFranceAmy Elsner PROPOSAL
Mujtaba M GlickSpainIvan Magalhaes QUALIFIED
Deepesh A GauchoUnited KingdomAnna Fali NEGOTIATION
Ivar Y RulapaughRussiaBernardo Dominic UNQUALIFIED
Francesco C WieserUnited KingdomAsiya Javayant NEGOTIATION
Maria D InouyeBrazilAmy Elsner PROPOSAL
Costa X AmigonAustraliaAnna Fali RENEWAL
Clifford I RoysterCanadaOnyama Limba NEW
Adams A NickaCanadaIvan Magalhaes NEW
Murillo L KolmetzIndiaIoni Bowcher UNQUALIFIED
Leja S PoquetteCanadaXuxue Feng NEGOTIATION
Jefferson S FerenczItalyOnyama Limba NEGOTIATION
Claire B AlbaresCanadaAnna Fali QUALIFIED
James G PaprockiRussiaAsiya Javayant UNQUALIFIED
Juan W OstroskyGermanyAnna Fali PROPOSAL
Alejandro V MacleadAustraliaOnyama Limba NEGOTIATION
Tony U BologniaAustraliaBernardo Dominic NEGOTIATION
Rodrigues V DarakjyFranceIvan Magalhaes NEW
Sinclair C BriddickAustraliaAsiya Javayant NEW
Frozen Columns
Name
Isabel N Waycott
Francesco D Paprocki
Murillo Y Iturbide
Kadeem O Oldroyd
Clifford J Rulapaugh
Smith D Albares
Emily U Iturbide
Cody U Kusko
Deepesh A Shinko
Jefferson V Briddick
Tony U Doe
Johnson U Glick
Smith A Stockham
Maisha X Venere
Tony Y Tollner
Rodrigues I Morasca
Deepesh B Chui
Jennifer I Maclead
Silvio Z Malet
Wickens Q Campain
Aika T Waycott
Murillo W Butt
Maria I Stockham
Murillo A Briddick
Darci T Whobrey
Misaki C Marrier
Izzy D Darakjy
Ivar W Bolognia
Antonio I Marrier
Smith I Bolognia
Faith F Marrier
Maisha G Inouye
Chavez H Gillian
Jennifer D Amigon
Izzy L Wieser
Aika E Kolmetz
Misaki A Whobrey
Maisha I Amigon
Darci E Chui
Sinclair M Poquette
Julie C Rulapaugh
Chavez N Kolmetz
Ashley N Campain
Jennifer C Perin
Johnson W Glick
Jennifer J Glick
Adams Y Sergi
Aruna D Kusko
Jeanfrancois B Royster
Emily E Bowley
IdCountryDate
1000France2026-09-06
1001Italy2026-09-10
1002Spain2026-09-07
1003United Kingdom2026-09-01
1004Brazil2026-09-16
1005Argentina2026-09-03
1006India2026-09-03
1007Brazil2026-09-07
1008Germany2026-09-08
1009Brazil2026-09-14
1010Canada2026-09-20
1011United Kingdom2026-08-23
1012Spain2026-09-05
1013India2026-09-03
1014Brazil2026-09-13
1015Russia2026-09-12
1016Brazil2026-08-29
1017Spain2026-09-11
1018Brazil2026-08-25
1019Argentina2026-09-15
1020Spain2026-08-24
1021France2026-09-21
1022Italy2026-09-11
1023Italy2026-08-25
1024France2026-09-06
1025Russia2026-09-17
1026Spain2026-09-02
1027Germany2026-09-15
1028Brazil2026-08-27
1029Canada2026-09-20
1030Germany2026-09-08
1031Argentina2026-09-19
1032Italy2026-09-12
1033India2026-08-31
1034Spain2026-09-04
1035Australia2026-08-30
1036Japan2026-09-07
1037India2026-09-10
1038Brazil2026-09-15
1039Germany2026-09-09
1040Italy2026-09-10
1041India2026-09-07
1042Australia2026-09-03
1043Brazil2026-09-21
1044India2026-09-19
1045Australia2026-09-11
1046Argentina2026-09-18
1047India2026-09-06
1048India2026-09-15
1049Spain2026-09-14

On-Demand Data

NameIdCountryDate
Wickens L Iturbide1000India2026-09-12
Faith O Inouye1001Germany2026-08-28
Ricardo U Nestle1002Japan2026-08-30
Julie M Waycott1003Italy2026-09-15
Kadeem E Poquette1004Canada2026-08-26
Munro U Shinko1005Italy2026-09-04
Aditya F Gillian1006India2026-09-19
Johnson G Slusarski1007Italy2026-09-05
Aditya I Poquette1008Canada2026-08-26
Maria C Ferencz1009United Kingdom2026-09-10
Leon E Shinko1010United Kingdom2026-09-11
Jefferson A Stenseth1011Germany2026-09-07
Morrow A Ferencz1012France2026-09-10
David K Ostrosky1013Brazil2026-08-31
Misaki O Paprocki1014India2026-09-07
Munro F Maclead1015India2026-09-18
Misaki Q Garufi1016India2026-09-08
Aika U Royster1017Brazil2026-09-04
Jennifer I Slusarski1018Japan2026-09-03
Francesco O Gaucho1019India2026-09-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio D ShinkoArgentinaStephen Shaw RENEWAL
Aditya G CaldareraSpainElwin Sharvill NEGOTIATION
Deepesh O MaletJapanBernardo Dominic NEGOTIATION
Juan Y FerenczSpainBernardo Dominic NEW
Chavez Q AmigonIndiaIoni Bowcher UNQUALIFIED
Francesco V CaldareraGermanyElwin Sharvill NEGOTIATION
Kaitlin Z ChuiCanadaAsiya Javayant QUALIFIED
Rodrigues Q GlickUnited KingdomBernardo Dominic NEW
Claire Z CampainGermanyAsiya Javayant NEW
Sinclair O MorascaCanadaIoni Bowcher NEW
Leja W DoeAustraliaIvan Magalhaes PROPOSAL
Wickens V GillianIndiaAmy Elsner NEW
Stacey P SaylorsCanadaXuxue Feng QUALIFIED
Chavez M MacleadIndiaAnna Fali NEGOTIATION
Emily A OstroskyJapanAsiya Javayant RENEWAL
Wickens D WieserCanadaAmy Elsner NEGOTIATION
Aruna N ChuiItalyOnyama Limba PROPOSAL
Isabel Y NickaCanadaOnyama Limba PROPOSAL
Adams K SergiGermanyBernardo Dominic UNQUALIFIED
Leja O GlickArgentinaOnyama Limba PROPOSAL
Misaki Q CaldareraArgentinaAmy Elsner RENEWAL
David B CaldareraUnited KingdomAsiya Javayant NEW
Smith Y FerenczJapanIoni Bowcher PROPOSAL
Aika J FigeroaArgentinaElwin Sharvill PROPOSAL
Aika E SaylorsGermanyAmy Elsner RENEWAL
Cody W CaudyItalyStephen Shaw PROPOSAL
Claire P CaudyArgentinaElwin Sharvill QUALIFIED
Maria D OldroydItalyIoni Bowcher PROPOSAL
Mayumi P MarrierFranceAmy Elsner UNQUALIFIED
Johnson M FlosiJapanIvan Magalhaes PROPOSAL
Stacey N GauchoRussiaIoni Bowcher NEW
Clifford E IturbideFranceIoni Bowcher RENEWAL
Morrow Q GillianRussiaAsiya Javayant QUALIFIED
Darci E OstroskyAustraliaXuxue Feng RENEWAL
Aika V CampainRussiaAnna Fali PROPOSAL
Arvin M WhobreyBrazilElwin Sharvill NEW
Murillo Q BologniaUnited KingdomStephen Shaw QUALIFIED
Aruna O RimSpainBernardo Dominic PROPOSAL
Adams P SchemmerFranceXuxue Feng PROPOSAL
Francesco F GarufiBrazilAsiya Javayant PROPOSAL

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