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
Alejandro D GillianItalyAnna Fali PROPOSAL
Costa G FlosiJapanBernardo Dominic UNQUALIFIED
Johnson N StensethRussiaAsiya Javayant RENEWAL
Greenwood K MaletItalyBernardo Dominic PROPOSAL
Aditya H KolmetzGermanyOnyama Limba RENEWAL
Chavez E MorascaIndiaStephen Shaw NEW
Isabel U WaycottArgentinaBernardo Dominic NEW
Maria A PoquetteJapanIvan Magalhaes NEGOTIATION
Mujtaba O SergiItalyAsiya Javayant UNQUALIFIED
Ashley D WhobreyUnited KingdomBernardo Dominic RENEWAL
David G DoeRussiaXuxue Feng RENEWAL
Alejandro Y FerenczArgentinaAnna Fali QUALIFIED
Kaitlin P SergiSpainAsiya Javayant RENEWAL
Faith M DilliardJapanAsiya Javayant RENEWAL
Costa O SlusarskiAustraliaOnyama Limba NEW
Sinclair E OldroydUnited KingdomOnyama Limba UNQUALIFIED
Julie B BowleyArgentinaElwin Sharvill UNQUALIFIED
Greenwood X ChuiFranceElwin Sharvill NEGOTIATION
Wickens G WhobreyFranceAnna Fali QUALIFIED
Tony W NestleJapanElwin Sharvill UNQUALIFIED
James S FigeroaItalyAnna Fali RENEWAL
Isabel J ChuiArgentinaStephen Shaw NEGOTIATION
Jeanfrancois C VenereUnited KingdomXuxue Feng NEW
Sinclair M MorascaItalyOnyama Limba QUALIFIED
Izzy L VocelkaRussiaXuxue Feng UNQUALIFIED
Sinclair D MarrierFranceIoni Bowcher NEW
Maisha N VocelkaGermanyXuxue Feng NEW
Adams W VenereArgentinaAnna Fali NEW
Faith Q CampainSpainIoni Bowcher RENEWAL
Kadeem B IturbideItalyIvan Magalhaes NEW
Adams H MaletBrazilAmy Elsner UNQUALIFIED
Juan Z PaprockiBrazilAnna Fali NEW
Morrow L AlbaresUnited KingdomIvan Magalhaes PROPOSAL
James A MaletBrazilAmy Elsner UNQUALIFIED
Jones R MaletItalyXuxue Feng PROPOSAL
Aruna K KolmetzGermanyAmy Elsner NEGOTIATION
Sinclair W ButtItalyAsiya Javayant NEW
Costa C NestleJapanAnna Fali NEW
Maisha X NickaBrazilBernardo Dominic RENEWAL
Claire X GlickAustraliaElwin Sharvill PROPOSAL
Rodrigues A SaylorsCanadaStephen Shaw PROPOSAL
Julie D WhobreyBrazilIvan Magalhaes UNQUALIFIED
Johnson U WhobreySpainAmy Elsner NEGOTIATION
Leja C CaldareraArgentinaBernardo Dominic NEW
Jennifer L GarufiIndiaStephen Shaw RENEWAL
Octavia Y RulapaughFranceAnna Fali RENEWAL
Sinclair P RoysterBrazilOnyama Limba NEGOTIATION
Leja Q GarufiUnited KingdomAsiya Javayant UNQUALIFIED
Isabel B PaprockiUnited KingdomOnyama Limba NEW
Rodrigues N RimAustraliaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens K InouyeBrazilAnna Fali RENEWAL
Greenwood P MarrierCanadaBernardo Dominic QUALIFIED
Francesco V SergiUnited KingdomXuxue Feng NEW
Clifford D NestleRussiaAsiya Javayant UNQUALIFIED
Clifford P FigeroaGermanyIvan Magalhaes UNQUALIFIED
Jones F SlusarskiItalyXuxue Feng NEW
Morrow P PoquetteCanadaElwin Sharvill RENEWAL
Morrow B SchemmerCanadaStephen Shaw QUALIFIED
Jones O SchemmerSpainElwin Sharvill UNQUALIFIED
Antonio P InouyeUnited KingdomAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody B CaudyAustralia2026-09-17Chemel, James L Cpa PROPOSAL0Onyama Limba
1001Aditya T RimGermany2026-09-09King, Christopher A Esq PROPOSAL42Stephen Shaw
1002Morrow C MaletSpain2026-09-12Buckley Miller Wright NEW7Xuxue Feng
1003Ricardo A CaudyIndia2026-09-30Buckley Miller Wright PROPOSAL27Bernardo Dominic
1004Faith R MacleadArgentina2026-09-13King, Christopher A Esq UNQUALIFIED62Ioni Bowcher
1005Octavia J MaletIndia2026-09-21Morlong Associates UNQUALIFIED10Xuxue Feng
1006Sinclair V DoeBrazil2026-10-03Feltz Printing Service UNQUALIFIED66Amy Elsner
1007Wickens F SergiBrazil2026-09-25Buckley Miller Wright NEW59Amy Elsner
1008David Z StensethItaly2026-09-16Rousseaux, Michael Esq UNQUALIFIED59Stephen Shaw
1009Silvio P ShinkoJapan2026-09-14Feltz Printing Service UNQUALIFIED31Asiya Javayant
1010Faith O PerinFrance2026-09-22Benton, John B Jr UNQUALIFIED44Ioni Bowcher
1011Misaki I TollnerBrazil2026-09-23Rousseaux, Michael Esq NEGOTIATION38Ioni Bowcher
1012David H FlosiFrance2026-10-02Feiner Bros NEGOTIATION81Amy Elsner
1013Wickens F NickaAustralia2026-10-04Feltz Printing Service NEGOTIATION29Onyama Limba
1014Stacey D StockhamCanada2026-10-04Dorl, James J Esq NEGOTIATION17Anna Fali
1015Adams A StensethItaly2026-09-27Truhlar And Truhlar Attys NEW49Xuxue Feng
1016Arvin S AlbaresBrazil2026-09-27Chemel, James L Cpa RENEWAL86Ivan Magalhaes
1017David I NickaIndia2026-09-19Benton, John B Jr RENEWAL48Amy Elsner
1018Ivar E SergiAustralia2026-10-06Feiner Bros PROPOSAL82Asiya Javayant
1019Jeanfrancois X FigeroaSpain2026-10-01Rangoni Of Florence QUALIFIED14Ivan Magalhaes
1020Ivar U CampainJapan2026-10-05Dorl, James J Esq NEGOTIATION82Onyama Limba
1021Aruna B RulapaughArgentina2026-09-25Commercial Press UNQUALIFIED45Ivan Magalhaes
1022Chavez W CampainSpain2026-09-16Buckley Miller Wright PROPOSAL95Bernardo Dominic
1023Jones B CaudyFrance2026-09-18Rousseaux, Michael Esq UNQUALIFIED65Asiya Javayant
1024Misaki F TollnerSpain2026-09-17King, Christopher A Esq QUALIFIED1Onyama Limba
1025Jeanfrancois T CaldareraUnited Kingdom2026-09-07Commercial Press UNQUALIFIED65Ivan Magalhaes
1026Julie B FigeroaCanada2026-09-19Feiner Bros RENEWAL70Anna Fali
1027Francesco U MarrierSpain2026-09-20Rousseaux, Michael Esq QUALIFIED30Xuxue Feng
1028Juan N CaldareraAustralia2026-09-29Chanay, Jeffrey A Esq NEW49Amy Elsner
1029James M CaudyFrance2026-09-27Benton, John B Jr RENEWAL7Ioni Bowcher
1030Darci M TollnerItaly2026-09-25Morlong Associates RENEWAL42Onyama Limba
1031Jefferson E ButtSpain2026-09-07Morlong Associates UNQUALIFIED2Onyama Limba
1032Mujtaba A GlickJapan2026-09-27Feltz Printing Service NEW26Anna Fali
1033Rodrigues C NickaBrazil2026-09-13Benton, John B Jr UNQUALIFIED33Onyama Limba
1034Mayumi D AmigonFrance2026-09-18Feltz Printing Service RENEWAL48Ivan Magalhaes
1035David Q GarufiFrance2026-10-01Printing Dimensions NEGOTIATION14Elwin Sharvill
1036Smith N VocelkaItaly2026-09-16Dorl, James J Esq UNQUALIFIED23Elwin Sharvill
1037Chavez F IturbideGermany2026-09-21Rousseaux, Michael Esq UNQUALIFIED17Stephen Shaw
1038Emily L RoysterUnited Kingdom2026-09-21Commercial Press QUALIFIED41Onyama Limba
1039Johnson D PoquetteItaly2026-09-15Feiner Bros QUALIFIED76Ioni Bowcher
1040Izzy W RulapaughUnited Kingdom2026-09-28Buckley Miller Wright NEGOTIATION61Amy Elsner
1041Julie N InouyeRussia2026-09-09Chanay, Jeffrey A Esq NEW62Bernardo Dominic
1042David U WaycottBrazil2026-10-06Chapman, Ross E Esq PROPOSAL44Bernardo Dominic
1043Wickens U DarakjyAustralia2026-10-04Rangoni Of Florence QUALIFIED32Stephen Shaw
1044Darci J MaletJapan2026-09-18Commercial Press RENEWAL42Bernardo Dominic
1045Izzy J RulapaughBrazil2026-09-07Benton, John B Jr RENEWAL51Ioni Bowcher
1046Izzy L TollnerAustralia2026-09-15Chanay, Jeffrey A Esq QUALIFIED43Stephen Shaw
1047Nicolas N GarufiGermany2026-09-28Chapman, Ross E Esq RENEWAL74Anna Fali
1048Morrow H SlusarskiCanada2026-09-27Dorl, James J Esq NEW5Stephen Shaw
1049Octavia X StockhamIndia2026-09-07Truhlar And Truhlar Attys RENEWAL56Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Octavia R BowleyArgentinaXuxue Feng NEGOTIATION
Maisha J TollnerCanadaOnyama Limba QUALIFIED
Octavia Q PerinJapanAnna Fali NEW
Kaitlin N RoysterItalyOnyama Limba NEGOTIATION
Maisha P WaycottFranceIvan Magalhaes NEW
Maisha K ButtCanadaIoni Bowcher RENEWAL
Francesco M OldroydAustraliaElwin Sharvill RENEWAL
David G MorascaSpainOnyama Limba RENEWAL
Kadeem L FigeroaJapanAsiya Javayant QUALIFIED
Mujtaba J SlusarskiAustraliaAmy Elsner UNQUALIFIED
Octavia G NestleFranceAsiya Javayant QUALIFIED
David Y MarrierFranceXuxue Feng NEGOTIATION
Clifford Y WhobreyRussiaBernardo Dominic PROPOSAL
Jennifer U SlusarskiArgentinaOnyama Limba UNQUALIFIED
David W FigeroaSpainStephen Shaw PROPOSAL
Murillo E NickaRussiaIoni Bowcher NEGOTIATION
Misaki N SergiJapanAmy Elsner NEW
David R StockhamRussiaIoni Bowcher UNQUALIFIED
Salvatore H ShinkoAustraliaAsiya Javayant NEGOTIATION
Arvin E FollerAustraliaXuxue Feng PROPOSAL
Leon P KolmetzGermanyStephen Shaw PROPOSAL
Murillo W BriddickIndiaOnyama Limba UNQUALIFIED
Maria O InouyeJapanStephen Shaw RENEWAL
Morrow L BologniaAustraliaOnyama Limba RENEWAL
James V AmigonJapanStephen Shaw QUALIFIED
Smith X RulapaughAustraliaXuxue Feng QUALIFIED
Isabel V KolmetzIndiaIvan Magalhaes NEW
Aika K ButtAustraliaIvan Magalhaes RENEWAL
Costa E RoysterRussiaIoni Bowcher NEW
Maria W SchemmerSpainBernardo Dominic QUALIFIED
James S InouyeGermanyElwin Sharvill NEW
Maisha F PaprockiAustraliaStephen Shaw PROPOSAL
Salvatore G GauchoAustraliaBernardo Dominic NEGOTIATION
Wickens H TollnerFranceAnna Fali UNQUALIFIED
Smith U OldroydIndiaIoni Bowcher NEW
Ivar X RulapaughFranceIvan Magalhaes NEGOTIATION
Cody F ShinkoAustraliaAnna Fali NEW
Aditya M CampainBrazilAnna Fali UNQUALIFIED
Francesco Q PoquetteFranceIoni Bowcher UNQUALIFIED
Tony W KolmetzFranceAsiya Javayant UNQUALIFIED
Jefferson I FerenczFranceAmy Elsner UNQUALIFIED
Clifford E DarakjyAustraliaStephen Shaw NEW
Cody F RulapaughCanadaAnna Fali UNQUALIFIED
Claire A MacleadBrazilIvan Magalhaes RENEWAL
Arvin Y VenereSpainAmy Elsner UNQUALIFIED
David J VocelkaIndiaAnna Fali UNQUALIFIED
Sinclair X InouyeGermanyIvan Magalhaes NEW
Ashley Z GlickBrazilBernardo Dominic QUALIFIED
Emily A MaletRussiaXuxue Feng NEW
Murillo C MarrierIndiaOnyama Limba PROPOSAL
Frozen Columns
Name
Tony H Venere
Jeanfrancois Q Stenseth
Adams X Saylors
Munro B Iturbide
Salvatore J Tollner
Costa A Marrier
Leja K Kolmetz
Misaki T Kolmetz
Claire K Gaucho
Maria V Doe
Ricardo J Bowley
Wickens X Perin
Leon W Royster
Silvio J Marrier
Aditya I Venere
Ashley V Slusarski
Deepesh Z Maclead
Johnson P Darakjy
Aika G Oldroyd
Munro F Venere
Silvio I Figeroa
Deepesh D Wieser
Jeanfrancois V Gaucho
Rodrigues O Darakjy
Isabel V Bowley
Arvin B Malet
James H Garufi
Nicolas O Caldarera
Juan A Royster
David X Royster
Mayumi B Wieser
Deepesh N Glick
Octavia A Ruta
Leon V Perin
Kaitlin L Iturbide
Kaitlin V Bowley
Aditya Q Oldroyd
Leon V Royster
Leon Q Malet
Aruna C Slusarski
Silvio R Foller
David S Kolmetz
Kaitlin Z Flosi
Tony H Paprocki
Mujtaba L Marrier
Ashley V Waycott
Leon I Shinko
Costa Z Darakjy
Julie Y Vocelka
Salvatore H Tollner
IdCountryDate
1000United Kingdom2026-09-10
1001Japan2026-09-17
1002Australia2026-09-12
1003Japan2026-09-26
1004Argentina2026-10-04
1005Spain2026-09-29
1006Russia2026-09-16
1007Australia2026-09-19
1008Argentina2026-09-28
1009France2026-10-01
1010Argentina2026-09-26
1011Argentina2026-09-18
1012Canada2026-09-19
1013Canada2026-09-09
1014United Kingdom2026-09-16
1015Japan2026-10-02
1016Australia2026-09-22
1017Italy2026-09-09
1018United Kingdom2026-10-06
1019France2026-10-03
1020France2026-09-09
1021France2026-09-28
1022Brazil2026-09-20
1023Spain2026-09-11
1024Argentina2026-10-05
1025Japan2026-09-28
1026Argentina2026-09-23
1027Australia2026-09-14
1028Japan2026-09-08
1029Japan2026-09-12
1030Italy2026-10-06
1031Japan2026-10-05
1032Argentina2026-09-19
1033Italy2026-09-26
1034Japan2026-09-10
1035Japan2026-09-17
1036France2026-09-16
1037Japan2026-09-09
1038Japan2026-09-29
1039Japan2026-10-06
1040Germany2026-09-08
1041Italy2026-09-27
1042France2026-09-10
1043France2026-09-14
1044Australia2026-10-05
1045Italy2026-09-12
1046Canada2026-09-15
1047Italy2026-09-14
1048Argentina2026-09-23
1049France2026-09-21

