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
Maisha Q MaletFranceElwin Sharvill NEGOTIATION
Juan B OldroydBrazilIvan Magalhaes UNQUALIFIED
Murillo M CaldareraSpainOnyama Limba NEW
Ivar B AlbaresSpainXuxue Feng RENEWAL
Aika V TollnerJapanStephen Shaw NEW
Chavez Y SaylorsGermanyOnyama Limba RENEWAL
Ivar E KolmetzArgentinaElwin Sharvill PROPOSAL
Sinclair Y VocelkaCanadaIoni Bowcher PROPOSAL
Emily O GarufiRussiaIvan Magalhaes RENEWAL
Salvatore D FlosiRussiaAnna Fali RENEWAL
Mujtaba V GarufiRussiaAsiya Javayant PROPOSAL
Chavez P CaldareraAustraliaElwin Sharvill UNQUALIFIED
Clifford B PoquetteItalyAmy Elsner NEW
Claire F FlosiCanadaOnyama Limba UNQUALIFIED
David C MarrierIndiaBernardo Dominic PROPOSAL
Jones N StockhamIndiaAmy Elsner NEGOTIATION
Maisha E GauchoArgentinaXuxue Feng PROPOSAL
Antonio D SaylorsRussiaIvan Magalhaes UNQUALIFIED
Darci H MacleadAustraliaOnyama Limba NEGOTIATION
Antonio A GarufiGermanyAsiya Javayant RENEWAL
Adams J PerinAustraliaIvan Magalhaes NEGOTIATION
Mayumi Z RulapaughAustraliaElwin Sharvill QUALIFIED
Aditya Z CaudyFranceOnyama Limba NEGOTIATION
Julie U OstroskyRussiaIoni Bowcher NEGOTIATION
Antonio M StensethArgentinaElwin Sharvill RENEWAL
Darci C BologniaCanadaIvan Magalhaes RENEWAL
Ivar T BologniaGermanyAmy Elsner QUALIFIED
Chavez F MaletItalyOnyama Limba QUALIFIED
Kadeem R OldroydGermanyIoni Bowcher UNQUALIFIED
Alejandro D BriddickIndiaAmy Elsner NEGOTIATION
Sinclair L PerinArgentinaOnyama Limba NEGOTIATION
Ashley K FlosiGermanyIoni Bowcher RENEWAL
Darci N IturbideIndiaAnna Fali UNQUALIFIED
Jennifer N SaylorsUnited KingdomElwin Sharvill PROPOSAL
Jefferson S OstroskyUnited KingdomAsiya Javayant UNQUALIFIED
Faith R OstroskyAustraliaAsiya Javayant PROPOSAL
Chavez H StockhamGermanyStephen Shaw NEW
Kadeem D RutaCanadaXuxue Feng PROPOSAL
David K MaletAustraliaIoni Bowcher UNQUALIFIED
Salvatore Z GlickAustraliaAnna Fali QUALIFIED
Isabel C VenereUnited KingdomIoni Bowcher RENEWAL
Clifford H GillianJapanAnna Fali UNQUALIFIED
David W InouyeAustraliaIoni Bowcher NEGOTIATION
Johnson L PerinArgentinaOnyama Limba NEGOTIATION
Ashley W GillianItalyBernardo Dominic RENEWAL
Chavez Y CaldareraUnited KingdomXuxue Feng PROPOSAL
Jefferson A AlbaresItalyIvan Magalhaes NEW
Mujtaba H AmigonAustraliaXuxue Feng UNQUALIFIED
Ivar L NickaFranceAsiya Javayant NEGOTIATION
Kadeem A SchemmerUnited KingdomAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Antonio P OldroydUnited KingdomAmy Elsner NEGOTIATION
Costa X PaprockiJapanStephen Shaw UNQUALIFIED
Clifford F GarufiSpainAsiya Javayant PROPOSAL
Cody T ButtJapanIvan Magalhaes NEGOTIATION
Maisha Z FollerItalyOnyama Limba NEW
Costa K GauchoItalyIvan Magalhaes NEGOTIATION
Misaki U RutaRussiaIoni Bowcher RENEWAL
Maisha F ChuiJapanElwin Sharvill NEW
James V NickaAustraliaAnna Fali RENEWAL
James Q RoysterCanadaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson H StockhamJapan2026-09-08Feiner Bros QUALIFIED96Asiya Javayant
1001Nicolas A WaycottItaly2026-08-27Rangoni Of Florence RENEWAL35Onyama Limba
1002Rodrigues L KolmetzRussia2026-09-02Chapman, Ross E Esq RENEWAL71Elwin Sharvill
1003Murillo T NickaFrance2026-08-27Chemel, James L Cpa NEGOTIATION48Asiya Javayant
1004James V WieserJapan2026-09-01Feiner Bros NEW54Asiya Javayant
1005Munro P ChuiArgentina2026-08-26Chanay, Jeffrey A Esq RENEWAL44Ioni Bowcher
1006Mayumi E VenereCanada2026-09-10Chapman, Ross E Esq NEW42Ioni Bowcher
1007Wickens S CaldareraUnited Kingdom2026-09-18King, Christopher A Esq NEGOTIATION45Elwin Sharvill
1008Silvio A RutaGermany2026-09-06Rousseaux, Michael Esq UNQUALIFIED4Ivan Magalhaes
1009Darci H FollerRussia2026-08-23Printing Dimensions RENEWAL10Stephen Shaw
1010Izzy U MorascaJapan2026-09-14Morlong Associates NEGOTIATION34Xuxue Feng
1011Greenwood F MorascaFrance2026-09-19Rousseaux, Michael Esq NEGOTIATION39Elwin Sharvill
1012Octavia M BologniaBrazil2026-09-17Benton, John B Jr QUALIFIED70Stephen Shaw
1013Maisha H SchemmerItaly2026-09-15Chapman, Ross E Esq QUALIFIED47Stephen Shaw
1014Silvio V PerinCanada2026-09-01Chemel, James L Cpa UNQUALIFIED72Ivan Magalhaes
1015David V SaylorsAustralia2026-08-22Benton, John B Jr NEW40Amy Elsner
1016Maria U SchemmerFrance2026-09-16Morlong Associates NEW89Xuxue Feng
1017James N BriddickRussia2026-09-11King, Christopher A Esq NEW94Elwin Sharvill
1018Aditya U InouyeUnited Kingdom2026-09-17Chemel, James L Cpa UNQUALIFIED44Amy Elsner
1019Chavez J FerenczRussia2026-09-01Feiner Bros NEW86Ivan Magalhaes
1020Maria Q FlosiAustralia2026-09-12Rangoni Of Florence RENEWAL44Asiya Javayant
1021Munro P DilliardRussia2026-08-23Dorl, James J Esq NEW92Bernardo Dominic
1022Jennifer M NickaItaly2026-08-23Chemel, James L Cpa QUALIFIED81Bernardo Dominic
1023Faith W VenereGermany2026-08-29King, Christopher A Esq RENEWAL23Ioni Bowcher
1024Sinclair I OldroydGermany2026-09-06Truhlar And Truhlar Attys UNQUALIFIED85Xuxue Feng
1025Aruna V CaudyFrance2026-09-13Truhlar And Truhlar Attys UNQUALIFIED32Elwin Sharvill
1026Jennifer G MorascaItaly2026-09-14Rousseaux, Michael Esq NEGOTIATION28Elwin Sharvill
1027Aditya O InouyeItaly2026-08-30Feltz Printing Service NEGOTIATION45Ivan Magalhaes
1028Darci F DilliardCanada2026-09-01Commercial Press QUALIFIED83Xuxue Feng
1029Clifford H OldroydJapan2026-09-16Truhlar And Truhlar Attys PROPOSAL34Amy Elsner
1030Mujtaba T BriddickAustralia2026-09-09Rangoni Of Florence NEGOTIATION73Bernardo Dominic
1031Mayumi B ChuiItaly2026-08-24Chanay, Jeffrey A Esq RENEWAL27Xuxue Feng
1032Wickens I MaletIndia2026-09-06Dorl, James J Esq UNQUALIFIED31Bernardo Dominic
1033Ashley F SaylorsFrance2026-09-07Commercial Press NEGOTIATION82Asiya Javayant
1034Clifford L RoysterIndia2026-08-23Buckley Miller Wright PROPOSAL29Onyama Limba
1035Ricardo K ShinkoRussia2026-09-18King, Christopher A Esq PROPOSAL83Onyama Limba
1036Arvin I CaudyUnited Kingdom2026-09-12Chapman, Ross E Esq RENEWAL11Bernardo Dominic
1037Johnson Z WieserItaly2026-09-04Chemel, James L Cpa UNQUALIFIED82Anna Fali
1038Deepesh C MacleadBrazil2026-09-01Commercial Press RENEWAL74Onyama Limba
1039Mujtaba S MaletUnited Kingdom2026-08-22Benton, John B Jr NEW85Amy Elsner
1040Claire J MaletItaly2026-09-11Rangoni Of Florence RENEWAL99Amy Elsner
1041Leja W VenereGermany2026-08-23King, Christopher A Esq UNQUALIFIED80Stephen Shaw
1042Sinclair T GarufiAustralia2026-08-28Feiner Bros RENEWAL28Elwin Sharvill
1043Clifford K MarrierFrance2026-08-31Commercial Press PROPOSAL7Ioni Bowcher
1044Wickens C IturbideItaly2026-09-02Printing Dimensions RENEWAL62Stephen Shaw
1045Jennifer O BowleyFrance2026-09-03Commercial Press QUALIFIED43Anna Fali
1046Silvio M FollerFrance2026-09-03Printing Dimensions QUALIFIED80Asiya Javayant
1047Isabel C GillianGermany2026-09-19Truhlar And Truhlar Attys QUALIFIED60Elwin Sharvill
1048Leon B CampainUnited Kingdom2026-09-13Dorl, James J Esq PROPOSAL70Bernardo Dominic
1049Maria L SlusarskiJapan2026-09-11Morlong Associates NEW91Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Smith V DilliardBrazilXuxue Feng PROPOSAL
Ivar K KuskoItalyOnyama Limba UNQUALIFIED
James W FlosiCanadaXuxue Feng RENEWAL
Isabel G InouyeFranceAmy Elsner QUALIFIED
Mujtaba L VenereUnited KingdomOnyama Limba NEGOTIATION
Aditya C PerinUnited KingdomAsiya Javayant QUALIFIED
Misaki I DilliardJapanAnna Fali PROPOSAL
Emily U VocelkaArgentinaStephen Shaw PROPOSAL
Morrow F CaldareraUnited KingdomStephen Shaw NEGOTIATION
Clifford K KolmetzFranceBernardo Dominic QUALIFIED
Maisha N AlbaresArgentinaIvan Magalhaes RENEWAL
Ricardo U BologniaSpainAmy Elsner NEW
Aditya L FlosiSpainIvan Magalhaes NEGOTIATION
Clifford G FerenczFranceAsiya Javayant QUALIFIED
David U ButtBrazilXuxue Feng PROPOSAL
Julie D InouyeIndiaXuxue Feng NEGOTIATION
Aruna I FlosiSpainOnyama Limba PROPOSAL
Emily K BowleyFranceIvan Magalhaes NEW
Mayumi C SergiIndiaOnyama Limba NEGOTIATION
Misaki P PaprockiSpainIoni Bowcher PROPOSAL
Costa M OldroydArgentinaStephen Shaw UNQUALIFIED
Costa Q FerenczCanadaIvan Magalhaes PROPOSAL
Nicolas J GillianIndiaAnna Fali QUALIFIED
Stacey L GillianBrazilAnna Fali UNQUALIFIED
Smith Y KolmetzAustraliaIvan Magalhaes NEGOTIATION
Kadeem Q StensethIndiaBernardo Dominic QUALIFIED
Jones F WhobreyRussiaIvan Magalhaes QUALIFIED
Francesco N PoquetteFranceAmy Elsner UNQUALIFIED
Ricardo D IturbideRussiaBernardo Dominic NEW
Ivar G DoeIndiaIvan Magalhaes PROPOSAL
Antonio E VocelkaIndiaOnyama Limba RENEWAL
Ashley Q SergiAustraliaElwin Sharvill RENEWAL
Mujtaba A BriddickBrazilStephen Shaw NEW
Francesco C FerenczRussiaBernardo Dominic RENEWAL
Cody G RoysterAustraliaAmy Elsner NEGOTIATION
Maisha L RimFranceOnyama Limba NEW
Mayumi N DarakjyBrazilAsiya Javayant RENEWAL
Leja X OstroskyJapanBernardo Dominic NEW
Jefferson D BologniaJapanXuxue Feng NEW
Kadeem D DoeFranceAsiya Javayant PROPOSAL
Darci L RutaIndiaBernardo Dominic NEW
Cody N AmigonSpainIoni Bowcher UNQUALIFIED
Nicolas A InouyeArgentinaIoni Bowcher QUALIFIED
Emily N RutaCanadaAsiya Javayant RENEWAL
Adams M OldroydArgentinaElwin Sharvill NEGOTIATION
Aruna H InouyeJapanIoni Bowcher NEGOTIATION
Clifford Y StockhamSpainStephen Shaw NEGOTIATION
Leon S KolmetzFranceElwin Sharvill QUALIFIED
Antonio H CampainJapanBernardo Dominic NEW
Jennifer D SlusarskiAustraliaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Francesco L Saylors
Kadeem N Slusarski
Isabel B Malet
Stacey K Caudy
Ricardo C Inouye
Chavez W Poquette
Ricardo W Stockham
Chavez R Ostrosky
Juan H Tollner
Claire S Whobrey
Tony Z Marrier
Isabel A Sergi
Misaki S Royster
Deepesh I Paprocki
Juan J Foller
Greenwood J Maclead
Darci S Malet
Johnson W Royster
Juan H Darakjy
Salvatore D Foller
Alejandro B Albares
Nicolas G Nicka
Clifford S Figeroa
Stacey P Rulapaugh
Claire D Albares
Maisha X Flosi
Maisha W Schemmer
Aruna A Whobrey
Jennifer W Doe
David D Venere
Jones E Stockham
Jennifer D Kolmetz
Johnson F Foller
Isabel T Gillian
Wickens E Ruta
Chavez G Nicka
Octavia D Garufi
Smith W Tollner
Kadeem Z Vocelka
Faith U Rim
Greenwood A Bolognia
Antonio R Dilliard
Leja B Malet
Aika H Amigon
Jeanfrancois S Butt
Jeanfrancois I Glick
Ricardo Y Stenseth
Adams F Garufi
Leon P Waycott
Aruna J Sergi
IdCountryDate
1000Germany2026-09-04
1001Italy2026-08-24
1002Germany2026-09-10
1003Germany2026-08-30
1004France2026-09-08
1005United Kingdom2026-09-05
1006Russia2026-09-12
1007France2026-09-05
1008Argentina2026-09-10
1009Spain2026-08-27
1010Brazil2026-08-27
1011Spain2026-08-28
1012Italy2026-09-01
1013Germany2026-08-26
1014Brazil2026-09-10
1015France2026-08-25
1016Russia2026-09-13
1017France2026-08-30
1018France2026-09-07
1019Canada2026-09-19
1020Canada2026-09-17
1021Canada2026-09-12
1022Brazil2026-09-10
1023Australia2026-09-20
1024Japan2026-09-15
1025Brazil2026-09-09
1026Brazil2026-09-15
1027Italy2026-08-23
1028France2026-09-13
1029India2026-09-12
1030India2026-08-30
1031Japan2026-09-14
1032France2026-09-14
1033Argentina2026-08-24
1034Argentina2026-09-17
1035Brazil2026-08-31
1036Brazil2026-09-10
1037Italy2026-09-15
1038Japan2026-09-02
1039Italy2026-09-18
1040Spain2026-09-19
1041France2026-09-08
1042United Kingdom2026-09-08
1043Brazil2026-08-30
1044France2026-08-24
1045Canada2026-09-12
1046Russia2026-08-22
1047Spain2026-09-19
1048Japan2026-09-12
1049Spain2026-08-22

