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
Arvin S MarrierIndiaBernardo Dominic PROPOSAL
Kaitlin Y InouyeUnited KingdomAnna Fali NEW
Jefferson G BologniaIndiaStephen Shaw NEW
Costa E MacleadGermanyAsiya Javayant UNQUALIFIED
James J RutaRussiaBernardo Dominic PROPOSAL
Johnson C MorascaJapanAnna Fali NEGOTIATION
Clifford X MaletItalyAmy Elsner RENEWAL
Leja P AmigonSpainAmy Elsner NEGOTIATION
Darci J BowleyCanadaAnna Fali PROPOSAL
Juan N WieserRussiaAnna Fali UNQUALIFIED
Sinclair C KolmetzJapanAnna Fali UNQUALIFIED
Juan H WieserFranceAnna Fali NEGOTIATION
Cody W BologniaArgentinaAnna Fali UNQUALIFIED
Julie W RoysterItalyIvan Magalhaes UNQUALIFIED
Smith B MaletCanadaAmy Elsner NEW
Mujtaba W FigeroaSpainStephen Shaw NEW
Octavia D GillianJapanXuxue Feng RENEWAL
Munro V MaletItalyElwin Sharvill QUALIFIED
Aika J KolmetzRussiaAnna Fali RENEWAL
Costa U NickaCanadaStephen Shaw NEW
Jennifer D MaletAustraliaAmy Elsner UNQUALIFIED
Ivar L DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo I MaletUnited KingdomAnna Fali UNQUALIFIED
Smith V ShinkoIndiaElwin Sharvill NEW
Munro X VenereRussiaOnyama Limba NEGOTIATION
Kadeem R BologniaUnited KingdomElwin Sharvill PROPOSAL
Leon V MarrierRussiaAnna Fali NEW
Rodrigues T SaylorsCanadaAsiya Javayant PROPOSAL
Jeanfrancois I VenereAustraliaStephen Shaw PROPOSAL
Francesco N DarakjyCanadaAmy Elsner NEW
Izzy V FerenczFranceStephen Shaw QUALIFIED
Rodrigues R MarrierRussiaAmy Elsner NEGOTIATION
Leon D KolmetzJapanXuxue Feng NEW
Johnson D DarakjyJapanOnyama Limba PROPOSAL
Jennifer O OldroydArgentinaOnyama Limba RENEWAL
Francesco J ButtGermanyOnyama Limba QUALIFIED
Arvin V KolmetzGermanyElwin Sharvill PROPOSAL
Wickens E DarakjyIndiaXuxue Feng QUALIFIED
Ashley R OstroskyUnited KingdomIoni Bowcher QUALIFIED
Maria E DoeCanadaElwin Sharvill QUALIFIED
Octavia K FlosiAustraliaAsiya Javayant RENEWAL
Clifford X FlosiRussiaOnyama Limba PROPOSAL
Nicolas Q RulapaughSpainAsiya Javayant NEGOTIATION
Arvin Q SchemmerCanadaAsiya Javayant NEW
Alejandro Q NestleJapanXuxue Feng UNQUALIFIED
Nicolas D DoeJapanIvan Magalhaes QUALIFIED
Alejandro U DarakjyIndiaAnna Fali NEW
Rodrigues H MorascaArgentinaBernardo Dominic NEGOTIATION
Rodrigues E KolmetzArgentinaAmy Elsner QUALIFIED
Juan L BologniaSpainStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Johnson J VocelkaRussiaAnna Fali NEGOTIATION
Ivar C VenereUnited KingdomXuxue Feng NEW
Faith J ChuiGermanyAnna Fali NEW
Juan Z IturbideBrazilOnyama Limba QUALIFIED
Johnson W TollnerCanadaAnna Fali NEGOTIATION
Francesco T SergiAustraliaElwin Sharvill QUALIFIED
Ashley R PaprockiFranceBernardo Dominic QUALIFIED
Ashley L DilliardJapanElwin Sharvill PROPOSAL
Salvatore Y VocelkaRussiaIvan Magalhaes NEW
Clifford U VenereBrazilIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika K FerenczArgentina2026-09-14Morlong Associates QUALIFIED44Anna Fali
1001Sinclair F FerenczBrazil2026-09-18Morlong Associates RENEWAL87Bernardo Dominic
1002Emily Z WhobreyAustralia2026-09-18Benton, John B Jr UNQUALIFIED39Asiya Javayant
1003Emily W NestleItaly2026-08-30Rangoni Of Florence NEW37Amy Elsner
1004Kaitlin A VocelkaArgentina2026-09-20Feltz Printing Service UNQUALIFIED1Elwin Sharvill
1005Greenwood W OldroydAustralia2026-08-31Morlong Associates QUALIFIED74Xuxue Feng
1006Tony G AmigonCanada2026-09-07Chemel, James L Cpa QUALIFIED0Bernardo Dominic
1007Juan B WieserBrazil2026-09-24Morlong Associates NEW91Anna Fali
1008Aruna Y InouyeBrazil2026-09-12Buckley Miller Wright QUALIFIED73Bernardo Dominic
1009Nicolas J NickaItaly2026-09-20Rousseaux, Michael Esq QUALIFIED34Bernardo Dominic
1010Jefferson P WaycottAustralia2026-09-13Dorl, James J Esq NEW29Onyama Limba
1011Darci V MaletBrazil2026-09-21Feiner Bros UNQUALIFIED4Stephen Shaw
1012Misaki F KuskoFrance2026-09-19Dorl, James J Esq PROPOSAL21Anna Fali
1013Murillo O RutaIndia2026-09-18Chapman, Ross E Esq RENEWAL88Onyama Limba
1014Adams N ChuiBrazil2026-09-18Chapman, Ross E Esq UNQUALIFIED61Amy Elsner
1015Costa J SergiBrazil2026-09-23Rangoni Of Florence UNQUALIFIED82Stephen Shaw
1016Stacey U AlbaresAustralia2026-09-12Rangoni Of Florence PROPOSAL15Onyama Limba
1017Mujtaba J PerinArgentina2026-09-13Chanay, Jeffrey A Esq PROPOSAL18Onyama Limba
1018Jennifer Q ChuiIndia2026-09-23Dorl, James J Esq NEGOTIATION65Anna Fali
1019Clifford D RutaAustralia2026-09-08Feiner Bros PROPOSAL83Bernardo Dominic
1020Maisha O OstroskyGermany2026-09-27King, Christopher A Esq RENEWAL97Ivan Magalhaes
1021Kadeem S WhobreyJapan2026-08-31Buckley Miller Wright NEGOTIATION67Asiya Javayant
1022Aditya Q SlusarskiAustralia2026-09-17Benton, John B Jr QUALIFIED78Anna Fali
1023Murillo N MaletIndia2026-09-21Rangoni Of Florence UNQUALIFIED66Xuxue Feng
1024Munro V PerinUnited Kingdom2026-08-31Chanay, Jeffrey A Esq QUALIFIED72Onyama Limba
1025Aika A OstroskyBrazil2026-09-18Truhlar And Truhlar Attys QUALIFIED46Ioni Bowcher
1026Johnson Q RimArgentina2026-09-04Morlong Associates PROPOSAL75Onyama Limba
1027Cody N PoquetteSpain2026-08-31Benton, John B Jr NEW30Ivan Magalhaes
1028Izzy B MorascaGermany2026-08-29Morlong Associates PROPOSAL84Elwin Sharvill
1029Sinclair T ChuiUnited Kingdom2026-09-02Dorl, James J Esq QUALIFIED86Asiya Javayant
1030Smith T AmigonItaly2026-09-12Truhlar And Truhlar Attys PROPOSAL18Anna Fali
1031Kadeem M PoquetteUnited Kingdom2026-09-21Rousseaux, Michael Esq PROPOSAL33Asiya Javayant
1032Jones J GarufiBrazil2026-09-03Chemel, James L Cpa UNQUALIFIED63Xuxue Feng
1033Darci M DilliardUnited Kingdom2026-09-20Truhlar And Truhlar Attys NEW29Elwin Sharvill
1034Sinclair R RutaAustralia2026-09-15Buckley Miller Wright NEW17Asiya Javayant
1035Jeanfrancois W KolmetzGermany2026-08-30Rangoni Of Florence PROPOSAL8Elwin Sharvill
1036Arvin J VocelkaArgentina2026-09-07Chapman, Ross E Esq QUALIFIED5Anna Fali
1037Clifford R KolmetzFrance2026-09-02Buckley Miller Wright UNQUALIFIED50Ivan Magalhaes
1038Leon K FigeroaGermany2026-09-08Benton, John B Jr QUALIFIED65Stephen Shaw
1039Juan T KolmetzJapan2026-08-29Chanay, Jeffrey A Esq NEW95Ioni Bowcher
1040Greenwood O WieserGermany2026-09-17Chemel, James L Cpa NEW62Ivan Magalhaes
1041Adams D FollerUnited Kingdom2026-09-21King, Christopher A Esq NEGOTIATION33Onyama Limba
1042Arvin V BowleyUnited Kingdom2026-09-19King, Christopher A Esq QUALIFIED74Amy Elsner
1043Smith I CampainFrance2026-09-01Feiner Bros QUALIFIED67Stephen Shaw
1044Misaki P DilliardFrance2026-09-08Chanay, Jeffrey A Esq NEGOTIATION76Amy Elsner
1045Francesco V WaycottAustralia2026-09-26Commercial Press NEGOTIATION36Amy Elsner
1046Isabel I WaycottItaly2026-09-10Chemel, James L Cpa NEW46Onyama Limba
1047Greenwood L WhobreyUnited Kingdom2026-09-03Morlong Associates NEGOTIATION44Bernardo Dominic
1048Kadeem N AmigonAustralia2026-09-01Morlong Associates PROPOSAL86Asiya Javayant
1049Johnson X CaudyFrance2026-09-19Rousseaux, Michael Esq NEW9Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Darci B SaylorsItalyElwin Sharvill UNQUALIFIED
Salvatore I GlickIndiaAsiya Javayant UNQUALIFIED
Aruna O OldroydCanadaAmy Elsner RENEWAL
Clifford R OstroskyBrazilBernardo Dominic UNQUALIFIED
James H CampainGermanyIoni Bowcher RENEWAL
Sinclair P BriddickAustraliaIvan Magalhaes RENEWAL
Ricardo J BologniaArgentinaAsiya Javayant UNQUALIFIED
David E PerinJapanIvan Magalhaes PROPOSAL
Silvio C BriddickSpainStephen Shaw NEGOTIATION
Salvatore G RoysterCanadaStephen Shaw UNQUALIFIED
Salvatore Q StockhamUnited KingdomIoni Bowcher NEW
Silvio P RutaArgentinaAsiya Javayant PROPOSAL
Misaki E DilliardAustraliaAsiya Javayant NEW
Kaitlin U StockhamRussiaIoni Bowcher RENEWAL
Izzy E GauchoCanadaBernardo Dominic NEGOTIATION
Ricardo X VenereUnited KingdomElwin Sharvill PROPOSAL
Jeanfrancois Q MorascaRussiaOnyama Limba UNQUALIFIED
Mujtaba I SchemmerBrazilStephen Shaw QUALIFIED
Cody T IturbideUnited KingdomBernardo Dominic NEGOTIATION
Misaki E PoquetteUnited KingdomXuxue Feng QUALIFIED
Leon W KolmetzFranceXuxue Feng UNQUALIFIED
Claire C MorascaRussiaAsiya Javayant NEW
James M TollnerFranceAsiya Javayant RENEWAL
Chavez K TollnerFranceIvan Magalhaes PROPOSAL
Chavez H NestleGermanyAnna Fali QUALIFIED
Johnson S CaudyFranceAnna Fali RENEWAL
Tony H FerenczBrazilAsiya Javayant UNQUALIFIED
Octavia N RimJapanOnyama Limba UNQUALIFIED
Leon C FollerUnited KingdomAmy Elsner NEGOTIATION
Juan A ChuiSpainAsiya Javayant NEW
Morrow Q MorascaCanadaAmy Elsner NEGOTIATION
Isabel G VocelkaAustraliaIvan Magalhaes PROPOSAL
Smith A TollnerIndiaBernardo Dominic UNQUALIFIED
Adams B RutaArgentinaXuxue Feng RENEWAL
Jefferson G PoquetteBrazilIoni Bowcher NEW
Leja A TollnerItalyOnyama Limba NEW
Antonio O StockhamGermanyXuxue Feng PROPOSAL
Aruna S SchemmerRussiaAsiya Javayant PROPOSAL
Cody T GlickJapanAnna Fali RENEWAL
Chavez I DilliardRussiaAsiya Javayant RENEWAL
Chavez H SergiRussiaAmy Elsner PROPOSAL
Greenwood M MaletSpainOnyama Limba RENEWAL
Leja W ButtArgentinaAmy Elsner PROPOSAL
Tony D PerinArgentinaElwin Sharvill NEGOTIATION
Sinclair O MorascaItalyAnna Fali QUALIFIED
Mayumi I WaycottFranceXuxue Feng RENEWAL
Greenwood B FerenczSpainAnna Fali PROPOSAL
Isabel I CampainBrazilXuxue Feng UNQUALIFIED
Chavez G DarakjyFranceIoni Bowcher RENEWAL
Leja X KolmetzSpainXuxue Feng UNQUALIFIED
Frozen Columns
Name
Jeanfrancois L Whobrey
Juan F Bowley
Julie W Inouye
Claire M Oldroyd
Sinclair F Kolmetz
Johnson V Inouye
Alejandro M Caudy
James I Amigon
Wickens R Poquette
Juan E Iturbide
Jeanfrancois C Gaucho
Kadeem V Flosi
Aika P Malet
Smith D Caldarera
Leon S Campain
Faith X Paprocki
Kaitlin Q Maclead
Mayumi T Rim
Isabel R Nestle
Tony K Morasca
Smith S Amigon
Kaitlin U Ostrosky
Francesco Q Bolognia
Adams W Kusko
Salvatore T Rulapaugh
Emily R Chui
Emily K Chui
Mayumi E Figeroa
Greenwood F Rim
Faith N Maclead
Mayumi R Schemmer
Nicolas D Marrier
Ricardo Q Chui
Francesco G Caudy
Ashley I Oldroyd
Aika O Gaucho
Antonio L Wieser
Alejandro X Morasca
Jones H Schemmer
Mujtaba N Glick
Clifford K Poquette
Cody Q Oldroyd
Deepesh Z Darakjy
Greenwood L Morasca
Julie U Foller
Darci I Morasca
Silvio C Caudy
Darci J Iturbide
Ivar V Sergi
Adams X Poquette
IdCountryDate
1000Argentina2026-09-10
1001Australia2026-09-03
1002Australia2026-09-03
1003Italy2026-09-20
1004Australia2026-09-02
1005Japan2026-09-04
1006Argentina2026-09-21
1007Japan2026-09-13
1008United Kingdom2026-09-02
1009Japan2026-09-27
1010Spain2026-09-25
1011Canada2026-09-11
1012Italy2026-09-26
1013Germany2026-09-04
1014France2026-08-31
1015Canada2026-09-06
1016France2026-09-08
1017Japan2026-08-29
1018Australia2026-08-31
1019France2026-09-09
1020Brazil2026-09-04
1021India2026-09-03
1022Australia2026-09-11
1023Italy2026-09-26
1024Italy2026-09-07
1025Argentina2026-08-31
1026Brazil2026-08-30
1027Germany2026-09-07
1028Italy2026-09-07
1029Australia2026-09-06
1030Brazil2026-09-01
1031Canada2026-09-22
1032Brazil2026-09-11
1033Spain2026-09-18
1034Argentina2026-09-06
1035Japan2026-09-13
1036Argentina2026-09-22
1037Russia2026-09-10
1038Russia2026-09-09
1039Brazil2026-08-31
1040Spain2026-09-25
1041Spain2026-09-11
1042United Kingdom2026-09-24
1043Italy2026-09-12
1044Spain2026-09-13
1045Germany2026-09-19
1046Australia2026-09-23
1047Argentina2026-09-22
1048Brazil2026-09-22
1049Argentina2026-09-23

