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
Chavez F NickaUnited KingdomIoni Bowcher NEW
Johnson T WhobreyIndiaXuxue Feng QUALIFIED
Alejandro W BowleyBrazilAmy Elsner UNQUALIFIED
Aika L DoeUnited KingdomBernardo Dominic QUALIFIED
Faith I FerenczGermanyElwin Sharvill RENEWAL
Francesco A AlbaresRussiaAsiya Javayant PROPOSAL
Antonio X ButtUnited KingdomIoni Bowcher RENEWAL
Jefferson V FigeroaAustraliaAmy Elsner NEGOTIATION
Smith Q OstroskyAustraliaXuxue Feng NEGOTIATION
Antonio B MaletGermanyAnna Fali PROPOSAL
Sinclair X BologniaBrazilXuxue Feng NEGOTIATION
Isabel I InouyeBrazilIvan Magalhaes UNQUALIFIED
Misaki S DoeBrazilBernardo Dominic NEGOTIATION
Isabel Q ShinkoGermanyBernardo Dominic QUALIFIED
Kadeem N PerinFranceBernardo Dominic QUALIFIED
Sinclair C GarufiAustraliaAsiya Javayant NEGOTIATION
Rodrigues M WaycottIndiaIoni Bowcher UNQUALIFIED
Johnson Q PaprockiItalyBernardo Dominic QUALIFIED
Wickens H NickaSpainAmy Elsner PROPOSAL
Francesco Q BologniaGermanyIvan Magalhaes UNQUALIFIED
Kaitlin F KuskoSpainAmy Elsner NEW
Jennifer Q MaletIndiaOnyama Limba NEGOTIATION
David M NestleIndiaIoni Bowcher QUALIFIED
Aika E GillianBrazilElwin Sharvill NEW
Arvin T PoquetteRussiaIvan Magalhaes RENEWAL
Rodrigues E AmigonAustraliaElwin Sharvill PROPOSAL
Smith N TollnerIndiaAmy Elsner NEGOTIATION
Aditya Z FigeroaIndiaElwin Sharvill PROPOSAL
Tony Y AmigonJapanOnyama Limba NEGOTIATION
Tony I MaletRussiaBernardo Dominic PROPOSAL
Juan K TollnerItalyElwin Sharvill RENEWAL
James J RulapaughItalyElwin Sharvill RENEWAL
Ricardo J DilliardArgentinaIvan Magalhaes UNQUALIFIED
Silvio F BologniaGermanyBernardo Dominic RENEWAL
Francesco V KolmetzArgentinaAmy Elsner NEW
Leon O PaprockiRussiaAsiya Javayant QUALIFIED
Darci J StensethCanadaXuxue Feng NEW
Morrow A GauchoBrazilIoni Bowcher PROPOSAL
Murillo G BriddickIndiaAsiya Javayant QUALIFIED
Antonio Q WieserIndiaOnyama Limba NEW
Munro D ChuiIndiaOnyama Limba QUALIFIED
Mujtaba H FigeroaSpainAnna Fali UNQUALIFIED
Arvin P GlickFranceAmy Elsner UNQUALIFIED
Munro F MacleadFranceXuxue Feng RENEWAL
Adams Q RulapaughGermanyBernardo Dominic UNQUALIFIED
Johnson W WieserAustraliaAsiya Javayant PROPOSAL
Mujtaba H OstroskyAustraliaBernardo Dominic UNQUALIFIED
Costa Y ButtIndiaStephen Shaw NEGOTIATION
Greenwood H FollerFranceOnyama Limba RENEWAL
Salvatore S FlosiAustraliaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith A WieserRussiaBernardo Dominic UNQUALIFIED
Faith T StockhamJapanIvan Magalhaes UNQUALIFIED
Salvatore T DarakjySpainAsiya Javayant UNQUALIFIED
Munro Q SergiRussiaElwin Sharvill PROPOSAL
Mujtaba W RoysterSpainStephen Shaw NEGOTIATION
Misaki O RoysterBrazilXuxue Feng UNQUALIFIED
Mujtaba B PerinIndiaAmy Elsner NEW
James E BriddickUnited KingdomAnna Fali QUALIFIED
Claire X NestleIndiaAsiya Javayant PROPOSAL
Claire X NestleBrazilXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer U CaldareraBrazil2026-10-04Feiner Bros NEW66Asiya Javayant
1001Kaitlin N InouyeFrance2026-10-21Benton, John B Jr RENEWAL68Stephen Shaw
1002Izzy O OstroskyGermany2026-10-24Rousseaux, Michael Esq NEW80Bernardo Dominic
1003Darci N WaycottItaly2026-09-30Printing Dimensions UNQUALIFIED65Elwin Sharvill
1004Johnson G DilliardBrazil2026-10-24Commercial Press QUALIFIED63Xuxue Feng
1005Ricardo V RutaCanada2026-10-18King, Christopher A Esq QUALIFIED84Ioni Bowcher
1006Arvin F InouyeUnited Kingdom2026-10-08Commercial Press PROPOSAL60Ioni Bowcher
1007Jennifer C SlusarskiCanada2026-10-07Chanay, Jeffrey A Esq RENEWAL3Ivan Magalhaes
1008Stacey B BriddickArgentina2026-10-08Feiner Bros RENEWAL58Ioni Bowcher
1009Rodrigues J DarakjyCanada2026-10-08King, Christopher A Esq PROPOSAL91Stephen Shaw
1010Ivar B WieserItaly2026-10-20Feltz Printing Service PROPOSAL85Bernardo Dominic
1011Kaitlin I PoquetteArgentina2026-10-13Feltz Printing Service NEW37Onyama Limba
1012Ivar D OldroydArgentina2026-10-16Dorl, James J Esq UNQUALIFIED26Amy Elsner
1013Wickens X SaylorsCanada2026-10-17Feiner Bros NEGOTIATION3Stephen Shaw
1014Claire V GauchoSpain2026-10-04Chanay, Jeffrey A Esq UNQUALIFIED26Anna Fali
1015Mayumi K WieserCanada2026-10-17Buckley Miller Wright RENEWAL82Asiya Javayant
1016Leon I OldroydItaly2026-10-22Morlong Associates PROPOSAL48Bernardo Dominic
1017Juan Y ShinkoArgentina2026-10-02Chanay, Jeffrey A Esq NEW0Amy Elsner
1018James S PoquetteSpain2026-10-17Chapman, Ross E Esq NEGOTIATION68Anna Fali
1019Arvin M PerinUnited Kingdom2026-10-18Dorl, James J Esq NEGOTIATION38Anna Fali
1020Jefferson T GarufiFrance2026-10-17Feiner Bros QUALIFIED32Anna Fali
1021Chavez S MacleadCanada2026-10-08Rangoni Of Florence QUALIFIED94Amy Elsner
1022Nicolas F RulapaughCanada2026-10-01Truhlar And Truhlar Attys UNQUALIFIED3Asiya Javayant
1023Darci X IturbideFrance2026-09-27Dorl, James J Esq NEGOTIATION84Amy Elsner
1024Maisha U SergiSpain2026-10-17Chapman, Ross E Esq QUALIFIED60Stephen Shaw
1025Mujtaba L WhobreySpain2026-09-30Chemel, James L Cpa UNQUALIFIED69Xuxue Feng
1026Salvatore N ChuiFrance2026-10-19Chemel, James L Cpa PROPOSAL60Amy Elsner
1027Jennifer C FlosiFrance2026-10-09Truhlar And Truhlar Attys NEGOTIATION95Bernardo Dominic
1028Misaki T BologniaCanada2026-10-02Benton, John B Jr RENEWAL97Xuxue Feng
1029Nicolas O BowleyCanada2026-10-16Chapman, Ross E Esq PROPOSAL86Anna Fali
1030Darci O OstroskyBrazil2026-10-04Feltz Printing Service PROPOSAL71Asiya Javayant
1031James Z GillianJapan2026-10-16Dorl, James J Esq NEGOTIATION3Xuxue Feng
1032Tony L PoquetteBrazil2026-10-10Commercial Press PROPOSAL87Bernardo Dominic
1033Aika N RutaFrance2026-10-14Benton, John B Jr NEW95Asiya Javayant
1034Misaki R IturbideBrazil2026-10-12Buckley Miller Wright RENEWAL25Ivan Magalhaes
1035Morrow I SlusarskiIndia2026-09-30Rousseaux, Michael Esq RENEWAL96Elwin Sharvill
1036Juan S FlosiJapan2026-10-22King, Christopher A Esq RENEWAL80Xuxue Feng
1037Stacey E SaylorsJapan2026-10-02Feltz Printing Service QUALIFIED7Asiya Javayant
1038Izzy H WaycottGermany2026-10-14Printing Dimensions RENEWAL25Ioni Bowcher
1039Nicolas K NickaFrance2026-10-23Chemel, James L Cpa NEW12Amy Elsner
1040Munro Z DoeSpain2026-09-29Benton, John B Jr UNQUALIFIED65Elwin Sharvill
1041Leja T ShinkoAustralia2026-10-03Feiner Bros QUALIFIED67Stephen Shaw
1042Emily N PerinAustralia2026-10-09Truhlar And Truhlar Attys UNQUALIFIED10Amy Elsner
1043Jones U OldroydAustralia2026-09-27Printing Dimensions NEW95Onyama Limba
1044Mujtaba H RoysterArgentina2026-10-13Feltz Printing Service NEW53Anna Fali
1045Aruna V CaudyCanada2026-10-21Dorl, James J Esq NEGOTIATION47Asiya Javayant
1046Emily Q VenereBrazil2026-10-04Rangoni Of Florence NEW43Onyama Limba
1047David Y GlickRussia2026-10-21King, Christopher A Esq NEW19Ioni Bowcher
1048Greenwood F FerenczBrazil2026-10-25Buckley Miller Wright NEGOTIATION0Bernardo Dominic
1049Julie Q AmigonCanada2026-09-27Dorl, James J Esq UNQUALIFIED61Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ashley P BowleyFranceXuxue Feng UNQUALIFIED
Mayumi T DilliardAustraliaIoni Bowcher RENEWAL
Leja U SlusarskiCanadaBernardo Dominic RENEWAL
Mujtaba B NestleUnited KingdomIvan Magalhaes RENEWAL
Tony G IturbideFranceAmy Elsner NEGOTIATION
Ivar X StensethFranceBernardo Dominic NEGOTIATION
Ivar U WhobreyAustraliaStephen Shaw NEGOTIATION
Johnson I VenereUnited KingdomAsiya Javayant NEGOTIATION
David E SlusarskiArgentinaElwin Sharvill PROPOSAL
Antonio T FlosiGermanyIvan Magalhaes RENEWAL
Antonio E PerinSpainStephen Shaw RENEWAL
Emily F WhobreyAustraliaStephen Shaw NEW
Mujtaba J VenereRussiaStephen Shaw QUALIFIED
Morrow G SchemmerBrazilAnna Fali UNQUALIFIED
Sinclair U ButtItalyAnna Fali PROPOSAL
Morrow E WaycottJapanIvan Magalhaes QUALIFIED
Jefferson B SlusarskiArgentinaOnyama Limba RENEWAL
Aditya C SaylorsFranceStephen Shaw QUALIFIED
Misaki G PerinRussiaAmy Elsner NEW
Tony I IturbideIndiaOnyama Limba QUALIFIED
Greenwood G StockhamUnited KingdomAnna Fali RENEWAL
Rodrigues R RimBrazilXuxue Feng QUALIFIED
Johnson X GillianSpainBernardo Dominic NEGOTIATION
Faith U FigeroaBrazilIvan Magalhaes PROPOSAL
Wickens E GillianFranceIoni Bowcher RENEWAL
Tony U RulapaughSpainBernardo Dominic PROPOSAL
Arvin N BologniaGermanyOnyama Limba RENEWAL
Francesco H StensethUnited KingdomAmy Elsner NEW
Clifford W PerinSpainXuxue Feng UNQUALIFIED
Nicolas H MarrierJapanElwin Sharvill NEW
Ivar A GarufiArgentinaAnna Fali UNQUALIFIED
Salvatore L FigeroaRussiaIoni Bowcher RENEWAL
Ashley T SaylorsCanadaAsiya Javayant NEW
Chavez A PaprockiArgentinaIvan Magalhaes NEW
Leon S RoysterAustraliaXuxue Feng RENEWAL
David U WieserIndiaElwin Sharvill QUALIFIED
Antonio Q ButtArgentinaXuxue Feng NEGOTIATION
Ashley G WaycottRussiaAsiya Javayant PROPOSAL
Alejandro N NestleIndiaOnyama Limba NEGOTIATION
Deepesh C MaletSpainIoni Bowcher PROPOSAL
Octavia R OldroydBrazilOnyama Limba RENEWAL
Morrow F MaletUnited KingdomIoni Bowcher UNQUALIFIED
Clifford Q NestleIndiaAnna Fali UNQUALIFIED
Adams O MaletIndiaXuxue Feng NEW
Aditya Y RulapaughAustraliaIoni Bowcher RENEWAL
Deepesh N ButtCanadaStephen Shaw RENEWAL
Silvio V WieserAustraliaAsiya Javayant PROPOSAL
Alejandro O DoeCanadaAnna Fali QUALIFIED
Murillo E SergiSpainAmy Elsner NEGOTIATION
Stacey U StensethFranceAmy Elsner NEW
Frozen Columns
Name
Cody L Garufi
Morrow K Stockham
Jeanfrancois N Doe
Isabel B Stockham
Aruna I Malet
Costa Z Venere
Ashley W Shinko
Arvin X Bowley
Jefferson K Garufi
Misaki Q Oldroyd
Tony C Flosi
Darci N Schemmer
Aditya O Gaucho
Ivar B Bolognia
David R Whobrey
Sinclair J Dilliard
Darci E Waycott
Wickens N Shinko
Murillo X Slusarski
Alejandro S Ruta
James Q Amigon
James A Bolognia
Stacey O Stockham
Deepesh T Inouye
Leja Y Ostrosky
Leon M Campain
Jefferson F Waycott
Aditya F Vocelka
Jefferson I Kusko
Sinclair R Iturbide
Ricardo L Nicka
Jeanfrancois K Stenseth
Johnson E Amigon
Clifford H Kolmetz
Misaki T Kusko
Morrow R Nestle
Deepesh L Nestle
Izzy A Albares
Antonio U Nestle
Johnson V Kolmetz
James N Whobrey
Leja V Perin
Mayumi K Amigon
Jeanfrancois R Rim
Claire S Vocelka
Jennifer Z Albares
Juan V Vocelka
Silvio K Poquette
Nicolas H Dilliard
Maisha U Marrier
IdCountryDate
1000Italy2026-10-12
1001United Kingdom2026-10-14
1002United Kingdom2026-09-29
1003France2026-10-08
1004Spain2026-10-13
1005France2026-10-24
1006Brazil2026-10-01
1007India2026-10-22
1008United Kingdom2026-10-13
1009India2026-10-22
1010Italy2026-09-26
1011Russia2026-10-25
1012Brazil2026-10-07
1013United Kingdom2026-09-26
1014Japan2026-10-18
1015Russia2026-10-11
1016Japan2026-10-16
1017Russia2026-10-22
1018Australia2026-10-07
1019Spain2026-10-09
1020Brazil2026-10-21
1021Australia2026-10-20
1022Canada2026-09-26
1023Canada2026-10-14
1024Canada2026-10-22
1025France2026-09-29
1026Canada2026-09-28
1027Spain2026-10-22
1028Germany2026-10-05
1029Russia2026-10-15
1030Italy2026-10-06
1031Australia2026-10-08
1032Australia2026-10-15
1033Italy2026-10-15
1034United Kingdom2026-10-06
1035Brazil2026-10-03
1036Italy2026-10-04
1037Italy2026-10-02
1038Argentina2026-10-22
1039India2026-10-15
1040India2026-10-19
1041France2026-10-17
1042Brazil2026-10-16
1043Japan2026-10-19
1044United Kingdom2026-10-07
1045Russia2026-09-28
1046France2026-10-01
1047France2026-10-14
1048United Kingdom2026-10-10
1049India2026-09-30

