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
Misaki Q FigeroaArgentinaOnyama Limba PROPOSAL
Cody L WhobreyIndiaStephen Shaw QUALIFIED
Kaitlin E BowleyFranceBernardo Dominic UNQUALIFIED
Ricardo Q RimGermanyXuxue Feng PROPOSAL
Salvatore D BowleyRussiaElwin Sharvill RENEWAL
Maria P MaletSpainIvan Magalhaes NEGOTIATION
Murillo X RutaBrazilAmy Elsner UNQUALIFIED
Maisha Y RimAustraliaStephen Shaw RENEWAL
Julie G PaprockiBrazilElwin Sharvill NEGOTIATION
Morrow C AlbaresIndiaXuxue Feng RENEWAL
Wickens N RimSpainXuxue Feng PROPOSAL
Ricardo Q RutaGermanyBernardo Dominic RENEWAL
Rodrigues Y AlbaresUnited KingdomStephen Shaw QUALIFIED
Clifford Z AlbaresRussiaOnyama Limba UNQUALIFIED
Sinclair U IturbideItalyOnyama Limba NEGOTIATION
Arvin N VenereGermanyOnyama Limba NEW
Ivar S NestleArgentinaElwin Sharvill PROPOSAL
Kaitlin O BriddickArgentinaAsiya Javayant RENEWAL
Aditya V VocelkaItalyOnyama Limba RENEWAL
Francesco F PerinJapanAsiya Javayant NEGOTIATION
Maria U SlusarskiFranceAsiya Javayant RENEWAL
Silvio G PoquetteItalyOnyama Limba PROPOSAL
Sinclair E DoeArgentinaXuxue Feng NEW
Kaitlin N SergiRussiaOnyama Limba QUALIFIED
Jeanfrancois O RutaIndiaXuxue Feng NEGOTIATION
Misaki H FigeroaGermanyIoni Bowcher QUALIFIED
Arvin O FollerAustraliaBernardo Dominic RENEWAL
Jefferson X VocelkaFranceStephen Shaw PROPOSAL
Cody D DoeSpainAnna Fali NEGOTIATION
Ashley E SchemmerIndiaElwin Sharvill PROPOSAL
Tony X BriddickSpainAmy Elsner RENEWAL
Silvio H DarakjyItalyStephen Shaw NEW
Ashley I AlbaresAustraliaBernardo Dominic NEGOTIATION
Ashley O StockhamAustraliaIvan Magalhaes NEGOTIATION
Jennifer D PaprockiFranceAsiya Javayant QUALIFIED
Jones L WaycottCanadaXuxue Feng UNQUALIFIED
Tony X ChuiGermanyAnna Fali PROPOSAL
Wickens Z OldroydJapanIvan Magalhaes PROPOSAL
Ricardo J SchemmerSpainStephen Shaw UNQUALIFIED
Jeanfrancois T BriddickUnited KingdomAsiya Javayant NEW
Munro D PaprockiCanadaAmy Elsner QUALIFIED
Izzy W StensethGermanyBernardo Dominic QUALIFIED
David Q CampainAustraliaOnyama Limba UNQUALIFIED
Kadeem U PaprockiAustraliaIvan Magalhaes QUALIFIED
Misaki I RutaArgentinaIvan Magalhaes NEW
Salvatore D VocelkaIndiaIoni Bowcher UNQUALIFIED
Wickens L SlusarskiUnited KingdomAmy Elsner RENEWAL
Clifford T MarrierCanadaBernardo Dominic NEW
Jennifer Z StensethIndiaStephen Shaw RENEWAL
Cody I PerinIndiaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro G OstroskyIndiaStephen Shaw UNQUALIFIED
Munro P MaletUnited KingdomIoni Bowcher RENEWAL
Maria Q SlusarskiItalyXuxue Feng NEW
Munro P WieserGermanyXuxue Feng NEW
Jeanfrancois B RimAustraliaStephen Shaw QUALIFIED
Antonio R DilliardSpainAsiya Javayant PROPOSAL
Aruna M ButtJapanAsiya Javayant NEW
Maisha D TollnerCanadaXuxue Feng NEGOTIATION
Jeanfrancois Y OstroskyItalyOnyama Limba NEGOTIATION
Octavia A CampainIndiaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez D KolmetzSpain2026-09-30Feiner Bros RENEWAL31Xuxue Feng
1001Mujtaba U MorascaAustralia2026-09-27Chanay, Jeffrey A Esq PROPOSAL36Stephen Shaw
1002Claire M CampainCanada2026-09-01Feltz Printing Service NEGOTIATION30Xuxue Feng
1003Smith W FlosiBrazil2026-09-09Buckley Miller Wright NEGOTIATION99Ioni Bowcher
1004Costa F TollnerSpain2026-09-24Feltz Printing Service NEW54Xuxue Feng
1005Costa U SergiUnited Kingdom2026-09-11Feiner Bros NEW93Anna Fali
1006Mayumi F SlusarskiIndia2026-09-27Truhlar And Truhlar Attys PROPOSAL18Asiya Javayant
1007Claire C KuskoBrazil2026-09-29Printing Dimensions PROPOSAL95Anna Fali
1008Alejandro Y InouyeUnited Kingdom2026-09-22Rangoni Of Florence NEW70Asiya Javayant
1009Silvio S ShinkoAustralia2026-09-04Morlong Associates RENEWAL54Stephen Shaw
1010Octavia T KuskoArgentina2026-09-28Chemel, James L Cpa NEW23Ivan Magalhaes
1011Kadeem Y CaudyGermany2026-09-09Printing Dimensions QUALIFIED9Onyama Limba
1012Mayumi G SergiBrazil2026-09-30Truhlar And Truhlar Attys PROPOSAL20Amy Elsner
1013Darci F ButtItaly2026-09-18Rousseaux, Michael Esq NEW59Stephen Shaw
1014Costa N DoeCanada2026-09-11Rousseaux, Michael Esq UNQUALIFIED65Xuxue Feng
1015Kaitlin K ButtIndia2026-09-19Chanay, Jeffrey A Esq NEW7Bernardo Dominic
1016Aruna J MaletJapan2026-09-21Morlong Associates UNQUALIFIED0Stephen Shaw
1017Isabel H FlosiGermany2026-09-19Truhlar And Truhlar Attys NEW66Xuxue Feng
1018Leon V MacleadGermany2026-09-09Chanay, Jeffrey A Esq UNQUALIFIED18Elwin Sharvill
1019Leja N FigeroaUnited Kingdom2026-09-06Benton, John B Jr NEGOTIATION48Ivan Magalhaes
1020Alejandro E KolmetzArgentina2026-09-28Printing Dimensions QUALIFIED31Onyama Limba
1021Mayumi N RulapaughCanada2026-09-29Dorl, James J Esq NEGOTIATION40Asiya Javayant
1022Faith U SaylorsJapan2026-09-05Benton, John B Jr RENEWAL32Amy Elsner
1023Isabel J CaldareraItaly2026-09-09Printing Dimensions NEW29Ivan Magalhaes
1024Deepesh P ShinkoJapan2026-09-15Chapman, Ross E Esq QUALIFIED30Bernardo Dominic
1025Ashley V RulapaughArgentina2026-09-24Dorl, James J Esq PROPOSAL42Xuxue Feng
1026David G GillianFrance2026-09-18Benton, John B Jr PROPOSAL60Amy Elsner
1027Antonio L StockhamJapan2026-09-27Printing Dimensions NEW55Stephen Shaw
1028Ricardo F MacleadRussia2026-09-29Printing Dimensions QUALIFIED2Amy Elsner
1029Emily J VocelkaIndia2026-09-14Feiner Bros NEGOTIATION81Asiya Javayant
1030Julie U NestleAustralia2026-09-30Commercial Press QUALIFIED60Amy Elsner
1031Maria K OstroskyRussia2026-09-16King, Christopher A Esq NEW92Onyama Limba
1032Chavez Y PaprockiIndia2026-09-23Benton, John B Jr RENEWAL66Stephen Shaw
1033Ricardo R BologniaUnited Kingdom2026-09-05Printing Dimensions NEGOTIATION24Bernardo Dominic
1034Ricardo H RoysterSpain2026-09-13Commercial Press QUALIFIED68Elwin Sharvill
1035Morrow Z SergiAustralia2026-09-21Printing Dimensions PROPOSAL36Onyama Limba
1036Jeanfrancois E NestleGermany2026-09-11Feltz Printing Service NEGOTIATION14Asiya Javayant
1037Costa W BriddickArgentina2026-09-03King, Christopher A Esq UNQUALIFIED14Onyama Limba
1038Mujtaba O DoeItaly2026-09-09Chanay, Jeffrey A Esq UNQUALIFIED58Anna Fali
1039Rodrigues R AmigonUnited Kingdom2026-09-04Chanay, Jeffrey A Esq RENEWAL51Elwin Sharvill
1040Adams C CaudyCanada2026-09-25Feltz Printing Service QUALIFIED30Onyama Limba
1041Faith V KolmetzAustralia2026-09-05Chapman, Ross E Esq NEGOTIATION55Amy Elsner
1042Clifford D GlickFrance2026-09-01Feiner Bros NEGOTIATION12Asiya Javayant
1043Sinclair V SlusarskiItaly2026-09-28Feiner Bros UNQUALIFIED76Elwin Sharvill
1044Francesco V MarrierUnited Kingdom2026-09-15Chanay, Jeffrey A Esq PROPOSAL24Bernardo Dominic
1045Ricardo P GillianJapan2026-09-14Chanay, Jeffrey A Esq UNQUALIFIED69Onyama Limba
1046Stacey M PaprockiItaly2026-09-11King, Christopher A Esq NEGOTIATION27Elwin Sharvill
1047Leja L OstroskyGermany2026-09-22Chanay, Jeffrey A Esq QUALIFIED76Onyama Limba
1048Nicolas C MaletIndia2026-09-26Buckley Miller Wright PROPOSAL56Anna Fali
1049Kaitlin T GarufiArgentina2026-09-13Chemel, James L Cpa NEW0Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Salvatore J FerenczFranceOnyama Limba PROPOSAL
Antonio D AlbaresArgentinaBernardo Dominic UNQUALIFIED
Ivar D WaycottGermanyIoni Bowcher RENEWAL
Munro C VenereFranceOnyama Limba NEGOTIATION
Munro O FollerSpainXuxue Feng PROPOSAL
Aruna H OldroydArgentinaAmy Elsner NEW
Munro U ChuiUnited KingdomBernardo Dominic RENEWAL
Costa K RutaArgentinaAsiya Javayant PROPOSAL
Munro M MorascaJapanXuxue Feng NEGOTIATION
Julie A PerinGermanyOnyama Limba UNQUALIFIED
Alejandro O BowleyBrazilIvan Magalhaes QUALIFIED
Leja T BologniaJapanXuxue Feng NEGOTIATION
Greenwood E CaldareraIndiaIvan Magalhaes PROPOSAL
Izzy K VenereUnited KingdomBernardo Dominic RENEWAL
Maria Q SchemmerAustraliaStephen Shaw QUALIFIED
James V FlosiArgentinaOnyama Limba NEW
Kadeem J SaylorsAustraliaBernardo Dominic NEW
Mujtaba X SergiRussiaAsiya Javayant PROPOSAL
Ricardo F GarufiRussiaAmy Elsner QUALIFIED
Costa Y SergiGermanyIoni Bowcher RENEWAL
Mujtaba X MarrierIndiaElwin Sharvill NEGOTIATION
Leon C WhobreyCanadaAmy Elsner NEW
Octavia T RulapaughFranceOnyama Limba NEGOTIATION
Nicolas C CaudyArgentinaAsiya Javayant UNQUALIFIED
Smith J FerenczFranceAsiya Javayant UNQUALIFIED
Munro N IturbideJapanAmy Elsner QUALIFIED
Jeanfrancois C RulapaughCanadaBernardo Dominic UNQUALIFIED
Darci T RulapaughIndiaOnyama Limba QUALIFIED
Aditya U SaylorsBrazilXuxue Feng NEW
Ricardo D KuskoRussiaAmy Elsner NEGOTIATION
Juan L StensethArgentinaAnna Fali RENEWAL
Munro V WhobreyArgentinaAnna Fali QUALIFIED
Mayumi R MaletGermanyStephen Shaw QUALIFIED
Sinclair F MaletAustraliaOnyama Limba UNQUALIFIED
Leja N AlbaresCanadaStephen Shaw RENEWAL
Sinclair O VenereGermanyIvan Magalhaes NEW
Mujtaba G OldroydRussiaIoni Bowcher RENEWAL
Mujtaba R WaycottBrazilAmy Elsner NEW
Stacey C DarakjyAustraliaAnna Fali UNQUALIFIED
Claire Y WaycottBrazilOnyama Limba UNQUALIFIED
Aika W FigeroaItalyAnna Fali UNQUALIFIED
Adams V CaudyUnited KingdomXuxue Feng NEW
Jones D VocelkaGermanyIvan Magalhaes NEW
Murillo Z CaldareraUnited KingdomElwin Sharvill RENEWAL
Maria D SchemmerBrazilBernardo Dominic UNQUALIFIED
Cody F ButtBrazilAmy Elsner QUALIFIED
Cody Y NestleUnited KingdomStephen Shaw QUALIFIED
Kaitlin U DarakjyCanadaOnyama Limba QUALIFIED
Jones A RutaFranceStephen Shaw NEGOTIATION
Emily V StensethUnited KingdomStephen Shaw PROPOSAL
Frozen Columns
Name
Arvin S Kolmetz
Deepesh W Butt
Ashley X Doe
Murillo J Venere
Maria W Kusko
Leja V Iturbide
Chavez E Shinko
Leon O Paprocki
James M Campain
Morrow I Glick
Jones L Schemmer
Jefferson D Ostrosky
Greenwood L Bolognia
Chavez I Iturbide
Chavez T Kolmetz
Aditya V Paprocki
Leja G Nestle
Arvin C Morasca
Adams Y Sergi
Chavez L Saylors
Ivar S Ostrosky
Salvatore P Iturbide
Leja R Nicka
Faith B Briddick
Aditya J Perin
Leon T Amigon
Salvatore P Gillian
Johnson C Stockham
Mujtaba X Bowley
Octavia E Schemmer
Ashley J Kusko
Salvatore V Malet
Isabel Z Marrier
Misaki K Inouye
Nicolas W Tollner
Alejandro O Bowley
Smith H Foller
Kaitlin S Ferencz
Johnson V Inouye
Maria L Ferencz
Aditya U Glick
Ashley D Butt
Claire R Morasca
Francesco N Caldarera
Cody T Garufi
Sinclair E Dilliard
Morrow B Amigon
Chavez G Vocelka
Sinclair R Whobrey
Jennifer E Kusko
IdCountryDate
1000Italy2026-09-11
1001Australia2026-09-29
1002Argentina2026-09-06
1003Argentina2026-09-11
1004Canada2026-09-13
1005Japan2026-09-14
1006France2026-09-24
1007Russia2026-09-10
1008Brazil2026-09-23
1009Germany2026-09-14
1010Canada2026-09-11
1011France2026-09-05
1012India2026-09-12
1013France2026-09-02
1014Germany2026-09-19
1015India2026-09-05
1016Australia2026-09-20
1017Brazil2026-09-18
1018Italy2026-09-05
1019Russia2026-09-23
1020Italy2026-09-28
1021United Kingdom2026-09-19
1022Germany2026-09-24
1023United Kingdom2026-09-04
1024Germany2026-09-24
1025India2026-09-25
1026Canada2026-09-10
1027France2026-09-27
1028Italy2026-09-02
1029Canada2026-09-21
1030Italy2026-09-10
1031Russia2026-09-14
1032Spain2026-09-22
1033France2026-09-02
1034Italy2026-09-18
1035Argentina2026-09-02
1036Japan2026-09-02
1037Japan2026-09-18
1038Italy2026-09-18
1039India2026-09-08
1040India2026-09-30
1041Russia2026-09-01
1042Spain2026-09-08
1043Brazil2026-09-11
1044Japan2026-09-23
1045Australia2026-09-03
1046Canada2026-09-29
1047Australia2026-09-03
1048Canada2026-09-22
1049United Kingdom2026-09-28

