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
Smith W SchemmerIndiaAmy Elsner NEGOTIATION
Jefferson D ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Morrow Z WieserRussiaOnyama Limba RENEWAL
Chavez F OldroydArgentinaBernardo Dominic RENEWAL
Emily P CampainIndiaIvan Magalhaes NEW
Aruna A PaprockiSpainOnyama Limba NEW
Maria A DoeAustraliaStephen Shaw PROPOSAL
Mujtaba Q StensethUnited KingdomAnna Fali NEGOTIATION
Ricardo J FigeroaGermanyIoni Bowcher NEGOTIATION
Maisha I GillianFranceOnyama Limba PROPOSAL
Chavez E FigeroaIndiaIoni Bowcher UNQUALIFIED
Juan R KuskoSpainBernardo Dominic QUALIFIED
Clifford V AmigonUnited KingdomAsiya Javayant RENEWAL
Ashley R MaletItalyOnyama Limba RENEWAL
Clifford V BowleyBrazilElwin Sharvill NEW
Maria N OldroydCanadaAsiya Javayant NEGOTIATION
Julie U RutaGermanyIoni Bowcher NEGOTIATION
Jennifer A MaletSpainAmy Elsner NEW
Deepesh N SergiItalyAmy Elsner QUALIFIED
Stacey J AmigonAustraliaIoni Bowcher PROPOSAL
Misaki N StockhamCanadaAnna Fali NEW
Antonio R FigeroaArgentinaAsiya Javayant RENEWAL
Aika T GauchoSpainBernardo Dominic NEW
Costa J WaycottFranceBernardo Dominic UNQUALIFIED
Sinclair Y AlbaresGermanyBernardo Dominic PROPOSAL
Munro K MacleadCanadaXuxue Feng QUALIFIED
Jones J GauchoBrazilBernardo Dominic UNQUALIFIED
Stacey D GillianCanadaAnna Fali NEGOTIATION
David P RulapaughFranceAsiya Javayant QUALIFIED
Julie T CaudyItalyXuxue Feng NEGOTIATION
Aika Z MarrierGermanyOnyama Limba NEW
Antonio T BriddickSpainAnna Fali QUALIFIED
Leon G NickaIndiaOnyama Limba NEGOTIATION
Mujtaba N FlosiUnited KingdomOnyama Limba UNQUALIFIED
Deepesh M VenereIndiaAsiya Javayant NEW
Antonio C MorascaItalyAsiya Javayant NEGOTIATION
James W AmigonItalyElwin Sharvill NEGOTIATION
Jennifer N PaprockiArgentinaStephen Shaw NEW
Morrow M RimGermanyAnna Fali QUALIFIED
Nicolas G CampainFranceAnna Fali UNQUALIFIED
James S KolmetzJapanOnyama Limba NEW
Kaitlin N MaletRussiaElwin Sharvill NEGOTIATION
Kaitlin O ButtSpainIvan Magalhaes RENEWAL
Octavia K ButtUnited KingdomStephen Shaw NEW
Wickens P DarakjyBrazilStephen Shaw PROPOSAL
Emily E StockhamFranceElwin Sharvill QUALIFIED
Ashley E FerenczAustraliaAsiya Javayant NEW
Maisha H RoysterBrazilIoni Bowcher NEW
Nicolas K VenereFranceElwin Sharvill PROPOSAL
Ashley Y WhobreyGermanyBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia P FlosiBrazilXuxue Feng RENEWAL
Adams T ButtIndiaStephen Shaw NEW
Munro F MaletGermanyAsiya Javayant PROPOSAL
Misaki L MarrierGermanyOnyama Limba NEW
Aika M RoysterAustraliaIoni Bowcher RENEWAL
Adams O RimBrazilOnyama Limba NEW
Wickens Z KuskoFranceElwin Sharvill UNQUALIFIED
Jones S ButtAustraliaStephen Shaw QUALIFIED
Kadeem J TollnerBrazilBernardo Dominic NEW
Francesco Z RutaRussiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan D GarufiJapan2026-10-03Dorl, James J Esq QUALIFIED20Ioni Bowcher
1001Francesco C AmigonRussia2026-09-29Dorl, James J Esq RENEWAL10Ivan Magalhaes
1002Cody T RutaGermany2026-10-05Chemel, James L Cpa NEGOTIATION29Ioni Bowcher
1003Darci D KuskoRussia2026-10-06Rousseaux, Michael Esq NEW97Amy Elsner
1004Darci I StockhamArgentina2026-09-21Truhlar And Truhlar Attys NEW2Anna Fali
1005Maria P AlbaresSpain2026-09-22Chapman, Ross E Esq NEGOTIATION96Stephen Shaw
1006Chavez L ShinkoItaly2026-09-24Benton, John B Jr NEW65Ivan Magalhaes
1007Alejandro G MarrierUnited Kingdom2026-10-01Buckley Miller Wright QUALIFIED42Ivan Magalhaes
1008Misaki W DilliardBrazil2026-10-02Feiner Bros NEW43Xuxue Feng
1009Jones A OstroskyCanada2026-09-20Rousseaux, Michael Esq NEGOTIATION8Bernardo Dominic
1010James K SchemmerJapan2026-09-22Chanay, Jeffrey A Esq UNQUALIFIED54Ivan Magalhaes
1011Alejandro G OstroskyJapan2026-09-17Feltz Printing Service UNQUALIFIED91Ivan Magalhaes
1012Jennifer B DoeBrazil2026-09-11Commercial Press NEGOTIATION27Xuxue Feng
1013Smith V DoeFrance2026-10-03Chapman, Ross E Esq UNQUALIFIED18Ioni Bowcher
1014Aika J PerinFrance2026-10-08Morlong Associates QUALIFIED44Stephen Shaw
1015Chavez A SlusarskiJapan2026-09-14Truhlar And Truhlar Attys QUALIFIED0Amy Elsner
1016Ashley H NestleBrazil2026-09-13Rangoni Of Florence UNQUALIFIED18Onyama Limba
1017Antonio H GillianFrance2026-09-18Commercial Press QUALIFIED76Anna Fali
1018Maria F FollerIndia2026-09-15Benton, John B Jr NEGOTIATION69Xuxue Feng
1019Jeanfrancois C CaudyUnited Kingdom2026-10-05Feiner Bros UNQUALIFIED19Anna Fali
1020Faith J MaletJapan2026-10-03Printing Dimensions RENEWAL63Ioni Bowcher
1021Mujtaba T PoquetteIndia2026-10-09Chemel, James L Cpa QUALIFIED7Anna Fali
1022Juan K GarufiGermany2026-10-02Truhlar And Truhlar Attys PROPOSAL86Asiya Javayant
1023Julie H SergiBrazil2026-09-29Feiner Bros QUALIFIED1Ioni Bowcher
1024Chavez E SlusarskiItaly2026-10-08Buckley Miller Wright RENEWAL52Stephen Shaw
1025Deepesh O ShinkoArgentina2026-09-27Truhlar And Truhlar Attys PROPOSAL21Ivan Magalhaes
1026Jennifer D FigeroaJapan2026-09-14Rangoni Of Florence QUALIFIED21Anna Fali
1027Juan H PerinSpain2026-09-19Chapman, Ross E Esq QUALIFIED62Ivan Magalhaes
1028Clifford S GarufiSpain2026-10-02Feltz Printing Service UNQUALIFIED88Ivan Magalhaes
1029Ivar I WaycottSpain2026-09-19Chanay, Jeffrey A Esq RENEWAL26Onyama Limba
1030Salvatore Z MarrierRussia2026-09-12King, Christopher A Esq NEGOTIATION95Ivan Magalhaes
1031Greenwood Z IturbideFrance2026-10-04Morlong Associates RENEWAL47Onyama Limba
1032Octavia V VocelkaAustralia2026-09-16Chemel, James L Cpa UNQUALIFIED89Bernardo Dominic
1033Maisha H PerinRussia2026-10-01Chapman, Ross E Esq QUALIFIED47Ivan Magalhaes
1034Kadeem C SchemmerAustralia2026-09-22Feiner Bros QUALIFIED66Bernardo Dominic
1035Antonio T RulapaughSpain2026-10-07Commercial Press RENEWAL7Amy Elsner
1036Ivar P NestleAustralia2026-09-16Feltz Printing Service QUALIFIED92Amy Elsner
1037Costa X CampainUnited Kingdom2026-09-21Dorl, James J Esq QUALIFIED83Elwin Sharvill
1038Aruna K VenereSpain2026-10-06Commercial Press RENEWAL12Asiya Javayant
1039Ivar Z BologniaAustralia2026-09-15Benton, John B Jr NEGOTIATION88Ioni Bowcher
1040Faith F PoquetteRussia2026-10-10Rangoni Of Florence RENEWAL55Ioni Bowcher
1041Stacey B MorascaGermany2026-09-25Benton, John B Jr RENEWAL64Elwin Sharvill
1042Antonio X ChuiSpain2026-10-07Feltz Printing Service QUALIFIED75Elwin Sharvill
1043Nicolas Y FerenczFrance2026-10-01Commercial Press UNQUALIFIED21Amy Elsner
1044Ricardo S AlbaresArgentina2026-10-04Chanay, Jeffrey A Esq QUALIFIED36Elwin Sharvill
1045Izzy X WieserBrazil2026-09-15Rousseaux, Michael Esq RENEWAL79Ivan Magalhaes
1046James C RoysterIndia2026-09-24King, Christopher A Esq NEGOTIATION52Onyama Limba
1047Costa C GillianBrazil2026-09-27Dorl, James J Esq PROPOSAL48Elwin Sharvill
1048Murillo Y SchemmerItaly2026-09-18Buckley Miller Wright NEGOTIATION27Onyama Limba
1049Alejandro D WieserIndia2026-09-16Buckley Miller Wright UNQUALIFIED98Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Clifford K RoysterGermanyStephen Shaw QUALIFIED
Ricardo T NickaBrazilAsiya Javayant NEW
Ricardo P GillianGermanyAmy Elsner UNQUALIFIED
Jennifer L MarrierAustraliaIvan Magalhaes NEW
Chavez G MorascaIndiaAmy Elsner UNQUALIFIED
Jones W CaldareraFranceBernardo Dominic NEGOTIATION
Leon L CaudyIndiaIvan Magalhaes QUALIFIED
Kadeem M AlbaresRussiaIoni Bowcher PROPOSAL
Chavez T FigeroaJapanStephen Shaw NEW
Aika V MarrierItalyAnna Fali UNQUALIFIED
Leon U CampainIndiaIoni Bowcher RENEWAL
Salvatore K SlusarskiCanadaXuxue Feng NEGOTIATION
Tony P InouyeUnited KingdomElwin Sharvill QUALIFIED
Chavez K PerinRussiaIvan Magalhaes NEW
Octavia P BologniaRussiaAnna Fali NEGOTIATION
Francesco G ButtIndiaBernardo Dominic NEW
James O CampainUnited KingdomIoni Bowcher QUALIFIED
Claire A AlbaresSpainAnna Fali NEW
Darci B AmigonSpainBernardo Dominic PROPOSAL
Jeanfrancois D ButtFranceXuxue Feng RENEWAL
Antonio I BowleyAustraliaAnna Fali NEGOTIATION
Juan T InouyeIndiaAsiya Javayant UNQUALIFIED
Isabel Y NestleItalyAmy Elsner RENEWAL
Stacey F MaletIndiaOnyama Limba QUALIFIED
Leja X ButtRussiaAnna Fali UNQUALIFIED
Johnson K MaletArgentinaAnna Fali UNQUALIFIED
Jones O CampainArgentinaXuxue Feng RENEWAL
Isabel R SchemmerAustraliaIoni Bowcher RENEWAL
Clifford K BowleyItalyBernardo Dominic UNQUALIFIED
Ashley P GlickSpainIvan Magalhaes UNQUALIFIED
Tony A InouyeAustraliaAmy Elsner NEGOTIATION
Clifford C SaylorsItalyIvan Magalhaes QUALIFIED
Octavia M DoeSpainIoni Bowcher PROPOSAL
Murillo H ButtSpainAnna Fali QUALIFIED
Claire K GlickBrazilBernardo Dominic QUALIFIED
Jeanfrancois F InouyeFranceIvan Magalhaes UNQUALIFIED
Jennifer Q SlusarskiUnited KingdomAnna Fali NEW
Stacey V GlickIndiaIoni Bowcher PROPOSAL
Costa O MorascaCanadaElwin Sharvill RENEWAL
Kaitlin Q BologniaItalyXuxue Feng QUALIFIED
Octavia H BriddickArgentinaOnyama Limba NEW
Faith K ButtItalyBernardo Dominic QUALIFIED
Leja I FollerSpainAnna Fali NEW
Kadeem T DarakjyIndiaOnyama Limba NEW
Izzy B MarrierCanadaBernardo Dominic QUALIFIED
Morrow S DilliardCanadaOnyama Limba QUALIFIED
Sinclair H NestleBrazilAsiya Javayant RENEWAL
Kadeem S MarrierJapanXuxue Feng PROPOSAL
Morrow J FerenczArgentinaIoni Bowcher RENEWAL
Johnson N ButtRussiaOnyama Limba PROPOSAL
Frozen Columns
Name
Wickens W Butt
Stacey A Foller
Leja N Rulapaugh
Alejandro L Kusko
Adams A Butt
Jefferson M Perin
Misaki W Royster
Julie Y Briddick
Cody O Caudy
Clifford K Doe
Cody P Rulapaugh
Francesco G Perin
Leon M Nicka
Johnson Z Slusarski
Tony I Caudy
Deepesh Q Rulapaugh
Francesco E Briddick
Aditya G Nestle
Aruna G Ferencz
Alejandro V Bolognia
Greenwood Z Bowley
Emily J Slusarski
Mujtaba B Butt
Ivar U Rim
Jones N Sergi
Aruna Z Figeroa
Leon T Briddick
Costa U Perin
Francesco E Caldarera
Faith V Malet
Faith T Malet
Aika H Doe
Antonio R Schemmer
Aditya M Bolognia
Nicolas Y Whobrey
Rodrigues T Doe
Kadeem O Poquette
Jones E Campain
Sinclair V Morasca
Mayumi O Ostrosky
Munro K Waycott
Deepesh W Marrier
Johnson Z Stockham
Johnson E Glick
Kaitlin I Figeroa
Aika F Kolmetz
Nicolas H Oldroyd
Murillo T Stockham
Faith O Rim
Smith W Sergi
IdCountryDate
1000India2026-10-04
1001Brazil2026-09-25
1002United Kingdom2026-10-07
1003Russia2026-09-30
1004Argentina2026-10-08
1005Germany2026-09-28
1006Argentina2026-10-02
1007Germany2026-10-03
1008Russia2026-09-22
1009France2026-09-23
1010Russia2026-09-22
1011United Kingdom2026-09-25
1012Spain2026-10-10
1013France2026-10-06
1014Australia2026-09-26
1015Canada2026-09-17
1016Russia2026-10-04
1017Italy2026-09-22
1018Australia2026-09-19
1019Brazil2026-10-01
1020Argentina2026-09-24
1021United Kingdom2026-09-24
1022Russia2026-10-03
1023Spain2026-10-06
1024Brazil2026-10-06
1025France2026-10-05
1026Australia2026-09-23
1027Argentina2026-09-11
1028Argentina2026-10-04
1029Brazil2026-09-24
1030Canada2026-09-14
1031Russia2026-09-22
1032Japan2026-09-25
1033Brazil2026-10-09
1034Spain2026-09-26
1035Japan2026-10-05
1036Brazil2026-09-27
1037Russia2026-09-21
1038Italy2026-09-26
1039Argentina2026-09-21
1040Australia2026-10-08
1041Brazil2026-09-15
1042France2026-09-19
1043France2026-09-21
1044Spain2026-09-26
1045Argentina2026-09-30
1046France2026-09-11
1047France2026-09-27
1048Spain2026-09-22
1049Japan2026-10-03