On-Demand Data

NameIdCountryDate
Silvio L Caudy1000France2026-10-19
Costa I Garufi1001Argentina2026-10-19
Arvin D Kolmetz1002Brazil2026-10-17
Aditya J Malet1003Argentina2026-10-07
Aruna M Foller1004France2026-10-22
Cody X Nestle1005Germany2026-09-27
Leon O Campain1006India2026-10-09
Tony V Amigon1007Italy2026-10-25
Darci Z Schemmer1008Japan2026-10-13
Cody R Gaucho1009Brazil2026-10-15
Clifford S Malet1010Australia2026-10-12
Murillo F Foller1011Spain2026-10-07
Cody U Caldarera1012Argentina2026-10-18
Claire W Morasca1013Italy2026-09-28
Jefferson U Wieser1014India2026-09-29
Maria N Kusko1015United Kingdom2026-10-21
Adams I Malet1016Australia2026-10-08
Smith B Doe1017Brazil2026-10-22
Munro X Figeroa1018India2026-10-23
Claire J Kolmetz1019Australia2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci T GarufiJapanAsiya Javayant QUALIFIED
Aditya N RutaSpainXuxue Feng NEGOTIATION
Emily E StockhamAustraliaXuxue Feng RENEWAL
Maria C ChuiRussiaBernardo Dominic NEW
Aruna E KuskoRussiaElwin Sharvill RENEWAL
Octavia V DoeIndiaAnna Fali NEGOTIATION
Aditya G BowleyIndiaAmy Elsner UNQUALIFIED
Maria E PoquetteSpainIoni Bowcher PROPOSAL
Greenwood K PaprockiIndiaXuxue Feng RENEWAL
Octavia S NickaRussiaAsiya Javayant NEGOTIATION
Jones X GauchoArgentinaElwin Sharvill NEGOTIATION
Maisha O BologniaRussiaAnna Fali NEGOTIATION
Antonio V PerinSpainIoni Bowcher PROPOSAL
Morrow I SchemmerJapanStephen Shaw QUALIFIED
Leon Z KuskoBrazilXuxue Feng QUALIFIED
David X MarrierArgentinaAnna Fali RENEWAL
Leja I NestleSpainAsiya Javayant UNQUALIFIED
Maria G BriddickRussiaOnyama Limba NEW
Costa Q OldroydJapanStephen Shaw UNQUALIFIED
Aika P AmigonIndiaOnyama Limba UNQUALIFIED
Cody I FollerRussiaAnna Fali NEW
Silvio H DilliardBrazilStephen Shaw QUALIFIED
Juan Q FerenczJapanIoni Bowcher PROPOSAL
Jeanfrancois W VocelkaJapanIvan Magalhaes NEGOTIATION
Clifford N DoeItalyStephen Shaw NEW
Aika J InouyeArgentinaOnyama Limba NEGOTIATION
Munro M BowleyGermanyAsiya Javayant QUALIFIED
Juan O PaprockiArgentinaIoni Bowcher UNQUALIFIED
Leon D KuskoArgentinaIvan Magalhaes QUALIFIED
Maisha M PaprockiBrazilAsiya Javayant NEW
Juan S RulapaughAustraliaStephen Shaw NEW
Murillo Y BowleyArgentinaXuxue Feng QUALIFIED
Juan P MarrierRussiaAnna Fali UNQUALIFIED
Darci K ButtSpainAmy Elsner NEW
Tony D BologniaJapanStephen Shaw QUALIFIED
Leja C CaudyAustraliaIoni Bowcher UNQUALIFIED
Aditya Y RoysterCanadaIvan Magalhaes NEGOTIATION
Claire Y KuskoUnited KingdomAnna Fali QUALIFIED
Jefferson L WieserJapanOnyama Limba PROPOSAL
Jeanfrancois L FerenczFranceBernardo Dominic 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>