On-Demand Data

NameIdCountryDate
Nicolas N Rulapaugh1000Spain2026-09-17
Darci W Poquette1001Russia2026-09-21
Izzy Z Slusarski1002Japan2026-09-08
Deepesh W Wieser1003Argentina2026-09-13
Octavia F Slusarski1004Russia2026-09-09
Octavia T Darakjy1005Australia2026-09-01
Julie E Gillian1006Russia2026-09-04
Maisha K Bolognia1007France2026-09-01
Claire H Iturbide1008India2026-09-25
Ivar R Iturbide1009Germany2026-09-08
Izzy U Chui1010Australia2026-09-21
Rodrigues C Gaucho1011France2026-09-02
Wickens U Inouye1012United Kingdom2026-09-24
Chavez T Campain1013Argentina2026-09-09
Maria A Tollner1014Japan2026-09-25
Leja X Bolognia1015Russia2026-09-25
Ricardo Y Stockham1016Argentina2026-09-13
Kaitlin H Gillian1017Canada2026-09-09
Maria G Saylors1018Japan2026-08-31
Wickens C Chui1019United Kingdom2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez H MacleadItalyOnyama Limba NEW
Octavia P FollerBrazilAsiya Javayant PROPOSAL
Antonio Q BriddickAustraliaXuxue Feng QUALIFIED
Maria V TollnerGermanyElwin Sharvill NEW
Kadeem X FollerSpainOnyama Limba QUALIFIED
Tony I IturbideAustraliaStephen Shaw NEGOTIATION
Aruna I AlbaresIndiaAnna Fali QUALIFIED
Salvatore C CaudySpainIvan Magalhaes UNQUALIFIED
Claire E WhobreyFranceAmy Elsner NEGOTIATION
Rodrigues D CampainRussiaElwin Sharvill QUALIFIED
Clifford X GillianAustraliaAmy Elsner NEW
Aruna K DarakjyFranceAmy Elsner NEW
Deepesh B PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Aruna J RoysterFranceAnna Fali NEW
Misaki J InouyeGermanyAsiya Javayant NEGOTIATION
Francesco C WaycottRussiaAmy Elsner PROPOSAL
James M CaudyArgentinaElwin Sharvill PROPOSAL
Cody H WaycottItalyOnyama Limba PROPOSAL
Salvatore R WhobreyJapanIvan Magalhaes NEW
Darci J OstroskyCanadaXuxue Feng RENEWAL
Leja D BowleyCanadaStephen Shaw NEW
Emily W SchemmerSpainAnna Fali UNQUALIFIED
Darci P RoysterAustraliaElwin Sharvill UNQUALIFIED
Chavez V AmigonGermanyOnyama Limba QUALIFIED
Maisha V OstroskyAustraliaOnyama Limba PROPOSAL
Maria A PerinUnited KingdomAsiya Javayant UNQUALIFIED
Izzy N DoeFranceStephen Shaw UNQUALIFIED
Salvatore Y BowleyGermanyStephen Shaw UNQUALIFIED
Mayumi K FigeroaRussiaAmy Elsner RENEWAL
Munro V KuskoCanadaXuxue Feng NEW
Adams J DarakjyIndiaAsiya Javayant UNQUALIFIED
Cody C PaprockiBrazilAmy Elsner PROPOSAL
David Q MacleadRussiaAnna Fali NEGOTIATION
Salvatore Z FigeroaCanadaAmy Elsner NEW
Julie J NestleFranceXuxue Feng RENEWAL
Stacey W VenereSpainAmy Elsner UNQUALIFIED
Deepesh T WaycottArgentinaXuxue Feng RENEWAL
Jones C OldroydIndiaBernardo Dominic UNQUALIFIED
Aruna I GarufiRussiaAsiya Javayant UNQUALIFIED
Maria V RimArgentinaAsiya Javayant NEGOTIATION

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