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 Y BologniaAustraliaIoni Bowcher NEGOTIATION
Izzy P AlbaresIndiaIoni Bowcher NEGOTIATION
Silvio W StensethCanadaAsiya Javayant RENEWAL
Clifford I StensethIndiaOnyama Limba RENEWAL
Kadeem X SchemmerFranceIvan Magalhaes UNQUALIFIED
Aditya F VenereIndiaAmy Elsner RENEWAL
Emily U WieserItalyAmy Elsner NEW
Julie N OldroydIndiaBernardo Dominic NEGOTIATION
Aditya E BowleyAustraliaAnna Fali NEGOTIATION
Tony B MaletIndiaAsiya Javayant QUALIFIED
Sinclair M VocelkaIndiaStephen Shaw RENEWAL
Emily C GarufiBrazilStephen Shaw PROPOSAL
Claire E BologniaUnited KingdomStephen Shaw NEW
Juan C MaletUnited KingdomOnyama Limba QUALIFIED
Greenwood L KuskoGermanyElwin Sharvill UNQUALIFIED
Antonio O AlbaresAustraliaAnna Fali PROPOSAL
Mayumi S AmigonAustraliaAnna Fali QUALIFIED
Jefferson O RimSpainAsiya Javayant PROPOSAL
Leja C RutaRussiaAmy Elsner NEGOTIATION
Arvin E CaudyAustraliaStephen Shaw QUALIFIED
Costa X BriddickFranceElwin Sharvill UNQUALIFIED
James E WieserGermanyXuxue Feng RENEWAL
Ivar Y SlusarskiUnited KingdomAmy Elsner NEGOTIATION
Aruna E SchemmerCanadaAnna Fali UNQUALIFIED
Kaitlin D StensethUnited KingdomAnna Fali PROPOSAL
Kadeem M MorascaAustraliaStephen Shaw UNQUALIFIED
Arvin W AlbaresRussiaStephen Shaw RENEWAL
Greenwood R AlbaresJapanAmy Elsner RENEWAL
Isabel M SlusarskiBrazilOnyama Limba PROPOSAL
Rodrigues E CaudyItalyIvan Magalhaes RENEWAL
Nicolas Y CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Octavia Q StensethIndiaElwin Sharvill PROPOSAL
Ricardo U DarakjyAustraliaIvan Magalhaes NEGOTIATION
Octavia T BriddickBrazilAsiya Javayant NEGOTIATION
Chavez V MarrierRussiaAsiya Javayant NEGOTIATION
Adams I IturbideCanadaAnna Fali NEGOTIATION
Misaki K AmigonUnited KingdomXuxue Feng NEGOTIATION
Misaki Q WieserAustraliaIoni Bowcher QUALIFIED
Stacey E AmigonBrazilAsiya Javayant UNQUALIFIED
Murillo M FollerFranceAmy Elsner QUALIFIED
Alejandro T PerinBrazilAmy Elsner UNQUALIFIED
Sinclair P DilliardIndiaOnyama Limba RENEWAL
Aika S CaldareraArgentinaAnna Fali QUALIFIED
Izzy B GillianGermanyBernardo Dominic QUALIFIED
Emily C DilliardFranceXuxue Feng UNQUALIFIED
Claire N CaudyJapanOnyama Limba RENEWAL
Isabel O KolmetzArgentinaIoni Bowcher QUALIFIED
Jefferson C ShinkoIndiaElwin Sharvill NEW
Rodrigues M MacleadBrazilIvan Magalhaes UNQUALIFIED
Jones X FigeroaSpainXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas Y CampainAustraliaStephen Shaw NEW
Cody A PoquetteAustraliaStephen Shaw UNQUALIFIED
Kaitlin D OldroydCanadaIoni Bowcher UNQUALIFIED
Costa M ShinkoCanadaAnna Fali UNQUALIFIED
Clifford O AmigonItalyXuxue Feng QUALIFIED
Ashley Y MorascaSpainBernardo Dominic PROPOSAL
Aruna D CampainSpainIoni Bowcher RENEWAL
Aika E GarufiJapanAnna Fali NEGOTIATION
Kaitlin B InouyeSpainBernardo Dominic RENEWAL
Deepesh O KuskoRussiaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon D SlusarskiSpain2026-10-23Chemel, James L Cpa PROPOSAL93Stephen Shaw
1001Aruna T OstroskySpain2026-10-21Truhlar And Truhlar Attys UNQUALIFIED87Stephen Shaw
1002Maria B MarrierAustralia2026-10-25Truhlar And Truhlar Attys NEGOTIATION79Anna Fali
1003Murillo Y WaycottGermany2026-10-18Feiner Bros QUALIFIED55Ioni Bowcher
1004Jeanfrancois C GillianIndia2026-10-07King, Christopher A Esq RENEWAL30Anna Fali
1005Murillo H ChuiSpain2026-10-02Printing Dimensions RENEWAL85Stephen Shaw
1006Francesco X ButtArgentina2026-10-06Dorl, James J Esq QUALIFIED27Amy Elsner
1007Faith Z GauchoRussia2026-10-08Rangoni Of Florence RENEWAL23Ivan Magalhaes
1008Sinclair X OldroydUnited Kingdom2026-10-19Chemel, James L Cpa RENEWAL53Xuxue Feng
1009Arvin X IturbideRussia2026-10-25Chapman, Ross E Esq RENEWAL93Ivan Magalhaes
1010Izzy Z DarakjyIndia2026-10-05Chanay, Jeffrey A Esq RENEWAL70Onyama Limba
1011Alejandro S CaldareraBrazil2026-10-08Printing Dimensions RENEWAL92Anna Fali
1012Emily S StockhamBrazil2026-10-04King, Christopher A Esq UNQUALIFIED85Ivan Magalhaes
1013Kaitlin G WhobreyRussia2026-10-17Buckley Miller Wright QUALIFIED72Ivan Magalhaes
1014Deepesh V MacleadItaly2026-10-09Commercial Press NEGOTIATION4Ivan Magalhaes
1015Chavez K NestleAustralia2026-10-06Commercial Press PROPOSAL25Anna Fali
1016Leon X FigeroaCanada2026-10-06Benton, John B Jr QUALIFIED70Ioni Bowcher
1017Chavez M StockhamRussia2026-10-13Truhlar And Truhlar Attys UNQUALIFIED4Anna Fali
1018Francesco Y BowleyItaly2026-10-21Benton, John B Jr QUALIFIED65Amy Elsner
1019Ashley R RimGermany2026-10-05Truhlar And Truhlar Attys RENEWAL26Onyama Limba
1020James P BologniaUnited Kingdom2026-10-29Buckley Miller Wright RENEWAL84Ioni Bowcher
1021Kadeem X SchemmerJapan2026-10-04Feiner Bros QUALIFIED42Anna Fali
1022Deepesh S RutaArgentina2026-10-02Buckley Miller Wright NEGOTIATION24Elwin Sharvill
1023Ashley W VocelkaItaly2026-10-28Feltz Printing Service QUALIFIED23Asiya Javayant
1024Mujtaba N BologniaRussia2026-10-30Printing Dimensions PROPOSAL44Ivan Magalhaes
1025Aika O DarakjyRussia2026-10-31Rangoni Of Florence NEW45Xuxue Feng
1026Faith S FerenczBrazil2026-10-06Feiner Bros NEGOTIATION98Amy Elsner
1027Cody G VenereFrance2026-10-11Feltz Printing Service QUALIFIED6Amy Elsner
1028Salvatore E RimCanada2026-10-23King, Christopher A Esq NEGOTIATION94Anna Fali
1029Aruna V VocelkaFrance2026-10-31Feltz Printing Service UNQUALIFIED65Stephen Shaw
1030Leja A WieserCanada2026-10-05Feltz Printing Service RENEWAL15Elwin Sharvill
1031Johnson I MarrierFrance2026-10-26Truhlar And Truhlar Attys RENEWAL22Onyama Limba
1032Adams T KolmetzGermany2026-10-06Benton, John B Jr PROPOSAL2Elwin Sharvill
1033Wickens T MaletAustralia2026-10-06Buckley Miller Wright QUALIFIED65Stephen Shaw
1034Maria I MaletArgentina2026-10-11King, Christopher A Esq NEW43Elwin Sharvill
1035Arvin B StockhamRussia2026-10-20Chemel, James L Cpa QUALIFIED46Bernardo Dominic
1036Chavez Y FigeroaUnited Kingdom2026-10-17Benton, John B Jr RENEWAL42Xuxue Feng
1037Stacey A NestleBrazil2026-10-09Chapman, Ross E Esq UNQUALIFIED17Asiya Javayant
1038Rodrigues J ButtSpain2026-10-24Dorl, James J Esq UNQUALIFIED68Bernardo Dominic
1039Nicolas F VocelkaCanada2026-10-25Truhlar And Truhlar Attys PROPOSAL21Bernardo Dominic
1040Clifford U SlusarskiFrance2026-10-30Feltz Printing Service NEW24Ioni Bowcher
1041Octavia H MacleadJapan2026-10-30Rangoni Of Florence PROPOSAL95Xuxue Feng
1042James Q MarrierJapan2026-10-10Morlong Associates PROPOSAL49Stephen Shaw
1043Julie F IturbideJapan2026-10-09Printing Dimensions PROPOSAL67Onyama Limba
1044Aditya G CampainJapan2026-10-26Feltz Printing Service UNQUALIFIED9Asiya Javayant
1045Munro W DarakjyArgentina2026-10-21Commercial Press NEW15Anna Fali
1046Ricardo W ButtCanada2026-10-23Dorl, James J Esq QUALIFIED99Amy Elsner
1047Kaitlin U FlosiFrance2026-10-04Buckley Miller Wright NEW33Asiya Javayant
1048Ricardo K TollnerUnited Kingdom2026-10-11Commercial Press UNQUALIFIED44Asiya Javayant
1049Nicolas P KuskoItaly2026-10-10Chapman, Ross E Esq QUALIFIED59Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Q CaudyGermanyOnyama Limba UNQUALIFIED
Murillo H GillianCanadaXuxue Feng RENEWAL
Maisha G MorascaItalyAmy Elsner QUALIFIED
Deepesh C FigeroaBrazilIvan Magalhaes RENEWAL
Salvatore C ShinkoRussiaAnna Fali UNQUALIFIED
Kadeem O GillianGermanyAnna Fali PROPOSAL
Kaitlin H WaycottUnited KingdomAsiya Javayant QUALIFIED
Julie R GlickCanadaAsiya Javayant UNQUALIFIED
Wickens A ChuiFranceXuxue Feng NEW
Aditya Q RulapaughSpainIvan Magalhaes UNQUALIFIED
Misaki O MaletArgentinaXuxue Feng NEW
Aruna O CaldareraCanadaIoni Bowcher QUALIFIED
Faith L NickaIndiaBernardo Dominic QUALIFIED
Leja P OstroskyAustraliaXuxue Feng NEGOTIATION
Jefferson U DarakjyGermanyBernardo Dominic UNQUALIFIED
Jeanfrancois E SlusarskiJapanIoni Bowcher UNQUALIFIED
Murillo D CaldareraUnited KingdomAsiya Javayant QUALIFIED
Adams V CampainRussiaStephen Shaw NEW
Alejandro R DoeItalyOnyama Limba NEW
Jennifer T FollerSpainIvan Magalhaes QUALIFIED
David H SchemmerCanadaOnyama Limba RENEWAL
Jeanfrancois T WhobreySpainXuxue Feng NEGOTIATION
Deepesh R NestleRussiaXuxue Feng NEW
Arvin Q GillianCanadaIoni Bowcher NEGOTIATION
Mujtaba O VenereFranceStephen Shaw RENEWAL
Adams M FerenczSpainAsiya Javayant PROPOSAL
Jeanfrancois H MorascaJapanAmy Elsner NEGOTIATION
Cody B SergiJapanXuxue Feng UNQUALIFIED
Chavez A GarufiArgentinaAsiya Javayant NEGOTIATION
Faith O TollnerJapanAmy Elsner QUALIFIED
Ivar B SergiBrazilIvan Magalhaes RENEWAL
Deepesh B CaudyGermanyOnyama Limba QUALIFIED
Aditya K RulapaughGermanyIoni Bowcher NEGOTIATION
Leon O StensethBrazilXuxue Feng RENEWAL
Kaitlin C VenereAustraliaXuxue Feng NEGOTIATION
Jeanfrancois G CaudyFranceAnna Fali PROPOSAL
Johnson X RutaRussiaElwin Sharvill UNQUALIFIED
Aditya B AlbaresJapanElwin Sharvill PROPOSAL
James R DarakjyAustraliaIvan Magalhaes QUALIFIED
Antonio T MorascaRussiaBernardo Dominic PROPOSAL
Claire C OldroydFranceAnna Fali QUALIFIED
Silvio P CaldareraIndiaIoni Bowcher QUALIFIED
Aditya A AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Wickens H FerenczItalyAnna Fali PROPOSAL
Deepesh Q StensethSpainIvan Magalhaes QUALIFIED
Adams Y MaletCanadaAsiya Javayant UNQUALIFIED
Aditya W WieserFranceStephen Shaw UNQUALIFIED
Juan Z KuskoFranceAnna Fali NEGOTIATION
Salvatore H RimSpainXuxue Feng NEGOTIATION
Darci A WaycottSpainIoni Bowcher NEGOTIATION
Frozen Columns
Name
Mujtaba T Campain
Emily W Figeroa
Mujtaba Y Caldarera
Salvatore M Vocelka
Izzy B Ostrosky
Ashley Y Saylors
Juan C Stockham
Aika O Nicka
Smith H Morasca
Aika R Whobrey
Maria U Foller
Faith A Tollner
Wickens Y Darakjy
Isabel E Schemmer
Faith W Marrier
Salvatore V Sergi
James R Malet
Julie X Wieser
Aika L Chui
Misaki I Kusko
Chavez T Glick
Aika K Caudy
Julie L Rim
Alejandro I Saylors
Chavez F Rim
Mayumi M Malet
Ashley X Campain
Greenwood N Perin
Alejandro J Campain
Adams G Maclead
Emily V Morasca
Kadeem W Albares
Alejandro P Amigon
Kadeem W Figeroa
Cody Y Whobrey
Maisha V Gaucho
Aditya V Malet
Aruna J Bolognia
Johnson H Malet
Stacey Y Saylors
Jennifer L Vocelka
Johnson F Dilliard
Aditya V Amigon
Ivar Y Marrier
Tony C Waycott
Jefferson F Slusarski
Darci P Nicka
David F Caldarera
Leja W Chui
Maisha X Foller
IdCountryDate
1000Italy2026-10-16
1001France2026-10-06
1002Italy2026-10-23
1003Italy2026-10-30
1004France2026-10-28
1005Japan2026-10-31
1006United Kingdom2026-10-16
1007India2026-10-17
1008France2026-10-03
1009United Kingdom2026-10-02
1010India2026-10-18
1011India2026-10-08
1012Brazil2026-10-26
1013France2026-10-03
1014France2026-10-12
1015Brazil2026-10-06
1016Argentina2026-10-03
1017Italy2026-10-23
1018Spain2026-10-12
1019Argentina2026-10-25
1020Australia2026-10-23
1021Spain2026-10-19
1022Germany2026-10-15
1023India2026-10-19
1024Russia2026-10-17
1025Japan2026-10-02
1026Argentina2026-10-31
1027Japan2026-10-06
1028Spain2026-10-26
1029Canada2026-10-28
1030Germany2026-10-30
1031Argentina2026-10-03
1032Brazil2026-10-02
1033Spain2026-10-10
1034Canada2026-10-26
1035Italy2026-10-27
1036Brazil2026-10-21
1037Japan2026-10-08
1038Canada2026-10-27
1039Italy2026-10-21
1040Russia2026-10-15
1041Canada2026-10-14
1042India2026-10-31
1043Canada2026-10-10
1044Canada2026-10-05
1045India2026-10-24
1046Italy2026-10-17
1047Spain2026-10-29
1048Russia2026-10-21
1049Germany2026-10-19

