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
Salvatore C AmigonAustraliaIoni Bowcher NEGOTIATION
Aika O TollnerCanadaAmy Elsner PROPOSAL
Kadeem P OldroydRussiaAnna Fali NEW
Rodrigues F BologniaGermanyIvan Magalhaes PROPOSAL
Ivar I BriddickFranceAnna Fali UNQUALIFIED
Tony S DarakjyCanadaIoni Bowcher PROPOSAL
Maria E PerinRussiaOnyama Limba UNQUALIFIED
Aika U GauchoIndiaIvan Magalhaes QUALIFIED
Faith M CaldareraJapanAmy Elsner NEGOTIATION
Jeanfrancois L OstroskySpainXuxue Feng NEGOTIATION
Rodrigues A OldroydIndiaElwin Sharvill NEW
Mujtaba H BriddickArgentinaAmy Elsner NEGOTIATION
Arvin A FollerItalyAmy Elsner QUALIFIED
Antonio S WieserIndiaBernardo Dominic PROPOSAL
Adams Q BriddickIndiaXuxue Feng QUALIFIED
Octavia T SchemmerRussiaIoni Bowcher QUALIFIED
Tony V CaldareraSpainAsiya Javayant PROPOSAL
Claire F KuskoFranceOnyama Limba NEW
Octavia V IturbideArgentinaOnyama Limba NEW
Deepesh H ButtUnited KingdomIvan Magalhaes RENEWAL
Nicolas U OstroskyIndiaIoni Bowcher NEW
Maisha B PoquetteCanadaAsiya Javayant RENEWAL
Johnson H GlickRussiaAmy Elsner RENEWAL
Octavia B AlbaresBrazilAsiya Javayant PROPOSAL
Munro D PerinGermanyAnna Fali RENEWAL
Aditya V PoquetteRussiaOnyama Limba RENEWAL
Claire N NestleRussiaXuxue Feng NEW
Murillo Y VocelkaUnited KingdomAmy Elsner QUALIFIED
Misaki H StockhamBrazilStephen Shaw PROPOSAL
Clifford M BologniaSpainIoni Bowcher NEGOTIATION
Octavia R VocelkaCanadaIoni Bowcher NEW
Kaitlin R WieserItalyXuxue Feng RENEWAL
Octavia O GillianSpainAnna Fali RENEWAL
Silvio S GarufiBrazilIoni Bowcher UNQUALIFIED
Aruna L InouyeAustraliaElwin Sharvill PROPOSAL
Mujtaba P GauchoAustraliaIvan Magalhaes RENEWAL
Arvin B MarrierArgentinaAnna Fali PROPOSAL
Misaki W MarrierIndiaAsiya Javayant UNQUALIFIED
Maisha J OstroskyBrazilAnna Fali UNQUALIFIED
Greenwood M KuskoGermanyXuxue Feng QUALIFIED
Isabel R GauchoArgentinaAnna Fali NEGOTIATION
Chavez Y FollerUnited KingdomIoni Bowcher UNQUALIFIED
Faith A FerenczGermanyBernardo Dominic RENEWAL
Maisha U MaletUnited KingdomOnyama Limba RENEWAL
Costa R GauchoFranceBernardo Dominic NEW
Clifford E FigeroaRussiaAnna Fali NEW
Faith T FigeroaFranceBernardo Dominic NEW
Kaitlin J DarakjyAustraliaXuxue Feng RENEWAL
Misaki K DilliardArgentinaBernardo Dominic NEGOTIATION
Juan S OstroskyUnited KingdomXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Isabel I MaletBrazilBernardo Dominic NEGOTIATION
Isabel M FerenczGermanyXuxue Feng UNQUALIFIED
Munro Y InouyeSpainStephen Shaw UNQUALIFIED
Claire N KolmetzBrazilAsiya Javayant NEGOTIATION
Jeanfrancois O IturbideAustraliaBernardo Dominic UNQUALIFIED
Julie T GlickItalyOnyama Limba UNQUALIFIED
Kaitlin E SchemmerRussiaXuxue Feng UNQUALIFIED
Claire C DarakjyFranceAmy Elsner UNQUALIFIED
Aditya M RulapaughJapanAmy Elsner UNQUALIFIED
Jefferson O WhobreyGermanyBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar P AmigonArgentina2026-09-02Dorl, James J Esq NEW45Amy Elsner
1001Ivar U SchemmerGermany2026-08-20Buckley Miller Wright NEW98Amy Elsner
1002Julie T SchemmerItaly2026-09-07Buckley Miller Wright PROPOSAL73Elwin Sharvill
1003Julie M OstroskyArgentina2026-09-11Chemel, James L Cpa NEGOTIATION75Ioni Bowcher
1004Juan A FlosiJapan2026-08-26Buckley Miller Wright NEGOTIATION95Onyama Limba
1005Mujtaba T FlosiBrazil2026-08-22Chapman, Ross E Esq NEW64Ivan Magalhaes
1006Misaki O VenereRussia2026-09-12King, Christopher A Esq QUALIFIED19Ivan Magalhaes
1007Ricardo S RimGermany2026-09-12Chapman, Ross E Esq QUALIFIED94Onyama Limba
1008Deepesh U StensethItaly2026-09-11Feiner Bros QUALIFIED6Elwin Sharvill
1009Aika G ButtGermany2026-09-09Truhlar And Truhlar Attys UNQUALIFIED91Elwin Sharvill
1010Tony L RutaArgentina2026-09-14Feltz Printing Service NEGOTIATION41Stephen Shaw
1011Faith V FollerFrance2026-09-13Feiner Bros NEW69Stephen Shaw
1012Tony E GauchoRussia2026-09-08Feltz Printing Service UNQUALIFIED58Ioni Bowcher
1013Darci N PoquetteItaly2026-09-06Chemel, James L Cpa UNQUALIFIED76Bernardo Dominic
1014David K NestleBrazil2026-09-05Feltz Printing Service RENEWAL75Xuxue Feng
1015Kadeem Q InouyeUnited Kingdom2026-08-30King, Christopher A Esq NEGOTIATION61Bernardo Dominic
1016Ivar H MarrierArgentina2026-08-19Morlong Associates RENEWAL78Stephen Shaw
1017Sinclair Y MaletRussia2026-08-26Printing Dimensions NEGOTIATION80Ivan Magalhaes
1018Maria F SchemmerFrance2026-08-27Morlong Associates RENEWAL9Xuxue Feng
1019Izzy E WaycottItaly2026-09-07Dorl, James J Esq QUALIFIED76Asiya Javayant
1020Rodrigues F NestleItaly2026-08-29Feiner Bros QUALIFIED31Amy Elsner
1021Murillo D MaletRussia2026-08-22Chapman, Ross E Esq NEW73Ioni Bowcher
1022David P FlosiItaly2026-09-13Feltz Printing Service RENEWAL38Onyama Limba
1023Aruna G NestleAustralia2026-09-15Chanay, Jeffrey A Esq QUALIFIED79Onyama Limba
1024Alejandro E InouyeFrance2026-09-09Commercial Press RENEWAL86Asiya Javayant
1025Ashley S ChuiGermany2026-09-04Dorl, James J Esq QUALIFIED35Anna Fali
1026Cody X SergiBrazil2026-08-19Chapman, Ross E Esq NEGOTIATION30Stephen Shaw
1027Mayumi Z MaletItaly2026-09-06Rangoni Of Florence NEGOTIATION89Xuxue Feng
1028Wickens U MorascaGermany2026-09-09Buckley Miller Wright NEGOTIATION10Asiya Javayant
1029Kaitlin K StockhamArgentina2026-08-22Rangoni Of Florence RENEWAL8Elwin Sharvill
1030Isabel H WhobreyArgentina2026-08-25Chemel, James L Cpa RENEWAL47Anna Fali
1031Maria X RoysterItaly2026-09-03Rousseaux, Michael Esq UNQUALIFIED48Onyama Limba
1032Adams Q TollnerArgentina2026-08-28Printing Dimensions NEGOTIATION33Bernardo Dominic
1033Mayumi F InouyeArgentina2026-09-08Feltz Printing Service UNQUALIFIED40Stephen Shaw
1034Julie F DoeSpain2026-09-13Chemel, James L Cpa NEW64Asiya Javayant
1035Jones X WieserCanada2026-08-21Chanay, Jeffrey A Esq PROPOSAL52Amy Elsner
1036Jeanfrancois Z OstroskyArgentina2026-09-03Rangoni Of Florence RENEWAL57Xuxue Feng
1037Wickens Z RimArgentina2026-08-27Buckley Miller Wright RENEWAL30Amy Elsner
1038Wickens T BologniaSpain2026-08-19Chanay, Jeffrey A Esq NEW27Ivan Magalhaes
1039Greenwood U InouyeBrazil2026-09-06Rangoni Of Florence UNQUALIFIED94Amy Elsner
1040Clifford C DilliardJapan2026-08-29Feiner Bros RENEWAL5Amy Elsner
1041Nicolas A CaudyJapan2026-08-30Chapman, Ross E Esq NEW46Bernardo Dominic
1042David E VocelkaIndia2026-09-09Benton, John B Jr NEGOTIATION11Stephen Shaw
1043Salvatore W MorascaCanada2026-09-09Commercial Press UNQUALIFIED44Xuxue Feng
1044Julie Y SergiJapan2026-08-23Benton, John B Jr PROPOSAL68Xuxue Feng
1045Costa C StensethSpain2026-09-17Buckley Miller Wright UNQUALIFIED82Elwin Sharvill
1046Greenwood Q DoeUnited Kingdom2026-09-08King, Christopher A Esq PROPOSAL65Bernardo Dominic
1047Rodrigues M WhobreyIndia2026-09-04Rousseaux, Michael Esq RENEWAL89Onyama Limba
1048Smith D InouyeIndia2026-09-03Chapman, Ross E Esq RENEWAL0Anna Fali
1049Ricardo E OstroskyAustralia2026-09-05Chanay, Jeffrey A Esq QUALIFIED7Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas G DilliardFranceIoni Bowcher NEW
Kadeem C CampainSpainBernardo Dominic NEW
Costa F DarakjyFranceAmy Elsner UNQUALIFIED
Aika C CaudyBrazilXuxue Feng RENEWAL
Tony S GillianGermanyOnyama Limba NEGOTIATION
Mayumi P OstroskySpainStephen Shaw QUALIFIED
Rodrigues K ShinkoAustraliaElwin Sharvill NEGOTIATION
Antonio Q InouyeUnited KingdomOnyama Limba UNQUALIFIED
Clifford L WhobreyJapanStephen Shaw RENEWAL
Cody H FollerGermanyAnna Fali RENEWAL
Maisha L VocelkaBrazilIoni Bowcher RENEWAL
Silvio L WhobreyBrazilAmy Elsner UNQUALIFIED
Maisha L ChuiIndiaBernardo Dominic UNQUALIFIED
James B WieserRussiaAsiya Javayant NEGOTIATION
Rodrigues T ButtArgentinaAmy Elsner NEGOTIATION
Claire J GillianArgentinaElwin Sharvill QUALIFIED
Stacey R OldroydArgentinaIvan Magalhaes NEW
Chavez Q SaylorsItalyBernardo Dominic PROPOSAL
Faith E GarufiIndiaXuxue Feng NEW
Adams F GillianRussiaIoni Bowcher NEW
Silvio F OldroydUnited KingdomIvan Magalhaes QUALIFIED
Tony J GlickUnited KingdomIvan Magalhaes QUALIFIED
Clifford U TollnerJapanStephen Shaw PROPOSAL
Tony I DilliardBrazilStephen Shaw NEGOTIATION
Misaki Y IturbideCanadaIvan Magalhaes QUALIFIED
Leon D MaletAustraliaAmy Elsner PROPOSAL
Faith L GarufiGermanyAnna Fali RENEWAL
Alejandro K MaletUnited KingdomElwin Sharvill QUALIFIED
Juan M NickaUnited KingdomXuxue Feng UNQUALIFIED
Silvio T GarufiUnited KingdomAnna Fali QUALIFIED
Arvin U NestleIndiaXuxue Feng NEGOTIATION
Morrow V TollnerArgentinaXuxue Feng UNQUALIFIED
Mujtaba E SlusarskiFranceBernardo Dominic QUALIFIED
Leja Z RimBrazilIvan Magalhaes NEW
Wickens L SchemmerRussiaBernardo Dominic NEGOTIATION
Claire F DarakjyRussiaAnna Fali UNQUALIFIED
Jennifer S PerinBrazilAmy Elsner RENEWAL
David L FerenczUnited KingdomStephen Shaw UNQUALIFIED
Johnson Y CaldareraSpainStephen Shaw NEGOTIATION
Adams V WieserAustraliaStephen Shaw UNQUALIFIED
Deepesh Q CampainJapanIvan Magalhaes QUALIFIED
Adams P BologniaGermanyBernardo Dominic UNQUALIFIED
Antonio C TollnerBrazilIoni Bowcher RENEWAL
Smith Y WaycottCanadaXuxue Feng PROPOSAL
Arvin G OstroskyRussiaElwin Sharvill NEGOTIATION
Kaitlin K WieserRussiaAnna Fali RENEWAL
Faith M AlbaresCanadaAmy Elsner PROPOSAL
Leja J OldroydIndiaIvan Magalhaes RENEWAL
Morrow S MarrierGermanyIoni Bowcher PROPOSAL
Antonio Q RoysterGermanyBernardo Dominic NEW
Frozen Columns
Name
Isabel P Caudy
Kaitlin L Shinko
Jeanfrancois H Morasca
Arvin W Nicka
Aditya Q Ostrosky
Octavia V Poquette
Maria K Malet
Jennifer M Ostrosky
David Z Caldarera
Ricardo Z Perin
Ricardo A Whobrey
Deepesh W Kusko
Jones U Poquette
Cody L Kolmetz
Adams W Perin
Clifford F Vocelka
Deepesh R Schemmer
Kadeem I Rulapaugh
Antonio W Marrier
Jefferson K Bowley
James O Royster
Leon E Oldroyd
Adams R Whobrey
Nicolas K Marrier
Aditya F Venere
Sinclair N Perin
Aruna T Nicka
Octavia W Nicka
Greenwood C Inouye
Ashley Y Waycott
Munro B Stenseth
Ivar Z Morasca
Isabel M Briddick
Rodrigues S Rim
Clifford M Butt
Silvio X Malet
Aruna L Sergi
Silvio N Marrier
Smith A Vocelka
Isabel E Bolognia
Izzy F Gaucho
Kadeem V Shinko
Jefferson M Royster
Salvatore Z Glick
Maria M Campain
Adams L Ostrosky
Arvin V Vocelka
Aditya D Stenseth
Smith F Ostrosky
Izzy Q Whobrey
IdCountryDate
1000Germany2026-09-11
1001Germany2026-08-31
1002Germany2026-09-01
1003Italy2026-09-16
1004Australia2026-08-31
1005India2026-09-04
1006Brazil2026-09-11
1007Germany2026-08-21
1008India2026-09-02
1009Germany2026-08-31
1010Brazil2026-09-16
1011Spain2026-09-09
1012Spain2026-09-04
1013Brazil2026-08-30
1014Brazil2026-09-03
1015France2026-09-17
1016Spain2026-09-05
1017Germany2026-08-25
1018Australia2026-09-13
1019Japan2026-08-28
1020Argentina2026-09-08
1021Japan2026-08-19
1022Australia2026-09-03
1023Spain2026-08-31
1024Spain2026-09-15
1025Brazil2026-09-07
1026Italy2026-09-16
1027Canada2026-09-10
1028Japan2026-09-09
1029Canada2026-09-01
1030Japan2026-08-29
1031India2026-09-03
1032Brazil2026-09-14
1033Australia2026-09-04
1034Australia2026-09-11
1035Spain2026-08-19
1036Germany2026-09-15
1037France2026-08-24
1038Brazil2026-08-30
1039India2026-08-24
1040France2026-09-09
1041Canada2026-09-05
1042Australia2026-08-25
1043France2026-09-11
1044Australia2026-08-30
1045France2026-08-23
1046United Kingdom2026-08-30
1047Australia2026-08-28
1048Germany2026-09-16
1049India2026-08-29

