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
Misaki E StockhamGermanyOnyama Limba NEW
Emily F GillianGermanyElwin Sharvill NEW
Isabel L ChuiIndiaIvan Magalhaes RENEWAL
Chavez Z FigeroaUnited KingdomAnna Fali PROPOSAL
Alejandro Q FigeroaRussiaIoni Bowcher RENEWAL
Claire M GarufiIndiaAsiya Javayant QUALIFIED
Sinclair M ShinkoIndiaIoni Bowcher PROPOSAL
Costa V StockhamIndiaAmy Elsner NEGOTIATION
Wickens C BowleySpainAnna Fali UNQUALIFIED
Tony I OldroydAustraliaOnyama Limba PROPOSAL
Julie K TollnerBrazilOnyama Limba RENEWAL
Jefferson T GarufiGermanyElwin Sharvill PROPOSAL
Jennifer R SergiJapanIvan Magalhaes QUALIFIED
Kaitlin N GauchoAustraliaElwin Sharvill NEW
Chavez J VenereGermanyIoni Bowcher NEGOTIATION
Ricardo T MacleadIndiaBernardo Dominic PROPOSAL
Aika M AmigonIndiaElwin Sharvill RENEWAL
Leja W BologniaCanadaAmy Elsner RENEWAL
Murillo B GauchoBrazilStephen Shaw NEGOTIATION
Izzy M TollnerJapanStephen Shaw RENEWAL
Darci E KolmetzGermanyIvan Magalhaes PROPOSAL
Rodrigues J MarrierItalyStephen Shaw NEGOTIATION
Johnson L VocelkaUnited KingdomAnna Fali PROPOSAL
Salvatore S MorascaRussiaOnyama Limba NEW
Ivar V PoquetteIndiaIvan Magalhaes PROPOSAL
David R DoeFranceBernardo Dominic NEGOTIATION
Maisha P NestleArgentinaAmy Elsner PROPOSAL
David M NickaArgentinaStephen Shaw QUALIFIED
Nicolas F OldroydJapanBernardo Dominic QUALIFIED
Ivar O FigeroaCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois Z GillianJapanIoni Bowcher RENEWAL
Tony K BriddickRussiaStephen Shaw RENEWAL
Kadeem A FerenczGermanyIvan Magalhaes NEGOTIATION
Isabel U CaudyFranceAsiya Javayant NEGOTIATION
Aditya J TollnerSpainAmy Elsner UNQUALIFIED
Stacey M MacleadBrazilAmy Elsner NEGOTIATION
Ivar Z RimRussiaIoni Bowcher UNQUALIFIED
Clifford U RoysterArgentinaAnna Fali RENEWAL
Silvio X InouyeGermanyIvan Magalhaes QUALIFIED
Mayumi O WhobreyFranceAnna Fali UNQUALIFIED
Antonio L FollerUnited KingdomAnna Fali PROPOSAL
Francesco G StensethCanadaIoni Bowcher UNQUALIFIED
Adams E GarufiItalyAsiya Javayant RENEWAL
Leon K FollerArgentinaAmy Elsner RENEWAL
Adams B MorascaFranceBernardo Dominic QUALIFIED
Jeanfrancois C DarakjyItalyStephen Shaw NEGOTIATION
Silvio Q CampainItalyAmy Elsner PROPOSAL
Arvin U GillianSpainAmy Elsner QUALIFIED
Chavez F MaletArgentinaStephen Shaw UNQUALIFIED
Alejandro M PerinJapanAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire Q AlbaresCanadaAnna Fali UNQUALIFIED
Emily B ShinkoAustraliaIvan Magalhaes QUALIFIED
Claire R MarrierFranceElwin Sharvill RENEWAL
Stacey D BowleyFranceElwin Sharvill QUALIFIED
Isabel H InouyeItalyBernardo Dominic QUALIFIED
Ashley G MaletFranceXuxue Feng NEW
Mayumi N CaldareraSpainAmy Elsner NEW
Julie K ShinkoJapanIvan Magalhaes NEW
Murillo M ShinkoSpainStephen Shaw QUALIFIED
Antonio X WaycottArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio S ButtRussia2026-08-27Printing Dimensions NEGOTIATION71Asiya Javayant
1001Ashley M BowleyRussia2026-09-04Rousseaux, Michael Esq QUALIFIED41Anna Fali
1002Emily E OstroskyRussia2026-09-13Truhlar And Truhlar Attys UNQUALIFIED17Bernardo Dominic
1003Mayumi B VenereIndia2026-08-29Printing Dimensions PROPOSAL82Anna Fali
1004Antonio W CaldareraGermany2026-09-02Rangoni Of Florence RENEWAL21Onyama Limba
1005Mujtaba R ButtCanada2026-09-16Commercial Press RENEWAL5Ioni Bowcher
1006Aruna R FigeroaBrazil2026-09-18Chemel, James L Cpa RENEWAL83Ivan Magalhaes
1007Munro L SchemmerUnited Kingdom2026-09-14Feiner Bros NEGOTIATION92Onyama Limba
1008Nicolas R MarrierCanada2026-09-01Feiner Bros UNQUALIFIED7Stephen Shaw
1009Octavia N AmigonFrance2026-09-16Buckley Miller Wright NEW82Xuxue Feng
1010Kaitlin P WhobreyUnited Kingdom2026-09-01Chemel, James L Cpa UNQUALIFIED94Onyama Limba
1011Izzy J NickaGermany2026-09-18Chanay, Jeffrey A Esq PROPOSAL21Xuxue Feng
1012Jefferson M ShinkoCanada2026-09-12Commercial Press RENEWAL78Xuxue Feng
1013Octavia S KolmetzAustralia2026-08-25Chemel, James L Cpa NEW88Xuxue Feng
1014Salvatore X BriddickItaly2026-08-28Chanay, Jeffrey A Esq NEW15Xuxue Feng
1015Faith R RimSpain2026-08-27Chanay, Jeffrey A Esq PROPOSAL87Anna Fali
1016Greenwood G MaletUnited Kingdom2026-09-19Feltz Printing Service QUALIFIED73Stephen Shaw
1017Sinclair R RulapaughBrazil2026-09-06Chapman, Ross E Esq NEW98Onyama Limba
1018Tony T PerinCanada2026-09-02Truhlar And Truhlar Attys PROPOSAL96Ivan Magalhaes
1019Rodrigues V ShinkoAustralia2026-09-17Dorl, James J Esq QUALIFIED75Anna Fali
1020Cody O WaycottRussia2026-08-31Truhlar And Truhlar Attys PROPOSAL80Ioni Bowcher
1021Kadeem G NickaAustralia2026-09-06Buckley Miller Wright QUALIFIED15Anna Fali
1022Emily J VenereBrazil2026-08-27Rousseaux, Michael Esq PROPOSAL74Stephen Shaw
1023Alejandro R MaletJapan2026-09-04King, Christopher A Esq QUALIFIED95Anna Fali
1024Murillo R AmigonAustralia2026-09-05Chemel, James L Cpa PROPOSAL67Asiya Javayant
1025James J RulapaughSpain2026-09-10King, Christopher A Esq RENEWAL67Xuxue Feng
1026Stacey J SlusarskiCanada2026-09-11Buckley Miller Wright QUALIFIED18Ioni Bowcher
1027Wickens K StockhamArgentina2026-09-09Feiner Bros RENEWAL66Xuxue Feng
1028Salvatore M ShinkoRussia2026-08-24Feltz Printing Service RENEWAL81Onyama Limba
1029Clifford D FigeroaIndia2026-09-09Rangoni Of Florence RENEWAL26Asiya Javayant
1030Tony E VocelkaItaly2026-09-13Truhlar And Truhlar Attys QUALIFIED25Amy Elsner
1031Aruna R GlickBrazil2026-09-04Benton, John B Jr PROPOSAL50Asiya Javayant
1032Antonio N TollnerRussia2026-09-03Dorl, James J Esq PROPOSAL86Stephen Shaw
1033Aruna E SergiBrazil2026-09-10Chapman, Ross E Esq RENEWAL93Ioni Bowcher
1034Mayumi N WhobreyUnited Kingdom2026-09-20Printing Dimensions NEGOTIATION12Asiya Javayant
1035Darci V AlbaresIndia2026-08-28Printing Dimensions NEW63Ioni Bowcher
1036Ashley J KuskoSpain2026-09-19Feiner Bros PROPOSAL94Onyama Limba
1037Kaitlin L MaletCanada2026-09-04Feltz Printing Service UNQUALIFIED41Ioni Bowcher
1038Isabel Y PoquetteSpain2026-09-12Chapman, Ross E Esq UNQUALIFIED53Ioni Bowcher
1039Mujtaba B CaudyBrazil2026-09-08Dorl, James J Esq UNQUALIFIED68Asiya Javayant
1040Tony M ButtFrance2026-09-05Feiner Bros NEW6Anna Fali
1041Munro T RoysterBrazil2026-09-02Chapman, Ross E Esq RENEWAL38Onyama Limba
1042Nicolas P FerenczFrance2026-08-23Dorl, James J Esq NEW94Stephen Shaw
1043Morrow P WaycottSpain2026-08-24Truhlar And Truhlar Attys QUALIFIED92Xuxue Feng
1044Costa Q AlbaresJapan2026-08-24Feiner Bros PROPOSAL70Elwin Sharvill
1045Sinclair Q StensethJapan2026-09-12King, Christopher A Esq NEGOTIATION41Xuxue Feng
1046Izzy U IturbideIndia2026-09-02Rangoni Of Florence NEW69Asiya Javayant
1047Francesco E VenereIndia2026-09-12Rangoni Of Florence NEGOTIATION39Xuxue Feng
1048Silvio S GlickFrance2026-08-31Morlong Associates RENEWAL58Amy Elsner
1049Claire I BriddickGermany2026-08-22Buckley Miller Wright UNQUALIFIED35Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ivar Q SlusarskiItalyAnna Fali PROPOSAL
Tony O VenereJapanBernardo Dominic NEW
Alejandro G VenereRussiaOnyama Limba RENEWAL
Stacey O SaylorsItalyOnyama Limba UNQUALIFIED
Isabel U NestleJapanXuxue Feng RENEWAL
Darci C GarufiArgentinaIvan Magalhaes PROPOSAL
Clifford O CaldareraArgentinaAsiya Javayant PROPOSAL
Julie X NickaSpainXuxue Feng QUALIFIED
Clifford N WieserCanadaAmy Elsner UNQUALIFIED
Adams Y DilliardItalyElwin Sharvill UNQUALIFIED
Morrow U KolmetzIndiaXuxue Feng NEW
Faith B MorascaSpainOnyama Limba QUALIFIED
Clifford J DarakjyItalyIoni Bowcher NEW
Aika Z KuskoCanadaStephen Shaw NEGOTIATION
Maria P GillianItalyOnyama Limba PROPOSAL
Kadeem Q NickaUnited KingdomXuxue Feng RENEWAL
Adams K OstroskyRussiaAsiya Javayant PROPOSAL
Emily E ShinkoUnited KingdomAsiya Javayant QUALIFIED
Salvatore V OldroydJapanIoni Bowcher NEW
Arvin V StensethCanadaAnna Fali NEW
Jennifer U FollerFranceStephen Shaw UNQUALIFIED
David W GillianIndiaElwin Sharvill RENEWAL
Ivar F FollerGermanyElwin Sharvill NEGOTIATION
Izzy J PoquetteFranceAsiya Javayant UNQUALIFIED
Jennifer H StensethSpainXuxue Feng NEGOTIATION
Adams W MaletFranceOnyama Limba RENEWAL
Ivar T MarrierCanadaAmy Elsner NEW
Faith G DarakjyItalyBernardo Dominic RENEWAL
Maisha A WhobreyFranceIvan Magalhaes QUALIFIED
Ivar K SaylorsGermanyStephen Shaw NEW
Morrow O ChuiAustraliaIvan Magalhaes QUALIFIED
Ricardo T TollnerIndiaIoni Bowcher NEGOTIATION
Greenwood Q AmigonFranceIoni Bowcher QUALIFIED
Mayumi I WaycottIndiaAmy Elsner QUALIFIED
Jefferson G SchemmerItalyIvan Magalhaes NEW
Emily F WieserRussiaXuxue Feng UNQUALIFIED
Emily V StockhamSpainStephen Shaw RENEWAL
Clifford H DoeUnited KingdomOnyama Limba RENEWAL
Salvatore K ButtIndiaIvan Magalhaes RENEWAL
Deepesh X CaudyJapanStephen Shaw NEGOTIATION
Stacey D KolmetzAustraliaAnna Fali PROPOSAL
Sinclair F VocelkaCanadaAnna Fali UNQUALIFIED
Munro O SchemmerArgentinaAnna Fali QUALIFIED
Isabel L KolmetzArgentinaAnna Fali QUALIFIED
Chavez Y CampainArgentinaXuxue Feng QUALIFIED
Misaki Y FerenczBrazilOnyama Limba QUALIFIED
Aditya M GlickBrazilAsiya Javayant NEGOTIATION
Julie Z ButtIndiaXuxue Feng QUALIFIED
Mujtaba O DoeSpainIoni Bowcher PROPOSAL
Kaitlin K GarufiArgentinaOnyama Limba NEGOTIATION
Frozen Columns
Name
Octavia J Garufi
Antonio N Stenseth
Kadeem X Briddick
Izzy W Darakjy
Chavez N Stenseth
Darci W Ferencz
Wickens E Foller
Greenwood F Garufi
Ivar K Wieser
Maria A Rim
Alejandro N Wieser
Cody S Gillian
Faith U Maclead
Izzy O Doe
Jones Z Bowley
Smith D Rulapaugh
Cody O Tollner
Isabel H Caldarera
Munro C Ruta
Francesco U Ruta
Jones L Perin
Aruna V Perin
Jeanfrancois H Rulapaugh
Salvatore W Amigon
Johnson B Caudy
Murillo F Chui
Adams N Amigon
Adams D Amigon
Aruna B Bowley
Nicolas U Slusarski
Jennifer C Amigon
Costa L Wieser
Ivar R Stenseth
Kaitlin Z Bowley
Sinclair P Caudy
Clifford B Wieser
Stacey N Wieser
Salvatore H Shinko
Smith B Oldroyd
Adams E Amigon
Cody J Briddick
Munro V Gaucho
Leja T Dilliard
Emily C Gaucho
Emily T Nestle
Tony M Bolognia
Kadeem E Royster
David N Slusarski
Tony J Doe
Jeanfrancois O Nicka
IdCountryDate
1000India2026-08-30
1001United Kingdom2026-09-18
1002Germany2026-08-24
1003India2026-09-19
1004France2026-09-04
1005United Kingdom2026-09-04
1006India2026-08-27
1007Spain2026-09-09
1008India2026-08-26
1009Canada2026-08-26
1010United Kingdom2026-09-15
1011Italy2026-08-26
1012Russia2026-09-13
1013United Kingdom2026-08-31
1014Italy2026-09-18
1015Italy2026-09-19
1016France2026-09-19
1017Spain2026-09-19
1018India2026-09-20
1019Canada2026-09-08
1020India2026-08-28
1021Russia2026-09-13
1022Argentina2026-08-30
1023Italy2026-09-19
1024Spain2026-09-08
1025Argentina2026-09-13
1026Germany2026-08-28
1027Russia2026-09-06
1028Germany2026-09-02
1029France2026-09-03
1030Australia2026-08-25
1031Canada2026-08-22
1032India2026-09-15
1033Japan2026-08-31
1034India2026-09-06
1035United Kingdom2026-08-22
1036Spain2026-08-25
1037United Kingdom2026-08-22
1038Italy2026-09-13
1039India2026-08-28
1040France2026-08-31
1041Germany2026-08-28
1042Australia2026-08-29
1043Argentina2026-08-28
1044Brazil2026-09-07
1045India2026-08-23
1046Argentina2026-09-11
1047Germany2026-09-09
1048Brazil2026-08-22
1049Japan2026-09-14

