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
Faith E BologniaUnited KingdomXuxue Feng RENEWAL
Jefferson E SchemmerItalyXuxue Feng UNQUALIFIED
Murillo C MarrierGermanyAmy Elsner UNQUALIFIED
Jeanfrancois P OldroydAustraliaBernardo Dominic NEW
Ricardo Q WaycottBrazilStephen Shaw NEGOTIATION
Faith Y MarrierRussiaOnyama Limba RENEWAL
Kaitlin H AlbaresGermanyElwin Sharvill NEW
Jones B WieserItalyStephen Shaw UNQUALIFIED
Ashley V GlickAustraliaXuxue Feng UNQUALIFIED
Julie A MarrierFranceElwin Sharvill PROPOSAL
James O NestleArgentinaBernardo Dominic NEGOTIATION
Jennifer X RulapaughCanadaIoni Bowcher UNQUALIFIED
Stacey G MacleadIndiaAsiya Javayant UNQUALIFIED
Ashley S OldroydRussiaElwin Sharvill RENEWAL
Nicolas X SlusarskiArgentinaAsiya Javayant RENEWAL
Juan B DoeItalyBernardo Dominic QUALIFIED
Jennifer P GarufiFranceIvan Magalhaes NEW
Greenwood X DoeUnited KingdomBernardo Dominic RENEWAL
Tony O FerenczGermanyElwin Sharvill QUALIFIED
Greenwood P ShinkoArgentinaIoni Bowcher PROPOSAL
Jones Z PaprockiBrazilIoni Bowcher NEW
Deepesh W WieserRussiaIvan Magalhaes PROPOSAL
Jefferson P CampainCanadaIvan Magalhaes RENEWAL
Leon X ButtFranceAsiya Javayant QUALIFIED
Silvio B RulapaughCanadaXuxue Feng PROPOSAL
Cody I ButtIndiaBernardo Dominic RENEWAL
Leja V WieserIndiaStephen Shaw QUALIFIED
Maisha I RutaUnited KingdomAsiya Javayant PROPOSAL
Deepesh Z PaprockiRussiaAnna Fali PROPOSAL
Jeanfrancois K FigeroaIndiaBernardo Dominic RENEWAL
Stacey Z TollnerUnited KingdomIvan Magalhaes NEW
Francesco D AlbaresCanadaXuxue Feng QUALIFIED
Tony T FlosiJapanAnna Fali NEGOTIATION
Cody E GillianBrazilIvan Magalhaes NEGOTIATION
Darci Y GauchoAustraliaElwin Sharvill RENEWAL
Sinclair P BologniaGermanyStephen Shaw QUALIFIED
Izzy M DilliardGermanyAsiya Javayant UNQUALIFIED
Aruna H DarakjyItalyIoni Bowcher QUALIFIED
Sinclair T ChuiAustraliaElwin Sharvill NEW
Emily S WhobreyCanadaOnyama Limba NEW
Stacey F BologniaArgentinaIvan Magalhaes QUALIFIED
Johnson A StockhamFranceAnna Fali UNQUALIFIED
James N WhobreyGermanyElwin Sharvill PROPOSAL
Wickens M BologniaCanadaIoni Bowcher NEW
Costa V VocelkaCanadaIvan Magalhaes QUALIFIED
Murillo Z WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Sinclair V CampainItalyBernardo Dominic PROPOSAL
Izzy L FollerArgentinaElwin Sharvill UNQUALIFIED
James Z BriddickUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood Q OldroydItalyXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika O IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo T PoquetteBrazilIvan Magalhaes PROPOSAL
Costa M GarufiIndiaXuxue Feng QUALIFIED
Isabel L MaletItalyStephen Shaw QUALIFIED
Silvio U ShinkoFranceIvan Magalhaes UNQUALIFIED
Claire O PaprockiRussiaIvan Magalhaes RENEWAL
Claire W RulapaughBrazilAnna Fali NEGOTIATION
Leon N BowleyItalyIvan Magalhaes NEW
Salvatore X GlickCanadaOnyama Limba QUALIFIED
Octavia Z WaycottAustraliaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya L MacleadSpain2026-08-26Rousseaux, Michael Esq QUALIFIED39Anna Fali
1001Tony E GlickSpain2026-08-26King, Christopher A Esq NEGOTIATION30Xuxue Feng
1002Costa Q SlusarskiUnited Kingdom2026-08-24Commercial Press UNQUALIFIED92Stephen Shaw
1003Faith Q VocelkaRussia2026-08-26Truhlar And Truhlar Attys NEGOTIATION79Anna Fali
1004Chavez R TollnerAustralia2026-08-14Dorl, James J Esq NEGOTIATION86Amy Elsner
1005Mujtaba Y WhobreyAustralia2026-08-17Chanay, Jeffrey A Esq NEGOTIATION13Ioni Bowcher
1006Adams U AmigonAustralia2026-08-09Feiner Bros UNQUALIFIED43Xuxue Feng
1007Alejandro J VocelkaGermany2026-08-18Rousseaux, Michael Esq NEW48Ioni Bowcher
1008Sinclair W GillianUnited Kingdom2026-08-12Truhlar And Truhlar Attys PROPOSAL48Anna Fali
1009Ashley U GauchoArgentina2026-08-11Dorl, James J Esq UNQUALIFIED35Onyama Limba
1010Aruna L AlbaresArgentina2026-08-06Rousseaux, Michael Esq NEW91Stephen Shaw
1011David L RimJapan2026-08-09King, Christopher A Esq NEW56Asiya Javayant
1012Costa Q FigeroaItaly2026-09-01Chemel, James L Cpa UNQUALIFIED23Ioni Bowcher
1013Murillo K TollnerBrazil2026-08-20Chemel, James L Cpa UNQUALIFIED42Onyama Limba
1014Leon X AlbaresBrazil2026-09-01Rousseaux, Michael Esq UNQUALIFIED22Xuxue Feng
1015Chavez S CampainGermany2026-08-16Buckley Miller Wright NEW66Ioni Bowcher
1016Costa V NickaIndia2026-08-19Truhlar And Truhlar Attys QUALIFIED94Ioni Bowcher
1017Murillo F MarrierJapan2026-08-05Truhlar And Truhlar Attys PROPOSAL48Asiya Javayant
1018Johnson G BowleyBrazil2026-08-28Commercial Press RENEWAL90Anna Fali
1019Jeanfrancois L KuskoIndia2026-08-26King, Christopher A Esq QUALIFIED18Asiya Javayant
1020Kaitlin I PoquetteGermany2026-08-21Rangoni Of Florence UNQUALIFIED48Stephen Shaw
1021Claire T RimBrazil2026-08-17Chemel, James L Cpa PROPOSAL88Xuxue Feng
1022Adams I AlbaresSpain2026-08-29Commercial Press NEGOTIATION14Amy Elsner
1023Maria L MacleadGermany2026-09-02Buckley Miller Wright PROPOSAL40Onyama Limba
1024David D SergiAustralia2026-08-07Dorl, James J Esq QUALIFIED33Elwin Sharvill
1025Maisha G DilliardBrazil2026-08-04King, Christopher A Esq QUALIFIED41Ivan Magalhaes
1026Isabel B RoysterCanada2026-08-19Rousseaux, Michael Esq QUALIFIED72Xuxue Feng
1027Morrow C VocelkaSpain2026-08-22King, Christopher A Esq NEGOTIATION86Ivan Magalhaes
1028Nicolas U SergiIndia2026-08-20Chapman, Ross E Esq QUALIFIED48Bernardo Dominic
1029David R WieserItaly2026-09-02Chanay, Jeffrey A Esq PROPOSAL5Amy Elsner
1030Julie Z BriddickArgentina2026-08-11King, Christopher A Esq RENEWAL42Bernardo Dominic
1031Aruna P MaletItaly2026-08-26Morlong Associates RENEWAL42Xuxue Feng
1032Chavez W CaudyFrance2026-08-20Chanay, Jeffrey A Esq UNQUALIFIED27Amy Elsner
1033Johnson H StensethJapan2026-08-25Feiner Bros NEGOTIATION76Xuxue Feng
1034Julie K WaycottSpain2026-08-21Benton, John B Jr RENEWAL33Amy Elsner
1035Leja J WieserJapan2026-08-09Chemel, James L Cpa NEGOTIATION16Stephen Shaw
1036Ashley D PerinIndia2026-08-17Printing Dimensions UNQUALIFIED97Bernardo Dominic
1037Adams L GauchoGermany2026-08-15Dorl, James J Esq NEGOTIATION24Anna Fali
1038Wickens W GarufiSpain2026-08-16Chanay, Jeffrey A Esq QUALIFIED45Xuxue Feng
1039Silvio H DoeRussia2026-08-10Feiner Bros NEW65Onyama Limba
1040Leon B GarufiArgentina2026-08-29Morlong Associates RENEWAL96Anna Fali
1041Maisha V SlusarskiIndia2026-08-30Feltz Printing Service RENEWAL87Elwin Sharvill
1042Adams Y GlickIndia2026-08-18Feltz Printing Service NEW41Onyama Limba
1043Smith B DarakjyJapan2026-08-31Benton, John B Jr RENEWAL24Asiya Javayant
1044Mayumi B SlusarskiRussia2026-08-11Rangoni Of Florence NEW24Xuxue Feng
1045Isabel W ButtBrazil2026-08-11Buckley Miller Wright RENEWAL6Stephen Shaw
1046James T TollnerSpain2026-08-24Truhlar And Truhlar Attys NEGOTIATION29Stephen Shaw
1047Morrow F MarrierFrance2026-08-08Rangoni Of Florence QUALIFIED43Elwin Sharvill
1048Rodrigues Q WhobreyBrazil2026-08-29Benton, John B Jr QUALIFIED19Ioni Bowcher
1049Costa S FerenczItaly2026-08-08Feiner Bros QUALIFIED32Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba F FerenczIndiaAnna Fali UNQUALIFIED
Salvatore M VocelkaRussiaStephen Shaw NEW
Wickens X GauchoSpainOnyama Limba QUALIFIED
Izzy X DarakjyCanadaOnyama Limba UNQUALIFIED
Francesco X CampainJapanAmy Elsner NEGOTIATION
Rodrigues I FerenczRussiaElwin Sharvill NEGOTIATION
Cody O TollnerBrazilAsiya Javayant PROPOSAL
David B MaletBrazilIoni Bowcher QUALIFIED
Kaitlin K StensethCanadaBernardo Dominic QUALIFIED
Julie U MaletJapanAmy Elsner QUALIFIED
Ricardo P VenereCanadaElwin Sharvill RENEWAL
Kaitlin M PaprockiSpainAsiya Javayant RENEWAL
Jefferson D BowleyJapanBernardo Dominic QUALIFIED
Aika D WaycottSpainElwin Sharvill NEGOTIATION
Francesco Y FlosiIndiaBernardo Dominic QUALIFIED
Izzy J DoeArgentinaBernardo Dominic UNQUALIFIED
Kaitlin G WhobreySpainOnyama Limba NEW
Morrow I PerinCanadaIoni Bowcher NEW
Juan L FigeroaGermanyAnna Fali RENEWAL
Darci G MaletJapanElwin Sharvill NEW
Jeanfrancois Y OstroskyBrazilAmy Elsner QUALIFIED
James G SlusarskiFranceElwin Sharvill RENEWAL
Arvin G GlickUnited KingdomIoni Bowcher PROPOSAL
Stacey V PaprockiRussiaAsiya Javayant PROPOSAL
Faith K MorascaRussiaXuxue Feng QUALIFIED
Alejandro V SlusarskiRussiaXuxue Feng RENEWAL
Aika X SergiGermanyIoni Bowcher NEGOTIATION
Izzy V MacleadIndiaBernardo Dominic UNQUALIFIED
Mujtaba P CaudyJapanAsiya Javayant RENEWAL
Jeanfrancois R WaycottSpainOnyama Limba NEGOTIATION
Leon P SlusarskiItalyElwin Sharvill NEGOTIATION
Johnson A DilliardItalyIvan Magalhaes PROPOSAL
Emily S BriddickAustraliaAsiya Javayant PROPOSAL
Darci I InouyeItalyAmy Elsner QUALIFIED
Kaitlin E ButtItalyAsiya Javayant QUALIFIED
James N NickaItalyIoni Bowcher PROPOSAL
Aditya T GauchoRussiaXuxue Feng NEW
Mayumi J BowleyIndiaElwin Sharvill NEGOTIATION
Ivar Z DoeItalyXuxue Feng NEGOTIATION
Izzy D FigeroaSpainElwin Sharvill QUALIFIED
Aditya U StensethIndiaXuxue Feng NEGOTIATION
Octavia W NestleJapanAnna Fali NEW
Adams D FlosiArgentinaElwin Sharvill PROPOSAL
Mujtaba L KuskoItalyXuxue Feng UNQUALIFIED
Leon C KuskoRussiaAmy Elsner PROPOSAL
Juan J GillianAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois U RulapaughBrazilAnna Fali UNQUALIFIED
Leon O MacleadJapanXuxue Feng QUALIFIED
Isabel R FlosiAustraliaAnna Fali UNQUALIFIED
David M WhobreyFranceOnyama Limba PROPOSAL
Frozen Columns
Name
Aruna Z Bowley
Clifford J Wieser
Salvatore K Vocelka
Kaitlin K Ruta
Maisha A Inouye
Antonio X Wieser
Leja V Kusko
Ricardo M Rulapaugh
Ivar L Campain
Claire J Bowley
Murillo Y Marrier
Salvatore D Ruta
Rodrigues T Oldroyd
Mujtaba L Kusko
Maisha Z Ferencz
Faith O Marrier
Jones W Kolmetz
Kadeem C Shinko
Antonio N Sergi
Chavez R Wieser
Faith V Chui
Jefferson F Amigon
Arvin J Saylors
Octavia C Poquette
Jefferson D Bowley
Sinclair P Flosi
Arvin U Schemmer
Leon I Dilliard
Wickens Q Campain
Darci Q Perin
Jeanfrancois S Sergi
Darci B Schemmer
Wickens A Waycott
Clifford O Venere
Sinclair E Perin
Ashley P Gillian
Aditya L Ostrosky
Darci H Waycott
Morrow N Kolmetz
Jefferson Y Glick
Munro P Rulapaugh
Emily W Malet
Morrow E Royster
Francesco H Darakjy
Greenwood T Briddick
Silvio O Butt
Tony Z Iturbide
David G Tollner
David U Slusarski
Jones Y Bowley
IdCountryDate
1000Canada2026-08-20
1001Argentina2026-08-18
1002Italy2026-08-16
1003Argentina2026-08-09
1004Germany2026-08-19
1005Argentina2026-08-06
1006India2026-08-21
1007Spain2026-09-02
1008Argentina2026-08-28
1009Spain2026-08-21
1010Italy2026-08-22
1011Argentina2026-08-15
1012India2026-08-06
1013Russia2026-08-13
1014Spain2026-08-24
1015Brazil2026-08-29
1016Russia2026-08-10
1017India2026-08-23
1018Italy2026-08-06
1019France2026-08-09
1020Germany2026-08-14
1021Argentina2026-08-23
1022Spain2026-08-14
1023United Kingdom2026-08-20
1024Spain2026-08-25
1025United Kingdom2026-08-22
1026Brazil2026-08-07
1027Italy2026-08-27
1028Canada2026-08-23
1029Argentina2026-08-05
1030Germany2026-09-01
1031Canada2026-08-22
1032Spain2026-08-13
1033Spain2026-08-11
1034Italy2026-08-29
1035Australia2026-08-08
1036Japan2026-08-16
1037Japan2026-08-10
1038Japan2026-08-20
1039Brazil2026-08-19
1040Japan2026-08-26
1041Argentina2026-08-04
1042Australia2026-08-07
1043Australia2026-08-09
1044Italy2026-09-02
1045Canada2026-08-19
1046Germany2026-08-04
1047Australia2026-09-01
1048Canada2026-09-01
1049India2026-08-11

