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
Morrow L CampainCanadaIoni Bowcher QUALIFIED
Aruna G NestleBrazilAsiya Javayant UNQUALIFIED
James R CaldareraRussiaAmy Elsner UNQUALIFIED
Antonio H KolmetzCanadaIvan Magalhaes UNQUALIFIED
Mujtaba U MorascaGermanyIvan Magalhaes UNQUALIFIED
Tony Y SaylorsGermanyElwin Sharvill QUALIFIED
Aruna N DilliardArgentinaStephen Shaw RENEWAL
Silvio D RutaSpainBernardo Dominic PROPOSAL
Darci Z SchemmerUnited KingdomIoni Bowcher NEW
Stacey H GauchoAustraliaOnyama Limba RENEWAL
Jefferson P BowleyBrazilStephen Shaw PROPOSAL
James I TollnerBrazilBernardo Dominic NEGOTIATION
Kaitlin D SaylorsFranceAmy Elsner UNQUALIFIED
Emily M PoquetteUnited KingdomAnna Fali PROPOSAL
Silvio Q RutaIndiaIoni Bowcher RENEWAL
Juan T ButtJapanAnna Fali NEW
Sinclair D RimBrazilAmy Elsner UNQUALIFIED
Octavia M RimItalyAnna Fali NEW
Adams Y RutaArgentinaElwin Sharvill NEW
Murillo M FerenczAustraliaStephen Shaw QUALIFIED
Octavia C CaldareraFranceIvan Magalhaes QUALIFIED
Deepesh X FerenczRussiaAmy Elsner PROPOSAL
Leon V WieserJapanBernardo Dominic NEW
Jefferson D CaldareraBrazilAsiya Javayant UNQUALIFIED
Clifford V VocelkaJapanStephen Shaw QUALIFIED
Izzy G DoeAustraliaIvan Magalhaes NEW
Francesco K NestleBrazilElwin Sharvill QUALIFIED
Juan H WaycottRussiaAmy Elsner QUALIFIED
Silvio C SaylorsAustraliaAmy Elsner QUALIFIED
Adams D DarakjyUnited KingdomElwin Sharvill NEW
Leja A StockhamAustraliaIvan Magalhaes UNQUALIFIED
Ashley E MaletFranceAnna Fali UNQUALIFIED
Stacey P ChuiArgentinaAsiya Javayant PROPOSAL
Rodrigues E BologniaRussiaAsiya Javayant UNQUALIFIED
Nicolas V RimFranceIvan Magalhaes RENEWAL
David L AlbaresBrazilIvan Magalhaes NEGOTIATION
Maria K WaycottAustraliaOnyama Limba NEW
Ivar H AmigonSpainIvan Magalhaes NEGOTIATION
Smith N DarakjyItalyIoni Bowcher RENEWAL
Darci X PerinAustraliaStephen Shaw NEW
Rodrigues R FerenczCanadaIvan Magalhaes RENEWAL
Costa F RutaArgentinaAsiya Javayant PROPOSAL
Leja D GarufiSpainAmy Elsner NEW
Emily Y AlbaresArgentinaXuxue Feng NEGOTIATION
James A PoquetteCanadaOnyama Limba NEW
Salvatore N FigeroaFranceBernardo Dominic UNQUALIFIED
Emily J RutaFranceOnyama Limba UNQUALIFIED
Claire M AlbaresGermanyOnyama Limba UNQUALIFIED
Tony H MaletCanadaElwin Sharvill QUALIFIED
Leon X FollerItalyXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Munro Y GauchoCanadaXuxue Feng NEW
Aruna O BowleyCanadaElwin Sharvill NEW
Clifford E DoeCanadaIvan Magalhaes RENEWAL
Chavez L ChuiAustraliaAsiya Javayant RENEWAL
Munro D ShinkoBrazilStephen Shaw NEW
Jones Y MorascaIndiaStephen Shaw NEW
Salvatore Y OldroydCanadaXuxue Feng NEGOTIATION
Morrow G ButtSpainBernardo Dominic RENEWAL
Faith D DilliardIndiaBernardo Dominic NEGOTIATION
Salvatore V SlusarskiGermanyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon S OstroskyRussia2026-09-24Buckley Miller Wright NEGOTIATION19Elwin Sharvill
1001James E StensethSpain2026-09-29Chapman, Ross E Esq NEW0Onyama Limba
1002Jefferson I GlickFrance2026-09-02Rousseaux, Michael Esq RENEWAL89Xuxue Feng
1003Francesco F PerinSpain2026-09-10Printing Dimensions UNQUALIFIED3Amy Elsner
1004Adams F TollnerArgentina2026-09-21Dorl, James J Esq UNQUALIFIED86Ivan Magalhaes
1005Deepesh T StockhamSpain2026-09-17Commercial Press PROPOSAL76Onyama Limba
1006Emily G WaycottIndia2026-09-12Morlong Associates PROPOSAL6Amy Elsner
1007Clifford L VocelkaIndia2026-09-16Feltz Printing Service RENEWAL51Stephen Shaw
1008David M OldroydGermany2026-09-26Rousseaux, Michael Esq PROPOSAL25Asiya Javayant
1009Tony A CampainSpain2026-09-28Buckley Miller Wright QUALIFIED99Ioni Bowcher
1010Sinclair O DilliardGermany2026-09-26Morlong Associates UNQUALIFIED7Asiya Javayant
1011Tony X WieserJapan2026-09-16Feltz Printing Service RENEWAL51Asiya Javayant
1012Darci M KuskoGermany2026-09-11Rangoni Of Florence QUALIFIED68Anna Fali
1013Jones D IturbideFrance2026-09-11Rangoni Of Florence QUALIFIED10Amy Elsner
1014Faith J KolmetzItaly2026-09-02Rangoni Of Florence QUALIFIED69Elwin Sharvill
1015Smith P SergiArgentina2026-09-01King, Christopher A Esq PROPOSAL58Onyama Limba
1016Izzy N OstroskyArgentina2026-09-12Chemel, James L Cpa UNQUALIFIED23Amy Elsner
1017Leon R MaletItaly2026-09-07Rangoni Of Florence QUALIFIED99Stephen Shaw
1018Misaki N FollerIndia2026-09-02Buckley Miller Wright PROPOSAL64Elwin Sharvill
1019Morrow Q GauchoJapan2026-09-15Feltz Printing Service PROPOSAL11Elwin Sharvill
1020Ricardo V RulapaughSpain2026-09-21Feltz Printing Service QUALIFIED51Asiya Javayant
1021Faith D PerinUnited Kingdom2026-09-25Rangoni Of Florence PROPOSAL92Stephen Shaw
1022Greenwood X DarakjyArgentina2026-09-05Commercial Press PROPOSAL50Elwin Sharvill
1023Munro V InouyeAustralia2026-09-13Feltz Printing Service PROPOSAL27Ioni Bowcher
1024Greenwood V RoysterUnited Kingdom2026-09-13Morlong Associates PROPOSAL64Ioni Bowcher
1025Adams E FerenczSpain2026-09-01Benton, John B Jr UNQUALIFIED10Asiya Javayant
1026Ivar Q BowleyRussia2026-09-25Benton, John B Jr NEGOTIATION10Anna Fali
1027Maisha N FerenczFrance2026-09-03Feiner Bros QUALIFIED79Anna Fali
1028Greenwood N KuskoAustralia2026-09-22Truhlar And Truhlar Attys RENEWAL40Stephen Shaw
1029Leja X MaletGermany2026-09-18Commercial Press RENEWAL99Ivan Magalhaes
1030Isabel Y ChuiAustralia2026-09-08Chapman, Ross E Esq NEGOTIATION8Amy Elsner
1031Jennifer H MaletBrazil2026-09-20Chanay, Jeffrey A Esq NEGOTIATION60Ivan Magalhaes
1032Chavez E VocelkaJapan2026-09-28Benton, John B Jr PROPOSAL62Onyama Limba
1033Darci N MaletCanada2026-09-29Printing Dimensions UNQUALIFIED57Bernardo Dominic
1034Octavia X MarrierFrance2026-09-18Feiner Bros NEW92Anna Fali
1035Antonio W CampainRussia2026-09-05Rangoni Of Florence QUALIFIED45Onyama Limba
1036Sinclair U WhobreyAustralia2026-09-12Buckley Miller Wright PROPOSAL99Asiya Javayant
1037Greenwood G SergiSpain2026-09-14Chapman, Ross E Esq RENEWAL22Stephen Shaw
1038Aruna E GillianUnited Kingdom2026-09-22Chemel, James L Cpa QUALIFIED24Xuxue Feng
1039Deepesh L ButtCanada2026-09-29Chanay, Jeffrey A Esq QUALIFIED95Asiya Javayant
1040Costa S PaprockiUnited Kingdom2026-09-24Feltz Printing Service PROPOSAL5Stephen Shaw
1041Greenwood L SlusarskiIndia2026-09-13King, Christopher A Esq PROPOSAL6Asiya Javayant
1042Alejandro R InouyeArgentina2026-09-10Benton, John B Jr QUALIFIED54Ivan Magalhaes
1043Morrow V DoeIndia2026-09-07Chemel, James L Cpa UNQUALIFIED42Bernardo Dominic
1044Greenwood Y WaycottJapan2026-09-15Buckley Miller Wright NEGOTIATION37Ivan Magalhaes
1045Leon I KuskoIndia2026-09-25Rangoni Of Florence PROPOSAL45Anna Fali
1046Jennifer M BriddickItaly2026-09-11Feiner Bros NEGOTIATION43Asiya Javayant
1047Maisha J CaldareraRussia2026-09-16Commercial Press NEGOTIATION31Ivan Magalhaes
1048Tony J FlosiUnited Kingdom2026-09-21Rangoni Of Florence QUALIFIED14Stephen Shaw
1049Deepesh E MorascaRussia2026-09-21Printing Dimensions QUALIFIED67Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Salvatore D FerenczGermanyAsiya Javayant QUALIFIED
Clifford X StensethJapanBernardo Dominic UNQUALIFIED
Silvio R GlickFranceBernardo Dominic RENEWAL
Claire N MarrierIndiaStephen Shaw PROPOSAL
Tony C PerinAustraliaAmy Elsner PROPOSAL
Emily P VenereSpainBernardo Dominic RENEWAL
Clifford R WhobreyJapanOnyama Limba UNQUALIFIED
Faith C BriddickFranceIoni Bowcher QUALIFIED
Izzy O SchemmerAustraliaIoni Bowcher UNQUALIFIED
Munro L PaprockiCanadaXuxue Feng QUALIFIED
Cody J RoysterIndiaOnyama Limba QUALIFIED
Arvin I OstroskyItalyBernardo Dominic UNQUALIFIED
Maria Z OstroskyAustraliaElwin Sharvill UNQUALIFIED
Juan B PerinAustraliaXuxue Feng PROPOSAL
Ricardo K OldroydAustraliaStephen Shaw QUALIFIED
Francesco R NestleArgentinaXuxue Feng NEGOTIATION
Faith W MarrierBrazilXuxue Feng PROPOSAL
Kaitlin G SchemmerAustraliaAmy Elsner NEGOTIATION
Antonio T NestleCanadaOnyama Limba PROPOSAL
Silvio U DilliardJapanAnna Fali UNQUALIFIED
Smith E ButtAustraliaXuxue Feng QUALIFIED
Silvio P BologniaUnited KingdomOnyama Limba UNQUALIFIED
Francesco J KuskoAustraliaOnyama Limba NEGOTIATION
Maria M ShinkoFranceXuxue Feng NEW
Morrow H RulapaughSpainAmy Elsner NEW
Nicolas C WaycottGermanyIvan Magalhaes QUALIFIED
Juan P PoquetteArgentinaIvan Magalhaes RENEWAL
Jones S StockhamItalyBernardo Dominic RENEWAL
Izzy Q VenereArgentinaAnna Fali QUALIFIED
Adams A CampainUnited KingdomBernardo Dominic PROPOSAL
Maria A SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Costa K AlbaresRussiaBernardo Dominic UNQUALIFIED
Isabel F RutaJapanAsiya Javayant NEGOTIATION
Smith B BologniaRussiaOnyama Limba UNQUALIFIED
Octavia F ShinkoBrazilIoni Bowcher NEW
Stacey T OstroskyRussiaAsiya Javayant PROPOSAL
Antonio D FigeroaGermanyIvan Magalhaes RENEWAL
Leon T WhobreyAustraliaXuxue Feng UNQUALIFIED
Greenwood R PoquetteAustraliaXuxue Feng NEW
Ivar N PerinCanadaAmy Elsner QUALIFIED
Kadeem T AlbaresAustraliaXuxue Feng QUALIFIED
Jefferson X ButtIndiaXuxue Feng UNQUALIFIED
Octavia Z WieserJapanBernardo Dominic NEW
Aika C OstroskyFranceOnyama Limba UNQUALIFIED
Ashley P MaletItalyBernardo Dominic NEW
Smith Z NestleRussiaAmy Elsner NEGOTIATION
Francesco G CaudyBrazilAnna Fali NEGOTIATION
Silvio J NickaGermanyIvan Magalhaes UNQUALIFIED
Leon D InouyeBrazilAsiya Javayant RENEWAL
Ashley A RimUnited KingdomIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
James Z Ostrosky
Maisha O Paprocki
Misaki G Stockham
Darci Y Kolmetz
Johnson C Paprocki
Maisha E Chui
Aditya K Ostrosky
Adams N Schemmer
Juan J Royster
Chavez Y Figeroa
Emily H Ferencz
Sinclair L Royster
Aika H Glick
Kadeem J Marrier
Rodrigues G Gaucho
Julie T Butt
Smith M Ostrosky
Aruna F Morasca
Murillo N Briddick
Kaitlin L Bolognia
Izzy F Rulapaugh
Maisha T Iturbide
Maisha A Schemmer
Isabel X Oldroyd
Faith D Rim
Silvio S Campain
James C Chui
Julie L Oldroyd
Johnson Y Perin
Misaki I Albares
Jefferson K Marrier
Stacey U Malet
Maria V Rim
Claire W Schemmer
Wickens H Garufi
Faith H Garufi
Octavia V Caudy
Arvin M Shinko
Sinclair Y Slusarski
Antonio N Flosi
Misaki L Royster
Jones P Iturbide
Morrow K Campain
James O Nicka
Alejandro C Saylors
Tony R Whobrey
Aditya Q Inouye
Tony O Kolmetz
Faith F Venere
Mayumi T Rim
IdCountryDate
1000Italy2026-09-13
1001Russia2026-09-23
1002Germany2026-09-18
1003Spain2026-09-02
1004Spain2026-09-20
1005Argentina2026-09-04
1006India2026-09-09
1007Argentina2026-09-10
1008Argentina2026-09-01
1009Brazil2026-09-15
1010France2026-09-14
1011Argentina2026-09-17
1012France2026-09-27
1013Spain2026-09-18
1014Australia2026-09-05
1015Argentina2026-09-08
1016Brazil2026-09-05
1017Russia2026-09-03
1018Russia2026-09-20
1019United Kingdom2026-09-08
1020Australia2026-09-03
1021Brazil2026-09-04
1022Argentina2026-09-03
1023Japan2026-09-19
1024Brazil2026-09-29
1025Spain2026-09-19
1026Italy2026-09-05
1027Spain2026-09-15
1028Brazil2026-09-25
1029France2026-09-18
1030Japan2026-09-22
1031India2026-09-16
1032Australia2026-09-27
1033France2026-09-29
1034United Kingdom2026-09-17
1035France2026-09-02
1036Brazil2026-09-02
1037Spain2026-09-18
1038Germany2026-09-24
1039Spain2026-09-25
1040Japan2026-09-10
1041Argentina2026-09-09
1042Argentina2026-09-01
1043India2026-09-14
1044Italy2026-09-01
1045United Kingdom2026-09-15
1046United Kingdom2026-09-20
1047Japan2026-09-12
1048Australia2026-09-01
1049Japan2026-09-29

