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
Kadeem A GarufiCanadaXuxue Feng UNQUALIFIED
David R SchemmerBrazilIvan Magalhaes PROPOSAL
David V ShinkoSpainOnyama Limba UNQUALIFIED
Greenwood K MorascaAustraliaBernardo Dominic QUALIFIED
Mujtaba S RimCanadaXuxue Feng PROPOSAL
Arvin J PaprockiBrazilAnna Fali QUALIFIED
Chavez J WaycottUnited KingdomBernardo Dominic RENEWAL
Nicolas D VenereBrazilOnyama Limba NEGOTIATION
Faith V GarufiArgentinaXuxue Feng NEW
Misaki Y RoysterItalyAmy Elsner UNQUALIFIED
Darci K SergiRussiaXuxue Feng UNQUALIFIED
Izzy B MarrierItalyIvan Magalhaes PROPOSAL
Maria V PoquetteUnited KingdomIoni Bowcher NEW
Stacey Y FlosiItalyXuxue Feng UNQUALIFIED
Aruna B OldroydUnited KingdomOnyama Limba PROPOSAL
Kaitlin N WhobreySpainOnyama Limba NEGOTIATION
Darci Q KolmetzUnited KingdomIvan Magalhaes RENEWAL
Claire S CaudyUnited KingdomStephen Shaw UNQUALIFIED
Clifford E KuskoRussiaOnyama Limba UNQUALIFIED
Aditya T PerinRussiaXuxue Feng QUALIFIED
Alejandro S FlosiFranceIoni Bowcher PROPOSAL
Chavez G ChuiRussiaOnyama Limba NEGOTIATION
Emily V FlosiItalyBernardo Dominic PROPOSAL
Silvio U SaylorsIndiaAsiya Javayant RENEWAL
Kaitlin V DilliardItalyIvan Magalhaes QUALIFIED
Aruna W PaprockiIndiaAnna Fali QUALIFIED
Stacey M CaldareraGermanyElwin Sharvill RENEWAL
Nicolas R VenereRussiaIoni Bowcher NEGOTIATION
Faith S FigeroaBrazilAnna Fali NEW
Octavia G MorascaCanadaAsiya Javayant QUALIFIED
Aditya T AmigonItalyIoni Bowcher PROPOSAL
Clifford N GauchoItalyAnna Fali NEGOTIATION
Alejandro I AmigonFranceStephen Shaw UNQUALIFIED
David X RimArgentinaBernardo Dominic NEGOTIATION
Costa O PaprockiItalyStephen Shaw RENEWAL
Kadeem V RulapaughFranceIvan Magalhaes QUALIFIED
Ashley N IturbideUnited KingdomIoni Bowcher RENEWAL
Jefferson X VenereAustraliaBernardo Dominic RENEWAL
Deepesh A SlusarskiJapanBernardo Dominic QUALIFIED
Julie M ChuiAustraliaBernardo Dominic UNQUALIFIED
Stacey G PoquetteAustraliaIoni Bowcher PROPOSAL
Rodrigues F BologniaJapanAmy Elsner UNQUALIFIED
Greenwood Y ButtSpainIoni Bowcher PROPOSAL
Jones Y OldroydBrazilOnyama Limba UNQUALIFIED
Murillo G KuskoBrazilXuxue Feng QUALIFIED
Nicolas Q SergiArgentinaAnna Fali NEW
Tony R WieserAustraliaAnna Fali RENEWAL
Johnson T RulapaughCanadaAnna Fali RENEWAL
Tony T VocelkaCanadaAmy Elsner NEW
Rodrigues N DoeUnited KingdomAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Murillo P SaylorsArgentinaStephen Shaw NEGOTIATION
Murillo K NestleGermanyIoni Bowcher NEGOTIATION
Tony V VenereUnited KingdomIoni Bowcher NEW
Jefferson S AlbaresIndiaXuxue Feng RENEWAL
Darci A VocelkaBrazilAsiya Javayant PROPOSAL
Leja K SchemmerJapanOnyama Limba QUALIFIED
Smith F InouyeAustraliaBernardo Dominic RENEWAL
Murillo U StensethIndiaElwin Sharvill UNQUALIFIED
Clifford E OldroydItalyIvan Magalhaes RENEWAL
Alejandro N SlusarskiFranceAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja I MarrierCanada2026-10-15Chanay, Jeffrey A Esq RENEWAL26Anna Fali
1001Johnson T VenereAustralia2026-10-18Rangoni Of Florence NEGOTIATION2Ivan Magalhaes
1002Mujtaba S StensethAustralia2026-09-22Feltz Printing Service UNQUALIFIED35Elwin Sharvill
1003James R ButtAustralia2026-10-08Rangoni Of Florence NEW69Elwin Sharvill
1004Chavez J VenereIndia2026-09-28King, Christopher A Esq UNQUALIFIED43Ioni Bowcher
1005Munro G VenereJapan2026-10-10Dorl, James J Esq NEGOTIATION63Bernardo Dominic
1006Juan W OldroydAustralia2026-10-16Commercial Press NEGOTIATION35Bernardo Dominic
1007Aruna U MorascaBrazil2026-09-22Morlong Associates UNQUALIFIED29Amy Elsner
1008Maria A PerinUnited Kingdom2026-09-24Dorl, James J Esq RENEWAL6Anna Fali
1009Octavia A RulapaughFrance2026-09-26Feltz Printing Service RENEWAL10Bernardo Dominic
1010Emily U GauchoArgentina2026-10-15Benton, John B Jr NEGOTIATION48Amy Elsner
1011Costa U FollerCanada2026-10-17Chapman, Ross E Esq RENEWAL65Bernardo Dominic
1012Juan L KuskoItaly2026-09-29Truhlar And Truhlar Attys UNQUALIFIED37Asiya Javayant
1013Sinclair Q FollerUnited Kingdom2026-10-17Feltz Printing Service RENEWAL68Bernardo Dominic
1014Jones F GauchoAustralia2026-10-09Rousseaux, Michael Esq NEW66Amy Elsner
1015Mujtaba E CaldareraBrazil2026-10-05Truhlar And Truhlar Attys RENEWAL65Anna Fali
1016Alejandro G FigeroaGermany2026-10-16Truhlar And Truhlar Attys UNQUALIFIED9Bernardo Dominic
1017Cody I FerenczRussia2026-10-15Buckley Miller Wright NEW18Anna Fali
1018Aika I CampainJapan2026-10-18Chapman, Ross E Esq PROPOSAL99Anna Fali
1019Izzy M BriddickGermany2026-09-29Chapman, Ross E Esq QUALIFIED27Stephen Shaw
1020Cody N PoquetteAustralia2026-10-08Truhlar And Truhlar Attys QUALIFIED84Anna Fali
1021Mujtaba N OldroydRussia2026-10-09Benton, John B Jr NEGOTIATION66Elwin Sharvill
1022Chavez J OstroskyFrance2026-09-22Buckley Miller Wright PROPOSAL83Asiya Javayant
1023Clifford W MaletRussia2026-09-22Printing Dimensions UNQUALIFIED61Ivan Magalhaes
1024Juan K WieserIndia2026-09-26King, Christopher A Esq QUALIFIED26Onyama Limba
1025Mayumi I FollerAustralia2026-10-04Printing Dimensions NEGOTIATION55Onyama Limba
1026Claire Y MaletAustralia2026-09-29Morlong Associates NEW98Bernardo Dominic
1027Wickens G FollerRussia2026-10-17Chapman, Ross E Esq QUALIFIED20Elwin Sharvill
1028Kaitlin W SlusarskiSpain2026-10-20Commercial Press UNQUALIFIED29Anna Fali
1029Jeanfrancois P KolmetzFrance2026-09-29Benton, John B Jr NEGOTIATION0Bernardo Dominic
1030Aruna F WieserGermany2026-10-14Feltz Printing Service RENEWAL94Ivan Magalhaes
1031Claire D VocelkaItaly2026-10-05Dorl, James J Esq NEGOTIATION3Bernardo Dominic
1032Emily V PoquetteSpain2026-10-11Printing Dimensions PROPOSAL94Stephen Shaw
1033Maria R StockhamBrazil2026-10-20Truhlar And Truhlar Attys NEW33Ioni Bowcher
1034Aditya M CampainArgentina2026-10-03Feltz Printing Service UNQUALIFIED82Anna Fali
1035Mujtaba Q RoysterJapan2026-10-09Printing Dimensions NEGOTIATION42Xuxue Feng
1036Misaki T MaletRussia2026-10-15Buckley Miller Wright UNQUALIFIED64Ivan Magalhaes
1037Cody L GlickGermany2026-10-05Commercial Press PROPOSAL76Asiya Javayant
1038Julie X OldroydArgentina2026-10-03Chemel, James L Cpa QUALIFIED62Asiya Javayant
1039James H CampainRussia2026-09-24King, Christopher A Esq RENEWAL89Anna Fali
1040Ashley G RulapaughFrance2026-10-12King, Christopher A Esq NEGOTIATION55Ivan Magalhaes
1041Morrow O AlbaresSpain2026-09-22Truhlar And Truhlar Attys RENEWAL95Anna Fali
1042Leon P GauchoItaly2026-09-26King, Christopher A Esq QUALIFIED83Stephen Shaw
1043Nicolas G InouyeCanada2026-09-30Chemel, James L Cpa PROPOSAL62Xuxue Feng
1044Sinclair Z WieserCanada2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED38Asiya Javayant
1045Francesco H PaprockiFrance2026-09-26Chemel, James L Cpa RENEWAL11Amy Elsner
1046Stacey H SchemmerCanada2026-10-15Feltz Printing Service NEGOTIATION74Ioni Bowcher
1047Aika V FigeroaFrance2026-09-25Chemel, James L Cpa QUALIFIED94Ivan Magalhaes
1048Antonio L CaldareraArgentina2026-10-13Feiner Bros UNQUALIFIED77Stephen Shaw
1049Wickens P ShinkoJapan2026-09-27Benton, John B Jr NEW91Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika J MaletItalyAnna Fali PROPOSAL
Adams Y GillianGermanyXuxue Feng PROPOSAL
Munro O IturbideFranceAnna Fali RENEWAL
Juan T ButtUnited KingdomAsiya Javayant QUALIFIED
Morrow I SlusarskiRussiaElwin Sharvill PROPOSAL
Maria F NestleBrazilXuxue Feng UNQUALIFIED
Johnson A InouyeArgentinaBernardo Dominic NEGOTIATION
Ricardo D FigeroaRussiaXuxue Feng PROPOSAL
Mujtaba F RoysterBrazilIvan Magalhaes NEGOTIATION
Claire M WieserCanadaOnyama Limba NEW
Murillo W MarrierIndiaXuxue Feng PROPOSAL
Clifford X NickaItalyIoni Bowcher RENEWAL
Isabel K FollerRussiaAmy Elsner RENEWAL
James O KuskoJapanAmy Elsner NEGOTIATION
Murillo J GarufiJapanIvan Magalhaes NEGOTIATION
Mujtaba K KuskoCanadaStephen Shaw QUALIFIED
David Q WaycottUnited KingdomAnna Fali UNQUALIFIED
Arvin P GauchoSpainIoni Bowcher NEW
Cody B ChuiRussiaIoni Bowcher UNQUALIFIED
Deepesh O GarufiItalyIoni Bowcher QUALIFIED
Nicolas Y MarrierCanadaAsiya Javayant RENEWAL
Juan N FlosiArgentinaAmy Elsner NEGOTIATION
Kaitlin I DilliardJapanXuxue Feng PROPOSAL
David E RulapaughIndiaAnna Fali NEGOTIATION
Claire P KolmetzCanadaElwin Sharvill PROPOSAL
Maria T BriddickCanadaBernardo Dominic UNQUALIFIED
Nicolas I VocelkaSpainElwin Sharvill NEW
Jefferson U BologniaRussiaOnyama Limba UNQUALIFIED
Johnson J NestleItalyIoni Bowcher QUALIFIED
Emily W BriddickUnited KingdomStephen Shaw PROPOSAL
Munro E MacleadAustraliaOnyama Limba NEW
Aditya V FerenczUnited KingdomStephen Shaw RENEWAL
Maria G WieserFranceElwin Sharvill QUALIFIED
Ashley P ChuiCanadaBernardo Dominic NEGOTIATION
Rodrigues F VenereArgentinaBernardo Dominic PROPOSAL
Stacey Y CampainBrazilAnna Fali NEGOTIATION
Ricardo D GauchoFranceElwin Sharvill RENEWAL
Darci G MaletIndiaXuxue Feng QUALIFIED
Salvatore P GlickItalyIvan Magalhaes NEW
Aruna T FollerArgentinaIoni Bowcher QUALIFIED
Isabel M PoquetteBrazilAnna Fali RENEWAL
Ashley B FlosiFranceXuxue Feng UNQUALIFIED
Deepesh E AlbaresBrazilIoni Bowcher RENEWAL
Arvin D OstroskyRussiaStephen Shaw QUALIFIED
Darci T ButtFranceAmy Elsner RENEWAL
Rodrigues W FlosiSpainOnyama Limba PROPOSAL
Ricardo Z BowleyRussiaBernardo Dominic QUALIFIED
Arvin J RutaBrazilOnyama Limba PROPOSAL
Chavez A ShinkoAustraliaOnyama Limba NEW
Mayumi Z PaprockiArgentinaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Darci E Shinko
Smith R Tollner
Izzy J Darakjy
Jeanfrancois Z Perin
Aruna X Kolmetz
Salvatore O Dilliard
Tony C Paprocki
Leja S Morasca
Isabel X Chui
Ivar J Inouye
Isabel F Butt
Francesco P Caudy
Maisha Y Ferencz
Mujtaba P Whobrey
James J Gaucho
David J Malet
Stacey O Ostrosky
Darci S Flosi
Ashley M Flosi
Misaki D Wieser
Arvin C Caldarera
Morrow H Rim
Maria H Marrier
Jeanfrancois Q Garufi
Juan G Foller
Rodrigues W Sergi
Leja A Inouye
Chavez Q Doe
Arvin E Kolmetz
Deepesh V Nicka
Sinclair Y Doe
Juan W Caudy
Wickens V Maclead
Emily Z Iturbide
Chavez N Vocelka
Misaki F Rulapaugh
Isabel P Sergi
Julie E Oldroyd
Aika D Tollner
David N Chui
Emily P Paprocki
Mujtaba W Malet
Chavez S Garufi
Murillo V Inouye
Maria C Bolognia
Kaitlin E Foller
Munro J Iturbide
Stacey L Glick
Misaki D Kusko
Wickens B Chui
IdCountryDate
1000United Kingdom2026-10-07
1001United Kingdom2026-10-04
1002Russia2026-10-13
1003Spain2026-10-03
1004France2026-10-17
1005France2026-10-17
1006Brazil2026-10-16
1007Brazil2026-09-24
1008Russia2026-10-11
1009Japan2026-09-23
1010Australia2026-10-06
1011France2026-09-26
1012Argentina2026-10-04
1013Germany2026-09-30
1014Russia2026-10-19
1015India2026-10-03
1016Germany2026-10-08
1017France2026-09-28
1018India2026-10-06
1019United Kingdom2026-10-05
1020Spain2026-09-25
1021Spain2026-10-16
1022Russia2026-10-06
1023Australia2026-10-19
1024Germany2026-10-09
1025Canada2026-10-17
1026Spain2026-10-04
1027Italy2026-10-01
1028Germany2026-10-03
1029United Kingdom2026-10-09
1030Brazil2026-10-06
1031Argentina2026-10-04
1032India2026-09-29
1033Argentina2026-10-21
1034France2026-10-11
1035Brazil2026-09-28
1036Japan2026-09-22
1037Argentina2026-09-28
1038Canada2026-09-25
1039France2026-09-25
1040Russia2026-09-27
1041Brazil2026-10-01
1042Germany2026-10-17
1043Japan2026-10-12
1044Germany2026-10-14
1045United Kingdom2026-10-21
1046Brazil2026-10-04
1047Germany2026-10-14
1048Australia2026-09-27
1049France2026-10-13