On-Demand Data

NameIdCountryDate
Tony A Oldroyd1000Japan2026-08-23
Tony S Nicka1001Germany2026-08-29
Isabel Y Marrier1002Argentina2026-09-11
Wickens Y Figeroa1003India2026-09-12
Munro S Bowley1004Canada2026-09-17
Darci J Waycott1005Canada2026-09-15
Kaitlin R Vocelka1006Argentina2026-09-05
Emily A Marrier1007Argentina2026-09-08
Arvin J Whobrey1008Brazil2026-08-28
Julie U Iturbide1009Germany2026-08-28
Jones I Maclead1010United Kingdom2026-08-30
Munro L Glick1011Italy2026-08-27
Juan T Vocelka1012Australia2026-09-01
Tony N Briddick1013Russia2026-09-05
Arvin H Butt1014United Kingdom2026-08-28
Aruna N Amigon1015Australia2026-09-18
Jeanfrancois W Nestle1016Australia2026-09-15
Silvio E Chui1017Australia2026-09-03
Aditya W Stenseth1018United Kingdom2026-09-13
Costa Y Malet1019India2026-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha F WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Juan E RutaFranceAmy Elsner PROPOSAL
Claire A FerenczBrazilOnyama Limba QUALIFIED
James I DarakjyGermanyAmy Elsner UNQUALIFIED
Jennifer L MaletArgentinaXuxue Feng NEGOTIATION
Sinclair C MorascaUnited KingdomElwin Sharvill RENEWAL
Ricardo V ShinkoUnited KingdomAnna Fali NEGOTIATION
Ivar J VocelkaItalyBernardo Dominic UNQUALIFIED
Nicolas M OldroydBrazilElwin Sharvill QUALIFIED
Clifford T MaletJapanAmy Elsner QUALIFIED
Morrow O AlbaresArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois S InouyeRussiaOnyama Limba UNQUALIFIED
Jeanfrancois I SergiIndiaXuxue Feng NEW
Rodrigues W PerinGermanyAmy Elsner RENEWAL
Ricardo B RoysterGermanyXuxue Feng PROPOSAL
Aika U SchemmerGermanyOnyama Limba NEW
Rodrigues R FollerAustraliaAmy Elsner NEGOTIATION
Maisha T FollerItalyAsiya Javayant RENEWAL
Jeanfrancois H InouyeUnited KingdomStephen Shaw NEGOTIATION
Murillo Z MaletAustraliaIvan Magalhaes RENEWAL
Aruna D MarrierJapanBernardo Dominic PROPOSAL
Izzy X SchemmerArgentinaIvan Magalhaes PROPOSAL
Jefferson H StensethBrazilIoni Bowcher QUALIFIED
Jeanfrancois J DilliardIndiaAmy Elsner NEGOTIATION
Faith B AlbaresGermanyStephen Shaw NEW
Isabel I FlosiFranceStephen Shaw NEW
Jones R SchemmerAustraliaIvan Magalhaes RENEWAL
Ashley R RulapaughUnited KingdomAmy Elsner PROPOSAL
Deepesh Z PerinBrazilIvan Magalhaes UNQUALIFIED
Juan G CampainItalyStephen Shaw NEW
Jefferson Q DarakjyGermanyBernardo Dominic UNQUALIFIED
Antonio R CampainBrazilAmy Elsner UNQUALIFIED
Alejandro X CaudyFranceAmy Elsner QUALIFIED
Isabel V RutaCanadaXuxue Feng UNQUALIFIED
Leja T SlusarskiArgentinaAnna Fali NEGOTIATION
Faith W MorascaCanadaAnna Fali NEGOTIATION
Misaki A BowleyBrazilAsiya Javayant UNQUALIFIED
Jones O SaylorsUnited KingdomOnyama Limba QUALIFIED
Sinclair Z WieserItalyIoni Bowcher UNQUALIFIED
Leja W ShinkoItalyStephen Shaw 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>