On-Demand Data

NameIdCountryDate
Rodrigues J Saylors1000Italy2026-09-04
Rodrigues Y Tollner1001Italy2026-09-10
Leja T Figeroa1002Canada2026-09-07
Ivar P Stockham1003Japan2026-09-12
Cody G Garufi1004France2026-09-27
Sinclair L Rulapaugh1005Canada2026-09-21
Wickens Z Venere1006Russia2026-09-25
Arvin Z Glick1007Brazil2026-09-21
Faith B Amigon1008Argentina2026-09-07
Jennifer B Flosi1009France2026-09-01
Claire I Dilliard1010Germany2026-09-28
Francesco V Albares1011India2026-09-22
Jennifer R Tollner1012Japan2026-09-19
Aruna C Wieser1013Spain2026-09-23
Izzy U Rulapaugh1014Spain2026-09-15
Cody D Ruta1015Argentina2026-09-15
Tony G Tollner1016India2026-09-14
Deepesh N Ostrosky1017Canada2026-09-25
Cody I Nestle1018Argentina2026-09-22
Ricardo M Albares1019Italy2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio L SergiAustraliaXuxue Feng NEGOTIATION
Clifford L FollerCanadaStephen Shaw UNQUALIFIED
Faith M FollerItalyStephen Shaw RENEWAL
Ivar W SaylorsItalyStephen Shaw RENEWAL
Aika N RutaAustraliaAmy Elsner NEGOTIATION
Alejandro A SchemmerIndiaIvan Magalhaes RENEWAL
Jones B CaudyCanadaElwin Sharvill NEGOTIATION
Maisha S CaudyJapanBernardo Dominic UNQUALIFIED
Isabel S DarakjyArgentinaAsiya Javayant UNQUALIFIED
Ashley F RutaGermanyElwin Sharvill UNQUALIFIED
Maisha J MaletSpainOnyama Limba PROPOSAL
Leja V RulapaughIndiaIvan Magalhaes NEW
Mujtaba K WieserFranceAmy Elsner NEW
Costa J ChuiAustraliaXuxue Feng NEW
Kadeem W MaletGermanyStephen Shaw NEGOTIATION
Costa L OstroskyArgentinaAsiya Javayant UNQUALIFIED
Jones N KolmetzRussiaElwin Sharvill QUALIFIED
Ivar G RimGermanyAnna Fali UNQUALIFIED
Francesco L StockhamArgentinaOnyama Limba UNQUALIFIED
Mayumi J MarrierItalyElwin Sharvill UNQUALIFIED
Cody V WaycottRussiaElwin Sharvill PROPOSAL
David Q KolmetzRussiaAmy Elsner UNQUALIFIED
Costa R FollerGermanyAsiya Javayant UNQUALIFIED
Nicolas K BologniaItalyOnyama Limba RENEWAL
Octavia Q RutaSpainIoni Bowcher NEGOTIATION
Jefferson A PoquetteArgentinaAmy Elsner UNQUALIFIED
Octavia X MorascaFranceElwin Sharvill PROPOSAL
Emily S OldroydItalyOnyama Limba QUALIFIED
Rodrigues M GarufiItalyOnyama Limba UNQUALIFIED
Maria I FigeroaRussiaAsiya Javayant NEW
Isabel B GarufiUnited KingdomStephen Shaw PROPOSAL
Aika D OldroydRussiaOnyama Limba NEGOTIATION
Claire Y KolmetzJapanXuxue Feng RENEWAL
Juan B MaletAustraliaElwin Sharvill UNQUALIFIED
Adams T SchemmerIndiaIvan Magalhaes UNQUALIFIED
Juan T DarakjyAustraliaStephen Shaw NEGOTIATION
Antonio C ButtItalyElwin Sharvill PROPOSAL
Kaitlin S DilliardRussiaAnna Fali QUALIFIED
Jefferson N RoysterBrazilElwin Sharvill RENEWAL
Faith X PerinIndiaAsiya Javayant 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>