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 R InouyeGermanyBernardo Dominic UNQUALIFIED
Izzy U MaletArgentinaAmy Elsner NEGOTIATION
Kaitlin B WhobreyBrazilAnna Fali NEW
Alejandro H StockhamFranceXuxue Feng QUALIFIED
Misaki C DilliardRussiaAsiya Javayant QUALIFIED
Greenwood L DilliardCanadaStephen Shaw RENEWAL
Isabel R FollerArgentinaXuxue Feng QUALIFIED
Jefferson P SchemmerSpainOnyama Limba UNQUALIFIED
Jones G VenereCanadaAsiya Javayant PROPOSAL
Cody T NickaFranceXuxue Feng RENEWAL
Ivar N RoysterIndiaBernardo Dominic NEGOTIATION
Aika A StensethItalyAmy Elsner RENEWAL
Murillo J BowleyRussiaBernardo Dominic RENEWAL
Cody N VenereGermanyStephen Shaw QUALIFIED
Antonio Y RoysterBrazilStephen Shaw RENEWAL
Isabel I PaprockiSpainAmy Elsner UNQUALIFIED
Rodrigues U OldroydRussiaIvan Magalhaes NEGOTIATION
Aditya Z BowleySpainElwin Sharvill NEW
Faith B NickaGermanyAmy Elsner QUALIFIED
Ivar Y OldroydAustraliaAsiya Javayant RENEWAL
Munro D SchemmerBrazilBernardo Dominic NEW
Ivar A RulapaughUnited KingdomAmy Elsner NEW
Misaki Y WhobreyCanadaXuxue Feng RENEWAL
Leon E DarakjyJapanIoni Bowcher NEGOTIATION
Sinclair U RutaJapanStephen Shaw NEGOTIATION
Smith C KuskoRussiaXuxue Feng UNQUALIFIED
Chavez U FollerAustraliaElwin Sharvill QUALIFIED
Francesco Y GlickBrazilElwin Sharvill QUALIFIED
Maisha E OstroskyJapanIvan Magalhaes NEGOTIATION
Isabel B FigeroaAustraliaIoni Bowcher NEW
Clifford C BologniaBrazilElwin Sharvill RENEWAL
Morrow Y InouyeAustraliaBernardo Dominic PROPOSAL
Aditya H RimIndiaAsiya Javayant QUALIFIED
Cody D CaudyCanadaElwin Sharvill RENEWAL
Stacey R SergiIndiaAnna Fali NEW
Julie H StockhamRussiaStephen Shaw UNQUALIFIED
Greenwood F MaletCanadaElwin Sharvill NEW
Juan I BowleyCanadaAnna Fali UNQUALIFIED
Adams Z RulapaughIndiaBernardo Dominic QUALIFIED
Silvio C MorascaFranceAsiya Javayant RENEWAL
Isabel E RulapaughItalyIvan Magalhaes PROPOSAL
Deepesh J GillianUnited KingdomStephen Shaw RENEWAL
Jennifer K KolmetzGermanyAnna Fali RENEWAL
Aditya V BowleyRussiaAmy Elsner NEW
Leon N BologniaJapanOnyama Limba NEW
Ricardo E PoquetteJapanXuxue Feng RENEWAL
Izzy D KuskoSpainElwin Sharvill UNQUALIFIED
Jefferson U NestleGermanyStephen Shaw UNQUALIFIED
Izzy N MacleadArgentinaIvan Magalhaes QUALIFIED
Adams W OldroydRussiaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Morrow G CaldareraUnited KingdomAnna Fali NEW
Costa V VocelkaJapanStephen Shaw QUALIFIED
Munro T FlosiFranceXuxue Feng UNQUALIFIED
Stacey L CaudyAustraliaIoni Bowcher NEW
Silvio A MaletBrazilAnna Fali PROPOSAL
Jeanfrancois Z ChuiCanadaAnna Fali PROPOSAL
Ricardo E GauchoBrazilIvan Magalhaes NEW
Cody O AlbaresBrazilOnyama Limba RENEWAL
Aruna A MacleadJapanBernardo Dominic PROPOSAL
Jones T ShinkoArgentinaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar M FerenczRussia2026-10-14King, Christopher A Esq PROPOSAL9Amy Elsner
1001Claire M MaletItaly2026-10-04Benton, John B Jr NEGOTIATION56Amy Elsner
1002Izzy X OstroskyUnited Kingdom2026-09-30Truhlar And Truhlar Attys PROPOSAL34Elwin Sharvill
1003Aruna R BriddickAustralia2026-09-22Morlong Associates NEW54Xuxue Feng
1004Wickens B NickaAustralia2026-09-30Chanay, Jeffrey A Esq NEGOTIATION54Stephen Shaw
1005Faith C RoysterUnited Kingdom2026-10-10Feltz Printing Service NEGOTIATION57Bernardo Dominic
1006Stacey X ButtBrazil2026-10-14Rangoni Of Florence NEW2Elwin Sharvill
1007Jennifer P KolmetzAustralia2026-10-18Feiner Bros RENEWAL49Ivan Magalhaes
1008Leja A SlusarskiJapan2026-09-30Morlong Associates NEW14Elwin Sharvill
1009Maisha A BowleyCanada2026-10-07Chapman, Ross E Esq RENEWAL46Elwin Sharvill
1010Nicolas Z BriddickRussia2026-10-06Dorl, James J Esq NEGOTIATION51Amy Elsner
1011Tony S KolmetzSpain2026-09-30Buckley Miller Wright PROPOSAL25Bernardo Dominic
1012Izzy V ShinkoGermany2026-10-19Printing Dimensions NEW69Elwin Sharvill
1013Cody T SaylorsAustralia2026-10-09Rousseaux, Michael Esq UNQUALIFIED84Ioni Bowcher
1014Mayumi J SaylorsUnited Kingdom2026-10-19Dorl, James J Esq UNQUALIFIED7Ivan Magalhaes
1015Chavez P PoquetteFrance2026-09-26Commercial Press NEGOTIATION98Onyama Limba
1016Arvin T BriddickItaly2026-10-08Commercial Press NEW71Amy Elsner
1017Wickens D BologniaIndia2026-09-30Chanay, Jeffrey A Esq NEW62Xuxue Feng
1018Aditya U GillianUnited Kingdom2026-09-27Benton, John B Jr NEW54Ivan Magalhaes
1019Chavez S MaletUnited Kingdom2026-09-29Feiner Bros UNQUALIFIED90Asiya Javayant
1020Chavez T NickaJapan2026-10-11Chemel, James L Cpa UNQUALIFIED44Ioni Bowcher
1021Johnson E AmigonArgentina2026-09-24Printing Dimensions NEGOTIATION84Elwin Sharvill
1022Sinclair A FlosiItaly2026-10-16Truhlar And Truhlar Attys RENEWAL95Anna Fali
1023Mayumi K RulapaughAustralia2026-09-30Rousseaux, Michael Esq NEW33Ioni Bowcher
1024Aditya F InouyeUnited Kingdom2026-10-13Morlong Associates NEW22Ioni Bowcher
1025Leon Z MacleadFrance2026-10-09Rousseaux, Michael Esq NEGOTIATION1Elwin Sharvill
1026James J KuskoJapan2026-10-20Morlong Associates NEW46Ioni Bowcher
1027Clifford X RutaCanada2026-10-19Rousseaux, Michael Esq UNQUALIFIED27Onyama Limba
1028Antonio V CampainRussia2026-10-04Printing Dimensions NEW63Asiya Javayant
1029Claire W ShinkoBrazil2026-10-07Buckley Miller Wright NEGOTIATION90Onyama Limba
1030Jefferson P FigeroaRussia2026-09-29Morlong Associates RENEWAL59Xuxue Feng
1031Stacey L GauchoAustralia2026-10-12Rangoni Of Florence NEGOTIATION26Stephen Shaw
1032Aditya J RulapaughUnited Kingdom2026-10-05Feltz Printing Service PROPOSAL40Ivan Magalhaes
1033Nicolas X DoeFrance2026-10-14Chanay, Jeffrey A Esq NEGOTIATION50Elwin Sharvill
1034Faith K MaletItaly2026-10-02Rangoni Of Florence UNQUALIFIED70Amy Elsner
1035Tony M FerenczArgentina2026-10-13Buckley Miller Wright PROPOSAL49Stephen Shaw
1036David X NickaSpain2026-10-05Truhlar And Truhlar Attys PROPOSAL32Ivan Magalhaes
1037Aika Z TollnerGermany2026-10-01Rousseaux, Michael Esq PROPOSAL90Onyama Limba
1038Greenwood O DoeJapan2026-10-17Benton, John B Jr UNQUALIFIED34Anna Fali
1039Chavez S RutaSpain2026-10-03Chemel, James L Cpa NEW84Amy Elsner
1040Julie U BowleyGermany2026-10-04Rousseaux, Michael Esq NEW73Elwin Sharvill
1041Isabel X FerenczFrance2026-09-25Buckley Miller Wright RENEWAL72Asiya Javayant
1042Nicolas Z InouyeUnited Kingdom2026-10-17Benton, John B Jr QUALIFIED55Bernardo Dominic
1043Francesco D KolmetzFrance2026-10-20Feiner Bros NEW78Asiya Javayant
1044Chavez J KolmetzUnited Kingdom2026-10-14Chemel, James L Cpa NEW21Onyama Limba
1045Cody R PaprockiGermany2026-09-28King, Christopher A Esq NEGOTIATION46Stephen Shaw
1046Mujtaba M OldroydGermany2026-10-05Chemel, James L Cpa PROPOSAL67Amy Elsner
1047Maria G MacleadFrance2026-09-30Buckley Miller Wright PROPOSAL34Stephen Shaw
1048Izzy N MorascaAustralia2026-10-16Truhlar And Truhlar Attys RENEWAL60Onyama Limba
1049Francesco A BriddickIndia2026-10-18King, Christopher A Esq QUALIFIED17Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Darci P WaycottAustraliaElwin Sharvill PROPOSAL
Johnson S RutaJapanXuxue Feng PROPOSAL
Clifford I ShinkoGermanyAsiya Javayant RENEWAL
Leja L RoysterAustraliaOnyama Limba QUALIFIED
Leja O WieserBrazilAmy Elsner UNQUALIFIED
Claire E TollnerJapanOnyama Limba NEGOTIATION
Johnson X NickaItalyAsiya Javayant UNQUALIFIED
Aika O PaprockiBrazilIoni Bowcher RENEWAL
Octavia M FlosiBrazilOnyama Limba NEW
David D PoquetteSpainStephen Shaw NEW
Maria K GarufiJapanStephen Shaw NEGOTIATION
Stacey A BologniaIndiaOnyama Limba PROPOSAL
Greenwood H GillianItalyAsiya Javayant UNQUALIFIED
Cody Q BologniaUnited KingdomAnna Fali NEW
Salvatore Q VenereAustraliaAnna Fali NEW
Kadeem F PoquetteFranceAnna Fali PROPOSAL
Isabel Y OstroskyAustraliaAsiya Javayant RENEWAL
Mayumi U PerinSpainOnyama Limba PROPOSAL
Aditya K BowleyGermanyElwin Sharvill NEGOTIATION
Mujtaba P RimJapanBernardo Dominic UNQUALIFIED
Antonio C DoeItalyElwin Sharvill UNQUALIFIED
Tony J VenereRussiaIoni Bowcher RENEWAL
Jefferson M VenereArgentinaElwin Sharvill QUALIFIED
Jones I MarrierIndiaOnyama Limba PROPOSAL
Tony H ShinkoBrazilAmy Elsner UNQUALIFIED
Kadeem E SaylorsJapanBernardo Dominic NEGOTIATION
Kadeem T TollnerIndiaAmy Elsner NEGOTIATION
Emily X InouyeRussiaIvan Magalhaes RENEWAL
Aditya Q GauchoBrazilStephen Shaw RENEWAL
Misaki R GarufiBrazilStephen Shaw RENEWAL
Leja Y BriddickFranceBernardo Dominic RENEWAL
Kaitlin W RoysterArgentinaOnyama Limba UNQUALIFIED
Aruna N AmigonIndiaBernardo Dominic UNQUALIFIED
Juan X DoeBrazilAsiya Javayant NEGOTIATION
Kadeem D InouyeJapanElwin Sharvill UNQUALIFIED
Salvatore R FollerItalyOnyama Limba NEW
Faith U DarakjyUnited KingdomElwin Sharvill RENEWAL
Cody K WaycottBrazilElwin Sharvill RENEWAL
Ashley D SaylorsItalyIvan Magalhaes PROPOSAL
Leon X GauchoFranceIoni Bowcher PROPOSAL
Ashley K ButtCanadaBernardo Dominic UNQUALIFIED
Johnson S RoysterFranceBernardo Dominic RENEWAL
Aruna O MacleadIndiaElwin Sharvill RENEWAL
Johnson S KolmetzSpainAnna Fali RENEWAL
Aika R ShinkoIndiaIoni Bowcher RENEWAL
Ivar Q RimItalyBernardo Dominic NEGOTIATION
Aruna V GarufiGermanyAnna Fali NEW
Munro S DoeSpainXuxue Feng RENEWAL
Kaitlin U AlbaresSpainAmy Elsner NEGOTIATION
Jeanfrancois Q DilliardIndiaElwin Sharvill PROPOSAL
Frozen Columns
Name
Munro V Kusko
Sinclair V Stenseth
Mayumi J Nestle
Julie D Nestle
Clifford W Caldarera
Murillo M Amigon
Arvin Z Flosi
Aika G Paprocki
Izzy C Albares
Adams F Nestle
Isabel Y Waycott
Aruna B Doe
Claire V Royster
Nicolas A Saylors
Deepesh P Marrier
Silvio J Gillian
Silvio N Rim
Jefferson U Perin
Wickens S Royster
Sinclair Y Oldroyd
Johnson T Ostrosky
Clifford Q Nestle
Jones V Maclead
Morrow Q Flosi
Adams U Ostrosky
Adams R Campain
Tony Z Briddick
Aruna L Perin
Murillo M Nestle
Misaki F Venere
Johnson B Oldroyd
Maisha H Campain
Izzy K Malet
Mujtaba X Chui
Salvatore W Saylors
Jennifer V Butt
Johnson A Albares
David Z Waycott
Clifford A Whobrey
Aruna L Flosi
Juan E Briddick
Jones M Maclead
Alejandro T Wieser
Sinclair U Iturbide
Leja X Vocelka
Maria D Marrier
Deepesh Y Marrier
Chavez K Kusko
Maisha R Garufi
Stacey L Saylors
IdCountryDate
1000Italy2026-10-09
1001Spain2026-10-18
1002Germany2026-10-20
1003India2026-10-21
1004Australia2026-09-29
1005France2026-09-27
1006Australia2026-10-19
1007Brazil2026-09-30
1008Italy2026-10-11
1009Australia2026-10-17
1010Australia2026-10-11
1011Japan2026-10-13
1012Argentina2026-10-07
1013United Kingdom2026-10-20
1014Russia2026-10-02
1015France2026-10-05
1016Argentina2026-10-21
1017France2026-09-30
1018Argentina2026-10-03
1019United Kingdom2026-10-09
1020Australia2026-10-21
1021Australia2026-09-27
1022Canada2026-10-06
1023France2026-10-15
1024Argentina2026-10-04
1025Japan2026-10-09
1026Spain2026-10-17
1027India2026-10-12
1028United Kingdom2026-09-27
1029Spain2026-10-14
1030France2026-10-11
1031France2026-10-01
1032Japan2026-09-24
1033United Kingdom2026-09-23
1034Russia2026-10-04
1035Brazil2026-10-17
1036Japan2026-10-12
1037Spain2026-09-23
1038Brazil2026-10-09
1039Russia2026-10-12
1040Italy2026-10-14
1041Japan2026-09-23
1042India2026-09-27
1043Japan2026-10-11
1044Australia2026-10-02
1045Germany2026-10-11
1046Canada2026-09-30
1047Japan2026-10-07
1048France2026-09-22
1049Argentina2026-09-25

