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
Kadeem Y NestleGermanyIoni Bowcher RENEWAL
Chavez C DoeFranceBernardo Dominic RENEWAL
Leja M WhobreySpainAnna Fali UNQUALIFIED
Morrow Z SaylorsCanadaElwin Sharvill NEW
Munro N WieserUnited KingdomStephen Shaw NEW
Salvatore V RutaJapanAsiya Javayant NEW
Izzy F NickaCanadaXuxue Feng UNQUALIFIED
Costa A RimCanadaAnna Fali PROPOSAL
Aruna R AlbaresFranceIvan Magalhaes QUALIFIED
Jones L ChuiRussiaElwin Sharvill UNQUALIFIED
Ivar D BriddickBrazilIvan Magalhaes NEW
Smith O StockhamBrazilAnna Fali NEGOTIATION
Rodrigues R WhobreyIndiaStephen Shaw PROPOSAL
Stacey N FlosiGermanyXuxue Feng NEGOTIATION
Antonio F FerenczBrazilElwin Sharvill NEGOTIATION
Sinclair Y PaprockiJapanStephen Shaw RENEWAL
Ivar L ChuiArgentinaAnna Fali QUALIFIED
Sinclair J StockhamBrazilAmy Elsner NEGOTIATION
Ashley W KuskoSpainIvan Magalhaes NEGOTIATION
Ivar D InouyeCanadaBernardo Dominic UNQUALIFIED
Leja E GauchoRussiaXuxue Feng UNQUALIFIED
Salvatore B BowleySpainStephen Shaw QUALIFIED
Tony C PaprockiSpainAnna Fali QUALIFIED
James N KuskoSpainIvan Magalhaes RENEWAL
Costa S WieserGermanyOnyama Limba PROPOSAL
Jennifer V RutaArgentinaAmy Elsner NEGOTIATION
Izzy S OstroskyUnited KingdomElwin Sharvill NEW
Izzy Y CaldareraBrazilElwin Sharvill RENEWAL
David X VocelkaIndiaIvan Magalhaes NEGOTIATION
Rodrigues F RoysterUnited KingdomOnyama Limba UNQUALIFIED
Claire X MaletIndiaBernardo Dominic NEGOTIATION
Aika X DoeJapanBernardo Dominic NEW
Clifford P PerinArgentinaXuxue Feng NEGOTIATION
Faith I MarrierArgentinaAsiya Javayant QUALIFIED
Claire C CaudyIndiaXuxue Feng NEGOTIATION
Julie Z RulapaughUnited KingdomAnna Fali PROPOSAL
Aruna K VenereJapanElwin Sharvill QUALIFIED
Kaitlin U RulapaughGermanyBernardo Dominic NEGOTIATION
Stacey H FerenczArgentinaAsiya Javayant UNQUALIFIED
Maria J VenereGermanyElwin Sharvill PROPOSAL
Aika M CaudyBrazilAsiya Javayant PROPOSAL
Maisha Z CaldareraGermanyStephen Shaw UNQUALIFIED
Silvio O SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Alejandro J MorascaJapanIoni Bowcher UNQUALIFIED
Aruna E SlusarskiJapanBernardo Dominic PROPOSAL
Aditya A RoysterRussiaAsiya Javayant RENEWAL
Jennifer E DoeBrazilIvan Magalhaes RENEWAL
Aruna P ButtUnited KingdomAnna Fali UNQUALIFIED
Darci O GauchoItalyOnyama Limba UNQUALIFIED
Cody L InouyeArgentinaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin E ButtItalyAsiya Javayant PROPOSAL
Sinclair R RulapaughSpainAnna Fali PROPOSAL
Darci Z SchemmerSpainBernardo Dominic NEW
Julie Q MaletAustraliaIoni Bowcher QUALIFIED
Emily D WaycottIndiaStephen Shaw PROPOSAL
David N BologniaSpainIvan Magalhaes QUALIFIED
David J KuskoCanadaAsiya Javayant UNQUALIFIED
Maria E RutaIndiaXuxue Feng QUALIFIED
Mayumi J GauchoSpainAnna Fali PROPOSAL
Leja H SlusarskiGermanyBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha M IturbideAustralia2026-10-15Rangoni Of Florence NEW52Amy Elsner
1001Leon B MaletJapan2026-10-26Chapman, Ross E Esq NEGOTIATION72Onyama Limba
1002Mayumi Y MaletSpain2026-10-26Buckley Miller Wright PROPOSAL59Stephen Shaw
1003Stacey N DilliardUnited Kingdom2026-10-01Buckley Miller Wright PROPOSAL66Elwin Sharvill
1004Aruna P InouyeArgentina2026-10-20King, Christopher A Esq UNQUALIFIED24Bernardo Dominic
1005Francesco P WieserIndia2026-10-19Commercial Press QUALIFIED62Amy Elsner
1006Francesco N BriddickArgentina2026-10-15Chemel, James L Cpa UNQUALIFIED39Stephen Shaw
1007Jennifer X RulapaughUnited Kingdom2026-10-04Printing Dimensions NEW37Stephen Shaw
1008Nicolas B DilliardGermany2026-10-03Benton, John B Jr UNQUALIFIED31Xuxue Feng
1009Aika C CampainArgentina2026-10-26Dorl, James J Esq QUALIFIED72Anna Fali
1010Deepesh J OldroydItaly2026-10-09Rangoni Of Florence PROPOSAL27Asiya Javayant
1011Izzy R TollnerCanada2026-10-10Truhlar And Truhlar Attys NEGOTIATION96Onyama Limba
1012Francesco U ShinkoItaly2026-10-16Printing Dimensions PROPOSAL56Elwin Sharvill
1013Cody T BriddickSpain2026-10-10Rousseaux, Michael Esq UNQUALIFIED60Ioni Bowcher
1014Antonio Q WhobreyBrazil2026-10-23Feiner Bros RENEWAL14Onyama Limba
1015James W GauchoIndia2026-10-13Rangoni Of Florence NEW72Onyama Limba
1016Jones Q GlickGermany2026-10-29Commercial Press QUALIFIED98Amy Elsner
1017Cody L ChuiIndia2026-10-05Chemel, James L Cpa NEGOTIATION16Xuxue Feng
1018Isabel M ChuiIndia2026-10-11Truhlar And Truhlar Attys UNQUALIFIED6Anna Fali
1019Deepesh D OstroskyFrance2026-10-15Chemel, James L Cpa UNQUALIFIED94Ivan Magalhaes
1020Aruna O GarufiSpain2026-10-21Dorl, James J Esq NEGOTIATION30Elwin Sharvill
1021Kaitlin R WieserArgentina2026-10-23Commercial Press PROPOSAL87Amy Elsner
1022Maisha E IturbideCanada2026-10-04Feltz Printing Service PROPOSAL51Xuxue Feng
1023Kadeem M RoysterJapan2026-10-27Printing Dimensions NEW39Onyama Limba
1024Juan J OldroydSpain2026-10-18Truhlar And Truhlar Attys NEGOTIATION22Onyama Limba
1025Francesco V VocelkaUnited Kingdom2026-10-01King, Christopher A Esq RENEWAL37Anna Fali
1026Greenwood T DarakjyUnited Kingdom2026-10-25Chanay, Jeffrey A Esq NEW84Stephen Shaw
1027Emily Z ChuiItaly2026-10-26Benton, John B Jr PROPOSAL24Ivan Magalhaes
1028Antonio E BriddickSpain2026-10-23Benton, John B Jr UNQUALIFIED48Elwin Sharvill
1029Silvio F MacleadCanada2026-10-09Dorl, James J Esq UNQUALIFIED4Ivan Magalhaes
1030Alejandro O StockhamSpain2026-10-29Printing Dimensions NEGOTIATION58Onyama Limba
1031Emily L PerinIndia2026-10-13Chapman, Ross E Esq PROPOSAL45Xuxue Feng
1032Silvio R GauchoFrance2026-10-21Chemel, James L Cpa NEW12Amy Elsner
1033Aditya H NickaItaly2026-10-30Benton, John B Jr NEGOTIATION82Stephen Shaw
1034Morrow A PaprockiSpain2026-10-13Dorl, James J Esq NEW99Amy Elsner
1035Juan Z WhobreyItaly2026-10-24Benton, John B Jr QUALIFIED75Xuxue Feng
1036Claire U DoeCanada2026-10-24King, Christopher A Esq NEGOTIATION87Ivan Magalhaes
1037Kadeem E BriddickCanada2026-10-23Rangoni Of Florence UNQUALIFIED34Ioni Bowcher
1038Silvio Q SergiIndia2026-10-11Chapman, Ross E Esq UNQUALIFIED19Anna Fali
1039Wickens M BriddickCanada2026-10-23Rangoni Of Florence NEGOTIATION50Bernardo Dominic
1040Aditya V RutaJapan2026-10-02Rangoni Of Florence RENEWAL70Ivan Magalhaes
1041Leon L MacleadRussia2026-10-02Morlong Associates RENEWAL52Stephen Shaw
1042Costa U BriddickArgentina2026-10-26Truhlar And Truhlar Attys RENEWAL73Bernardo Dominic
1043Munro G MorascaIndia2026-10-28Chemel, James L Cpa RENEWAL78Stephen Shaw
1044Jefferson B ChuiArgentina2026-10-16Rangoni Of Florence UNQUALIFIED74Bernardo Dominic
1045Ashley E VocelkaGermany2026-10-07Rangoni Of Florence QUALIFIED74Amy Elsner
1046Chavez E GillianArgentina2026-10-22Dorl, James J Esq UNQUALIFIED40Onyama Limba
1047Maria V BologniaRussia2026-10-27Chapman, Ross E Esq PROPOSAL0Stephen Shaw
1048Jennifer Y BriddickFrance2026-10-20Feiner Bros NEGOTIATION28Onyama Limba
1049Smith I GillianJapan2026-10-15Buckley Miller Wright RENEWAL76Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Darci M KuskoArgentinaXuxue Feng NEGOTIATION
Sinclair H GauchoSpainAnna Fali PROPOSAL
Silvio M StensethGermanyElwin Sharvill NEW
Maria M PoquetteFranceStephen Shaw PROPOSAL
Jennifer S BriddickIndiaAnna Fali RENEWAL
Silvio D PerinAustraliaOnyama Limba NEGOTIATION
Misaki D BowleyFranceStephen Shaw QUALIFIED
Isabel Y WieserUnited KingdomIvan Magalhaes UNQUALIFIED
Murillo Z VocelkaCanadaBernardo Dominic PROPOSAL
Smith C RulapaughSpainBernardo Dominic RENEWAL
Adams E BriddickArgentinaAnna Fali PROPOSAL
Munro N BowleyFranceAsiya Javayant RENEWAL
Wickens H SlusarskiSpainAmy Elsner NEGOTIATION
Ivar L MaletSpainBernardo Dominic RENEWAL
Francesco L MaletBrazilIoni Bowcher PROPOSAL
James F DoeIndiaIvan Magalhaes PROPOSAL
Chavez F CaldareraCanadaAmy Elsner NEW
Rodrigues S WaycottFranceAnna Fali RENEWAL
Julie P MaletSpainBernardo Dominic QUALIFIED
Deepesh A BologniaArgentinaXuxue Feng NEGOTIATION
Maria D NickaJapanAnna Fali PROPOSAL
Leon V CampainJapanElwin Sharvill QUALIFIED
Aditya A ChuiJapanXuxue Feng PROPOSAL
Ivar T TollnerGermanyElwin Sharvill QUALIFIED
Isabel Y MarrierRussiaIvan Magalhaes NEGOTIATION
Salvatore R MarrierUnited KingdomElwin Sharvill NEW
James E SlusarskiGermanyAsiya Javayant RENEWAL
Isabel K OstroskyUnited KingdomElwin Sharvill NEW
Rodrigues F KuskoArgentinaElwin Sharvill NEW
Isabel V BriddickAustraliaBernardo Dominic RENEWAL
Ricardo O FlosiGermanyIoni Bowcher QUALIFIED
Deepesh Z GauchoUnited KingdomBernardo Dominic NEW
Leja L StockhamBrazilIoni Bowcher PROPOSAL
Aditya H KuskoArgentinaAnna Fali RENEWAL
Rodrigues W IturbideBrazilIoni Bowcher NEGOTIATION
Emily Z RoysterGermanyElwin Sharvill RENEWAL
Juan I WaycottCanadaStephen Shaw QUALIFIED
Johnson T BologniaArgentinaXuxue Feng NEGOTIATION
Alejandro Q GillianItalyElwin Sharvill QUALIFIED
David H BologniaAustraliaAnna Fali UNQUALIFIED
Faith Q FollerItalyElwin Sharvill RENEWAL
Smith B RulapaughFranceAmy Elsner PROPOSAL
Aika D SlusarskiRussiaOnyama Limba RENEWAL
Adams Z AmigonArgentinaAnna Fali UNQUALIFIED
Nicolas U MaletCanadaOnyama Limba NEW
Arvin V InouyeItalyElwin Sharvill NEW
Aditya M MacleadArgentinaBernardo Dominic QUALIFIED
Rodrigues J PaprockiAustraliaOnyama Limba NEGOTIATION
Alejandro D FlosiGermanyXuxue Feng NEGOTIATION
Johnson J VenereIndiaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Ricardo X Ferencz
Alejandro O Butt
David T Amigon
Maria N Marrier
Izzy S Ferencz
Morrow I Malet
Murillo G Chui
Faith U Stockham
Leja O Whobrey
Silvio Z Morasca
Deepesh U Sergi
Costa I Schemmer
Stacey H Perin
Octavia U Wieser
Maria V Shinko
Chavez E Poquette
Antonio U Campain
Rodrigues F Wieser
Johnson D Ferencz
Morrow S Vocelka
Ricardo P Nestle
Maisha D Garufi
Aruna T Campain
Sinclair Q Paprocki
Arvin G Figeroa
James W Darakjy
Johnson B Dilliard
Ashley U Stenseth
Mayumi Z Perin
Claire Z Poquette
Antonio Q Venere
Maria C Malet
James N Slusarski
Arvin G Glick
Emily I Bowley
Murillo N Malet
Aditya J Figeroa
Leon S Darakjy
Mayumi L Nicka
Mujtaba H Gillian
Faith M Caudy
Munro R Gaucho
Silvio I Foller
Stacey J Morasca
Francesco I Albares
Arvin C Wieser
Deepesh A Bowley
Smith M Malet
Mujtaba L Stockham
Deepesh H Perin
IdCountryDate
1000Russia2026-10-13
1001Germany2026-10-06
1002Australia2026-10-26
1003India2026-10-09
1004United Kingdom2026-10-26
1005France2026-10-20
1006Brazil2026-10-06
1007United Kingdom2026-10-01
1008Argentina2026-10-09
1009Japan2026-10-26
1010France2026-10-25
1011Russia2026-10-08
1012Spain2026-10-18
1013Spain2026-10-30
1014Spain2026-10-27
1015Canada2026-10-05
1016Canada2026-10-28
1017Spain2026-10-06
1018Japan2026-10-07
1019Italy2026-10-27
1020France2026-10-28
1021Spain2026-10-02
1022India2026-10-30
1023United Kingdom2026-10-17
1024France2026-10-30
1025Italy2026-10-23
1026Canada2026-10-11
1027Spain2026-10-26
1028Australia2026-10-24
1029United Kingdom2026-10-18
1030Argentina2026-10-04
1031Brazil2026-10-07
1032Japan2026-10-25
1033Italy2026-10-21
1034Canada2026-10-01
1035United Kingdom2026-10-26
1036United Kingdom2026-10-19
1037Italy2026-10-06
1038France2026-10-07
1039Spain2026-10-26
1040Spain2026-10-16
1041Japan2026-10-17
1042Russia2026-10-09
1043Brazil2026-10-03
1044India2026-10-14
1045United Kingdom2026-10-22
1046Russia2026-10-27
1047Argentina2026-10-16
1048Brazil2026-10-15
1049India2026-10-10

