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
David T RimAustraliaOnyama Limba PROPOSAL
Jeanfrancois U FerenczIndiaAmy Elsner PROPOSAL
Leon E ShinkoItalyXuxue Feng PROPOSAL
Maisha H NickaGermanyAsiya Javayant NEGOTIATION
Tony S FigeroaArgentinaOnyama Limba NEGOTIATION
Tony E NickaAustraliaStephen Shaw QUALIFIED
Antonio F BriddickItalyAnna Fali NEW
Stacey C RoysterCanadaStephen Shaw PROPOSAL
David N ButtCanadaIoni Bowcher QUALIFIED
Ricardo D StockhamRussiaIvan Magalhaes UNQUALIFIED
Jones D RutaArgentinaXuxue Feng UNQUALIFIED
Claire E CaldareraGermanyIoni Bowcher NEGOTIATION
Ivar W NestleFranceStephen Shaw RENEWAL
Izzy R StockhamJapanIvan Magalhaes RENEWAL
Misaki S MaletRussiaAmy Elsner RENEWAL
Tony X WaycottAustraliaAnna Fali QUALIFIED
Octavia Y ShinkoBrazilXuxue Feng QUALIFIED
Murillo G SchemmerRussiaIoni Bowcher QUALIFIED
Clifford Y DoeGermanyAnna Fali PROPOSAL
Faith S BriddickCanadaElwin Sharvill NEGOTIATION
David L VocelkaCanadaAsiya Javayant UNQUALIFIED
Leon G ChuiSpainBernardo Dominic UNQUALIFIED
Claire E CaudyFranceStephen Shaw PROPOSAL
Smith J MaletJapanBernardo Dominic NEGOTIATION
Clifford F CaldareraAustraliaOnyama Limba UNQUALIFIED
Adams L BowleyCanadaElwin Sharvill UNQUALIFIED
Salvatore S CaudyUnited KingdomBernardo Dominic QUALIFIED
Isabel C RimGermanyIoni Bowcher UNQUALIFIED
David L StensethSpainOnyama Limba QUALIFIED
Wickens X RulapaughJapanStephen Shaw QUALIFIED
Munro H StockhamArgentinaBernardo Dominic NEGOTIATION
Aika N GauchoFranceAsiya Javayant UNQUALIFIED
Nicolas U NestleGermanyAmy Elsner NEGOTIATION
Kadeem N TollnerUnited KingdomElwin Sharvill NEW
Aditya O MaletAustraliaElwin Sharvill RENEWAL
Tony K ButtBrazilAnna Fali QUALIFIED
Maria L BowleyGermanyAnna Fali NEGOTIATION
Kadeem W OldroydGermanyIvan Magalhaes UNQUALIFIED
Wickens H OldroydSpainIvan Magalhaes PROPOSAL
James Y AmigonIndiaAsiya Javayant RENEWAL
Smith U AlbaresUnited KingdomAsiya Javayant UNQUALIFIED
Cody T WieserFranceOnyama Limba NEGOTIATION
David I MorascaGermanyXuxue Feng NEW
Silvio K GarufiIndiaBernardo Dominic NEGOTIATION
Ivar X CaudyItalyOnyama Limba QUALIFIED
Julie X FerenczSpainAsiya Javayant PROPOSAL
Adams C CaudySpainAnna Fali QUALIFIED
Smith D MaletSpainElwin Sharvill NEW
Clifford J FollerGermanyAnna Fali RENEWAL
Munro A SergiUnited KingdomIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones O DoeGermanyBernardo Dominic NEW
Alejandro M ButtCanadaAmy Elsner QUALIFIED
Aruna K SergiIndiaIvan Magalhaes UNQUALIFIED
Smith G StensethAustraliaAnna Fali QUALIFIED
Johnson W GlickBrazilElwin Sharvill UNQUALIFIED
Salvatore G MacleadSpainIoni Bowcher QUALIFIED
Aruna D GillianArgentinaAnna Fali NEW
Antonio K MaletFranceElwin Sharvill QUALIFIED
Aika Y OldroydFranceAsiya Javayant NEGOTIATION
Cody B FerenczCanadaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha I ChuiSpain2026-10-10Feiner Bros NEW12Stephen Shaw
1001Ricardo W MorascaUnited Kingdom2026-10-23Rousseaux, Michael Esq NEGOTIATION85Xuxue Feng
1002Antonio D ChuiGermany2026-10-22Rousseaux, Michael Esq QUALIFIED73Ioni Bowcher
1003Cody K RimRussia2026-10-19Commercial Press QUALIFIED65Anna Fali
1004Wickens B WieserRussia2026-11-06Truhlar And Truhlar Attys PROPOSAL3Ioni Bowcher
1005Kaitlin Z BowleyArgentina2026-11-05Benton, John B Jr QUALIFIED29Ivan Magalhaes
1006Stacey G FollerGermany2026-11-04Feltz Printing Service QUALIFIED97Bernardo Dominic
1007Jones X GillianAustralia2026-10-25Truhlar And Truhlar Attys PROPOSAL23Onyama Limba
1008Darci F WieserRussia2026-10-26Benton, John B Jr NEW55Onyama Limba
1009Munro W KuskoIndia2026-10-19Chemel, James L Cpa UNQUALIFIED97Ioni Bowcher
1010Alejandro X VocelkaIndia2026-10-22Rousseaux, Michael Esq UNQUALIFIED88Stephen Shaw
1011Tony A WaycottIndia2026-10-10Buckley Miller Wright NEGOTIATION63Stephen Shaw
1012Isabel A MacleadArgentina2026-10-24Buckley Miller Wright UNQUALIFIED32Ivan Magalhaes
1013Chavez R AmigonFrance2026-11-05Truhlar And Truhlar Attys UNQUALIFIED13Amy Elsner
1014Julie G SaylorsRussia2026-10-08Chapman, Ross E Esq NEGOTIATION98Elwin Sharvill
1015Nicolas H CaldareraUnited Kingdom2026-11-05Morlong Associates UNQUALIFIED11Onyama Limba
1016Deepesh Y InouyeArgentina2026-10-09Rousseaux, Michael Esq RENEWAL48Amy Elsner
1017Stacey D AmigonGermany2026-10-27Chemel, James L Cpa PROPOSAL0Stephen Shaw
1018Rodrigues G GlickSpain2026-10-18Rousseaux, Michael Esq RENEWAL49Amy Elsner
1019Nicolas D WieserFrance2026-10-28King, Christopher A Esq RENEWAL95Bernardo Dominic
1020Aditya A MaletCanada2026-10-22Feltz Printing Service UNQUALIFIED71Onyama Limba
1021Julie I WaycottUnited Kingdom2026-10-21Rangoni Of Florence PROPOSAL49Stephen Shaw
1022Greenwood D SlusarskiIndia2026-10-22Rangoni Of Florence QUALIFIED48Anna Fali
1023Maisha K MarrierJapan2026-10-26Benton, John B Jr RENEWAL20Elwin Sharvill
1024Faith O GarufiGermany2026-10-26Feiner Bros PROPOSAL55Xuxue Feng
1025Johnson E VenereArgentina2026-10-08Chapman, Ross E Esq NEW6Bernardo Dominic
1026Ashley R BriddickJapan2026-10-20Benton, John B Jr NEGOTIATION8Bernardo Dominic
1027Juan A DarakjyAustralia2026-11-05Buckley Miller Wright RENEWAL3Stephen Shaw
1028Claire Q SaylorsGermany2026-10-19Chapman, Ross E Esq NEW29Stephen Shaw
1029Izzy L BologniaRussia2026-10-27Morlong Associates UNQUALIFIED71Xuxue Feng
1030Julie P BriddickItaly2026-10-28King, Christopher A Esq NEGOTIATION4Bernardo Dominic
1031Misaki Q GlickArgentina2026-10-18Truhlar And Truhlar Attys NEW57Amy Elsner
1032Jennifer Q BologniaRussia2026-10-08Chemel, James L Cpa NEGOTIATION5Anna Fali
1033Ricardo Y KuskoBrazil2026-10-10Commercial Press RENEWAL90Ivan Magalhaes
1034Clifford M PerinGermany2026-10-23Truhlar And Truhlar Attys UNQUALIFIED79Ivan Magalhaes
1035Deepesh S SlusarskiBrazil2026-11-05Morlong Associates QUALIFIED86Ivan Magalhaes
1036Aditya D VenereJapan2026-10-29Benton, John B Jr NEW40Ivan Magalhaes
1037Misaki I AlbaresItaly2026-10-21Morlong Associates NEGOTIATION0Onyama Limba
1038Ashley B DilliardIndia2026-10-30Printing Dimensions NEGOTIATION25Elwin Sharvill
1039Jeanfrancois P ButtBrazil2026-10-23Printing Dimensions QUALIFIED21Elwin Sharvill
1040Chavez N MarrierFrance2026-10-14Morlong Associates PROPOSAL87Bernardo Dominic
1041Ricardo J GlickCanada2026-10-24Benton, John B Jr UNQUALIFIED15Ivan Magalhaes
1042Stacey C ChuiFrance2026-10-18Rousseaux, Michael Esq RENEWAL92Xuxue Feng
1043Leja C StockhamGermany2026-10-22Commercial Press NEGOTIATION42Stephen Shaw
1044Kadeem S SaylorsJapan2026-10-15King, Christopher A Esq PROPOSAL59Xuxue Feng
1045Faith J MorascaGermany2026-10-21Feiner Bros QUALIFIED34Anna Fali
1046Clifford C CaudyIndia2026-11-01Commercial Press QUALIFIED97Anna Fali
1047Isabel V BologniaAustralia2026-10-23Benton, John B Jr NEGOTIATION55Stephen Shaw
1048Darci J CaudyAustralia2026-11-02Chapman, Ross E Esq QUALIFIED59Xuxue Feng
1049Izzy X MarrierItaly2026-10-12Benton, John B Jr NEGOTIATION73Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Tony D IturbideFranceAsiya Javayant QUALIFIED
Jeanfrancois J FollerArgentinaOnyama Limba PROPOSAL
Aditya M NestleItalyAmy Elsner NEW
Cody T WieserSpainAsiya Javayant RENEWAL
Francesco B CaldareraSpainAsiya Javayant NEW
Murillo J RoysterIndiaXuxue Feng QUALIFIED
Izzy P GauchoFranceIvan Magalhaes UNQUALIFIED
Morrow A GauchoArgentinaAsiya Javayant QUALIFIED
Munro Z GauchoCanadaElwin Sharvill NEGOTIATION
Francesco X GillianUnited KingdomElwin Sharvill QUALIFIED
David V BologniaSpainIoni Bowcher UNQUALIFIED
Jones N KolmetzAustraliaAnna Fali PROPOSAL
Mayumi N RimFranceIoni Bowcher NEW
Kadeem Q VenereAustraliaAmy Elsner NEGOTIATION
Jefferson M ChuiIndiaStephen Shaw QUALIFIED
Faith K MorascaItalyOnyama Limba QUALIFIED
Wickens L PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Maisha B BriddickUnited KingdomIoni Bowcher NEW
Cody U MaletJapanAsiya Javayant PROPOSAL
Mujtaba V RutaBrazilOnyama Limba PROPOSAL
Leja Q ButtRussiaAnna Fali NEW
Mujtaba R FlosiItalyAsiya Javayant PROPOSAL
Ivar L FerenczAustraliaStephen Shaw RENEWAL
Clifford Q VocelkaIndiaOnyama Limba NEGOTIATION
Ivar B SchemmerAustraliaElwin Sharvill PROPOSAL
Maria B RoysterRussiaAnna Fali PROPOSAL
James D CaldareraItalyOnyama Limba QUALIFIED
Isabel U BologniaCanadaAmy Elsner NEGOTIATION
Munro M RimArgentinaAsiya Javayant RENEWAL
Stacey M SaylorsIndiaAsiya Javayant QUALIFIED
Smith N GillianBrazilOnyama Limba NEW
Arvin C GarufiSpainAnna Fali QUALIFIED
Jones S DilliardUnited KingdomAsiya Javayant UNQUALIFIED
Cody J KuskoAustraliaBernardo Dominic UNQUALIFIED
Silvio K BriddickItalyXuxue Feng QUALIFIED
Tony P DilliardItalyOnyama Limba RENEWAL
Sinclair P MorascaSpainBernardo Dominic NEGOTIATION
Deepesh T PerinFranceAnna Fali PROPOSAL
Sinclair H MaletAustraliaXuxue Feng NEW
Jennifer W WieserBrazilAsiya Javayant PROPOSAL
Stacey U GarufiItalyAmy Elsner NEGOTIATION
Mujtaba A MarrierUnited KingdomAmy Elsner NEW
Aruna Z SaylorsBrazilStephen Shaw NEGOTIATION
Isabel M GauchoAustraliaBernardo Dominic PROPOSAL
Clifford I MaletItalyStephen Shaw PROPOSAL
Sinclair F PaprockiUnited KingdomOnyama Limba NEGOTIATION
James N OldroydGermanyIoni Bowcher NEW
Sinclair Z SergiRussiaAnna Fali QUALIFIED
Maisha G RulapaughSpainElwin Sharvill NEW
Rodrigues S SaylorsGermanyElwin Sharvill RENEWAL
Frozen Columns
Name
Misaki Z Butt
Tony Q Briddick
Silvio I Waycott
Silvio V Inouye
Jefferson B Malet
James V Stenseth
Greenwood S Butt
Maria G Figeroa
Claire F Albares
Octavia M Albares
Juan W Shinko
Deepesh L Venere
Cody U Ferencz
Jones X Marrier
Morrow Q Vocelka
Ricardo G Doe
Juan D Marrier
Johnson C Amigon
Maria Q Maclead
Chavez P Darakjy
Wickens P Foller
Rodrigues Q Caldarera
Morrow B Marrier
Claire J Dilliard
Jennifer X Figeroa
Jeanfrancois Q Chui
Adams G Flosi
Maisha Q Poquette
James I Briddick
David F Campain
Kaitlin R Foller
Aditya B Gillian
James T Doe
Clifford J Shinko
Mayumi P Rulapaugh
Cody B Butt
Juan X Flosi
Stacey B Garufi
Morrow B Slusarski
Faith A Foller
Aditya Y Maclead
Misaki W Venere
Ivar H Saylors
Wickens S Shinko
Julie U Ferencz
Antonio P Malet
Deepesh M Iturbide
Cody T Foller
Jennifer S Ruta
Chavez D Nestle
IdCountryDate
1000United Kingdom2026-10-24
1001France2026-10-24
1002France2026-10-22
1003Canada2026-11-01
1004India2026-10-31
1005Spain2026-10-08
1006Italy2026-11-01
1007Australia2026-10-19
1008Canada2026-10-28
1009Australia2026-10-09
1010Japan2026-10-18
1011France2026-11-05
1012Russia2026-10-09
1013Brazil2026-10-29
1014Germany2026-10-26
1015Japan2026-10-26
1016India2026-10-09
1017Germany2026-10-09
1018France2026-10-26
1019Russia2026-10-16
1020Russia2026-10-23
1021Japan2026-10-23
1022Russia2026-10-23
1023Spain2026-10-12
1024Argentina2026-10-27
1025Germany2026-11-01
1026Italy2026-11-01
1027Australia2026-10-24
1028Japan2026-10-25
1029Germany2026-10-19
1030United Kingdom2026-10-23
1031Germany2026-10-25
1032Spain2026-11-06
1033Canada2026-10-24
1034Argentina2026-10-18
1035Spain2026-10-22
1036Brazil2026-10-08
1037Germany2026-10-15
1038Spain2026-10-28
1039India2026-10-30
1040United Kingdom2026-11-06
1041Spain2026-11-05
1042France2026-10-22
1043France2026-10-22
1044Argentina2026-10-25
1045Russia2026-11-02
1046Germany2026-10-29
1047Russia2026-11-02
1048India2026-10-19
1049Brazil2026-10-31