On-Demand Data

NameIdCountryDate
Arvin W Flosi1000Russia2026-09-25
Jones K Doe1001Argentina2026-10-10
Leja Q Garufi1002Japan2026-10-07
Chavez F Ferencz1003Argentina2026-10-07
Nicolas A Caldarera1004Russia2026-09-30
Ashley H Paprocki1005United Kingdom2026-10-16
Chavez R Waycott1006Brazil2026-10-19
Jeanfrancois Q Venere1007United Kingdom2026-10-08
Johnson Y Gaucho1008Canada2026-09-29
Julie B Flosi1009Russia2026-09-24
Aika L Doe1010Spain2026-10-10
James U Dilliard1011Canada2026-09-30
Nicolas X Chui1012France2026-09-22
Arvin F Sergi1013Australia2026-10-18
Deepesh V Amigon1014Brazil2026-10-17
Faith Y Nicka1015India2026-10-17
Adams A Ferencz1016Japan2026-09-27
Leon H Nestle1017Germany2026-10-21
Ricardo B Waycott1018Germany2026-10-13
Adams Q Royster1019United Kingdom2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan K VenereRussiaElwin Sharvill NEGOTIATION
Claire Z SaylorsGermanyStephen Shaw PROPOSAL
Chavez K PaprockiJapanIvan Magalhaes RENEWAL
Rodrigues P ChuiSpainAmy Elsner QUALIFIED
Ricardo T ButtJapanIoni Bowcher PROPOSAL
Johnson O PoquetteBrazilElwin Sharvill PROPOSAL
Isabel V BriddickUnited KingdomBernardo Dominic NEGOTIATION
Aditya L StockhamAustraliaElwin Sharvill QUALIFIED
Izzy V CaldareraItalyBernardo Dominic NEW
Arvin V WieserGermanyBernardo Dominic NEW
Kaitlin W SlusarskiIndiaXuxue Feng NEGOTIATION
Aditya V KolmetzRussiaAmy Elsner PROPOSAL
Mayumi J FlosiSpainElwin Sharvill NEW
Mayumi C FerenczRussiaAsiya Javayant QUALIFIED
Munro X SaylorsJapanIoni Bowcher QUALIFIED
Mayumi A MacleadBrazilIvan Magalhaes RENEWAL
Juan H DarakjyRussiaIoni Bowcher NEGOTIATION
Jones S CampainRussiaIoni Bowcher QUALIFIED
Costa G NickaAustraliaAmy Elsner QUALIFIED
Mujtaba L FlosiUnited KingdomBernardo Dominic RENEWAL
Juan W AlbaresJapanStephen Shaw QUALIFIED
Tony C CaldareraAustraliaIoni Bowcher UNQUALIFIED
Costa D MorascaBrazilAnna Fali NEGOTIATION
Jones M StockhamArgentinaXuxue Feng PROPOSAL
Kaitlin S WhobreyUnited KingdomIvan Magalhaes NEW
Mayumi B OldroydCanadaBernardo Dominic QUALIFIED
Claire D DoeUnited KingdomAsiya Javayant NEW
Morrow K SergiIndiaAsiya Javayant QUALIFIED
Nicolas G GarufiBrazilAnna Fali NEW
Deepesh Z BologniaCanadaAmy Elsner PROPOSAL
Maria E MaletGermanyAnna Fali NEGOTIATION
Claire N PoquetteIndiaIoni Bowcher QUALIFIED
Maisha W OstroskyCanadaIoni Bowcher NEGOTIATION
Kadeem M OstroskyGermanyOnyama Limba QUALIFIED
Wickens C RulapaughItalyBernardo Dominic NEGOTIATION
Octavia B RimItalyBernardo Dominic PROPOSAL
Jefferson G TollnerBrazilIoni Bowcher RENEWAL
Juan N DarakjyRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois I RutaFranceBernardo Dominic QUALIFIED
Juan N ShinkoRussiaStephen 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>