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
Chavez E MorascaArgentinaXuxue Feng QUALIFIED
Maria Z CaldareraArgentinaIoni Bowcher UNQUALIFIED
Leja A SlusarskiArgentinaOnyama Limba NEGOTIATION
Mujtaba U KolmetzArgentinaBernardo Dominic NEW
Maisha B FerenczBrazilOnyama Limba RENEWAL
Francesco N DilliardFranceBernardo Dominic NEGOTIATION
Aika R DarakjyGermanyBernardo Dominic PROPOSAL
Aika A KuskoJapanStephen Shaw UNQUALIFIED
Arvin D DoeBrazilIoni Bowcher PROPOSAL
Octavia A MaletBrazilAsiya Javayant PROPOSAL
Leja P GarufiSpainAsiya Javayant QUALIFIED
Adams N GauchoCanadaAmy Elsner QUALIFIED
Darci T AlbaresCanadaIoni Bowcher NEW
Morrow D NickaUnited KingdomAnna Fali RENEWAL
Julie S BriddickAustraliaAmy Elsner RENEWAL
Antonio G NestleArgentinaStephen Shaw NEW
Faith Y MarrierFranceXuxue Feng UNQUALIFIED
Misaki V BriddickBrazilElwin Sharvill QUALIFIED
Leon Q SergiAustraliaOnyama Limba NEW
Mujtaba B OldroydUnited KingdomElwin Sharvill RENEWAL
Ashley X MacleadIndiaOnyama Limba RENEWAL
Isabel X SaylorsArgentinaStephen Shaw RENEWAL
Emily Z GillianJapanXuxue Feng QUALIFIED
Silvio J RoysterCanadaBernardo Dominic NEGOTIATION
Greenwood C FlosiGermanyBernardo Dominic RENEWAL
Antonio T BowleyAustraliaIvan Magalhaes QUALIFIED
Misaki H PoquetteGermanyIvan Magalhaes NEGOTIATION
Adams Q TollnerArgentinaXuxue Feng QUALIFIED
Nicolas B FerenczBrazilAsiya Javayant UNQUALIFIED
Jennifer W ButtSpainStephen Shaw RENEWAL
Johnson G BowleySpainElwin Sharvill RENEWAL
Emily M AlbaresJapanBernardo Dominic UNQUALIFIED
Ivar S SaylorsIndiaBernardo Dominic NEW
Mayumi D ShinkoBrazilIvan Magalhaes UNQUALIFIED
Ivar Y GlickFranceAmy Elsner QUALIFIED
Johnson Z MaletIndiaIvan Magalhaes PROPOSAL
Jeanfrancois J WhobreyGermanyIoni Bowcher NEGOTIATION
Emily O SergiItalyAmy Elsner NEW
Antonio L VenereUnited KingdomAsiya Javayant PROPOSAL
Smith V RulapaughUnited KingdomIoni Bowcher NEW
Ricardo D BologniaJapanBernardo Dominic QUALIFIED
Ashley U CaudyFranceAnna Fali RENEWAL
Salvatore N KolmetzArgentinaAmy Elsner QUALIFIED
Isabel A IturbideIndiaAmy Elsner QUALIFIED
Kaitlin I RimRussiaIoni Bowcher NEGOTIATION
Ricardo L RutaCanadaIvan Magalhaes PROPOSAL
Stacey A DilliardAustraliaOnyama Limba RENEWAL
Misaki L VenereFranceIvan Magalhaes PROPOSAL
Wickens H BowleyJapanElwin Sharvill RENEWAL
Stacey Q StockhamBrazilXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues G IturbideBrazilOnyama Limba NEGOTIATION
Mujtaba X WieserCanadaIvan Magalhaes UNQUALIFIED
Ashley X MorascaCanadaIoni Bowcher PROPOSAL
Kaitlin T VenereCanadaAmy Elsner QUALIFIED
Aditya E PaprockiFranceAsiya Javayant NEW
Francesco Q CampainArgentinaOnyama Limba NEW
Kadeem M IturbideFranceOnyama Limba QUALIFIED
Jones U MaletFranceIoni Bowcher PROPOSAL
Antonio B OstroskyJapanAmy Elsner NEW
Arvin R PerinSpainIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha U PerinSpain2026-09-30Feltz Printing Service NEGOTIATION36Onyama Limba
1001Ricardo U WieserItaly2026-10-10Printing Dimensions UNQUALIFIED56Onyama Limba
1002Maisha X InouyeCanada2026-09-21Morlong Associates PROPOSAL40Ivan Magalhaes
1003Misaki S VocelkaRussia2026-10-07Buckley Miller Wright NEW87Elwin Sharvill
1004Aditya P ShinkoRussia2026-10-09Truhlar And Truhlar Attys RENEWAL79Anna Fali
1005Leon K VenereAustralia2026-10-10Rangoni Of Florence QUALIFIED19Stephen Shaw
1006Faith D ButtGermany2026-10-05Chanay, Jeffrey A Esq NEW53Amy Elsner
1007Darci K OldroydArgentina2026-09-30Dorl, James J Esq UNQUALIFIED79Xuxue Feng
1008Julie S RoysterFrance2026-09-23Feiner Bros NEW34Xuxue Feng
1009Silvio H PerinRussia2026-10-07Chapman, Ross E Esq QUALIFIED39Asiya Javayant
1010Mujtaba V NickaArgentina2026-10-13Feltz Printing Service NEW19Ivan Magalhaes
1011Ashley N FigeroaRussia2026-09-19Chemel, James L Cpa UNQUALIFIED65Asiya Javayant
1012Darci S AmigonArgentina2026-10-03Chapman, Ross E Esq PROPOSAL22Ioni Bowcher
1013Nicolas X MaletGermany2026-10-15Feltz Printing Service UNQUALIFIED29Ivan Magalhaes
1014Nicolas Y InouyeIndia2026-10-09Chemel, James L Cpa NEGOTIATION72Ivan Magalhaes
1015Morrow Y WaycottJapan2026-09-26Truhlar And Truhlar Attys QUALIFIED10Xuxue Feng
1016Maria T InouyeItaly2026-09-27Feltz Printing Service UNQUALIFIED61Anna Fali
1017Smith R AmigonJapan2026-09-22Chanay, Jeffrey A Esq NEW39Asiya Javayant
1018Johnson K MarrierGermany2026-09-17Benton, John B Jr PROPOSAL95Ivan Magalhaes
1019Sinclair R PerinBrazil2026-10-03Chemel, James L Cpa NEGOTIATION3Ivan Magalhaes
1020Arvin T InouyeJapan2026-10-03Chanay, Jeffrey A Esq UNQUALIFIED90Amy Elsner
1021Maisha O VenereIndia2026-10-08Commercial Press QUALIFIED62Ivan Magalhaes
1022Francesco S FerenczBrazil2026-09-27Chanay, Jeffrey A Esq UNQUALIFIED76Onyama Limba
1023Darci E SlusarskiJapan2026-09-25Feltz Printing Service RENEWAL56Xuxue Feng
1024Isabel A CaldareraJapan2026-09-23Morlong Associates NEW62Amy Elsner
1025Antonio P OstroskyBrazil2026-10-10King, Christopher A Esq UNQUALIFIED4Onyama Limba
1026Octavia I DarakjyFrance2026-10-14Chemel, James L Cpa PROPOSAL95Elwin Sharvill
1027Kadeem D FollerArgentina2026-10-01Dorl, James J Esq NEGOTIATION79Bernardo Dominic
1028Darci W MorascaItaly2026-09-25Benton, John B Jr UNQUALIFIED89Onyama Limba
1029Cody X OstroskyGermany2026-10-05Benton, John B Jr PROPOSAL85Anna Fali
1030Jeanfrancois K OstroskyCanada2026-10-02Chemel, James L Cpa NEW97Amy Elsner
1031Jefferson B CaldareraItaly2026-10-07Feltz Printing Service UNQUALIFIED78Bernardo Dominic
1032Cody S MarrierAustralia2026-09-18Chemel, James L Cpa RENEWAL24Anna Fali
1033Tony W StockhamItaly2026-09-23Commercial Press UNQUALIFIED8Amy Elsner
1034Aika G SlusarskiFrance2026-10-16Chapman, Ross E Esq QUALIFIED41Stephen Shaw
1035Misaki G ShinkoIndia2026-10-01Printing Dimensions RENEWAL9Amy Elsner
1036Ricardo H ButtArgentina2026-10-10Chapman, Ross E Esq PROPOSAL65Asiya Javayant
1037Juan H WhobreyAustralia2026-10-16Rousseaux, Michael Esq RENEWAL9Onyama Limba
1038Munro R PaprockiAustralia2026-09-26Morlong Associates RENEWAL39Onyama Limba
1039Jones O WieserBrazil2026-10-07Chanay, Jeffrey A Esq QUALIFIED71Amy Elsner
1040Leja O RimUnited Kingdom2026-09-17Chemel, James L Cpa NEGOTIATION2Elwin Sharvill
1041Kaitlin C SergiItaly2026-10-03Truhlar And Truhlar Attys NEW49Amy Elsner
1042Ashley R VocelkaFrance2026-09-17King, Christopher A Esq QUALIFIED5Elwin Sharvill
1043Arvin I MaletSpain2026-10-08Feiner Bros UNQUALIFIED21Stephen Shaw
1044Jeanfrancois E InouyeFrance2026-10-07Rousseaux, Michael Esq QUALIFIED83Asiya Javayant
1045Nicolas J InouyeFrance2026-09-19Chapman, Ross E Esq RENEWAL43Ivan Magalhaes
1046Smith G FerenczUnited Kingdom2026-09-23Benton, John B Jr NEW11Xuxue Feng
1047Munro P StensethRussia2026-09-19Rousseaux, Michael Esq UNQUALIFIED31Stephen Shaw
1048David L RulapaughFrance2026-10-05Rousseaux, Michael Esq PROPOSAL32Onyama Limba
1049Ashley B MaletGermany2026-10-09Rousseaux, Michael Esq NEW23Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson Y CaldareraJapanIvan Magalhaes NEGOTIATION
Leja G WaycottSpainAsiya Javayant QUALIFIED
Misaki S SaylorsSpainAsiya Javayant QUALIFIED
Jennifer X KolmetzRussiaAsiya Javayant PROPOSAL
Julie M GlickSpainIvan Magalhaes NEW
Alejandro X SergiBrazilIvan Magalhaes RENEWAL
Leja O FerenczFranceAnna Fali UNQUALIFIED
Smith Q GauchoUnited KingdomOnyama Limba PROPOSAL
Johnson S VocelkaRussiaIoni Bowcher RENEWAL
David B PaprockiBrazilElwin Sharvill RENEWAL
Silvio M IturbideJapanXuxue Feng RENEWAL
Wickens R SlusarskiSpainStephen Shaw QUALIFIED
Wickens L WieserCanadaOnyama Limba NEGOTIATION
Mayumi W PerinItalyIvan Magalhaes QUALIFIED
Rodrigues S WieserGermanyAnna Fali UNQUALIFIED
Johnson V CaldareraUnited KingdomOnyama Limba NEW
Arvin B GauchoBrazilElwin Sharvill RENEWAL
Morrow N NestleJapanXuxue Feng PROPOSAL
Deepesh K VenereAustraliaAsiya Javayant NEGOTIATION
Chavez J RulapaughFranceBernardo Dominic QUALIFIED
Misaki R RulapaughItalyIoni Bowcher NEW
David C OstroskyGermanyAnna Fali NEGOTIATION
Adams E KolmetzAustraliaIvan Magalhaes RENEWAL
Jefferson Y VenereUnited KingdomXuxue Feng NEGOTIATION
Claire V StensethFranceXuxue Feng NEW
Johnson V FerenczFranceIvan Magalhaes RENEWAL
Ricardo A RoysterCanadaXuxue Feng RENEWAL
Jeanfrancois G RoysterIndiaBernardo Dominic NEGOTIATION
Aruna Q WieserRussiaAnna Fali RENEWAL
Leja T RoysterFranceIoni Bowcher PROPOSAL
Mayumi B NestleAustraliaBernardo Dominic RENEWAL
Leon J InouyeBrazilAnna Fali NEGOTIATION
Rodrigues U BologniaGermanyBernardo Dominic UNQUALIFIED
Faith L ChuiArgentinaElwin Sharvill NEGOTIATION
Darci S TollnerArgentinaElwin Sharvill UNQUALIFIED
Chavez M FollerGermanyAmy Elsner QUALIFIED
Aruna D StensethGermanyAmy Elsner NEGOTIATION
Isabel S BowleySpainIoni Bowcher UNQUALIFIED
Salvatore R DoeRussiaAmy Elsner NEW
Murillo K CaudyGermanyIvan Magalhaes RENEWAL
Sinclair P CaudyArgentinaAsiya Javayant QUALIFIED
Jennifer T KuskoItalyAnna Fali UNQUALIFIED
Cody J DoeRussiaAsiya Javayant NEGOTIATION
Jones X MaletGermanyIvan Magalhaes NEGOTIATION
Jeanfrancois A TollnerJapanIoni Bowcher NEGOTIATION
Nicolas Q OstroskyAustraliaAmy Elsner RENEWAL
Smith L TollnerGermanyAsiya Javayant UNQUALIFIED
Ashley A InouyeJapanAmy Elsner NEGOTIATION
Tony W NickaIndiaOnyama Limba RENEWAL
Octavia T RimArgentinaStephen Shaw NEW
Frozen Columns
Name
David D Garufi
Costa S Vocelka
Adams T Marrier
Ricardo Y Caudy
Aika Q Briddick
Jefferson A Waycott
Isabel I Venere
Aika W Saylors
Jeanfrancois S Paprocki
Darci Q Briddick
Leja I Butt
Emily S Nicka
Aruna I Bolognia
Deepesh Q Foller
David L Chui
Mayumi E Briddick
Sinclair L Slusarski
James N Stockham
Arvin H Vocelka
Tony J Butt
Deepesh M Kusko
Arvin O Bolognia
Alejandro H Royster
Rodrigues V Darakjy
Chavez V Glick
Nicolas X Perin
James X Albares
Misaki N Ruta
Costa W Sergi
Julie T Flosi
Octavia X Slusarski
Antonio X Slusarski
Leja Y Rim
Arvin O Rim
Izzy T Glick
David E Malet
Jefferson Z Saylors
Antonio R Albares
Antonio B Malet
Aditya K Sergi
Francesco V Vocelka
David V Caldarera
Greenwood H Chui
Cody G Albares
Claire U Butt
Wickens R Perin
Cody C Morasca
Jennifer F Glick
Misaki X Tollner
Johnson A Nicka
IdCountryDate
1000Japan2026-09-23
1001Australia2026-10-16
1002Australia2026-09-29
1003Russia2026-10-02
1004Brazil2026-10-12
1005Spain2026-10-15
1006India2026-10-10
1007India2026-09-22
1008Argentina2026-10-14
1009Russia2026-09-28
1010Spain2026-10-08
1011Canada2026-09-27
1012Argentina2026-10-08
1013Russia2026-10-10
1014Japan2026-09-30
1015United Kingdom2026-09-20
1016United Kingdom2026-10-14
1017Brazil2026-10-12
1018United Kingdom2026-09-29
1019Germany2026-10-04
1020Canada2026-10-06
1021Brazil2026-10-15
1022Australia2026-10-01
1023France2026-09-17
1024Argentina2026-09-28
1025United Kingdom2026-10-05
1026Australia2026-09-24
1027Germany2026-09-20
1028Australia2026-09-23
1029Spain2026-09-19
1030India2026-09-19
1031Italy2026-10-05
1032Argentina2026-09-24
1033United Kingdom2026-10-10
1034Japan2026-09-25
1035Australia2026-10-04
1036Japan2026-09-26
1037Italy2026-09-30
1038Spain2026-10-09
1039Brazil2026-10-10
1040Spain2026-09-26
1041Spain2026-09-18
1042Russia2026-10-11
1043Australia2026-10-07
1044Australia2026-09-27
1045Australia2026-09-20
1046Canada2026-10-15
1047Russia2026-09-23
1048Canada2026-09-25
1049Argentina2026-10-07

