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
Deepesh M IturbideAustraliaAmy Elsner QUALIFIED
Stacey H SlusarskiBrazilAsiya Javayant NEW
Chavez J MacleadArgentinaIoni Bowcher QUALIFIED
Maisha H FerenczItalyAmy Elsner UNQUALIFIED
Nicolas N FigeroaIndiaXuxue Feng UNQUALIFIED
Emily I CaudyFranceXuxue Feng NEGOTIATION
Cody K NickaSpainBernardo Dominic NEGOTIATION
Arvin C RimSpainStephen Shaw QUALIFIED
Rodrigues B MarrierUnited KingdomElwin Sharvill RENEWAL
Smith R BowleyCanadaIoni Bowcher RENEWAL
Aika J KolmetzCanadaIvan Magalhaes QUALIFIED
Munro N IturbideArgentinaBernardo Dominic PROPOSAL
Wickens X IturbideSpainAnna Fali PROPOSAL
Deepesh X RutaIndiaIvan Magalhaes UNQUALIFIED
Juan C CampainCanadaOnyama Limba PROPOSAL
Aika W RulapaughUnited KingdomIoni Bowcher PROPOSAL
Arvin E RoysterSpainIvan Magalhaes NEW
Darci Z CaudyBrazilIoni Bowcher PROPOSAL
Costa P IturbideAustraliaElwin Sharvill UNQUALIFIED
Leja L PerinUnited KingdomElwin Sharvill PROPOSAL
Chavez J CaldareraIndiaBernardo Dominic NEGOTIATION
Faith H GillianIndiaAnna Fali NEW
Mujtaba J RutaItalyXuxue Feng NEW
Jennifer I SchemmerArgentinaAnna Fali RENEWAL
Tony E PerinBrazilElwin Sharvill QUALIFIED
Ricardo L CaldareraJapanIoni Bowcher NEW
Octavia Y MarrierSpainXuxue Feng PROPOSAL
Mujtaba U PaprockiItalyElwin Sharvill RENEWAL
Clifford E BologniaIndiaAsiya Javayant PROPOSAL
Salvatore K VocelkaIndiaIoni Bowcher NEW
Maria D AlbaresCanadaIvan Magalhaes NEW
Nicolas P MorascaIndiaBernardo Dominic QUALIFIED
Munro S ChuiGermanyStephen Shaw RENEWAL
Leon J VocelkaFranceAnna Fali NEW
Octavia T SergiArgentinaAnna Fali UNQUALIFIED
Darci J StensethBrazilIvan Magalhaes UNQUALIFIED
Clifford O BowleyAustraliaIoni Bowcher NEW
Adams G CaudyBrazilXuxue Feng NEW
Maria G AlbaresSpainAsiya Javayant QUALIFIED
Smith M OstroskyGermanyAmy Elsner QUALIFIED
Ricardo H WhobreySpainAsiya Javayant NEW
Leon H PerinJapanOnyama Limba NEGOTIATION
Francesco Y OstroskyArgentinaAnna Fali PROPOSAL
Greenwood J WhobreyArgentinaAsiya Javayant NEW
Clifford K DoeUnited KingdomElwin Sharvill NEGOTIATION
Arvin U InouyeUnited KingdomXuxue Feng PROPOSAL
David Q InouyeCanadaOnyama Limba QUALIFIED
Leja J IturbideAustraliaStephen Shaw UNQUALIFIED
Adams Q IturbideAustraliaAmy Elsner PROPOSAL
Aika M RulapaughItalyBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Salvatore F ButtBrazilOnyama Limba PROPOSAL
Kadeem J SaylorsGermanyOnyama Limba NEW
Faith A CaudyFranceAsiya Javayant NEW
Tony H TollnerJapanXuxue Feng PROPOSAL
Francesco P MaletItalyIvan Magalhaes UNQUALIFIED
Claire P FerenczItalyStephen Shaw QUALIFIED
Munro H StockhamRussiaXuxue Feng NEGOTIATION
Aditya P InouyeIndiaXuxue Feng UNQUALIFIED
Antonio Z StensethArgentinaIvan Magalhaes NEW
Johnson D SchemmerUnited KingdomIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin E WaycottArgentina2026-10-15Morlong Associates NEGOTIATION23Onyama Limba
1001Ashley D MorascaJapan2026-11-02Feiner Bros QUALIFIED53Xuxue Feng
1002Cody R IturbideRussia2026-10-10Rousseaux, Michael Esq RENEWAL71Xuxue Feng
1003Morrow L StensethCanada2026-10-29Benton, John B Jr NEGOTIATION58Amy Elsner
1004Greenwood Q RutaItaly2026-10-27Chanay, Jeffrey A Esq QUALIFIED79Stephen Shaw
1005Jeanfrancois I ChuiRussia2026-10-28Benton, John B Jr PROPOSAL14Ivan Magalhaes
1006Ivar F StockhamSpain2026-10-13King, Christopher A Esq NEGOTIATION11Bernardo Dominic
1007Izzy T DilliardFrance2026-10-21Chanay, Jeffrey A Esq NEW93Asiya Javayant
1008Faith R GauchoItaly2026-10-08Commercial Press QUALIFIED98Asiya Javayant
1009Chavez R PaprockiIndia2026-10-22Chanay, Jeffrey A Esq QUALIFIED47Elwin Sharvill
1010Aika H StockhamItaly2026-10-09Morlong Associates RENEWAL12Stephen Shaw
1011Izzy I MaletIndia2026-10-28Morlong Associates NEW3Asiya Javayant
1012Rodrigues L WieserIndia2026-10-13Chapman, Ross E Esq UNQUALIFIED20Ivan Magalhaes
1013Rodrigues O MacleadUnited Kingdom2026-10-26King, Christopher A Esq QUALIFIED84Amy Elsner
1014Isabel T WaycottAustralia2026-10-10Feltz Printing Service NEGOTIATION6Amy Elsner
1015Alejandro W NestleIndia2026-10-16Chemel, James L Cpa PROPOSAL43Amy Elsner
1016Aika T MacleadBrazil2026-11-02Feltz Printing Service RENEWAL48Onyama Limba
1017Darci W BowleyFrance2026-10-11Commercial Press UNQUALIFIED29Anna Fali
1018Rodrigues N AmigonFrance2026-10-23Truhlar And Truhlar Attys RENEWAL3Elwin Sharvill
1019Sinclair E SaylorsUnited Kingdom2026-10-15Chapman, Ross E Esq RENEWAL39Elwin Sharvill
1020Deepesh Z MacleadFrance2026-10-30Chapman, Ross E Esq QUALIFIED38Ioni Bowcher
1021Jennifer R WhobreyArgentina2026-10-13Feiner Bros PROPOSAL79Ivan Magalhaes
1022Misaki U BologniaCanada2026-10-23Dorl, James J Esq NEGOTIATION86Xuxue Feng
1023Antonio D ShinkoArgentina2026-10-21King, Christopher A Esq NEGOTIATION91Amy Elsner
1024Claire R BowleyItaly2026-10-21Dorl, James J Esq NEGOTIATION68Amy Elsner
1025Stacey X IturbideFrance2026-10-15Printing Dimensions NEW45Asiya Javayant
1026Wickens U VenereIndia2026-10-13Printing Dimensions RENEWAL20Ioni Bowcher
1027Kadeem W CaudyFrance2026-10-09Feltz Printing Service UNQUALIFIED30Anna Fali
1028Octavia N SaylorsJapan2026-10-06Truhlar And Truhlar Attys RENEWAL39Elwin Sharvill
1029Ivar L StockhamCanada2026-11-03Rangoni Of Florence UNQUALIFIED80Asiya Javayant
1030Julie A RoysterBrazil2026-10-23Morlong Associates RENEWAL49Anna Fali
1031Claire Y WieserItaly2026-10-21Benton, John B Jr PROPOSAL79Bernardo Dominic
1032Smith X FigeroaFrance2026-10-07Chemel, James L Cpa RENEWAL92Elwin Sharvill
1033Murillo I StensethBrazil2026-10-25Feltz Printing Service NEGOTIATION25Bernardo Dominic
1034Maisha P WhobreyItaly2026-10-22King, Christopher A Esq QUALIFIED43Ivan Magalhaes
1035Isabel K MorascaBrazil2026-11-04Feiner Bros UNQUALIFIED29Xuxue Feng
1036Kaitlin M MaletJapan2026-10-16Buckley Miller Wright NEW42Xuxue Feng
1037David J MaletArgentina2026-10-25Feltz Printing Service UNQUALIFIED98Ioni Bowcher
1038Izzy Q InouyeRussia2026-10-11Rangoni Of Florence RENEWAL59Ivan Magalhaes
1039Costa W FlosiIndia2026-10-12Benton, John B Jr NEGOTIATION82Asiya Javayant
1040Costa C SchemmerSpain2026-10-27Chapman, Ross E Esq NEGOTIATION23Ioni Bowcher
1041Silvio V CaldareraJapan2026-10-31Printing Dimensions UNQUALIFIED32Onyama Limba
1042Darci O StensethAustralia2026-10-15Rousseaux, Michael Esq NEGOTIATION76Ioni Bowcher
1043Nicolas K FigeroaFrance2026-10-24Rangoni Of Florence QUALIFIED12Bernardo Dominic
1044James L SchemmerFrance2026-10-30Commercial Press PROPOSAL68Onyama Limba
1045Munro N StensethBrazil2026-10-17Buckley Miller Wright RENEWAL8Stephen Shaw
1046Munro I WhobreyCanada2026-10-15Chapman, Ross E Esq NEGOTIATION34Asiya Javayant
1047Kadeem N MarrierIndia2026-10-17Chemel, James L Cpa UNQUALIFIED68Amy Elsner
1048Kadeem N SchemmerIndia2026-10-19Morlong Associates QUALIFIED6Elwin Sharvill
1049James E VenereCanada2026-10-26Chanay, Jeffrey A Esq PROPOSAL62Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Adams T BologniaItalyIvan Magalhaes UNQUALIFIED
Sinclair L IturbideIndiaAsiya Javayant PROPOSAL
Tony V FerenczRussiaXuxue Feng PROPOSAL
Jefferson N KuskoBrazilBernardo Dominic RENEWAL
Aruna T WhobreyIndiaIvan Magalhaes NEW
James L ButtIndiaStephen Shaw RENEWAL
Alejandro S DilliardGermanyIoni Bowcher NEGOTIATION
Silvio O FigeroaCanadaOnyama Limba RENEWAL
Aika Q KuskoGermanyAmy Elsner UNQUALIFIED
Costa G WaycottFranceAmy Elsner UNQUALIFIED
Sinclair R FerenczCanadaStephen Shaw NEGOTIATION
Maria L SchemmerArgentinaXuxue Feng QUALIFIED
Jones C BowleyRussiaBernardo Dominic PROPOSAL
Octavia C BologniaGermanyElwin Sharvill PROPOSAL
Clifford W WaycottAustraliaAmy Elsner RENEWAL
Maisha B VenereFranceOnyama Limba PROPOSAL
Darci Y MarrierAustraliaXuxue Feng PROPOSAL
Greenwood S RulapaughCanadaAsiya Javayant UNQUALIFIED
Antonio N BowleyItalyAnna Fali QUALIFIED
Claire T MaletAustraliaBernardo Dominic NEGOTIATION
Deepesh A VenereIndiaIvan Magalhaes PROPOSAL
Juan O ShinkoItalyAnna Fali QUALIFIED
David Q WhobreyIndiaXuxue Feng PROPOSAL
Nicolas P RimBrazilAsiya Javayant NEW
Maria H NickaIndiaAsiya Javayant UNQUALIFIED
Maisha C MaletArgentinaAsiya Javayant NEGOTIATION
Aika J ButtCanadaAnna Fali NEW
James R SergiAustraliaXuxue Feng QUALIFIED
Emily K TollnerUnited KingdomIoni Bowcher PROPOSAL
Rodrigues M RimAustraliaXuxue Feng RENEWAL
Wickens Y RutaSpainAsiya Javayant UNQUALIFIED
Chavez V GauchoCanadaXuxue Feng RENEWAL
Maisha I ShinkoFranceOnyama Limba RENEWAL
Octavia C ButtFranceAnna Fali PROPOSAL
Nicolas A PaprockiItalyIoni Bowcher UNQUALIFIED
Leon L BriddickJapanBernardo Dominic NEGOTIATION
Cody C RimBrazilBernardo Dominic PROPOSAL
Greenwood Q TollnerBrazilBernardo Dominic QUALIFIED
Adams O CaldareraGermanyAmy Elsner NEW
Kaitlin G DarakjyCanadaXuxue Feng PROPOSAL
Rodrigues Z ButtJapanIoni Bowcher UNQUALIFIED
Claire Q FollerItalyStephen Shaw UNQUALIFIED
Cody L DilliardUnited KingdomIoni Bowcher QUALIFIED
Cody M RoysterCanadaIoni Bowcher UNQUALIFIED
Mujtaba M BologniaFranceIvan Magalhaes QUALIFIED
Jones P BriddickFranceAmy Elsner RENEWAL
Chavez P SergiSpainOnyama Limba NEW
Silvio R BriddickBrazilStephen Shaw RENEWAL
Deepesh F PaprockiRussiaXuxue Feng NEGOTIATION
Mujtaba H VocelkaFranceAmy Elsner PROPOSAL
Frozen Columns
Name
Ashley A Malet
Izzy I Iturbide
Arvin J Royster
Cody A Iturbide
Faith N Butt
Juan B Caldarera
Isabel O Stenseth
Emily V Malet
Kadeem U Bolognia
Johnson Z Poquette
Julie G Doe
Rodrigues H Amigon
Arvin Y Tollner
Arvin S Vocelka
Juan Z Saylors
Costa C Tollner
Wickens V Chui
Jones N Nestle
Wickens U Kolmetz
Clifford U Kusko
Rodrigues T Paprocki
Izzy K Ruta
Clifford T Inouye
Morrow Q Oldroyd
Rodrigues K Caudy
Arvin E Paprocki
Morrow Q Caldarera
Misaki F Dilliard
Leja L Schemmer
Smith V Sergi
Johnson B Ostrosky
Leon B Bolognia
Isabel T Doe
Antonio S Malet
Claire N Kolmetz
Arvin U Chui
Wickens L Butt
Deepesh U Foller
Aruna B Inouye
Rodrigues Q Whobrey
Munro Q Gaucho
Wickens B Marrier
Munro J Nicka
Costa C Gaucho
Arvin A Malet
Ricardo L Tollner
Faith M Slusarski
Maisha S Amigon
Isabel L Marrier
Johnson P Caudy
IdCountryDate
1000Spain2026-10-27
1001Germany2026-10-25
1002Italy2026-10-12
1003United Kingdom2026-10-18
1004Canada2026-10-16
1005Argentina2026-10-30
1006Brazil2026-10-12
1007Japan2026-10-09
1008Russia2026-11-02
1009India2026-10-15
1010Canada2026-10-08
1011Spain2026-10-25
1012Argentina2026-10-22
1013United Kingdom2026-11-01
1014Australia2026-10-07
1015Germany2026-10-23
1016United Kingdom2026-10-15
1017Spain2026-10-30
1018Australia2026-10-10
1019India2026-10-26
1020Japan2026-10-16
1021Canada2026-11-01
1022Italy2026-10-23
1023Russia2026-10-23
1024Russia2026-10-27
1025Argentina2026-10-18
1026Japan2026-10-29
1027Brazil2026-10-20
1028Japan2026-10-27
1029Australia2026-10-31
1030Russia2026-10-17
1031Russia2026-10-28
1032Argentina2026-10-29
1033Canada2026-11-03
1034Argentina2026-10-27
1035Italy2026-10-06
1036France2026-11-01
1037France2026-10-24
1038Australia2026-10-14
1039Russia2026-10-29
1040United Kingdom2026-11-03
1041Brazil2026-10-24
1042Germany2026-10-10
1043Japan2026-10-09
1044Brazil2026-10-28
1045India2026-10-12
1046Germany2026-10-22
1047France2026-10-08
1048Italy2026-10-27
1049Japan2026-10-10

