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
Leon F OstroskyArgentinaAnna Fali UNQUALIFIED
Greenwood A DoeRussiaXuxue Feng RENEWAL
Aditya I CaudyUnited KingdomStephen Shaw UNQUALIFIED
Ricardo P WieserItalyBernardo Dominic UNQUALIFIED
Cody K KolmetzSpainAmy Elsner RENEWAL
Maria Z DoeJapanAsiya Javayant PROPOSAL
Leja P BriddickBrazilElwin Sharvill NEGOTIATION
Murillo B WieserCanadaBernardo Dominic RENEWAL
Kadeem O ShinkoRussiaAnna Fali PROPOSAL
Clifford B DoeArgentinaIvan Magalhaes NEGOTIATION
Jeanfrancois F InouyeCanadaIvan Magalhaes UNQUALIFIED
Kadeem S ButtIndiaIvan Magalhaes NEGOTIATION
Isabel A MarrierArgentinaAnna Fali PROPOSAL
Johnson W GauchoUnited KingdomAsiya Javayant NEW
Jefferson J MaletAustraliaIvan Magalhaes QUALIFIED
Sinclair T RimIndiaOnyama Limba QUALIFIED
Izzy J InouyeGermanyIvan Magalhaes UNQUALIFIED
Greenwood D MorascaItalyElwin Sharvill QUALIFIED
Jennifer W CampainItalyIoni Bowcher PROPOSAL
Adams A StockhamIndiaIvan Magalhaes NEGOTIATION
Sinclair U CaldareraUnited KingdomIoni Bowcher NEW
Francesco N PoquetteAustraliaXuxue Feng RENEWAL
Morrow Z VenereJapanIvan Magalhaes NEGOTIATION
Mayumi F MacleadAustraliaAnna Fali NEW
Aditya J FollerItalyStephen Shaw QUALIFIED
Isabel K RulapaughItalyOnyama Limba UNQUALIFIED
Alejandro T SchemmerFranceStephen Shaw QUALIFIED
Munro I SlusarskiArgentinaBernardo Dominic NEGOTIATION
Greenwood W WaycottArgentinaOnyama Limba RENEWAL
Munro A AmigonRussiaAmy Elsner RENEWAL
Julie Q WaycottAustraliaElwin Sharvill UNQUALIFIED
Darci D RulapaughFranceAsiya Javayant NEW
Misaki V FigeroaIndiaXuxue Feng QUALIFIED
Leja R ShinkoSpainAsiya Javayant RENEWAL
Cody U StockhamJapanAsiya Javayant UNQUALIFIED
Ivar M DoeArgentinaXuxue Feng UNQUALIFIED
Leja P DoeIndiaIvan Magalhaes RENEWAL
Morrow E PaprockiIndiaAnna Fali PROPOSAL
Claire B GlickJapanAmy Elsner UNQUALIFIED
Aruna Z AmigonBrazilAnna Fali PROPOSAL
Johnson A IturbideFranceXuxue Feng NEGOTIATION
Jones X MaletCanadaAnna Fali QUALIFIED
Jefferson H BologniaAustraliaAnna Fali NEGOTIATION
Costa A SergiItalyAnna Fali QUALIFIED
Morrow X SlusarskiSpainStephen Shaw RENEWAL
Chavez E FollerJapanBernardo Dominic RENEWAL
Morrow T TollnerIndiaElwin Sharvill QUALIFIED
Deepesh Y RulapaughAustraliaIoni Bowcher NEW
Murillo K KuskoBrazilIoni Bowcher NEGOTIATION
Clifford R OstroskyUnited KingdomAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily H MorascaArgentinaBernardo Dominic NEW
Wickens S ChuiItalyAnna Fali NEGOTIATION
Ricardo Z PerinJapanBernardo Dominic NEW
Izzy V MacleadUnited KingdomXuxue Feng NEW
Emily E SergiGermanyAsiya Javayant PROPOSAL
Rodrigues T MaletFranceIvan Magalhaes PROPOSAL
Costa U PerinAustraliaIoni Bowcher NEW
Misaki X GlickItalyAnna Fali RENEWAL
Cody D AlbaresFranceElwin Sharvill QUALIFIED
Murillo F ShinkoUnited KingdomAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel L DarakjyArgentina2026-09-25Truhlar And Truhlar Attys NEW3Onyama Limba
1001Clifford L MaletItaly2026-09-17Rousseaux, Michael Esq QUALIFIED11Asiya Javayant
1002Octavia N KuskoRussia2026-10-15Chanay, Jeffrey A Esq NEW47Elwin Sharvill
1003Nicolas L MarrierJapan2026-10-11Commercial Press NEGOTIATION55Anna Fali
1004Sinclair K ButtSpain2026-09-27Dorl, James J Esq NEW43Bernardo Dominic
1005Silvio E RoysterRussia2026-09-20Commercial Press NEW61Anna Fali
1006Francesco M GarufiUnited Kingdom2026-10-11Feltz Printing Service UNQUALIFIED96Ivan Magalhaes
1007Mayumi B BologniaGermany2026-10-14Feltz Printing Service RENEWAL9Asiya Javayant
1008Greenwood K FerenczItaly2026-09-16Truhlar And Truhlar Attys NEGOTIATION9Xuxue Feng
1009Greenwood F WhobreyArgentina2026-09-26Benton, John B Jr PROPOSAL20Asiya Javayant
1010Mayumi U FigeroaFrance2026-10-11Feiner Bros QUALIFIED32Xuxue Feng
1011Silvio P MacleadCanada2026-10-11Chemel, James L Cpa QUALIFIED80Xuxue Feng
1012Rodrigues C InouyeAustralia2026-10-02Chapman, Ross E Esq RENEWAL40Amy Elsner
1013Salvatore E MaletFrance2026-10-14Feiner Bros NEW94Elwin Sharvill
1014Kaitlin C VenereArgentina2026-10-03Feltz Printing Service RENEWAL70Asiya Javayant
1015Maria G FigeroaArgentina2026-09-19Printing Dimensions RENEWAL47Bernardo Dominic
1016Adams H CaudyUnited Kingdom2026-10-01Dorl, James J Esq RENEWAL80Stephen Shaw
1017Nicolas X RoysterJapan2026-10-06Benton, John B Jr PROPOSAL32Xuxue Feng
1018Aruna E GauchoUnited Kingdom2026-10-10Dorl, James J Esq QUALIFIED28Bernardo Dominic
1019Antonio H NickaIndia2026-09-17Truhlar And Truhlar Attys QUALIFIED71Onyama Limba
1020Arvin P PaprockiJapan2026-10-04Feltz Printing Service RENEWAL51Stephen Shaw
1021Izzy D BologniaRussia2026-09-16Rousseaux, Michael Esq NEW24Ioni Bowcher
1022Cody Z WhobreyGermany2026-10-07King, Christopher A Esq QUALIFIED96Xuxue Feng
1023Isabel X GauchoFrance2026-09-22Chanay, Jeffrey A Esq NEGOTIATION40Ioni Bowcher
1024Mujtaba H OstroskyGermany2026-09-24Morlong Associates NEGOTIATION13Bernardo Dominic
1025Arvin M GauchoJapan2026-09-18Chanay, Jeffrey A Esq PROPOSAL21Onyama Limba
1026Jones G WaycottSpain2026-09-30Feltz Printing Service UNQUALIFIED85Elwin Sharvill
1027Isabel M RutaUnited Kingdom2026-10-09Chemel, James L Cpa NEGOTIATION10Ioni Bowcher
1028Leja K RutaUnited Kingdom2026-10-13Printing Dimensions QUALIFIED70Xuxue Feng
1029Mujtaba I BriddickSpain2026-09-20King, Christopher A Esq NEGOTIATION95Onyama Limba
1030Misaki J CampainItaly2026-10-01Chanay, Jeffrey A Esq PROPOSAL85Asiya Javayant
1031Darci S IturbideJapan2026-09-22Feiner Bros NEW95Amy Elsner
1032Cody R StensethAustralia2026-10-13Truhlar And Truhlar Attys RENEWAL53Bernardo Dominic
1033Emily O SlusarskiItaly2026-10-12Dorl, James J Esq NEW1Ivan Magalhaes
1034Sinclair A RimJapan2026-09-18Truhlar And Truhlar Attys RENEWAL88Bernardo Dominic
1035Leon S StensethRussia2026-10-13Feiner Bros QUALIFIED27Stephen Shaw
1036Antonio P IturbideGermany2026-09-22King, Christopher A Esq NEGOTIATION15Ivan Magalhaes
1037Leja K StensethArgentina2026-10-13Chanay, Jeffrey A Esq QUALIFIED79Asiya Javayant
1038David Y WieserJapan2026-10-04Dorl, James J Esq RENEWAL74Amy Elsner
1039Arvin W MarrierAustralia2026-10-07Rousseaux, Michael Esq UNQUALIFIED78Asiya Javayant
1040Ashley N PerinItaly2026-10-09Feiner Bros QUALIFIED73Anna Fali
1041Johnson A MorascaSpain2026-10-07Commercial Press NEW83Ivan Magalhaes
1042Maria K SergiRussia2026-10-14Feltz Printing Service PROPOSAL90Bernardo Dominic
1043Salvatore S FerenczUnited Kingdom2026-10-15Dorl, James J Esq RENEWAL30Onyama Limba
1044Stacey X NestleSpain2026-09-26Rousseaux, Michael Esq NEGOTIATION77Asiya Javayant
1045Greenwood A MaletArgentina2026-10-11Rousseaux, Michael Esq NEW94Stephen Shaw
1046Stacey T MacleadGermany2026-09-17King, Christopher A Esq QUALIFIED1Stephen Shaw
1047Ricardo Z TollnerBrazil2026-09-23Chanay, Jeffrey A Esq QUALIFIED46Ioni Bowcher
1048Faith Z AmigonGermany2026-09-17Feiner Bros PROPOSAL42Bernardo Dominic
1049Munro Q ButtJapan2026-09-25Benton, John B Jr QUALIFIED80Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Darci R StockhamGermanyElwin Sharvill NEW
Kaitlin Z SergiArgentinaIoni Bowcher PROPOSAL
Clifford C PoquetteItalyBernardo Dominic PROPOSAL
Greenwood W CampainGermanyStephen Shaw NEW
Deepesh T AmigonBrazilStephen Shaw QUALIFIED
Chavez R FerenczSpainIoni Bowcher NEW
Chavez L SergiJapanIoni Bowcher UNQUALIFIED
Ashley I StockhamGermanyAnna Fali QUALIFIED
Silvio C FollerUnited KingdomXuxue Feng PROPOSAL
Nicolas J CampainAustraliaIoni Bowcher UNQUALIFIED
Morrow B MacleadCanadaOnyama Limba QUALIFIED
Wickens T GlickCanadaXuxue Feng RENEWAL
James U FlosiGermanyAmy Elsner QUALIFIED
Ricardo D MaletItalyElwin Sharvill PROPOSAL
Aika X ShinkoFranceElwin Sharvill UNQUALIFIED
Ricardo Q GlickUnited KingdomOnyama Limba UNQUALIFIED
Maisha G KuskoItalyOnyama Limba RENEWAL
Nicolas S GlickCanadaStephen Shaw RENEWAL
Misaki J RutaUnited KingdomAsiya Javayant RENEWAL
Misaki F IturbideGermanyAsiya Javayant QUALIFIED
Leon M CampainItalyXuxue Feng NEGOTIATION
David Q PerinArgentinaAsiya Javayant UNQUALIFIED
Kaitlin N AlbaresItalyAmy Elsner QUALIFIED
Salvatore K GlickArgentinaIvan Magalhaes PROPOSAL
Jefferson F FlosiItalyElwin Sharvill NEGOTIATION
Rodrigues Y SaylorsSpainBernardo Dominic NEW
Arvin Z CampainArgentinaAmy Elsner NEW
Adams L PerinSpainIoni Bowcher NEGOTIATION
James H StockhamCanadaBernardo Dominic RENEWAL
David I GlickFranceBernardo Dominic PROPOSAL
Aditya W CaudySpainAmy Elsner NEW
Ricardo J SchemmerRussiaAnna Fali NEW
Jennifer O AmigonAustraliaIvan Magalhaes UNQUALIFIED
Ricardo N RoysterUnited KingdomAnna Fali NEGOTIATION
Francesco M MarrierGermanyElwin Sharvill QUALIFIED
Aika J AmigonBrazilStephen Shaw NEGOTIATION
Ricardo G RoysterArgentinaIvan Magalhaes NEW
Ricardo N CaudyIndiaBernardo Dominic QUALIFIED
Claire A StensethJapanOnyama Limba RENEWAL
Julie S GlickGermanyAmy Elsner UNQUALIFIED
Francesco D MarrierFranceBernardo Dominic RENEWAL
Mujtaba T RoysterRussiaAmy Elsner RENEWAL
Greenwood Q InouyeItalyAsiya Javayant NEGOTIATION
Ricardo I StensethUnited KingdomXuxue Feng NEGOTIATION
Greenwood Z VenereItalyIoni Bowcher UNQUALIFIED
Deepesh F DilliardGermanyAsiya Javayant NEW
Aika N DilliardAustraliaAnna Fali QUALIFIED
Adams Q ChuiBrazilAnna Fali PROPOSAL
Aditya C GlickUnited KingdomIoni Bowcher UNQUALIFIED
Tony M CaldareraJapanBernardo Dominic NEGOTIATION
Frozen Columns
Name
Ricardo J Doe
Juan M Marrier
Arvin W Stenseth
Juan O Dilliard
Isabel X Morasca
Darci K Malet
Chavez E Vocelka
Darci I Chui
Antonio P Slusarski
Misaki I Campain
Leja W Garufi
Leon J Caldarera
Francesco H Poquette
Alejandro Q Darakjy
Aditya N Oldroyd
Nicolas H Royster
Leon U Darakjy
Jefferson O Perin
Ivar N Shinko
Darci Z Figeroa
Aruna N Poquette
Alejandro H Morasca
Smith S Amigon
Maria K Stenseth
Kaitlin V Shinko
Alejandro G Butt
Alejandro W Kusko
Mujtaba Z Paprocki
David J Dilliard
Murillo G Campain
Mayumi I Iturbide
Maisha W Schemmer
Adams A Ostrosky
Kaitlin A Rulapaugh
Arvin L Slusarski
Jennifer S Sergi
Mujtaba J Schemmer
Cody S Glick
Sinclair F Stockham
Jennifer O Vocelka
Emily K Iturbide
Mayumi T Flosi
Murillo X Bowley
Francesco B Waycott
Leja A Campain
Jefferson M Paprocki
James E Amigon
Costa N Stenseth
Faith E Venere
Claire V Perin
IdCountryDate
1000Australia2026-10-04
1001Australia2026-09-26
1002Italy2026-09-18
1003Germany2026-10-02
1004Argentina2026-10-09
1005Germany2026-09-26
1006Russia2026-09-27
1007United Kingdom2026-09-21
1008Spain2026-09-22
1009Australia2026-09-23
1010Russia2026-10-13
1011India2026-09-16
1012Italy2026-10-05
1013Germany2026-09-26
1014Argentina2026-10-01
1015Spain2026-10-13
1016Brazil2026-09-20
1017Argentina2026-09-29
1018Russia2026-10-11
1019United Kingdom2026-09-16
1020Brazil2026-10-08
1021Argentina2026-09-30
1022Australia2026-10-09
1023Russia2026-10-02
1024France2026-10-14
1025Japan2026-10-15
1026Germany2026-09-29
1027Italy2026-10-06
1028Italy2026-10-08
1029Italy2026-10-07
1030Japan2026-10-04
1031United Kingdom2026-09-19
1032Brazil2026-09-20
1033Australia2026-10-14
1034Germany2026-10-08
1035Australia2026-10-06
1036Spain2026-09-17
1037Brazil2026-09-26
1038Argentina2026-09-17
1039Canada2026-09-23
1040Canada2026-09-17
1041Argentina2026-10-06
1042Argentina2026-09-26
1043India2026-10-03
1044United Kingdom2026-09-19
1045Italy2026-09-30
1046Italy2026-09-25
1047Australia2026-10-13
1048Japan2026-10-07
1049Argentina2026-10-12

