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
Claire L ShinkoAustraliaOnyama Limba UNQUALIFIED
Murillo L FlosiGermanyXuxue Feng NEW
Maisha K RulapaughAustraliaAsiya Javayant QUALIFIED
Kaitlin Q KuskoUnited KingdomXuxue Feng NEW
Aruna X KuskoUnited KingdomIoni Bowcher RENEWAL
Cody U KolmetzItalyAsiya Javayant NEW
Smith G MorascaCanadaXuxue Feng NEGOTIATION
Tony W NickaGermanyIvan Magalhaes UNQUALIFIED
Jones Q MarrierItalyStephen Shaw PROPOSAL
Faith L VocelkaBrazilXuxue Feng UNQUALIFIED
Salvatore J MaletJapanBernardo Dominic NEW
David J SergiRussiaIoni Bowcher UNQUALIFIED
Emily F SergiCanadaAmy Elsner QUALIFIED
Greenwood U CampainIndiaAsiya Javayant UNQUALIFIED
Smith F GarufiJapanOnyama Limba NEGOTIATION
David F OstroskyArgentinaElwin Sharvill NEW
Jennifer Z NestleArgentinaStephen Shaw NEW
Jones U StockhamGermanyElwin Sharvill NEGOTIATION
Sinclair J WaycottIndiaAsiya Javayant PROPOSAL
Stacey L GlickIndiaIoni Bowcher UNQUALIFIED
Smith V OldroydJapanElwin Sharvill NEW
Nicolas Y WieserJapanBernardo Dominic RENEWAL
Arvin W ShinkoUnited KingdomXuxue Feng RENEWAL
Salvatore K PoquetteFranceAmy Elsner NEW
Greenwood U PerinItalyElwin Sharvill NEGOTIATION
Aika H FollerUnited KingdomXuxue Feng QUALIFIED
Aditya D ButtFranceElwin Sharvill NEW
Julie U SlusarskiSpainXuxue Feng NEGOTIATION
Chavez E PerinAustraliaOnyama Limba UNQUALIFIED
Darci B BowleyBrazilAsiya Javayant RENEWAL
Ivar N TollnerCanadaIvan Magalhaes UNQUALIFIED
Chavez O SergiBrazilAnna Fali NEW
Alejandro Q KolmetzFranceStephen Shaw NEGOTIATION
Mujtaba O AmigonBrazilIvan Magalhaes NEW
Mujtaba Z FerenczBrazilAsiya Javayant PROPOSAL
Sinclair G RulapaughCanadaIoni Bowcher QUALIFIED
Antonio P FlosiBrazilIvan Magalhaes NEW
Leon C SchemmerCanadaIvan Magalhaes PROPOSAL
Jefferson M BriddickUnited KingdomAmy Elsner UNQUALIFIED
Tony H RulapaughIndiaIoni Bowcher QUALIFIED
David F KuskoArgentinaAnna Fali UNQUALIFIED
Aditya T RutaGermanyXuxue Feng PROPOSAL
Arvin Z WieserSpainAsiya Javayant UNQUALIFIED
Tony V CampainRussiaStephen Shaw RENEWAL
Johnson F WieserArgentinaXuxue Feng PROPOSAL
Ricardo C RutaGermanyBernardo Dominic RENEWAL
Jennifer X NickaFranceAsiya Javayant QUALIFIED
Octavia V GlickAustraliaIoni Bowcher NEGOTIATION
Greenwood M PerinJapanAmy Elsner NEGOTIATION
Aruna S MacleadFranceXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson X DarakjyGermanyIoni Bowcher QUALIFIED
Alejandro G RoysterJapanOnyama Limba UNQUALIFIED
Costa L KuskoItalyXuxue Feng QUALIFIED
Mayumi E MacleadSpainAsiya Javayant UNQUALIFIED
Nicolas K PaprockiRussiaBernardo Dominic UNQUALIFIED
Clifford E OstroskyJapanAsiya Javayant NEW
Nicolas S FollerSpainIvan Magalhaes NEGOTIATION
Emily J IturbideRussiaElwin Sharvill PROPOSAL
Ashley R PaprockiIndiaAsiya Javayant NEW
Isabel Z FerenczGermanyAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel N FerenczGermany2026-09-07Commercial Press UNQUALIFIED82Xuxue Feng
1001Costa L OldroydArgentina2026-08-30Feiner Bros QUALIFIED39Onyama Limba
1002Morrow Z FerenczJapan2026-09-14Chapman, Ross E Esq RENEWAL93Ioni Bowcher
1003Emily E AmigonGermany2026-08-24Morlong Associates QUALIFIED5Anna Fali
1004Rodrigues A MarrierGermany2026-08-31King, Christopher A Esq RENEWAL61Ivan Magalhaes
1005Misaki C SaylorsCanada2026-08-25Dorl, James J Esq RENEWAL7Onyama Limba
1006Wickens N DilliardRussia2026-09-19Feiner Bros NEGOTIATION91Bernardo Dominic
1007Francesco Q AmigonIndia2026-08-25Chapman, Ross E Esq NEGOTIATION3Onyama Limba
1008David S FlosiRussia2026-09-05Benton, John B Jr NEGOTIATION18Amy Elsner
1009Jefferson G KolmetzAustralia2026-09-12King, Christopher A Esq NEW86Onyama Limba
1010Aika J BriddickJapan2026-08-27Printing Dimensions NEW11Bernardo Dominic
1011Rodrigues V NickaFrance2026-09-04Commercial Press PROPOSAL90Asiya Javayant
1012Mayumi D PerinJapan2026-09-08Chemel, James L Cpa UNQUALIFIED10Bernardo Dominic
1013Jones E MaletGermany2026-09-02King, Christopher A Esq PROPOSAL34Ivan Magalhaes
1014Leon J StensethArgentina2026-09-09Chemel, James L Cpa RENEWAL13Ivan Magalhaes
1015Johnson R PaprockiCanada2026-09-06Rousseaux, Michael Esq PROPOSAL64Elwin Sharvill
1016Smith G PaprockiSpain2026-09-12Benton, John B Jr QUALIFIED0Asiya Javayant
1017Octavia P VenereItaly2026-09-03Chemel, James L Cpa PROPOSAL67Onyama Limba
1018Costa V ShinkoItaly2026-08-24Chemel, James L Cpa NEW84Xuxue Feng
1019Stacey J SlusarskiFrance2026-09-19Dorl, James J Esq UNQUALIFIED48Amy Elsner
1020Jefferson U MorascaGermany2026-08-27Benton, John B Jr RENEWAL16Xuxue Feng
1021Aika F ShinkoJapan2026-08-27Printing Dimensions UNQUALIFIED28Bernardo Dominic
1022Darci E AmigonJapan2026-08-28Rousseaux, Michael Esq PROPOSAL31Amy Elsner
1023Murillo J StensethCanada2026-09-03Truhlar And Truhlar Attys QUALIFIED85Asiya Javayant
1024Alejandro F InouyeJapan2026-09-01Commercial Press NEW31Bernardo Dominic
1025David M GillianFrance2026-09-02Rangoni Of Florence QUALIFIED96Xuxue Feng
1026Greenwood L GillianUnited Kingdom2026-09-15Printing Dimensions UNQUALIFIED31Onyama Limba
1027Deepesh M GarufiSpain2026-09-17Chanay, Jeffrey A Esq UNQUALIFIED89Ivan Magalhaes
1028Mayumi Z CaldareraArgentina2026-08-27Chapman, Ross E Esq NEGOTIATION28Bernardo Dominic
1029Nicolas Y OstroskyFrance2026-09-03King, Christopher A Esq UNQUALIFIED63Xuxue Feng
1030Kadeem X FigeroaGermany2026-09-16Morlong Associates NEW4Anna Fali
1031Juan R StensethSpain2026-09-07Chemel, James L Cpa QUALIFIED91Onyama Limba
1032Ashley Q PoquetteCanada2026-09-06Rousseaux, Michael Esq QUALIFIED13Ioni Bowcher
1033Izzy M GillianSpain2026-08-26Commercial Press QUALIFIED39Ioni Bowcher
1034Francesco L CampainGermany2026-09-12Printing Dimensions NEGOTIATION95Xuxue Feng
1035Munro S DilliardBrazil2026-09-16Chanay, Jeffrey A Esq NEW70Xuxue Feng
1036James D NestleFrance2026-08-27Dorl, James J Esq UNQUALIFIED81Anna Fali
1037Stacey V MaletIndia2026-09-08Feltz Printing Service RENEWAL50Ioni Bowcher
1038Kaitlin D SergiAustralia2026-09-18Rangoni Of Florence PROPOSAL50Amy Elsner
1039Octavia B RoysterIndia2026-09-02Benton, John B Jr NEGOTIATION73Ioni Bowcher
1040Jeanfrancois L MaletItaly2026-08-22Morlong Associates NEGOTIATION13Amy Elsner
1041Jefferson J TollnerRussia2026-09-09Buckley Miller Wright RENEWAL2Elwin Sharvill
1042Octavia M RoysterCanada2026-09-08Printing Dimensions RENEWAL16Asiya Javayant
1043Ricardo R VocelkaUnited Kingdom2026-08-27Benton, John B Jr RENEWAL35Onyama Limba
1044Arvin Z CaldareraCanada2026-09-05Chemel, James L Cpa NEGOTIATION32Xuxue Feng
1045Jennifer L NestleUnited Kingdom2026-08-31Dorl, James J Esq PROPOSAL34Onyama Limba
1046James R SergiArgentina2026-09-18Buckley Miller Wright QUALIFIED76Ivan Magalhaes
1047Faith F NestleGermany2026-08-30Feiner Bros UNQUALIFIED12Stephen Shaw
1048Ivar K KolmetzCanada2026-08-31Feltz Printing Service QUALIFIED1Bernardo Dominic
1049Jefferson F CampainArgentina2026-09-07Rousseaux, Michael Esq UNQUALIFIED80Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Deepesh T ChuiGermanyXuxue Feng QUALIFIED
Kaitlin X NickaAustraliaAsiya Javayant UNQUALIFIED
Cody V MaletCanadaIvan Magalhaes PROPOSAL
Rodrigues P CaudyArgentinaBernardo Dominic UNQUALIFIED
Emily X PoquetteItalyAnna Fali NEGOTIATION
Munro T WhobreyUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez I StockhamArgentinaElwin Sharvill NEGOTIATION
Chavez I BowleyGermanyAsiya Javayant UNQUALIFIED
Darci K KuskoSpainAnna Fali NEW
Aditya N WieserSpainXuxue Feng RENEWAL
Tony L OstroskyJapanXuxue Feng UNQUALIFIED
Isabel P BowleyAustraliaElwin Sharvill NEW
Murillo P GauchoCanadaAsiya Javayant PROPOSAL
Nicolas O GillianGermanyAsiya Javayant NEW
Deepesh P SaylorsSpainStephen Shaw RENEWAL
Emily P BologniaCanadaIoni Bowcher NEW
Leja D MaletJapanAmy Elsner PROPOSAL
Aruna A MaletJapanAnna Fali UNQUALIFIED
Leja G IturbideSpainIoni Bowcher NEW
Sinclair K MaletUnited KingdomXuxue Feng QUALIFIED
Murillo J StockhamRussiaIvan Magalhaes PROPOSAL
Silvio E SergiAustraliaAsiya Javayant PROPOSAL
Alejandro G SchemmerFranceIvan Magalhaes UNQUALIFIED
Leon S FlosiFranceElwin Sharvill NEGOTIATION
Deepesh V KolmetzItalyIvan Magalhaes RENEWAL
Morrow Z RulapaughUnited KingdomAsiya Javayant UNQUALIFIED
Cody U PaprockiCanadaAsiya Javayant PROPOSAL
David E RulapaughJapanStephen Shaw NEW
Jones U DarakjyAustraliaIvan Magalhaes NEGOTIATION
Silvio W CaldareraSpainBernardo Dominic PROPOSAL
Juan J SchemmerBrazilIoni Bowcher NEGOTIATION
Murillo G WaycottUnited KingdomIoni Bowcher RENEWAL
Mayumi U WhobreyAustraliaBernardo Dominic NEGOTIATION
Jennifer S StensethFranceAsiya Javayant PROPOSAL
Arvin T TollnerFranceElwin Sharvill PROPOSAL
Jennifer P MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Maria A ButtFranceStephen Shaw PROPOSAL
Jennifer Q OldroydItalyAsiya Javayant UNQUALIFIED
Kaitlin Y RoysterGermanyStephen Shaw QUALIFIED
Smith D VocelkaFranceBernardo Dominic NEGOTIATION
Greenwood K StockhamUnited KingdomElwin Sharvill QUALIFIED
Jones H GillianFranceElwin Sharvill RENEWAL
Johnson S KolmetzUnited KingdomAnna Fali PROPOSAL
Jefferson N RulapaughSpainAsiya Javayant PROPOSAL
Salvatore Q MacleadGermanyXuxue Feng QUALIFIED
Jennifer D DoeCanadaOnyama Limba PROPOSAL
Leon X AmigonCanadaAmy Elsner QUALIFIED
Tony K FollerAustraliaOnyama Limba NEW
Clifford X FigeroaAustraliaOnyama Limba NEW
Greenwood U SchemmerBrazilStephen Shaw NEW
Frozen Columns
Name
Ashley D Oldroyd
Misaki H Albares
Aruna U Stenseth
Murillo O Iturbide
Maisha K Bolognia
Ricardo M Amigon
James W Albares
Johnson E Inouye
Maisha Q Vocelka
Aditya U Darakjy
Faith N Rim
Cody B Campain
Jennifer H Kolmetz
Kaitlin G Vocelka
Munro P Rim
Clifford E Ruta
Leon R Stenseth
Sinclair Y Butt
Tony T Venere
Alejandro C Stockham
Kaitlin A Bolognia
Ashley E Ostrosky
Izzy U Dilliard
Stacey R Bowley
Ivar G Briddick
Wickens M Whobrey
Juan F Nicka
Chavez K Figeroa
Ashley W Shinko
Tony E Rulapaugh
Aika E Vocelka
Greenwood P Figeroa
Jefferson Q Wieser
Cody W Kolmetz
Rodrigues F Wieser
Smith O Poquette
Emily H Nicka
Ashley G Glick
Jeanfrancois Z Slusarski
Greenwood G Figeroa
Wickens Z Nicka
David N Kusko
Ashley W Figeroa
Jeanfrancois J Kusko
Smith A Maclead
Aditya X Kolmetz
Darci P Figeroa
Chavez P Venere
Maria I Tollner
Jefferson V Wieser
IdCountryDate
1000Russia2026-09-13
1001India2026-08-22
1002Australia2026-08-23
1003Spain2026-08-30
1004Canada2026-09-06
1005Italy2026-09-15
1006Russia2026-08-25
1007Brazil2026-08-31
1008India2026-08-21
1009Brazil2026-09-10
1010Japan2026-09-10
1011Russia2026-08-21
1012Spain2026-09-01
1013Argentina2026-08-22
1014United Kingdom2026-08-29
1015Spain2026-09-05
1016France2026-09-03
1017Russia2026-09-17
1018Germany2026-09-12
1019Argentina2026-09-14
1020Canada2026-09-03
1021Germany2026-09-11
1022Germany2026-08-27
1023Germany2026-09-03
1024India2026-09-01
1025Argentina2026-09-15
1026Russia2026-09-18
1027Canada2026-09-05
1028France2026-08-22
1029India2026-08-29
1030Russia2026-08-21
1031Germany2026-09-12
1032Spain2026-08-25
1033Canada2026-09-05
1034France2026-09-12
1035France2026-08-24
1036Brazil2026-09-04
1037Australia2026-08-21
1038Brazil2026-09-06
1039Spain2026-08-23
1040France2026-09-04
1041United Kingdom2026-08-28
1042Germany2026-09-01
1043United Kingdom2026-09-05
1044Japan2026-08-28
1045Brazil2026-08-27
1046Italy2026-09-05
1047India2026-08-23
1048Japan2026-08-28
1049Japan2026-09-15

