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
Maria F GlickRussiaBernardo Dominic PROPOSAL
Jennifer U PaprockiItalyBernardo Dominic NEGOTIATION
Octavia R RulapaughUnited KingdomAsiya Javayant QUALIFIED
Claire X BowleyFranceElwin Sharvill PROPOSAL
Rodrigues U SlusarskiArgentinaXuxue Feng NEGOTIATION
Faith T VocelkaRussiaIvan Magalhaes NEGOTIATION
Alejandro N ButtIndiaAsiya Javayant RENEWAL
Smith I ButtUnited KingdomIvan Magalhaes RENEWAL
Jefferson T GlickCanadaXuxue Feng NEW
James B TollnerCanadaOnyama Limba NEGOTIATION
Chavez F RutaSpainElwin Sharvill UNQUALIFIED
Kadeem A NestleSpainXuxue Feng UNQUALIFIED
Jefferson F BriddickGermanyIoni Bowcher NEGOTIATION
Julie E BriddickSpainElwin Sharvill UNQUALIFIED
Jeanfrancois R FollerItalyElwin Sharvill UNQUALIFIED
Morrow D DilliardGermanyXuxue Feng UNQUALIFIED
Sinclair Q DoeRussiaElwin Sharvill QUALIFIED
Jones P BriddickGermanyAnna Fali NEW
Aika M MacleadSpainStephen Shaw QUALIFIED
Leon D BologniaCanadaIvan Magalhaes PROPOSAL
Jennifer P WieserRussiaOnyama Limba PROPOSAL
Mujtaba P GlickRussiaIvan Magalhaes QUALIFIED
Deepesh L BriddickSpainXuxue Feng UNQUALIFIED
Johnson C CaudyGermanyBernardo Dominic UNQUALIFIED
Isabel J DilliardIndiaOnyama Limba NEGOTIATION
Tony W SlusarskiCanadaOnyama Limba NEGOTIATION
Claire Q SlusarskiRussiaOnyama Limba NEGOTIATION
Julie E RimGermanyAsiya Javayant UNQUALIFIED
Arvin P RimBrazilAnna Fali QUALIFIED
Munro T MarrierFranceXuxue Feng UNQUALIFIED
Aruna C BologniaGermanyAmy Elsner RENEWAL
Izzy A RulapaughGermanyXuxue Feng RENEWAL
Izzy J RimItalyAnna Fali UNQUALIFIED
Maria Z SaylorsAustraliaStephen Shaw NEGOTIATION
Alejandro X FollerGermanyAmy Elsner NEW
Nicolas T WaycottBrazilAsiya Javayant RENEWAL
Sinclair B GillianAustraliaStephen Shaw RENEWAL
Greenwood S GillianRussiaElwin Sharvill RENEWAL
Isabel S FerenczFranceIoni Bowcher PROPOSAL
Emily Z SlusarskiSpainBernardo Dominic PROPOSAL
Arvin K BowleyArgentinaIvan Magalhaes UNQUALIFIED
Nicolas A MaletRussiaAmy Elsner NEGOTIATION
Costa G BriddickBrazilOnyama Limba QUALIFIED
Deepesh A IturbideSpainAsiya Javayant RENEWAL
Izzy Q GarufiUnited KingdomIoni Bowcher PROPOSAL
David R ChuiJapanAnna Fali NEGOTIATION
Salvatore H FigeroaCanadaIoni Bowcher PROPOSAL
Izzy Q GillianItalyIoni Bowcher PROPOSAL
Antonio X SlusarskiSpainIoni Bowcher RENEWAL
Antonio V CampainGermanyStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Leon V FlosiSpainOnyama Limba UNQUALIFIED
Jefferson S PaprockiItalyAsiya Javayant NEGOTIATION
Ashley P FigeroaFranceOnyama Limba QUALIFIED
Mayumi J CampainIndiaAsiya Javayant RENEWAL
Leon I SergiBrazilBernardo Dominic RENEWAL
Isabel A WaycottGermanyBernardo Dominic PROPOSAL
Jeanfrancois W FerenczIndiaOnyama Limba NEW
Munro Q CaudyUnited KingdomElwin Sharvill RENEWAL
Maisha S FlosiFranceAsiya Javayant PROPOSAL
Jeanfrancois I SlusarskiUnited KingdomIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia F ShinkoBrazil2026-10-19Feltz Printing Service RENEWAL60Ioni Bowcher
1001Clifford B BriddickArgentina2026-10-23Feiner Bros NEW72Ivan Magalhaes
1002Greenwood F VocelkaCanada2026-10-08Rousseaux, Michael Esq RENEWAL94Amy Elsner
1003Aruna X WaycottRussia2026-10-05Feltz Printing Service NEGOTIATION19Onyama Limba
1004Murillo U SchemmerGermany2026-10-29Commercial Press PROPOSAL87Anna Fali
1005Octavia C RimIndia2026-10-09Feltz Printing Service PROPOSAL46Asiya Javayant
1006Munro L PoquetteBrazil2026-10-23Chanay, Jeffrey A Esq RENEWAL34Xuxue Feng
1007Darci E OstroskyArgentina2026-10-20Chapman, Ross E Esq PROPOSAL93Xuxue Feng
1008Silvio W PaprockiFrance2026-10-07Printing Dimensions PROPOSAL47Asiya Javayant
1009Johnson H GillianRussia2026-10-08Feiner Bros NEGOTIATION4Asiya Javayant
1010Emily H MorascaSpain2026-10-21Benton, John B Jr NEGOTIATION84Elwin Sharvill
1011Emily V TollnerGermany2026-10-30Chemel, James L Cpa PROPOSAL32Anna Fali
1012Tony X StensethGermany2026-10-17Commercial Press NEW53Asiya Javayant
1013Jones U GillianArgentina2026-10-15Dorl, James J Esq UNQUALIFIED44Asiya Javayant
1014Isabel Y StockhamCanada2026-10-23Feltz Printing Service NEGOTIATION33Ioni Bowcher
1015Juan Q RimGermany2026-10-30Chanay, Jeffrey A Esq UNQUALIFIED0Anna Fali
1016Juan S IturbideSpain2026-10-08Morlong Associates NEW45Asiya Javayant
1017Emily M DoeCanada2026-10-17Feiner Bros QUALIFIED4Ioni Bowcher
1018Cody Z ChuiIndia2026-10-13Chapman, Ross E Esq NEW19Onyama Limba
1019Nicolas F BowleyUnited Kingdom2026-10-09King, Christopher A Esq NEW91Bernardo Dominic
1020Aika Z StockhamBrazil2026-10-13Chemel, James L Cpa PROPOSAL97Stephen Shaw
1021James L GlickItaly2026-10-12Chanay, Jeffrey A Esq RENEWAL86Bernardo Dominic
1022Tony M GillianUnited Kingdom2026-10-17Chapman, Ross E Esq NEW59Elwin Sharvill
1023Misaki B BowleyJapan2026-10-24Truhlar And Truhlar Attys NEGOTIATION57Onyama Limba
1024Rodrigues Q BowleyGermany2026-10-30King, Christopher A Esq UNQUALIFIED81Elwin Sharvill
1025Aika C KolmetzJapan2026-10-15Chapman, Ross E Esq UNQUALIFIED50Ivan Magalhaes
1026Salvatore H TollnerItaly2026-10-06Feltz Printing Service RENEWAL95Ivan Magalhaes
1027Chavez B SlusarskiArgentina2026-10-12Chanay, Jeffrey A Esq NEGOTIATION85Elwin Sharvill
1028James X NickaCanada2026-10-08Dorl, James J Esq NEW67Bernardo Dominic
1029Arvin T BologniaJapan2026-10-05Benton, John B Jr NEGOTIATION95Ivan Magalhaes
1030Isabel L RimJapan2026-10-04Feltz Printing Service RENEWAL67Xuxue Feng
1031Adams S WaycottUnited Kingdom2026-10-18King, Christopher A Esq QUALIFIED41Elwin Sharvill
1032Munro S DilliardRussia2026-10-27Chanay, Jeffrey A Esq PROPOSAL41Xuxue Feng
1033Smith E VenereJapan2026-10-21Printing Dimensions QUALIFIED88Bernardo Dominic
1034Alejandro G StockhamAustralia2026-10-05Chapman, Ross E Esq UNQUALIFIED12Anna Fali
1035Kadeem A OldroydJapan2026-10-05Printing Dimensions UNQUALIFIED73Onyama Limba
1036Cody J RulapaughIndia2026-10-17Chemel, James L Cpa PROPOSAL75Ioni Bowcher
1037Rodrigues R NickaCanada2026-10-18Chapman, Ross E Esq NEW3Ioni Bowcher
1038Costa H InouyeCanada2026-10-05Rousseaux, Michael Esq PROPOSAL32Asiya Javayant
1039Tony W TollnerGermany2026-10-06Feltz Printing Service RENEWAL12Onyama Limba
1040Claire K WaycottGermany2026-10-20Truhlar And Truhlar Attys NEGOTIATION80Elwin Sharvill
1041Faith R VocelkaJapan2026-10-22Commercial Press QUALIFIED6Asiya Javayant
1042Jeanfrancois G CaldareraJapan2026-10-07Feiner Bros PROPOSAL87Xuxue Feng
1043Sinclair N OldroydIndia2026-10-05Rangoni Of Florence UNQUALIFIED2Bernardo Dominic
1044Costa D SergiArgentina2026-10-03King, Christopher A Esq UNQUALIFIED13Stephen Shaw
1045Jeanfrancois C DarakjyRussia2026-10-15Benton, John B Jr NEW64Onyama Limba
1046Rodrigues Z KuskoIndia2026-10-19Chemel, James L Cpa RENEWAL77Asiya Javayant
1047Arvin E ShinkoItaly2026-10-04Buckley Miller Wright QUALIFIED6Ivan Magalhaes
1048Faith H FigeroaSpain2026-10-12Rousseaux, Michael Esq NEGOTIATION43Ivan Magalhaes
1049Darci F MaletSpain2026-10-29Buckley Miller Wright QUALIFIED40Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Johnson N MaletArgentinaIvan Magalhaes NEGOTIATION
Nicolas U GillianFranceIvan Magalhaes NEGOTIATION
Murillo B OldroydIndiaOnyama Limba PROPOSAL
Wickens X MacleadArgentinaElwin Sharvill QUALIFIED
Aika N DarakjyBrazilXuxue Feng QUALIFIED
Kaitlin X NestleItalyStephen Shaw NEGOTIATION
Leon L BowleyJapanAsiya Javayant PROPOSAL
Julie E NickaCanadaBernardo Dominic UNQUALIFIED
Smith H GillianSpainAsiya Javayant UNQUALIFIED
Kadeem S SlusarskiRussiaXuxue Feng UNQUALIFIED
Silvio B SaylorsIndiaElwin Sharvill RENEWAL
Salvatore K GauchoSpainOnyama Limba QUALIFIED
Jones F KuskoCanadaOnyama Limba QUALIFIED
Darci A FollerAustraliaOnyama Limba NEGOTIATION
Salvatore Z BowleySpainElwin Sharvill NEGOTIATION
James Y FerenczBrazilAnna Fali PROPOSAL
Smith W MaletIndiaAsiya Javayant NEGOTIATION
Maria L FlosiSpainIvan Magalhaes QUALIFIED
Tony X GillianUnited KingdomElwin Sharvill RENEWAL
Jones E CampainBrazilAnna Fali NEW
James O RoysterUnited KingdomXuxue Feng RENEWAL
Adams J GarufiAustraliaIvan Magalhaes NEW
Alejandro N FerenczFranceIoni Bowcher RENEWAL
Ashley N BologniaJapanAmy Elsner PROPOSAL
Greenwood I WhobreyRussiaAsiya Javayant NEW
Cody G SlusarskiItalyIvan Magalhaes NEGOTIATION
Kadeem P GarufiCanadaIvan Magalhaes RENEWAL
Faith L WaycottItalyAsiya Javayant QUALIFIED
Octavia I FollerArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois V GauchoItalyBernardo Dominic NEW
Silvio A DoeRussiaIoni Bowcher NEGOTIATION
Jones T BowleyArgentinaXuxue Feng RENEWAL
Deepesh F MaletBrazilOnyama Limba NEGOTIATION
Nicolas A AmigonUnited KingdomElwin Sharvill QUALIFIED
Darci S VenereCanadaBernardo Dominic PROPOSAL
Munro N BologniaRussiaAmy Elsner RENEWAL
Francesco W VocelkaGermanyIvan Magalhaes RENEWAL
Alejandro Z RulapaughItalyBernardo Dominic QUALIFIED
Faith G InouyeAustraliaIvan Magalhaes NEW
Aika K BowleyIndiaAnna Fali RENEWAL
Aika A GarufiUnited KingdomIvan Magalhaes QUALIFIED
David W BowleyGermanyOnyama Limba RENEWAL
Murillo T KuskoFranceStephen Shaw NEW
Stacey S SaylorsFranceAmy Elsner NEW
Salvatore H GlickItalyOnyama Limba PROPOSAL
Faith S GauchoUnited KingdomAsiya Javayant NEGOTIATION
Faith F InouyeFranceAmy Elsner NEGOTIATION
Alejandro U InouyeGermanyElwin Sharvill UNQUALIFIED
Julie J FerenczArgentinaIoni Bowcher QUALIFIED
Johnson A FigeroaSpainXuxue Feng NEW
Frozen Columns
Name
Misaki O Poquette
Izzy T Kolmetz
Morrow N Gillian
Emily U Oldroyd
Munro V Albares
Misaki I Malet
Aruna G Caldarera
Mayumi K Butt
Julie V Kolmetz
Juan N Caldarera
Aruna H Gaucho
Jones L Nestle
Wickens Z Stenseth
Claire N Kolmetz
Jefferson D Venere
Faith P Oldroyd
Mujtaba Y Morasca
Cody V Ruta
Ricardo O Wieser
Costa N Doe
Faith C Malet
Antonio Y Venere
Darci E Figeroa
Julie V Malet
Claire Z Gaucho
Antonio F Poquette
Murillo K Nicka
Sinclair F Marrier
Faith L Marrier
Mujtaba E Iturbide
Mujtaba D Amigon
Nicolas X Dilliard
Ashley M Vocelka
Rodrigues L Whobrey
Aika Y Gillian
Smith J Malet
Leon O Vocelka
Smith A Glick
Jefferson S Dilliard
Aruna B Royster
Morrow P Campain
David H Venere
Jeanfrancois F Kusko
Jeanfrancois S Shinko
James Y Flosi
James W Gillian
Kaitlin D Waycott
Rodrigues A Rulapaugh
Ashley Q Flosi
Kaitlin K Dilliard
IdCountryDate
1000Argentina2026-10-17
1001United Kingdom2026-10-19
1002Australia2026-10-13
1003Canada2026-10-21
1004France2026-11-01
1005Australia2026-10-13
1006Brazil2026-10-26
1007France2026-10-18
1008Japan2026-10-25
1009Argentina2026-10-25
1010Spain2026-10-05
1011Australia2026-10-24
1012United Kingdom2026-10-24
1013India2026-10-31
1014United Kingdom2026-10-05
1015Australia2026-10-25
1016Brazil2026-10-20
1017Spain2026-10-21
1018Australia2026-10-05
1019Germany2026-10-19
1020Spain2026-10-30
1021Russia2026-10-09
1022Germany2026-10-22
1023Argentina2026-10-12
1024Spain2026-10-26
1025Australia2026-10-17
1026Italy2026-10-21
1027Spain2026-10-13
1028Italy2026-10-27
1029Germany2026-10-24
1030Canada2026-10-24
1031Argentina2026-10-21
1032Germany2026-10-29
1033Japan2026-10-03
1034Japan2026-10-16
1035Canada2026-10-22
1036Spain2026-10-23
1037Germany2026-10-24
1038France2026-10-21
1039Italy2026-10-24
1040Canada2026-10-31
1041Germany2026-10-25
1042United Kingdom2026-10-11
1043Argentina2026-10-05
1044Brazil2026-10-03
1045Brazil2026-10-03
1046France2026-10-03
1047United Kingdom2026-10-03
1048United Kingdom2026-10-23
1049France2026-10-20

