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
Kaitlin L WieserAustraliaIoni Bowcher PROPOSAL
Mujtaba H CaldareraBrazilElwin Sharvill NEGOTIATION
Morrow Y MaletGermanyBernardo Dominic NEW
David K CaldareraIndiaStephen Shaw RENEWAL
Nicolas O CampainUnited KingdomXuxue Feng RENEWAL
Darci Q RulapaughItalyIvan Magalhaes PROPOSAL
Cody E WaycottSpainOnyama Limba QUALIFIED
Murillo Y OstroskySpainAmy Elsner RENEWAL
Salvatore H CaldareraFranceIoni Bowcher RENEWAL
Izzy Y DarakjyIndiaElwin Sharvill QUALIFIED
Stacey V StensethRussiaIvan Magalhaes UNQUALIFIED
Ricardo B SlusarskiSpainAnna Fali UNQUALIFIED
Aika S FigeroaItalyAmy Elsner NEGOTIATION
Ricardo G ButtCanadaXuxue Feng NEGOTIATION
Wickens V NickaItalyXuxue Feng PROPOSAL
Aruna T GillianItalyAsiya Javayant PROPOSAL
Johnson V KuskoArgentinaOnyama Limba NEGOTIATION
Chavez J InouyeItalyAsiya Javayant RENEWAL
Leja R MaletUnited KingdomXuxue Feng UNQUALIFIED
David I InouyeFranceIoni Bowcher NEGOTIATION
Alejandro P DilliardJapanBernardo Dominic RENEWAL
Munro R ShinkoGermanyIvan Magalhaes PROPOSAL
Ricardo E ChuiIndiaAnna Fali NEW
Jennifer R GauchoSpainStephen Shaw RENEWAL
James A RimJapanBernardo Dominic NEGOTIATION
Clifford T DilliardBrazilIoni Bowcher PROPOSAL
Claire U CampainRussiaOnyama Limba PROPOSAL
Nicolas S WhobreyUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas K MacleadArgentinaBernardo Dominic UNQUALIFIED
Antonio V CampainCanadaAmy Elsner RENEWAL
Maisha F PoquetteItalyIvan Magalhaes NEGOTIATION
Arvin Y GarufiFranceAsiya Javayant QUALIFIED
Juan K WieserUnited KingdomStephen Shaw NEW
Jeanfrancois V RulapaughJapanStephen Shaw NEGOTIATION
Wickens H RimGermanyStephen Shaw QUALIFIED
Johnson G WhobreyJapanStephen Shaw PROPOSAL
Morrow X OstroskyRussiaStephen Shaw RENEWAL
Johnson L MaletItalyAmy Elsner PROPOSAL
Kaitlin V RoysterJapanBernardo Dominic RENEWAL
Claire G WieserJapanAnna Fali UNQUALIFIED
Costa B FerenczArgentinaAnna Fali UNQUALIFIED
Deepesh J CaldareraItalyElwin Sharvill NEW
Chavez K GillianSpainIoni Bowcher RENEWAL
Arvin B KolmetzRussiaAsiya Javayant RENEWAL
Nicolas F GarufiItalyAnna Fali QUALIFIED
Costa Y FollerRussiaAmy Elsner QUALIFIED
Francesco H KolmetzUnited KingdomXuxue Feng PROPOSAL
Greenwood M MacleadBrazilAmy Elsner UNQUALIFIED
Jefferson B InouyeFranceIvan Magalhaes NEGOTIATION
Aika H FollerSpainAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio E DoeItalyAmy Elsner RENEWAL
Costa N AlbaresCanadaIoni Bowcher UNQUALIFIED
Adams U MacleadCanadaOnyama Limba RENEWAL
Octavia H BriddickGermanyAnna Fali NEW
Julie H SergiRussiaAsiya Javayant NEW
Ricardo A AlbaresCanadaElwin Sharvill UNQUALIFIED
Arvin C WaycottSpainIoni Bowcher QUALIFIED
Faith L CaudyItalyAnna Fali UNQUALIFIED
Faith M FigeroaIndiaOnyama Limba NEGOTIATION
Aika P OldroydJapanAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas K OldroydRussia2026-09-20Morlong Associates RENEWAL4Stephen Shaw
1001Mujtaba G BriddickRussia2026-09-20Rousseaux, Michael Esq NEGOTIATION66Bernardo Dominic
1002Salvatore I MaletFrance2026-09-13Chemel, James L Cpa RENEWAL48Stephen Shaw
1003Munro S AlbaresJapan2026-09-30Benton, John B Jr UNQUALIFIED82Elwin Sharvill
1004Chavez C KolmetzFrance2026-10-11Rousseaux, Michael Esq PROPOSAL16Anna Fali
1005Kadeem H StensethArgentina2026-09-24Feltz Printing Service UNQUALIFIED31Anna Fali
1006Sinclair R MarrierJapan2026-10-05Truhlar And Truhlar Attys NEGOTIATION10Ioni Bowcher
1007Greenwood P OstroskyFrance2026-09-24Feltz Printing Service NEW51Elwin Sharvill
1008Aika P CaldareraJapan2026-10-11Benton, John B Jr QUALIFIED19Ioni Bowcher
1009Juan A PoquetteIndia2026-09-19Chapman, Ross E Esq QUALIFIED86Onyama Limba
1010Morrow Q WaycottGermany2026-09-13King, Christopher A Esq QUALIFIED27Bernardo Dominic
1011Cody F SlusarskiGermany2026-09-21Morlong Associates RENEWAL54Elwin Sharvill
1012Smith J BologniaItaly2026-10-09Morlong Associates NEW42Elwin Sharvill
1013Ricardo I TollnerAustralia2026-09-16Feltz Printing Service UNQUALIFIED74Elwin Sharvill
1014Francesco Y OldroydJapan2026-09-14Truhlar And Truhlar Attys RENEWAL75Asiya Javayant
1015Isabel N PoquetteAustralia2026-10-10Commercial Press NEGOTIATION41Onyama Limba
1016Greenwood S DarakjyRussia2026-10-08Feltz Printing Service RENEWAL56Amy Elsner
1017Deepesh E WhobreyRussia2026-10-10Benton, John B Jr PROPOSAL37Xuxue Feng
1018Jeanfrancois T MarrierSpain2026-09-22Chapman, Ross E Esq NEW45Elwin Sharvill
1019Ashley I GauchoCanada2026-09-30King, Christopher A Esq PROPOSAL40Ivan Magalhaes
1020Chavez L SergiRussia2026-09-19Printing Dimensions RENEWAL58Elwin Sharvill
1021Smith Q CaldareraUnited Kingdom2026-09-24Buckley Miller Wright NEW54Ivan Magalhaes
1022Kaitlin Q DarakjyArgentina2026-09-20Truhlar And Truhlar Attys NEGOTIATION68Elwin Sharvill
1023Aika F BowleyRussia2026-10-06Chanay, Jeffrey A Esq PROPOSAL22Elwin Sharvill
1024Jefferson S DilliardCanada2026-09-26King, Christopher A Esq NEGOTIATION74Bernardo Dominic
1025Johnson Y AlbaresRussia2026-09-21Printing Dimensions RENEWAL39Amy Elsner
1026Jefferson B VocelkaSpain2026-09-17Buckley Miller Wright NEGOTIATION58Anna Fali
1027Clifford Q PerinItaly2026-09-27Dorl, James J Esq PROPOSAL41Elwin Sharvill
1028Ivar V MorascaJapan2026-09-28Chanay, Jeffrey A Esq PROPOSAL2Ioni Bowcher
1029Aditya D AlbaresJapan2026-09-24Morlong Associates UNQUALIFIED68Stephen Shaw
1030Aditya K WieserIndia2026-09-12Rousseaux, Michael Esq QUALIFIED66Bernardo Dominic
1031Mujtaba O RulapaughRussia2026-10-04Printing Dimensions PROPOSAL63Elwin Sharvill
1032Emily A AlbaresGermany2026-09-17Commercial Press NEGOTIATION58Stephen Shaw
1033Ivar F MacleadCanada2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED36Elwin Sharvill
1034Claire P ShinkoAustralia2026-10-02Truhlar And Truhlar Attys QUALIFIED71Bernardo Dominic
1035Juan C RoysterCanada2026-09-28Rousseaux, Michael Esq RENEWAL27Ioni Bowcher
1036Deepesh K SchemmerFrance2026-09-23Feiner Bros NEW79Stephen Shaw
1037Salvatore H AmigonUnited Kingdom2026-09-21Commercial Press NEGOTIATION95Xuxue Feng
1038Emily M RulapaughFrance2026-09-20Feiner Bros PROPOSAL67Onyama Limba
1039Salvatore Q SergiFrance2026-10-09Dorl, James J Esq QUALIFIED22Ivan Magalhaes
1040Misaki Z WhobreyIndia2026-09-12King, Christopher A Esq NEGOTIATION91Xuxue Feng
1041Jones D RulapaughJapan2026-09-30King, Christopher A Esq UNQUALIFIED13Xuxue Feng
1042Mayumi A FigeroaUnited Kingdom2026-10-10Rangoni Of Florence NEGOTIATION57Ioni Bowcher
1043Leja Q OldroydArgentina2026-10-06Commercial Press UNQUALIFIED23Bernardo Dominic
1044Leon F OldroydArgentina2026-09-15Truhlar And Truhlar Attys PROPOSAL65Xuxue Feng
1045Isabel B OstroskyArgentina2026-09-20Rousseaux, Michael Esq PROPOSAL56Stephen Shaw
1046Nicolas K SlusarskiItaly2026-10-02Chapman, Ross E Esq QUALIFIED47Xuxue Feng
1047Deepesh Z AlbaresArgentina2026-09-15Rangoni Of Florence NEGOTIATION10Stephen Shaw
1048Wickens F MarrierIndia2026-10-03Dorl, James J Esq NEGOTIATION0Amy Elsner
1049Deepesh I WieserBrazil2026-10-07Rousseaux, Michael Esq RENEWAL22Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Faith C GlickArgentinaAsiya Javayant NEW
Mujtaba A OstroskyGermanyAsiya Javayant NEW
Cody N DilliardArgentinaBernardo Dominic PROPOSAL
Nicolas D CaldareraCanadaElwin Sharvill QUALIFIED
Jeanfrancois F KolmetzCanadaIoni Bowcher QUALIFIED
Ivar O GarufiJapanIoni Bowcher NEW
Darci T CampainSpainXuxue Feng QUALIFIED
Smith P DilliardJapanOnyama Limba PROPOSAL
Aditya F GlickFranceBernardo Dominic RENEWAL
Nicolas M InouyeIndiaElwin Sharvill NEGOTIATION
Juan Y WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Octavia W DarakjyFranceBernardo Dominic NEGOTIATION
James V RoysterArgentinaBernardo Dominic QUALIFIED
Izzy E KolmetzAustraliaIvan Magalhaes QUALIFIED
Wickens G GauchoItalyElwin Sharvill PROPOSAL
Alejandro O FollerJapanXuxue Feng QUALIFIED
Ivar N AlbaresAustraliaElwin Sharvill QUALIFIED
Alejandro U IturbideBrazilBernardo Dominic NEGOTIATION
Munro Y OstroskyItalyAmy Elsner NEW
Clifford S RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Ashley E PaprockiFranceOnyama Limba QUALIFIED
Maria K WhobreyUnited KingdomAmy Elsner UNQUALIFIED
Chavez C PoquetteIndiaBernardo Dominic NEGOTIATION
Costa Q AmigonAustraliaElwin Sharvill UNQUALIFIED
Leja U PoquetteJapanIvan Magalhaes UNQUALIFIED
Maisha U RoysterIndiaAnna Fali NEW
Julie Y OstroskyBrazilAsiya Javayant RENEWAL
Costa U FigeroaSpainIvan Magalhaes RENEWAL
Claire C StensethGermanyElwin Sharvill UNQUALIFIED
Stacey P MarrierItalyAmy Elsner QUALIFIED
Faith V CaudyUnited KingdomAsiya Javayant RENEWAL
Francesco U PoquetteArgentinaIoni Bowcher QUALIFIED
David R MaletSpainBernardo Dominic PROPOSAL
Morrow O StockhamCanadaStephen Shaw PROPOSAL
Izzy X GlickSpainIoni Bowcher RENEWAL
Mujtaba Y StockhamJapanAsiya Javayant PROPOSAL
Kadeem L AmigonRussiaOnyama Limba NEW
Jeanfrancois P MorascaSpainBernardo Dominic UNQUALIFIED
Adams G ShinkoSpainAmy Elsner NEGOTIATION
Izzy Z RoysterUnited KingdomAsiya Javayant NEW
Jones E RimArgentinaIvan Magalhaes QUALIFIED
Kaitlin J TollnerIndiaIvan Magalhaes QUALIFIED
Morrow W AlbaresFranceStephen Shaw UNQUALIFIED
Leja X KuskoAustraliaAnna Fali PROPOSAL
Misaki T AmigonBrazilIvan Magalhaes QUALIFIED
Misaki P FigeroaRussiaOnyama Limba UNQUALIFIED
Jefferson T GauchoUnited KingdomIvan Magalhaes QUALIFIED
Cody J FigeroaRussiaIoni Bowcher QUALIFIED
Izzy H BowleyGermanyElwin Sharvill NEW
Smith O RimRussiaElwin Sharvill RENEWAL
Frozen Columns
Name
Julie H Paprocki
Maria B Rulapaugh
Sinclair G Ferencz
Ivar R Saylors
Julie M Garufi
Jefferson R Ruta
Kadeem L Malet
Julie S Stockham
Jennifer U Malet
Faith Z Rim
Faith L Bowley
Kaitlin M Slusarski
Jefferson X Whobrey
Clifford V Foller
Misaki I Stockham
Kadeem Y Briddick
Kadeem R Wieser
Ashley C Nicka
Clifford H Malet
Francesco C Sergi
Jennifer Y Figeroa
Aditya P Morasca
Greenwood A Garufi
James Q Kusko
Sinclair G Ferencz
Cody T Bowley
Jones B Ostrosky
David I Poquette
James H Schemmer
Mayumi A Sergi
Aika S Schemmer
Antonio G Stenseth
Alejandro E Nestle
Chavez P Stockham
Izzy T Chui
Julie O Chui
Kadeem S Venere
Jeanfrancois A Bowley
Jennifer S Malet
David S Foller
Antonio O Inouye
Murillo W Foller
Misaki H Caudy
Wickens P Tollner
Adams H Inouye
Emily W Morasca
Ashley Q Caldarera
Isabel K Maclead
Alejandro W Ferencz
Smith V Marrier
IdCountryDate
1000Germany2026-09-28
1001India2026-09-29
1002Italy2026-09-30
1003India2026-09-16
1004Australia2026-09-29
1005India2026-10-07
1006Canada2026-10-09
1007Italy2026-09-19
1008United Kingdom2026-09-20
1009Australia2026-09-17
1010Australia2026-09-22
1011Canada2026-09-21
1012France2026-10-01
1013Brazil2026-09-15
1014Brazil2026-09-19
1015Italy2026-09-19
1016Germany2026-10-03
1017Japan2026-09-27
1018Argentina2026-09-21
1019France2026-10-11
1020Germany2026-09-19
1021Canada2026-09-14
1022Canada2026-10-09
1023Russia2026-10-05
1024Brazil2026-09-19
1025Germany2026-09-15
1026Italy2026-09-30
1027Argentina2026-10-07
1028Canada2026-09-21
1029Spain2026-09-18
1030Brazil2026-10-05
1031Australia2026-10-03
1032Australia2026-10-01
1033Argentina2026-10-07
1034United Kingdom2026-10-08
1035France2026-09-26
1036Italy2026-09-21
1037Canada2026-09-30
1038Canada2026-10-08
1039Australia2026-10-10
1040Russia2026-09-23
1041Australia2026-09-29
1042India2026-09-29
1043France2026-10-01
1044Canada2026-10-04
1045Argentina2026-09-17
1046Argentina2026-09-20
1047United Kingdom2026-10-01
1048Russia2026-10-08
1049India2026-09-15