On-Demand Data

NameIdCountryDate
Octavia Y Slusarski1000Canada2026-09-17
Chavez Y Dilliard1001Japan2026-08-27
Salvatore R Stockham1002Russia2026-09-02
Maria F Dilliard1003Spain2026-09-01
Isabel V Caudy1004Australia2026-09-12
Leja B Paprocki1005Canada2026-08-31
Cody U Nicka1006Canada2026-09-05
Francesco L Malet1007Russia2026-09-13
Jones D Oldroyd1008Argentina2026-09-16
Maisha U Maclead1009Canada2026-09-14
Faith F Wieser1010Spain2026-09-04
James X Saylors1011Spain2026-09-13
Aruna T Malet1012Germany2026-09-16
Tony T Marrier1013Brazil2026-09-13
Wickens I Wieser1014Canada2026-08-26
Antonio Q Shinko1015France2026-09-14
Rodrigues Q Glick1016United Kingdom2026-09-11
Nicolas E Bolognia1017Japan2026-09-15
Claire E Venere1018Australia2026-08-25
Kadeem Q Slusarski1019France2026-09-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Z OldroydBrazilElwin Sharvill NEGOTIATION
Kaitlin D PerinGermanyOnyama Limba NEW
Sinclair P MarrierJapanAnna Fali NEGOTIATION
Juan P MorascaBrazilBernardo Dominic UNQUALIFIED
Leon N CampainArgentinaAnna Fali PROPOSAL
Jones Y RimIndiaAnna Fali RENEWAL
Chavez K DilliardGermanyAsiya Javayant UNQUALIFIED
Juan C PoquetteBrazilIvan Magalhaes PROPOSAL
Juan X PoquetteIndiaOnyama Limba NEGOTIATION
Wickens M SchemmerFranceBernardo Dominic RENEWAL
Kaitlin A BriddickArgentinaBernardo Dominic NEW
Misaki P OstroskyArgentinaIvan Magalhaes QUALIFIED
Jefferson Q MacleadBrazilAnna Fali RENEWAL
Isabel C MacleadFranceXuxue Feng UNQUALIFIED
Johnson P ShinkoFranceIoni Bowcher QUALIFIED
Chavez B OldroydAustraliaIvan Magalhaes QUALIFIED
Francesco B GillianAustraliaOnyama Limba PROPOSAL
Murillo Z MacleadGermanyStephen Shaw NEW
Jeanfrancois E FigeroaGermanyAnna Fali NEW
Aika Y AlbaresBrazilStephen Shaw PROPOSAL
Mujtaba T SchemmerIndiaIoni Bowcher PROPOSAL
Julie B SaylorsArgentinaAnna Fali PROPOSAL
Ricardo A InouyeGermanyAsiya Javayant NEW
Mujtaba A GauchoBrazilAnna Fali UNQUALIFIED
Smith X GillianFranceAmy Elsner NEW
Francesco G NickaJapanAmy Elsner RENEWAL
Jeanfrancois F InouyeUnited KingdomStephen Shaw UNQUALIFIED
Chavez H BowleyIndiaOnyama Limba NEW
Julie C CaldareraUnited KingdomBernardo Dominic RENEWAL
Jefferson Y RutaArgentinaIvan Magalhaes QUALIFIED
Arvin C PerinAustraliaIvan Magalhaes NEGOTIATION
Faith U BowleyArgentinaElwin Sharvill NEGOTIATION
Sinclair W SergiSpainAmy Elsner QUALIFIED
Leon N InouyeItalyAnna Fali UNQUALIFIED
Stacey I OldroydAustraliaElwin Sharvill PROPOSAL
Aditya C MorascaSpainOnyama Limba UNQUALIFIED
Morrow N RutaBrazilOnyama Limba PROPOSAL
Darci T DilliardBrazilOnyama Limba NEW
Francesco O MacleadGermanyStephen Shaw UNQUALIFIED
Ivar D FollerUnited KingdomIvan Magalhaes 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>