On-Demand Data

NameIdCountryDate
Mujtaba N Tollner1000Italy2026-08-28
Murillo J Flosi1001Canada2026-09-01
Faith A Venere1002France2026-09-14
Deepesh J Saylors1003Germany2026-09-02
Claire G Briddick1004Italy2026-09-02
Silvio M Royster1005United Kingdom2026-09-14
Ivar U Waycott1006Germany2026-09-12
James R Ruta1007Germany2026-08-23
Misaki J Gaucho1008Canada2026-09-04
Aruna C Vocelka1009France2026-08-21
Sinclair O Tollner1010Brazil2026-08-30
Stacey F Stenseth1011India2026-09-17
Sinclair P Glick1012Germany2026-09-15
Leja L Glick1013France2026-09-16
Alejandro U Malet1014Argentina2026-09-09
David F Nicka1015Spain2026-09-17
Mayumi P Caldarera1016Germany2026-08-25
Francesco H Saylors1017India2026-09-12
Johnson B Oldroyd1018Japan2026-09-01
Emily G Whobrey1019Canada2026-09-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio W TollnerFranceElwin Sharvill PROPOSAL
Jeanfrancois C FigeroaUnited KingdomBernardo Dominic QUALIFIED
Claire G RulapaughIndiaOnyama Limba QUALIFIED
Ricardo Y DilliardIndiaOnyama Limba UNQUALIFIED
Izzy P MarrierIndiaXuxue Feng PROPOSAL
Juan G DoeAustraliaAsiya Javayant NEW
Aruna T ButtFranceXuxue Feng NEGOTIATION
Adams T SchemmerArgentinaAsiya Javayant PROPOSAL
Misaki A InouyeArgentinaIoni Bowcher QUALIFIED
Izzy C MorascaArgentinaAmy Elsner PROPOSAL
Salvatore S FollerFranceIoni Bowcher NEW
Jeanfrancois Q PerinArgentinaIvan Magalhaes NEGOTIATION
Morrow I MorascaIndiaIoni Bowcher NEW
Maria T MarrierArgentinaAmy Elsner PROPOSAL
Claire O DilliardItalyOnyama Limba NEGOTIATION
David E CaudyJapanBernardo Dominic RENEWAL
Wickens D AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Mayumi D GauchoFranceElwin Sharvill NEGOTIATION
Cody V MorascaFranceBernardo Dominic RENEWAL
Jefferson V GillianIndiaAsiya Javayant PROPOSAL
Izzy C OldroydSpainBernardo Dominic RENEWAL
Chavez A SaylorsSpainOnyama Limba PROPOSAL
Aditya U CaudyFranceXuxue Feng NEW
Claire L FigeroaRussiaIvan Magalhaes QUALIFIED
Maria Z GauchoItalyOnyama Limba NEW
Sinclair H DilliardUnited KingdomAmy Elsner NEW
Juan V AlbaresGermanyOnyama Limba UNQUALIFIED
Maisha T GarufiAustraliaAsiya Javayant NEGOTIATION
Nicolas S PoquetteCanadaAsiya Javayant NEGOTIATION
Aika L MaletSpainXuxue Feng PROPOSAL
Murillo H VocelkaAustraliaBernardo Dominic QUALIFIED
Rodrigues O VenereFranceStephen Shaw QUALIFIED
Jennifer K ButtSpainStephen Shaw NEGOTIATION
Faith U SchemmerGermanyIvan Magalhaes UNQUALIFIED
Jeanfrancois P CaudyJapanAsiya Javayant UNQUALIFIED
Mujtaba I GauchoIndiaStephen Shaw NEW
Claire R RutaGermanyBernardo Dominic UNQUALIFIED
Morrow O DilliardBrazilOnyama Limba NEW
Emily A CaudySpainAmy Elsner QUALIFIED
Jones Y PoquetteItalyAmy Elsner QUALIFIED

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