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
Leon A RoysterRussiaAsiya Javayant NEW
Greenwood W GillianUnited KingdomAmy Elsner QUALIFIED
Darci A IturbideFranceIoni Bowcher RENEWAL
Maisha X FerenczUnited KingdomElwin Sharvill RENEWAL
Deepesh Z StensethArgentinaIvan Magalhaes QUALIFIED
Maisha T ShinkoSpainIvan Magalhaes QUALIFIED
Nicolas O RimBrazilAmy Elsner NEW
Adams E NestleGermanyIvan Magalhaes PROPOSAL
Clifford D DarakjyRussiaBernardo Dominic QUALIFIED
Costa O SergiFranceAsiya Javayant NEW
Morrow I BowleyAustraliaIoni Bowcher NEGOTIATION
Aditya C RulapaughArgentinaIoni Bowcher QUALIFIED
Maria T FigeroaArgentinaIoni Bowcher QUALIFIED
Jeanfrancois H MaletAustraliaStephen Shaw PROPOSAL
Stacey V IturbideArgentinaBernardo Dominic QUALIFIED
Jennifer P StensethAustraliaBernardo Dominic UNQUALIFIED
James W WieserItalyAnna Fali RENEWAL
Leon C NickaBrazilBernardo Dominic NEGOTIATION
Sinclair T GlickAustraliaStephen Shaw QUALIFIED
Chavez O MaletJapanIvan Magalhaes QUALIFIED
Murillo L PerinUnited KingdomOnyama Limba NEW
Arvin D FigeroaBrazilElwin Sharvill NEW
Morrow B GlickBrazilBernardo Dominic PROPOSAL
Juan W SchemmerUnited KingdomAsiya Javayant RENEWAL
David S PoquetteItalyXuxue Feng PROPOSAL
Johnson Z KuskoFranceAnna Fali NEGOTIATION
Sinclair H GarufiArgentinaBernardo Dominic NEW
Silvio N AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Aika Q BologniaJapanAmy Elsner NEW
Antonio E WieserUnited KingdomAsiya Javayant QUALIFIED
Morrow N IturbideItalyBernardo Dominic UNQUALIFIED
Chavez E PoquetteJapanXuxue Feng UNQUALIFIED
Johnson F ChuiItalyOnyama Limba NEGOTIATION
Aruna O FerenczGermanyIvan Magalhaes PROPOSAL
Arvin C IturbideRussiaBernardo Dominic RENEWAL
Ricardo E VocelkaJapanAnna Fali PROPOSAL
Kadeem P KuskoAustraliaAmy Elsner NEGOTIATION
Juan Q SaylorsGermanyXuxue Feng RENEWAL
Stacey E StensethGermanyAnna Fali PROPOSAL
Greenwood E GarufiItalyAnna Fali QUALIFIED
Sinclair C OstroskyArgentinaIoni Bowcher NEGOTIATION
Smith M FigeroaFranceAnna Fali UNQUALIFIED
Chavez H GauchoIndiaIoni Bowcher UNQUALIFIED
Antonio G OldroydJapanElwin Sharvill NEGOTIATION
Chavez B NickaAustraliaXuxue Feng PROPOSAL
Nicolas Y MarrierSpainOnyama Limba NEW
Maria X WhobreyGermanyAmy Elsner NEW
Sinclair Z OldroydGermanyOnyama Limba PROPOSAL
Darci R MarrierArgentinaIvan Magalhaes UNQUALIFIED
Jefferson W FerenczGermanyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aika W ButtIndiaIoni Bowcher QUALIFIED
James Y RutaIndiaAsiya Javayant RENEWAL
Darci F PaprockiRussiaAmy Elsner NEW
Salvatore X RulapaughSpainElwin Sharvill QUALIFIED
Arvin X VocelkaCanadaOnyama Limba NEGOTIATION
Jefferson H MarrierItalyXuxue Feng NEGOTIATION
Darci S RutaFranceAmy Elsner PROPOSAL
Maria U WhobreyAustraliaAnna Fali PROPOSAL
Claire J BologniaIndiaXuxue Feng NEGOTIATION
Ashley O FlosiGermanyXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones R StockhamRussia2026-08-31Feiner Bros RENEWAL35Amy Elsner
1001Mayumi L AmigonJapan2026-08-25Dorl, James J Esq UNQUALIFIED7Asiya Javayant
1002Salvatore G StockhamFrance2026-09-03Chemel, James L Cpa NEGOTIATION36Ioni Bowcher
1003Claire P FollerUnited Kingdom2026-09-15Morlong Associates QUALIFIED94Ioni Bowcher
1004Aditya P FlosiFrance2026-08-27Commercial Press NEGOTIATION83Amy Elsner
1005Salvatore T MorascaSpain2026-09-10Dorl, James J Esq PROPOSAL2Ioni Bowcher
1006Maisha T ButtBrazil2026-09-08Morlong Associates PROPOSAL73Elwin Sharvill
1007Arvin L SaylorsSpain2026-09-13Morlong Associates RENEWAL27Ivan Magalhaes
1008Salvatore L GillianSpain2026-09-02Rousseaux, Michael Esq RENEWAL88Stephen Shaw
1009Aika X GlickGermany2026-08-21Rangoni Of Florence QUALIFIED48Elwin Sharvill
1010Isabel O NestleCanada2026-09-17Benton, John B Jr UNQUALIFIED73Xuxue Feng
1011Aditya K FigeroaAustralia2026-09-12Chanay, Jeffrey A Esq PROPOSAL8Amy Elsner
1012Johnson Y DarakjyIndia2026-09-16Benton, John B Jr QUALIFIED26Ivan Magalhaes
1013James Q SergiGermany2026-09-01Chanay, Jeffrey A Esq QUALIFIED13Bernardo Dominic
1014Leja B RutaGermany2026-08-29Rangoni Of Florence RENEWAL44Asiya Javayant
1015Ricardo C WhobreyBrazil2026-09-02Buckley Miller Wright NEW58Anna Fali
1016Jeanfrancois K FigeroaUnited Kingdom2026-09-07King, Christopher A Esq NEGOTIATION35Ivan Magalhaes
1017Adams W CaudyBrazil2026-08-26Printing Dimensions RENEWAL94Onyama Limba
1018Arvin S NickaIndia2026-08-28Benton, John B Jr QUALIFIED22Anna Fali
1019Ashley I MacleadUnited Kingdom2026-09-09Chanay, Jeffrey A Esq UNQUALIFIED30Elwin Sharvill
1020Julie N NestleCanada2026-09-04Dorl, James J Esq UNQUALIFIED65Stephen Shaw
1021Darci F DarakjyRussia2026-09-03Rangoni Of Florence NEGOTIATION21Anna Fali
1022David P DoeCanada2026-08-27Benton, John B Jr PROPOSAL61Stephen Shaw
1023Mujtaba E RulapaughCanada2026-09-02Morlong Associates PROPOSAL92Asiya Javayant
1024Wickens N RimJapan2026-08-21Chapman, Ross E Esq QUALIFIED46Elwin Sharvill
1025Aika R FigeroaItaly2026-09-02King, Christopher A Esq QUALIFIED24Anna Fali
1026Greenwood C SlusarskiAustralia2026-09-13Rangoni Of Florence NEW24Stephen Shaw
1027Tony W VocelkaSpain2026-08-22Chapman, Ross E Esq PROPOSAL18Elwin Sharvill
1028Aditya I PerinCanada2026-09-17Chapman, Ross E Esq NEW69Ivan Magalhaes
1029Kadeem F BowleySpain2026-08-20Dorl, James J Esq PROPOSAL36Xuxue Feng
1030Cody X IturbideIndia2026-09-16Buckley Miller Wright QUALIFIED3Bernardo Dominic
1031Deepesh S RoysterFrance2026-09-15Printing Dimensions UNQUALIFIED33Xuxue Feng
1032Leja T PaprockiJapan2026-08-30Rousseaux, Michael Esq NEW64Elwin Sharvill
1033Maisha K IturbideItaly2026-08-21King, Christopher A Esq PROPOSAL7Ioni Bowcher
1034Maisha V VocelkaAustralia2026-08-20Buckley Miller Wright QUALIFIED86Stephen Shaw
1035Chavez O RutaFrance2026-09-10Rousseaux, Michael Esq NEGOTIATION6Anna Fali
1036Arvin X VocelkaBrazil2026-08-28Printing Dimensions RENEWAL29Xuxue Feng
1037Stacey O CaudyIndia2026-09-08Feiner Bros NEW82Stephen Shaw
1038Rodrigues G InouyeFrance2026-08-24Commercial Press PROPOSAL36Bernardo Dominic
1039Nicolas J WieserGermany2026-08-24Feiner Bros PROPOSAL6Elwin Sharvill
1040Julie C WieserUnited Kingdom2026-09-04Chemel, James L Cpa NEGOTIATION47Amy Elsner
1041Leja V BowleyIndia2026-08-31Morlong Associates NEGOTIATION92Anna Fali
1042Aika F VocelkaUnited Kingdom2026-09-17Buckley Miller Wright PROPOSAL54Ivan Magalhaes
1043Darci J NestleSpain2026-08-28Truhlar And Truhlar Attys RENEWAL14Amy Elsner
1044Jones C ChuiCanada2026-09-10Truhlar And Truhlar Attys QUALIFIED26Xuxue Feng
1045Chavez K RulapaughSpain2026-08-23Feltz Printing Service UNQUALIFIED15Bernardo Dominic
1046Aditya A BowleyRussia2026-08-20Truhlar And Truhlar Attys UNQUALIFIED11Elwin Sharvill
1047Antonio Y BowleyArgentina2026-08-20Chapman, Ross E Esq UNQUALIFIED35Onyama Limba
1048Aruna Z NestleRussia2026-08-28Morlong Associates UNQUALIFIED10Stephen Shaw
1049Costa M GarufiIndia2026-09-15Printing Dimensions QUALIFIED79Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jones A StockhamItalyOnyama Limba UNQUALIFIED
Morrow I FollerUnited KingdomBernardo Dominic NEW
Misaki N IturbideBrazilAsiya Javayant PROPOSAL
Kadeem J NestleFranceBernardo Dominic PROPOSAL
Murillo I AlbaresIndiaBernardo Dominic PROPOSAL
Jennifer S ChuiIndiaBernardo Dominic RENEWAL
Leja O BologniaCanadaAnna Fali PROPOSAL
Ricardo Y AlbaresItalyAsiya Javayant QUALIFIED
Jefferson G BowleyUnited KingdomAnna Fali QUALIFIED
Morrow T MarrierSpainAmy Elsner NEW
Ricardo P BologniaUnited KingdomAnna Fali UNQUALIFIED
Misaki V StockhamIndiaAnna Fali UNQUALIFIED
Ivar Q VocelkaItalyStephen Shaw NEW
Jefferson P RoysterCanadaElwin Sharvill PROPOSAL
Claire U WhobreyUnited KingdomOnyama Limba PROPOSAL
Jennifer K GarufiRussiaIoni Bowcher RENEWAL
Darci Z OldroydIndiaIvan Magalhaes NEW
James U MaletSpainBernardo Dominic NEW
Ivar U FlosiAustraliaAsiya Javayant RENEWAL
Aika G VenereBrazilAsiya Javayant NEW
Wickens D PaprockiCanadaAnna Fali RENEWAL
Mujtaba E ButtFranceAmy Elsner NEW
Smith I MaletItalyIoni Bowcher NEGOTIATION
Ricardo V StockhamFranceStephen Shaw QUALIFIED
Aditya W BriddickItalyAsiya Javayant NEW
Murillo R WaycottJapanXuxue Feng PROPOSAL
Alejandro P MaletUnited KingdomAnna Fali QUALIFIED
Francesco U OstroskyFranceAnna Fali QUALIFIED
Alejandro Z RoysterRussiaAnna Fali NEW
Greenwood Q AlbaresUnited KingdomStephen Shaw RENEWAL
Isabel O GarufiIndiaAsiya Javayant QUALIFIED
Mujtaba M NickaRussiaXuxue Feng RENEWAL
Izzy G CampainItalyOnyama Limba NEGOTIATION
Leja U CaudySpainAnna Fali QUALIFIED
Costa F SergiFranceOnyama Limba NEGOTIATION
Kadeem K GlickCanadaAmy Elsner NEW
Leon L SlusarskiArgentinaBernardo Dominic RENEWAL
Wickens O SlusarskiRussiaIvan Magalhaes UNQUALIFIED
Leja I MacleadGermanyOnyama Limba RENEWAL
Cody R FerenczJapanOnyama Limba NEGOTIATION
Mujtaba Y OldroydGermanyAsiya Javayant NEGOTIATION
David R SaylorsUnited KingdomAsiya Javayant QUALIFIED
Jones W MaletUnited KingdomIoni Bowcher PROPOSAL
Chavez P CampainRussiaOnyama Limba PROPOSAL
Octavia H IturbideRussiaOnyama Limba NEGOTIATION
Johnson B ShinkoSpainIoni Bowcher RENEWAL
Wickens Q DoeItalyIoni Bowcher QUALIFIED
Rodrigues Q NestleItalyAsiya Javayant PROPOSAL
Mujtaba X BriddickFranceStephen Shaw NEW
Stacey O MacleadIndiaStephen Shaw RENEWAL
Frozen Columns
Name
Tony N Whobrey
Mujtaba V Bowley
Sinclair D Foller
Jeanfrancois J Darakjy
Morrow X Caldarera
Mujtaba K Slusarski
Jones J Slusarski
Alejandro X Maclead
Sinclair X Nestle
Kaitlin T Briddick
Aruna M Butt
Stacey V Wieser
Jeanfrancois Z Nicka
Emily W Ruta
Munro E Waycott
Jeanfrancois M Schemmer
Jones G Poquette
Julie R Nicka
Alejandro V Albares
Darci R Gaucho
Aruna J Vocelka
Greenwood V Figeroa
Deepesh P Campain
James C Gillian
Jennifer H Nestle
Chavez B Stenseth
Maisha V Albares
Cody H Maclead
Salvatore F Ruta
Leja C Briddick
Mayumi S Shinko
Octavia J Albares
Claire F Nestle
Kadeem Y Flosi
Antonio W Nestle
Kadeem M Foller
Johnson T Dilliard
Juan A Whobrey
Ashley T Bolognia
Jeanfrancois N Inouye
Tony Z Caldarera
Aika H Butt
Jennifer I Waycott
James J Bowley
Adams I Inouye
Aditya D Figeroa
Murillo O Darakjy
Julie E Caudy
Izzy N Butt
Octavia O Nicka
IdCountryDate
1000Japan2026-08-28
1001Germany2026-09-14
1002Canada2026-09-05
1003France2026-08-22
1004Spain2026-08-28
1005United Kingdom2026-08-24
1006India2026-08-28
1007Argentina2026-08-20
1008Italy2026-08-25
1009Italy2026-09-10
1010Brazil2026-08-23
1011Germany2026-09-07
1012Canada2026-09-17
1013Italy2026-08-24
1014India2026-08-26
1015Australia2026-08-24
1016Australia2026-09-17
1017Russia2026-09-12
1018Russia2026-09-09
1019Germany2026-08-30
1020Canada2026-08-28
1021France2026-09-18
1022France2026-09-04
1023Japan2026-08-27
1024Spain2026-08-27
1025India2026-08-23
1026France2026-08-28
1027Argentina2026-08-28
1028France2026-08-28
1029Japan2026-09-14
1030Germany2026-09-15
1031France2026-09-14
1032Brazil2026-09-04
1033France2026-09-13
1034India2026-09-16
1035Japan2026-08-22
1036India2026-08-29
1037Italy2026-08-25
1038India2026-08-30
1039Japan2026-09-06
1040India2026-09-03
1041Argentina2026-08-24
1042Germany2026-09-04
1043Argentina2026-09-13
1044Italy2026-09-02
1045France2026-09-04
1046United Kingdom2026-08-21
1047Russia2026-08-24
1048Germany2026-08-22
1049Brazil2026-09-14