On-Demand Data

NameIdCountryDate
Claire V Nestle1000Russia2026-10-13
Jones B Schemmer1001Brazil2026-10-21
Aika O Waycott1002Russia2026-10-20
Isabel A Kolmetz1003India2026-10-10
Silvio G Figeroa1004Japan2026-10-09
David K Vocelka1005Germany2026-10-16
Ashley V Rim1006India2026-10-04
Chavez Q Stockham1007Spain2026-09-29
Maisha I Rulapaugh1008United Kingdom2026-10-01
Isabel S Rulapaugh1009France2026-09-23
Murillo R Whobrey1010Australia2026-10-15
Ricardo I Garufi1011France2026-10-21
Sinclair R Caldarera1012Germany2026-10-07
Kadeem N Butt1013Spain2026-09-29
Greenwood L Kolmetz1014India2026-10-06
Aruna C Paprocki1015India2026-10-02
David U Caudy1016Canada2026-10-11
Arvin Y Royster1017Brazil2026-10-03
Arvin N Vocelka1018Japan2026-10-07
Jennifer F Butt1019Argentina2026-10-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki K FigeroaIndiaBernardo Dominic NEGOTIATION
Emily J CampainAustraliaXuxue Feng NEW
Aruna B MarrierGermanyIoni Bowcher NEGOTIATION
Aika X DilliardFranceIoni Bowcher NEGOTIATION
Rodrigues O RimIndiaIvan Magalhaes NEGOTIATION
Morrow K WieserFranceXuxue Feng RENEWAL
Antonio W GillianIndiaAsiya Javayant UNQUALIFIED
Izzy O MaletIndiaElwin Sharvill NEGOTIATION
Isabel I MarrierAustraliaBernardo Dominic RENEWAL
Sinclair A AlbaresCanadaAnna Fali PROPOSAL
Mayumi V CaudyBrazilBernardo Dominic PROPOSAL
Rodrigues X TollnerItalyIvan Magalhaes PROPOSAL
Faith B AmigonSpainAsiya Javayant NEW
Deepesh W TollnerFranceIoni Bowcher NEGOTIATION
Clifford K MacleadItalyElwin Sharvill NEGOTIATION
Kadeem R DilliardIndiaAnna Fali NEW
Francesco P OldroydSpainAnna Fali QUALIFIED
Costa K PoquetteItalyIoni Bowcher QUALIFIED
James Z WieserRussiaBernardo Dominic RENEWAL
Ivar U MarrierRussiaAnna Fali PROPOSAL
Emily F MaletRussiaXuxue Feng NEGOTIATION
Johnson W DoeIndiaAsiya Javayant NEGOTIATION
Octavia Z BowleyJapanAsiya Javayant QUALIFIED
Clifford F BriddickFranceOnyama Limba NEGOTIATION
Maisha C CampainArgentinaAsiya Javayant NEGOTIATION
Stacey B BriddickSpainOnyama Limba NEGOTIATION
Greenwood T NickaBrazilAmy Elsner NEGOTIATION
Kaitlin E CaudyItalyBernardo Dominic QUALIFIED
Cody J KuskoBrazilElwin Sharvill NEGOTIATION
Arvin X KolmetzAustraliaAmy Elsner UNQUALIFIED
Kadeem I OldroydArgentinaXuxue Feng RENEWAL
James M AmigonAustraliaAmy Elsner UNQUALIFIED
Ashley N CampainBrazilBernardo Dominic PROPOSAL
Ivar H CampainFranceIvan Magalhaes RENEWAL
Stacey Q SlusarskiIndiaAsiya Javayant PROPOSAL
David I SergiBrazilBernardo Dominic NEGOTIATION
Salvatore S SaylorsJapanIoni Bowcher PROPOSAL
Aika V MaletFranceIoni Bowcher UNQUALIFIED
Adams T PaprockiRussiaIoni Bowcher NEW
Johnson C FlosiRussiaIoni Bowcher PROPOSAL

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