On-Demand Data

NameIdCountryDate
Jeanfrancois F Tollner1000Canada2026-10-05
Maria J Caldarera1001Australia2026-10-01
Adams D Chui1002Canada2026-09-24
Maria U Nicka1003Japan2026-10-04
Aruna H Malet1004Germany2026-09-28
Salvatore L Flosi1005Canada2026-09-28
Morrow D Bowley1006Japan2026-10-08
Aika B Briddick1007Russia2026-09-23
Jefferson D Albares1008Japan2026-10-07
Isabel A Kusko1009Spain2026-10-07
Ashley B Albares1010Brazil2026-09-26
Jeanfrancois O Waycott1011Argentina2026-10-03
Kaitlin M Glick1012India2026-09-30
James Z Caudy1013Brazil2026-09-22
Tony O Foller1014Italy2026-10-13
Chavez H Morasca1015United Kingdom2026-10-04
Arvin X Rim1016Japan2026-10-12
Murillo M Maclead1017Argentina2026-10-12
Salvatore O Chui1018Canada2026-10-16
Francesco F Foller1019Russia2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson H OstroskyJapanAnna Fali PROPOSAL
Greenwood Z NestleSpainBernardo Dominic QUALIFIED
James O BowleyJapanOnyama Limba NEGOTIATION
Jennifer C RutaSpainBernardo Dominic RENEWAL
Wickens U WieserGermanyAnna Fali PROPOSAL
Jennifer L DilliardItalyAmy Elsner RENEWAL
Francesco Z BowleyArgentinaBernardo Dominic NEW
Clifford L CampainJapanXuxue Feng UNQUALIFIED
Alejandro R SergiBrazilBernardo Dominic QUALIFIED
Wickens Q RulapaughAustraliaAsiya Javayant PROPOSAL
Maria G TollnerSpainAsiya Javayant NEW
Jeanfrancois Q FlosiUnited KingdomAnna Fali QUALIFIED
Salvatore W VocelkaAustraliaBernardo Dominic NEGOTIATION
Faith M AlbaresGermanyOnyama Limba NEGOTIATION
Ashley E SergiIndiaOnyama Limba QUALIFIED
Izzy F StockhamItalyOnyama Limba PROPOSAL
Adams H PaprockiFranceStephen Shaw NEW
Isabel Z MaletRussiaIoni Bowcher QUALIFIED
Adams R MorascaAustraliaElwin Sharvill PROPOSAL
Rodrigues A ButtRussiaAmy Elsner PROPOSAL
Aruna G BriddickRussiaXuxue Feng UNQUALIFIED
Juan P SlusarskiRussiaOnyama Limba QUALIFIED
David J FlosiCanadaAmy Elsner RENEWAL
Faith O SergiCanadaAmy Elsner UNQUALIFIED
Juan L ShinkoRussiaXuxue Feng NEGOTIATION
Silvio S DoeAustraliaIvan Magalhaes QUALIFIED
Faith R BowleyItalyOnyama Limba NEW
Alejandro P ShinkoJapanIvan Magalhaes QUALIFIED
Ivar E RimIndiaIoni Bowcher NEGOTIATION
Octavia P AlbaresSpainAsiya Javayant RENEWAL
Munro G MacleadArgentinaAmy Elsner RENEWAL
Mujtaba J GarufiGermanyAsiya Javayant PROPOSAL
Jefferson M ChuiUnited KingdomAsiya Javayant NEW
Nicolas W SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Julie N MaletJapanIvan Magalhaes QUALIFIED
Misaki K StockhamGermanyAsiya Javayant UNQUALIFIED
Darci N CampainAustraliaAsiya Javayant QUALIFIED
Smith N MorascaUnited KingdomAmy Elsner NEGOTIATION
Smith K FollerRussiaAnna Fali NEW
Ivar E StockhamRussiaIvan Magalhaes 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>