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
Octavia L KolmetzAustraliaAsiya Javayant QUALIFIED
Ricardo D MacleadArgentinaElwin Sharvill QUALIFIED
Stacey C RimJapanStephen Shaw NEGOTIATION
James V PerinItalyStephen Shaw NEW
Sinclair X TollnerArgentinaIoni Bowcher RENEWAL
Morrow A BologniaIndiaXuxue Feng PROPOSAL
Morrow C MaletBrazilXuxue Feng QUALIFIED
Juan J FlosiItalyStephen Shaw UNQUALIFIED
Izzy S RutaBrazilIoni Bowcher NEW
Mujtaba H StockhamFranceOnyama Limba NEGOTIATION
Mayumi F MorascaBrazilBernardo Dominic NEGOTIATION
Jefferson M SaylorsBrazilIvan Magalhaes QUALIFIED
Munro Y IturbideRussiaIoni Bowcher QUALIFIED
Nicolas A MorascaJapanIoni Bowcher UNQUALIFIED
David B SergiAustraliaAsiya Javayant RENEWAL
James Z MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson Q BowleyIndiaAmy Elsner RENEWAL
Ashley I OldroydCanadaAsiya Javayant NEW
Aruna A ButtJapanAnna Fali PROPOSAL
Izzy D VenereGermanyAnna Fali RENEWAL
David V MacleadArgentinaElwin Sharvill NEGOTIATION
Adams P DilliardJapanIoni Bowcher QUALIFIED
Morrow Z CaldareraAustraliaAsiya Javayant RENEWAL
Emily T PerinBrazilIvan Magalhaes PROPOSAL
Chavez R SergiGermanyIvan Magalhaes NEW
Ivar J AmigonAustraliaBernardo Dominic NEW
James W MorascaJapanBernardo Dominic QUALIFIED
Mayumi M SaylorsBrazilBernardo Dominic NEW
Kaitlin N OstroskyJapanAnna Fali QUALIFIED
Jefferson N RimUnited KingdomAmy Elsner RENEWAL
Emily A MacleadArgentinaStephen Shaw NEW
Murillo P RimUnited KingdomIoni Bowcher UNQUALIFIED
Jones Z FigeroaIndiaBernardo Dominic NEGOTIATION
Jeanfrancois T RoysterFranceBernardo Dominic QUALIFIED
Costa U GauchoAustraliaIvan Magalhaes QUALIFIED
Jefferson D FlosiArgentinaAnna Fali NEW
Johnson K InouyeSpainIvan Magalhaes UNQUALIFIED
Nicolas A ShinkoAustraliaStephen Shaw RENEWAL
Isabel E DarakjyFranceBernardo Dominic RENEWAL
Misaki R DarakjyFranceStephen Shaw UNQUALIFIED
Silvio D StensethCanadaXuxue Feng NEGOTIATION
Salvatore R AlbaresBrazilIvan Magalhaes UNQUALIFIED
James P SaylorsJapanIoni Bowcher RENEWAL
Cody U RulapaughGermanyOnyama Limba UNQUALIFIED
Ricardo Z DoeSpainXuxue Feng QUALIFIED
Johnson J KolmetzIndiaOnyama Limba NEW
Chavez B TollnerArgentinaAsiya Javayant NEW
Ashley L FigeroaFranceAmy Elsner NEGOTIATION
Cody K DoeBrazilIvan Magalhaes NEW
Leja W WieserGermanyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna A KuskoFranceAmy Elsner QUALIFIED
Ricardo F WieserFranceIvan Magalhaes QUALIFIED
Murillo W RutaCanadaAsiya Javayant PROPOSAL
Kadeem M GauchoBrazilAsiya Javayant QUALIFIED
Francesco H PaprockiArgentinaStephen Shaw UNQUALIFIED
Ashley X StockhamArgentinaOnyama Limba RENEWAL
Misaki A ShinkoJapanAmy Elsner NEGOTIATION
Alejandro O MarrierSpainElwin Sharvill PROPOSAL
Tony C CampainJapanIvan Magalhaes QUALIFIED
Silvio U VenereJapanElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha L SlusarskiAustralia2026-09-11Chanay, Jeffrey A Esq NEW68Stephen Shaw
1001Cody I RoysterFrance2026-08-23Morlong Associates RENEWAL12Stephen Shaw
1002Smith L FollerFrance2026-09-07Chemel, James L Cpa UNQUALIFIED4Stephen Shaw
1003Stacey C CaldareraFrance2026-09-11Rousseaux, Michael Esq QUALIFIED4Amy Elsner
1004Mayumi I VenereArgentina2026-09-07Morlong Associates NEW29Ivan Magalhaes
1005Juan C BologniaItaly2026-09-05Printing Dimensions RENEWAL59Stephen Shaw
1006Kadeem K StensethArgentina2026-09-14Chapman, Ross E Esq QUALIFIED8Onyama Limba
1007Leon X RulapaughBrazil2026-09-17Truhlar And Truhlar Attys NEGOTIATION10Ioni Bowcher
1008Cody S FlosiFrance2026-08-22King, Christopher A Esq UNQUALIFIED5Bernardo Dominic
1009Cody J KolmetzFrance2026-08-22Feiner Bros RENEWAL7Onyama Limba
1010Tony C ChuiGermany2026-09-01King, Christopher A Esq NEW43Ivan Magalhaes
1011Greenwood E CaldareraGermany2026-09-14Rousseaux, Michael Esq RENEWAL48Stephen Shaw
1012Mujtaba E CampainRussia2026-09-19Chanay, Jeffrey A Esq QUALIFIED18Onyama Limba
1013Emily I MaletFrance2026-09-05Chanay, Jeffrey A Esq QUALIFIED27Ioni Bowcher
1014Julie M DarakjyUnited Kingdom2026-08-24Buckley Miller Wright PROPOSAL96Amy Elsner
1015Kaitlin X WhobreyArgentina2026-08-22Morlong Associates NEGOTIATION29Ivan Magalhaes
1016Kaitlin A StockhamCanada2026-08-26Chemel, James L Cpa RENEWAL65Stephen Shaw
1017Chavez V RulapaughFrance2026-09-17Chapman, Ross E Esq RENEWAL96Stephen Shaw
1018Aruna W MaletUnited Kingdom2026-09-19Chapman, Ross E Esq NEW42Onyama Limba
1019Julie B FollerSpain2026-09-07Commercial Press PROPOSAL10Asiya Javayant
1020Maria R NestleGermany2026-09-09Printing Dimensions UNQUALIFIED46Onyama Limba
1021Leon C NickaGermany2026-09-18Commercial Press PROPOSAL37Ivan Magalhaes
1022Leja G PerinUnited Kingdom2026-08-23Rangoni Of Florence NEW6Anna Fali
1023Cody Q WhobreyGermany2026-09-13Chemel, James L Cpa NEW66Ivan Magalhaes
1024Ivar U ButtAustralia2026-09-02Chapman, Ross E Esq NEGOTIATION81Elwin Sharvill
1025Faith Z StockhamBrazil2026-09-01Feiner Bros QUALIFIED29Bernardo Dominic
1026Kadeem M RutaCanada2026-09-18King, Christopher A Esq NEGOTIATION36Xuxue Feng
1027Deepesh N VenereBrazil2026-09-13Commercial Press NEGOTIATION81Bernardo Dominic
1028Clifford U BriddickUnited Kingdom2026-09-18Benton, John B Jr NEGOTIATION96Asiya Javayant
1029Smith Q MacleadItaly2026-09-16Feiner Bros PROPOSAL10Bernardo Dominic
1030Tony V CampainAustralia2026-08-22Printing Dimensions NEGOTIATION79Ivan Magalhaes
1031Smith B ButtIndia2026-09-04Printing Dimensions NEW47Anna Fali
1032Arvin S RulapaughArgentina2026-09-16Printing Dimensions NEGOTIATION82Anna Fali
1033Aditya P MarrierItaly2026-08-29Dorl, James J Esq QUALIFIED41Amy Elsner
1034Octavia K PoquetteUnited Kingdom2026-09-04Feltz Printing Service RENEWAL17Anna Fali
1035Jefferson C PaprockiGermany2026-08-23Truhlar And Truhlar Attys QUALIFIED19Ioni Bowcher
1036Misaki S StensethUnited Kingdom2026-09-12Benton, John B Jr UNQUALIFIED0Elwin Sharvill
1037Cody Q CaudyAustralia2026-09-20Chanay, Jeffrey A Esq UNQUALIFIED49Elwin Sharvill
1038Johnson I RutaBrazil2026-08-29Benton, John B Jr NEW63Onyama Limba
1039Aika A OldroydBrazil2026-08-25Dorl, James J Esq RENEWAL7Amy Elsner
1040Deepesh W CaudyItaly2026-08-24Buckley Miller Wright QUALIFIED68Anna Fali
1041Adams R BowleyItaly2026-08-30Chemel, James L Cpa NEW89Asiya Javayant
1042Rodrigues R FerenczGermany2026-08-29Feltz Printing Service UNQUALIFIED27Elwin Sharvill
1043Alejandro C InouyeRussia2026-09-04Truhlar And Truhlar Attys NEGOTIATION74Amy Elsner
1044Darci P DilliardItaly2026-09-03Commercial Press QUALIFIED80Stephen Shaw
1045Jefferson B StockhamArgentina2026-08-27Chemel, James L Cpa QUALIFIED18Xuxue Feng
1046Alejandro F RoysterUnited Kingdom2026-08-31Morlong Associates UNQUALIFIED65Amy Elsner
1047Claire B RutaJapan2026-09-06Rousseaux, Michael Esq QUALIFIED89Bernardo Dominic
1048Octavia B TollnerJapan2026-09-20Buckley Miller Wright NEGOTIATION88Onyama Limba
1049Julie L StensethAustralia2026-08-29Truhlar And Truhlar Attys QUALIFIED41Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair T RutaIndiaAsiya Javayant QUALIFIED
Darci K SaylorsFranceAsiya Javayant UNQUALIFIED
Octavia C CampainRussiaAsiya Javayant NEW
Murillo I VocelkaItalyAsiya Javayant PROPOSAL
Misaki Y VocelkaJapanStephen Shaw NEGOTIATION
Ivar P GauchoItalyIvan Magalhaes UNQUALIFIED
Maisha W StensethCanadaElwin Sharvill QUALIFIED
Aruna L WieserAustraliaElwin Sharvill QUALIFIED
Aika H StensethUnited KingdomStephen Shaw PROPOSAL
Costa O SchemmerItalyIvan Magalhaes NEGOTIATION
Chavez D SergiRussiaStephen Shaw UNQUALIFIED
Sinclair G MaletIndiaBernardo Dominic NEGOTIATION
Maisha O CampainSpainIvan Magalhaes PROPOSAL
Misaki O MaletItalyAnna Fali NEGOTIATION
Smith T FigeroaUnited KingdomStephen Shaw UNQUALIFIED
Kadeem B GillianAustraliaBernardo Dominic PROPOSAL
Greenwood N MorascaGermanyAsiya Javayant RENEWAL
Aditya H FerenczGermanyXuxue Feng QUALIFIED
Tony V MaletJapanAnna Fali PROPOSAL
Munro O VenereUnited KingdomBernardo Dominic UNQUALIFIED
Munro U MaletItalyIvan Magalhaes UNQUALIFIED
Antonio J ShinkoArgentinaStephen Shaw PROPOSAL
Isabel M ShinkoUnited KingdomStephen Shaw RENEWAL
Maisha K GlickItalyAnna Fali NEW
Clifford Q RimUnited KingdomBernardo Dominic UNQUALIFIED
Mujtaba J BologniaGermanyStephen Shaw QUALIFIED
Ashley H InouyeItalyOnyama Limba QUALIFIED
Jennifer B IturbideIndiaElwin Sharvill UNQUALIFIED
Kaitlin J IturbideSpainElwin Sharvill RENEWAL
Johnson J MarrierCanadaElwin Sharvill RENEWAL
Aruna W MaletItalyElwin Sharvill PROPOSAL
Claire S StensethGermanyOnyama Limba NEGOTIATION
Tony U DarakjyBrazilAmy Elsner QUALIFIED
Aika F StockhamCanadaAnna Fali QUALIFIED
Jennifer G NickaIndiaAsiya Javayant RENEWAL
Aika V FerenczJapanAnna Fali PROPOSAL
Silvio K FerenczRussiaXuxue Feng NEW
Ashley J GlickUnited KingdomXuxue Feng QUALIFIED
Murillo D DoeJapanAnna Fali NEGOTIATION
Jefferson E DoeAustraliaIvan Magalhaes QUALIFIED
Ivar R SchemmerJapanBernardo Dominic NEGOTIATION
Cody E GauchoBrazilStephen Shaw UNQUALIFIED
Aika M GauchoJapanIvan Magalhaes PROPOSAL
Smith C AlbaresAustraliaIoni Bowcher UNQUALIFIED
Maria F SaylorsIndiaAnna Fali QUALIFIED
Ivar I WaycottAustraliaBernardo Dominic UNQUALIFIED
Smith J NickaFranceAsiya Javayant NEW
Ricardo N GarufiItalyXuxue Feng NEGOTIATION
Kaitlin Q WhobreyIndiaAnna Fali NEW
Octavia O RimFranceXuxue Feng NEW
Frozen Columns
Name
Darci W Shinko
Jennifer T Rulapaugh
Ricardo G Caldarera
Nicolas C Ostrosky
Leon X Foller
Izzy E Campain
Octavia L Foller
David M Perin
Silvio B Butt
Jefferson N Morasca
Aditya A Whobrey
Tony F Shinko
Wickens Z Morasca
David P Iturbide
Izzy R Maclead
Jeanfrancois T Rim
Ricardo B Darakjy
Jones A Figeroa
Francesco O Glick
Cody L Butt
Kadeem I Waycott
Adams C Royster
Juan P Gaucho
Greenwood O Albares
Murillo P Oldroyd
Ricardo T Kolmetz
David E Caudy
Rodrigues Z Gillian
Ricardo U Rim
Claire D Caudy
Jefferson C Schemmer
Claire I Kusko
Johnson D Gaucho
Johnson U Schemmer
Mayumi Y Kolmetz
Salvatore O Malet
Jeanfrancois O Nestle
Jennifer M Royster
Leon X Whobrey
Kaitlin U Ruta
Jones Y Marrier
Faith T Ferencz
Ricardo R Caudy
Jeanfrancois Z Garufi
Smith W Gaucho
Maisha M Stenseth
Misaki H Briddick
Francesco M Darakjy
Rodrigues F Kolmetz
Izzy J Ruta
IdCountryDate
1000Germany2026-09-04
1001Russia2026-08-22
1002Spain2026-08-28
1003Australia2026-09-13
1004United Kingdom2026-08-24
1005Russia2026-08-27
1006Italy2026-08-30
1007Spain2026-09-15
1008Argentina2026-09-02
1009Argentina2026-08-27
1010Canada2026-08-26
1011Argentina2026-09-08
1012Japan2026-09-14
1013United Kingdom2026-08-29
1014Japan2026-09-18
1015Canada2026-08-26
1016Russia2026-09-05
1017Brazil2026-09-04
1018Canada2026-09-14
1019Argentina2026-08-23
1020France2026-08-29
1021Brazil2026-09-05
1022Spain2026-09-07
1023Russia2026-08-25
1024Russia2026-09-19
1025Japan2026-09-12
1026Japan2026-08-30
1027France2026-09-13
1028Germany2026-09-12
1029Brazil2026-09-04
1030Australia2026-09-20
1031United Kingdom2026-09-11
1032India2026-08-31
1033Argentina2026-09-10
1034Germany2026-08-31
1035Germany2026-09-07
1036Australia2026-08-31
1037Japan2026-09-15
1038Japan2026-08-27
1039Russia2026-08-22
1040Germany2026-09-11
1041Canada2026-08-26
1042Spain2026-08-26
1043Spain2026-09-01
1044Germany2026-09-19
1045Russia2026-09-02
1046Russia2026-09-12
1047Spain2026-09-08
1048Argentina2026-09-05
1049Canada2026-09-10

