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
Aruna Y FigeroaBrazilOnyama Limba UNQUALIFIED
Emily O WaycottUnited KingdomIvan Magalhaes QUALIFIED
Adams Y ShinkoBrazilAnna Fali UNQUALIFIED
Rodrigues L VenereJapanStephen Shaw PROPOSAL
Ivar F FollerIndiaStephen Shaw QUALIFIED
Emily C GillianIndiaElwin Sharvill UNQUALIFIED
Arvin R StensethFranceOnyama Limba RENEWAL
Costa V SaylorsGermanyIoni Bowcher NEW
Juan J DilliardBrazilOnyama Limba RENEWAL
Maisha U RimGermanyBernardo Dominic PROPOSAL
Alejandro U WieserJapanAsiya Javayant NEW
Mujtaba D AmigonJapanStephen Shaw UNQUALIFIED
Isabel J WieserItalyAmy Elsner NEW
Wickens T SaylorsItalyStephen Shaw PROPOSAL
Silvio S PerinRussiaAmy Elsner UNQUALIFIED
Claire N MorascaArgentinaIoni Bowcher RENEWAL
Julie P SchemmerRussiaElwin Sharvill RENEWAL
Alejandro E FigeroaFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois J CaldareraCanadaStephen Shaw RENEWAL
Tony I MorascaRussiaAmy Elsner QUALIFIED
Munro C BologniaIndiaIvan Magalhaes QUALIFIED
Octavia K BowleyJapanIoni Bowcher QUALIFIED
Salvatore L CaudyAustraliaElwin Sharvill PROPOSAL
Deepesh T SlusarskiBrazilOnyama Limba NEGOTIATION
Ashley K NickaGermanyAnna Fali QUALIFIED
Morrow W NickaFranceAnna Fali UNQUALIFIED
Silvio M RulapaughAustraliaIoni Bowcher NEW
Smith X WaycottFranceAmy Elsner RENEWAL
Aika Z CaldareraItalyStephen Shaw UNQUALIFIED
Munro J PaprockiJapanIoni Bowcher RENEWAL
Johnson P BriddickArgentinaIvan Magalhaes RENEWAL
James S FerenczBrazilXuxue Feng NEGOTIATION
Arvin Y MacleadRussiaIvan Magalhaes UNQUALIFIED
Jennifer W SergiUnited KingdomIoni Bowcher PROPOSAL
Munro J FerenczGermanyAsiya Javayant NEW
Maria O ChuiIndiaXuxue Feng QUALIFIED
Isabel H ButtArgentinaOnyama Limba RENEWAL
Nicolas O ShinkoCanadaStephen Shaw PROPOSAL
Antonio C MaletArgentinaElwin Sharvill NEGOTIATION
Darci M MacleadFranceBernardo Dominic NEGOTIATION
Tony M WaycottIndiaElwin Sharvill PROPOSAL
Misaki S SaylorsJapanAsiya Javayant UNQUALIFIED
Arvin N RutaAustraliaIvan Magalhaes NEGOTIATION
Ashley Y ButtFranceAmy Elsner NEGOTIATION
Adams D VocelkaFranceElwin Sharvill PROPOSAL
Kaitlin E GillianGermanyBernardo Dominic UNQUALIFIED
Octavia Z KuskoItalyXuxue Feng NEGOTIATION
Darci Y DarakjyBrazilAmy Elsner QUALIFIED
Ivar W RimRussiaAnna Fali PROPOSAL
Smith O WhobreyUnited KingdomOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Tony W RutaJapanOnyama Limba UNQUALIFIED
Aika H ShinkoCanadaAsiya Javayant NEGOTIATION
Jennifer L FollerFranceAsiya Javayant NEGOTIATION
Stacey U VocelkaSpainStephen Shaw QUALIFIED
Emily S KuskoCanadaIoni Bowcher NEW
Aika G WaycottAustraliaBernardo Dominic NEW
Mayumi O SchemmerFranceAnna Fali NEW
Faith O TollnerGermanyOnyama Limba NEW
Rodrigues S KolmetzSpainIoni Bowcher NEW
Ivar K DilliardFranceElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia J OldroydCanada2026-10-11Feiner Bros NEGOTIATION85Asiya Javayant
1001Greenwood G AmigonItaly2026-09-22King, Christopher A Esq NEW36Stephen Shaw
1002Aika Z AlbaresArgentina2026-10-02Chanay, Jeffrey A Esq RENEWAL82Xuxue Feng
1003Ashley N ChuiArgentina2026-09-28Chemel, James L Cpa UNQUALIFIED48Elwin Sharvill
1004Emily Y BologniaJapan2026-10-19Feiner Bros NEW42Anna Fali
1005Ashley M SergiSpain2026-10-07Feiner Bros NEGOTIATION45Amy Elsner
1006Kadeem A FollerUnited Kingdom2026-10-02Feltz Printing Service NEW95Bernardo Dominic
1007Ivar W StensethUnited Kingdom2026-10-03Buckley Miller Wright QUALIFIED4Stephen Shaw
1008David N SlusarskiIndia2026-10-17Chanay, Jeffrey A Esq NEW42Ioni Bowcher
1009Izzy Z MaletSpain2026-10-18Chemel, James L Cpa RENEWAL90Ioni Bowcher
1010Jeanfrancois V MarrierRussia2026-09-26Printing Dimensions PROPOSAL55Amy Elsner
1011Mayumi C WhobreyUnited Kingdom2026-10-18Morlong Associates NEW37Xuxue Feng
1012Nicolas G WhobreyFrance2026-10-20Feltz Printing Service UNQUALIFIED15Onyama Limba
1013Jeanfrancois P FlosiCanada2026-10-05Feltz Printing Service QUALIFIED19Bernardo Dominic
1014Smith M VenereAustralia2026-10-18Commercial Press UNQUALIFIED4Ioni Bowcher
1015Rodrigues G KuskoSpain2026-09-29King, Christopher A Esq PROPOSAL52Anna Fali
1016Misaki G OstroskyIndia2026-10-06Chanay, Jeffrey A Esq PROPOSAL65Asiya Javayant
1017Leja N VocelkaFrance2026-10-06Chanay, Jeffrey A Esq UNQUALIFIED21Ioni Bowcher
1018Alejandro T MaletFrance2026-09-28Chanay, Jeffrey A Esq PROPOSAL14Ivan Magalhaes
1019Aruna U KuskoRussia2026-09-27Chapman, Ross E Esq RENEWAL49Ivan Magalhaes
1020Antonio N RoysterJapan2026-10-05Benton, John B Jr NEW29Elwin Sharvill
1021Jeanfrancois Q VenereIndia2026-09-25Commercial Press PROPOSAL37Onyama Limba
1022Tony I ShinkoItaly2026-09-26Benton, John B Jr PROPOSAL57Ivan Magalhaes
1023Antonio K InouyeItaly2026-09-26Rousseaux, Michael Esq RENEWAL51Xuxue Feng
1024Claire Q SaylorsItaly2026-10-01Buckley Miller Wright RENEWAL80Onyama Limba
1025Arvin R GarufiArgentina2026-10-08Chanay, Jeffrey A Esq UNQUALIFIED81Elwin Sharvill
1026Johnson X StockhamUnited Kingdom2026-10-19King, Christopher A Esq RENEWAL84Amy Elsner
1027Faith P CampainFrance2026-10-08Rousseaux, Michael Esq NEGOTIATION12Elwin Sharvill
1028Jones V ShinkoGermany2026-10-19Truhlar And Truhlar Attys NEGOTIATION89Onyama Limba
1029Kaitlin O KolmetzUnited Kingdom2026-09-23Chapman, Ross E Esq QUALIFIED64Elwin Sharvill
1030Octavia D TollnerSpain2026-09-23Rangoni Of Florence PROPOSAL25Ivan Magalhaes
1031Kadeem F CaudyAustralia2026-10-07Feltz Printing Service RENEWAL83Ioni Bowcher
1032Stacey L NestleIndia2026-10-03Printing Dimensions NEW8Asiya Javayant
1033Octavia Z WhobreyJapan2026-09-24Printing Dimensions QUALIFIED41Ioni Bowcher
1034Wickens G SchemmerBrazil2026-10-13Commercial Press UNQUALIFIED31Elwin Sharvill
1035Mayumi C ButtArgentina2026-09-30Chanay, Jeffrey A Esq QUALIFIED61Stephen Shaw
1036Julie W PoquetteItaly2026-10-13Rangoni Of Florence QUALIFIED96Onyama Limba
1037Leon F WaycottItaly2026-10-05Dorl, James J Esq NEGOTIATION24Asiya Javayant
1038Mayumi J MaletSpain2026-10-15Buckley Miller Wright NEGOTIATION88Anna Fali
1039Jones M AlbaresFrance2026-10-19Benton, John B Jr NEW83Asiya Javayant
1040Aika Y AlbaresAustralia2026-10-18Printing Dimensions UNQUALIFIED37Elwin Sharvill
1041Jennifer U FlosiRussia2026-10-09Printing Dimensions PROPOSAL68Xuxue Feng
1042Mujtaba C VocelkaArgentina2026-10-04Morlong Associates RENEWAL86Ioni Bowcher
1043Aruna V WaycottCanada2026-10-15King, Christopher A Esq NEGOTIATION86Anna Fali
1044Ashley J AmigonSpain2026-10-06Commercial Press QUALIFIED66Elwin Sharvill
1045Claire G SaylorsSpain2026-10-15Dorl, James J Esq NEGOTIATION66Stephen Shaw
1046Julie C FlosiGermany2026-09-27King, Christopher A Esq QUALIFIED37Ivan Magalhaes
1047Munro G MaletArgentina2026-09-22King, Christopher A Esq UNQUALIFIED38Asiya Javayant
1048Faith A IturbideItaly2026-09-26Rangoni Of Florence UNQUALIFIED32Stephen Shaw
1049Cody L GillianGermany2026-09-23Morlong Associates QUALIFIED80Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aika U IturbideBrazilStephen Shaw PROPOSAL
Claire P FlosiBrazilIvan Magalhaes QUALIFIED
Stacey K ButtCanadaIoni Bowcher UNQUALIFIED
Silvio X IturbideRussiaIoni Bowcher QUALIFIED
Adams U RulapaughGermanyAsiya Javayant NEW
James Q NickaArgentinaElwin Sharvill PROPOSAL
Octavia I SlusarskiRussiaOnyama Limba NEW
Morrow T MaletBrazilAmy Elsner NEGOTIATION
Deepesh A BologniaBrazilIoni Bowcher RENEWAL
Sinclair L GauchoUnited KingdomIvan Magalhaes NEW
Leon P SlusarskiAustraliaBernardo Dominic PROPOSAL
Silvio G StockhamGermanyXuxue Feng NEW
David N KuskoIndiaBernardo Dominic RENEWAL
Deepesh Z GarufiUnited KingdomAmy Elsner UNQUALIFIED
Sinclair F InouyeCanadaAmy Elsner RENEWAL
Aika E RutaGermanyIoni Bowcher UNQUALIFIED
Aruna X CaudyItalyElwin Sharvill NEW
Maisha N FerenczIndiaAnna Fali QUALIFIED
Leon G StockhamUnited KingdomAsiya Javayant NEGOTIATION
Aruna H PerinItalyStephen Shaw NEW
Salvatore E KolmetzJapanAmy Elsner UNQUALIFIED
Clifford P SaylorsItalyXuxue Feng PROPOSAL
Kaitlin U AlbaresAustraliaStephen Shaw RENEWAL
Adams B MaletRussiaOnyama Limba PROPOSAL
Misaki K MacleadSpainStephen Shaw NEGOTIATION
Kaitlin B AlbaresBrazilIoni Bowcher NEW
Aditya V OldroydSpainXuxue Feng QUALIFIED
Rodrigues C DilliardUnited KingdomXuxue Feng UNQUALIFIED
Octavia Z TollnerGermanyAnna Fali RENEWAL
Rodrigues E VenereSpainBernardo Dominic NEW
Johnson P RimJapanIvan Magalhaes NEW
Leon R PoquetteCanadaElwin Sharvill NEGOTIATION
Izzy A SaylorsUnited KingdomOnyama Limba UNQUALIFIED
Darci R FigeroaCanadaAmy Elsner NEGOTIATION
Maisha G KolmetzFranceOnyama Limba UNQUALIFIED
Ashley G RoysterIndiaOnyama Limba PROPOSAL
Leon B PaprockiItalyAmy Elsner NEGOTIATION
Costa S CaldareraItalyAmy Elsner NEW
Costa F CaldareraItalyIoni Bowcher RENEWAL
Mayumi H FollerArgentinaIoni Bowcher NEW
Maisha Y WhobreyFranceIvan Magalhaes RENEWAL
Murillo P VocelkaSpainIoni Bowcher PROPOSAL
Maisha Y RimFranceAsiya Javayant NEGOTIATION
Maisha W VenereBrazilIvan Magalhaes RENEWAL
Jones C OldroydBrazilIoni Bowcher RENEWAL
Wickens K FerenczArgentinaXuxue Feng NEW
Costa A RoysterCanadaXuxue Feng RENEWAL
Jefferson Y BowleyIndiaAsiya Javayant QUALIFIED
Ashley Y MaletUnited KingdomBernardo Dominic QUALIFIED
Tony Q FlosiIndiaStephen Shaw QUALIFIED
Frozen Columns
Name
Mayumi X Inouye
Kaitlin L Stockham
Antonio K Venere
Cody M Wieser
Leon J Malet
Munro A Malet
Greenwood D Caudy
Jones E Butt
Aika D Figeroa
Munro B Darakjy
Johnson K Malet
David E Nicka
Leja P Shinko
Ricardo C Inouye
Octavia A Maclead
Antonio I Gillian
Claire I Garufi
Cody C Wieser
Rodrigues Q Kusko
Adams T Darakjy
Nicolas X Butt
Leon P Tollner
Maisha U Poquette
Darci H Glick
Nicolas S Gillian
Smith O Schemmer
Arvin K Rim
Octavia D Sergi
Julie L Bolognia
Ashley Q Rulapaugh
Greenwood S Iturbide
Jennifer E Rim
Stacey B Ruta
Aika O Stenseth
Chavez V Campain
Faith U Ostrosky
Octavia O Perin
Faith C Doe
Mujtaba K Rulapaugh
Johnson S Kolmetz
Cody A Maclead
Maria Q Darakjy
Arvin T Perin
Juan F Garufi
Morrow J Sergi
Juan Q Gillian
Jones W Stenseth
Faith H Chui
Izzy X Dilliard
Kaitlin S Ruta
IdCountryDate
1000Brazil2026-09-26
1001Brazil2026-10-16
1002Japan2026-10-12
1003United Kingdom2026-10-15
1004United Kingdom2026-10-17
1005Canada2026-10-14
1006India2026-09-24
1007United Kingdom2026-09-21
1008Australia2026-10-11
1009Australia2026-10-07
1010Australia2026-10-12
1011India2026-09-27
1012India2026-09-21
1013France2026-10-15
1014France2026-10-02
1015Italy2026-09-25
1016France2026-10-13
1017Italy2026-09-21
1018Germany2026-09-23
1019Brazil2026-09-30
1020France2026-10-19
1021India2026-09-22
1022India2026-10-09
1023Spain2026-10-20
1024Argentina2026-10-20
1025Russia2026-10-04
1026Spain2026-10-05
1027Italy2026-10-01
1028Germany2026-10-08
1029Spain2026-09-30
1030Spain2026-10-10
1031Germany2026-10-05
1032United Kingdom2026-10-13
1033Italy2026-09-21
1034Spain2026-10-07
1035India2026-10-10
1036Italy2026-09-24
1037Russia2026-09-25
1038Italy2026-10-20
1039United Kingdom2026-10-08
1040Brazil2026-10-05
1041Canada2026-10-12
1042Italy2026-09-30
1043Spain2026-10-04
1044Germany2026-09-30
1045United Kingdom2026-10-07
1046Argentina2026-10-11
1047Italy2026-09-29
1048Germany2026-10-19
1049Japan2026-09-28

