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
Julie Q AmigonGermanyElwin Sharvill RENEWAL
Francesco V VocelkaUnited KingdomOnyama Limba NEGOTIATION
Izzy B MaletFranceAmy Elsner RENEWAL
Wickens V OstroskyAustraliaStephen Shaw NEGOTIATION
Murillo U InouyeFranceElwin Sharvill PROPOSAL
James Z SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Claire L WaycottFranceBernardo Dominic UNQUALIFIED
Izzy G BologniaCanadaAnna Fali UNQUALIFIED
David M GarufiJapanIvan Magalhaes UNQUALIFIED
Murillo S VenereRussiaAnna Fali QUALIFIED
Ivar J PoquetteGermanyBernardo Dominic UNQUALIFIED
Adams T InouyeItalyOnyama Limba NEGOTIATION
Claire J FlosiArgentinaIvan Magalhaes NEW
Silvio W GlickFranceBernardo Dominic QUALIFIED
Juan B GillianArgentinaIoni Bowcher NEGOTIATION
Alejandro N DoeRussiaOnyama Limba PROPOSAL
Murillo H CaldareraIndiaOnyama Limba QUALIFIED
Claire L MarrierAustraliaStephen Shaw UNQUALIFIED
Darci V AlbaresItalyAnna Fali UNQUALIFIED
Arvin D OldroydGermanyAnna Fali UNQUALIFIED
David C AmigonJapanBernardo Dominic PROPOSAL
Nicolas C MacleadCanadaElwin Sharvill NEGOTIATION
Alejandro C BowleyItalyOnyama Limba PROPOSAL
Emily W WaycottFranceAmy Elsner UNQUALIFIED
Salvatore F NickaAustraliaXuxue Feng PROPOSAL
Ashley H RutaArgentinaXuxue Feng UNQUALIFIED
Aditya G FigeroaJapanOnyama Limba RENEWAL
Isabel M CampainCanadaOnyama Limba NEGOTIATION
Kaitlin R ShinkoAustraliaStephen Shaw NEGOTIATION
Jeanfrancois T WieserItalyIvan Magalhaes NEGOTIATION
Isabel G DilliardUnited KingdomOnyama Limba NEW
Arvin K StockhamBrazilAsiya Javayant NEGOTIATION
Deepesh O ShinkoSpainIoni Bowcher NEGOTIATION
Leja Y TollnerArgentinaXuxue Feng RENEWAL
Murillo H FollerFranceStephen Shaw PROPOSAL
Clifford O PerinSpainIoni Bowcher NEW
Leon V SchemmerAustraliaAmy Elsner RENEWAL
Deepesh H GillianCanadaAnna Fali UNQUALIFIED
Aruna Z CampainItalyXuxue Feng PROPOSAL
Juan G GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Maisha G StockhamUnited KingdomAsiya Javayant NEW
Sinclair L VocelkaItalyIvan Magalhaes PROPOSAL
Jones Z WhobreyItalyXuxue Feng NEGOTIATION
Antonio C RoysterItalyElwin Sharvill NEW
Nicolas J AmigonItalyStephen Shaw QUALIFIED
Ashley D WhobreyItalyBernardo Dominic QUALIFIED
Octavia J BriddickFranceElwin Sharvill NEW
Nicolas J KuskoCanadaIoni Bowcher NEGOTIATION
Johnson P StockhamFranceAmy Elsner UNQUALIFIED
Juan L FigeroaCanadaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha A RulapaughBrazilAsiya Javayant UNQUALIFIED
Darci F SlusarskiFranceAsiya Javayant NEW
Leon Q ButtSpainIvan Magalhaes NEGOTIATION
Rodrigues P SlusarskiFranceAnna Fali UNQUALIFIED
Smith N MorascaRussiaAmy Elsner UNQUALIFIED
Leja L InouyeRussiaStephen Shaw NEW
Ivar C IturbideItalyStephen Shaw NEW
Julie K FlosiCanadaAsiya Javayant RENEWAL
Costa S KuskoJapanAnna Fali PROPOSAL
Isabel I GlickUnited KingdomXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi S TollnerIndia2026-09-14Benton, John B Jr QUALIFIED7Asiya Javayant
1001Chavez A AmigonCanada2026-09-12Chapman, Ross E Esq NEGOTIATION98Bernardo Dominic
1002Deepesh U RimGermany2026-09-12King, Christopher A Esq PROPOSAL46Ioni Bowcher
1003Julie N AlbaresAustralia2026-09-11Truhlar And Truhlar Attys UNQUALIFIED76Bernardo Dominic
1004Johnson M WhobreyUnited Kingdom2026-09-24Chemel, James L Cpa RENEWAL89Ivan Magalhaes
1005Mayumi A PaprockiGermany2026-09-09Rousseaux, Michael Esq NEGOTIATION20Onyama Limba
1006Aruna N StensethGermany2026-09-11Buckley Miller Wright NEGOTIATION64Asiya Javayant
1007Mayumi X ShinkoIndia2026-09-03Rangoni Of Florence QUALIFIED6Amy Elsner
1008Francesco E DilliardFrance2026-09-05Dorl, James J Esq RENEWAL81Anna Fali
1009Smith C PaprockiCanada2026-09-14Printing Dimensions UNQUALIFIED13Bernardo Dominic
1010Antonio E PaprockiJapan2026-09-18Rousseaux, Michael Esq RENEWAL96Elwin Sharvill
1011Chavez I PaprockiBrazil2026-09-26Chapman, Ross E Esq NEW83Anna Fali
1012Jeanfrancois Y InouyeFrance2026-09-10Chemel, James L Cpa UNQUALIFIED12Onyama Limba
1013Mayumi G CampainFrance2026-09-07Chapman, Ross E Esq NEGOTIATION95Bernardo Dominic
1014Jones Y ButtCanada2026-09-22Chapman, Ross E Esq PROPOSAL33Asiya Javayant
1015Kaitlin W PaprockiAustralia2026-09-23King, Christopher A Esq RENEWAL10Ivan Magalhaes
1016Maisha H SchemmerSpain2026-10-02King, Christopher A Esq UNQUALIFIED31Xuxue Feng
1017Ricardo Z FerenczCanada2026-09-25Rangoni Of Florence PROPOSAL96Elwin Sharvill
1018Izzy X CaldareraGermany2026-09-10Benton, John B Jr QUALIFIED16Elwin Sharvill
1019Silvio K IturbideAustralia2026-09-14Chapman, Ross E Esq UNQUALIFIED17Elwin Sharvill
1020Claire T RoysterIndia2026-09-09Rousseaux, Michael Esq QUALIFIED41Stephen Shaw
1021Clifford T StockhamArgentina2026-09-20Chanay, Jeffrey A Esq NEW38Xuxue Feng
1022Aika Q FigeroaAustralia2026-09-04Morlong Associates QUALIFIED53Elwin Sharvill
1023Johnson Y GillianFrance2026-09-03Morlong Associates UNQUALIFIED13Onyama Limba
1024Salvatore Y RimRussia2026-09-24Feltz Printing Service QUALIFIED8Anna Fali
1025Cody B PaprockiBrazil2026-09-18Rousseaux, Michael Esq QUALIFIED14Xuxue Feng
1026Tony I PoquetteUnited Kingdom2026-09-28Dorl, James J Esq PROPOSAL25Xuxue Feng
1027Rodrigues P AlbaresRussia2026-09-20Chanay, Jeffrey A Esq RENEWAL84Ivan Magalhaes
1028Rodrigues D DoeCanada2026-09-18Commercial Press NEW11Asiya Javayant
1029Sinclair O FlosiJapan2026-09-25Rousseaux, Michael Esq PROPOSAL3Ivan Magalhaes
1030Darci V CaldareraJapan2026-09-24Commercial Press PROPOSAL97Stephen Shaw
1031Kaitlin B DoeFrance2026-09-05Buckley Miller Wright RENEWAL67Ivan Magalhaes
1032Clifford P FollerUnited Kingdom2026-09-21Feiner Bros NEGOTIATION1Ivan Magalhaes
1033Aika S SlusarskiIndia2026-09-23Chanay, Jeffrey A Esq RENEWAL44Ioni Bowcher
1034Sinclair U ChuiAustralia2026-09-11Truhlar And Truhlar Attys QUALIFIED76Ioni Bowcher
1035Faith I MorascaIndia2026-10-02Printing Dimensions QUALIFIED19Elwin Sharvill
1036Isabel V AmigonSpain2026-09-20Feltz Printing Service NEGOTIATION22Anna Fali
1037Munro P AmigonRussia2026-09-05Chanay, Jeffrey A Esq RENEWAL24Stephen Shaw
1038Nicolas J CaldareraArgentina2026-09-07Feltz Printing Service PROPOSAL79Ivan Magalhaes
1039Chavez B GillianUnited Kingdom2026-09-05Truhlar And Truhlar Attys UNQUALIFIED42Stephen Shaw
1040Deepesh B DoeItaly2026-09-04Morlong Associates NEGOTIATION23Anna Fali
1041Stacey O ButtJapan2026-09-23Printing Dimensions RENEWAL76Anna Fali
1042Claire S OldroydIndia2026-09-19Rangoni Of Florence RENEWAL81Amy Elsner
1043Mujtaba D CaudyGermany2026-09-06Morlong Associates NEW83Ioni Bowcher
1044Alejandro N NickaFrance2026-09-19Dorl, James J Esq RENEWAL99Asiya Javayant
1045Nicolas C ButtIndia2026-09-06Rousseaux, Michael Esq UNQUALIFIED72Ioni Bowcher
1046Faith K CaldareraSpain2026-09-20Buckley Miller Wright NEW38Ioni Bowcher
1047Maria J InouyeAustralia2026-09-12Rangoni Of Florence QUALIFIED16Amy Elsner
1048Maria H GlickArgentina2026-09-23Dorl, James J Esq NEGOTIATION79Ioni Bowcher
1049Antonio K OldroydBrazil2026-09-23Truhlar And Truhlar Attys UNQUALIFIED78Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Costa P SlusarskiCanadaOnyama Limba NEGOTIATION
Darci M VenereRussiaIoni Bowcher UNQUALIFIED
Jennifer E GlickBrazilBernardo Dominic NEW
Chavez A AmigonUnited KingdomElwin Sharvill NEGOTIATION
Kadeem P ChuiGermanyIoni Bowcher PROPOSAL
Aditya F DarakjyUnited KingdomAsiya Javayant QUALIFIED
Kaitlin O CaudyBrazilBernardo Dominic RENEWAL
Julie K VenereAustraliaElwin Sharvill NEGOTIATION
Costa F BologniaJapanAnna Fali UNQUALIFIED
Sinclair Y DoeUnited KingdomBernardo Dominic NEW
Claire Q DilliardArgentinaBernardo Dominic NEGOTIATION
David F IturbideArgentinaOnyama Limba RENEWAL
Cody K OstroskyFranceAsiya Javayant NEGOTIATION
Tony G SlusarskiIndiaXuxue Feng UNQUALIFIED
Maisha Q ButtItalyOnyama Limba NEGOTIATION
Juan L OstroskyCanadaIoni Bowcher NEW
David O RutaArgentinaIoni Bowcher QUALIFIED
Aditya H MaletBrazilXuxue Feng RENEWAL
Octavia I CaudyGermanyAmy Elsner NEW
Francesco Z ShinkoRussiaIvan Magalhaes NEGOTIATION
Claire Z DoeIndiaOnyama Limba PROPOSAL
Kaitlin N WieserGermanyStephen Shaw NEGOTIATION
Silvio G CampainJapanAsiya Javayant PROPOSAL
Smith U VocelkaSpainStephen Shaw NEW
Maria D SchemmerSpainIoni Bowcher UNQUALIFIED
Aika T MacleadRussiaAmy Elsner UNQUALIFIED
Sinclair K SaylorsJapanStephen Shaw UNQUALIFIED
Izzy E CaldareraIndiaIvan Magalhaes NEGOTIATION
Tony T PaprockiGermanyIvan Magalhaes NEGOTIATION
Izzy G ButtSpainIvan Magalhaes NEGOTIATION
David W DilliardBrazilAsiya Javayant UNQUALIFIED
Arvin M SchemmerItalyIoni Bowcher UNQUALIFIED
Kaitlin H MarrierBrazilXuxue Feng RENEWAL
Adams I OldroydBrazilOnyama Limba QUALIFIED
Leon Y MorascaCanadaStephen Shaw UNQUALIFIED
David R GarufiSpainBernardo Dominic NEW
Arvin R BologniaArgentinaAsiya Javayant QUALIFIED
Alejandro P KuskoArgentinaAnna Fali NEW
Morrow N VenereGermanyAmy Elsner UNQUALIFIED
Jennifer C DarakjyRussiaOnyama Limba NEW
Faith H WaycottUnited KingdomOnyama Limba QUALIFIED
Tony J GillianAustraliaXuxue Feng UNQUALIFIED
Jefferson P MaletAustraliaStephen Shaw RENEWAL
David D PoquetteArgentinaAsiya Javayant RENEWAL
Sinclair E AmigonArgentinaAnna Fali RENEWAL
Aika K AmigonRussiaAnna Fali RENEWAL
Stacey N GarufiArgentinaXuxue Feng NEW
Greenwood Q PaprockiJapanIoni Bowcher QUALIFIED
Jefferson S TollnerFranceBernardo Dominic RENEWAL
Clifford G BowleyCanadaOnyama Limba NEW
Frozen Columns
Name
Octavia N Tollner
Jones A Flosi
Munro I Slusarski
Kaitlin H Flosi
Salvatore V Perin
Chavez U Glick
Morrow E Stenseth
Jefferson G Paprocki
Silvio T Waycott
Deepesh R Morasca
Mujtaba O Amigon
Alejandro L Saylors
Rodrigues B Tollner
Stacey V Butt
Octavia U Morasca
Nicolas Z Venere
Nicolas T Schemmer
Smith C Kolmetz
Maria Z Campain
Misaki C Glick
Misaki B Caudy
Clifford H Campain
Morrow F Saylors
Munro G Foller
Maria J Ruta
Stacey C Ruta
Aika G Whobrey
Ashley G Bolognia
Kaitlin H Tollner
Clifford W Iturbide
Maria R Nicka
Rodrigues S Venere
Aruna U Sergi
Munro J Iturbide
David Z Rim
Costa U Dilliard
Darci B Stenseth
Izzy O Foller
Aruna E Bowley
Octavia R Maclead
Tony S Schemmer
Wickens W Poquette
Silvio X Malet
Jennifer A Ostrosky
Ricardo E Tollner
Isabel R Campain
Julie T Morasca
Tony K Tollner
Silvio N Dilliard
Arvin O Rim
IdCountryDate
1000United Kingdom2026-09-08
1001France2026-09-12
1002Russia2026-09-25
1003Germany2026-10-01
1004Germany2026-09-08
1005Russia2026-09-30
1006Australia2026-09-10
1007Argentina2026-09-17
1008Brazil2026-09-06
1009Canada2026-09-26
1010France2026-09-07
1011Argentina2026-09-30
1012Japan2026-09-26
1013Russia2026-09-26
1014Australia2026-09-21
1015Japan2026-10-02
1016Spain2026-09-06
1017India2026-09-25
1018Brazil2026-09-21
1019Brazil2026-09-07
1020Japan2026-09-19
1021Japan2026-09-26
1022Italy2026-09-20
1023Brazil2026-09-14
1024Germany2026-09-23
1025Japan2026-09-09
1026Japan2026-09-10
1027India2026-09-28
1028Germany2026-09-18
1029Germany2026-09-17
1030Australia2026-10-02
1031Argentina2026-09-13
1032India2026-09-07
1033Italy2026-09-11
1034India2026-09-24
1035Argentina2026-09-24
1036Germany2026-09-05
1037India2026-09-03
1038Italy2026-09-09
1039India2026-09-28
1040Japan2026-09-08
1041Italy2026-09-07
1042Spain2026-09-21
1043India2026-10-01
1044Argentina2026-09-28
1045Russia2026-09-19
1046Australia2026-09-20
1047Australia2026-09-30
1048Germany2026-09-19
1049Italy2026-09-30

