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
Wickens L WhobreyJapanElwin Sharvill NEW
Juan M OldroydGermanyStephen Shaw NEGOTIATION
Mayumi Q VocelkaAustraliaIoni Bowcher PROPOSAL
Salvatore W SergiArgentinaIvan Magalhaes PROPOSAL
Chavez U StockhamSpainElwin Sharvill RENEWAL
Jennifer D RoysterGermanyOnyama Limba PROPOSAL
Julie T StensethJapanAmy Elsner UNQUALIFIED
Octavia Q BologniaSpainElwin Sharvill PROPOSAL
Leon L KuskoAustraliaIvan Magalhaes NEGOTIATION
Costa N CaudyAustraliaElwin Sharvill RENEWAL
Faith X ButtRussiaXuxue Feng UNQUALIFIED
Julie Z IturbideIndiaIoni Bowcher NEGOTIATION
Salvatore N MaletGermanyAsiya Javayant NEGOTIATION
Leon E WhobreyRussiaStephen Shaw QUALIFIED
Darci W FlosiIndiaAsiya Javayant NEGOTIATION
Octavia B FlosiCanadaIvan Magalhaes NEGOTIATION
Murillo Z WhobreyItalyStephen Shaw NEW
Ricardo T RulapaughIndiaStephen Shaw RENEWAL
Misaki D WhobreyArgentinaAnna Fali NEW
Adams G GarufiAustraliaElwin Sharvill PROPOSAL
Antonio B WaycottArgentinaStephen Shaw UNQUALIFIED
Alejandro L SlusarskiUnited KingdomAmy Elsner NEGOTIATION
Jefferson A VenereJapanBernardo Dominic NEW
Leon G StockhamGermanyXuxue Feng RENEWAL
James C FerenczGermanyIvan Magalhaes NEW
Francesco A StockhamAustraliaAmy Elsner NEW
Kadeem L MarrierUnited KingdomAnna Fali QUALIFIED
Jeanfrancois E FerenczAustraliaIvan Magalhaes NEW
Smith Y RoysterFranceOnyama Limba QUALIFIED
Faith P InouyeItalyIoni Bowcher NEGOTIATION
Francesco D ChuiIndiaIvan Magalhaes NEGOTIATION
Ivar C MorascaSpainAmy Elsner NEGOTIATION
Costa R DilliardFranceBernardo Dominic PROPOSAL
Misaki A ChuiArgentinaIoni Bowcher RENEWAL
Tony M GlickGermanyAnna Fali NEW
Isabel L IturbideJapanOnyama Limba NEW
Maria A FlosiJapanAnna Fali PROPOSAL
Morrow A WhobreyBrazilAmy Elsner RENEWAL
Smith V GauchoArgentinaOnyama Limba NEW
Octavia R RutaAustraliaIvan Magalhaes PROPOSAL
Faith Z VocelkaIndiaElwin Sharvill PROPOSAL
Deepesh V FollerBrazilAsiya Javayant NEW
Arvin Z CaudyGermanyIvan Magalhaes RENEWAL
Silvio O ChuiSpainOnyama Limba QUALIFIED
Misaki N BologniaSpainXuxue Feng UNQUALIFIED
Deepesh L WhobreyUnited KingdomAsiya Javayant RENEWAL
Leja G StockhamUnited KingdomAmy Elsner NEGOTIATION
Cody D WhobreyJapanElwin Sharvill RENEWAL
Tony F WhobreySpainIvan Magalhaes NEW
Misaki H RoysterUnited KingdomXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Johnson X KolmetzRussiaIoni Bowcher NEW
Alejandro P AlbaresUnited KingdomStephen Shaw NEGOTIATION
Deepesh L PoquetteGermanyAsiya Javayant NEGOTIATION
Claire Q OstroskyRussiaOnyama Limba NEW
Isabel R ChuiBrazilIvan Magalhaes UNQUALIFIED
Octavia E IturbideGermanyXuxue Feng NEW
Tony M ShinkoBrazilAnna Fali QUALIFIED
David B FollerCanadaOnyama Limba NEGOTIATION
Mayumi K GarufiCanadaOnyama Limba UNQUALIFIED
Cody T VocelkaSpainOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki U BriddickRussia2026-09-21Truhlar And Truhlar Attys RENEWAL44Asiya Javayant
1001Nicolas V DoeArgentina2026-09-19Dorl, James J Esq PROPOSAL69Anna Fali
1002Adams C IturbideSpain2026-09-28Benton, John B Jr QUALIFIED52Stephen Shaw
1003Leja K IturbideFrance2026-09-15Morlong Associates NEGOTIATION27Onyama Limba
1004Faith Z NestleArgentina2026-10-08King, Christopher A Esq RENEWAL15Ivan Magalhaes
1005Greenwood F StensethBrazil2026-09-23Rangoni Of Florence QUALIFIED10Elwin Sharvill
1006Deepesh W PerinAustralia2026-10-02Rangoni Of Florence NEGOTIATION92Onyama Limba
1007Rodrigues Y FollerUnited Kingdom2026-09-19Chemel, James L Cpa UNQUALIFIED14Ioni Bowcher
1008Leja R SergiJapan2026-09-17Printing Dimensions QUALIFIED85Amy Elsner
1009Sinclair C GarufiGermany2026-09-27Buckley Miller Wright RENEWAL32Onyama Limba
1010Jennifer P DoeArgentina2026-10-03Feltz Printing Service PROPOSAL55Asiya Javayant
1011Greenwood V MaletJapan2026-09-17Dorl, James J Esq QUALIFIED84Amy Elsner
1012David Y TollnerSpain2026-10-05Buckley Miller Wright PROPOSAL30Amy Elsner
1013Costa F PoquetteRussia2026-10-04Chemel, James L Cpa QUALIFIED51Ioni Bowcher
1014Ivar U WhobreyArgentina2026-09-12Chemel, James L Cpa PROPOSAL11Onyama Limba
1015Stacey I ChuiGermany2026-09-20Buckley Miller Wright PROPOSAL95Xuxue Feng
1016Aditya T GillianAustralia2026-09-10King, Christopher A Esq UNQUALIFIED24Amy Elsner
1017Rodrigues A SergiFrance2026-10-09Printing Dimensions PROPOSAL10Bernardo Dominic
1018Deepesh W CaudyCanada2026-10-05Chanay, Jeffrey A Esq QUALIFIED75Stephen Shaw
1019Tony G GlickSpain2026-09-24King, Christopher A Esq NEGOTIATION49Anna Fali
1020Izzy K GillianFrance2026-09-22Feltz Printing Service UNQUALIFIED57Asiya Javayant
1021Salvatore V VocelkaBrazil2026-09-29Dorl, James J Esq UNQUALIFIED86Anna Fali
1022Adams I ShinkoIndia2026-09-30Chapman, Ross E Esq NEGOTIATION25Asiya Javayant
1023Maisha U VenereRussia2026-09-25Rangoni Of Florence PROPOSAL22Anna Fali
1024Ashley I GauchoBrazil2026-09-19Chemel, James L Cpa NEGOTIATION34Elwin Sharvill
1025Chavez W GauchoJapan2026-10-05Chapman, Ross E Esq NEGOTIATION27Bernardo Dominic
1026Greenwood R MorascaRussia2026-10-07Rousseaux, Michael Esq UNQUALIFIED79Stephen Shaw
1027Leon B DilliardRussia2026-09-14Benton, John B Jr PROPOSAL19Asiya Javayant
1028Cody P GillianItaly2026-09-19King, Christopher A Esq QUALIFIED73Asiya Javayant
1029Deepesh M MorascaJapan2026-09-26Buckley Miller Wright PROPOSAL9Bernardo Dominic
1030Faith V InouyeGermany2026-09-29Chapman, Ross E Esq QUALIFIED33Bernardo Dominic
1031Octavia O FerenczGermany2026-09-18Chapman, Ross E Esq NEGOTIATION82Stephen Shaw
1032Leja X BologniaUnited Kingdom2026-09-19Chapman, Ross E Esq NEW91Amy Elsner
1033Johnson P StensethJapan2026-09-21Commercial Press RENEWAL98Onyama Limba
1034Leon N ShinkoItaly2026-09-28Truhlar And Truhlar Attys NEGOTIATION13Elwin Sharvill
1035Ricardo J MaletItaly2026-10-05Truhlar And Truhlar Attys QUALIFIED87Amy Elsner
1036Sinclair C SergiArgentina2026-09-14Chanay, Jeffrey A Esq RENEWAL81Anna Fali
1037Ashley I CampainCanada2026-09-29Truhlar And Truhlar Attys QUALIFIED17Ivan Magalhaes
1038David V DilliardSpain2026-10-08King, Christopher A Esq RENEWAL10Onyama Limba
1039Sinclair U RoysterSpain2026-09-23Chapman, Ross E Esq RENEWAL0Xuxue Feng
1040Aika F GillianSpain2026-09-27Rousseaux, Michael Esq RENEWAL60Asiya Javayant
1041Morrow G FerenczBrazil2026-10-09Commercial Press PROPOSAL3Stephen Shaw
1042Ashley L AlbaresItaly2026-09-12Chanay, Jeffrey A Esq NEGOTIATION28Stephen Shaw
1043Julie G PoquetteGermany2026-10-04Printing Dimensions NEW19Xuxue Feng
1044Ricardo X RoysterIndia2026-10-07Feltz Printing Service QUALIFIED51Anna Fali
1045Aika X RoysterBrazil2026-10-06Rangoni Of Florence UNQUALIFIED53Stephen Shaw
1046Antonio L PaprockiUnited Kingdom2026-10-05Chanay, Jeffrey A Esq RENEWAL80Amy Elsner
1047Isabel L MaletArgentina2026-10-01Commercial Press PROPOSAL18Amy Elsner
1048Isabel T ButtUnited Kingdom2026-10-02Chapman, Ross E Esq UNQUALIFIED16Amy Elsner
1049Maisha J RoysterItaly2026-09-20Dorl, James J Esq PROPOSAL80Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues U ButtRussiaIvan Magalhaes PROPOSAL
Munro K RimBrazilBernardo Dominic QUALIFIED
Mujtaba Y KolmetzSpainXuxue Feng NEW
Leon J WaycottIndiaStephen Shaw RENEWAL
Cody W FollerFranceIvan Magalhaes UNQUALIFIED
Aruna A FerenczGermanyAsiya Javayant NEW
Alejandro I FerenczCanadaBernardo Dominic UNQUALIFIED
Jones E MaletSpainOnyama Limba RENEWAL
Johnson S SchemmerGermanyXuxue Feng UNQUALIFIED
Alejandro Z BologniaRussiaStephen Shaw NEW
Munro I StockhamAustraliaIoni Bowcher NEGOTIATION
Salvatore W DilliardFranceBernardo Dominic QUALIFIED
Juan M PaprockiSpainXuxue Feng NEGOTIATION
Salvatore J StensethGermanyIoni Bowcher RENEWAL
Juan M CaudyBrazilAsiya Javayant RENEWAL
Julie N ButtBrazilOnyama Limba NEGOTIATION
Morrow A KolmetzRussiaXuxue Feng RENEWAL
Isabel H MaletArgentinaAnna Fali QUALIFIED
Mayumi S GillianArgentinaAmy Elsner QUALIFIED
Greenwood Z FlosiIndiaIvan Magalhaes NEW
Morrow O KuskoSpainAnna Fali UNQUALIFIED
Salvatore O CaudyAustraliaAmy Elsner QUALIFIED
Costa K NestleIndiaIvan Magalhaes RENEWAL
Nicolas S DarakjyArgentinaXuxue Feng NEW
Ashley G NickaSpainBernardo Dominic UNQUALIFIED
Isabel L GarufiArgentinaAsiya Javayant RENEWAL
Murillo D ShinkoJapanAsiya Javayant NEW
Aika L SaylorsGermanyIoni Bowcher NEW
Darci H GarufiJapanStephen Shaw UNQUALIFIED
Julie P FerenczCanadaIvan Magalhaes NEGOTIATION
Izzy X DarakjyRussiaIoni Bowcher PROPOSAL
Mayumi A DoeCanadaAmy Elsner UNQUALIFIED
Wickens W InouyeAustraliaOnyama Limba RENEWAL
Julie V NickaJapanOnyama Limba NEW
Claire L DarakjyRussiaXuxue Feng UNQUALIFIED
Munro H WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Smith S BriddickSpainIvan Magalhaes UNQUALIFIED
Leja D ShinkoJapanElwin Sharvill RENEWAL
James K RimIndiaStephen Shaw NEW
Mayumi H VenereUnited KingdomStephen Shaw PROPOSAL
Julie J PoquetteArgentinaBernardo Dominic QUALIFIED
Faith W PaprockiAustraliaElwin Sharvill QUALIFIED
Mayumi S BologniaRussiaXuxue Feng NEGOTIATION
Kaitlin G VenereItalyXuxue Feng UNQUALIFIED
Aditya D GarufiItalyBernardo Dominic UNQUALIFIED
Ivar E FlosiCanadaAsiya Javayant RENEWAL
Ashley T BologniaGermanyAsiya Javayant NEW
Adams T OldroydGermanyBernardo Dominic QUALIFIED
Maria P VocelkaGermanyIvan Magalhaes NEGOTIATION
Sinclair K RoysterBrazilAmy Elsner RENEWAL
Frozen Columns
Name
Rodrigues I Vocelka
Jeanfrancois B Nicka
Maisha M Waycott
Isabel A Stenseth
Arvin E Saylors
Izzy W Ferencz
Clifford Y Royster
Mayumi D Royster
Silvio G Oldroyd
Aika H Amigon
Claire S Amigon
Johnson J Nicka
Maisha A Ferencz
Silvio G Schemmer
Maisha P Venere
Morrow G Poquette
Leja T Slusarski
Wickens Z Stockham
Alejandro K Albares
Mujtaba T Bowley
Jefferson L Marrier
Julie H Kolmetz
Rodrigues P Iturbide
James A Malet
Francesco W Butt
Cody U Rulapaugh
Wickens Q Morasca
Alejandro T Malet
Alejandro P Dilliard
Mayumi Y Flosi
Kadeem P Chui
Francesco N Vocelka
David A Nicka
Wickens F Shinko
Sinclair K Foller
Jeanfrancois E Paprocki
Alejandro K Malet
Deepesh I Ruta
James M Dilliard
Darci T Malet
Francesco J Kusko
Misaki P Dilliard
Chavez K Dilliard
Costa P Nicka
Kadeem M Nicka
Ashley M Perin
Kadeem M Royster
Sinclair C Gillian
Johnson C Darakjy
Nicolas W Nicka
IdCountryDate
1000Canada2026-09-13
1001Spain2026-09-21
1002Brazil2026-09-19
1003Spain2026-09-19
1004Canada2026-10-09
1005United Kingdom2026-09-19
1006United Kingdom2026-09-17
1007Russia2026-09-14
1008Australia2026-09-25
1009Australia2026-10-01
1010Argentina2026-09-25
1011Germany2026-09-23
1012Germany2026-09-25
1013Australia2026-09-10
1014France2026-10-03
1015Brazil2026-09-25
1016India2026-09-20
1017Canada2026-10-09
1018Germany2026-09-15
1019Japan2026-09-21
1020Brazil2026-10-08
1021Germany2026-10-01
1022Germany2026-09-28
1023Japan2026-09-25
1024Russia2026-09-30
1025United Kingdom2026-09-10
1026France2026-09-30
1027Russia2026-09-24
1028Canada2026-09-16
1029United Kingdom2026-09-14
1030Japan2026-09-25
1031Canada2026-10-04
1032India2026-09-18
1033Russia2026-10-05
1034Italy2026-10-07
1035Canada2026-09-17
1036France2026-10-05
1037Japan2026-10-02
1038Germany2026-09-30
1039Canada2026-10-09
1040Italy2026-10-07
1041Italy2026-09-23
1042Canada2026-09-25
1043Argentina2026-09-26
1044Japan2026-09-27
1045Italy2026-10-04
1046France2026-10-02
1047Brazil2026-09-26
1048Spain2026-10-04
1049Spain2026-09-15

