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 O OldroydBrazilAmy Elsner NEGOTIATION
Wickens P MorascaRussiaXuxue Feng RENEWAL
Jeanfrancois S InouyeSpainBernardo Dominic PROPOSAL
David U GauchoIndiaOnyama Limba UNQUALIFIED
Silvio Y DoeUnited KingdomBernardo Dominic QUALIFIED
Johnson M NickaSpainXuxue Feng QUALIFIED
Nicolas O BologniaCanadaElwin Sharvill UNQUALIFIED
Deepesh O AmigonSpainOnyama Limba UNQUALIFIED
Jennifer E CaudyUnited KingdomAnna Fali NEGOTIATION
Salvatore C IturbideAustraliaAnna Fali QUALIFIED
Clifford V WaycottFranceXuxue Feng NEGOTIATION
Juan W PaprockiJapanAsiya Javayant NEGOTIATION
Emily X MorascaCanadaIoni Bowcher NEGOTIATION
Julie C CaudyItalyXuxue Feng PROPOSAL
Darci B GarufiCanadaXuxue Feng UNQUALIFIED
Maisha G ButtRussiaIvan Magalhaes PROPOSAL
Arvin D DilliardSpainIoni Bowcher PROPOSAL
Mujtaba J VenereJapanAnna Fali RENEWAL
Jones Y SaylorsJapanAnna Fali RENEWAL
Arvin Z OstroskyCanadaAmy Elsner QUALIFIED
Aika Q CampainRussiaOnyama Limba QUALIFIED
Jennifer I DoeItalyXuxue Feng NEW
Mujtaba Q NestleItalyAmy Elsner UNQUALIFIED
Mayumi M WaycottIndiaAnna Fali NEGOTIATION
Adams L SlusarskiGermanyStephen Shaw PROPOSAL
Tony M SaylorsItalyStephen Shaw PROPOSAL
Salvatore Y ChuiAustraliaOnyama Limba NEGOTIATION
Ivar T IturbideGermanyAnna Fali NEGOTIATION
Munro I MarrierRussiaAmy Elsner NEGOTIATION
Jefferson C BriddickFranceAmy Elsner QUALIFIED
Jefferson F MaletIndiaOnyama Limba UNQUALIFIED
James C PoquetteIndiaIvan Magalhaes NEGOTIATION
Aditya G KolmetzCanadaIoni Bowcher UNQUALIFIED
Munro Z PaprockiArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois W RulapaughUnited KingdomBernardo Dominic PROPOSAL
Ivar X VocelkaIndiaBernardo Dominic NEGOTIATION
Misaki R SergiAustraliaBernardo Dominic NEW
Mujtaba S WhobreyUnited KingdomAnna Fali RENEWAL
Darci L PoquetteGermanyOnyama Limba NEGOTIATION
Smith T SchemmerGermanyOnyama Limba NEGOTIATION
Antonio W DarakjyUnited KingdomOnyama Limba NEW
Francesco A RulapaughSpainBernardo Dominic RENEWAL
Misaki Z MarrierBrazilAsiya Javayant NEGOTIATION
Aditya E VocelkaUnited KingdomXuxue Feng NEGOTIATION
Kadeem K VenereSpainAsiya Javayant NEGOTIATION
Izzy T WaycottItalyAnna Fali NEGOTIATION
David J GauchoCanadaAmy Elsner PROPOSAL
Jeanfrancois Q AmigonSpainXuxue Feng UNQUALIFIED
Alejandro X SergiGermanyIvan Magalhaes RENEWAL
Adams N CaldareraFranceStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo R BologniaGermanyIoni Bowcher PROPOSAL
Izzy O AlbaresBrazilOnyama Limba PROPOSAL
Cody S WieserBrazilElwin Sharvill PROPOSAL
Jennifer Q WieserFranceXuxue Feng NEW
Kaitlin J ShinkoSpainAnna Fali UNQUALIFIED
Juan H NestleGermanyAsiya Javayant RENEWAL
Smith Z CampainBrazilAsiya Javayant QUALIFIED
Ricardo T MacleadRussiaOnyama Limba PROPOSAL
Wickens H PerinAustraliaOnyama Limba UNQUALIFIED
Smith Q RoysterBrazilAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones U NickaSpain2026-10-02Rangoni Of Florence NEW49Bernardo Dominic
1001Smith G VocelkaFrance2026-10-01Rousseaux, Michael Esq NEW75Asiya Javayant
1002Stacey B StockhamFrance2026-10-18Morlong Associates UNQUALIFIED9Ioni Bowcher
1003Mujtaba D WieserRussia2026-10-09Morlong Associates UNQUALIFIED39Elwin Sharvill
1004Ivar E MaletAustralia2026-10-20Benton, John B Jr NEGOTIATION30Ioni Bowcher
1005Wickens K SlusarskiRussia2026-09-29Truhlar And Truhlar Attys QUALIFIED13Amy Elsner
1006Salvatore J BowleyIndia2026-10-08Commercial Press NEW89Stephen Shaw
1007Adams G NickaBrazil2026-10-03Commercial Press NEGOTIATION23Asiya Javayant
1008Leon C GarufiFrance2026-10-11Benton, John B Jr PROPOSAL0Stephen Shaw
1009Aika N CaudyIndia2026-09-29Rangoni Of Florence PROPOSAL95Anna Fali
1010Chavez L NickaRussia2026-09-24Benton, John B Jr QUALIFIED13Asiya Javayant
1011Maria E ChuiSpain2026-10-05Morlong Associates UNQUALIFIED42Asiya Javayant
1012Costa K WhobreyRussia2026-10-13Truhlar And Truhlar Attys QUALIFIED86Stephen Shaw
1013Aika G PoquetteGermany2026-10-10Chapman, Ross E Esq RENEWAL19Stephen Shaw
1014Salvatore I OstroskyUnited Kingdom2026-09-24King, Christopher A Esq NEGOTIATION56Xuxue Feng
1015Sinclair U WieserBrazil2026-10-23Buckley Miller Wright RENEWAL54Bernardo Dominic
1016Kadeem C BowleyUnited Kingdom2026-10-23Chanay, Jeffrey A Esq PROPOSAL50Anna Fali
1017Adams M PerinArgentina2026-10-14Commercial Press PROPOSAL48Amy Elsner
1018Misaki J FlosiArgentina2026-10-15Truhlar And Truhlar Attys UNQUALIFIED15Ioni Bowcher
1019Aditya C FlosiIndia2026-10-08Feiner Bros NEGOTIATION11Xuxue Feng
1020Maria G GlickFrance2026-09-28Chapman, Ross E Esq UNQUALIFIED94Elwin Sharvill
1021Aruna J ChuiJapan2026-09-26Printing Dimensions NEW30Bernardo Dominic
1022Kadeem O CampainBrazil2026-10-14Feltz Printing Service RENEWAL5Ivan Magalhaes
1023Julie T VenereAustralia2026-10-06Chemel, James L Cpa QUALIFIED39Amy Elsner
1024Kaitlin E RulapaughGermany2026-09-24Commercial Press NEW87Asiya Javayant
1025Chavez H ShinkoIndia2026-10-16Chemel, James L Cpa UNQUALIFIED80Amy Elsner
1026Chavez F MacleadRussia2026-10-18Chemel, James L Cpa RENEWAL77Ivan Magalhaes
1027Nicolas B WieserAustralia2026-09-27Buckley Miller Wright NEGOTIATION37Bernardo Dominic
1028Juan U SchemmerUnited Kingdom2026-10-06Chemel, James L Cpa UNQUALIFIED83Elwin Sharvill
1029Deepesh R VocelkaGermany2026-10-05Truhlar And Truhlar Attys RENEWAL6Ivan Magalhaes
1030Ivar J GillianUnited Kingdom2026-10-08Dorl, James J Esq QUALIFIED66Asiya Javayant
1031Alejandro R GauchoCanada2026-09-30Chanay, Jeffrey A Esq UNQUALIFIED40Bernardo Dominic
1032Morrow Z DilliardCanada2026-09-28Morlong Associates NEGOTIATION9Elwin Sharvill
1033Aika T PerinGermany2026-10-20Benton, John B Jr QUALIFIED72Anna Fali
1034Chavez F SlusarskiAustralia2026-09-25Chemel, James L Cpa NEW29Anna Fali
1035Johnson N FollerGermany2026-09-29Truhlar And Truhlar Attys NEGOTIATION84Onyama Limba
1036Ivar M GarufiBrazil2026-09-24King, Christopher A Esq NEW10Ioni Bowcher
1037Deepesh B WhobreyFrance2026-09-24Dorl, James J Esq NEW48Asiya Javayant
1038Silvio C FerenczAustralia2026-10-12Rangoni Of Florence NEGOTIATION53Ivan Magalhaes
1039Aruna P DilliardFrance2026-09-28Rangoni Of Florence QUALIFIED93Ivan Magalhaes
1040Cody U ShinkoSpain2026-09-30Benton, John B Jr NEGOTIATION34Anna Fali
1041Kaitlin U DarakjyBrazil2026-09-27Printing Dimensions RENEWAL98Onyama Limba
1042Morrow Z SaylorsGermany2026-10-12Chanay, Jeffrey A Esq PROPOSAL38Bernardo Dominic
1043Aika I AlbaresJapan2026-10-12Buckley Miller Wright UNQUALIFIED22Asiya Javayant
1044Ashley O SergiBrazil2026-10-19Printing Dimensions PROPOSAL29Bernardo Dominic
1045Chavez L FlosiAustralia2026-10-12Buckley Miller Wright NEGOTIATION42Stephen Shaw
1046James U WaycottRussia2026-10-10Chapman, Ross E Esq PROPOSAL42Ivan Magalhaes
1047Misaki K PoquetteArgentina2026-10-04Benton, John B Jr RENEWAL34Xuxue Feng
1048Claire E SergiBrazil2026-10-11Dorl, James J Esq RENEWAL2Asiya Javayant
1049Ricardo W GarufiRussia2026-09-29Chapman, Ross E Esq QUALIFIED39Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kadeem L GarufiGermanyBernardo Dominic RENEWAL
Wickens J OldroydItalyXuxue Feng PROPOSAL
Arvin D FlosiBrazilIoni Bowcher NEGOTIATION
Octavia N NestleAustraliaIoni Bowcher NEW
Salvatore G TollnerGermanyXuxue Feng QUALIFIED
Faith C GauchoAustraliaAnna Fali QUALIFIED
Jones D WaycottBrazilIoni Bowcher PROPOSAL
Chavez Y KolmetzRussiaIvan Magalhaes RENEWAL
Leon N RulapaughRussiaIvan Magalhaes QUALIFIED
Adams A WhobreyIndiaBernardo Dominic NEW
Maria M OldroydGermanyAnna Fali NEGOTIATION
Leon X SaylorsIndiaAsiya Javayant UNQUALIFIED
Ashley N IturbideItalyAmy Elsner NEGOTIATION
Jefferson Z PaprockiCanadaAnna Fali QUALIFIED
Antonio R WhobreyIndiaAnna Fali QUALIFIED
Antonio I GlickJapanOnyama Limba PROPOSAL
Ivar M KuskoUnited KingdomAnna Fali NEW
Salvatore Y WaycottBrazilOnyama Limba NEW
Smith V VenereItalyAsiya Javayant QUALIFIED
Leja Z GillianArgentinaOnyama Limba RENEWAL
Julie M PaprockiAustraliaBernardo Dominic NEGOTIATION
Maisha D StensethGermanyIvan Magalhaes PROPOSAL
Arvin D CaudyJapanIoni Bowcher NEGOTIATION
Smith J CampainArgentinaAnna Fali QUALIFIED
Faith Y SaylorsSpainOnyama Limba NEGOTIATION
Deepesh Z OldroydCanadaAsiya Javayant NEW
Isabel Q KuskoArgentinaIvan Magalhaes NEW
Izzy T ChuiArgentinaAmy Elsner RENEWAL
Aditya G NickaAustraliaAmy Elsner NEW
Mujtaba R WieserSpainIoni Bowcher NEGOTIATION
Isabel Z SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Chavez O ChuiItalyElwin Sharvill PROPOSAL
Kadeem H WaycottRussiaAsiya Javayant NEGOTIATION
Munro Y NickaItalyIvan Magalhaes NEW
Kaitlin J ShinkoFranceOnyama Limba PROPOSAL
Chavez I WieserFranceAsiya Javayant NEW
Juan K PaprockiIndiaAmy Elsner NEW
Cody S StockhamUnited KingdomOnyama Limba UNQUALIFIED
Deepesh H BriddickArgentinaBernardo Dominic PROPOSAL
Costa U SchemmerArgentinaStephen Shaw QUALIFIED
Munro I StensethSpainXuxue Feng NEGOTIATION
Arvin E ChuiSpainIvan Magalhaes UNQUALIFIED
Claire N GlickAustraliaStephen Shaw NEGOTIATION
Jennifer F MacleadUnited KingdomElwin Sharvill NEW
Aika V OldroydJapanIvan Magalhaes RENEWAL
David T FlosiCanadaOnyama Limba PROPOSAL
Izzy P WieserFranceStephen Shaw PROPOSAL
Ashley B ChuiItalyStephen Shaw RENEWAL
Cody Q AlbaresCanadaIvan Magalhaes UNQUALIFIED
Kadeem E OldroydUnited KingdomStephen Shaw RENEWAL
Frozen Columns
Name
Misaki W Bowley
Kadeem J Amigon
Jones O Poquette
Darci T Vocelka
Mujtaba J Campain
Isabel H Nestle
David E Doe
Aruna C Darakjy
Smith B Ruta
Darci A Doe
Salvatore E Ostrosky
Kadeem Q Schemmer
Misaki H Dilliard
Kaitlin C Marrier
Ashley M Kusko
Antonio H Ruta
Jennifer I Caudy
Izzy H Schemmer
Chavez B Venere
Rodrigues Z Ferencz
Tony U Venere
Wickens Q Butt
Cody F Briddick
Rodrigues Z Stockham
Johnson E Schemmer
Claire N Malet
Murillo B Ostrosky
Munro V Tollner
Clifford I Ferencz
Emily G Kolmetz
Mayumi R Sergi
Faith U Foller
Maisha E Nestle
Stacey H Oldroyd
Rodrigues W Malet
Jones B Slusarski
Tony H Ostrosky
Leja F Inouye
Mayumi I Glick
Maisha C Briddick
Octavia V Bowley
Aditya A Kusko
Cody C Rulapaugh
Chavez K Albares
Octavia A Chui
Munro D Chui
Alejandro Y Malet
Emily C Rim
Maisha G Whobrey
Tony L Bowley
IdCountryDate
1000India2026-10-02
1001Italy2026-10-19
1002Italy2026-10-18
1003Spain2026-10-23
1004Canada2026-10-19
1005Brazil2026-09-24
1006United Kingdom2026-10-17
1007Brazil2026-10-23
1008United Kingdom2026-09-25
1009Germany2026-10-16
1010France2026-10-16
1011United Kingdom2026-10-03
1012France2026-09-30
1013Brazil2026-10-16
1014France2026-10-20
1015India2026-09-25
1016Russia2026-10-20
1017Canada2026-09-26
1018France2026-10-09
1019United Kingdom2026-10-16
1020Italy2026-10-23
1021Germany2026-10-04
1022United Kingdom2026-09-27
1023Italy2026-10-19
1024Brazil2026-10-18
1025Italy2026-10-11
1026Japan2026-10-01
1027Brazil2026-10-01
1028Germany2026-10-21
1029France2026-10-19
1030United Kingdom2026-10-11
1031Japan2026-10-14
1032France2026-10-17
1033India2026-09-27
1034Canada2026-10-17
1035Brazil2026-10-14
1036Canada2026-10-10
1037Russia2026-10-02
1038Argentina2026-10-14
1039Russia2026-10-11
1040Japan2026-10-17
1041India2026-10-17
1042Canada2026-10-19
1043Argentina2026-10-11
1044Australia2026-09-28
1045Japan2026-10-01
1046Canada2026-10-18
1047Japan2026-10-08
1048Russia2026-09-30
1049France2026-10-23

