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
Francesco R SchemmerArgentinaElwin Sharvill NEW
Ricardo N GarufiArgentinaBernardo Dominic QUALIFIED
Murillo S StensethIndiaStephen Shaw NEW
Munro O RimRussiaIvan Magalhaes NEGOTIATION
Rodrigues Q MorascaJapanOnyama Limba RENEWAL
Sinclair L BriddickUnited KingdomBernardo Dominic NEGOTIATION
Leja V PoquetteGermanyIvan Magalhaes NEW
Deepesh O FlosiUnited KingdomOnyama Limba NEGOTIATION
Aditya P RimCanadaAnna Fali PROPOSAL
Faith C SaylorsRussiaIvan Magalhaes NEGOTIATION
Munro N RoysterJapanAmy Elsner PROPOSAL
Costa H GauchoIndiaOnyama Limba NEGOTIATION
Nicolas E CaldareraBrazilIoni Bowcher NEW
Darci H BologniaCanadaAmy Elsner UNQUALIFIED
Aika I KuskoItalyStephen Shaw NEW
Clifford J StockhamItalyBernardo Dominic NEGOTIATION
Arvin F InouyeArgentinaXuxue Feng NEW
James W ChuiFranceElwin Sharvill UNQUALIFIED
Claire Z VenereFranceBernardo Dominic NEGOTIATION
Deepesh F WhobreyCanadaIoni Bowcher UNQUALIFIED
Aruna K MaletFranceIoni Bowcher UNQUALIFIED
Deepesh H StensethUnited KingdomBernardo Dominic RENEWAL
Leon U SergiCanadaOnyama Limba QUALIFIED
Murillo I MarrierItalyIoni Bowcher NEW
Leja G CaudyRussiaAmy Elsner UNQUALIFIED
Wickens J RutaSpainAnna Fali QUALIFIED
Jones A StensethGermanyAsiya Javayant RENEWAL
Greenwood F MaletIndiaAmy Elsner PROPOSAL
James F MaletArgentinaXuxue Feng PROPOSAL
Munro G FerenczIndiaIvan Magalhaes NEW
Faith O IturbideItalyAsiya Javayant QUALIFIED
Darci C GauchoSpainIoni Bowcher NEW
Clifford E MarrierCanadaXuxue Feng UNQUALIFIED
Stacey J FigeroaBrazilStephen Shaw NEW
Costa M MarrierGermanyIvan Magalhaes PROPOSAL
Costa J VocelkaIndiaBernardo Dominic QUALIFIED
Adams B KolmetzGermanyXuxue Feng RENEWAL
Mayumi V NestleItalyStephen Shaw NEGOTIATION
Jefferson J FollerCanadaIvan Magalhaes NEGOTIATION
Silvio A RulapaughSpainAsiya Javayant NEW
Deepesh C GlickArgentinaXuxue Feng RENEWAL
Morrow L FollerItalyAmy Elsner RENEWAL
Isabel S ShinkoItalyIoni Bowcher PROPOSAL
Arvin X MacleadArgentinaOnyama Limba UNQUALIFIED
Ashley Z RoysterCanadaStephen Shaw PROPOSAL
Munro S RulapaughJapanAsiya Javayant UNQUALIFIED
James R PoquetteArgentinaAnna Fali NEW
Isabel N RimItalyAnna Fali NEW
Leon U OldroydIndiaIoni Bowcher UNQUALIFIED
Johnson I WaycottBrazilIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria D BowleyCanadaAmy Elsner PROPOSAL
Juan V StensethRussiaIoni Bowcher NEW
Chavez R OstroskyUnited KingdomAsiya Javayant RENEWAL
Claire K OldroydGermanyAnna Fali UNQUALIFIED
Jones G GlickFranceAnna Fali UNQUALIFIED
Aika D RulapaughAustraliaIoni Bowcher PROPOSAL
Greenwood V BriddickIndiaStephen Shaw UNQUALIFIED
Misaki E PoquetteAustraliaBernardo Dominic UNQUALIFIED
Jones C SergiJapanAnna Fali PROPOSAL
Morrow W NestleIndiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa Y MaletRussia2026-10-18Rousseaux, Michael Esq NEW56Bernardo Dominic
1001Rodrigues S KolmetzGermany2026-10-07Dorl, James J Esq RENEWAL52Stephen Shaw
1002Arvin U GauchoArgentina2026-09-29Dorl, James J Esq NEGOTIATION72Anna Fali
1003Francesco I SergiGermany2026-10-14King, Christopher A Esq PROPOSAL55Onyama Limba
1004Rodrigues A KolmetzItaly2026-10-06Benton, John B Jr NEGOTIATION30Bernardo Dominic
1005Tony J OldroydJapan2026-10-03Benton, John B Jr NEGOTIATION80Ioni Bowcher
1006Ricardo J PerinGermany2026-10-14Chemel, James L Cpa RENEWAL51Elwin Sharvill
1007Leon P MarrierBrazil2026-10-04Buckley Miller Wright RENEWAL47Ivan Magalhaes
1008Sinclair Z NickaCanada2026-10-01Chapman, Ross E Esq NEW35Anna Fali
1009James J BriddickItaly2026-09-30Morlong Associates NEW5Asiya Javayant
1010Leja R SaylorsBrazil2026-10-14Feltz Printing Service PROPOSAL93Bernardo Dominic
1011Tony P TollnerArgentina2026-09-23Rangoni Of Florence NEGOTIATION4Asiya Javayant
1012Salvatore T GarufiUnited Kingdom2026-09-25Chanay, Jeffrey A Esq PROPOSAL70Onyama Limba
1013Misaki X FerenczItaly2026-10-20Chanay, Jeffrey A Esq NEW64Ioni Bowcher
1014Johnson U MaletJapan2026-10-01Commercial Press QUALIFIED92Anna Fali
1015Greenwood K StensethItaly2026-10-01Chemel, James L Cpa NEW12Asiya Javayant
1016Kaitlin P RulapaughBrazil2026-10-11Feltz Printing Service RENEWAL48Stephen Shaw
1017Arvin F InouyeIndia2026-10-01Chanay, Jeffrey A Esq PROPOSAL11Asiya Javayant
1018Jones Y BologniaIndia2026-10-21King, Christopher A Esq PROPOSAL9Onyama Limba
1019Jennifer M FerenczGermany2026-10-15Feltz Printing Service NEW72Ivan Magalhaes
1020Leon H RimCanada2026-09-24Feltz Printing Service NEGOTIATION67Onyama Limba
1021Francesco K AlbaresAustralia2026-10-13King, Christopher A Esq QUALIFIED72Stephen Shaw
1022Jones E VocelkaArgentina2026-09-25Rangoni Of Florence QUALIFIED96Bernardo Dominic
1023Claire U NestleCanada2026-09-27Commercial Press NEW60Xuxue Feng
1024Wickens U NestleAustralia2026-10-11Dorl, James J Esq NEW3Xuxue Feng
1025Rodrigues Y RutaCanada2026-10-19Feiner Bros NEGOTIATION95Stephen Shaw
1026Wickens C MorascaSpain2026-10-22Buckley Miller Wright NEW91Ivan Magalhaes
1027Mayumi F DoeRussia2026-09-29Buckley Miller Wright NEGOTIATION31Stephen Shaw
1028Clifford F BowleyRussia2026-09-24Buckley Miller Wright UNQUALIFIED40Ivan Magalhaes
1029Kadeem T MacleadUnited Kingdom2026-09-27Chemel, James L Cpa NEGOTIATION56Elwin Sharvill
1030Leon B RutaJapan2026-09-30Rousseaux, Michael Esq NEW88Anna Fali
1031Murillo P OstroskySpain2026-10-08Rangoni Of Florence UNQUALIFIED73Bernardo Dominic
1032Clifford B BowleySpain2026-10-08Buckley Miller Wright NEGOTIATION78Stephen Shaw
1033Izzy L CampainFrance2026-10-21Rousseaux, Michael Esq RENEWAL36Ivan Magalhaes
1034Nicolas D CaldareraItaly2026-10-22Truhlar And Truhlar Attys QUALIFIED30Xuxue Feng
1035Ashley A TollnerSpain2026-10-16Dorl, James J Esq QUALIFIED61Asiya Javayant
1036Aruna P ShinkoRussia2026-10-13Chemel, James L Cpa QUALIFIED86Elwin Sharvill
1037Arvin O DarakjyBrazil2026-10-10Rangoni Of Florence NEGOTIATION35Xuxue Feng
1038Antonio R DoeFrance2026-09-29Printing Dimensions NEGOTIATION94Stephen Shaw
1039Octavia E DilliardSpain2026-10-03Feltz Printing Service RENEWAL64Asiya Javayant
1040Misaki L KuskoUnited Kingdom2026-10-22Feiner Bros PROPOSAL69Elwin Sharvill
1041Jeanfrancois X FerenczGermany2026-09-28Feltz Printing Service PROPOSAL74Elwin Sharvill
1042Chavez O RoysterArgentina2026-10-12Rousseaux, Michael Esq UNQUALIFIED24Onyama Limba
1043Antonio M MacleadCanada2026-09-25Chemel, James L Cpa PROPOSAL83Stephen Shaw
1044Maisha S BriddickUnited Kingdom2026-10-02Truhlar And Truhlar Attys QUALIFIED31Ioni Bowcher
1045James I VocelkaUnited Kingdom2026-10-05Feiner Bros QUALIFIED23Ioni Bowcher
1046Adams G DarakjySpain2026-10-07Commercial Press NEW51Anna Fali
1047Wickens R GillianUnited Kingdom2026-10-15Rangoni Of Florence RENEWAL12Stephen Shaw
1048Izzy O ButtUnited Kingdom2026-10-09Rangoni Of Florence NEGOTIATION68Elwin Sharvill
1049Kadeem S CampainJapan2026-10-04Printing Dimensions NEW36Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Isabel S MaletGermanyAnna Fali NEW
Wickens Q GillianIndiaElwin Sharvill UNQUALIFIED
Nicolas V FollerGermanyAsiya Javayant PROPOSAL
Francesco N FigeroaUnited KingdomAmy Elsner RENEWAL
Juan T FollerItalyIvan Magalhaes QUALIFIED
Clifford K RulapaughFranceIvan Magalhaes PROPOSAL
Aruna K MorascaSpainIvan Magalhaes NEW
Morrow B MorascaIndiaElwin Sharvill PROPOSAL
Juan H GauchoIndiaIoni Bowcher QUALIFIED
Misaki Y SlusarskiCanadaStephen Shaw RENEWAL
Tony U MacleadSpainStephen Shaw NEW
Mayumi G PoquetteFranceAsiya Javayant RENEWAL
Jones D ShinkoArgentinaStephen Shaw NEW
Ricardo H ChuiCanadaStephen Shaw PROPOSAL
Costa J AlbaresCanadaIvan Magalhaes QUALIFIED
Izzy T GlickItalyIvan Magalhaes RENEWAL
Smith K PaprockiFranceIoni Bowcher UNQUALIFIED
Murillo V AmigonBrazilStephen Shaw QUALIFIED
Cody T CampainArgentinaElwin Sharvill UNQUALIFIED
Claire X InouyeItalyBernardo Dominic UNQUALIFIED
Clifford U VocelkaSpainAnna Fali UNQUALIFIED
Nicolas L KuskoSpainOnyama Limba NEW
Faith G PaprockiRussiaElwin Sharvill QUALIFIED
Wickens M BologniaItalyBernardo Dominic NEGOTIATION
Antonio E VenereRussiaIoni Bowcher RENEWAL
Clifford A StensethCanadaStephen Shaw PROPOSAL
Aika W DarakjyIndiaAmy Elsner RENEWAL
Jeanfrancois A SergiUnited KingdomIvan Magalhaes NEGOTIATION
James T MaletBrazilIvan Magalhaes PROPOSAL
James L PoquetteGermanyOnyama Limba RENEWAL
Emily X PoquetteRussiaXuxue Feng PROPOSAL
Mayumi E AmigonBrazilAsiya Javayant NEW
Smith T FerenczSpainBernardo Dominic NEGOTIATION
Aruna L CampainAustraliaElwin Sharvill UNQUALIFIED
Sinclair U SergiJapanIvan Magalhaes RENEWAL
Jefferson L FigeroaSpainAsiya Javayant UNQUALIFIED
Antonio W StensethFranceOnyama Limba NEW
Tony D KolmetzJapanIvan Magalhaes RENEWAL
Aika P WieserAustraliaXuxue Feng NEW
Greenwood Q ShinkoAustraliaIvan Magalhaes UNQUALIFIED
James D VenereCanadaOnyama Limba UNQUALIFIED
Aruna S KolmetzRussiaAmy Elsner PROPOSAL
Ricardo U CaldareraItalyXuxue Feng QUALIFIED
Juan Q GauchoItalyElwin Sharvill NEW
Claire K IturbideAustraliaIoni Bowcher UNQUALIFIED
Sinclair U WhobreySpainXuxue Feng NEGOTIATION
Leja M RoysterRussiaXuxue Feng UNQUALIFIED
Ivar R RulapaughSpainIvan Magalhaes UNQUALIFIED
Greenwood X PerinUnited KingdomBernardo Dominic NEGOTIATION
Julie T TollnerRussiaXuxue Feng RENEWAL
Frozen Columns
Name
Aruna R Marrier
Deepesh X Doe
Alejandro R Ferencz
Stacey Y Perin
Leon H Sergi
Isabel V Morasca
Misaki Z Bolognia
Leon R Doe
Cody T Glick
Murillo P Caudy
Jones P Paprocki
Misaki K Darakjy
Juan K Stockham
Jeanfrancois Y Waycott
Tony A Rulapaugh
Jeanfrancois M Garufi
Jennifer J Inouye
Kaitlin K Chui
Ashley C Caudy
Jeanfrancois B Figeroa
Juan X Ferencz
Juan Z Kusko
Julie I Ferencz
Jeanfrancois E Oldroyd
Maisha N Campain
Murillo H Gillian
Murillo C Royster
Munro K Briddick
Julie R Perin
Maria B Darakjy
Izzy Z Shinko
Mayumi G Iturbide
Salvatore Y Gaucho
Johnson Y Ostrosky
Ricardo H Tollner
Aditya M Morasca
Leon R Inouye
Aditya D Stockham
Mujtaba A Sergi
Antonio Y Chui
Greenwood S Morasca
Cody D Bolognia
Johnson I Maclead
Jefferson Q Sergi
Mayumi B Stenseth
Izzy Y Malet
Leja Z Ostrosky
Aditya Q Campain
Maria C Tollner
Sinclair D Gaucho
IdCountryDate
1000Spain2026-10-13
1001France2026-10-01
1002Russia2026-09-25
1003Russia2026-10-01
1004India2026-10-06
1005Germany2026-09-23
1006Germany2026-10-11
1007Italy2026-10-04
1008United Kingdom2026-10-11
1009Germany2026-09-24
1010Russia2026-10-20
1011Argentina2026-10-22
1012Canada2026-10-15
1013Russia2026-10-19
1014Italy2026-10-15
1015Japan2026-09-26
1016Italy2026-10-11
1017Brazil2026-09-24
1018Brazil2026-10-21
1019Germany2026-10-02
1020Japan2026-10-09
1021United Kingdom2026-09-29
1022Australia2026-09-28
1023Spain2026-10-03
1024Germany2026-10-02
1025Japan2026-10-04
1026Italy2026-10-21
1027Spain2026-10-21
1028France2026-10-18
1029Russia2026-09-26
1030India2026-10-13
1031Canada2026-10-05
1032Spain2026-10-05
1033France2026-10-09
1034India2026-09-23
1035India2026-10-16
1036United Kingdom2026-09-28
1037Italy2026-10-02
1038France2026-10-15
1039Australia2026-10-18
1040Japan2026-10-08
1041United Kingdom2026-09-28
1042France2026-09-24
1043Argentina2026-09-30
1044Japan2026-10-18
1045Germany2026-09-27
1046Australia2026-10-10
1047Italy2026-10-05
1048Australia2026-10-15
1049Germany2026-09-27

