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
Cody F VenereBrazilAnna Fali NEGOTIATION
Tony G ChuiUnited KingdomIoni Bowcher RENEWAL
Julie F SchemmerArgentinaAsiya Javayant QUALIFIED
Alejandro L VenereSpainBernardo Dominic UNQUALIFIED
Rodrigues A DilliardIndiaAsiya Javayant UNQUALIFIED
Ivar T MacleadAustraliaIoni Bowcher QUALIFIED
Aditya S AlbaresCanadaIvan Magalhaes RENEWAL
Clifford C SaylorsAustraliaIoni Bowcher NEW
Rodrigues Y RoysterArgentinaBernardo Dominic NEGOTIATION
Darci R WhobreyBrazilStephen Shaw NEGOTIATION
Mujtaba U BologniaGermanyBernardo Dominic UNQUALIFIED
Adams L DarakjySpainBernardo Dominic NEW
Sinclair Y WieserRussiaAnna Fali NEGOTIATION
Misaki Z InouyeArgentinaIvan Magalhaes NEGOTIATION
Maisha V CaudyArgentinaXuxue Feng RENEWAL
Francesco N VocelkaAustraliaIvan Magalhaes QUALIFIED
Aditya O PaprockiGermanyBernardo Dominic QUALIFIED
Wickens A DilliardGermanyOnyama Limba NEGOTIATION
Faith H RoysterBrazilBernardo Dominic UNQUALIFIED
Octavia I CampainGermanyBernardo Dominic NEGOTIATION
Aruna M StensethArgentinaElwin Sharvill UNQUALIFIED
Aditya D DoeJapanAsiya Javayant NEGOTIATION
Ricardo C OstroskyBrazilOnyama Limba UNQUALIFIED
Julie S CaudyAustraliaAsiya Javayant RENEWAL
Misaki P AlbaresFranceAnna Fali UNQUALIFIED
Smith L DilliardFranceStephen Shaw PROPOSAL
Clifford N CaldareraAustraliaIoni Bowcher QUALIFIED
Silvio R VenereRussiaOnyama Limba RENEWAL
Kadeem N SchemmerGermanyIvan Magalhaes NEW
Aika B SergiArgentinaAsiya Javayant NEGOTIATION
Leon T CaudySpainOnyama Limba QUALIFIED
Morrow B MaletArgentinaOnyama Limba UNQUALIFIED
Isabel L DilliardJapanOnyama Limba UNQUALIFIED
Juan B FigeroaBrazilIvan Magalhaes NEW
Johnson J CaudyIndiaStephen Shaw NEW
Murillo U InouyeSpainIvan Magalhaes RENEWAL
Johnson N SergiJapanAmy Elsner NEW
Jefferson C GauchoGermanyXuxue Feng QUALIFIED
Alejandro J GarufiSpainBernardo Dominic PROPOSAL
Julie D SergiJapanAmy Elsner PROPOSAL
Leja I SchemmerJapanBernardo Dominic UNQUALIFIED
Arvin Q TollnerIndiaAsiya Javayant RENEWAL
Johnson E PoquetteGermanyStephen Shaw NEGOTIATION
Deepesh E NickaGermanyAmy Elsner QUALIFIED
Silvio C ButtFranceOnyama Limba NEGOTIATION
Clifford W BriddickRussiaIoni Bowcher UNQUALIFIED
Jefferson J MaletFranceStephen Shaw UNQUALIFIED
Francesco C PoquetteAustraliaElwin Sharvill PROPOSAL
Kadeem E GlickAustraliaIvan Magalhaes NEW
Adams V MaletItalyStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Sinclair C IturbideJapanBernardo Dominic NEGOTIATION
Maria O WhobreyUnited KingdomAsiya Javayant NEW
Adams V NickaFranceOnyama Limba NEW
Aditya O SchemmerFranceAsiya Javayant NEW
Nicolas J WhobreyIndiaIoni Bowcher QUALIFIED
Claire V MaletArgentinaAmy Elsner NEW
Isabel H GauchoGermanyIvan Magalhaes RENEWAL
Misaki Z SaylorsJapanOnyama Limba PROPOSAL
Izzy A SergiSpainAnna Fali RENEWAL
Kaitlin H IturbideItalyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith C SergiRussia2026-10-05Benton, John B Jr RENEWAL65Anna Fali
1001Tony K AmigonCanada2026-10-02Feiner Bros RENEWAL32Onyama Limba
1002Silvio O TollnerAustralia2026-10-15Buckley Miller Wright PROPOSAL87Asiya Javayant
1003Kaitlin R DoeFrance2026-10-12Rousseaux, Michael Esq NEGOTIATION54Anna Fali
1004Alejandro P NestleRussia2026-10-17Benton, John B Jr UNQUALIFIED21Ioni Bowcher
1005David Y OstroskyFrance2026-10-12Dorl, James J Esq RENEWAL44Onyama Limba
1006Leon N KuskoCanada2026-10-19Chapman, Ross E Esq NEW88Anna Fali
1007Salvatore Y AlbaresItaly2026-10-06Feltz Printing Service NEGOTIATION97Elwin Sharvill
1008Sinclair Y RoysterGermany2026-09-29Chemel, James L Cpa NEGOTIATION2Ioni Bowcher
1009Mayumi E ChuiRussia2026-10-10Buckley Miller Wright QUALIFIED3Stephen Shaw
1010Kaitlin E PoquetteItaly2026-10-21Buckley Miller Wright NEGOTIATION84Asiya Javayant
1011Antonio S NickaUnited Kingdom2026-10-22Commercial Press PROPOSAL70Onyama Limba
1012Ashley D GauchoRussia2026-10-26Printing Dimensions NEGOTIATION20Elwin Sharvill
1013Leon G RutaFrance2026-10-01Chapman, Ross E Esq NEGOTIATION99Elwin Sharvill
1014Deepesh K MorascaItaly2026-10-03Dorl, James J Esq QUALIFIED91Xuxue Feng
1015Sinclair J InouyeAustralia2026-10-12Buckley Miller Wright NEGOTIATION66Ivan Magalhaes
1016Arvin O RulapaughJapan2026-10-14Truhlar And Truhlar Attys UNQUALIFIED27Stephen Shaw
1017Wickens K BologniaAustralia2026-10-24Chemel, James L Cpa UNQUALIFIED66Stephen Shaw
1018David W KuskoCanada2026-10-10Printing Dimensions NEW51Bernardo Dominic
1019Ashley J TollnerRussia2026-10-10Chemel, James L Cpa QUALIFIED2Xuxue Feng
1020Izzy V DarakjyItaly2026-09-29Truhlar And Truhlar Attys PROPOSAL0Xuxue Feng
1021Leon N WieserBrazil2026-10-01Truhlar And Truhlar Attys QUALIFIED28Amy Elsner
1022Arvin N FerenczUnited Kingdom2026-10-04Buckley Miller Wright NEGOTIATION98Anna Fali
1023Nicolas I BowleyJapan2026-10-02Chapman, Ross E Esq QUALIFIED99Xuxue Feng
1024Stacey M FollerItaly2026-10-02King, Christopher A Esq UNQUALIFIED87Ivan Magalhaes
1025Clifford Z SchemmerFrance2026-10-11Rangoni Of Florence QUALIFIED17Ioni Bowcher
1026Sinclair Y KolmetzBrazil2026-09-30Dorl, James J Esq PROPOSAL40Anna Fali
1027Maria O PaprockiJapan2026-10-11Chapman, Ross E Esq QUALIFIED66Xuxue Feng
1028Jefferson B VenereSpain2026-10-28Truhlar And Truhlar Attys UNQUALIFIED13Onyama Limba
1029Cody N FollerFrance2026-10-08Morlong Associates NEGOTIATION71Xuxue Feng
1030Darci L WaycottUnited Kingdom2026-10-26Chapman, Ross E Esq QUALIFIED31Asiya Javayant
1031Munro K NestleJapan2026-09-30Feltz Printing Service PROPOSAL48Xuxue Feng
1032Smith E ChuiSpain2026-10-22Rangoni Of Florence NEGOTIATION98Onyama Limba
1033Maria Y AlbaresAustralia2026-10-12Feltz Printing Service NEW10Stephen Shaw
1034Izzy I DoeItaly2026-10-04Rangoni Of Florence UNQUALIFIED36Ioni Bowcher
1035Alejandro L RutaRussia2026-09-30Printing Dimensions NEW40Ioni Bowcher
1036Johnson B FlosiArgentina2026-10-10King, Christopher A Esq UNQUALIFIED30Ivan Magalhaes
1037Ricardo L TollnerAustralia2026-10-10Chapman, Ross E Esq NEW48Stephen Shaw
1038Arvin C FollerFrance2026-10-07Buckley Miller Wright RENEWAL74Xuxue Feng
1039Ivar L PaprockiAustralia2026-10-25King, Christopher A Esq PROPOSAL33Xuxue Feng
1040Alejandro D GarufiCanada2026-10-08Morlong Associates NEGOTIATION3Ioni Bowcher
1041Rodrigues P SaylorsUnited Kingdom2026-10-26Benton, John B Jr NEGOTIATION36Asiya Javayant
1042Salvatore U SchemmerFrance2026-10-05King, Christopher A Esq NEGOTIATION80Bernardo Dominic
1043Juan T ShinkoIndia2026-10-19Rangoni Of Florence UNQUALIFIED88Ivan Magalhaes
1044Claire V SlusarskiJapan2026-10-28King, Christopher A Esq UNQUALIFIED74Ivan Magalhaes
1045Salvatore B AmigonArgentina2026-10-26Printing Dimensions RENEWAL94Amy Elsner
1046Kadeem B MarrierSpain2026-10-17Rousseaux, Michael Esq UNQUALIFIED77Onyama Limba
1047Alejandro A RulapaughUnited Kingdom2026-10-14King, Christopher A Esq PROPOSAL48Xuxue Feng
1048Antonio E AmigonArgentina2026-10-08Morlong Associates PROPOSAL49Xuxue Feng
1049Kaitlin B MacleadIndia2026-10-02Benton, John B Jr PROPOSAL45Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Murillo M ButtSpainOnyama Limba UNQUALIFIED
Antonio D FollerUnited KingdomIvan Magalhaes RENEWAL
Jones C AlbaresSpainAnna Fali NEW
Jones X CampainSpainIvan Magalhaes NEW
Jefferson B BowleyUnited KingdomAmy Elsner UNQUALIFIED
Mayumi Y FlosiUnited KingdomAmy Elsner NEGOTIATION
Greenwood B OldroydIndiaElwin Sharvill UNQUALIFIED
Morrow M RoysterCanadaXuxue Feng NEW
Smith T TollnerItalyStephen Shaw PROPOSAL
Murillo I SlusarskiBrazilAsiya Javayant QUALIFIED
Francesco M FigeroaCanadaAmy Elsner NEGOTIATION
Costa U BowleyIndiaElwin Sharvill UNQUALIFIED
Julie J VenereIndiaIoni Bowcher PROPOSAL
Alejandro U StensethItalyXuxue Feng QUALIFIED
Darci E ShinkoJapanOnyama Limba QUALIFIED
Mayumi H MarrierFranceAsiya Javayant RENEWAL
Aruna V GlickIndiaAmy Elsner RENEWAL
Emily Z GauchoUnited KingdomStephen Shaw RENEWAL
Leja I MacleadBrazilAnna Fali NEGOTIATION
Chavez U SaylorsAustraliaAmy Elsner PROPOSAL
Cody W ChuiJapanIoni Bowcher NEGOTIATION
Maria M BologniaBrazilBernardo Dominic NEGOTIATION
Ivar P FollerArgentinaIvan Magalhaes NEW
Francesco U BowleyIndiaStephen Shaw RENEWAL
Emily T CaudyRussiaIoni Bowcher RENEWAL
Johnson P AmigonJapanAmy Elsner PROPOSAL
Leon G DilliardUnited KingdomAmy Elsner UNQUALIFIED
Misaki M OstroskyFranceAmy Elsner NEW
Aruna G ChuiGermanyOnyama Limba QUALIFIED
Deepesh N ButtUnited KingdomXuxue Feng NEGOTIATION
Aruna V RulapaughJapanIoni Bowcher NEGOTIATION
Ashley A RutaItalyAnna Fali RENEWAL
Cody T StockhamIndiaIvan Magalhaes RENEWAL
Munro S PoquetteArgentinaAnna Fali QUALIFIED
Aruna B DoeUnited KingdomAnna Fali UNQUALIFIED
Izzy S RoysterFranceIoni Bowcher NEGOTIATION
Adams Z RutaJapanAsiya Javayant PROPOSAL
Emily M FigeroaBrazilStephen Shaw PROPOSAL
Kaitlin R DilliardSpainXuxue Feng NEW
Maisha N GarufiJapanAmy Elsner NEW
Munro L GlickFranceAmy Elsner RENEWAL
Francesco B SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
Munro G MorascaRussiaIvan Magalhaes NEW
Sinclair W MarrierArgentinaXuxue Feng PROPOSAL
Claire H ButtAustraliaAmy Elsner RENEWAL
Tony H SlusarskiArgentinaIvan Magalhaes NEW
Claire H CaudyCanadaAmy Elsner RENEWAL
Nicolas E RulapaughItalyBernardo Dominic PROPOSAL
Leja J WieserRussiaXuxue Feng NEGOTIATION
Jefferson S FollerUnited KingdomAnna Fali RENEWAL
Frozen Columns
Name
Nicolas O Dilliard
James Q Amigon
Francesco C Ostrosky
Darci U Malet
Rodrigues G Slusarski
Munro T Darakjy
David T Darakjy
Emily U Gillian
Ivar G Morasca
Costa T Doe
Tony J Maclead
Sinclair Q Campain
Alejandro C Rim
Emily U Malet
Juan E Saylors
Costa K Schemmer
Cody X Rim
Kadeem V Flosi
Leon R Darakjy
Chavez C Stockham
Claire R Caudy
Silvio Q Morasca
Arvin W Tollner
Tony I Bowley
Maria X Doe
Aika L Figeroa
Mujtaba Y Garufi
Juan S Slusarski
Greenwood F Stockham
Johnson V Oldroyd
Murillo R Iturbide
Rodrigues P Kusko
Ashley I Dilliard
Claire Y Darakjy
Francesco H Butt
Murillo B Inouye
Octavia P Caldarera
Murillo N Inouye
Misaki U Bowley
Mujtaba G Oldroyd
Aruna L Marrier
Jefferson G Foller
Maria X Venere
Emily N Royster
Antonio J Figeroa
Chavez Q Iturbide
Alejandro J Stockham
Arvin D Rim
Jeanfrancois I Waycott
Munro I Iturbide
IdCountryDate
1000India2026-10-19
1001Italy2026-10-04
1002Italy2026-10-20
1003Canada2026-10-13
1004Russia2026-10-17
1005Russia2026-10-10
1006Germany2026-10-24
1007France2026-10-03
1008Japan2026-10-12
1009Germany2026-10-19
1010United Kingdom2026-10-22
1011Germany2026-10-02
1012Spain2026-10-02
1013Italy2026-10-08
1014Argentina2026-10-24
1015United Kingdom2026-09-30
1016Canada2026-10-24
1017United Kingdom2026-10-04
1018Italy2026-10-24
1019Argentina2026-10-01
1020Argentina2026-09-29
1021Russia2026-10-15
1022India2026-10-15
1023Italy2026-10-25
1024Brazil2026-10-27
1025Australia2026-10-19
1026Spain2026-10-17
1027Argentina2026-10-09
1028Spain2026-10-02
1029United Kingdom2026-10-17
1030Germany2026-10-28
1031Spain2026-10-01
1032Japan2026-10-27
1033Japan2026-09-29
1034Spain2026-10-12
1035India2026-10-11
1036Russia2026-10-03
1037United Kingdom2026-10-03
1038Japan2026-10-19
1039Canada2026-10-09
1040United Kingdom2026-10-28
1041United Kingdom2026-10-04
1042India2026-10-09
1043India2026-10-03
1044India2026-10-20
1045United Kingdom2026-10-08
1046Russia2026-10-17
1047India2026-10-25
1048Spain2026-10-23
1049Italy2026-10-15