On-Demand Data

NameIdCountryDate
Costa X Malet1000Russia2026-09-17
Juan G Caldarera1001Italy2026-09-28
Deepesh L Ostrosky1002Italy2026-09-22
Maria Z Paprocki1003Italy2026-09-24
Stacey I Caudy1004India2026-09-15
Murillo P Briddick1005Japan2026-10-08
Mujtaba H Marrier1006Argentina2026-10-07
Jennifer Z Shinko1007Spain2026-09-17
Clifford H Vocelka1008Australia2026-09-23
Jones F Rulapaugh1009United Kingdom2026-10-04
Emily S Nicka1010Italy2026-09-28
Johnson X Royster1011Brazil2026-09-28
Leon G Schemmer1012Australia2026-09-24
Julie X Perin1013Spain2026-09-22
Greenwood L Foller1014Italy2026-09-27
Johnson D Whobrey1015Italy2026-09-14
Ricardo U Iturbide1016Australia2026-09-22
Johnson L Dilliard1017India2026-09-30
Cody M Nestle1018Spain2026-10-05
Jefferson L Malet1019Japan2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens B TollnerGermanyAsiya Javayant NEW
Jefferson Z RimCanadaAsiya Javayant UNQUALIFIED
Aditya L BologniaItalyAmy Elsner PROPOSAL
Rodrigues Y BriddickJapanIvan Magalhaes UNQUALIFIED
Misaki I IturbideJapanAmy Elsner QUALIFIED
Salvatore V OldroydUnited KingdomAsiya Javayant NEW
Jennifer E TollnerJapanIoni Bowcher QUALIFIED
Claire T MorascaGermanyIoni Bowcher QUALIFIED
Jones B StockhamBrazilIoni Bowcher UNQUALIFIED
Octavia M FlosiFranceElwin Sharvill PROPOSAL
Aika K SergiRussiaStephen Shaw UNQUALIFIED
Jeanfrancois Q MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Antonio R MaletRussiaAmy Elsner NEGOTIATION
Antonio U MarrierItalyOnyama Limba UNQUALIFIED
James C ButtJapanIoni Bowcher QUALIFIED
Smith N FigeroaIndiaOnyama Limba NEGOTIATION
Costa L RoysterRussiaOnyama Limba NEW
Maisha N PaprockiUnited KingdomBernardo Dominic NEW
Isabel X ChuiFranceAmy Elsner UNQUALIFIED
Johnson Z MorascaItalyBernardo Dominic RENEWAL
Deepesh Y VocelkaGermanyIvan Magalhaes NEW
Octavia C PoquetteItalyOnyama Limba UNQUALIFIED
Alejandro V BowleyIndiaElwin Sharvill QUALIFIED
Arvin S MarrierFranceAmy Elsner RENEWAL
Murillo A PaprockiAustraliaXuxue Feng RENEWAL
Rodrigues M TollnerSpainElwin Sharvill RENEWAL
Maisha Q SaylorsArgentinaElwin Sharvill NEW
Kadeem X RulapaughIndiaBernardo Dominic QUALIFIED
Leon A VocelkaItalyAsiya Javayant QUALIFIED
Arvin D KuskoGermanyElwin Sharvill NEW
Nicolas T MaletCanadaIvan Magalhaes NEW
Mujtaba I ButtUnited KingdomAmy Elsner RENEWAL
Claire J WhobreyIndiaOnyama Limba QUALIFIED
Silvio C GarufiRussiaElwin Sharvill QUALIFIED
Rodrigues U GlickIndiaXuxue Feng QUALIFIED
Leja W TollnerRussiaElwin Sharvill PROPOSAL
Sinclair D TollnerCanadaXuxue Feng NEGOTIATION
Greenwood W MaletBrazilXuxue Feng RENEWAL
Mujtaba V FlosiBrazilIvan Magalhaes PROPOSAL
Adams D DoeGermanyOnyama Limba 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>