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
Rodrigues V DilliardItalyAsiya Javayant NEW
Isabel O TollnerSpainAnna Fali NEGOTIATION
Jennifer J GlickIndiaElwin Sharvill QUALIFIED
Jefferson P SlusarskiSpainIoni Bowcher NEW
Jeanfrancois E StockhamJapanAnna Fali QUALIFIED
Arvin G GarufiIndiaElwin Sharvill NEW
Johnson I BowleyGermanyXuxue Feng UNQUALIFIED
Adams D VenereRussiaIoni Bowcher RENEWAL
Cody M MarrierItalyIoni Bowcher NEGOTIATION
Rodrigues P AmigonFranceElwin Sharvill UNQUALIFIED
Chavez A GarufiUnited KingdomBernardo Dominic RENEWAL
Leja U MaletSpainOnyama Limba NEW
Salvatore B StockhamIndiaStephen Shaw PROPOSAL
Emily W CaudyUnited KingdomOnyama Limba PROPOSAL
Francesco G SchemmerIndiaAnna Fali NEGOTIATION
Leon A MorascaJapanIvan Magalhaes QUALIFIED
Mayumi V FigeroaRussiaAnna Fali PROPOSAL
Nicolas E DarakjyCanadaAnna Fali UNQUALIFIED
Leja B InouyeAustraliaOnyama Limba QUALIFIED
Alejandro Q AmigonCanadaOnyama Limba QUALIFIED
Deepesh U SaylorsSpainIoni Bowcher QUALIFIED
Aditya J WhobreyRussiaAnna Fali NEGOTIATION
Greenwood W AlbaresRussiaIvan Magalhaes QUALIFIED
Deepesh W KuskoRussiaAsiya Javayant UNQUALIFIED
Isabel Y RutaCanadaBernardo Dominic NEW
Julie Y PerinFranceIoni Bowcher NEW
Aruna T DarakjySpainOnyama Limba PROPOSAL
Wickens X CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Costa Q DarakjyArgentinaOnyama Limba UNQUALIFIED
Jennifer W ButtUnited KingdomIoni Bowcher NEW
Munro B RulapaughCanadaXuxue Feng UNQUALIFIED
Rodrigues W RulapaughArgentinaBernardo Dominic UNQUALIFIED
Deepesh H ChuiIndiaXuxue Feng PROPOSAL
Kaitlin M OstroskySpainStephen Shaw NEW
Claire I SaylorsGermanyAnna Fali UNQUALIFIED
Isabel Y DarakjyAustraliaXuxue Feng NEW
Mujtaba D DarakjyArgentinaIoni Bowcher PROPOSAL
Juan H MarrierCanadaBernardo Dominic NEGOTIATION
Faith E ShinkoJapanIoni Bowcher QUALIFIED
Wickens H WaycottIndiaIoni Bowcher UNQUALIFIED
Ivar W OldroydFranceXuxue Feng RENEWAL
Deepesh N FigeroaCanadaAsiya Javayant QUALIFIED
Julie C WaycottItalyOnyama Limba UNQUALIFIED
Leon Z NickaUnited KingdomBernardo Dominic NEGOTIATION
Wickens B DarakjyBrazilElwin Sharvill UNQUALIFIED
Tony I GillianSpainIvan Magalhaes UNQUALIFIED
Ashley A NestleAustraliaAsiya Javayant UNQUALIFIED
Kadeem T StensethJapanIoni Bowcher UNQUALIFIED
Jefferson I InouyeArgentinaIvan Magalhaes NEGOTIATION
Aditya B RutaItalyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna Y CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Jefferson G RutaItalyAnna Fali UNQUALIFIED
Leja V FigeroaBrazilAnna Fali RENEWAL
Ivar N WieserIndiaAnna Fali PROPOSAL
Maisha I MacleadUnited KingdomIvan Magalhaes RENEWAL
Maria A OldroydBrazilXuxue Feng NEGOTIATION
Salvatore V IturbideItalyIoni Bowcher QUALIFIED
Emily A SergiAustraliaElwin Sharvill RENEWAL
Munro E MacleadIndiaAnna Fali PROPOSAL
Leja L RoysterGermanyElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues S MaletGermany2026-09-27Chapman, Ross E Esq RENEWAL83Elwin Sharvill
1001Ashley S GauchoGermany2026-09-21Chapman, Ross E Esq UNQUALIFIED40Xuxue Feng
1002Jeanfrancois I DoeCanada2026-08-31Rangoni Of Florence PROPOSAL51Anna Fali
1003Murillo H OldroydBrazil2026-09-03Chemel, James L Cpa UNQUALIFIED3Asiya Javayant
1004Deepesh Y StensethGermany2026-09-03Printing Dimensions NEGOTIATION14Bernardo Dominic
1005Kadeem A TollnerRussia2026-09-22Benton, John B Jr NEGOTIATION66Amy Elsner
1006Adams U StockhamFrance2026-09-06Feltz Printing Service RENEWAL64Xuxue Feng
1007Jones L FollerCanada2026-09-10Rangoni Of Florence NEGOTIATION28Amy Elsner
1008Adams P NickaBrazil2026-09-18Buckley Miller Wright NEGOTIATION57Stephen Shaw
1009Ricardo O GarufiFrance2026-09-22Benton, John B Jr UNQUALIFIED66Stephen Shaw
1010Silvio K DarakjyAustralia2026-09-17Rousseaux, Michael Esq PROPOSAL18Onyama Limba
1011Jennifer X SlusarskiIndia2026-09-12Chemel, James L Cpa NEGOTIATION67Elwin Sharvill
1012Leon Z NestleIndia2026-09-19Chanay, Jeffrey A Esq NEGOTIATION71Ioni Bowcher
1013Ricardo M DoeIndia2026-09-23Printing Dimensions NEW59Amy Elsner
1014Silvio W WhobreyFrance2026-09-26Feltz Printing Service UNQUALIFIED58Ivan Magalhaes
1015Clifford I DilliardRussia2026-09-20Feiner Bros RENEWAL95Anna Fali
1016Isabel Q GarufiIndia2026-09-21Chanay, Jeffrey A Esq PROPOSAL88Ivan Magalhaes
1017Sinclair A NestleIndia2026-09-14Feltz Printing Service NEGOTIATION28Amy Elsner
1018Antonio R VenereIndia2026-09-27Feltz Printing Service QUALIFIED37Anna Fali
1019Ashley X KuskoCanada2026-09-03Dorl, James J Esq QUALIFIED55Asiya Javayant
1020Aika U CaldareraRussia2026-09-23Benton, John B Jr NEW42Bernardo Dominic
1021Kadeem A CaldareraJapan2026-09-18Dorl, James J Esq QUALIFIED32Stephen Shaw
1022Francesco G BowleyFrance2026-09-15Feiner Bros NEW5Xuxue Feng
1023Mujtaba S MaletGermany2026-09-08Truhlar And Truhlar Attys PROPOSAL37Amy Elsner
1024Juan K DilliardArgentina2026-09-23Chanay, Jeffrey A Esq RENEWAL52Asiya Javayant
1025Wickens T MarrierItaly2026-09-13King, Christopher A Esq NEGOTIATION76Onyama Limba
1026Munro O GillianFrance2026-09-05Buckley Miller Wright NEW96Ivan Magalhaes
1027Jennifer R ChuiFrance2026-09-12Buckley Miller Wright QUALIFIED79Asiya Javayant
1028Chavez G CampainRussia2026-09-12Commercial Press UNQUALIFIED54Onyama Limba
1029Maria N DoeIndia2026-09-17Truhlar And Truhlar Attys RENEWAL50Amy Elsner
1030Antonio W AmigonGermany2026-09-03Printing Dimensions PROPOSAL59Stephen Shaw
1031Antonio V MaletCanada2026-09-27Chemel, James L Cpa NEW30Amy Elsner
1032Faith L TollnerRussia2026-09-01Benton, John B Jr NEW4Onyama Limba
1033Murillo G WieserFrance2026-09-23Rousseaux, Michael Esq RENEWAL5Anna Fali
1034Ricardo L FerenczItaly2026-09-01Benton, John B Jr UNQUALIFIED67Stephen Shaw
1035Emily B FollerIndia2026-09-13Dorl, James J Esq QUALIFIED73Amy Elsner
1036Cody H ShinkoAustralia2026-09-01King, Christopher A Esq UNQUALIFIED37Bernardo Dominic
1037David U BriddickSpain2026-09-28Rangoni Of Florence PROPOSAL68Ivan Magalhaes
1038Clifford R RimBrazil2026-09-05Benton, John B Jr NEGOTIATION45Xuxue Feng
1039Tony O InouyeIndia2026-09-07Buckley Miller Wright NEGOTIATION8Stephen Shaw
1040Mayumi S StensethGermany2026-09-24Rousseaux, Michael Esq NEGOTIATION71Anna Fali
1041Sinclair V GlickFrance2026-09-14Rangoni Of Florence NEGOTIATION17Stephen Shaw
1042Jones D MaletSpain2026-09-12Chanay, Jeffrey A Esq QUALIFIED56Ivan Magalhaes
1043Jennifer E ChuiItaly2026-09-24Chapman, Ross E Esq NEW43Stephen Shaw
1044Clifford O MaletItaly2026-09-09Rangoni Of Florence UNQUALIFIED64Bernardo Dominic
1045Smith J SlusarskiJapan2026-09-10Dorl, James J Esq RENEWAL65Elwin Sharvill
1046Mujtaba J RimRussia2026-09-08Buckley Miller Wright PROPOSAL93Stephen Shaw
1047Juan M InouyeBrazil2026-09-23Benton, John B Jr QUALIFIED40Onyama Limba
1048Aditya O TollnerFrance2026-09-11Truhlar And Truhlar Attys UNQUALIFIED88Stephen Shaw
1049Smith N RutaJapan2026-09-22Dorl, James J Esq UNQUALIFIED17Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ivar D StensethIndiaBernardo Dominic UNQUALIFIED
Morrow D DoeUnited KingdomIoni Bowcher PROPOSAL
Aditya G BowleyItalyAmy Elsner UNQUALIFIED
Aditya F AmigonJapanIoni Bowcher RENEWAL
Rodrigues A VocelkaJapanAnna Fali UNQUALIFIED
Leon O MaletItalyOnyama Limba PROPOSAL
Adams R RimBrazilElwin Sharvill UNQUALIFIED
Jennifer C PaprockiGermanyStephen Shaw RENEWAL
Aditya B CampainGermanyAmy Elsner PROPOSAL
Kaitlin R AlbaresRussiaAmy Elsner PROPOSAL
Octavia Q SlusarskiIndiaOnyama Limba RENEWAL
Jeanfrancois M VocelkaJapanAnna Fali NEGOTIATION
Smith M OstroskyBrazilIoni Bowcher RENEWAL
Murillo T GillianRussiaStephen Shaw UNQUALIFIED
Cody Z GlickSpainIvan Magalhaes PROPOSAL
Aika L SergiBrazilOnyama Limba UNQUALIFIED
Ashley M MaletFranceAnna Fali RENEWAL
Salvatore U StensethArgentinaAmy Elsner QUALIFIED
Octavia I KuskoIndiaAnna Fali QUALIFIED
Claire D PerinArgentinaIvan Magalhaes NEW
Antonio I AlbaresItalyXuxue Feng QUALIFIED
Johnson S MorascaItalyAmy Elsner UNQUALIFIED
Wickens J GarufiBrazilOnyama Limba NEW
Darci Q SaylorsRussiaIvan Magalhaes QUALIFIED
Faith D AmigonFranceAnna Fali NEGOTIATION
Darci A NestleSpainXuxue Feng NEW
Smith P FigeroaUnited KingdomStephen Shaw UNQUALIFIED
Emily Z BriddickArgentinaAnna Fali UNQUALIFIED
Sinclair L ButtAustraliaAsiya Javayant NEGOTIATION
Kaitlin J TollnerJapanStephen Shaw NEGOTIATION
Julie B WaycottAustraliaAmy Elsner NEGOTIATION
Ashley X ButtJapanIvan Magalhaes PROPOSAL
Ivar K PoquetteFranceAmy Elsner QUALIFIED
Clifford T IturbideIndiaAnna Fali NEGOTIATION
Nicolas H ButtItalyStephen Shaw NEGOTIATION
Octavia J NickaBrazilAnna Fali NEW
Izzy Q GarufiFranceStephen Shaw NEW
Rodrigues X SaylorsItalyAmy Elsner QUALIFIED
Izzy A MorascaSpainElwin Sharvill QUALIFIED
Wickens P ButtArgentinaBernardo Dominic PROPOSAL
Aditya O CaudyIndiaIoni Bowcher UNQUALIFIED
Maria M GarufiBrazilXuxue Feng NEGOTIATION
Deepesh K WhobreyJapanIoni Bowcher RENEWAL
Kaitlin P FigeroaFranceXuxue Feng RENEWAL
Sinclair K SchemmerAustraliaOnyama Limba NEGOTIATION
Antonio K OstroskyArgentinaAnna Fali UNQUALIFIED
Ashley J FollerSpainAmy Elsner NEW
Rodrigues D SchemmerRussiaXuxue Feng RENEWAL
Aditya Y NestleItalyOnyama Limba QUALIFIED
Izzy J BowleyAustraliaAmy Elsner RENEWAL
Frozen Columns
Name
Arvin Y Butt
Deepesh I Nicka
Francesco L Iturbide
Misaki Y Vocelka
Johnson Q Wieser
Mayumi Q Royster
Leon V Figeroa
Antonio S Malet
Johnson D Kusko
Tony J Wieser
Faith Q Gillian
Kadeem N Bolognia
Silvio N Rulapaugh
Nicolas Z Vocelka
Octavia I Ruta
Ashley R Malet
Claire W Doe
Jennifer X Garufi
Tony D Waycott
Ashley W Poquette
Kadeem X Rim
Clifford Z Ruta
Tony B Campain
Misaki L Gillian
Jefferson R Maclead
Kaitlin C Royster
Smith U Vocelka
Sinclair N Slusarski
Darci U Stockham
Salvatore Z Campain
Aditya K Foller
Morrow B Venere
Costa X Bolognia
Jefferson T Stenseth
Rodrigues H Ruta
Misaki L Royster
Mayumi D Iturbide
Mujtaba G Iturbide
Munro U Caldarera
Cody P Nestle
Salvatore E Saylors
Maisha L Oldroyd
Leja A Flosi
Darci U Whobrey
Aika I Flosi
Julie M Maclead
Wickens F Gillian
Chavez U Dilliard
Emily V Figeroa
Izzy B Bowley
IdCountryDate
1000Germany2026-09-14
1001Japan2026-09-09
1002India2026-09-15
1003France2026-09-09
1004Japan2026-09-12
1005Brazil2026-09-25
1006Russia2026-09-14
1007Germany2026-09-22
1008Spain2026-09-13
1009Germany2026-09-22
1010Spain2026-08-30
1011Italy2026-09-06
1012Canada2026-09-19
1013Argentina2026-09-22
1014Germany2026-09-27
1015Japan2026-09-10
1016Russia2026-09-14
1017Australia2026-09-24
1018Spain2026-09-03
1019Russia2026-09-06
1020Germany2026-09-24
1021India2026-09-11
1022Spain2026-09-27
1023India2026-09-08
1024Italy2026-09-08
1025India2026-09-10
1026Japan2026-08-31
1027Argentina2026-09-21
1028Germany2026-08-31
1029Japan2026-09-28
1030Spain2026-09-08
1031Germany2026-09-18
1032Spain2026-09-07
1033Japan2026-09-14
1034Japan2026-09-07
1035France2026-09-14
1036United Kingdom2026-09-23
1037Germany2026-08-30
1038Canada2026-09-01
1039Brazil2026-09-20
1040Brazil2026-09-02
1041Spain2026-09-24
1042Japan2026-09-22
1043Spain2026-09-19
1044United Kingdom2026-09-14
1045Brazil2026-09-28
1046Australia2026-09-05
1047Japan2026-08-31
1048Germany2026-09-23
1049India2026-09-23