On-Demand Data

NameIdCountryDate
Claire V Bowley1000France2026-09-18
Silvio H Ferencz1001Germany2026-09-01
Ashley V Tollner1002France2026-09-30
Misaki L Albares1003Canada2026-09-13
Emily N Oldroyd1004Argentina2026-09-16
Wickens Z Chui1005France2026-09-22
Misaki U Chui1006Australia2026-09-25
Ashley Q Bowley1007Russia2026-09-13
Maisha P Figeroa1008India2026-09-14
Alejandro C Whobrey1009Japan2026-09-14
Juan O Darakjy1010India2026-09-28
Kaitlin H Stenseth1011Japan2026-09-28
Salvatore Y Amigon1012France2026-09-28
Leon J Nestle1013Japan2026-09-25
Smith I Flosi1014Brazil2026-09-03
Jeanfrancois W Darakjy1015Spain2026-09-01
Emily F Marrier1016Spain2026-09-09
Arvin N Darakjy1017Brazil2026-09-29
Aditya M Royster1018United Kingdom2026-09-13
Aditya V Stenseth1019France2026-09-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna V InouyeCanadaIoni Bowcher QUALIFIED
Sinclair C DarakjyRussiaElwin Sharvill PROPOSAL
Maisha L OstroskyIndiaIvan Magalhaes UNQUALIFIED
Salvatore Y WhobreyUnited KingdomAnna Fali PROPOSAL
Greenwood G PerinRussiaStephen Shaw QUALIFIED
Juan M WhobreyUnited KingdomAsiya Javayant PROPOSAL
Morrow U AlbaresSpainXuxue Feng UNQUALIFIED
Ashley M SchemmerUnited KingdomAmy Elsner QUALIFIED
Salvatore T RoysterBrazilXuxue Feng QUALIFIED
Chavez B StockhamCanadaOnyama Limba RENEWAL
Kaitlin J RutaJapanStephen Shaw NEW
Clifford H ChuiJapanAmy Elsner PROPOSAL
Murillo M RutaFranceStephen Shaw RENEWAL
Maisha T ShinkoFranceIoni Bowcher PROPOSAL
Jefferson O StensethGermanyAmy Elsner NEW
Jennifer A KolmetzCanadaXuxue Feng QUALIFIED
Aika Z RimUnited KingdomIvan Magalhaes PROPOSAL
Clifford M BowleyBrazilIvan Magalhaes NEGOTIATION
Nicolas D MaletJapanAnna Fali QUALIFIED
Cody B SlusarskiAustraliaBernardo Dominic UNQUALIFIED
Sinclair Y BologniaBrazilAmy Elsner QUALIFIED
Aika A SchemmerRussiaAmy Elsner RENEWAL
Murillo I PerinJapanOnyama Limba RENEWAL
Johnson R RulapaughUnited KingdomOnyama Limba NEGOTIATION
Morrow X PaprockiAustraliaXuxue Feng UNQUALIFIED
Smith X WaycottAustraliaOnyama Limba UNQUALIFIED
Francesco D KuskoFranceAmy Elsner NEW
Stacey Q GarufiFranceIvan Magalhaes QUALIFIED
Maisha C AlbaresGermanyStephen Shaw NEGOTIATION
Juan Z TollnerJapanIvan Magalhaes PROPOSAL
Jeanfrancois E OstroskyFranceAmy Elsner PROPOSAL
Isabel I StockhamFranceXuxue Feng RENEWAL
Aika E DarakjySpainAmy Elsner RENEWAL
Octavia N MaletSpainIoni Bowcher NEGOTIATION
Mujtaba A SchemmerRussiaElwin Sharvill NEW
Kaitlin W TollnerGermanyBernardo Dominic UNQUALIFIED
Aika P InouyeAustraliaAmy Elsner RENEWAL
Stacey S TollnerAustraliaAsiya Javayant QUALIFIED
David Q MaletCanadaIvan Magalhaes UNQUALIFIED
Darci P OstroskyFranceBernardo Dominic 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>