On-Demand Data

NameIdCountryDate
Antonio Z Malet1000Australia2026-09-01
Sinclair O Iturbide1001Australia2026-09-07
Ashley D Doe1002India2026-08-27
Johnson I Bowley1003Germany2026-08-23
Costa E Foller1004Brazil2026-08-20
Adams Y Darakjy1005Russia2026-08-31
Faith K Gaucho1006Italy2026-09-11
Munro W Ostrosky1007Germany2026-08-30
Jones T Caldarera1008Argentina2026-09-18
Smith K Gaucho1009Canada2026-08-26
David I Poquette1010India2026-08-31
Juan C Ferencz1011France2026-09-13
Smith R Darakjy1012Germany2026-09-15
Faith F Iturbide1013Japan2026-09-09
Leon Q Kolmetz1014Australia2026-09-14
Leon C Waycott1015Spain2026-08-21
Wickens F Maclead1016Canada2026-09-17
James P Gillian1017Italy2026-08-29
Alejandro P Caudy1018Italy2026-09-13
Leon Z Ostrosky1019Germany2026-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony C GillianGermanyStephen Shaw RENEWAL
Kaitlin R KuskoGermanyAnna Fali PROPOSAL
Kadeem F PerinItalyBernardo Dominic NEW
Leja W GauchoArgentinaBernardo Dominic RENEWAL
Maria I ChuiSpainAmy Elsner PROPOSAL
Silvio W SlusarskiIndiaXuxue Feng QUALIFIED
Izzy U ShinkoJapanAmy Elsner UNQUALIFIED
Wickens A IturbideGermanyAsiya Javayant NEW
Leja I PerinGermanyAmy Elsner PROPOSAL
Kaitlin V StockhamItalyOnyama Limba UNQUALIFIED
Salvatore Z CampainUnited KingdomElwin Sharvill RENEWAL
Francesco E IturbideIndiaAnna Fali RENEWAL
Isabel I FlosiCanadaAnna Fali NEW
Aruna I SaylorsIndiaBernardo Dominic UNQUALIFIED
Salvatore B CampainSpainStephen Shaw NEGOTIATION
Stacey Y ButtItalyIoni Bowcher UNQUALIFIED
Wickens L MarrierCanadaElwin Sharvill UNQUALIFIED
Mujtaba H AmigonUnited KingdomXuxue Feng RENEWAL
Ricardo N NickaRussiaAsiya Javayant UNQUALIFIED
Octavia T WhobreyFranceBernardo Dominic RENEWAL
Salvatore K RutaFranceStephen Shaw UNQUALIFIED
Kadeem D StockhamRussiaAsiya Javayant RENEWAL
Deepesh Q KuskoBrazilBernardo Dominic RENEWAL
Munro X DoeFranceXuxue Feng QUALIFIED
Jeanfrancois G PoquetteArgentinaAmy Elsner RENEWAL
Izzy P BriddickItalyIoni Bowcher UNQUALIFIED
Maria C PaprockiGermanyStephen Shaw NEW
Adams D PaprockiCanadaStephen Shaw QUALIFIED
Deepesh D TollnerSpainAnna Fali NEW
Alejandro R ShinkoCanadaAmy Elsner PROPOSAL
Greenwood E SaylorsItalyIoni Bowcher PROPOSAL
Stacey Z StensethSpainStephen Shaw QUALIFIED
Tony B CaudyIndiaStephen Shaw UNQUALIFIED
James E SergiSpainStephen Shaw QUALIFIED
Kaitlin P OldroydRussiaElwin Sharvill UNQUALIFIED
Francesco B InouyeUnited KingdomElwin Sharvill NEW
Aruna I BologniaUnited KingdomOnyama Limba PROPOSAL
Mujtaba T PerinBrazilStephen Shaw RENEWAL
Morrow J MorascaSpainIoni Bowcher UNQUALIFIED
Costa I RimJapanIoni Bowcher 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>