On-Demand Data

NameIdCountryDate
Silvio C Dilliard1000Germany2026-09-05
Stacey E Bowley1001Canada2026-09-25
Juan X Darakjy1002Argentina2026-09-15
Ricardo T Paprocki1003Italy2026-09-12
Wickens P Kusko1004United Kingdom2026-09-04
Greenwood E Maclead1005Australia2026-09-05
Smith B Malet1006Italy2026-09-10
Stacey J Wieser1007United Kingdom2026-09-28
Jeanfrancois Y Gillian1008Canada2026-09-09
Francesco V Caldarera1009Australia2026-09-16
Emily Z Glick1010Australia2026-09-09
Ricardo H Kolmetz1011Canada2026-09-02
Ashley A Schemmer1012India2026-09-02
Murillo P Dilliard1013United Kingdom2026-09-21
Tony W Kolmetz1014France2026-09-18
Claire J Wieser1015Argentina2026-09-23
Tony O Darakjy1016Brazil2026-08-30
Kadeem U Garufi1017Russia2026-09-05
Maisha P Flosi1018Japan2026-08-30
Jefferson M Kusko1019Spain2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson Z GauchoSpainStephen Shaw PROPOSAL
Julie Y PoquetteArgentinaIvan Magalhaes PROPOSAL
Wickens V BriddickItalyAnna Fali UNQUALIFIED
Costa B ButtRussiaAmy Elsner QUALIFIED
Arvin X PerinCanadaXuxue Feng UNQUALIFIED
Aika I RulapaughUnited KingdomStephen Shaw PROPOSAL
Silvio K ChuiJapanBernardo Dominic NEGOTIATION
Kaitlin W CaudyArgentinaStephen Shaw QUALIFIED
Emily K CampainAustraliaXuxue Feng PROPOSAL
Jefferson V GarufiRussiaIoni Bowcher RENEWAL
Mujtaba B RoysterItalyStephen Shaw UNQUALIFIED
Jones U BologniaIndiaBernardo Dominic PROPOSAL
Alejandro I GarufiUnited KingdomIvan Magalhaes RENEWAL
Kaitlin X FollerItalyElwin Sharvill PROPOSAL
Wickens T RoysterRussiaIvan Magalhaes RENEWAL
Kaitlin D SaylorsGermanyAsiya Javayant NEW
Misaki W GlickSpainElwin Sharvill PROPOSAL
Izzy S KolmetzSpainAnna Fali NEGOTIATION
Cody A DilliardArgentinaIoni Bowcher NEW
Kaitlin Q AmigonJapanAsiya Javayant RENEWAL
Jones Y DoeCanadaAnna Fali QUALIFIED
Munro D MorascaFranceBernardo Dominic NEW
Leja N MarrierGermanyBernardo Dominic NEW
Maisha P RutaRussiaStephen Shaw UNQUALIFIED
Clifford S OstroskyRussiaBernardo Dominic NEW
Julie U BriddickFranceOnyama Limba QUALIFIED
Morrow Q KolmetzItalyXuxue Feng QUALIFIED
Jefferson F KuskoJapanXuxue Feng RENEWAL
Wickens W RutaFranceAsiya Javayant NEGOTIATION
Mayumi Y MacleadJapanAsiya Javayant RENEWAL
Aditya I ButtAustraliaXuxue Feng NEW
Jones G AmigonRussiaStephen Shaw QUALIFIED
Nicolas P SchemmerFranceAsiya Javayant RENEWAL
Juan S DilliardFranceIvan Magalhaes NEW
Leon U CampainArgentinaAnna Fali NEW
Ivar Q DilliardRussiaOnyama Limba RENEWAL
Jeanfrancois V FlosiSpainXuxue Feng RENEWAL
Maisha K StockhamIndiaStephen Shaw NEW
Smith N DoeAustraliaXuxue Feng RENEWAL
Clifford T WaycottGermanyElwin Sharvill NEGOTIATION

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