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
Wickens D RoysterGermanyIvan Magalhaes UNQUALIFIED
Wickens N DarakjyFranceXuxue Feng RENEWAL
Ashley Q SaylorsSpainElwin Sharvill RENEWAL
Ricardo W StockhamRussiaAsiya Javayant QUALIFIED
Octavia U TollnerRussiaXuxue Feng QUALIFIED
Deepesh G GauchoFranceBernardo Dominic RENEWAL
Misaki I CampainIndiaStephen Shaw PROPOSAL
Antonio N RoysterIndiaAsiya Javayant UNQUALIFIED
Aditya Q ButtSpainOnyama Limba NEW
Sinclair F ButtArgentinaXuxue Feng PROPOSAL
Smith H MarrierBrazilStephen Shaw NEW
Aditya M DoeItalyBernardo Dominic RENEWAL
Jefferson M NestleFranceIvan Magalhaes UNQUALIFIED
Kadeem Y StensethGermanyAmy Elsner QUALIFIED
Nicolas N InouyeArgentinaIoni Bowcher RENEWAL
Emily N FollerFranceXuxue Feng PROPOSAL
Costa V DilliardGermanyBernardo Dominic UNQUALIFIED
Nicolas C OldroydFranceStephen Shaw PROPOSAL
Sinclair Q RoysterBrazilStephen Shaw UNQUALIFIED
Munro Y GillianFranceXuxue Feng NEGOTIATION
Stacey K InouyeJapanXuxue Feng RENEWAL
Misaki U WhobreySpainBernardo Dominic UNQUALIFIED
Jeanfrancois F RulapaughArgentinaBernardo Dominic RENEWAL
Arvin Z DoeCanadaElwin Sharvill QUALIFIED
Isabel N KolmetzCanadaXuxue Feng PROPOSAL
Mujtaba I StensethAustraliaXuxue Feng PROPOSAL
Izzy B BriddickArgentinaElwin Sharvill UNQUALIFIED
Ashley F RimAustraliaAmy Elsner PROPOSAL
Mayumi L KolmetzIndiaAmy Elsner UNQUALIFIED
Emily W DoeSpainIvan Magalhaes NEW
Ricardo H VocelkaGermanyIoni Bowcher RENEWAL
Jefferson J VocelkaAustraliaElwin Sharvill NEGOTIATION
Izzy Y StensethGermanyAsiya Javayant UNQUALIFIED
Emily U KolmetzAustraliaStephen Shaw QUALIFIED
Munro C WaycottJapanAnna Fali QUALIFIED
Jennifer J RoysterRussiaOnyama Limba RENEWAL
Costa B StensethFranceAsiya Javayant NEW
Tony J WieserIndiaBernardo Dominic PROPOSAL
Munro M PoquetteItalyIvan Magalhaes RENEWAL
Leon A CampainIndiaBernardo Dominic NEGOTIATION
Julie B IturbideGermanyAmy Elsner QUALIFIED
Faith A CaldareraAustraliaOnyama Limba NEGOTIATION
Salvatore I MaletBrazilXuxue Feng RENEWAL
Aruna K CaudyFranceIoni Bowcher RENEWAL
Maria J StensethGermanyAsiya Javayant NEW
Munro W MaletCanadaIvan Magalhaes NEW
Aruna S RimUnited KingdomIoni Bowcher UNQUALIFIED
Leja O AmigonJapanXuxue Feng PROPOSAL
Adams M GarufiItalyAnna Fali RENEWAL
Cody P WieserSpainAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Ashley Z FigeroaIndiaAmy Elsner RENEWAL
Arvin L MaletIndiaBernardo Dominic NEGOTIATION
Maisha I CaudyFranceOnyama Limba QUALIFIED
Isabel F MorascaFranceOnyama Limba UNQUALIFIED
Jennifer D KolmetzArgentinaIvan Magalhaes PROPOSAL
Octavia M OstroskyRussiaIvan Magalhaes PROPOSAL
Jennifer X DoeUnited KingdomXuxue Feng QUALIFIED
Izzy B GillianUnited KingdomOnyama Limba NEW
Claire Z CampainJapanAnna Fali PROPOSAL
Darci V CaldareraSpainXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio R GarufiItaly2026-09-16Rousseaux, Michael Esq RENEWAL30Amy Elsner
1001Jeanfrancois J DarakjyUnited Kingdom2026-09-02Chemel, James L Cpa NEGOTIATION49Asiya Javayant
1002Octavia R InouyeSpain2026-09-15Feltz Printing Service NEGOTIATION63Stephen Shaw
1003Jones O GillianSpain2026-09-09Morlong Associates UNQUALIFIED68Ivan Magalhaes
1004Greenwood H CampainItaly2026-09-19King, Christopher A Esq NEGOTIATION26Xuxue Feng
1005Deepesh T OstroskyBrazil2026-09-07Benton, John B Jr NEW95Xuxue Feng
1006Aika P FollerIndia2026-09-09Commercial Press RENEWAL45Amy Elsner
1007Octavia Q PaprockiSpain2026-09-17Truhlar And Truhlar Attys PROPOSAL53Ioni Bowcher
1008Mayumi A DoeSpain2026-08-23Feltz Printing Service RENEWAL37Anna Fali
1009Emily E AmigonUnited Kingdom2026-09-11Rousseaux, Michael Esq UNQUALIFIED24Elwin Sharvill
1010Costa V GarufiItaly2026-09-09Chemel, James L Cpa NEGOTIATION2Bernardo Dominic
1011Deepesh P PaprockiAustralia2026-09-13Benton, John B Jr NEGOTIATION88Ioni Bowcher
1012Ashley I SaylorsUnited Kingdom2026-09-15Chapman, Ross E Esq RENEWAL97Asiya Javayant
1013Emily F TollnerSpain2026-08-24Chapman, Ross E Esq NEGOTIATION7Elwin Sharvill
1014Greenwood F BowleyFrance2026-08-30Chemel, James L Cpa NEGOTIATION23Amy Elsner
1015Greenwood Q NickaIndia2026-09-14Dorl, James J Esq QUALIFIED42Elwin Sharvill
1016David R DoeSpain2026-09-10Buckley Miller Wright QUALIFIED95Bernardo Dominic
1017Julie Z NestleUnited Kingdom2026-09-02Chemel, James L Cpa UNQUALIFIED24Stephen Shaw
1018Aditya T SergiItaly2026-08-25Feltz Printing Service NEW67Onyama Limba
1019Kadeem Y SlusarskiRussia2026-09-02Benton, John B Jr RENEWAL59Anna Fali
1020Darci Z MaletItaly2026-09-13Rousseaux, Michael Esq QUALIFIED49Xuxue Feng
1021Misaki S GlickGermany2026-08-28Buckley Miller Wright UNQUALIFIED72Asiya Javayant
1022Isabel Y FlosiItaly2026-09-18Chanay, Jeffrey A Esq RENEWAL13Asiya Javayant
1023Julie C FigeroaIndia2026-09-01Rangoni Of Florence RENEWAL41Amy Elsner
1024Jefferson V MarrierArgentina2026-08-24Chanay, Jeffrey A Esq PROPOSAL31Ivan Magalhaes
1025Arvin T PoquetteSpain2026-08-25Chanay, Jeffrey A Esq NEGOTIATION64Ivan Magalhaes
1026Clifford J SlusarskiIndia2026-09-21Buckley Miller Wright RENEWAL80Stephen Shaw
1027Kaitlin J FollerRussia2026-09-20Commercial Press QUALIFIED71Xuxue Feng
1028James H ButtUnited Kingdom2026-09-14Chapman, Ross E Esq NEW33Amy Elsner
1029Morrow J CaudySpain2026-09-20Chemel, James L Cpa RENEWAL24Asiya Javayant
1030Claire S KolmetzJapan2026-09-04Feiner Bros UNQUALIFIED27Xuxue Feng
1031Juan M KuskoArgentina2026-09-06Rousseaux, Michael Esq NEW69Ioni Bowcher
1032Mayumi O DoeGermany2026-09-11Feiner Bros RENEWAL70Anna Fali
1033Salvatore W OstroskyIndia2026-08-24Benton, John B Jr RENEWAL17Asiya Javayant
1034Silvio E RulapaughBrazil2026-09-08Feiner Bros UNQUALIFIED1Onyama Limba
1035Cody A BologniaFrance2026-09-16Commercial Press RENEWAL12Xuxue Feng
1036Costa S CampainAustralia2026-09-04Feltz Printing Service NEGOTIATION86Asiya Javayant
1037Chavez P BriddickArgentina2026-09-17Chemel, James L Cpa PROPOSAL98Ivan Magalhaes
1038Faith D BologniaSpain2026-09-01Dorl, James J Esq NEW69Amy Elsner
1039Mujtaba O IturbideJapan2026-09-09Morlong Associates NEGOTIATION52Bernardo Dominic
1040David N FigeroaGermany2026-09-21Dorl, James J Esq UNQUALIFIED14Ivan Magalhaes
1041James U MaletIndia2026-09-11Dorl, James J Esq RENEWAL22Bernardo Dominic
1042Jennifer X MarrierUnited Kingdom2026-08-31Feiner Bros UNQUALIFIED23Xuxue Feng
1043Mayumi D SlusarskiBrazil2026-09-08Commercial Press QUALIFIED86Anna Fali
1044Jefferson X PerinBrazil2026-09-16Feiner Bros NEW75Bernardo Dominic
1045Julie K TollnerSpain2026-09-03Chemel, James L Cpa NEGOTIATION60Anna Fali
1046Francesco W OldroydItaly2026-09-03Dorl, James J Esq NEGOTIATION39Xuxue Feng
1047Nicolas O DarakjyAustralia2026-08-28Chanay, Jeffrey A Esq NEW83Stephen Shaw
1048Kaitlin V BowleyCanada2026-09-12Chapman, Ross E Esq RENEWAL44Stephen Shaw
1049Salvatore K IturbideIndia2026-08-24Buckley Miller Wright NEW14Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Greenwood U PoquetteRussiaAsiya Javayant QUALIFIED
Leon K SaylorsJapanElwin Sharvill NEGOTIATION
Jeanfrancois C DarakjyCanadaAsiya Javayant PROPOSAL
Leja G ShinkoRussiaAsiya Javayant UNQUALIFIED
Munro L GarufiArgentinaElwin Sharvill PROPOSAL
Julie P ShinkoIndiaAmy Elsner PROPOSAL
Mayumi N KolmetzRussiaBernardo Dominic NEGOTIATION
Murillo H RutaRussiaAmy Elsner NEGOTIATION
Stacey O DoeFranceBernardo Dominic UNQUALIFIED
Ashley H DoeUnited KingdomElwin Sharvill QUALIFIED
Salvatore U BowleyRussiaStephen Shaw PROPOSAL
Izzy M SchemmerFranceIvan Magalhaes QUALIFIED
Greenwood A ChuiIndiaElwin Sharvill NEGOTIATION
Ivar M GarufiAustraliaAmy Elsner UNQUALIFIED
Sinclair D SchemmerAustraliaIvan Magalhaes PROPOSAL
Wickens W StensethArgentinaXuxue Feng PROPOSAL
Sinclair P BriddickSpainIoni Bowcher NEW
Juan U VenereBrazilIvan Magalhaes NEGOTIATION
Johnson V MorascaSpainIoni Bowcher RENEWAL
David M MorascaIndiaStephen Shaw NEGOTIATION
Darci I WieserCanadaAmy Elsner NEGOTIATION
Salvatore N GarufiArgentinaAsiya Javayant PROPOSAL
Jeanfrancois N DarakjyArgentinaElwin Sharvill PROPOSAL
Deepesh U SlusarskiJapanAmy Elsner PROPOSAL
Johnson D CampainSpainBernardo Dominic QUALIFIED
Murillo Z PaprockiArgentinaElwin Sharvill RENEWAL
Claire O DilliardUnited KingdomAmy Elsner QUALIFIED
Deepesh R GauchoRussiaBernardo Dominic PROPOSAL
Maisha U GauchoAustraliaStephen Shaw NEGOTIATION
Francesco F FollerRussiaBernardo Dominic RENEWAL
Leon I StockhamFranceIoni Bowcher PROPOSAL
Kadeem P BologniaUnited KingdomAsiya Javayant RENEWAL
Nicolas U OstroskyArgentinaIoni Bowcher RENEWAL
Leja V WaycottAustraliaElwin Sharvill NEW
Munro M FerenczItalyAmy Elsner RENEWAL
Cody V DoeRussiaElwin Sharvill RENEWAL
Smith Y InouyeItalyBernardo Dominic PROPOSAL
Francesco G VenereAustraliaIvan Magalhaes QUALIFIED
Murillo W DarakjyAustraliaXuxue Feng NEW
Ashley N MorascaItalyAmy Elsner RENEWAL
Leja C ButtItalyAnna Fali UNQUALIFIED
Izzy Y MaletGermanyIoni Bowcher RENEWAL
Adams P RoysterBrazilElwin Sharvill RENEWAL
Costa D PaprockiJapanOnyama Limba QUALIFIED
Misaki R MarrierRussiaElwin Sharvill NEGOTIATION
Murillo K MorascaRussiaOnyama Limba QUALIFIED
Izzy O DilliardCanadaIoni Bowcher QUALIFIED
Morrow P KolmetzIndiaAsiya Javayant PROPOSAL
Jones S DoeCanadaStephen Shaw UNQUALIFIED
Jennifer E GarufiJapanAnna Fali RENEWAL
Frozen Columns
Name
Jefferson C Garufi
Ivar K Poquette
Nicolas D Malet
Murillo L Sergi
Tony P Nestle
Deepesh S Sergi
Misaki C Inouye
Kaitlin P Figeroa
Greenwood X Campain
David A Poquette
Deepesh J Ferencz
Isabel H Dilliard
Arvin Q Whobrey
Mujtaba S Inouye
Mujtaba E Campain
Clifford J Marrier
Aruna T Nicka
Munro N Amigon
Rodrigues A Paprocki
Stacey B Chui
Silvio U Rulapaugh
Misaki W Malet
Arvin A Stockham
Juan G Ostrosky
Misaki B Amigon
James V Venere
Johnson Y Gillian
Darci S Waycott
Jones R Iturbide
Francesco M Campain
Arvin A Venere
Cody T Inouye
Silvio B Whobrey
Darci R Bowley
Aika Q Figeroa
Aditya R Foller
Jeanfrancois H Caudy
Mayumi V Marrier
Johnson K Gaucho
Isabel D Figeroa
Cody Q Whobrey
Jones J Gaucho
Greenwood X Tollner
Kaitlin X Nicka
Salvatore Q Ostrosky
Cody P Garufi
Mayumi V Bowley
Octavia U Schemmer
Chavez L Schemmer
Aika Q Foller
IdCountryDate
1000France2026-09-08
1001Australia2026-09-02
1002Brazil2026-09-04
1003France2026-09-08
1004Germany2026-09-17
1005Argentina2026-09-10
1006United Kingdom2026-09-09
1007Italy2026-09-11
1008Argentina2026-09-12
1009France2026-08-29
1010Russia2026-09-21
1011Russia2026-09-21
1012Italy2026-08-23
1013United Kingdom2026-09-02
1014Italy2026-08-24
1015Argentina2026-09-16
1016Australia2026-09-19
1017Italy2026-09-13
1018Italy2026-09-18
1019India2026-09-17
1020Argentina2026-09-14
1021Brazil2026-08-23
1022United Kingdom2026-08-25
1023Italy2026-09-04
1024Canada2026-09-21
1025France2026-09-13
1026Russia2026-09-06
1027Argentina2026-09-12
1028Italy2026-08-29
1029France2026-08-30
1030Canada2026-08-25
1031France2026-09-18
1032India2026-09-17
1033Brazil2026-09-07
1034France2026-08-28
1035Canada2026-08-24
1036Russia2026-09-10
1037France2026-08-29
1038Spain2026-08-23
1039Russia2026-08-31
1040Spain2026-08-26
1041Spain2026-09-09
1042Argentina2026-09-15
1043Australia2026-08-28
1044Russia2026-09-15
1045France2026-09-04
1046Germany2026-09-16
1047Italy2026-08-24
1048Japan2026-08-24
1049Japan2026-08-24

