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 L NestleUnited KingdomIvan Magalhaes QUALIFIED
Isabel D GauchoItalyOnyama Limba NEGOTIATION
Tony I BologniaRussiaAsiya Javayant RENEWAL
Leja Y PerinAustraliaIvan Magalhaes RENEWAL
Arvin V CaldareraRussiaOnyama Limba QUALIFIED
Mujtaba O RutaGermanyAnna Fali NEGOTIATION
James O SchemmerBrazilIoni Bowcher NEW
Aruna Q InouyeCanadaAnna Fali PROPOSAL
Claire S FlosiBrazilXuxue Feng RENEWAL
Kaitlin S MaletBrazilIvan Magalhaes PROPOSAL
Aika G NestleGermanyAsiya Javayant RENEWAL
Wickens B PoquetteJapanAsiya Javayant QUALIFIED
Alejandro T PerinArgentinaAsiya Javayant UNQUALIFIED
Faith D PerinAustraliaIvan Magalhaes QUALIFIED
Johnson X MaletAustraliaStephen Shaw NEGOTIATION
Maisha I FerenczArgentinaAsiya Javayant RENEWAL
Munro V GlickIndiaElwin Sharvill NEW
Rodrigues W SergiArgentinaBernardo Dominic PROPOSAL
Leja X SaylorsFranceAsiya Javayant RENEWAL
Kaitlin K WhobreyAustraliaAnna Fali QUALIFIED
Greenwood P BologniaUnited KingdomAsiya Javayant NEGOTIATION
Smith J IturbideJapanXuxue Feng NEW
Aika W TollnerIndiaBernardo Dominic NEW
Costa H GauchoCanadaElwin Sharvill RENEWAL
Jones S PaprockiUnited KingdomAnna Fali UNQUALIFIED
Aika W KolmetzRussiaAmy Elsner RENEWAL
Francesco Y SlusarskiItalyOnyama Limba NEGOTIATION
Isabel U TollnerFranceElwin Sharvill UNQUALIFIED
Antonio M DarakjyItalyBernardo Dominic QUALIFIED
Nicolas W CampainJapanIoni Bowcher NEGOTIATION
Isabel R GarufiArgentinaIoni Bowcher UNQUALIFIED
Claire V MacleadSpainBernardo Dominic RENEWAL
Misaki C InouyeArgentinaElwin Sharvill QUALIFIED
Jennifer R VenereUnited KingdomAmy Elsner PROPOSAL
Cody R BriddickJapanXuxue Feng RENEWAL
Francesco N CaldareraRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois D PoquetteRussiaAmy Elsner UNQUALIFIED
Johnson M RulapaughBrazilAmy Elsner QUALIFIED
Nicolas A SlusarskiUnited KingdomOnyama Limba UNQUALIFIED
Leon J VenereCanadaElwin Sharvill UNQUALIFIED
Costa D NestleCanadaXuxue Feng NEGOTIATION
Mayumi Y CaldareraSpainXuxue Feng NEGOTIATION
David N OldroydUnited KingdomElwin Sharvill NEGOTIATION
Deepesh W NickaIndiaIvan Magalhaes QUALIFIED
Silvio H PaprockiGermanyIvan Magalhaes NEW
Arvin Z CaldareraBrazilAsiya Javayant QUALIFIED
Chavez Q SaylorsBrazilIoni Bowcher UNQUALIFIED
Rodrigues J MaletArgentinaIoni Bowcher RENEWAL
Johnson M ShinkoCanadaIvan Magalhaes NEW
Octavia A InouyeIndiaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Misaki B PerinArgentinaIoni Bowcher UNQUALIFIED
Leja V NestleUnited KingdomXuxue Feng PROPOSAL
Wickens H WaycottItalyIoni Bowcher RENEWAL
Jones O GlickArgentinaStephen Shaw QUALIFIED
Faith U DilliardSpainIvan Magalhaes PROPOSAL
Mayumi G DarakjyIndiaOnyama Limba RENEWAL
Jefferson C SlusarskiArgentinaIvan Magalhaes NEW
Mayumi T OldroydItalyBernardo Dominic NEW
Sinclair H FollerIndiaAsiya Javayant QUALIFIED
Johnson A MaletFranceIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony R VocelkaSpain2026-09-29Dorl, James J Esq RENEWAL48Xuxue Feng
1001Salvatore I FlosiBrazil2026-10-23Chemel, James L Cpa PROPOSAL80Bernardo Dominic
1002Arvin Y VocelkaJapan2026-10-21Feltz Printing Service PROPOSAL57Onyama Limba
1003Juan X FigeroaJapan2026-10-01King, Christopher A Esq RENEWAL10Xuxue Feng
1004Claire W GlickAustralia2026-10-16Buckley Miller Wright RENEWAL9Elwin Sharvill
1005Smith K FollerJapan2026-10-26Rangoni Of Florence RENEWAL34Xuxue Feng
1006Silvio U KolmetzFrance2026-10-20Truhlar And Truhlar Attys UNQUALIFIED51Xuxue Feng
1007Jones D GauchoAustralia2026-10-06Benton, John B Jr UNQUALIFIED13Stephen Shaw
1008Jeanfrancois Z DarakjyJapan2026-10-18Printing Dimensions RENEWAL66Asiya Javayant
1009Mayumi F MarrierIndia2026-10-05Dorl, James J Esq NEGOTIATION94Elwin Sharvill
1010Deepesh J OstroskyCanada2026-10-09Morlong Associates RENEWAL89Ivan Magalhaes
1011Costa P IturbideBrazil2026-10-20Chapman, Ross E Esq QUALIFIED20Ioni Bowcher
1012Jones S CaudyArgentina2026-10-08Truhlar And Truhlar Attys RENEWAL2Amy Elsner
1013Izzy T GlickFrance2026-10-20Benton, John B Jr RENEWAL72Bernardo Dominic
1014Misaki P BowleyIndia2026-10-23Dorl, James J Esq QUALIFIED46Amy Elsner
1015Aika H PaprockiRussia2026-10-13Rousseaux, Michael Esq QUALIFIED80Elwin Sharvill
1016Morrow W KolmetzGermany2026-10-25King, Christopher A Esq PROPOSAL21Onyama Limba
1017Aditya F BologniaCanada2026-10-17Truhlar And Truhlar Attys NEGOTIATION60Ivan Magalhaes
1018Ashley A GlickUnited Kingdom2026-10-14Printing Dimensions NEW44Stephen Shaw
1019Arvin J NickaGermany2026-10-03Chapman, Ross E Esq NEW90Anna Fali
1020Smith T DilliardGermany2026-10-08Feltz Printing Service RENEWAL40Asiya Javayant
1021Chavez U WhobreyCanada2026-10-14Chemel, James L Cpa QUALIFIED50Xuxue Feng
1022Kadeem I FlosiItaly2026-09-28Benton, John B Jr PROPOSAL27Elwin Sharvill
1023Darci U FerenczItaly2026-10-22Morlong Associates NEW76Xuxue Feng
1024David N IturbideIndia2026-10-26Chanay, Jeffrey A Esq PROPOSAL78Onyama Limba
1025Jefferson Q IturbideCanada2026-10-19Rangoni Of Florence RENEWAL0Xuxue Feng
1026Salvatore Y IturbideIndia2026-09-28King, Christopher A Esq QUALIFIED13Amy Elsner
1027Leja C GauchoGermany2026-10-08Rousseaux, Michael Esq UNQUALIFIED51Ivan Magalhaes
1028Antonio G WieserBrazil2026-10-06Dorl, James J Esq NEW96Elwin Sharvill
1029Ricardo R FollerSpain2026-10-19Printing Dimensions NEGOTIATION55Amy Elsner
1030Costa B RutaGermany2026-10-21Chanay, Jeffrey A Esq PROPOSAL98Ivan Magalhaes
1031Adams O MaletRussia2026-10-22Feiner Bros UNQUALIFIED38Onyama Limba
1032Jones N WieserFrance2026-10-26Chemel, James L Cpa UNQUALIFIED39Asiya Javayant
1033Murillo C SlusarskiRussia2026-10-05Feiner Bros NEGOTIATION34Xuxue Feng
1034Misaki T SergiGermany2026-10-25Chemel, James L Cpa RENEWAL53Stephen Shaw
1035Ashley T CampainJapan2026-10-11Benton, John B Jr QUALIFIED99Elwin Sharvill
1036Wickens G CaldareraCanada2026-09-30Dorl, James J Esq RENEWAL89Ivan Magalhaes
1037Smith Q MorascaArgentina2026-10-26Truhlar And Truhlar Attys NEGOTIATION49Anna Fali
1038Murillo D CampainJapan2026-10-26Chapman, Ross E Esq NEW30Ivan Magalhaes
1039Cody R ChuiBrazil2026-10-17Commercial Press PROPOSAL32Xuxue Feng
1040Octavia S OstroskyCanada2026-10-01Chanay, Jeffrey A Esq QUALIFIED21Elwin Sharvill
1041Costa T GlickArgentina2026-10-24Feiner Bros NEW95Stephen Shaw
1042Rodrigues Q CaudyAustralia2026-10-12Rangoni Of Florence NEGOTIATION59Xuxue Feng
1043Izzy Y ChuiGermany2026-10-18Morlong Associates NEGOTIATION97Bernardo Dominic
1044Costa O PaprockiJapan2026-10-13Chemel, James L Cpa PROPOSAL34Amy Elsner
1045Wickens Z WieserSpain2026-10-19King, Christopher A Esq RENEWAL96Onyama Limba
1046Cody P CampainIndia2026-10-10Commercial Press RENEWAL81Stephen Shaw
1047Murillo M FerenczArgentina2026-10-22Morlong Associates UNQUALIFIED95Ioni Bowcher
1048Jeanfrancois J OldroydAustralia2026-10-02Rousseaux, Michael Esq QUALIFIED89Onyama Limba
1049Darci Q SergiGermany2026-10-22Rangoni Of Florence RENEWAL5Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Isabel Y GillianArgentinaBernardo Dominic QUALIFIED
Ricardo U AlbaresGermanyBernardo Dominic QUALIFIED
Nicolas D RimBrazilXuxue Feng QUALIFIED
Octavia E DilliardAustraliaElwin Sharvill RENEWAL
Arvin V PaprockiCanadaStephen Shaw PROPOSAL
Darci D MacleadCanadaOnyama Limba UNQUALIFIED
Kaitlin X FigeroaArgentinaAnna Fali PROPOSAL
Emily G NestleIndiaElwin Sharvill NEGOTIATION
Jefferson E PoquetteJapanElwin Sharvill NEGOTIATION
Murillo V ButtCanadaIvan Magalhaes RENEWAL
Kaitlin P GillianAustraliaAsiya Javayant NEW
Cody P MaletFranceOnyama Limba UNQUALIFIED
Octavia F InouyeAustraliaStephen Shaw QUALIFIED
Costa S FlosiFranceXuxue Feng RENEWAL
Juan A CampainAustraliaAsiya Javayant RENEWAL
Costa N WieserUnited KingdomOnyama Limba QUALIFIED
Darci A RulapaughSpainIvan Magalhaes NEW
Stacey Z ShinkoAustraliaOnyama Limba QUALIFIED
Emily M NickaRussiaIvan Magalhaes PROPOSAL
Stacey O MaletGermanyAnna Fali PROPOSAL
Izzy P GauchoIndiaIoni Bowcher QUALIFIED
Wickens W TollnerCanadaAmy Elsner RENEWAL
Johnson G AmigonItalyXuxue Feng RENEWAL
Adams U GlickCanadaOnyama Limba NEGOTIATION
Cody P OstroskyItalyBernardo Dominic UNQUALIFIED
Aruna W WaycottRussiaStephen Shaw NEGOTIATION
Ivar V VenereJapanStephen Shaw PROPOSAL
Misaki F NickaBrazilXuxue Feng UNQUALIFIED
Deepesh F FlosiFranceBernardo Dominic QUALIFIED
David N RutaUnited KingdomElwin Sharvill PROPOSAL
Darci Y NickaSpainIvan Magalhaes UNQUALIFIED
Wickens R StockhamArgentinaXuxue Feng NEW
Tony J WaycottUnited KingdomIvan Magalhaes NEW
Maria Y BologniaRussiaAmy Elsner QUALIFIED
Mayumi C BowleyRussiaIvan Magalhaes PROPOSAL
Leon F OldroydCanadaBernardo Dominic NEGOTIATION
Clifford P BowleyItalyIoni Bowcher UNQUALIFIED
Ashley D IturbideRussiaAmy Elsner NEGOTIATION
Maisha E WaycottAustraliaAmy Elsner RENEWAL
Cody G GauchoBrazilStephen Shaw QUALIFIED
Kadeem B ShinkoRussiaStephen Shaw NEGOTIATION
Stacey J SergiGermanyStephen Shaw NEGOTIATION
Munro Z AlbaresIndiaAmy Elsner QUALIFIED
Johnson D AmigonSpainAsiya Javayant QUALIFIED
Munro L VocelkaCanadaElwin Sharvill UNQUALIFIED
Antonio T ChuiSpainOnyama Limba NEGOTIATION
Stacey G FollerItalyBernardo Dominic UNQUALIFIED
Costa S SaylorsCanadaIvan Magalhaes UNQUALIFIED
Kadeem U RutaRussiaBernardo Dominic NEW
Munro I ChuiBrazilOnyama Limba QUALIFIED
Frozen Columns
Name
Isabel W Stenseth
Tony Y Kolmetz
Izzy P Nicka
Clifford S Nicka
Sinclair C Dilliard
Juan F Maclead
Leon Y Vocelka
Deepesh B Bolognia
Darci B Darakjy
Juan R Chui
Emily A Caldarera
Aika W Foller
Cody R Bolognia
Antonio Z Glick
Tony V Bowley
Smith H Inouye
Aditya F Garufi
Julie X Garufi
Cody B Bolognia
Chavez L Tollner
Misaki N Doe
Antonio Y Albares
Alejandro X Shinko
Francesco P Caudy
Jones V Inouye
Jeanfrancois T Malet
Deepesh S Iturbide
Greenwood Q Inouye
Ricardo Q Dilliard
Jennifer U Iturbide
Isabel R Bowley
Sinclair O Bolognia
David O Nestle
Sinclair C Bowley
Leon R Morasca
Mujtaba W Doe
Tony N Saylors
Deepesh R Ruta
Jeanfrancois S Paprocki
Johnson F Perin
Ricardo D Chui
Julie O Inouye
Aditya O Ferencz
Antonio J Chui
Jones C Schemmer
Mujtaba K Stockham
Nicolas N Kusko
Misaki Y Flosi
Greenwood U Marrier
Kadeem S Inouye
IdCountryDate
1000India2026-10-08
1001Italy2026-10-04
1002Spain2026-10-13
1003Germany2026-10-23
1004India2026-10-22
1005Argentina2026-09-28
1006Italy2026-10-19
1007Italy2026-10-15
1008Canada2026-10-23
1009Japan2026-09-30
1010Germany2026-10-23
1011Russia2026-10-16
1012Canada2026-09-29
1013Spain2026-10-12
1014India2026-10-14
1015Russia2026-09-29
1016France2026-10-07
1017Brazil2026-09-28
1018Germany2026-10-01
1019Japan2026-10-18
1020Canada2026-10-26
1021Germany2026-10-10
1022Brazil2026-10-05
1023Brazil2026-10-14
1024United Kingdom2026-10-07
1025Argentina2026-10-04
1026Italy2026-10-26
1027Italy2026-09-29
1028Spain2026-10-02
1029India2026-10-27
1030Japan2026-10-27
1031Spain2026-10-23
1032Australia2026-09-28
1033United Kingdom2026-10-01
1034Argentina2026-10-18
1035Australia2026-10-06
1036Russia2026-10-06
1037France2026-10-23
1038Canada2026-10-06
1039Germany2026-10-17
1040Germany2026-10-25
1041Argentina2026-10-21
1042Spain2026-10-14
1043Spain2026-10-06
1044Spain2026-10-01
1045Japan2026-10-04
1046Japan2026-10-19
1047Canada2026-10-07
1048Japan2026-10-21
1049France2026-10-05