On-Demand Data

NameIdCountryDate
Jones D Slusarski1000Australia2026-10-22
Aika C Vocelka1001Japan2026-10-30
Aditya U Caldarera1002Italy2026-10-10
Morrow X Rulapaugh1003Spain2026-10-24
Nicolas O Chui1004Germany2026-10-31
Wickens I Amigon1005United Kingdom2026-10-16
Nicolas F Malet1006Japan2026-10-29
Johnson V Paprocki1007Canada2026-10-18
Ashley J Vocelka1008Russia2026-11-02
Aditya B Sergi1009Germany2026-10-27
David R Royster1010Russia2026-10-08
Aruna K Sergi1011United Kingdom2026-10-19
David T Sergi1012Australia2026-10-25
Johnson N Sergi1013India2026-10-10
Kaitlin W Chui1014Russia2026-10-18
Costa H Ostrosky1015Russia2026-10-10
Aruna Z Bolognia1016France2026-11-05
Juan X Figeroa1017Brazil2026-11-03
Misaki S Tollner1018India2026-10-12
Greenwood V Waycott1019France2026-10-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois C CaudyIndiaXuxue Feng PROPOSAL
Silvio T WaycottGermanyAmy Elsner PROPOSAL
Leon U NestleUnited KingdomAmy Elsner QUALIFIED
Aditya J MacleadBrazilBernardo Dominic UNQUALIFIED
Deepesh Z VocelkaSpainOnyama Limba QUALIFIED
Silvio D IturbideIndiaIoni Bowcher PROPOSAL
Sinclair Q BologniaCanadaBernardo Dominic UNQUALIFIED
Octavia V AmigonCanadaAsiya Javayant RENEWAL
Jeanfrancois G DarakjySpainAmy Elsner QUALIFIED
David T RulapaughItalyElwin Sharvill RENEWAL
Jeanfrancois C KolmetzJapanStephen Shaw RENEWAL
Tony Q PoquetteCanadaAsiya Javayant RENEWAL
Murillo F InouyeJapanStephen Shaw QUALIFIED
Wickens E MaletCanadaAmy Elsner UNQUALIFIED
Morrow R FlosiArgentinaOnyama Limba PROPOSAL
Maisha U PaprockiGermanyElwin Sharvill UNQUALIFIED
Alejandro C ChuiBrazilXuxue Feng QUALIFIED
Leja F SergiSpainOnyama Limba QUALIFIED
Kadeem O FollerSpainBernardo Dominic QUALIFIED
Johnson P RimIndiaElwin Sharvill UNQUALIFIED
Johnson C KolmetzIndiaOnyama Limba NEW
Nicolas I CampainUnited KingdomAsiya Javayant NEW
Leja Q VocelkaFranceOnyama Limba PROPOSAL
Arvin I RutaCanadaOnyama Limba NEGOTIATION
Mujtaba V RulapaughRussiaAnna Fali RENEWAL
Jones U CaldareraRussiaXuxue Feng RENEWAL
Aika T OldroydRussiaAnna Fali PROPOSAL
Leon Y GillianFranceAnna Fali NEGOTIATION
Costa A DoeUnited KingdomIvan Magalhaes RENEWAL
Sinclair U GarufiItalyAnna Fali UNQUALIFIED
Aditya R GarufiJapanAnna Fali PROPOSAL
Jefferson W ButtItalyElwin Sharvill NEW
Rodrigues M WhobreyFranceIvan Magalhaes QUALIFIED
Leja L WieserAustraliaIvan Magalhaes QUALIFIED
Sinclair N TollnerUnited KingdomAsiya Javayant QUALIFIED
Leja T InouyeUnited KingdomAnna Fali NEW
Jeanfrancois U FigeroaIndiaOnyama Limba UNQUALIFIED
Deepesh X VenereBrazilStephen Shaw PROPOSAL
Alejandro T IturbideIndiaAmy Elsner RENEWAL
Maisha I CaldareraRussiaBernardo Dominic 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>