On-Demand Data

NameIdCountryDate
Adams T Oldroyd1000United Kingdom2026-10-09
Munro F Ostrosky1001Germany2026-09-16
Kaitlin R Whobrey1002Canada2026-09-19
Tony O Perin1003Brazil2026-09-13
Clifford R Ferencz1004Japan2026-10-05
Smith Z Slusarski1005Argentina2026-09-21
Arvin G Whobrey1006Italy2026-10-02
Ashley Q Malet1007Brazil2026-10-02
Emily Z Morasca1008Canada2026-10-02
Tony H Stenseth1009Russia2026-10-08
Kadeem T Ferencz1010Spain2026-09-11
Salvatore T Paprocki1011Argentina2026-09-12
Stacey O Wieser1012Spain2026-09-27
Salvatore B Poquette1013Argentina2026-10-07
Julie T Garufi1014France2026-09-15
Wickens Z Kolmetz1015Russia2026-09-14
Clifford C Marrier1016Italy2026-09-30
Isabel M Poquette1017Argentina2026-10-02
Jennifer V Bowley1018India2026-09-25
Chavez I Dilliard1019France2026-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley X BologniaGermanyElwin Sharvill QUALIFIED
Antonio U AmigonUnited KingdomAsiya Javayant NEGOTIATION
Arvin F BologniaAustraliaAsiya Javayant NEW
Julie Q WieserUnited KingdomIvan Magalhaes NEGOTIATION
Aruna K ShinkoArgentinaIoni Bowcher NEGOTIATION
Leja N PoquetteItalyElwin Sharvill NEGOTIATION
Ashley N NestleAustraliaStephen Shaw NEW
Ricardo Y FlosiGermanyOnyama Limba NEGOTIATION
Johnson Z KuskoIndiaIvan Magalhaes QUALIFIED
Francesco W MaletItalyAmy Elsner RENEWAL
Sinclair P MaletCanadaStephen Shaw QUALIFIED
Ivar N NickaCanadaIoni Bowcher QUALIFIED
Ivar P CaudyGermanyIoni Bowcher UNQUALIFIED
Julie T VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Arvin N BologniaAustraliaStephen Shaw QUALIFIED
Ricardo B MaletBrazilAmy Elsner NEGOTIATION
Stacey O FollerAustraliaOnyama Limba PROPOSAL
Jones C KolmetzIndiaAsiya Javayant RENEWAL
Ricardo P GarufiGermanyElwin Sharvill NEW
Johnson N GillianAustraliaIvan Magalhaes NEGOTIATION
Octavia N AlbaresCanadaOnyama Limba NEGOTIATION
Emily H WaycottCanadaAsiya Javayant RENEWAL
Aruna P FlosiFranceXuxue Feng NEGOTIATION
Jennifer P GarufiItalyXuxue Feng UNQUALIFIED
Smith O SergiBrazilAnna Fali RENEWAL
Darci F MacleadFranceAsiya Javayant NEGOTIATION
Salvatore U BologniaFranceIoni Bowcher UNQUALIFIED
Darci M GillianItalyAnna Fali QUALIFIED
Greenwood E GlickFranceIoni Bowcher RENEWAL
Faith B CaudyItalyStephen Shaw NEW
Murillo Z NickaCanadaBernardo Dominic RENEWAL
Mujtaba B CaldareraFranceElwin Sharvill NEW
Nicolas O DarakjyBrazilOnyama Limba QUALIFIED
Leja C ShinkoUnited KingdomOnyama Limba PROPOSAL
Salvatore O RulapaughItalyOnyama Limba NEW
Johnson O DoeSpainAmy Elsner PROPOSAL
Darci G CampainJapanOnyama Limba PROPOSAL
Adams L RoysterBrazilIoni Bowcher NEGOTIATION
Misaki L IturbideCanadaXuxue Feng PROPOSAL
Greenwood Y RutaBrazilBernardo Dominic 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>