On-Demand Data

NameIdCountryDate
Alejandro S Caudy1000United Kingdom2026-10-12
Darci N Dilliard1001Spain2026-10-17
Nicolas R Bolognia1002Argentina2026-10-09
Leon S Schemmer1003Australia2026-10-17
Kaitlin L Butt1004Canada2026-10-01
Cody O Saylors1005Japan2026-10-06
Emily B Briddick1006France2026-10-25
Leja B Kolmetz1007Australia2026-10-04
Antonio V Gaucho1008France2026-10-08
Leon G Stenseth1009Brazil2026-10-11
Juan Q Iturbide1010Japan2026-10-18
Stacey N Bowley1011Germany2026-10-14
Munro O Sergi1012France2026-10-05
Octavia F Ferencz1013Argentina2026-10-20
Munro B Gillian1014United Kingdom2026-09-30
Johnson A Glick1015France2026-10-08
Leja H Chui1016Brazil2026-09-29
Jeanfrancois Q Venere1017Argentina2026-10-05
Faith F Amigon1018Japan2026-10-07
Morrow Z Slusarski1019India2026-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria I GillianAustraliaBernardo Dominic QUALIFIED
Silvio C FerenczBrazilElwin Sharvill NEW
Cody R PoquetteIndiaAmy Elsner UNQUALIFIED
Mujtaba I SchemmerFranceBernardo Dominic NEW
Deepesh N GarufiItalyXuxue Feng NEW
Silvio B ChuiAustraliaXuxue Feng NEGOTIATION
Morrow Z FigeroaJapanIoni Bowcher NEW
Silvio F CaudyRussiaAmy Elsner PROPOSAL
Isabel M DarakjyGermanyAsiya Javayant NEW
Ashley K RutaFranceAnna Fali UNQUALIFIED
Munro W RoysterItalyXuxue Feng RENEWAL
Tony V IturbideFranceStephen Shaw NEGOTIATION
Emily G NestleAustraliaIoni Bowcher PROPOSAL
Tony U ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Antonio C OstroskyUnited KingdomOnyama Limba NEW
Mayumi G VenereItalyAnna Fali NEW
Murillo D RutaArgentinaAsiya Javayant RENEWAL
Claire T MaletIndiaElwin Sharvill UNQUALIFIED
Deepesh O PaprockiUnited KingdomAmy Elsner NEW
Jefferson V RulapaughArgentinaIvan Magalhaes RENEWAL
Deepesh F FlosiIndiaAnna Fali UNQUALIFIED
Francesco S NestleRussiaStephen Shaw RENEWAL
Mayumi B FlosiRussiaElwin Sharvill NEW
Maisha K PaprockiFranceIoni Bowcher UNQUALIFIED
Julie C PerinItalyBernardo Dominic PROPOSAL
Chavez W AmigonFranceBernardo Dominic RENEWAL
David O SaylorsJapanOnyama Limba NEW
David R MaletGermanyXuxue Feng NEGOTIATION
Sinclair D BriddickSpainBernardo Dominic QUALIFIED
Faith R KolmetzRussiaXuxue Feng PROPOSAL
Greenwood A AlbaresIndiaElwin Sharvill NEW
Aika D AmigonUnited KingdomStephen Shaw UNQUALIFIED
James E IturbideBrazilXuxue Feng RENEWAL
Tony X OldroydRussiaElwin Sharvill NEW
Maria F FigeroaCanadaOnyama Limba QUALIFIED
Ricardo E PerinCanadaBernardo Dominic UNQUALIFIED
Johnson A OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Silvio C CaudyUnited KingdomStephen Shaw NEW
Aruna D ButtUnited KingdomOnyama Limba PROPOSAL
Nicolas L FerenczGermanyOnyama Limba 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>