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
Nicolas I PaprockiSpainStephen Shaw NEGOTIATION
Julie I FollerFranceAmy Elsner QUALIFIED
Jefferson H CaudyCanadaIoni Bowcher RENEWAL
Ashley X WhobreyRussiaIoni Bowcher NEGOTIATION
Ricardo Z BowleySpainIvan Magalhaes UNQUALIFIED
Jennifer J BriddickJapanAmy Elsner NEGOTIATION
Jones U VocelkaArgentinaElwin Sharvill NEW
Alejandro I RutaUnited KingdomIoni Bowcher QUALIFIED
Costa U CaudyFranceStephen Shaw NEGOTIATION
Sinclair G InouyeJapanAsiya Javayant UNQUALIFIED
Claire R InouyeCanadaIvan Magalhaes RENEWAL
Deepesh V RutaFranceBernardo Dominic QUALIFIED
Octavia V CaudyCanadaAnna Fali RENEWAL
David N RutaRussiaBernardo Dominic QUALIFIED
Kaitlin T NestleItalyStephen Shaw NEGOTIATION
Cody H ChuiItalyAnna Fali RENEWAL
Ivar Y BowleyIndiaIoni Bowcher QUALIFIED
Munro T StockhamJapanXuxue Feng PROPOSAL
Silvio N PerinFranceAsiya Javayant NEGOTIATION
Smith Z SlusarskiIndiaBernardo Dominic RENEWAL
Murillo Q SaylorsJapanAnna Fali UNQUALIFIED
Julie V VocelkaJapanIoni Bowcher PROPOSAL
Ashley E PerinRussiaAnna Fali PROPOSAL
Isabel X MacleadJapanIvan Magalhaes QUALIFIED
Cody A VocelkaFranceElwin Sharvill QUALIFIED
Smith S CaudyGermanyAsiya Javayant NEGOTIATION
Smith D VenereAustraliaStephen Shaw RENEWAL
Rodrigues F StockhamFranceIoni Bowcher UNQUALIFIED
Smith H CampainJapanOnyama Limba UNQUALIFIED
Smith Q ShinkoArgentinaElwin Sharvill PROPOSAL
Deepesh P DilliardBrazilAmy Elsner RENEWAL
Mayumi V KuskoBrazilIoni Bowcher NEGOTIATION
Ashley D CampainSpainAmy Elsner UNQUALIFIED
Johnson J AmigonUnited KingdomXuxue Feng RENEWAL
Chavez H GlickJapanAmy Elsner QUALIFIED
Antonio D FigeroaAustraliaOnyama Limba QUALIFIED
Nicolas L StockhamAustraliaAnna Fali NEW
Octavia Y KuskoCanadaStephen Shaw PROPOSAL
Adams T GillianRussiaElwin Sharvill PROPOSAL
Greenwood P PaprockiSpainAmy Elsner NEW
Jefferson Q NickaAustraliaIoni Bowcher QUALIFIED
Julie D GarufiUnited KingdomOnyama Limba RENEWAL
Mayumi I FigeroaGermanyAsiya Javayant PROPOSAL
Ivar O FerenczCanadaAsiya Javayant UNQUALIFIED
Ivar Q RoysterArgentinaAmy Elsner UNQUALIFIED
Julie N IturbideRussiaStephen Shaw NEW
Clifford T SergiItalyXuxue Feng QUALIFIED
Murillo C RulapaughGermanyXuxue Feng UNQUALIFIED
Claire U NickaFranceXuxue Feng NEGOTIATION
Aika T WieserUnited KingdomBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Octavia C AmigonRussiaElwin Sharvill NEGOTIATION
Munro X OstroskyFranceBernardo Dominic UNQUALIFIED
Ashley Z TollnerFranceStephen Shaw NEW
Rodrigues V FlosiFranceElwin Sharvill UNQUALIFIED
Silvio K FollerBrazilIoni Bowcher RENEWAL
Smith P MorascaFranceOnyama Limba UNQUALIFIED
Rodrigues R BologniaSpainStephen Shaw UNQUALIFIED
Cody N DilliardCanadaIvan Magalhaes NEGOTIATION
Izzy O AmigonCanadaOnyama Limba RENEWAL
David K StensethCanadaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel J FollerAustralia2026-10-12Printing Dimensions NEGOTIATION38Amy Elsner
1001Ashley C DoeItaly2026-10-11Chapman, Ross E Esq PROPOSAL34Elwin Sharvill
1002Octavia B BowleyFrance2026-10-18Buckley Miller Wright PROPOSAL65Amy Elsner
1003Jennifer S ChuiUnited Kingdom2026-09-21Feiner Bros PROPOSAL53Bernardo Dominic
1004Silvio X StockhamUnited Kingdom2026-10-08Truhlar And Truhlar Attys NEGOTIATION7Ioni Bowcher
1005Mayumi N PaprockiUnited Kingdom2026-10-05Rousseaux, Michael Esq RENEWAL90Xuxue Feng
1006Alejandro J KolmetzSpain2026-10-07Rangoni Of Florence NEGOTIATION25Amy Elsner
1007Mayumi Y BriddickUnited Kingdom2026-10-10Feiner Bros RENEWAL39Asiya Javayant
1008Kaitlin S FerenczGermany2026-10-17Chapman, Ross E Esq NEW1Ivan Magalhaes
1009Aika I BologniaItaly2026-09-22Chemel, James L Cpa RENEWAL6Onyama Limba
1010Aruna P StensethItaly2026-10-19Feiner Bros NEW57Xuxue Feng
1011Salvatore R PaprockiFrance2026-09-21Feltz Printing Service RENEWAL99Xuxue Feng
1012Tony F NestleSpain2026-10-14Feltz Printing Service UNQUALIFIED67Onyama Limba
1013Julie B BowleyGermany2026-10-02Chapman, Ross E Esq NEW73Anna Fali
1014Kaitlin C WieserGermany2026-10-15Feltz Printing Service PROPOSAL39Onyama Limba
1015Isabel U PaprockiSpain2026-09-29Printing Dimensions QUALIFIED44Elwin Sharvill
1016Jefferson B FigeroaItaly2026-10-16Morlong Associates UNQUALIFIED7Bernardo Dominic
1017Juan E RoysterArgentina2026-10-20Benton, John B Jr RENEWAL40Bernardo Dominic
1018Greenwood H NestleBrazil2026-10-19Feiner Bros RENEWAL14Ivan Magalhaes
1019David E RutaAustralia2026-09-26Chapman, Ross E Esq RENEWAL4Asiya Javayant
1020Costa I PoquetteCanada2026-10-11Dorl, James J Esq QUALIFIED10Stephen Shaw
1021Ricardo F BowleyCanada2026-10-02Buckley Miller Wright PROPOSAL71Amy Elsner
1022Emily A CaudySpain2026-10-06Rangoni Of Florence NEGOTIATION11Amy Elsner
1023Ricardo V CampainSpain2026-10-19Dorl, James J Esq QUALIFIED44Xuxue Feng
1024Salvatore S KolmetzSpain2026-09-23Commercial Press PROPOSAL71Bernardo Dominic
1025Isabel G IturbideCanada2026-10-13Morlong Associates NEGOTIATION65Amy Elsner
1026Deepesh F RulapaughUnited Kingdom2026-09-30Dorl, James J Esq RENEWAL89Stephen Shaw
1027Ricardo V DoeIndia2026-10-11Dorl, James J Esq RENEWAL93Xuxue Feng
1028Silvio P DarakjySpain2026-10-15Buckley Miller Wright UNQUALIFIED44Asiya Javayant
1029Smith Y GlickUnited Kingdom2026-10-20Dorl, James J Esq UNQUALIFIED47Ioni Bowcher
1030Maisha V RoysterJapan2026-10-04Chapman, Ross E Esq UNQUALIFIED70Anna Fali
1031Morrow I RoysterItaly2026-10-10Chemel, James L Cpa UNQUALIFIED75Ioni Bowcher
1032Izzy S CampainFrance2026-10-17Commercial Press QUALIFIED48Xuxue Feng
1033Maria A SchemmerSpain2026-09-21Buckley Miller Wright PROPOSAL39Xuxue Feng
1034Salvatore M BologniaIndia2026-10-04Truhlar And Truhlar Attys NEW1Asiya Javayant
1035Silvio W MacleadArgentina2026-10-13Chanay, Jeffrey A Esq NEGOTIATION38Stephen Shaw
1036Jennifer G ShinkoFrance2026-10-19Feiner Bros NEW21Stephen Shaw
1037Juan F BologniaBrazil2026-10-17Buckley Miller Wright UNQUALIFIED4Anna Fali
1038Aika L BologniaUnited Kingdom2026-09-24Chapman, Ross E Esq QUALIFIED92Elwin Sharvill
1039Costa L StockhamArgentina2026-10-01Buckley Miller Wright UNQUALIFIED86Ioni Bowcher
1040Francesco U MaletJapan2026-09-26Buckley Miller Wright UNQUALIFIED63Ivan Magalhaes
1041Costa B SaylorsGermany2026-10-20Printing Dimensions NEW12Bernardo Dominic
1042Wickens S FigeroaCanada2026-10-13Benton, John B Jr NEW64Stephen Shaw
1043David P MarrierSpain2026-09-24Chemel, James L Cpa QUALIFIED12Anna Fali
1044Leon G KolmetzArgentina2026-10-12Morlong Associates RENEWAL70Ivan Magalhaes
1045Maisha K SchemmerItaly2026-09-24Morlong Associates NEW39Stephen Shaw
1046Nicolas D StockhamFrance2026-09-23King, Christopher A Esq QUALIFIED29Anna Fali
1047Munro S DilliardGermany2026-09-25King, Christopher A Esq UNQUALIFIED91Ivan Magalhaes
1048Claire M ShinkoGermany2026-10-16King, Christopher A Esq NEGOTIATION16Ioni Bowcher
1049Julie Y MaletRussia2026-10-14Rangoni Of Florence PROPOSAL61Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Chavez U FigeroaItalyIvan Magalhaes NEW
Maisha Q CampainSpainAmy Elsner NEW
Maisha O PaprockiRussiaAmy Elsner UNQUALIFIED
Smith J KuskoFranceElwin Sharvill UNQUALIFIED
Ricardo V OldroydRussiaElwin Sharvill UNQUALIFIED
Juan S MorascaUnited KingdomXuxue Feng NEW
Emily C SergiCanadaAmy Elsner RENEWAL
Johnson Z GillianBrazilStephen Shaw RENEWAL
Johnson U MaletIndiaBernardo Dominic QUALIFIED
Cody H RutaItalyIoni Bowcher RENEWAL
Aditya C ShinkoFranceXuxue Feng UNQUALIFIED
Darci O KolmetzAustraliaAnna Fali QUALIFIED
Rodrigues B AmigonBrazilAsiya Javayant QUALIFIED
Jefferson L AmigonRussiaOnyama Limba RENEWAL
Mayumi S MaletGermanyXuxue Feng NEGOTIATION
Octavia U SergiBrazilXuxue Feng UNQUALIFIED
Silvio Q DilliardAustraliaBernardo Dominic NEGOTIATION
Morrow N MarrierJapanAnna Fali PROPOSAL
Jefferson U WieserIndiaElwin Sharvill UNQUALIFIED
Kadeem M RulapaughUnited KingdomStephen Shaw RENEWAL
Ricardo T RutaFranceXuxue Feng NEGOTIATION
Alejandro J KolmetzFranceAsiya Javayant UNQUALIFIED
Leja T PoquetteArgentinaElwin Sharvill QUALIFIED
Aruna X RoysterUnited KingdomAmy Elsner RENEWAL
Deepesh L NestleBrazilBernardo Dominic NEW
Alejandro D SergiArgentinaBernardo Dominic NEW
Cody D KolmetzJapanIoni Bowcher NEW
Jennifer E FerenczItalyIoni Bowcher PROPOSAL
Murillo B FigeroaIndiaAnna Fali NEW
Johnson V PoquetteAustraliaStephen Shaw NEW
Jefferson O MaletSpainIvan Magalhaes QUALIFIED
Ashley R CaldareraCanadaBernardo Dominic QUALIFIED
Arvin V ShinkoFranceIoni Bowcher RENEWAL
Rodrigues L AlbaresUnited KingdomAnna Fali UNQUALIFIED
Octavia J ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Tony T FerenczGermanyAnna Fali UNQUALIFIED
Cody P SaylorsAustraliaAmy Elsner QUALIFIED
Costa E OldroydCanadaIoni Bowcher QUALIFIED
Clifford X OldroydSpainAnna Fali NEW
Mujtaba T MaletBrazilElwin Sharvill PROPOSAL
Johnson L GlickRussiaBernardo Dominic QUALIFIED
Kadeem S OstroskyCanadaElwin Sharvill RENEWAL
Jeanfrancois G DoeUnited KingdomAnna Fali NEW
Munro P MacleadSpainIoni Bowcher NEW
James B IturbideFranceIoni Bowcher RENEWAL
Claire P MaletGermanyElwin Sharvill NEGOTIATION
Smith G InouyeIndiaAmy Elsner NEGOTIATION
Aditya A MacleadIndiaXuxue Feng RENEWAL
Wickens M CaldareraCanadaElwin Sharvill QUALIFIED
Greenwood U MaletIndiaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Leon W Saylors
Leja Z Kolmetz
Leja R Foller
Ashley E Gaucho
Jones S Malet
Maria G Shinko
Leja J Nestle
Kadeem E Doe
Alejandro Q Iturbide
Kaitlin I Caldarera
Kaitlin U Figeroa
Antonio C Figeroa
Ricardo F Rim
Tony W Whobrey
Francesco F Morasca
Emily K Morasca
Jennifer O Malet
Jeanfrancois Z Slusarski
Isabel D Venere
Darci H Butt
Munro F Stenseth
Deepesh S Waycott
Jeanfrancois N Darakjy
Jones E Poquette
Costa A Bolognia
Costa R Flosi
Ashley S Stenseth
David C Albares
Aika H Stenseth
Misaki N Maclead
Arvin H Briddick
Antonio L Venere
Juan I Nicka
Maisha A Rulapaugh
Jefferson R Ruta
Claire B Rim
Mayumi K Albares
Tony B Sergi
Juan Z Malet
Isabel S Iturbide
Salvatore T Royster
Maisha H Royster
Munro Z Iturbide
Kaitlin L Kolmetz
Murillo X Marrier
Tony F Bowley
Ivar M Poquette
Kadeem X Malet
Morrow N Maclead
Clifford B Slusarski
IdCountryDate
1000Spain2026-10-04
1001Germany2026-10-11
1002Australia2026-10-06
1003Russia2026-10-19
1004Spain2026-10-17
1005Japan2026-10-05
1006France2026-10-12
1007Germany2026-10-08
1008Brazil2026-10-12
1009Australia2026-09-22
1010Argentina2026-10-07
1011United Kingdom2026-10-16
1012United Kingdom2026-10-07
1013Japan2026-10-09
1014United Kingdom2026-10-19
1015Spain2026-10-20
1016Australia2026-10-13
1017Italy2026-10-11
1018Germany2026-10-05
1019Russia2026-10-04
1020Brazil2026-10-08
1021United Kingdom2026-09-22
1022Germany2026-10-03
1023France2026-09-22
1024France2026-09-27
1025Japan2026-10-10
1026Russia2026-10-14
1027France2026-10-04
1028Australia2026-10-15
1029Argentina2026-10-05
1030Spain2026-10-04
1031Canada2026-10-01
1032Australia2026-10-18
1033Italy2026-10-18
1034Germany2026-10-08
1035Canada2026-10-03
1036India2026-10-16
1037United Kingdom2026-10-06
1038Japan2026-09-22
1039Spain2026-10-12
1040Argentina2026-09-27
1041Canada2026-09-26
1042Russia2026-10-02
1043Spain2026-09-21
1044Brazil2026-10-03
1045Germany2026-09-28
1046France2026-10-09
1047Spain2026-10-14
1048Brazil2026-10-12
1049Germany2026-10-02