On-Demand Data

NameIdCountryDate
Greenwood U Doe1000Russia2026-10-08
Leja V Briddick1001India2026-11-03
Adams M Venere1002Brazil2026-11-02
Silvio S Maclead1003United Kingdom2026-11-01
Mayumi M Malet1004United Kingdom2026-10-26
Alejandro P Maclead1005Germany2026-10-24
Salvatore H Rim1006India2026-10-20
Jeanfrancois L Dilliard1007United Kingdom2026-10-19
Mujtaba A Garufi1008Japan2026-11-02
Smith P Poquette1009Brazil2026-10-30
Stacey D Darakjy1010Japan2026-10-14
Darci T Nicka1011Brazil2026-10-06
Sinclair S Briddick1012Spain2026-10-10
Kaitlin Q Vocelka1013India2026-10-11
Julie I Albares1014Japan2026-10-28
Smith T Oldroyd1015Canada2026-11-03
Johnson B Butt1016Japan2026-10-29
Aditya D Ruta1017United Kingdom2026-10-08
Jefferson H Kolmetz1018Canada2026-11-02
Leja S Ferencz1019Australia2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow C ChuiArgentinaAnna Fali RENEWAL
Juan U BowleyIndiaOnyama Limba NEGOTIATION
Alejandro C CaudyRussiaIvan Magalhaes PROPOSAL
Maisha K SergiArgentinaBernardo Dominic UNQUALIFIED
Aruna B FerenczItalyBernardo Dominic PROPOSAL
Adams V AlbaresArgentinaBernardo Dominic RENEWAL
Francesco C RoysterCanadaIvan Magalhaes RENEWAL
Rodrigues I BowleyItalyAnna Fali RENEWAL
David V IturbideGermanyOnyama Limba NEGOTIATION
Salvatore U PaprockiArgentinaAsiya Javayant RENEWAL
Ashley C FigeroaArgentinaAmy Elsner QUALIFIED
Silvio W MacleadBrazilElwin Sharvill NEW
Misaki Y MaletGermanyElwin Sharvill NEW
Leon J BriddickAustraliaElwin Sharvill NEW
Alejandro G FerenczAustraliaXuxue Feng UNQUALIFIED
Deepesh Q MorascaAustraliaBernardo Dominic NEW
Stacey U CampainGermanyIvan Magalhaes PROPOSAL
Tony U SchemmerUnited KingdomStephen Shaw NEGOTIATION
Smith K SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Aika F PoquetteRussiaAsiya Javayant NEW
Leon M NickaBrazilXuxue Feng QUALIFIED
Leon X WaycottGermanyBernardo Dominic NEGOTIATION
Julie J NestleIndiaStephen Shaw PROPOSAL
Claire T TollnerBrazilIvan Magalhaes NEGOTIATION
Juan X AlbaresBrazilElwin Sharvill QUALIFIED
Mujtaba L SlusarskiJapanAmy Elsner RENEWAL
Jefferson F VocelkaArgentinaAnna Fali QUALIFIED
Claire I SaylorsJapanIvan Magalhaes NEW
Kaitlin V RutaItalyAmy Elsner UNQUALIFIED
Ivar Z GillianAustraliaStephen Shaw RENEWAL
Rodrigues P InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois F FlosiItalyAnna Fali PROPOSAL
Misaki W PoquetteAustraliaStephen Shaw QUALIFIED
Maisha L AmigonBrazilXuxue Feng UNQUALIFIED
Johnson Y ButtCanadaBernardo Dominic UNQUALIFIED
Arvin S MaletFranceXuxue Feng QUALIFIED
Emily O PaprockiCanadaAmy Elsner NEGOTIATION
Mayumi W AlbaresJapanXuxue Feng RENEWAL
Maria R WieserJapanIvan Magalhaes QUALIFIED
Silvio X SlusarskiJapanOnyama Limba NEW

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