On-Demand Data

NameIdCountryDate
Jennifer I Glick1000Italy2026-09-18
Silvio B Garufi1001Spain2026-10-02
Ricardo H Vocelka1002India2026-09-19
Ricardo K Oldroyd1003United Kingdom2026-10-01
Stacey Y Slusarski1004Australia2026-09-24
Sinclair B Sergi1005Spain2026-09-27
Cody L Shinko1006Canada2026-10-08
Aditya U Oldroyd1007France2026-09-19
James D Bolognia1008Spain2026-09-20
Darci J Caldarera1009France2026-09-26
Maria U Bowley1010Brazil2026-10-11
Smith N Kusko1011Canada2026-10-03
Cody O Nicka1012United Kingdom2026-09-27
Tony J Rim1013Canada2026-09-23
Aruna C Doe1014Canada2026-09-12
Aika Z Albares1015Canada2026-09-12
Antonio S Glick1016United Kingdom2026-10-10
Johnson N Waycott1017India2026-10-06
Jennifer D Glick1018Brazil2026-09-12
Costa D Sergi1019Brazil2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson W AmigonUnited KingdomOnyama Limba PROPOSAL
Misaki P TollnerArgentinaBernardo Dominic NEW
Francesco D MaletJapanAnna Fali RENEWAL
Octavia R TollnerBrazilElwin Sharvill UNQUALIFIED
Wickens A MorascaUnited KingdomOnyama Limba QUALIFIED
Jeanfrancois P OldroydBrazilAnna Fali QUALIFIED
Kadeem J CaldareraRussiaXuxue Feng PROPOSAL
Aruna F MarrierUnited KingdomStephen Shaw NEW
Tony Y MaletFranceBernardo Dominic UNQUALIFIED
Aditya D DarakjyRussiaElwin Sharvill RENEWAL
Chavez J CaudySpainAnna Fali UNQUALIFIED
Sinclair U PoquetteAustraliaAnna Fali NEW
Mujtaba A TollnerSpainOnyama Limba RENEWAL
Izzy X IturbideSpainIvan Magalhaes QUALIFIED
Costa A PaprockiRussiaAnna Fali NEGOTIATION
Salvatore T MaletUnited KingdomStephen Shaw RENEWAL
David J InouyeCanadaXuxue Feng PROPOSAL
Mujtaba D IturbideUnited KingdomBernardo Dominic RENEWAL
Aika P GlickGermanyBernardo Dominic PROPOSAL
Munro J GlickAustraliaAnna Fali QUALIFIED
Emily F GillianAustraliaIoni Bowcher QUALIFIED
Jennifer T VocelkaSpainXuxue Feng NEW
Munro S AlbaresJapanIvan Magalhaes NEGOTIATION
Rodrigues Z WaycottUnited KingdomIoni Bowcher RENEWAL
Adams B BowleyFranceBernardo Dominic NEW
Maisha Z InouyeItalyElwin Sharvill NEGOTIATION
Tony O RulapaughBrazilXuxue Feng NEGOTIATION
Antonio P DilliardArgentinaOnyama Limba UNQUALIFIED
Aruna R ShinkoRussiaAmy Elsner RENEWAL
Jones I VocelkaItalyStephen Shaw RENEWAL
Alejandro W MorascaSpainXuxue Feng RENEWAL
Aika Z CaldareraBrazilAsiya Javayant PROPOSAL
Wickens U PaprockiJapanXuxue Feng NEGOTIATION
Ashley P CaldareraAustraliaXuxue Feng NEW
Jennifer N IturbideCanadaOnyama Limba QUALIFIED
Maisha Q AlbaresBrazilOnyama Limba PROPOSAL
Maria I PerinGermanyStephen Shaw NEGOTIATION
Adams W StockhamFranceIvan Magalhaes PROPOSAL
Costa A BologniaJapanStephen Shaw PROPOSAL
Murillo R BriddickBrazilAmy Elsner RENEWAL

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