On-Demand Data

NameIdCountryDate
Munro E Saylors1000Japan2026-08-28
Maisha S Figeroa1001Russia2026-09-09
Murillo A Rim1002Canada2026-09-08
Octavia T Doe1003India2026-09-07
Antonio D Ostrosky1004Canada2026-09-02
Morrow G Rim1005Spain2026-09-12
Stacey E Garufi1006Brazil2026-09-04
David G Paprocki1007Russia2026-08-31
Francesco N Bolognia1008Australia2026-09-15
Aika W Stockham1009Italy2026-09-17
Silvio G Rim1010India2026-09-06
David S Garufi1011France2026-09-09
Sinclair A Wieser1012Spain2026-09-08
Aika Z Albares1013United Kingdom2026-09-10
Claire O Ferencz1014Australia2026-09-05
Leon W Albares1015India2026-09-18
Deepesh Y Stockham1016Argentina2026-09-12
Mayumi S Gaucho1017Spain2026-08-30
Ashley W Perin1018Germany2026-08-25
James O Morasca1019Russia2026-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson K ButtRussiaXuxue Feng NEW
Arvin R IturbideCanadaElwin Sharvill PROPOSAL
Emily F RulapaughSpainAmy Elsner QUALIFIED
Sinclair J IturbideGermanyStephen Shaw RENEWAL
Silvio E KuskoSpainOnyama Limba NEGOTIATION
James G CaudyFranceAnna Fali RENEWAL
Nicolas F GillianUnited KingdomElwin Sharvill NEW
Salvatore U MacleadUnited KingdomXuxue Feng UNQUALIFIED
Juan M BowleyArgentinaAnna Fali NEW
Wickens S BowleyArgentinaElwin Sharvill QUALIFIED
Deepesh H MarrierItalyBernardo Dominic NEW
Rodrigues L WaycottBrazilIoni Bowcher RENEWAL
Mujtaba Z DarakjyCanadaAmy Elsner QUALIFIED
Antonio X ButtBrazilAmy Elsner QUALIFIED
Mayumi A NickaAustraliaBernardo Dominic NEGOTIATION
Adams R FlosiGermanyAsiya Javayant PROPOSAL
Aika O DoeJapanOnyama Limba NEW
David L SaylorsFranceBernardo Dominic UNQUALIFIED
Jones N DoeCanadaElwin Sharvill QUALIFIED
Tony Y NickaArgentinaStephen Shaw RENEWAL
Faith L KolmetzIndiaBernardo Dominic PROPOSAL
Maisha F FollerCanadaStephen Shaw UNQUALIFIED
Aditya B IturbideIndiaXuxue Feng PROPOSAL
Maisha C MarrierSpainElwin Sharvill RENEWAL
Sinclair R AlbaresAustraliaXuxue Feng UNQUALIFIED
Morrow C GarufiJapanElwin Sharvill NEGOTIATION
Aditya T MarrierIndiaElwin Sharvill RENEWAL
Aditya Z BriddickGermanyElwin Sharvill QUALIFIED
Kaitlin E OstroskyItalyIvan Magalhaes PROPOSAL
Mujtaba L WhobreyCanadaAmy Elsner RENEWAL
Ashley O MaletIndiaElwin Sharvill PROPOSAL
Salvatore N GauchoJapanBernardo Dominic NEGOTIATION
Jennifer P FerenczGermanyBernardo Dominic UNQUALIFIED
Silvio E VocelkaUnited KingdomAmy Elsner NEW
Greenwood N PoquetteJapanIoni Bowcher UNQUALIFIED
Munro U WaycottIndiaIoni Bowcher NEGOTIATION
Adams S VenereFranceOnyama Limba UNQUALIFIED
Maisha T WaycottBrazilStephen Shaw NEGOTIATION
Silvio I CaldareraSpainIoni Bowcher RENEWAL
Aika A OldroydGermanyElwin Sharvill NEGOTIATION

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