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
Costa K GauchoUnited KingdomBernardo Dominic QUALIFIED
Jefferson W CampainAustraliaAsiya Javayant UNQUALIFIED
Darci L ShinkoIndiaIvan Magalhaes UNQUALIFIED
Wickens M ButtAustraliaIoni Bowcher QUALIFIED
Jefferson T MaletAustraliaAmy Elsner QUALIFIED
Kadeem I GarufiUnited KingdomBernardo Dominic NEGOTIATION
Stacey P CampainFranceAnna Fali NEW
Ashley W BriddickAustraliaXuxue Feng UNQUALIFIED
Rodrigues U BologniaCanadaAnna Fali PROPOSAL
Misaki B DarakjyUnited KingdomAnna Fali QUALIFIED
David P MaletIndiaXuxue Feng PROPOSAL
Ricardo Y FerenczIndiaXuxue Feng NEGOTIATION
Morrow S InouyeUnited KingdomElwin Sharvill NEW
Emily J PoquetteCanadaBernardo Dominic PROPOSAL
Aika F FlosiUnited KingdomOnyama Limba NEGOTIATION
Morrow J SlusarskiGermanyStephen Shaw QUALIFIED
Leja E BowleyCanadaAsiya Javayant NEW
Johnson I BologniaGermanyIvan Magalhaes NEGOTIATION
Cody N NickaBrazilIoni Bowcher QUALIFIED
Murillo L DoeJapanIvan Magalhaes RENEWAL
Aika E SchemmerCanadaIvan Magalhaes QUALIFIED
Aditya X GauchoSpainOnyama Limba RENEWAL
Morrow Q MorascaRussiaStephen Shaw NEW
Adams F FerenczJapanIoni Bowcher QUALIFIED
Tony S CaudyAustraliaOnyama Limba NEW
Adams V MarrierJapanStephen Shaw NEGOTIATION
Adams B TollnerGermanyAsiya Javayant QUALIFIED
David Q FlosiBrazilStephen Shaw QUALIFIED
Darci F RutaFranceStephen Shaw RENEWAL
James M PaprockiGermanyOnyama Limba QUALIFIED
Morrow Y OstroskySpainStephen Shaw QUALIFIED
Cody S SaylorsIndiaAnna Fali QUALIFIED
Rodrigues N CaudyRussiaIoni Bowcher RENEWAL
Silvio Q MorascaCanadaStephen Shaw QUALIFIED
Isabel Q OstroskyArgentinaXuxue Feng NEW
Stacey Z SchemmerGermanyStephen Shaw UNQUALIFIED
Leja W MaletJapanOnyama Limba RENEWAL
Julie O AmigonAustraliaElwin Sharvill RENEWAL
Octavia I FigeroaGermanyAsiya Javayant RENEWAL
Mayumi S GauchoItalyAsiya Javayant PROPOSAL
Ricardo T BriddickFranceAmy Elsner NEW
Silvio M VocelkaIndiaAnna Fali NEGOTIATION
Darci P VocelkaJapanIoni Bowcher NEGOTIATION
David W GlickItalyAmy Elsner RENEWAL
Jennifer C ChuiIndiaBernardo Dominic PROPOSAL
Misaki X TollnerSpainBernardo Dominic PROPOSAL
Darci F OldroydItalyAmy Elsner PROPOSAL
Antonio P WieserCanadaIvan Magalhaes PROPOSAL
Costa K CaldareraRussiaStephen Shaw UNQUALIFIED
Costa E SergiGermanyAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith J FlosiJapanElwin Sharvill NEW
James Z GauchoBrazilIoni Bowcher QUALIFIED
Costa O RutaArgentinaBernardo Dominic PROPOSAL
Deepesh O KolmetzCanadaBernardo Dominic NEW
Arvin H VenereBrazilOnyama Limba NEW
Aruna T VenereSpainAnna Fali RENEWAL
Jones F VocelkaIndiaIvan Magalhaes PROPOSAL
Salvatore S VocelkaIndiaIvan Magalhaes QUALIFIED
Aruna Z GlickItalyIvan Magalhaes RENEWAL
Kadeem R MarrierArgentinaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja A DilliardBrazil2026-10-12Printing Dimensions QUALIFIED83Xuxue Feng
1001Stacey L WieserSpain2026-09-23Chemel, James L Cpa RENEWAL22Onyama Limba
1002Tony G FigeroaJapan2026-10-09King, Christopher A Esq RENEWAL41Asiya Javayant
1003Faith B StockhamUnited Kingdom2026-10-10Chanay, Jeffrey A Esq RENEWAL72Asiya Javayant
1004Aika C PoquetteCanada2026-10-01Chemel, James L Cpa PROPOSAL83Ivan Magalhaes
1005Ricardo U RulapaughAustralia2026-10-09Feltz Printing Service UNQUALIFIED59Elwin Sharvill
1006Stacey Q DilliardRussia2026-10-09Feltz Printing Service PROPOSAL64Xuxue Feng
1007Ricardo X ChuiGermany2026-09-30King, Christopher A Esq UNQUALIFIED23Xuxue Feng
1008Adams R ShinkoFrance2026-09-23Feiner Bros NEGOTIATION46Bernardo Dominic
1009Tony R OstroskyJapan2026-10-15Dorl, James J Esq PROPOSAL81Ivan Magalhaes
1010Munro G GarufiJapan2026-10-14Benton, John B Jr NEGOTIATION48Ioni Bowcher
1011Deepesh J DilliardUnited Kingdom2026-10-11Feiner Bros QUALIFIED9Ioni Bowcher
1012Sinclair H AmigonArgentina2026-10-12Chapman, Ross E Esq QUALIFIED88Bernardo Dominic
1013Mujtaba P GarufiJapan2026-10-15Benton, John B Jr NEW40Onyama Limba
1014Smith P FigeroaCanada2026-10-14Chemel, James L Cpa RENEWAL1Xuxue Feng
1015Alejandro O SaylorsCanada2026-10-22Chemel, James L Cpa UNQUALIFIED52Asiya Javayant
1016Kadeem V WieserItaly2026-10-05Printing Dimensions PROPOSAL68Ivan Magalhaes
1017Rodrigues P DoeCanada2026-10-12Printing Dimensions QUALIFIED39Xuxue Feng
1018Munro W RulapaughArgentina2026-09-30Dorl, James J Esq PROPOSAL11Onyama Limba
1019Nicolas U FigeroaBrazil2026-10-03Chapman, Ross E Esq QUALIFIED5Elwin Sharvill
1020Adams T DoeItaly2026-10-20Feiner Bros NEW26Xuxue Feng
1021Juan P MaletItaly2026-09-23Rousseaux, Michael Esq NEGOTIATION33Onyama Limba
1022Izzy K RoysterItaly2026-10-04Chemel, James L Cpa PROPOSAL74Asiya Javayant
1023Stacey S WaycottGermany2026-09-30Chanay, Jeffrey A Esq PROPOSAL72Ivan Magalhaes
1024David I SergiRussia2026-10-12King, Christopher A Esq UNQUALIFIED26Bernardo Dominic
1025James I PaprockiSpain2026-10-19Truhlar And Truhlar Attys NEW70Anna Fali
1026Wickens J PoquetteArgentina2026-10-13Chemel, James L Cpa UNQUALIFIED88Xuxue Feng
1027Arvin H RulapaughGermany2026-10-20Feltz Printing Service QUALIFIED89Onyama Limba
1028Juan H KuskoAustralia2026-09-29Rousseaux, Michael Esq RENEWAL78Bernardo Dominic
1029Ashley B MarrierJapan2026-10-04King, Christopher A Esq RENEWAL42Bernardo Dominic
1030Kadeem O RulapaughSpain2026-09-26King, Christopher A Esq RENEWAL37Bernardo Dominic
1031Julie M CaldareraItaly2026-10-19Feltz Printing Service NEGOTIATION31Bernardo Dominic
1032Murillo V StensethGermany2026-09-24Chemel, James L Cpa RENEWAL79Asiya Javayant
1033Octavia M StensethJapan2026-10-14Chapman, Ross E Esq PROPOSAL36Ivan Magalhaes
1034Isabel K FollerFrance2026-10-14Chemel, James L Cpa UNQUALIFIED8Bernardo Dominic
1035Kadeem R SlusarskiJapan2026-10-01Chanay, Jeffrey A Esq NEGOTIATION75Ioni Bowcher
1036Salvatore N PerinArgentina2026-10-06Feltz Printing Service QUALIFIED61Anna Fali
1037Aika R VenereItaly2026-10-17Rangoni Of Florence RENEWAL36Asiya Javayant
1038Salvatore M WaycottAustralia2026-10-18Morlong Associates QUALIFIED90Asiya Javayant
1039Juan U GauchoUnited Kingdom2026-10-11King, Christopher A Esq NEGOTIATION30Xuxue Feng
1040Francesco O MacleadItaly2026-09-27Feiner Bros QUALIFIED40Bernardo Dominic
1041Ricardo U CaudyJapan2026-10-14Rousseaux, Michael Esq QUALIFIED46Bernardo Dominic
1042Isabel A InouyeArgentina2026-10-01Dorl, James J Esq NEGOTIATION0Elwin Sharvill
1043Rodrigues R FollerArgentina2026-10-08King, Christopher A Esq QUALIFIED45Asiya Javayant
1044Costa K GarufiAustralia2026-09-28Printing Dimensions QUALIFIED18Stephen Shaw
1045Stacey S WhobreyCanada2026-09-25Printing Dimensions RENEWAL77Onyama Limba
1046David A OldroydGermany2026-10-22Truhlar And Truhlar Attys PROPOSAL24Asiya Javayant
1047Aditya Z GauchoFrance2026-09-29Buckley Miller Wright RENEWAL83Anna Fali
1048Stacey N CampainJapan2026-10-13Benton, John B Jr NEW76Asiya Javayant
1049Claire R VocelkaAustralia2026-10-15Commercial Press NEGOTIATION23Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Cody Z AmigonJapanOnyama Limba PROPOSAL
Salvatore N OstroskyItalyAsiya Javayant QUALIFIED
James V VenereSpainXuxue Feng QUALIFIED
Salvatore G DilliardArgentinaAsiya Javayant PROPOSAL
Rodrigues B WhobreyItalyStephen Shaw NEW
Maria T PaprockiItalyAnna Fali UNQUALIFIED
Claire T InouyeItalyAsiya Javayant NEW
James Y SchemmerRussiaXuxue Feng PROPOSAL
Nicolas M SergiAustraliaIvan Magalhaes NEGOTIATION
Octavia H GillianIndiaAnna Fali QUALIFIED
Maria E CampainItalyOnyama Limba PROPOSAL
Alejandro L ChuiAustraliaElwin Sharvill UNQUALIFIED
Maria L MaletGermanyElwin Sharvill QUALIFIED
Mujtaba O PerinCanadaOnyama Limba UNQUALIFIED
Jennifer W FigeroaGermanyBernardo Dominic UNQUALIFIED
Mujtaba D OstroskyFranceOnyama Limba QUALIFIED
Jeanfrancois D ShinkoGermanyOnyama Limba QUALIFIED
Salvatore D SaylorsRussiaElwin Sharvill NEGOTIATION
Greenwood X PaprockiRussiaXuxue Feng RENEWAL
James X NestleCanadaIvan Magalhaes UNQUALIFIED
Deepesh O GillianJapanXuxue Feng RENEWAL
Greenwood W OldroydFranceElwin Sharvill RENEWAL
Isabel W CaldareraIndiaIoni Bowcher QUALIFIED
Nicolas Q DoeSpainAmy Elsner QUALIFIED
Aika Q BologniaArgentinaIvan Magalhaes UNQUALIFIED
Antonio B VenereJapanAsiya Javayant QUALIFIED
Kaitlin X IturbideIndiaAsiya Javayant QUALIFIED
Darci H MarrierIndiaXuxue Feng NEW
Aditya R VocelkaSpainBernardo Dominic UNQUALIFIED
Juan Q VocelkaBrazilAnna Fali PROPOSAL
Izzy E SlusarskiBrazilStephen Shaw QUALIFIED
David Z GauchoArgentinaAmy Elsner NEW
David Y SchemmerRussiaAmy Elsner NEW
Arvin Q VenereFranceOnyama Limba NEW
James O MorascaArgentinaElwin Sharvill NEW
Deepesh I AlbaresCanadaStephen Shaw NEW
Smith I DarakjyFranceAmy Elsner QUALIFIED
Aika O SchemmerAustraliaBernardo Dominic UNQUALIFIED
Jones A CaldareraSpainStephen Shaw NEGOTIATION
Salvatore P BowleyArgentinaStephen Shaw QUALIFIED
Rodrigues B DoeArgentinaElwin Sharvill PROPOSAL
Emily K PoquetteCanadaOnyama Limba QUALIFIED
Maisha Q WaycottJapanIvan Magalhaes PROPOSAL
Maria V WieserArgentinaOnyama Limba RENEWAL
Ivar K RimArgentinaAsiya Javayant NEGOTIATION
Johnson Z InouyeIndiaAmy Elsner UNQUALIFIED
Smith B PoquetteSpainXuxue Feng QUALIFIED
Sinclair H GarufiItalyIvan Magalhaes QUALIFIED
Silvio O NestleBrazilOnyama Limba NEGOTIATION
Munro G MaletSpainBernardo Dominic NEW
Frozen Columns
Name
Arvin Z Kolmetz
Rodrigues Z Glick
Isabel H Albares
Juan S Whobrey
Maria S Ferencz
Deepesh E Doe
Kaitlin S Briddick
Sinclair M Bolognia
Maria H Morasca
Wickens N Nicka
Ricardo K Venere
Leja A Shinko
Octavia H Amigon
Smith Q Stockham
Rodrigues P Doe
Costa U Poquette
Faith W Slusarski
Emily U Rulapaugh
Chavez B Waycott
Wickens K Butt
Salvatore F Caudy
Adams A Oldroyd
Maria B Ostrosky
Tony F Bowley
Tony U Kusko
Kadeem P Darakjy
Isabel L Caudy
Smith D Ferencz
Mayumi I Slusarski
Isabel V Rulapaugh
Costa S Gaucho
Misaki E Ruta
Leon H Marrier
David W Bowley
Alejandro G Campain
Clifford D Kolmetz
Morrow K Gaucho
Claire F Dilliard
Arvin P Venere
Johnson F Inouye
Arvin P Dilliard
Johnson E Poquette
Murillo N Nicka
Jefferson T Royster
Octavia J Saylors
Johnson K Royster
Francesco B Whobrey
Maisha G Bowley
Juan Z Paprocki
Juan R Stenseth
IdCountryDate
1000France2026-10-03
1001Australia2026-10-09
1002India2026-09-28
1003Argentina2026-09-26
1004Brazil2026-10-09
1005Brazil2026-10-18
1006Germany2026-09-27
1007France2026-10-07
1008Argentina2026-10-20
1009Spain2026-09-25
1010France2026-10-12
1011Japan2026-10-17
1012Canada2026-10-07
1013Russia2026-10-12
1014Germany2026-10-13
1015Australia2026-10-05
1016India2026-10-13
1017Japan2026-10-05
1018Spain2026-10-07
1019Spain2026-09-30
1020Spain2026-10-07
1021United Kingdom2026-10-20
1022India2026-10-18
1023Italy2026-09-30
1024Australia2026-10-19
1025Spain2026-10-01
1026Argentina2026-10-08
1027Italy2026-09-26
1028Australia2026-10-17
1029Japan2026-10-08
1030Spain2026-10-18
1031Australia2026-09-25
1032United Kingdom2026-10-12
1033Spain2026-10-10
1034Spain2026-10-19
1035India2026-10-16
1036Russia2026-10-10
1037Australia2026-09-25
1038Spain2026-10-20
1039Russia2026-09-28
1040Brazil2026-10-22
1041Spain2026-10-11
1042Canada2026-09-26
1043Spain2026-09-25
1044Brazil2026-10-08
1045United Kingdom2026-10-17
1046Brazil2026-10-16
1047Spain2026-09-24
1048Italy2026-10-06
1049Russia2026-10-12

