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
Costa D VenereJapanElwin Sharvill RENEWAL
Jeanfrancois Q KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Maisha O CaudyCanadaOnyama Limba UNQUALIFIED
Jefferson T SlusarskiSpainElwin Sharvill QUALIFIED
Maria S StockhamGermanyIoni Bowcher QUALIFIED
Ivar G ButtItalyIoni Bowcher UNQUALIFIED
Aditya S MacleadArgentinaOnyama Limba NEW
Sinclair K BowleyIndiaBernardo Dominic QUALIFIED
Mayumi T KuskoArgentinaAmy Elsner NEW
Mayumi P RulapaughArgentinaIoni Bowcher PROPOSAL
Alejandro F DoeSpainStephen Shaw RENEWAL
Julie F DarakjySpainIvan Magalhaes UNQUALIFIED
Jeanfrancois H WaycottGermanyStephen Shaw QUALIFIED
Octavia C GarufiJapanAmy Elsner RENEWAL
Alejandro P AlbaresFranceStephen Shaw UNQUALIFIED
Smith H GlickUnited KingdomStephen Shaw NEW
Mujtaba Y GauchoRussiaAsiya Javayant QUALIFIED
Morrow A GauchoArgentinaAmy Elsner UNQUALIFIED
Wickens N DilliardBrazilAsiya Javayant QUALIFIED
Morrow I RimJapanBernardo Dominic QUALIFIED
Aditya O WhobreySpainElwin Sharvill PROPOSAL
Stacey O KolmetzCanadaXuxue Feng QUALIFIED
Nicolas D GillianArgentinaStephen Shaw QUALIFIED
Smith Y VenereCanadaAsiya Javayant NEGOTIATION
Johnson H MaletFranceAsiya Javayant UNQUALIFIED
Mujtaba R NickaCanadaAnna Fali QUALIFIED
Maisha G RimCanadaElwin Sharvill NEW
Greenwood P FigeroaGermanyElwin Sharvill UNQUALIFIED
Mayumi X BriddickRussiaBernardo Dominic PROPOSAL
Ivar O MacleadUnited KingdomAmy Elsner NEGOTIATION
Maisha R MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore D BologniaFranceAmy Elsner NEW
Darci Z BowleyUnited KingdomAsiya Javayant NEW
Darci N SlusarskiGermanyStephen Shaw UNQUALIFIED
Maisha U OldroydCanadaAsiya Javayant RENEWAL
Leon O GauchoArgentinaIoni Bowcher UNQUALIFIED
Antonio W BriddickFranceAnna Fali NEGOTIATION
Leja C MaletUnited KingdomAnna Fali QUALIFIED
David R PerinUnited KingdomOnyama Limba RENEWAL
Costa T GlickUnited KingdomIvan Magalhaes NEGOTIATION
Leon P KuskoArgentinaXuxue Feng NEW
Mayumi C VenereIndiaOnyama Limba RENEWAL
Misaki J PaprockiGermanyElwin Sharvill UNQUALIFIED
Aditya B ShinkoBrazilXuxue Feng RENEWAL
Jeanfrancois R FigeroaRussiaXuxue Feng NEGOTIATION
Octavia Z RimBrazilBernardo Dominic NEGOTIATION
Antonio N ChuiSpainAsiya Javayant NEW
Maisha O StensethCanadaBernardo Dominic RENEWAL
Greenwood O VenereArgentinaAsiya Javayant NEW
Kaitlin M StockhamJapanStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith I MaletJapanElwin Sharvill UNQUALIFIED
Darci R NickaAustraliaXuxue Feng QUALIFIED
Antonio B SlusarskiIndiaAnna Fali RENEWAL
Ashley I IturbideRussiaIoni Bowcher NEW
Misaki N CaldareraGermanyBernardo Dominic PROPOSAL
Aditya U WaycottIndiaIvan Magalhaes PROPOSAL
Faith V PaprockiCanadaAnna Fali UNQUALIFIED
Izzy H BriddickGermanyIoni Bowcher NEW
Leon P PoquetteRussiaOnyama Limba UNQUALIFIED
Juan P CampainIndiaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco N OstroskyAustralia2026-10-19Truhlar And Truhlar Attys UNQUALIFIED63Ivan Magalhaes
1001Darci K ChuiAustralia2026-10-14Morlong Associates UNQUALIFIED20Asiya Javayant
1002Smith Y CaldareraSpain2026-10-23Chapman, Ross E Esq PROPOSAL50Anna Fali
1003Kadeem M MaletRussia2026-10-21Printing Dimensions UNQUALIFIED12Stephen Shaw
1004Darci M WhobreyJapan2026-10-13Rangoni Of Florence NEGOTIATION37Ioni Bowcher
1005Julie M BologniaRussia2026-10-14Buckley Miller Wright NEW42Xuxue Feng
1006David X WaycottSpain2026-10-12Buckley Miller Wright NEW8Elwin Sharvill
1007Rodrigues F KolmetzUnited Kingdom2026-10-18Feltz Printing Service RENEWAL70Elwin Sharvill
1008Octavia U CampainIndia2026-10-26Truhlar And Truhlar Attys PROPOSAL38Asiya Javayant
1009Misaki Q CampainGermany2026-10-06Truhlar And Truhlar Attys QUALIFIED11Ivan Magalhaes
1010Juan G MarrierJapan2026-10-08Commercial Press QUALIFIED34Bernardo Dominic
1011Salvatore X RulapaughJapan2026-10-13Chanay, Jeffrey A Esq RENEWAL1Asiya Javayant
1012David Z CaudyAustralia2026-10-02Morlong Associates PROPOSAL68Anna Fali
1013Costa S RoysterBrazil2026-10-13Rangoni Of Florence UNQUALIFIED23Xuxue Feng
1014Maria I ShinkoIndia2026-10-28Feltz Printing Service RENEWAL28Xuxue Feng
1015Aruna Y FigeroaItaly2026-10-11Chanay, Jeffrey A Esq NEGOTIATION3Bernardo Dominic
1016Munro G FerenczIndia2026-10-17Feltz Printing Service PROPOSAL24Asiya Javayant
1017Ricardo V ButtFrance2026-10-05Morlong Associates RENEWAL93Elwin Sharvill
1018Morrow Y DilliardAustralia2026-10-18Chemel, James L Cpa RENEWAL3Xuxue Feng
1019Sinclair Q GarufiAustralia2026-10-02Buckley Miller Wright RENEWAL15Elwin Sharvill
1020Ashley R CaldareraAustralia2026-10-15Feiner Bros QUALIFIED11Xuxue Feng
1021Cody R MaletArgentina2026-10-01Benton, John B Jr PROPOSAL83Onyama Limba
1022Rodrigues K NickaIndia2026-10-22Printing Dimensions QUALIFIED21Stephen Shaw
1023Tony A MaletJapan2026-10-20Feltz Printing Service QUALIFIED83Elwin Sharvill
1024Aika Z ChuiGermany2026-10-04Truhlar And Truhlar Attys NEW30Stephen Shaw
1025Johnson Z StensethJapan2026-10-08Chemel, James L Cpa UNQUALIFIED64Amy Elsner
1026Juan O PoquetteArgentina2026-10-14Buckley Miller Wright NEW1Asiya Javayant
1027Darci Y CaudyIndia2026-10-06Morlong Associates QUALIFIED28Amy Elsner
1028Jeanfrancois M WaycottIndia2026-10-11King, Christopher A Esq NEGOTIATION13Ioni Bowcher
1029Silvio P NickaArgentina2026-10-11Truhlar And Truhlar Attys RENEWAL5Elwin Sharvill
1030Juan C FollerArgentina2026-10-03Chemel, James L Cpa QUALIFIED8Xuxue Feng
1031James Y AmigonGermany2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED8Xuxue Feng
1032Wickens U MorascaRussia2026-10-28King, Christopher A Esq QUALIFIED17Amy Elsner
1033Antonio Q PoquetteBrazil2026-10-04Rangoni Of Florence NEW61Anna Fali
1034Kaitlin B WaycottItaly2026-10-05Chemel, James L Cpa RENEWAL24Elwin Sharvill
1035Faith B TollnerSpain2026-10-09King, Christopher A Esq RENEWAL86Stephen Shaw
1036Salvatore F GarufiGermany2026-10-29Buckley Miller Wright RENEWAL89Stephen Shaw
1037Emily D GarufiUnited Kingdom2026-10-14Benton, John B Jr NEW48Amy Elsner
1038Smith U NickaRussia2026-10-15Chemel, James L Cpa UNQUALIFIED48Elwin Sharvill
1039Wickens R IturbideRussia2026-10-15Buckley Miller Wright UNQUALIFIED64Xuxue Feng
1040Julie C ButtFrance2026-10-23Commercial Press UNQUALIFIED36Xuxue Feng
1041Ivar K CampainBrazil2026-10-07Buckley Miller Wright NEW99Elwin Sharvill
1042Misaki U TollnerCanada2026-10-14Rangoni Of Florence UNQUALIFIED10Elwin Sharvill
1043Jones X AlbaresAustralia2026-10-26Chapman, Ross E Esq RENEWAL17Asiya Javayant
1044Octavia C BologniaBrazil2026-10-16Buckley Miller Wright PROPOSAL6Xuxue Feng
1045Salvatore D MorascaArgentina2026-10-18Chanay, Jeffrey A Esq RENEWAL50Ioni Bowcher
1046Aika S SergiItaly2026-10-23Rousseaux, Michael Esq UNQUALIFIED34Anna Fali
1047James Y SergiArgentina2026-10-27Chapman, Ross E Esq QUALIFIED95Xuxue Feng
1048Izzy A BowleyFrance2026-10-09Printing Dimensions NEGOTIATION10Elwin Sharvill
1049Salvatore B RutaGermany2026-10-11Morlong Associates QUALIFIED75Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mayumi A FerenczAustraliaAmy Elsner NEGOTIATION
Isabel O BologniaArgentinaAsiya Javayant NEW
Izzy K WaycottRussiaIoni Bowcher RENEWAL
Deepesh K MorascaRussiaStephen Shaw NEGOTIATION
Jeanfrancois L VocelkaCanadaStephen Shaw RENEWAL
Johnson Y SchemmerSpainElwin Sharvill NEW
Emily T AlbaresAustraliaAmy Elsner NEW
Chavez T DoeFranceAsiya Javayant QUALIFIED
Johnson T MaletAustraliaXuxue Feng NEGOTIATION
Mayumi X BowleyCanadaStephen Shaw RENEWAL
Francesco K CaudyGermanyXuxue Feng NEGOTIATION
Greenwood Z MarrierRussiaOnyama Limba NEW
Ricardo U CaudyFranceBernardo Dominic UNQUALIFIED
Emily I MorascaArgentinaElwin Sharvill QUALIFIED
Aruna L FerenczGermanyXuxue Feng UNQUALIFIED
Stacey X OldroydBrazilAsiya Javayant QUALIFIED
Greenwood H PerinArgentinaIoni Bowcher NEW
Nicolas O SaylorsCanadaIvan Magalhaes QUALIFIED
Rodrigues O ButtCanadaElwin Sharvill UNQUALIFIED
Cody J GillianUnited KingdomAnna Fali RENEWAL
Aruna K StensethBrazilElwin Sharvill NEGOTIATION
Chavez O AmigonJapanIvan Magalhaes RENEWAL
Arvin T FollerFranceXuxue Feng PROPOSAL
Tony Q InouyeCanadaAsiya Javayant UNQUALIFIED
Jefferson F CaudyUnited KingdomBernardo Dominic NEGOTIATION
Clifford T SchemmerJapanXuxue Feng UNQUALIFIED
Kaitlin N SlusarskiAustraliaStephen Shaw NEW
Munro M VenereIndiaAnna Fali QUALIFIED
Mujtaba W ChuiAustraliaBernardo Dominic UNQUALIFIED
Wickens G ButtIndiaElwin Sharvill RENEWAL
Costa S DilliardRussiaStephen Shaw QUALIFIED
Sinclair Q NestleJapanAnna Fali NEGOTIATION
Nicolas K MorascaArgentinaAmy Elsner NEGOTIATION
Murillo K MacleadAustraliaOnyama Limba PROPOSAL
Clifford E NickaIndiaStephen Shaw UNQUALIFIED
Leon P PoquetteBrazilAnna Fali QUALIFIED
Costa Z OstroskyGermanyOnyama Limba NEGOTIATION
Leon F InouyeIndiaIvan Magalhaes UNQUALIFIED
Octavia U SergiCanadaAmy Elsner NEGOTIATION
Nicolas O StensethBrazilIvan Magalhaes NEW
Leon O FlosiBrazilXuxue Feng NEGOTIATION
Aruna I BologniaUnited KingdomIvan Magalhaes PROPOSAL
Maisha Z GillianArgentinaOnyama Limba PROPOSAL
Mujtaba F ChuiJapanOnyama Limba RENEWAL
Antonio V FigeroaJapanOnyama Limba UNQUALIFIED
Francesco N FerenczArgentinaAsiya Javayant PROPOSAL
Leon K MarrierIndiaAnna Fali UNQUALIFIED
James S WieserRussiaBernardo Dominic PROPOSAL
Antonio Z AlbaresJapanStephen Shaw NEW
Jennifer I RimIndiaStephen Shaw NEW
Frozen Columns
Name
Emily X Flosi
Izzy J Garufi
Sinclair J Tollner
Kadeem L Venere
Tony X Darakjy
James X Amigon
Clifford M Iturbide
Mujtaba V Campain
Antonio L Poquette
Murillo W Shinko
Octavia X Shinko
Morrow U Maclead
Tony H Foller
Johnson U Nicka
Leon G Wieser
Misaki D Briddick
Ricardo U Iturbide
Tony Y Iturbide
Octavia H Marrier
Antonio J Gillian
Arvin I Stockham
David Z Bolognia
Smith R Caldarera
Salvatore B Ruta
Costa G Flosi
Maria I Malet
Octavia K Rim
Maria C Kolmetz
Mayumi Z Amigon
Aditya O Waycott
Alejandro B Tollner
Tony A Kusko
Misaki S Dilliard
Ivar B Gillian
Costa Q Royster
Clifford L Caldarera
Francesco E Kusko
Leja P Marrier
Deepesh I Inouye
Cody J Campain
Morrow S Paprocki
Jones S Slusarski
Mayumi W Shinko
Emily N Ostrosky
Juan M Rim
Deepesh R Ostrosky
Jeanfrancois M Bowley
Julie U Campain
Leon J Chui
Aruna S Rulapaugh
IdCountryDate
1000United Kingdom2026-10-26
1001Argentina2026-10-03
1002Germany2026-09-30
1003Australia2026-10-06
1004Germany2026-10-29
1005Japan2026-10-11
1006Brazil2026-10-12
1007Russia2026-10-15
1008Italy2026-10-15
1009Russia2026-10-13
1010Japan2026-10-07
1011Italy2026-10-09
1012Russia2026-10-18
1013Spain2026-10-05
1014Germany2026-10-20
1015Brazil2026-10-28
1016Australia2026-10-11
1017India2026-10-10
1018France2026-10-15
1019United Kingdom2026-10-13
1020India2026-10-08
1021India2026-10-08
1022Japan2026-10-04
1023Italy2026-10-24
1024Australia2026-10-09
1025Australia2026-10-13
1026Germany2026-09-30
1027Italy2026-10-16
1028Brazil2026-10-27
1029Russia2026-10-27
1030India2026-10-05
1031France2026-10-10
1032Germany2026-10-01
1033Australia2026-10-14
1034Germany2026-10-12
1035Germany2026-10-18
1036India2026-10-18
1037Italy2026-10-03
1038Brazil2026-10-22
1039India2026-10-10
1040Brazil2026-10-21
1041Argentina2026-10-02
1042United Kingdom2026-10-23
1043Germany2026-10-27
1044France2026-10-15
1045France2026-10-27
1046Italy2026-10-02
1047Australia2026-10-03
1048Germany2026-10-02
1049Brazil2026-10-05