On-Demand Data

NameIdCountryDate
Jones P Dilliard1000Germany2026-09-16
Deepesh X Flosi1001Russia2026-10-04
Francesco V Oldroyd1002Germany2026-09-21
Kadeem R Ferencz1003Australia2026-10-02
Juan T Iturbide1004India2026-09-22
Arvin I Caldarera1005Brazil2026-09-26
David K Malet1006Germany2026-09-20
Silvio X Nicka1007Italy2026-10-07
Jeanfrancois B Doe1008Brazil2026-09-18
Adams G Garufi1009Germany2026-09-20
Maisha C Kolmetz1010Argentina2026-10-04
Chavez W Shinko1011Italy2026-09-22
Jefferson Q Iturbide1012Argentina2026-10-11
Aruna I Whobrey1013Russia2026-09-24
Octavia K Darakjy1014Japan2026-09-19
Jennifer N Royster1015Brazil2026-10-12
Ashley D Nestle1016Russia2026-09-22
Nicolas Y Whobrey1017France2026-10-07
David V Nicka1018Australia2026-09-30
Julie X Malet1019Brazil2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro G RulapaughItalyAsiya Javayant PROPOSAL
Jones K VocelkaIndiaElwin Sharvill NEGOTIATION
Misaki S CampainUnited KingdomAmy Elsner UNQUALIFIED
Smith Y DoeBrazilBernardo Dominic NEGOTIATION
Smith P OstroskyIndiaIvan Magalhaes UNQUALIFIED
Jennifer M ShinkoUnited KingdomXuxue Feng NEW
Ivar V OstroskyRussiaAmy Elsner RENEWAL
Julie Y VocelkaGermanyIvan Magalhaes RENEWAL
Francesco H PoquetteRussiaIoni Bowcher PROPOSAL
Darci T NestleIndiaIoni Bowcher QUALIFIED
Antonio F RimItalyAsiya Javayant PROPOSAL
Stacey N ButtRussiaXuxue Feng NEW
Chavez L MarrierGermanyBernardo Dominic UNQUALIFIED
Tony O RoysterJapanOnyama Limba NEGOTIATION
Alejandro D GlickUnited KingdomAnna Fali NEW
Jeanfrancois T BowleyFranceOnyama Limba NEW
Emily S SergiSpainStephen Shaw NEGOTIATION
Ashley G WhobreyJapanXuxue Feng QUALIFIED
Kadeem U PoquetteBrazilXuxue Feng NEW
Alejandro L WaycottUnited KingdomElwin Sharvill NEGOTIATION
Morrow Y RutaUnited KingdomBernardo Dominic PROPOSAL
Kadeem N MarrierJapanOnyama Limba NEGOTIATION
Isabel U FigeroaSpainIoni Bowcher RENEWAL
Stacey B OstroskyJapanAsiya Javayant NEGOTIATION
Darci E DilliardUnited KingdomAnna Fali RENEWAL
Nicolas G CampainItalyOnyama Limba UNQUALIFIED
Jeanfrancois C OstroskyGermanyIoni Bowcher NEW
Leon A BowleyFranceElwin Sharvill NEGOTIATION
Arvin W DilliardFranceOnyama Limba NEW
Jeanfrancois W NestleSpainIvan Magalhaes NEW
Costa K DilliardIndiaAsiya Javayant RENEWAL
Kaitlin I NickaItalyAsiya Javayant PROPOSAL
Deepesh E BriddickAustraliaAmy Elsner RENEWAL
Julie Z AmigonArgentinaIoni Bowcher QUALIFIED
Ashley Z NestleSpainStephen Shaw RENEWAL
Maria K VenereRussiaStephen Shaw UNQUALIFIED
Maria Y CaldareraBrazilXuxue Feng NEGOTIATION
Julie I AlbaresItalyAnna Fali PROPOSAL
Munro O PoquetteCanadaBernardo Dominic UNQUALIFIED
Greenwood I NestleCanadaIoni Bowcher 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>