On-Demand Data

NameIdCountryDate
Ricardo R Wieser1000Australia2026-10-14
Greenwood M Flosi1001Argentina2026-10-01
Claire E Perin1002Japan2026-10-21
Chavez I Poquette1003Italy2026-10-13
Smith Q Flosi1004Brazil2026-10-13
Ashley Y Rulapaugh1005Brazil2026-10-03
Kadeem Y Marrier1006Canada2026-10-06
Ashley G Caudy1007Brazil2026-10-13
Faith Z Stockham1008United Kingdom2026-10-15
Jennifer B Paprocki1009Italy2026-10-09
Jones L Bolognia1010Germany2026-10-04
Mayumi D Morasca1011Argentina2026-10-03
Jeanfrancois U Briddick1012Spain2026-10-14
Alejandro Y Slusarski1013Argentina2026-10-20
Greenwood K Maclead1014Australia2026-10-15
Stacey N Albares1015Russia2026-10-15
Kaitlin U Perin1016Japan2026-09-25
Stacey K Ostrosky1017Australia2026-10-14
Emily M Garufi1018Canada2026-09-27
Wickens Q Oldroyd1019Japan2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood J MaletCanadaXuxue Feng NEGOTIATION
Emily P PerinUnited KingdomBernardo Dominic RENEWAL
Aruna C GlickGermanyAnna Fali QUALIFIED
Juan Q RoysterGermanyIvan Magalhaes RENEWAL
Wickens K MorascaItalyAsiya Javayant PROPOSAL
Chavez O OldroydUnited KingdomElwin Sharvill NEW
Claire N InouyeArgentinaAnna Fali QUALIFIED
Adams O StensethBrazilIoni Bowcher PROPOSAL
Tony Z SaylorsRussiaOnyama Limba NEGOTIATION
Mayumi P CampainFranceStephen Shaw RENEWAL
Kaitlin O DarakjyIndiaXuxue Feng PROPOSAL
James S RoysterRussiaOnyama Limba RENEWAL
Aika G ChuiBrazilAnna Fali NEW
Mayumi V FigeroaIndiaStephen Shaw QUALIFIED
Julie F GauchoItalyStephen Shaw UNQUALIFIED
Adams I VenereGermanyAnna Fali QUALIFIED
Tony N TollnerRussiaIoni Bowcher PROPOSAL
Ricardo R AlbaresBrazilAmy Elsner RENEWAL
Chavez H MacleadJapanAsiya Javayant UNQUALIFIED
Francesco Z SchemmerBrazilStephen Shaw NEW
Ivar Q WaycottCanadaIvan Magalhaes PROPOSAL
Sinclair L TollnerItalyBernardo Dominic NEW
Nicolas K GlickGermanyXuxue Feng NEGOTIATION
Salvatore E RulapaughRussiaIoni Bowcher NEW
Francesco O MaletCanadaElwin Sharvill NEGOTIATION
Clifford V NestleItalyIoni Bowcher RENEWAL
David A DilliardFranceBernardo Dominic UNQUALIFIED
Wickens R KuskoIndiaIoni Bowcher RENEWAL
Salvatore G RulapaughBrazilIvan Magalhaes PROPOSAL
Aruna T MacleadUnited KingdomIoni Bowcher QUALIFIED
Juan I AmigonJapanAmy Elsner NEGOTIATION
Darci X NickaIndiaIvan Magalhaes QUALIFIED
Mujtaba H IturbideSpainXuxue Feng UNQUALIFIED
Isabel M StockhamItalyAnna Fali NEGOTIATION
Faith F RimFranceStephen Shaw NEGOTIATION
Isabel S MorascaIndiaXuxue Feng QUALIFIED
Emily B IturbideRussiaAnna Fali RENEWAL
Mujtaba U RulapaughSpainAmy Elsner RENEWAL
Tony W SaylorsRussiaAmy Elsner UNQUALIFIED
Rodrigues A SlusarskiFranceAnna Fali 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>