On-Demand Data

NameIdCountryDate
Ashley L Gaucho1000France2026-10-06
Kadeem M Nestle1001Argentina2026-10-18
James I Caudy1002Japan2026-09-22
Wickens X Caudy1003Spain2026-10-17
Alejandro R Nicka1004Canada2026-09-27
Arvin D Sergi1005India2026-10-19
Ashley O Nestle1006Argentina2026-09-23
Leja R Bolognia1007India2026-10-05
Antonio P Rulapaugh1008Germany2026-10-12
Izzy U Caudy1009Russia2026-10-14
Nicolas J Glick1010Australia2026-10-07
Tony C Stenseth1011Australia2026-09-27
Munro E Doe1012Brazil2026-09-21
Octavia C Malet1013Russia2026-09-28
Leja S Glick1014Spain2026-09-22
Sinclair A Slusarski1015Spain2026-10-12
Maisha E Waycott1016India2026-09-25
Kadeem X Stenseth1017Canada2026-10-16
Clifford G Iturbide1018Canada2026-10-17
Stacey T Morasca1019Brazil2026-10-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones Z MarrierGermanyStephen Shaw PROPOSAL
Tony V AmigonCanadaAnna Fali QUALIFIED
Murillo M RimIndiaBernardo Dominic QUALIFIED
Mujtaba R GarufiSpainElwin Sharvill UNQUALIFIED
Salvatore H NickaFranceOnyama Limba NEW
Claire D KolmetzArgentinaXuxue Feng NEW
Jennifer H BowleyArgentinaElwin Sharvill UNQUALIFIED
David F RimJapanStephen Shaw PROPOSAL
Octavia I TollnerIndiaAmy Elsner NEGOTIATION
Jennifer Y KolmetzJapanXuxue Feng NEW
Aruna L SlusarskiArgentinaBernardo Dominic NEW
Costa C InouyeGermanyIvan Magalhaes RENEWAL
Arvin U FollerSpainXuxue Feng NEGOTIATION
Alejandro W BriddickUnited KingdomAsiya Javayant RENEWAL
Nicolas V SlusarskiFranceAmy Elsner QUALIFIED
Clifford R MacleadFranceElwin Sharvill QUALIFIED
Salvatore U BologniaFranceIvan Magalhaes PROPOSAL
Claire E TollnerRussiaIvan Magalhaes NEGOTIATION
Emily A ButtUnited KingdomBernardo Dominic NEGOTIATION
Alejandro T WieserIndiaElwin Sharvill PROPOSAL
Claire Q TollnerSpainOnyama Limba PROPOSAL
Murillo Y OldroydIndiaIoni Bowcher UNQUALIFIED
Aruna G ButtCanadaAsiya Javayant NEGOTIATION
Maisha M MarrierArgentinaAsiya Javayant NEW
Alejandro Q InouyeJapanIvan Magalhaes PROPOSAL
Mayumi Q OldroydIndiaElwin Sharvill PROPOSAL
Costa Z GillianIndiaXuxue Feng PROPOSAL
Ricardo H InouyeJapanAsiya Javayant NEGOTIATION
Jones K VocelkaCanadaOnyama Limba QUALIFIED
Leon G FollerArgentinaBernardo Dominic RENEWAL
Adams T WieserFranceAsiya Javayant NEGOTIATION
Cody E SchemmerArgentinaBernardo Dominic NEGOTIATION
Leja Z MaletGermanyIvan Magalhaes QUALIFIED
Claire G NickaItalyOnyama Limba UNQUALIFIED
Kaitlin U VocelkaBrazilXuxue Feng NEW
Aruna Y DilliardAustraliaIvan Magalhaes QUALIFIED
David L BriddickUnited KingdomIvan Magalhaes PROPOSAL
James F WaycottBrazilIoni Bowcher NEW
Ashley H WhobreySpainStephen Shaw QUALIFIED
Adams U PerinSpainAmy Elsner 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>