On-Demand Data

NameIdCountryDate
Sinclair H Poquette1000Germany2026-10-15
Rodrigues T Paprocki1001Japan2026-10-24
Aika E Tollner1002Italy2026-10-18
Stacey K Royster1003Japan2026-10-27
Greenwood D Doe1004Germany2026-10-29
Arvin Q Schemmer1005Russia2026-10-20
Mujtaba T Dilliard1006France2026-10-09
Jefferson Z Royster1007France2026-10-09
David G Inouye1008France2026-10-11
Wickens C Royster1009United Kingdom2026-10-04
Rodrigues I Bolognia1010Brazil2026-10-16
Ivar K Shinko1011Italy2026-10-12
Kadeem B Garufi1012Japan2026-10-14
Mujtaba Z Bolognia1013United Kingdom2026-10-02
Isabel A Caudy1014Russia2026-10-17
Jefferson Q Caldarera1015Russia2026-10-03
James D Waycott1016United Kingdom2026-10-27
Aditya C Bolognia1017Canada2026-10-08
Aika X Slusarski1018France2026-10-25
Kaitlin W Caudy1019Italy2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez E MacleadGermanyAsiya Javayant NEGOTIATION
Aika N KuskoGermanyElwin Sharvill PROPOSAL
Murillo L RutaUnited KingdomOnyama Limba UNQUALIFIED
Kadeem P StockhamJapanElwin Sharvill RENEWAL
Jones T FerenczGermanyAnna Fali NEGOTIATION
Rodrigues E BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel E OstroskySpainAnna Fali NEW
Arvin O BologniaFranceIoni Bowcher PROPOSAL
Deepesh R TollnerBrazilBernardo Dominic NEW
Claire O MaletSpainAsiya Javayant NEW
Deepesh X SergiFranceAsiya Javayant RENEWAL
Rodrigues W DoeRussiaOnyama Limba NEW
Tony P DarakjyJapanBernardo Dominic RENEWAL
Johnson R KolmetzSpainAmy Elsner NEGOTIATION
Isabel W RulapaughJapanElwin Sharvill RENEWAL
Izzy J FollerUnited KingdomIoni Bowcher PROPOSAL
Costa A RulapaughUnited KingdomBernardo Dominic NEW
Arvin V WaycottAustraliaAmy Elsner UNQUALIFIED
Adams L BologniaBrazilElwin Sharvill NEW
Claire L StockhamBrazilBernardo Dominic PROPOSAL
Deepesh J WhobreyUnited KingdomOnyama Limba PROPOSAL
Francesco A GarufiAustraliaAmy Elsner UNQUALIFIED
Silvio V FollerBrazilAsiya Javayant UNQUALIFIED
Julie B FigeroaAustraliaElwin Sharvill PROPOSAL
Antonio V NickaIndiaIvan Magalhaes RENEWAL
Emily M GauchoGermanyElwin Sharvill UNQUALIFIED
Isabel E WaycottAustraliaIoni Bowcher UNQUALIFIED
Smith Y SaylorsJapanIoni Bowcher NEW
Jennifer T FerenczGermanyOnyama Limba UNQUALIFIED
Mujtaba O MarrierCanadaIvan Magalhaes UNQUALIFIED
Murillo U VenereAustraliaStephen Shaw QUALIFIED
James V CampainAustraliaXuxue Feng PROPOSAL
Wickens N CaudyArgentinaAsiya Javayant RENEWAL
Maisha W GarufiJapanElwin Sharvill RENEWAL
Octavia G PaprockiJapanAnna Fali PROPOSAL
Leon Z SergiSpainAmy Elsner UNQUALIFIED
Greenwood N VocelkaGermanyAmy Elsner NEGOTIATION
Octavia E GlickIndiaIvan Magalhaes NEGOTIATION
Juan N FerenczRussiaXuxue Feng PROPOSAL
Ivar Z MarrierCanadaOnyama Limba 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>