On-Demand Data

NameIdCountryDate
Alejandro H Iturbide1000Spain2026-10-21
Sinclair I Schemmer1001Russia2026-10-26
Johnson M Albares1002India2026-10-05
Murillo V Amigon1003Japan2026-10-20
Stacey C Ferencz1004Spain2026-10-06
Costa F Doe1005Spain2026-10-04
Kadeem C Nicka1006Argentina2026-10-16
Deepesh L Butt1007United Kingdom2026-10-07
Jones K Morasca1008Spain2026-10-17
Munro G Shinko1009Brazil2026-10-18
Mujtaba L Ostrosky1010India2026-10-11
Adams T Morasca1011Canada2026-10-23
Jennifer Z Caudy1012Canada2026-10-28
Chavez N Malet1013Australia2026-10-09
Leja T Wieser1014India2026-10-14
Mayumi F Bowley1015Russia2026-10-28
Jennifer Z Venere1016India2026-10-04
Maisha H Shinko1017Argentina2026-10-31
Maisha X Briddick1018Russia2026-10-13
David D Ruta1019Brazil2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Y SlusarskiRussiaIoni Bowcher NEGOTIATION
Isabel W VenereGermanyBernardo Dominic NEW
Rodrigues A BriddickRussiaElwin Sharvill RENEWAL
Ricardo E WaycottSpainAsiya Javayant PROPOSAL
Aditya N SergiCanadaStephen Shaw RENEWAL
Izzy H KuskoArgentinaXuxue Feng RENEWAL
Darci F IturbideAustraliaAmy Elsner QUALIFIED
Jones H PerinUnited KingdomElwin Sharvill RENEWAL
Kaitlin P WieserSpainStephen Shaw PROPOSAL
Faith B ChuiUnited KingdomOnyama Limba NEW
Maisha A NestleSpainElwin Sharvill RENEWAL
Ashley Z WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Clifford V StensethIndiaIvan Magalhaes NEW
Maisha E MorascaIndiaAsiya Javayant QUALIFIED
Rodrigues M ChuiAustraliaBernardo Dominic NEW
Aika H FlosiRussiaStephen Shaw NEGOTIATION
Smith A FlosiAustraliaAnna Fali NEGOTIATION
Clifford Y ShinkoGermanyAmy Elsner QUALIFIED
Maria T FlosiRussiaXuxue Feng PROPOSAL
Clifford O VenereSpainAmy Elsner PROPOSAL
Munro T DarakjyBrazilOnyama Limba NEW
Jennifer I WieserArgentinaAmy Elsner PROPOSAL
Jeanfrancois Z PerinAustraliaAsiya Javayant UNQUALIFIED
Deepesh K PerinUnited KingdomElwin Sharvill QUALIFIED
Munro J BologniaGermanyBernardo Dominic QUALIFIED
Darci B SaylorsJapanBernardo Dominic QUALIFIED
Jones U WhobreyIndiaBernardo Dominic QUALIFIED
Stacey L SaylorsUnited KingdomXuxue Feng NEW
Aditya O MacleadIndiaAnna Fali RENEWAL
Ricardo C PerinJapanIvan Magalhaes RENEWAL
Arvin M FigeroaArgentinaAnna Fali UNQUALIFIED
Izzy V DoeIndiaXuxue Feng NEW
Alejandro J GauchoRussiaIvan Magalhaes NEGOTIATION
Costa P WaycottBrazilAsiya Javayant QUALIFIED
Misaki R PaprockiArgentinaAmy Elsner RENEWAL
Jefferson O GauchoItalyOnyama Limba QUALIFIED
Francesco I CaudyBrazilAsiya Javayant RENEWAL
Chavez K CaudyGermanyAmy Elsner NEW
Chavez R KolmetzRussiaIvan Magalhaes UNQUALIFIED
Johnson A MorascaIndiaXuxue Feng NEW

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