On-Demand Data

NameIdCountryDate
Kadeem O Doe1000Brazil2026-10-12
Faith U Venere1001India2026-10-20
Octavia H Rim1002France2026-09-28
Salvatore A Albares1003Italy2026-10-14
Ashley W Nicka1004Brazil2026-10-07
Murillo W Ferencz1005India2026-10-01
Deepesh D Garufi1006France2026-10-09
Antonio A Schemmer1007Australia2026-10-10
Morrow G Bowley1008Argentina2026-09-24
Salvatore O Caudy1009Russia2026-10-08
Jones C Amigon1010Spain2026-09-23
Wickens U Ferencz1011Italy2026-10-13
Rodrigues S Caldarera1012France2026-10-11
Arvin S Royster1013Russia2026-10-09
Aditya A Amigon1014Australia2026-09-29
Izzy S Malet1015Canada2026-10-09
Jefferson E Foller1016Spain2026-09-23
Clifford V Briddick1017Australia2026-09-22
Juan R Briddick1018Germany2026-10-15
Ricardo V Butt1019India2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo Q AmigonArgentinaXuxue Feng QUALIFIED
Leja Z GauchoUnited KingdomXuxue Feng UNQUALIFIED
Chavez K SchemmerArgentinaAmy Elsner PROPOSAL
David W InouyeAustraliaIvan Magalhaes RENEWAL
Claire K AlbaresBrazilIoni Bowcher QUALIFIED
Aditya U KolmetzJapanAnna Fali UNQUALIFIED
Ashley O VenereUnited KingdomAsiya Javayant UNQUALIFIED
Deepesh N FlosiAustraliaAmy Elsner RENEWAL
Francesco L SergiAustraliaXuxue Feng NEGOTIATION
Jennifer X WaycottSpainAnna Fali QUALIFIED
Aditya M MaletItalyElwin Sharvill RENEWAL
Stacey A MarrierCanadaAnna Fali RENEWAL
Kaitlin F NestleGermanyIoni Bowcher UNQUALIFIED
David P RulapaughArgentinaBernardo Dominic RENEWAL
Stacey T FollerGermanyAsiya Javayant NEGOTIATION
Mujtaba F OldroydCanadaAmy Elsner NEW
Mujtaba C IturbideAustraliaAnna Fali PROPOSAL
Maisha Q MarrierFranceElwin Sharvill NEW
Ashley H BriddickArgentinaAnna Fali NEGOTIATION
Aditya H MaletIndiaIoni Bowcher UNQUALIFIED
Morrow G CaudyFranceAmy Elsner NEW
Cody U FlosiCanadaAnna Fali QUALIFIED
Misaki S StensethArgentinaIoni Bowcher UNQUALIFIED
Silvio I GarufiCanadaIoni Bowcher RENEWAL
Morrow F DilliardArgentinaAsiya Javayant PROPOSAL
Silvio D DarakjyFranceIvan Magalhaes QUALIFIED
Mayumi N SergiRussiaAsiya Javayant NEGOTIATION
Emily F RimArgentinaAmy Elsner RENEWAL
Mujtaba G GauchoGermanyElwin Sharvill QUALIFIED
Clifford H TollnerAustraliaIvan Magalhaes PROPOSAL
Darci X BriddickItalyAsiya Javayant QUALIFIED
Aditya N IturbideGermanyXuxue Feng UNQUALIFIED
Isabel Y PaprockiRussiaAnna Fali RENEWAL
Mujtaba C DilliardArgentinaAnna Fali UNQUALIFIED
Cody O DoeIndiaOnyama Limba UNQUALIFIED
Aditya E ChuiJapanIvan Magalhaes NEW
Izzy V GarufiBrazilStephen Shaw QUALIFIED
Ricardo P DoeRussiaOnyama Limba NEW
Tony M PoquetteSpainOnyama Limba RENEWAL
Emily V StensethAustraliaStephen Shaw UNQUALIFIED

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