On-Demand Data

NameIdCountryDate
Juan N Doe1000India2026-10-24
Juan M Whobrey1001India2026-10-13
Mujtaba Y Iturbide1002France2026-10-16
Aika Y Wieser1003United Kingdom2026-10-04
Jones Q Chui1004Brazil2026-10-23
Emily J Flosi1005Russia2026-10-15
Clifford Z Ferencz1006France2026-10-11
Alejandro O Malet1007India2026-10-19
Maria B Malet1008Canada2026-10-20
Aika X Poquette1009India2026-10-20
Leja T Iturbide1010Germany2026-10-10
Greenwood J Bowley1011Italy2026-10-04
Ashley N Slusarski1012Brazil2026-10-25
Antonio I Kusko1013Italy2026-10-01
Arvin A Amigon1014Australia2026-10-09
Wickens E Kusko1015Germany2026-10-10
Johnson V Chui1016France2026-10-11
Salvatore A Caudy1017France2026-10-20
Aruna R Royster1018India2026-10-02
Mujtaba G Ostrosky1019Germany2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey A VocelkaFranceElwin Sharvill NEGOTIATION
Smith W MorascaUnited KingdomElwin Sharvill NEGOTIATION
Jennifer Z WaycottItalyIoni Bowcher NEGOTIATION
Faith V OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow C ButtFranceIoni Bowcher QUALIFIED
Salvatore J AmigonArgentinaBernardo Dominic NEW
Leon I KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Francesco V GillianJapanXuxue Feng UNQUALIFIED
Nicolas M GlickAustraliaAmy Elsner UNQUALIFIED
David D OldroydArgentinaElwin Sharvill NEW
Ricardo O GillianUnited KingdomAsiya Javayant PROPOSAL
Sinclair G MaletUnited KingdomAsiya Javayant PROPOSAL
Tony L BriddickJapanXuxue Feng NEGOTIATION
Deepesh Y OldroydIndiaXuxue Feng NEGOTIATION
Maria T DilliardIndiaAnna Fali PROPOSAL
Emily O BowleyAustraliaAnna Fali UNQUALIFIED
Johnson J BowleyItalyIvan Magalhaes RENEWAL
Ivar C PoquetteItalyIvan Magalhaes NEW
Julie D InouyeGermanyAmy Elsner RENEWAL
Deepesh W PaprockiAustraliaIvan Magalhaes PROPOSAL
Juan Y PaprockiBrazilBernardo Dominic NEGOTIATION
Ricardo F BologniaAustraliaAsiya Javayant UNQUALIFIED
Salvatore P CaudyGermanyOnyama Limba NEW
Tony V AlbaresCanadaAmy Elsner NEGOTIATION
Johnson L DilliardSpainIvan Magalhaes QUALIFIED
Aditya M SchemmerAustraliaAsiya Javayant RENEWAL
Emily X FollerBrazilBernardo Dominic PROPOSAL
Maria X DarakjyItalyAsiya Javayant QUALIFIED
Maisha B AlbaresGermanyElwin Sharvill NEGOTIATION
Rodrigues I DoeBrazilXuxue Feng PROPOSAL
David Y DarakjyBrazilIvan Magalhaes UNQUALIFIED
Smith K GillianCanadaIoni Bowcher UNQUALIFIED
Maisha W VenereArgentinaXuxue Feng NEGOTIATION
Octavia Y MaletIndiaOnyama Limba UNQUALIFIED
David D WhobreyBrazilElwin Sharvill PROPOSAL
Chavez Q StockhamUnited KingdomXuxue Feng UNQUALIFIED
Juan O SchemmerSpainXuxue Feng UNQUALIFIED
Julie A SergiUnited KingdomIoni Bowcher QUALIFIED
Darci K VocelkaJapanElwin Sharvill RENEWAL
Leon E ChuiGermanyIvan Magalhaes NEW

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