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
Clifford O StockhamGermanyAsiya Javayant UNQUALIFIED
Maisha V ButtBrazilElwin Sharvill QUALIFIED
Tony N BowleyJapanAnna Fali NEGOTIATION
Antonio Z RulapaughUnited KingdomIvan Magalhaes NEW
David D MarrierGermanyAmy Elsner RENEWAL
Aditya F BriddickAustraliaIoni Bowcher NEW
Tony A VenereItalyXuxue Feng QUALIFIED
James X DarakjyBrazilAnna Fali PROPOSAL
Jennifer D DoeUnited KingdomAnna Fali NEGOTIATION
Jefferson P MaletAustraliaAnna Fali NEW
Aruna E WhobreyIndiaAsiya Javayant NEW
Julie Z SchemmerItalyBernardo Dominic PROPOSAL
Maisha D RutaCanadaAmy Elsner PROPOSAL
Misaki M BowleyIndiaStephen Shaw UNQUALIFIED
Jefferson U CaudyFranceXuxue Feng PROPOSAL
Morrow V CampainIndiaAsiya Javayant PROPOSAL
Aruna F FigeroaItalyOnyama Limba UNQUALIFIED
Ashley M KuskoIndiaOnyama Limba PROPOSAL
Salvatore C IturbideItalyOnyama Limba QUALIFIED
Jennifer I BowleyIndiaIvan Magalhaes PROPOSAL
Ricardo W ChuiAustraliaIoni Bowcher PROPOSAL
David I WieserFranceStephen Shaw UNQUALIFIED
Jeanfrancois K DoeCanadaStephen Shaw UNQUALIFIED
Deepesh M PoquetteFranceXuxue Feng NEGOTIATION
Munro Z RutaGermanyStephen Shaw QUALIFIED
Octavia Q OldroydJapanIoni Bowcher QUALIFIED
Mayumi Y MaletIndiaIoni Bowcher QUALIFIED
Isabel E GlickUnited KingdomElwin Sharvill UNQUALIFIED
Isabel H OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas Q AlbaresJapanStephen Shaw PROPOSAL
Aruna V MarrierArgentinaBernardo Dominic RENEWAL
Octavia C CaldareraGermanyAnna Fali RENEWAL
Juan G DoeAustraliaIoni Bowcher NEGOTIATION
Murillo N RimGermanyBernardo Dominic PROPOSAL
Deepesh M InouyeBrazilBernardo Dominic NEW
Murillo U InouyeSpainBernardo Dominic RENEWAL
Munro C FollerRussiaXuxue Feng QUALIFIED
Rodrigues F OstroskyIndiaStephen Shaw NEW
Antonio P BowleyItalyAnna Fali QUALIFIED
Munro U KuskoIndiaOnyama Limba NEW
Murillo M CaudyFranceXuxue Feng QUALIFIED
Greenwood D FollerFranceIoni Bowcher UNQUALIFIED
Johnson E PerinCanadaXuxue Feng UNQUALIFIED
Octavia E CaldareraItalyAmy Elsner UNQUALIFIED
Greenwood L SlusarskiAustraliaAnna Fali UNQUALIFIED
Arvin H RimUnited KingdomAnna Fali PROPOSAL
Rodrigues J GlickCanadaXuxue Feng PROPOSAL
Darci O FlosiArgentinaAmy Elsner NEW
Jeanfrancois G GarufiArgentinaIoni Bowcher NEGOTIATION
Octavia M OldroydFranceAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan X NickaBrazilIoni Bowcher QUALIFIED
Jones F OldroydJapanIoni Bowcher NEW
Kadeem C SaylorsBrazilOnyama Limba NEW
Arvin S PerinItalyStephen Shaw UNQUALIFIED
Ricardo W GlickJapanXuxue Feng UNQUALIFIED
Leon C VocelkaItalyAnna Fali QUALIFIED
Deepesh B ChuiCanadaAsiya Javayant NEW
Jones Z GillianSpainIoni Bowcher NEGOTIATION
Clifford L OldroydArgentinaXuxue Feng QUALIFIED
Leja C AmigonAustraliaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony T DarakjyBrazil2026-09-23Chemel, James L Cpa NEW87Onyama Limba
1001Maisha N OstroskyIndia2026-09-26Feiner Bros NEW18Bernardo Dominic
1002Darci Y CampainGermany2026-09-21Chemel, James L Cpa RENEWAL44Elwin Sharvill
1003Arvin H NickaGermany2026-10-06Morlong Associates NEGOTIATION30Stephen Shaw
1004Salvatore X OldroydSpain2026-09-30Benton, John B Jr PROPOSAL82Elwin Sharvill
1005Clifford A SaylorsItaly2026-09-30Chemel, James L Cpa PROPOSAL31Ioni Bowcher
1006Jennifer Y DoeUnited Kingdom2026-09-15Chanay, Jeffrey A Esq NEGOTIATION83Anna Fali
1007Jennifer M KolmetzFrance2026-09-16Morlong Associates QUALIFIED26Amy Elsner
1008Johnson I MarrierGermany2026-10-05King, Christopher A Esq QUALIFIED61Onyama Limba
1009Antonio A MorascaSpain2026-09-15Printing Dimensions UNQUALIFIED39Amy Elsner
1010James L GarufiCanada2026-09-28Buckley Miller Wright NEW47Asiya Javayant
1011Maria Y FerenczRussia2026-09-15Chapman, Ross E Esq UNQUALIFIED19Elwin Sharvill
1012Tony H PerinRussia2026-10-10King, Christopher A Esq UNQUALIFIED59Onyama Limba
1013Rodrigues N VenereRussia2026-09-24Truhlar And Truhlar Attys QUALIFIED54Stephen Shaw
1014Francesco Z GillianUnited Kingdom2026-09-14Morlong Associates NEGOTIATION39Ioni Bowcher
1015Nicolas B KuskoFrance2026-09-22Feiner Bros UNQUALIFIED26Anna Fali
1016Jennifer B DarakjyGermany2026-09-22Commercial Press RENEWAL36Amy Elsner
1017Jeanfrancois I MacleadCanada2026-10-03Dorl, James J Esq NEW86Onyama Limba
1018Johnson K IturbideJapan2026-09-25Printing Dimensions NEW44Ioni Bowcher
1019Wickens I NickaUnited Kingdom2026-09-22Chapman, Ross E Esq NEW54Bernardo Dominic
1020Cody S DarakjyRussia2026-09-29Truhlar And Truhlar Attys UNQUALIFIED21Xuxue Feng
1021Kaitlin Z NestleUnited Kingdom2026-09-26Benton, John B Jr QUALIFIED80Bernardo Dominic
1022Tony J OldroydCanada2026-09-23Morlong Associates UNQUALIFIED65Bernardo Dominic
1023Johnson R WieserJapan2026-09-18Chemel, James L Cpa RENEWAL65Asiya Javayant
1024Jeanfrancois Z MarrierCanada2026-10-12Chemel, James L Cpa QUALIFIED2Ioni Bowcher
1025Adams W WieserCanada2026-09-20Buckley Miller Wright RENEWAL11Ivan Magalhaes
1026Emily G PaprockiUnited Kingdom2026-09-22Buckley Miller Wright UNQUALIFIED55Onyama Limba
1027Aditya W CaldareraRussia2026-10-08King, Christopher A Esq NEW3Anna Fali
1028Adams U FerenczUnited Kingdom2026-10-12Feltz Printing Service RENEWAL85Stephen Shaw
1029Clifford A CaldareraUnited Kingdom2026-09-30Dorl, James J Esq QUALIFIED84Elwin Sharvill
1030Ashley G IturbideJapan2026-10-11Buckley Miller Wright QUALIFIED62Bernardo Dominic
1031Jefferson L MaletIndia2026-09-20Buckley Miller Wright UNQUALIFIED94Asiya Javayant
1032Claire V VenereBrazil2026-10-13Commercial Press PROPOSAL13Amy Elsner
1033Greenwood E RimGermany2026-10-02Chemel, James L Cpa RENEWAL33Amy Elsner
1034Sinclair D ShinkoBrazil2026-09-22Morlong Associates NEGOTIATION62Amy Elsner
1035Chavez E DarakjyCanada2026-09-30Morlong Associates RENEWAL95Asiya Javayant
1036Johnson O WieserFrance2026-10-06Printing Dimensions NEGOTIATION93Onyama Limba
1037Stacey V InouyeArgentina2026-09-28Chemel, James L Cpa RENEWAL52Ivan Magalhaes
1038Kaitlin A GarufiGermany2026-10-01Rangoni Of Florence PROPOSAL39Elwin Sharvill
1039Mayumi X FigeroaIndia2026-09-14Chapman, Ross E Esq RENEWAL2Ivan Magalhaes
1040Munro L MacleadSpain2026-09-30King, Christopher A Esq NEGOTIATION69Bernardo Dominic
1041Wickens W FigeroaAustralia2026-10-04Chanay, Jeffrey A Esq NEGOTIATION60Stephen Shaw
1042Julie S MaletItaly2026-09-21Truhlar And Truhlar Attys NEGOTIATION54Onyama Limba
1043David T GillianRussia2026-09-18Benton, John B Jr UNQUALIFIED12Elwin Sharvill
1044Deepesh M CaudyIndia2026-10-04Benton, John B Jr UNQUALIFIED40Stephen Shaw
1045Deepesh W GillianIndia2026-09-27Rousseaux, Michael Esq UNQUALIFIED27Ioni Bowcher
1046Chavez C CaudyBrazil2026-09-30Chanay, Jeffrey A Esq NEGOTIATION59Asiya Javayant
1047Emily C BriddickSpain2026-09-28King, Christopher A Esq UNQUALIFIED9Elwin Sharvill
1048Maria S MacleadUnited Kingdom2026-09-14Morlong Associates RENEWAL6Onyama Limba
1049Salvatore C ShinkoJapan2026-09-27Buckley Miller Wright QUALIFIED73Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois K GillianJapanOnyama Limba RENEWAL
Morrow T InouyeIndiaOnyama Limba PROPOSAL
Stacey R InouyeIndiaStephen Shaw NEW
Smith P VocelkaJapanIoni Bowcher QUALIFIED
Munro W AlbaresGermanyStephen Shaw PROPOSAL
Tony R WhobreyFranceAsiya Javayant UNQUALIFIED
Mujtaba F BologniaItalyAsiya Javayant UNQUALIFIED
Octavia R ChuiBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois D DarakjyRussiaOnyama Limba PROPOSAL
Silvio E VocelkaJapanElwin Sharvill UNQUALIFIED
Sinclair W VocelkaCanadaXuxue Feng NEGOTIATION
Aruna M CaldareraGermanyStephen Shaw NEGOTIATION
Morrow F AlbaresRussiaIvan Magalhaes QUALIFIED
Sinclair H NestleJapanAsiya Javayant QUALIFIED
Emily S DilliardFranceBernardo Dominic NEW
Misaki H BriddickJapanStephen Shaw NEW
Jeanfrancois L OldroydUnited KingdomAmy Elsner RENEWAL
Jefferson Y RoysterArgentinaIoni Bowcher NEW
Juan U GlickArgentinaIoni Bowcher PROPOSAL
Johnson L GauchoAustraliaBernardo Dominic UNQUALIFIED
Ricardo H GlickFranceAmy Elsner UNQUALIFIED
Jefferson V FollerItalyAsiya Javayant RENEWAL
Stacey Z StensethUnited KingdomIvan Magalhaes NEGOTIATION
Johnson U SlusarskiJapanAnna Fali PROPOSAL
Morrow L RimArgentinaOnyama Limba RENEWAL
Mayumi M KuskoAustraliaElwin Sharvill RENEWAL
James Q TollnerItalyStephen Shaw NEGOTIATION
Rodrigues O MaletCanadaAsiya Javayant NEGOTIATION
Ashley R ShinkoArgentinaOnyama Limba NEW
Leja H FerenczSpainStephen Shaw NEW
Ivar E StockhamBrazilAnna Fali PROPOSAL
Ivar Y WieserGermanyIoni Bowcher PROPOSAL
James R CaldareraGermanyXuxue Feng PROPOSAL
Faith Y MorascaGermanyAnna Fali PROPOSAL
Claire N RoysterAustraliaElwin Sharvill PROPOSAL
Faith B DarakjyUnited KingdomStephen Shaw NEGOTIATION
Claire O DoeRussiaAnna Fali QUALIFIED
Tony T PaprockiRussiaAmy Elsner QUALIFIED
Ivar D BowleyItalyAnna Fali NEW
Silvio P DarakjyGermanyStephen Shaw PROPOSAL
Sinclair T GillianBrazilOnyama Limba NEW
Rodrigues P NestleUnited KingdomAsiya Javayant NEGOTIATION
Misaki K OldroydJapanAmy Elsner NEW
Darci M PerinFranceElwin Sharvill UNQUALIFIED
David K IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois L FlosiUnited KingdomIoni Bowcher RENEWAL
Kaitlin X RutaUnited KingdomAmy Elsner NEGOTIATION
Maisha G OldroydRussiaElwin Sharvill RENEWAL
Nicolas F GillianUnited KingdomStephen Shaw QUALIFIED
Leja W BriddickJapanIoni Bowcher QUALIFIED
Frozen Columns
Name
Aditya C Butt
Arvin L Garufi
Faith B Tollner
Sinclair V Doe
Jefferson M Doe
Jeanfrancois W Figeroa
Francesco F Amigon
James T Nestle
James I Bolognia
Jennifer U Malet
Cody V Gaucho
Smith Z Wieser
Clifford Y Bowley
Emily S Royster
Jefferson P Dilliard
David B Figeroa
Jeanfrancois S Kusko
Emily A Butt
Maria J Briddick
Salvatore Y Waycott
Tony W Gaucho
Smith I Royster
Clifford H Ostrosky
Isabel Z Schemmer
Juan Y Amigon
Chavez G Perin
Francesco M Gaucho
Deepesh M Nicka
Tony A Chui
Jones C Stenseth
Nicolas A Doe
Smith S Albares
Alejandro Z Foller
Faith L Saylors
Greenwood S Poquette
Mujtaba R Malet
Kadeem G Dilliard
Wickens I Paprocki
Jefferson X Foller
Claire G Ruta
Jefferson W Kusko
Faith W Saylors
Aditya J Schemmer
Rodrigues A Wieser
Francesco L Venere
Munro X Garufi
Juan J Nicka
Misaki O Stockham
Tony A Doe
Greenwood T Rim
IdCountryDate
1000India2026-10-13
1001France2026-09-25
1002India2026-10-02
1003Germany2026-09-23
1004India2026-10-03
1005India2026-10-11
1006Argentina2026-09-16
1007Canada2026-10-03
1008India2026-09-19
1009Argentina2026-09-16
1010Italy2026-10-12
1011India2026-09-21
1012France2026-09-24
1013Canada2026-09-25
1014Canada2026-10-10
1015Brazil2026-09-20
1016Japan2026-10-02
1017Canada2026-09-19
1018Russia2026-09-22
1019Argentina2026-09-17
1020Canada2026-10-08
1021India2026-10-09
1022Italy2026-10-01
1023Italy2026-10-02
1024Italy2026-10-10
1025France2026-10-12
1026Italy2026-09-15
1027Argentina2026-09-30
1028Japan2026-10-11
1029Germany2026-10-10
1030Argentina2026-09-14
1031France2026-09-15
1032Germany2026-10-04
1033Italy2026-10-02
1034United Kingdom2026-10-13
1035Italy2026-09-23
1036Spain2026-09-28
1037Russia2026-10-10
1038Australia2026-09-19
1039United Kingdom2026-09-17
1040France2026-09-15
1041Italy2026-10-04
1042Japan2026-10-08
1043United Kingdom2026-09-24
1044Italy2026-09-16
1045Australia2026-09-17
1046Russia2026-09-14
1047Italy2026-09-15
1048Argentina2026-09-14
1049Canada2026-09-14