On-Demand Data

NameIdCountryDate
Adams F Rulapaugh1000Italy2026-09-08
Maisha V Kolmetz1001France2026-08-26
Kaitlin L Poquette1002Argentina2026-08-23
Cody W Ferencz1003United Kingdom2026-09-18
Silvio T Gaucho1004Argentina2026-09-06
Aditya K Foller1005Argentina2026-09-06
Silvio U Foller1006Italy2026-08-22
Izzy H Gaucho1007Japan2026-08-26
Ivar X Albares1008Australia2026-09-13
Nicolas C Rim1009Australia2026-08-30
Sinclair X Campain1010Japan2026-09-04
Chavez Q Rim1011Spain2026-09-14
Claire D Ostrosky1012United Kingdom2026-09-02
Mujtaba U Flosi1013Germany2026-08-30
Jones Z Nestle1014India2026-09-04
Izzy M Stenseth1015Germany2026-09-14
Mayumi Q Venere1016Argentina2026-09-02
Munro Y Bolognia1017Japan2026-09-05
Silvio S Gillian1018Italy2026-08-26
Izzy B Royster1019Germany2026-08-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem M RoysterUnited KingdomXuxue Feng PROPOSAL
Emily B OldroydBrazilAmy Elsner RENEWAL
Jennifer C DilliardRussiaIoni Bowcher RENEWAL
Izzy V RoysterSpainIvan Magalhaes RENEWAL
Kadeem H ChuiItalyStephen Shaw NEGOTIATION
Antonio P DarakjyIndiaAsiya Javayant RENEWAL
Aruna T ChuiAustraliaElwin Sharvill RENEWAL
Wickens H SchemmerBrazilElwin Sharvill PROPOSAL
Silvio M DoeUnited KingdomIvan Magalhaes QUALIFIED
Greenwood I StensethGermanyElwin Sharvill NEW
Mujtaba C BowleyUnited KingdomOnyama Limba UNQUALIFIED
Aika T BriddickGermanyIoni Bowcher NEW
Ashley J CaudyBrazilIoni Bowcher NEGOTIATION
Antonio P ChuiItalyBernardo Dominic RENEWAL
Ashley A StensethRussiaStephen Shaw UNQUALIFIED
Izzy M SergiGermanyXuxue Feng RENEWAL
Octavia F MacleadSpainElwin Sharvill QUALIFIED
David J MacleadUnited KingdomBernardo Dominic NEGOTIATION
Wickens O MacleadRussiaAnna Fali NEGOTIATION
Isabel U MaletFranceStephen Shaw PROPOSAL
Nicolas Q PoquetteAustraliaAmy Elsner QUALIFIED
Wickens Y WieserCanadaXuxue Feng RENEWAL
Maria I SlusarskiGermanyIoni Bowcher UNQUALIFIED
James C StensethIndiaIoni Bowcher QUALIFIED
Adams L CaldareraRussiaAmy Elsner NEW
Morrow N NickaJapanStephen Shaw UNQUALIFIED
Tony F NestleSpainAnna Fali QUALIFIED
Tony I RimItalyStephen Shaw NEGOTIATION
Claire L StockhamItalyStephen Shaw NEGOTIATION
Julie Q ShinkoJapanElwin Sharvill NEGOTIATION
Francesco J KolmetzAustraliaOnyama Limba NEGOTIATION
Adams J TollnerSpainXuxue Feng UNQUALIFIED
Adams C MorascaGermanyBernardo Dominic UNQUALIFIED
James F DilliardItalyAnna Fali RENEWAL
Isabel E MaletGermanyAmy Elsner UNQUALIFIED
Kadeem K ButtAustraliaAsiya Javayant UNQUALIFIED
Johnson Z StensethSpainBernardo Dominic UNQUALIFIED
Leja U SlusarskiGermanyOnyama Limba NEW
Morrow P BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Claire L MorascaBrazilStephen Shaw QUALIFIED

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