On-Demand Data

NameIdCountryDate
Jones T Dilliard1000Russia2026-09-28
Cody F Perin1001Germany2026-09-11
Mayumi E Venere1002Germany2026-09-25
Jeanfrancois V Ostrosky1003Canada2026-09-10
Nicolas Q Ostrosky1004Brazil2026-10-05
Jennifer K Nestle1005India2026-09-16
Mayumi X Maclead1006Japan2026-09-16
Sinclair D Ostrosky1007Russia2026-10-02
Arvin P Iturbide1008Argentina2026-09-11
Salvatore G Gillian1009Australia2026-09-29
Rodrigues X Albares1010Argentina2026-09-12
Silvio V Saylors1011Argentina2026-09-14
Jefferson F Butt1012United Kingdom2026-09-10
Faith P Royster1013Spain2026-09-13
Wickens S Gaucho1014France2026-09-15
Jeanfrancois N Tollner1015India2026-09-27
Antonio F Ruta1016Japan2026-09-11
Maria V Butt1017Australia2026-09-12
Aruna F Morasca1018Italy2026-10-02
Isabel J Ruta1019Japan2026-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin M BriddickCanadaAmy Elsner UNQUALIFIED
Rodrigues I FollerItalyElwin Sharvill NEW
Leon K FollerUnited KingdomElwin Sharvill PROPOSAL
Clifford T MarrierRussiaElwin Sharvill PROPOSAL
Octavia L SaylorsItalyAnna Fali NEW
Antonio B GauchoBrazilIvan Magalhaes UNQUALIFIED
Octavia F MaletAustraliaOnyama Limba UNQUALIFIED
Smith V SergiArgentinaAnna Fali NEW
Jeanfrancois U RulapaughArgentinaXuxue Feng NEW
Jennifer A MaletArgentinaIvan Magalhaes QUALIFIED
James V RutaFranceAsiya Javayant RENEWAL
Mujtaba G InouyeGermanyBernardo Dominic NEGOTIATION
Jones U BriddickAustraliaElwin Sharvill RENEWAL
Maisha E SergiGermanyStephen Shaw PROPOSAL
Nicolas C MarrierCanadaAsiya Javayant RENEWAL
Isabel Y WhobreyIndiaIoni Bowcher PROPOSAL
Nicolas G RoysterJapanXuxue Feng UNQUALIFIED
Juan V ButtArgentinaBernardo Dominic PROPOSAL
Maisha F GarufiJapanOnyama Limba PROPOSAL
Claire S SergiRussiaIvan Magalhaes NEW
Leja S MaletGermanyOnyama Limba UNQUALIFIED
Ricardo P OldroydItalyIoni Bowcher UNQUALIFIED
Greenwood W GarufiGermanyAmy Elsner NEW
Jefferson P PoquetteArgentinaAnna Fali RENEWAL
Salvatore U IturbideRussiaAnna Fali PROPOSAL
Chavez U FigeroaFranceAnna Fali NEGOTIATION
Isabel V RutaUnited KingdomIoni Bowcher QUALIFIED
James C FollerUnited KingdomAsiya Javayant RENEWAL
Ashley J RimRussiaIvan Magalhaes NEGOTIATION
Ivar C IturbideItalyIoni Bowcher NEW
Ivar E BologniaItalyXuxue Feng UNQUALIFIED
Jennifer T OstroskyAustraliaAmy Elsner NEGOTIATION
Costa Y ChuiUnited KingdomAmy Elsner NEGOTIATION
Wickens F MaletGermanyAnna Fali RENEWAL
Wickens H VocelkaIndiaAmy Elsner PROPOSAL
Cody V StensethBrazilElwin Sharvill NEW
Costa M OldroydAustraliaAnna Fali RENEWAL
Clifford I KolmetzGermanyBernardo Dominic QUALIFIED
Johnson X WieserJapanOnyama Limba NEW
Alejandro I ShinkoRussiaAsiya 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>