On-Demand Data

NameIdCountryDate
Claire W Nicka1000Russia2026-08-11
David G Caudy1001Russia2026-08-13
Leja O Poquette1002Australia2026-08-05
Maria E Inouye1003India2026-08-30
Julie Y Chui1004India2026-08-18
Leon D Dilliard1005Italy2026-08-18
Maisha W Bolognia1006Argentina2026-08-23
Mujtaba D Shinko1007Japan2026-08-25
Stacey M Tollner1008Australia2026-08-29
Munro J Perin1009France2026-08-15
Chavez R Oldroyd1010Canada2026-08-11
Kaitlin S Rim1011Argentina2026-08-20
David E Bolognia1012Russia2026-08-08
Ivar V Garufi1013United Kingdom2026-09-02
Murillo W Darakjy1014Italy2026-08-18
Murillo V Inouye1015Italy2026-08-21
Izzy X Kolmetz1016United Kingdom2026-08-26
Antonio G Briddick1017Italy2026-08-31
Costa Z Schemmer1018Brazil2026-08-05
Maria G Ruta1019Italy2026-08-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi H CaudyArgentinaElwin Sharvill NEW
Aditya O MaletCanadaStephen Shaw NEW
Julie X FigeroaAustraliaXuxue Feng NEW
Mujtaba G ButtUnited KingdomAnna Fali NEGOTIATION
Aika I PoquetteBrazilOnyama Limba RENEWAL
Tony A ChuiAustraliaXuxue Feng NEW
Antonio O BriddickAustraliaStephen Shaw PROPOSAL
Darci U SergiIndiaAsiya Javayant UNQUALIFIED
Stacey U DoeJapanIvan Magalhaes PROPOSAL
Darci O RutaFranceAsiya Javayant UNQUALIFIED
Aditya M RulapaughIndiaIoni Bowcher PROPOSAL
Jeanfrancois G BowleyGermanyAnna Fali QUALIFIED
Izzy W BologniaArgentinaAmy Elsner UNQUALIFIED
Mayumi X ShinkoIndiaXuxue Feng NEGOTIATION
Stacey S NickaGermanyBernardo Dominic NEW
Costa Y SlusarskiBrazilAmy Elsner UNQUALIFIED
Smith X DarakjyJapanAsiya Javayant NEGOTIATION
David J GarufiItalyStephen Shaw NEGOTIATION
Julie C MarrierJapanAnna Fali RENEWAL
Claire U TollnerIndiaElwin Sharvill QUALIFIED
Faith O IturbideJapanIoni Bowcher NEW
Mayumi Q InouyeBrazilXuxue Feng PROPOSAL
Salvatore I BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh Z MorascaUnited KingdomElwin Sharvill RENEWAL
Kaitlin Y WhobreyArgentinaAnna Fali UNQUALIFIED
Jefferson K BologniaRussiaAnna Fali PROPOSAL
Jones I VenereGermanyAnna Fali NEGOTIATION
Nicolas I ShinkoUnited KingdomAsiya Javayant NEGOTIATION
David F FollerCanadaOnyama Limba UNQUALIFIED
Nicolas Q WaycottJapanIoni Bowcher NEGOTIATION
Tony J SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Aditya Q BowleyGermanyIoni Bowcher NEW
Faith V VocelkaArgentinaIvan Magalhaes NEGOTIATION
Maisha D DoeItalyIvan Magalhaes UNQUALIFIED
Darci V VenereBrazilElwin Sharvill NEGOTIATION
Ivar H WieserBrazilElwin Sharvill NEW
Costa J FlosiFranceBernardo Dominic UNQUALIFIED
Arvin A GauchoRussiaBernardo Dominic UNQUALIFIED
Stacey D KuskoSpainAsiya Javayant NEW
Stacey F RimArgentinaAnna Fali RENEWAL

<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>