On-Demand Data

NameIdCountryDate
Jefferson W Schemmer1000Germany2026-09-08
Johnson D Waycott1001Australia2026-09-19
James Q Albares1002Canada2026-09-27
Juan Z Flosi1003Brazil2026-09-19
Aika K Chui1004Germany2026-09-09
Emily Q Paprocki1005United Kingdom2026-09-12
Jefferson O Butt1006Brazil2026-09-04
Kaitlin D Flosi1007Russia2026-09-09
Claire Y Butt1008Japan2026-09-04
Costa U Stenseth1009Australia2026-09-03
Emily Q Amigon1010United Kingdom2026-09-13
Izzy K Saylors1011Canada2026-09-08
Antonio V Bolognia1012Italy2026-10-02
David M Chui1013France2026-09-11
Maisha X Royster1014India2026-10-02
Smith W Gillian1015Spain2026-09-03
Salvatore P Morasca1016United Kingdom2026-09-29
Ivar U Butt1017Canada2026-09-17
Ricardo Y Sergi1018France2026-09-14
Darci N Nicka1019Australia2026-09-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin B FerenczCanadaAsiya Javayant NEW
David Y RimItalyBernardo Dominic NEGOTIATION
Smith K MaletFranceIoni Bowcher QUALIFIED
Alejandro B GarufiFranceAmy Elsner NEW
Maisha W MorascaUnited KingdomAmy Elsner UNQUALIFIED
Adams N FlosiSpainIvan Magalhaes PROPOSAL
Jennifer Z IturbideArgentinaOnyama Limba RENEWAL
Antonio W SchemmerArgentinaXuxue Feng PROPOSAL
Salvatore K InouyeUnited KingdomIvan Magalhaes RENEWAL
James R MacleadArgentinaXuxue Feng NEGOTIATION
Octavia W RutaAustraliaStephen Shaw UNQUALIFIED
Kaitlin W BowleyGermanyAmy Elsner PROPOSAL
Francesco V StockhamAustraliaElwin Sharvill PROPOSAL
Arvin J FigeroaJapanIoni Bowcher UNQUALIFIED
Deepesh I RutaSpainAsiya Javayant NEW
Ricardo W AlbaresRussiaIvan Magalhaes UNQUALIFIED
Nicolas X FerenczFranceIoni Bowcher PROPOSAL
Emily O DilliardItalyIoni Bowcher PROPOSAL
Maria F OldroydRussiaXuxue Feng QUALIFIED
Alejandro I NickaItalyIvan Magalhaes UNQUALIFIED
Aika T DarakjyJapanAsiya Javayant QUALIFIED
Greenwood I SchemmerItalyXuxue Feng NEGOTIATION
Jennifer I PaprockiAustraliaOnyama Limba NEW
Nicolas V GillianSpainAsiya Javayant NEGOTIATION
Nicolas I BologniaUnited KingdomBernardo Dominic NEGOTIATION
Izzy J KuskoAustraliaAnna Fali PROPOSAL
Claire F PaprockiGermanyOnyama Limba RENEWAL
Kadeem S FerenczRussiaXuxue Feng QUALIFIED
Darci R SchemmerArgentinaElwin Sharvill RENEWAL
Costa G ShinkoBrazilIoni Bowcher UNQUALIFIED
Stacey L GarufiRussiaIvan Magalhaes UNQUALIFIED
Claire K CampainIndiaElwin Sharvill UNQUALIFIED
Deepesh X MarrierIndiaAnna Fali NEGOTIATION
Julie Y MorascaAustraliaElwin Sharvill NEW
Tony I OstroskyFranceIvan Magalhaes UNQUALIFIED
David W FollerJapanIvan Magalhaes NEW
Cody H CaldareraJapanXuxue Feng QUALIFIED
Salvatore G RulapaughRussiaBernardo Dominic NEW
Chavez D CaudyIndiaXuxue Feng PROPOSAL
Jeanfrancois W MarrierJapanAsiya Javayant 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>