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
Faith Q MarrierSpainElwin Sharvill NEGOTIATION
James F NickaRussiaStephen Shaw RENEWAL
Tony W KolmetzArgentinaAsiya Javayant NEW
Greenwood V PerinRussiaStephen Shaw UNQUALIFIED
Munro J MacleadGermanyAsiya Javayant QUALIFIED
Leja N SlusarskiArgentinaIvan Magalhaes RENEWAL
Mayumi K SaylorsCanadaXuxue Feng NEW
Tony Z FlosiSpainIoni Bowcher RENEWAL
Jennifer A WieserItalyAmy Elsner NEW
Morrow F InouyeGermanyElwin Sharvill NEW
Stacey K IturbideCanadaAnna Fali PROPOSAL
Juan D CampainJapanXuxue Feng NEGOTIATION
Adams U ButtJapanIoni Bowcher QUALIFIED
Silvio H OldroydJapanIvan Magalhaes NEGOTIATION
Kadeem E GlickArgentinaXuxue Feng RENEWAL
Cody L RulapaughCanadaAnna Fali RENEWAL
Darci E BologniaSpainOnyama Limba PROPOSAL
Francesco S GlickArgentinaAnna Fali UNQUALIFIED
Francesco L SchemmerUnited KingdomBernardo Dominic NEW
Nicolas R VenereBrazilAnna Fali UNQUALIFIED
Costa N StockhamArgentinaBernardo Dominic PROPOSAL
Stacey L StensethJapanStephen Shaw QUALIFIED
Octavia X ShinkoJapanOnyama Limba PROPOSAL
Murillo O VenereFranceOnyama Limba UNQUALIFIED
Jones J MorascaUnited KingdomBernardo Dominic NEW
Mujtaba K MarrierGermanyAnna Fali NEGOTIATION
Jennifer L InouyeItalyStephen Shaw UNQUALIFIED
Wickens I NickaJapanIoni Bowcher PROPOSAL
Adams G DoeUnited KingdomXuxue Feng RENEWAL
Isabel W NestleJapanElwin Sharvill PROPOSAL
Deepesh G PaprockiAustraliaIvan Magalhaes NEGOTIATION
Jennifer Z FlosiGermanyAsiya Javayant PROPOSAL
Aika N CampainSpainIvan Magalhaes RENEWAL
Aditya Q DarakjyCanadaAmy Elsner PROPOSAL
Darci N ShinkoIndiaAnna Fali NEW
Sinclair G PerinGermanyIvan Magalhaes RENEWAL
Aruna Y MacleadItalyAmy Elsner RENEWAL
Silvio H SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Chavez M RimRussiaOnyama Limba QUALIFIED
Clifford E FlosiIndiaOnyama Limba PROPOSAL
Jeanfrancois V VocelkaUnited KingdomAsiya Javayant PROPOSAL
Alejandro E RoysterBrazilXuxue Feng NEW
Mujtaba L GillianJapanAnna Fali RENEWAL
Nicolas F RoysterArgentinaBernardo Dominic NEW
Juan P FigeroaArgentinaAmy Elsner UNQUALIFIED
Misaki M FollerBrazilAmy Elsner PROPOSAL
Jeanfrancois P MaletArgentinaIvan Magalhaes RENEWAL
Mayumi M DilliardItalyAmy Elsner NEW
James V TollnerFranceElwin Sharvill UNQUALIFIED
Izzy U FerenczItalyXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez B CaudyBrazilXuxue Feng UNQUALIFIED
Kaitlin C FollerUnited KingdomAnna Fali UNQUALIFIED
Alejandro K SergiFranceAsiya Javayant UNQUALIFIED
Cody O GauchoBrazilElwin Sharvill NEGOTIATION
Tony V BologniaFranceAmy Elsner UNQUALIFIED
Leon U OstroskyCanadaOnyama Limba NEGOTIATION
Jefferson S SchemmerCanadaOnyama Limba RENEWAL
Adams Z DarakjyBrazilBernardo Dominic UNQUALIFIED
Maisha N VenereBrazilAmy Elsner PROPOSAL
Deepesh Y DilliardIndiaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa D GillianGermany2026-08-30Dorl, James J Esq NEW73Elwin Sharvill
1001Adams A RutaAustralia2026-09-17Dorl, James J Esq UNQUALIFIED1Stephen Shaw
1002Johnson B WhobreyIndia2026-09-16Feltz Printing Service RENEWAL84Elwin Sharvill
1003Arvin Q RutaCanada2026-08-27Benton, John B Jr NEGOTIATION30Anna Fali
1004Munro A StensethItaly2026-09-18Printing Dimensions UNQUALIFIED80Anna Fali
1005Julie T InouyeRussia2026-09-13Truhlar And Truhlar Attys QUALIFIED77Xuxue Feng
1006Tony J BowleyBrazil2026-09-21Rangoni Of Florence UNQUALIFIED97Elwin Sharvill
1007Murillo N OldroydItaly2026-09-10Chanay, Jeffrey A Esq UNQUALIFIED90Anna Fali
1008Leja O OldroydCanada2026-09-09Feiner Bros NEGOTIATION28Amy Elsner
1009Faith R GillianRussia2026-09-06Feiner Bros UNQUALIFIED87Anna Fali
1010Murillo Z DoeAustralia2026-09-23Rousseaux, Michael Esq RENEWAL26Stephen Shaw
1011Antonio S MaletUnited Kingdom2026-09-10Printing Dimensions PROPOSAL26Amy Elsner
1012Antonio Q WieserFrance2026-08-27Rousseaux, Michael Esq UNQUALIFIED42Xuxue Feng
1013Wickens P CampainFrance2026-09-25Feltz Printing Service UNQUALIFIED87Amy Elsner
1014Misaki C WhobreyArgentina2026-09-19Feiner Bros QUALIFIED97Elwin Sharvill
1015Munro Y FlosiGermany2026-09-21Chanay, Jeffrey A Esq RENEWAL4Ioni Bowcher
1016Faith U VenereAustralia2026-09-06Truhlar And Truhlar Attys NEW55Xuxue Feng
1017Tony S PerinIndia2026-09-09Rousseaux, Michael Esq PROPOSAL34Anna Fali
1018Leja X OldroydSpain2026-09-20Benton, John B Jr PROPOSAL46Ivan Magalhaes
1019Aruna B PerinFrance2026-09-03Morlong Associates NEW23Amy Elsner
1020Ivar T DarakjyRussia2026-08-27Printing Dimensions RENEWAL1Bernardo Dominic
1021Silvio L VocelkaCanada2026-08-28Morlong Associates NEGOTIATION73Bernardo Dominic
1022Octavia G VenereArgentina2026-09-16Feltz Printing Service UNQUALIFIED74Anna Fali
1023Munro A FollerCanada2026-09-09Printing Dimensions RENEWAL5Anna Fali
1024Silvio C SergiItaly2026-09-09Feltz Printing Service RENEWAL12Ivan Magalhaes
1025Stacey M BriddickFrance2026-09-16Chapman, Ross E Esq NEW1Ioni Bowcher
1026Ivar O BologniaBrazil2026-09-13Commercial Press UNQUALIFIED78Anna Fali
1027Jefferson C WaycottCanada2026-09-06Dorl, James J Esq UNQUALIFIED93Anna Fali
1028Johnson I IturbideFrance2026-09-22King, Christopher A Esq NEGOTIATION20Asiya Javayant
1029Clifford R SaylorsUnited Kingdom2026-09-23Rangoni Of Florence PROPOSAL0Ioni Bowcher
1030Salvatore W KuskoIndia2026-09-13Benton, John B Jr UNQUALIFIED28Xuxue Feng
1031Antonio A CampainSpain2026-09-01Feltz Printing Service UNQUALIFIED27Ioni Bowcher
1032Tony G MarrierCanada2026-09-22Truhlar And Truhlar Attys NEW14Anna Fali
1033Mujtaba P OldroydIndia2026-09-24King, Christopher A Esq NEW31Ivan Magalhaes
1034Aruna J VocelkaRussia2026-09-11Dorl, James J Esq PROPOSAL60Ioni Bowcher
1035Chavez C WaycottUnited Kingdom2026-09-11Feltz Printing Service UNQUALIFIED60Ioni Bowcher
1036Maria P CaldareraFrance2026-09-25Feltz Printing Service RENEWAL94Ivan Magalhaes
1037David B PerinAustralia2026-09-22Truhlar And Truhlar Attys NEW92Elwin Sharvill
1038Claire V SlusarskiFrance2026-09-24Rousseaux, Michael Esq PROPOSAL64Elwin Sharvill
1039Kadeem H PerinUnited Kingdom2026-09-16Dorl, James J Esq UNQUALIFIED75Bernardo Dominic
1040Murillo A GlickAustralia2026-09-25Feiner Bros UNQUALIFIED46Asiya Javayant
1041Morrow Q MorascaUnited Kingdom2026-08-28Benton, John B Jr NEW5Elwin Sharvill
1042Maria V FollerJapan2026-09-01Chapman, Ross E Esq NEW24Ioni Bowcher
1043Jones X DoeBrazil2026-09-20Chanay, Jeffrey A Esq RENEWAL71Onyama Limba
1044Tony V AlbaresUnited Kingdom2026-09-15Truhlar And Truhlar Attys NEGOTIATION6Anna Fali
1045Murillo Z CaudyCanada2026-09-23Morlong Associates QUALIFIED14Elwin Sharvill
1046Smith O MacleadUnited Kingdom2026-09-05Buckley Miller Wright NEGOTIATION6Onyama Limba
1047Jones F NestleAustralia2026-09-02Chanay, Jeffrey A Esq PROPOSAL19Onyama Limba
1048Salvatore B NickaRussia2026-08-29Morlong Associates NEGOTIATION93Ioni Bowcher
1049Clifford B KuskoCanada2026-09-05Chanay, Jeffrey A Esq NEW15Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Octavia U CaldareraArgentinaBernardo Dominic UNQUALIFIED
Juan S MacleadGermanyOnyama Limba RENEWAL
David T WhobreySpainAmy Elsner UNQUALIFIED
Leja M SchemmerItalyAmy Elsner UNQUALIFIED
Octavia W OldroydFranceElwin Sharvill QUALIFIED
Izzy Y GlickItalyAmy Elsner RENEWAL
Jefferson F SaylorsSpainStephen Shaw NEW
Mayumi G KuskoUnited KingdomAmy Elsner RENEWAL
Johnson J CampainCanadaStephen Shaw NEW
Clifford K FigeroaUnited KingdomElwin Sharvill PROPOSAL
Isabel J DoeGermanyXuxue Feng RENEWAL
Maria G AlbaresGermanyIoni Bowcher QUALIFIED
Munro H ButtIndiaAmy Elsner NEW
Deepesh O FollerCanadaAnna Fali NEW
Julie F ShinkoCanadaStephen Shaw NEW
Mujtaba G CaudyRussiaElwin Sharvill NEW
Murillo C GlickAustraliaStephen Shaw RENEWAL
Julie P WieserBrazilStephen Shaw PROPOSAL
Kadeem S CaldareraJapanOnyama Limba UNQUALIFIED
Misaki D IturbideAustraliaXuxue Feng NEW
Maria A InouyeIndiaAsiya Javayant NEGOTIATION
Sinclair S ButtJapanAmy Elsner NEGOTIATION
Wickens E WhobreyItalyBernardo Dominic UNQUALIFIED
Mayumi H SlusarskiArgentinaStephen Shaw QUALIFIED
Antonio G BowleySpainElwin Sharvill PROPOSAL
Octavia Y PoquetteCanadaXuxue Feng RENEWAL
Jefferson K OldroydUnited KingdomStephen Shaw NEW
Isabel M OstroskyItalyXuxue Feng RENEWAL
Misaki A StockhamRussiaIvan Magalhaes NEW
Costa R GauchoJapanAsiya Javayant RENEWAL
Sinclair J MaletAustraliaStephen Shaw NEW
Ashley R PaprockiGermanyBernardo Dominic NEGOTIATION
Kaitlin K BowleyFranceIoni Bowcher NEGOTIATION
Claire V FigeroaUnited KingdomStephen Shaw QUALIFIED
Tony R GillianBrazilAmy Elsner RENEWAL
Ashley B CaldareraCanadaIoni Bowcher PROPOSAL
Juan A PoquetteRussiaXuxue Feng NEGOTIATION
Murillo K RutaBrazilIoni Bowcher RENEWAL
Juan V BowleyAustraliaAnna Fali RENEWAL
Rodrigues H TollnerItalyIvan Magalhaes RENEWAL
Cody S KolmetzAustraliaAmy Elsner RENEWAL
Aika W InouyeJapanBernardo Dominic PROPOSAL
Jones F RutaBrazilElwin Sharvill PROPOSAL
Deepesh U DarakjyArgentinaOnyama Limba QUALIFIED
Juan T RulapaughUnited KingdomElwin Sharvill NEW
Munro O RimUnited KingdomIvan Magalhaes RENEWAL
James E RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Salvatore P DoeAustraliaStephen Shaw UNQUALIFIED
Morrow Q PerinCanadaOnyama Limba RENEWAL
Sinclair T FollerFranceXuxue Feng QUALIFIED
Frozen Columns
Name
Sinclair R Wieser
Smith W Waycott
Jones W Rim
Costa O Amigon
Antonio K Chui
Kaitlin I Ferencz
Arvin F Nicka
Sinclair A Gaucho
Chavez X Malet
Leon J Dilliard
Greenwood R Dilliard
Nicolas I Rim
Misaki Q Nicka
Kadeem D Gaucho
Ashley E Amigon
Juan O Kolmetz
Maria T Briddick
Arvin J Slusarski
Munro I Vocelka
Isabel V Shinko
Izzy A Caudy
Deepesh X Slusarski
Emily T Nicka
Kaitlin V Saylors
Jefferson L Stenseth
Deepesh Q Inouye
James C Slusarski
Cody W Bolognia
Adams Q Wieser
Jones J Doe
Salvatore H Morasca
Tony X Saylors
Rodrigues L Wieser
Julie D Saylors
Kadeem E Schemmer
Alejandro U Kusko
Claire N Nicka
Greenwood N Whobrey
Emily N Nicka
Cody I Tollner
Murillo G Campain
Leja Z Schemmer
Wickens S Darakjy
Julie F Marrier
Jones K Perin
Greenwood V Stenseth
Jefferson X Malet
Salvatore P Tollner
Rodrigues T Morasca
Stacey A Morasca
IdCountryDate
1000Japan2026-09-07
1001Italy2026-08-28
1002Brazil2026-08-30
1003Russia2026-09-16
1004Brazil2026-09-18
1005Australia2026-08-29
1006Brazil2026-09-09
1007Argentina2026-09-17
1008Brazil2026-09-16
1009Canada2026-09-24
1010France2026-09-22
1011Spain2026-09-24
1012Germany2026-09-01
1013Australia2026-09-15
1014Canada2026-09-03
1015Australia2026-09-16
1016India2026-09-01
1017United Kingdom2026-09-10
1018Italy2026-09-10
1019India2026-09-21
1020Argentina2026-09-24
1021Australia2026-09-10
1022United Kingdom2026-08-31
1023Spain2026-09-24
1024Russia2026-09-13
1025Germany2026-09-14
1026Brazil2026-08-31
1027Argentina2026-09-09
1028France2026-09-07
1029Spain2026-09-14
1030Canada2026-09-23
1031France2026-09-11
1032India2026-08-29
1033Spain2026-09-21
1034Spain2026-09-22
1035Argentina2026-08-30
1036Spain2026-08-31
1037Germany2026-09-13
1038Italy2026-08-31
1039Germany2026-09-06
1040France2026-09-24
1041Canada2026-09-19
1042India2026-09-06
1043Germany2026-09-23
1044Japan2026-09-14
1045Argentina2026-09-14
1046Japan2026-09-11
1047United Kingdom2026-09-14
1048Brazil2026-09-08
1049Argentina2026-09-08