On-Demand Data

NameIdCountryDate
Aruna D Bowley1000United Kingdom2026-10-11
Chavez Z Oldroyd1001Japan2026-09-26
Claire P Glick1002Japan2026-09-19
Kaitlin G Saylors1003Germany2026-09-26
Maisha R Dilliard1004Italy2026-10-11
Jeanfrancois B Kolmetz1005India2026-09-21
Francesco W Gillian1006France2026-09-30
Octavia K Campain1007Spain2026-09-21
Tony J Kusko1008Germany2026-10-06
Costa X Briddick1009Canada2026-10-05
Aruna V Whobrey1010Italy2026-10-02
Ashley R Inouye1011Canada2026-10-03
Mujtaba U Malet1012France2026-09-20
David Y Venere1013United Kingdom2026-10-12
Nicolas F Nicka1014France2026-09-25
Maisha E Poquette1015Russia2026-10-10
Tony V Stockham1016Russia2026-10-02
Francesco Z Butt1017Japan2026-10-02
Arvin U Paprocki1018Brazil2026-09-22
Izzy L Whobrey1019Russia2026-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily B DoeItalyAsiya Javayant QUALIFIED
Clifford V BologniaArgentinaIoni Bowcher RENEWAL
Sinclair M WhobreyCanadaBernardo Dominic QUALIFIED
James J SlusarskiArgentinaAnna Fali QUALIFIED
Jones M SchemmerItalyIvan Magalhaes NEGOTIATION
Wickens T WieserUnited KingdomAmy Elsner NEGOTIATION
Emily G OstroskyCanadaStephen Shaw NEGOTIATION
Wickens E FerenczSpainBernardo Dominic PROPOSAL
Mayumi L CaudyRussiaAmy Elsner RENEWAL
Maisha H ChuiSpainBernardo Dominic QUALIFIED
Rodrigues A TollnerGermanyElwin Sharvill NEGOTIATION
Izzy E WhobreyJapanIoni Bowcher QUALIFIED
Isabel L WieserIndiaAnna Fali RENEWAL
Clifford Z MarrierGermanyAsiya Javayant PROPOSAL
Maisha R BowleyIndiaAsiya Javayant NEGOTIATION
Salvatore M RutaGermanyOnyama Limba NEGOTIATION
Costa C CaudyFranceStephen Shaw UNQUALIFIED
Alejandro X RutaCanadaBernardo Dominic PROPOSAL
Jefferson J GillianRussiaElwin Sharvill RENEWAL
Jones G NickaRussiaElwin Sharvill PROPOSAL
Maria C TollnerSpainAsiya Javayant UNQUALIFIED
Deepesh A KuskoBrazilOnyama Limba PROPOSAL
Rodrigues R KolmetzSpainXuxue Feng PROPOSAL
Nicolas T IturbideAustraliaBernardo Dominic PROPOSAL
Kaitlin H OldroydIndiaBernardo Dominic UNQUALIFIED
Sinclair R WhobreyBrazilAsiya Javayant QUALIFIED
Jennifer F VenereCanadaAsiya Javayant PROPOSAL
Ivar Y MaletRussiaXuxue Feng RENEWAL
Izzy S NickaJapanIoni Bowcher PROPOSAL
Salvatore G FigeroaCanadaXuxue Feng PROPOSAL
Morrow Y GauchoRussiaAmy Elsner RENEWAL
Smith Y MaletFranceAsiya Javayant QUALIFIED
Octavia Q WaycottBrazilOnyama Limba PROPOSAL
Maria N TollnerCanadaAnna Fali NEW
Mayumi X PerinCanadaAmy Elsner PROPOSAL
Francesco Z DoeIndiaAmy Elsner RENEWAL
Clifford L DoeRussiaAmy Elsner QUALIFIED
Julie T WaycottArgentinaStephen Shaw NEW
Silvio W BowleyJapanBernardo Dominic RENEWAL
David G VocelkaUnited KingdomStephen Shaw UNQUALIFIED

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