On-Demand Data

NameIdCountryDate
Octavia N Stockham1000Japan2026-09-07
Octavia J Nicka1001Italy2026-08-23
Smith B Flosi1002Japan2026-09-08
Kaitlin K Foller1003Australia2026-08-26
Munro K Bowley1004Australia2026-08-31
Costa K Foller1005France2026-09-08
Faith E Stockham1006Germany2026-08-24
Sinclair Y Vocelka1007Argentina2026-09-13
Maisha M Glick1008United Kingdom2026-09-11
Munro Z Gillian1009Argentina2026-09-12
Juan I Sergi1010Canada2026-09-08
Emily Y Poquette1011Italy2026-08-30
Aditya V Ferencz1012Spain2026-09-16
Francesco M Caldarera1013Argentina2026-09-08
Maria B Sergi1014Italy2026-08-24
Mujtaba O Inouye1015Spain2026-08-22
Jennifer H Nestle1016India2026-09-07
Mayumi Z Slusarski1017United Kingdom2026-09-19
Morrow U Flosi1018Canada2026-08-22
Aditya O Ostrosky1019United Kingdom2026-08-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel R FlosiItalyAnna Fali UNQUALIFIED
Smith S RimIndiaElwin Sharvill UNQUALIFIED
Aruna T GlickUnited KingdomAsiya Javayant UNQUALIFIED
Francesco L FigeroaCanadaStephen Shaw QUALIFIED
Johnson E BologniaCanadaIoni Bowcher QUALIFIED
Julie Y RutaArgentinaAnna Fali RENEWAL
Maisha X DilliardJapanAmy Elsner UNQUALIFIED
Mayumi B PaprockiJapanXuxue Feng NEGOTIATION
Emily Z NickaSpainIvan Magalhaes QUALIFIED
Faith X FigeroaIndiaElwin Sharvill NEGOTIATION
Octavia M CaldareraIndiaAsiya Javayant NEW
Julie Y GlickSpainAmy Elsner NEGOTIATION
Ivar V OldroydJapanAnna Fali QUALIFIED
Izzy P OstroskyFranceIoni Bowcher NEGOTIATION
Mujtaba T SchemmerGermanyXuxue Feng NEGOTIATION
Smith M OstroskyFranceElwin Sharvill UNQUALIFIED
Ivar W GarufiGermanyXuxue Feng NEGOTIATION
Chavez H DilliardJapanAmy Elsner QUALIFIED
Jefferson G StensethJapanAsiya Javayant UNQUALIFIED
Izzy Y PaprockiRussiaXuxue Feng RENEWAL
Munro K AmigonIndiaIoni Bowcher QUALIFIED
Francesco Z SaylorsArgentinaIoni Bowcher RENEWAL
Chavez H SergiFranceAmy Elsner UNQUALIFIED
Kadeem Y CampainFranceOnyama Limba RENEWAL
Rodrigues U ShinkoFranceAmy Elsner UNQUALIFIED
Greenwood R AlbaresRussiaStephen Shaw NEW
Ricardo V NestleBrazilAmy Elsner RENEWAL
Clifford R NestleCanadaXuxue Feng NEGOTIATION
Morrow I WieserUnited KingdomBernardo Dominic PROPOSAL
Mujtaba G StockhamGermanyAmy Elsner NEW
Morrow U PerinRussiaAnna Fali NEW
Ashley Z KolmetzIndiaStephen Shaw UNQUALIFIED
Kadeem K ButtUnited KingdomElwin Sharvill QUALIFIED
Faith T AlbaresJapanAsiya Javayant RENEWAL
Arvin V RimGermanyElwin Sharvill NEGOTIATION
Antonio V AlbaresItalyIvan Magalhaes NEW
Aruna P WieserGermanyAsiya Javayant UNQUALIFIED
Murillo K IturbideArgentinaBernardo Dominic RENEWAL
Julie U DarakjyCanadaAmy Elsner RENEWAL
Juan E ShinkoFranceBernardo Dominic 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>