On-Demand Data

NameIdCountryDate
Juan U Albares1000Australia2026-10-08
Deepesh J Nestle1001Canada2026-10-23
Jefferson S Dilliard1002Russia2026-10-13
Faith P Nestle1003Spain2026-09-26
Aditya M Darakjy1004United Kingdom2026-10-07
Maria I Flosi1005Germany2026-09-27
Aruna T Shinko1006United Kingdom2026-09-26
Greenwood T Perin1007Australia2026-10-07
Izzy P Briddick1008Italy2026-10-08
Kadeem L Royster1009Brazil2026-10-18
Ashley A Inouye1010France2026-10-07
Silvio H Rulapaugh1011Japan2026-10-02
Mujtaba R Morasca1012United Kingdom2026-10-17
Silvio O Venere1013Argentina2026-10-19
Octavia A Inouye1014Argentina2026-10-04
Emily T Inouye1015Russia2026-10-16
Claire P Briddick1016India2026-10-06
Munro E Bowley1017Australia2026-10-02
Jones O Nicka1018France2026-10-21
Adams V Stenseth1019Australia2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin X MarrierAustraliaStephen Shaw RENEWAL
Adams U SchemmerFranceElwin Sharvill NEGOTIATION
Morrow O ButtJapanStephen Shaw PROPOSAL
David V ChuiJapanAsiya Javayant RENEWAL
Emily K GauchoBrazilAmy Elsner PROPOSAL
Clifford B SergiRussiaAnna Fali NEGOTIATION
James G GillianGermanyOnyama Limba QUALIFIED
Smith C MorascaArgentinaStephen Shaw NEGOTIATION
Francesco Z NestleSpainAnna Fali QUALIFIED
Murillo H MacleadAustraliaXuxue Feng NEW
Faith D SergiFranceBernardo Dominic QUALIFIED
Stacey D StockhamUnited KingdomAmy Elsner QUALIFIED
Murillo Y PoquetteCanadaIoni Bowcher QUALIFIED
Munro J FollerGermanyAnna Fali PROPOSAL
Isabel Z RulapaughCanadaAnna Fali UNQUALIFIED
Julie H MaletUnited KingdomAnna Fali NEW
Julie Y DarakjyRussiaIoni Bowcher RENEWAL
Smith A FlosiFranceOnyama Limba PROPOSAL
Rodrigues G ShinkoItalyElwin Sharvill UNQUALIFIED
Costa W NestleItalyElwin Sharvill QUALIFIED
Kadeem Z PoquetteItalyAnna Fali UNQUALIFIED
Cody S RutaCanadaAsiya Javayant RENEWAL
Kadeem S FigeroaGermanyIoni Bowcher PROPOSAL
Aditya V OldroydIndiaElwin Sharvill UNQUALIFIED
Wickens D KuskoBrazilXuxue Feng NEW
Misaki W StockhamJapanIoni Bowcher RENEWAL
Smith R VenereArgentinaAmy Elsner PROPOSAL
Stacey A NestleRussiaStephen Shaw QUALIFIED
Leja D IturbideUnited KingdomBernardo Dominic RENEWAL
Claire H VenereJapanAmy Elsner NEGOTIATION
Tony V SlusarskiCanadaOnyama Limba UNQUALIFIED
Kaitlin M ButtBrazilAmy Elsner PROPOSAL
Rodrigues E GillianFranceIoni Bowcher NEGOTIATION
Aditya Q PaprockiRussiaStephen Shaw QUALIFIED
Emily E GlickRussiaAsiya Javayant NEW
Rodrigues X MaletGermanyStephen Shaw UNQUALIFIED
Deepesh B MarrierArgentinaXuxue Feng RENEWAL
Antonio H OstroskyFranceIoni Bowcher NEW
Kadeem F WhobreyCanadaAmy Elsner PROPOSAL
Rodrigues S MorascaBrazilBernardo Dominic PROPOSAL

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