On-Demand Data

NameIdCountryDate
Silvio H Slusarski1000Canada2026-10-06
Costa N Kolmetz1001France2026-10-08
Aruna X Figeroa1002Japan2026-10-27
Tony R Caudy1003Russia2026-10-03
Arvin F Albares1004Argentina2026-10-04
Leon O Kusko1005Russia2026-10-08
Silvio Q Bolognia1006Argentina2026-10-13
Emily V Ferencz1007Canada2026-10-13
Jefferson V Bowley1008Russia2026-10-26
Mayumi E Sergi1009Canada2026-10-12
Mayumi M Stenseth1010Spain2026-10-29
Stacey W Campain1011United Kingdom2026-10-07
Darci T Sergi1012Germany2026-10-26
Rodrigues U Kusko1013Argentina2026-10-20
Leon J Rim1014Germany2026-10-19
Claire L Chui1015Japan2026-10-02
Faith Q Oldroyd1016Brazil2026-10-14
Leon I Ferencz1017United Kingdom2026-10-26
Nicolas O Paprocki1018Brazil2026-10-21
Jeanfrancois N Rulapaugh1019Australia2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson O InouyeBrazilAmy Elsner UNQUALIFIED
Morrow X PoquetteSpainIoni Bowcher UNQUALIFIED
Adams D FerenczSpainAmy Elsner QUALIFIED
Isabel B BologniaAustraliaElwin Sharvill PROPOSAL
Rodrigues X RimAustraliaElwin Sharvill NEGOTIATION
James Y MacleadUnited KingdomOnyama Limba RENEWAL
Maria W SaylorsSpainIvan Magalhaes QUALIFIED
Mayumi B SergiAustraliaStephen Shaw QUALIFIED
Morrow T DoeSpainXuxue Feng NEGOTIATION
Ashley M AlbaresItalyAmy Elsner PROPOSAL
Juan Z NickaIndiaAsiya Javayant QUALIFIED
Clifford N VocelkaArgentinaIoni Bowcher PROPOSAL
Ashley C PaprockiAustraliaXuxue Feng NEGOTIATION
Costa L WaycottItalyAnna Fali RENEWAL
Isabel A BriddickGermanyIoni Bowcher NEGOTIATION
Leon S KolmetzFranceBernardo Dominic NEGOTIATION
Julie E KolmetzArgentinaIvan Magalhaes NEW
Smith Q MarrierBrazilBernardo Dominic NEGOTIATION
Munro T ShinkoFranceAsiya Javayant UNQUALIFIED
Kaitlin U BowleyCanadaXuxue Feng PROPOSAL
Johnson M MaletItalyBernardo Dominic NEGOTIATION
Maisha J IturbideArgentinaElwin Sharvill UNQUALIFIED
Juan W DoeArgentinaBernardo Dominic NEGOTIATION
Leja Q ShinkoJapanElwin Sharvill NEW
Leja O PerinFranceIoni Bowcher RENEWAL
Mayumi B TollnerIndiaIoni Bowcher PROPOSAL
James I VocelkaJapanXuxue Feng PROPOSAL
Leon B StensethUnited KingdomIoni Bowcher UNQUALIFIED
Murillo T ShinkoGermanyElwin Sharvill PROPOSAL
Silvio Y OldroydFranceXuxue Feng QUALIFIED
Alejandro V NestleRussiaXuxue Feng RENEWAL
Darci D PerinBrazilXuxue Feng RENEWAL
Nicolas K FigeroaBrazilOnyama Limba QUALIFIED
Murillo R SchemmerSpainBernardo Dominic PROPOSAL
Maria V MaletAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois H DarakjyJapanOnyama Limba PROPOSAL
Francesco L AlbaresArgentinaElwin Sharvill RENEWAL
Salvatore K CampainItalyOnyama Limba RENEWAL
Cody G FollerFranceOnyama Limba RENEWAL
Misaki G OldroydFranceElwin Sharvill 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>