On-Demand Data

NameIdCountryDate
Emily J Caudy1000Argentina2026-08-28
Jones P Morasca1001Argentina2026-09-12
James F Schemmer1002France2026-09-09
Ivar A Butt1003Italy2026-08-30
Leon V Ruta1004Argentina2026-08-31
Alejandro W Kusko1005Russia2026-09-12
Cody D Schemmer1006India2026-09-05
Misaki W Sergi1007Brazil2026-09-11
Alejandro M Ostrosky1008Canada2026-09-07
Misaki T Vocelka1009France2026-09-09
Emily H Tollner1010Australia2026-09-13
Costa H Kolmetz1011Germany2026-08-27
Francesco U Perin1012Brazil2026-08-30
David K Bolognia1013Japan2026-09-24
Maisha V Ruta1014Japan2026-09-24
Ivar A Stockham1015Argentina2026-09-01
Aika Y Ostrosky1016Germany2026-09-01
Greenwood C Butt1017Brazil2026-09-15
Emily Y Stockham1018Australia2026-09-09
Ashley M Waycott1019Russia2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika I FollerGermanyElwin Sharvill UNQUALIFIED
Costa G FlosiAustraliaAnna Fali QUALIFIED
Francesco C AlbaresAustraliaIvan Magalhaes QUALIFIED
Mujtaba F WieserItalyXuxue Feng PROPOSAL
Kaitlin S ButtUnited KingdomAmy Elsner UNQUALIFIED
Aruna W SchemmerRussiaIoni Bowcher RENEWAL
Wickens T KolmetzCanadaAnna Fali NEW
Wickens F DilliardSpainAsiya Javayant NEW
Deepesh Q RulapaughBrazilIvan Magalhaes UNQUALIFIED
Darci X GillianFranceAnna Fali PROPOSAL
Darci H BologniaBrazilIvan Magalhaes PROPOSAL
Murillo Q BowleyBrazilIvan Magalhaes PROPOSAL
Adams G VenereArgentinaIvan Magalhaes PROPOSAL
Alejandro Q KolmetzRussiaAsiya Javayant PROPOSAL
Murillo R FigeroaFranceAnna Fali NEGOTIATION
Faith W PoquetteAustraliaIoni Bowcher UNQUALIFIED
Smith M NickaGermanyIvan Magalhaes NEGOTIATION
James H PoquetteRussiaBernardo Dominic PROPOSAL
Tony K SaylorsItalyAsiya Javayant RENEWAL
Aika Q RimAustraliaBernardo Dominic NEGOTIATION
Ashley O RimItalyAsiya Javayant UNQUALIFIED
Salvatore U StockhamFranceXuxue Feng QUALIFIED
Arvin J FerenczArgentinaXuxue Feng UNQUALIFIED
Salvatore A MacleadCanadaXuxue Feng NEW
Costa X AlbaresIndiaAmy Elsner NEGOTIATION
Greenwood L AlbaresJapanBernardo Dominic RENEWAL
James Q PerinBrazilElwin Sharvill NEW
Isabel C GillianAustraliaElwin Sharvill NEGOTIATION
Emily J FlosiGermanyElwin Sharvill NEGOTIATION
Juan A DoeGermanyElwin Sharvill NEW
Mujtaba M OldroydRussiaElwin Sharvill QUALIFIED
Francesco T ChuiGermanyAsiya Javayant NEGOTIATION
Cody P CampainBrazilIoni Bowcher RENEWAL
Maria K IturbideJapanAsiya Javayant NEGOTIATION
Munro F FollerArgentinaIoni Bowcher NEW
Tony I FerenczSpainAsiya Javayant RENEWAL
Cody O PerinSpainOnyama Limba NEW
Jeanfrancois C InouyeCanadaAnna Fali UNQUALIFIED
Julie M OstroskyArgentinaIvan Magalhaes RENEWAL
Chavez L StensethIndiaIoni Bowcher 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>