On-Demand Data

NameIdCountryDate
Murillo D Malet1000Russia2026-10-21
Aditya P Marrier1001United Kingdom2026-10-07
Tony Z Vocelka1002Argentina2026-10-03
Nicolas H Marrier1003Brazil2026-10-25
Costa A Rim1004United Kingdom2026-10-24
Alejandro L Sergi1005Japan2026-10-07
Tony G Maclead1006Spain2026-10-19
Tony W Flosi1007Canada2026-10-14
Kadeem D Nestle1008United Kingdom2026-10-04
Johnson U Tollner1009Brazil2026-10-22
Leon O Wieser1010Argentina2026-09-29
Leon A Oldroyd1011Spain2026-10-11
Maisha N Inouye1012Australia2026-10-07
Darci J Iturbide1013Japan2026-10-17
Greenwood Y Malet1014Japan2026-10-05
Morrow A Ferencz1015France2026-10-06
Leja P Inouye1016Argentina2026-10-11
Claire P Rim1017Australia2026-10-27
Aruna N Albares1018Italy2026-10-13
Faith N Sergi1019Japan2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas R ShinkoItalyOnyama Limba NEGOTIATION
Faith N VocelkaItalyAnna Fali UNQUALIFIED
Francesco G AmigonUnited KingdomIoni Bowcher NEW
Isabel I ButtBrazilOnyama Limba UNQUALIFIED
Ricardo Y KuskoArgentinaAmy Elsner RENEWAL
Deepesh W KolmetzGermanyAnna Fali NEGOTIATION
Claire B StockhamArgentinaOnyama Limba QUALIFIED
Emily I MaletArgentinaAsiya Javayant NEGOTIATION
Clifford Q KolmetzBrazilAsiya Javayant NEW
Johnson S VenereBrazilAsiya Javayant UNQUALIFIED
Francesco C CaldareraAustraliaAmy Elsner RENEWAL
Izzy W GarufiGermanyIoni Bowcher RENEWAL
Clifford N MacleadCanadaOnyama Limba UNQUALIFIED
Isabel J SergiSpainXuxue Feng NEGOTIATION
Aika C WaycottArgentinaIvan Magalhaes NEGOTIATION
Darci X PerinJapanOnyama Limba NEW
Juan F WieserArgentinaAnna Fali RENEWAL
Johnson W GlickBrazilIvan Magalhaes UNQUALIFIED
Chavez E MacleadUnited KingdomAnna Fali NEW
Leon G VocelkaJapanAnna Fali QUALIFIED
Ashley I SlusarskiUnited KingdomStephen Shaw NEGOTIATION
Costa B NickaSpainIoni Bowcher QUALIFIED
Misaki V PoquetteIndiaAnna Fali NEW
Jefferson Z FerenczRussiaElwin Sharvill NEGOTIATION
Wickens F CaudyRussiaStephen Shaw NEW
Silvio C GauchoSpainElwin Sharvill PROPOSAL
Munro N WhobreyFranceStephen Shaw PROPOSAL
Antonio K BowleySpainAnna Fali PROPOSAL
Aruna Q InouyeCanadaOnyama Limba NEW
Maisha P CaudyBrazilStephen Shaw UNQUALIFIED
Jeanfrancois M WhobreyUnited KingdomIvan Magalhaes RENEWAL
Julie K GauchoRussiaElwin Sharvill NEGOTIATION
Jeanfrancois V InouyeRussiaStephen Shaw UNQUALIFIED
Francesco W MorascaIndiaIoni Bowcher RENEWAL
Claire R KuskoFranceAmy Elsner NEGOTIATION
Kaitlin U PoquetteIndiaStephen Shaw QUALIFIED
Emily Y WaycottIndiaElwin Sharvill UNQUALIFIED
Stacey C StensethFranceAnna Fali UNQUALIFIED
David Q NestleRussiaStephen Shaw QUALIFIED
Kadeem K RutaItalyAmy Elsner PROPOSAL

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