On-Demand Data

NameIdCountryDate
Octavia V Slusarski1000India2026-10-19
Nicolas A Vocelka1001Japan2026-09-23
Jeanfrancois F Flosi1002France2026-09-26
Maisha A Figeroa1003Canada2026-10-04
Salvatore I Darakjy1004Germany2026-10-08
Arvin U Rim1005Italy2026-09-28
Kaitlin P Amigon1006Japan2026-10-09
Ashley A Glick1007Australia2026-10-10
Antonio T Caudy1008Brazil2026-09-27
Antonio O Stenseth1009Japan2026-10-12
Emily K Kusko1010United Kingdom2026-10-10
Aditya D Maclead1011France2026-10-22
Kadeem T Saylors1012France2026-09-25
Stacey S Albares1013India2026-10-07
Isabel J Ostrosky1014Canada2026-10-13
Francesco E Whobrey1015Argentina2026-10-10
Maria S Gaucho1016Italy2026-10-11
Greenwood N Tollner1017Brazil2026-09-24
Maisha E Wieser1018Italy2026-10-02
Ricardo L Paprocki1019Argentina2026-10-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci Z GillianSpainBernardo Dominic PROPOSAL
Juan D TollnerCanadaOnyama Limba PROPOSAL
Aditya L FerenczUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues O PerinRussiaIvan Magalhaes PROPOSAL
Arvin E OldroydFranceAsiya Javayant UNQUALIFIED
Salvatore T PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Faith T DoeUnited KingdomIoni Bowcher UNQUALIFIED
Francesco D SlusarskiCanadaAnna Fali RENEWAL
Aika A GarufiItalyAnna Fali NEW
Jennifer R GarufiItalyBernardo Dominic NEW
Tony C CampainAustraliaIoni Bowcher PROPOSAL
Sinclair V RoysterAustraliaIvan Magalhaes NEGOTIATION
Ashley X ChuiUnited KingdomAnna Fali QUALIFIED
Antonio S MaletJapanStephen Shaw PROPOSAL
Izzy P MarrierAustraliaAsiya Javayant NEGOTIATION
Antonio E RoysterGermanyAsiya Javayant NEW
Octavia K PerinJapanBernardo Dominic NEW
Emily D MacleadRussiaAmy Elsner RENEWAL
Misaki A CaldareraAustraliaBernardo Dominic UNQUALIFIED
Izzy T KolmetzIndiaIvan Magalhaes UNQUALIFIED
Mayumi E GauchoFranceAnna Fali UNQUALIFIED
Costa E MarrierAustraliaIoni Bowcher UNQUALIFIED
Costa M RimJapanAsiya Javayant PROPOSAL
Murillo Q InouyeUnited KingdomXuxue Feng QUALIFIED
Salvatore A MaletBrazilIvan Magalhaes PROPOSAL
Faith B KuskoJapanAsiya Javayant QUALIFIED
Emily L RutaSpainAnna Fali QUALIFIED
Aika Z FlosiArgentinaBernardo Dominic NEGOTIATION
Rodrigues O StockhamGermanyAnna Fali NEGOTIATION
Silvio M SlusarskiRussiaIvan Magalhaes NEGOTIATION
Mayumi J InouyeJapanOnyama Limba UNQUALIFIED
Ivar C FlosiAustraliaOnyama Limba UNQUALIFIED
Juan F StensethArgentinaIvan Magalhaes PROPOSAL
Leja Z NickaSpainIvan Magalhaes PROPOSAL
Sinclair F RimCanadaAmy Elsner PROPOSAL
Mayumi J GillianJapanIvan Magalhaes PROPOSAL
Smith G ShinkoGermanyAnna Fali RENEWAL
Juan P MacleadSpainIvan Magalhaes NEW
Chavez A SergiRussiaIoni Bowcher PROPOSAL
Jennifer P TollnerRussiaXuxue Feng 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>