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
Kadeem B MorascaArgentinaElwin Sharvill PROPOSAL
Maria C MarrierCanadaBernardo Dominic PROPOSAL
Isabel M CampainCanadaElwin Sharvill UNQUALIFIED
Leja A RulapaughItalyXuxue Feng PROPOSAL
Silvio D KuskoIndiaAsiya Javayant UNQUALIFIED
Ivar F AmigonArgentinaOnyama Limba NEW
Ashley J CaldareraItalyAsiya Javayant UNQUALIFIED
Julie Z WaycottGermanyXuxue Feng RENEWAL
James N StensethBrazilElwin Sharvill QUALIFIED
Maisha D CaudyGermanyBernardo Dominic RENEWAL
Jefferson R BologniaBrazilAmy Elsner QUALIFIED
Claire X GauchoBrazilIvan Magalhaes RENEWAL
Silvio Z NestleFranceIvan Magalhaes PROPOSAL
Leja E ShinkoCanadaAnna Fali QUALIFIED
Mujtaba D CaldareraJapanIvan Magalhaes UNQUALIFIED
Claire M PaprockiAustraliaAmy Elsner UNQUALIFIED
Emily J RoysterUnited KingdomAmy Elsner PROPOSAL
Izzy A DarakjyFranceOnyama Limba NEW
James D MorascaCanadaXuxue Feng RENEWAL
Tony K AmigonBrazilAmy Elsner NEW
Alejandro O WaycottGermanyAmy Elsner PROPOSAL
Kadeem N WieserGermanyAmy Elsner QUALIFIED
Mujtaba E AlbaresArgentinaAmy Elsner NEGOTIATION
Deepesh J RulapaughJapanStephen Shaw PROPOSAL
Morrow B SaylorsIndiaElwin Sharvill RENEWAL
Isabel V PerinUnited KingdomStephen Shaw QUALIFIED
Ashley T MarrierAustraliaStephen Shaw PROPOSAL
Tony Y CaldareraBrazilElwin Sharvill QUALIFIED
Ricardo G BowleyBrazilStephen Shaw UNQUALIFIED
Murillo H AlbaresCanadaElwin Sharvill UNQUALIFIED
Munro X FigeroaAustraliaAsiya Javayant PROPOSAL
Misaki Y MacleadUnited KingdomXuxue Feng UNQUALIFIED
Octavia W WaycottJapanOnyama Limba NEW
Francesco Q StockhamJapanStephen Shaw NEGOTIATION
Claire Q TollnerIndiaAsiya Javayant NEW
Emily N FerenczRussiaAmy Elsner UNQUALIFIED
Chavez B VenereRussiaAmy Elsner UNQUALIFIED
Nicolas Y RoysterJapanIvan Magalhaes PROPOSAL
Jeanfrancois R WaycottGermanyIoni Bowcher RENEWAL
Chavez J StensethIndiaStephen Shaw NEGOTIATION
Salvatore B RulapaughRussiaAsiya Javayant NEW
Jones I MaletRussiaAnna Fali QUALIFIED
Antonio E RutaBrazilAmy Elsner QUALIFIED
Darci S StensethUnited KingdomIvan Magalhaes NEW
Clifford Q AlbaresBrazilIoni Bowcher NEGOTIATION
Leja Y SaylorsRussiaIoni Bowcher NEGOTIATION
Leon A SergiAustraliaAsiya Javayant NEW
Aika U RulapaughBrazilStephen Shaw PROPOSAL
Munro L RutaGermanyAmy Elsner UNQUALIFIED
Juan U SergiSpainOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco G RutaGermanyOnyama Limba NEW
Maria J GarufiArgentinaStephen Shaw UNQUALIFIED
Chavez L AmigonAustraliaAsiya Javayant PROPOSAL
Maisha B DilliardUnited KingdomAmy Elsner NEGOTIATION
Smith X MorascaAustraliaOnyama Limba NEW
Jefferson G VocelkaIndiaStephen Shaw UNQUALIFIED
Sinclair P GarufiCanadaIoni Bowcher NEW
Izzy V NestleGermanyBernardo Dominic NEW
Misaki H KuskoSpainElwin Sharvill UNQUALIFIED
James Z SlusarskiRussiaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa A DilliardIndia2026-10-26King, Christopher A Esq UNQUALIFIED68Anna Fali
1001Smith Q SaylorsIndia2026-10-25Chapman, Ross E Esq QUALIFIED17Bernardo Dominic
1002Jennifer A MaletArgentina2026-10-09Rangoni Of Florence RENEWAL97Elwin Sharvill
1003Kadeem R NestleJapan2026-10-22Chanay, Jeffrey A Esq NEW62Anna Fali
1004Antonio G BologniaSpain2026-11-04Chapman, Ross E Esq QUALIFIED81Xuxue Feng
1005Faith V AlbaresUnited Kingdom2026-11-06Feiner Bros UNQUALIFIED28Elwin Sharvill
1006Darci V CaudySpain2026-10-22Morlong Associates NEW90Bernardo Dominic
1007Silvio M OstroskyGermany2026-10-22Feltz Printing Service NEGOTIATION89Asiya Javayant
1008Misaki W StensethArgentina2026-10-28Chanay, Jeffrey A Esq PROPOSAL37Xuxue Feng
1009Francesco B MarrierIndia2026-10-10Buckley Miller Wright PROPOSAL68Stephen Shaw
1010Darci B NestleCanada2026-10-15Truhlar And Truhlar Attys QUALIFIED93Xuxue Feng
1011Alejandro U OldroydAustralia2026-10-24Rousseaux, Michael Esq UNQUALIFIED83Stephen Shaw
1012Darci K PaprockiJapan2026-10-09Feltz Printing Service PROPOSAL21Anna Fali
1013Mayumi P ChuiArgentina2026-10-22Feltz Printing Service NEGOTIATION9Onyama Limba
1014Stacey F TollnerArgentina2026-11-03Buckley Miller Wright QUALIFIED15Elwin Sharvill
1015Sinclair B MaletItaly2026-10-29Chemel, James L Cpa PROPOSAL55Ioni Bowcher
1016Ivar N FlosiItaly2026-10-27Feltz Printing Service NEGOTIATION3Ioni Bowcher
1017Silvio L FlosiJapan2026-11-01Benton, John B Jr NEGOTIATION84Ivan Magalhaes
1018Smith E CampainItaly2026-10-25Benton, John B Jr PROPOSAL20Ivan Magalhaes
1019Misaki Z MaletRussia2026-10-09Benton, John B Jr QUALIFIED60Stephen Shaw
1020Jennifer P SlusarskiFrance2026-10-13Benton, John B Jr NEGOTIATION54Asiya Javayant
1021Octavia M BologniaCanada2026-10-28Feiner Bros NEW34Elwin Sharvill
1022Salvatore U MaletRussia2026-10-24Rousseaux, Michael Esq QUALIFIED81Ivan Magalhaes
1023Faith Y SchemmerFrance2026-10-09Chemel, James L Cpa UNQUALIFIED47Asiya Javayant
1024Darci Q StensethItaly2026-10-23Rangoni Of Florence NEGOTIATION9Stephen Shaw
1025Claire M FollerIndia2026-10-24Printing Dimensions QUALIFIED0Xuxue Feng
1026Misaki P SlusarskiArgentina2026-10-12Chapman, Ross E Esq NEGOTIATION80Onyama Limba
1027Aditya S TollnerItaly2026-11-01Rousseaux, Michael Esq UNQUALIFIED3Elwin Sharvill
1028Misaki J StensethJapan2026-11-05Benton, John B Jr QUALIFIED64Onyama Limba
1029Julie G ShinkoAustralia2026-10-13Rousseaux, Michael Esq NEW57Ivan Magalhaes
1030David O PoquetteIndia2026-10-30Dorl, James J Esq RENEWAL56Onyama Limba
1031Ricardo U WhobreyIndia2026-10-17Rousseaux, Michael Esq RENEWAL56Amy Elsner
1032Isabel I WieserFrance2026-11-05Chapman, Ross E Esq UNQUALIFIED91Elwin Sharvill
1033Faith S BowleyGermany2026-11-03Benton, John B Jr NEGOTIATION13Amy Elsner
1034Antonio T MorascaArgentina2026-10-12Buckley Miller Wright RENEWAL55Stephen Shaw
1035Jeanfrancois G SlusarskiUnited Kingdom2026-10-25Printing Dimensions QUALIFIED58Onyama Limba
1036Mayumi Y FlosiBrazil2026-10-30Commercial Press RENEWAL36Elwin Sharvill
1037Claire G PoquetteAustralia2026-10-27Chanay, Jeffrey A Esq NEGOTIATION64Onyama Limba
1038Jeanfrancois Q MaletFrance2026-10-10Chemel, James L Cpa PROPOSAL7Ioni Bowcher
1039Morrow J ShinkoCanada2026-10-09Chanay, Jeffrey A Esq NEGOTIATION95Amy Elsner
1040Kadeem G RoysterAustralia2026-10-29Commercial Press QUALIFIED72Bernardo Dominic
1041Wickens G OstroskyCanada2026-10-14Chemel, James L Cpa PROPOSAL2Bernardo Dominic
1042Juan I VocelkaUnited Kingdom2026-10-21Chemel, James L Cpa NEGOTIATION45Ivan Magalhaes
1043Francesco V InouyeRussia2026-10-11Chapman, Ross E Esq QUALIFIED97Ivan Magalhaes
1044David E DoeAustralia2026-10-08Feiner Bros QUALIFIED17Stephen Shaw
1045Morrow N NickaBrazil2026-11-01Printing Dimensions UNQUALIFIED10Elwin Sharvill
1046Misaki S PaprockiArgentina2026-10-13Chanay, Jeffrey A Esq QUALIFIED91Ivan Magalhaes
1047Smith T SergiBrazil2026-10-14Chanay, Jeffrey A Esq NEGOTIATION54Elwin Sharvill
1048Maisha B RoysterRussia2026-10-15Chapman, Ross E Esq UNQUALIFIED2Bernardo Dominic
1049Jeanfrancois I CaldareraUnited Kingdom2026-10-10Rousseaux, Michael Esq NEW66Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Wickens T WaycottArgentinaElwin Sharvill NEGOTIATION
Alejandro U FigeroaRussiaBernardo Dominic PROPOSAL
Cody Y KolmetzRussiaAmy Elsner PROPOSAL
Munro O RulapaughGermanyElwin Sharvill QUALIFIED
Wickens C PoquetteFranceAsiya Javayant NEW
Ricardo Z PaprockiRussiaBernardo Dominic QUALIFIED
Maria I FollerJapanOnyama Limba QUALIFIED
Arvin R BriddickBrazilAsiya Javayant PROPOSAL
Mayumi A DilliardRussiaIoni Bowcher UNQUALIFIED
Faith W CaldareraBrazilAnna Fali PROPOSAL
Julie X InouyeFranceIvan Magalhaes NEGOTIATION
Silvio F DoeItalyStephen Shaw PROPOSAL
Johnson R OldroydCanadaStephen Shaw NEW
Wickens F IturbideCanadaAmy Elsner NEW
Clifford F AmigonRussiaIvan Magalhaes PROPOSAL
Rodrigues E CaudyBrazilXuxue Feng NEW
Alejandro G StockhamRussiaAnna Fali NEW
Aditya W NestleRussiaBernardo Dominic PROPOSAL
Antonio C OstroskyUnited KingdomBernardo Dominic PROPOSAL
Aruna B NickaArgentinaIvan Magalhaes NEGOTIATION
Mujtaba Z MacleadJapanElwin Sharvill QUALIFIED
Smith B DilliardBrazilBernardo Dominic PROPOSAL
Darci M ButtAustraliaAmy Elsner PROPOSAL
Kaitlin R RimCanadaAsiya Javayant NEGOTIATION
Faith V CaudyBrazilAnna Fali QUALIFIED
Munro F RimAustraliaIvan Magalhaes PROPOSAL
Alejandro G OstroskyAustraliaIoni Bowcher NEGOTIATION
Tony J AlbaresArgentinaXuxue Feng UNQUALIFIED
Adams O BowleyRussiaIoni Bowcher RENEWAL
Emily T SchemmerFranceAnna Fali NEW
Murillo G BriddickIndiaIvan Magalhaes RENEWAL
Cody Z NestleSpainOnyama Limba RENEWAL
Faith H NestleArgentinaBernardo Dominic PROPOSAL
Munro E StockhamFranceAnna Fali RENEWAL
Costa D PoquetteItalyXuxue Feng UNQUALIFIED
Emily B GauchoBrazilAmy Elsner QUALIFIED
Jefferson H ChuiArgentinaAmy Elsner RENEWAL
Darci S SchemmerAustraliaIvan Magalhaes QUALIFIED
Murillo C PerinAustraliaAnna Fali NEW
Jeanfrancois X VocelkaCanadaOnyama Limba QUALIFIED
Julie N CampainUnited KingdomElwin Sharvill PROPOSAL
Kadeem L GarufiFranceIvan Magalhaes QUALIFIED
Aditya P VenereSpainAsiya Javayant PROPOSAL
Jeanfrancois I DoeJapanStephen Shaw RENEWAL
Leon P CaudyIndiaAnna Fali UNQUALIFIED
Izzy B CampainArgentinaAsiya Javayant NEGOTIATION
Darci B PerinGermanyAmy Elsner NEGOTIATION
Jefferson Q ShinkoItalyAnna Fali NEW
Juan C ChuiBrazilIoni Bowcher RENEWAL
Ivar X AlbaresItalyAnna Fali QUALIFIED
Frozen Columns
Name
Jefferson H Oldroyd
Cody P Whobrey
Ricardo H Campain
Julie N Butt
Wickens J Malet
Rodrigues A Ostrosky
Aditya N Ostrosky
Faith S Malet
Morrow O Kolmetz
Salvatore A Nicka
Maisha I Nicka
Morrow H Kolmetz
Misaki Z Paprocki
Nicolas S Schemmer
Darci J Ferencz
Kadeem N Flosi
Francesco M Foller
Stacey W Marrier
Smith M Malet
Greenwood C Marrier
Mayumi C Doe
Izzy T Ferencz
Misaki P Chui
Leon C Kusko
Silvio R Oldroyd
James P Gaucho
Deepesh G Stockham
Clifford B Venere
Wickens M Waycott
Antonio M Darakjy
Munro U Kolmetz
Stacey R Shinko
James I Albares
Antonio X Flosi
Antonio O Marrier
Sinclair H Nicka
James V Saylors
Arvin I Vocelka
Adams Z Marrier
Misaki G Briddick
Clifford X Shinko
Johnson C Nestle
Faith J Wieser
Emily J Gillian
Izzy S Stenseth
Izzy K Ferencz
Aika G Kusko
Leja A Bolognia
Leon X Butt
David F Caudy
IdCountryDate
1000United Kingdom2026-10-12
1001Argentina2026-10-22
1002Canada2026-10-28
1003Russia2026-10-25
1004France2026-10-22
1005Russia2026-10-23
1006Canada2026-10-19
1007Australia2026-10-29
1008Germany2026-10-13
1009France2026-10-16
1010Brazil2026-10-10
1011Germany2026-10-13
1012Italy2026-10-28
1013France2026-10-12
1014Australia2026-11-02
1015Argentina2026-10-26
1016Argentina2026-11-06
1017Australia2026-10-15
1018Australia2026-11-03
1019Russia2026-10-27
1020United Kingdom2026-10-31
1021Germany2026-10-28
1022Japan2026-10-10
1023Japan2026-10-18
1024Italy2026-10-24
1025India2026-10-12
1026Russia2026-10-09
1027Australia2026-11-01
1028France2026-10-12
1029Spain2026-10-26
1030Canada2026-11-05
1031France2026-10-22
1032Russia2026-10-09
1033Spain2026-10-26
1034Russia2026-11-06
1035Russia2026-10-15
1036Australia2026-10-09
1037Brazil2026-10-31
1038United Kingdom2026-10-18
1039India2026-10-27
1040Germany2026-11-02
1041Canada2026-11-05
1042Germany2026-10-09
1043Japan2026-11-02
1044Spain2026-11-06
1045Italy2026-11-03
1046Argentina2026-10-11
1047India2026-11-05
1048India2026-10-20
1049Japan2026-10-30

On-Demand Data

NameIdCountryDate
Munro G Iturbide1000Spain2026-10-29
Aruna Q Foller1001United Kingdom2026-10-11
Julie J Tollner1002France2026-10-09
Jones C Whobrey1003Spain2026-10-24
Aika D Waycott1004Argentina2026-10-20
Johnson L Amigon1005Italy2026-10-30
Aruna R Malet1006Canada2026-10-10
Smith S Kolmetz1007United Kingdom2026-10-11
Francesco N Kusko1008United Kingdom2026-11-03
Greenwood E Caudy1009Canada2026-10-29
Chavez Q Foller1010Argentina2026-10-12
Octavia A Slusarski1011Russia2026-10-28
Isabel Z Dilliard1012Argentina2026-10-23
Rodrigues Q Figeroa1013Japan2026-11-05
Nicolas C Nestle1014Italy2026-10-23
Ricardo C Maclead1015Canada2026-10-30
Wickens B Amigon1016Russia2026-10-26
Deepesh G Ostrosky1017Italy2026-10-23
Stacey V Tollner1018United Kingdom2026-10-10
Sinclair G Caldarera1019Japan2026-10-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha X RoysterAustraliaXuxue Feng RENEWAL
Faith Q RimFranceElwin Sharvill NEW
Wickens T ShinkoBrazilAsiya Javayant PROPOSAL
Emily K GarufiSpainAmy Elsner UNQUALIFIED
Adams K ShinkoUnited KingdomAnna Fali RENEWAL
Costa C IturbideRussiaAmy Elsner NEW
Maria X KuskoJapanIvan Magalhaes UNQUALIFIED
Faith M MaletJapanBernardo Dominic UNQUALIFIED
Leja G BriddickAustraliaIoni Bowcher NEW
Rodrigues F StensethGermanyIoni Bowcher PROPOSAL
Costa F SergiRussiaAmy Elsner NEGOTIATION
Morrow U FerenczIndiaStephen Shaw PROPOSAL
Kadeem G AmigonIndiaElwin Sharvill PROPOSAL
Jennifer E MaletJapanElwin Sharvill PROPOSAL
Juan C PaprockiRussiaIoni Bowcher NEGOTIATION
Julie W AmigonCanadaStephen Shaw PROPOSAL
Wickens W SlusarskiAustraliaAsiya Javayant QUALIFIED
Aditya M ButtFranceIvan Magalhaes NEW
Claire L DoeItalyBernardo Dominic NEW
Alejandro J CaudyGermanyElwin Sharvill NEW
Jennifer B BologniaIndiaAnna Fali PROPOSAL
Aditya N SergiSpainBernardo Dominic PROPOSAL
Mujtaba W FigeroaAustraliaOnyama Limba RENEWAL
Darci Q FollerCanadaOnyama Limba QUALIFIED
Arvin M WieserCanadaOnyama Limba NEGOTIATION
Francesco K DilliardArgentinaBernardo Dominic NEW
Nicolas W PerinAustraliaAmy Elsner RENEWAL
Claire L GarufiJapanIoni Bowcher NEGOTIATION
Murillo J DoeArgentinaAmy Elsner UNQUALIFIED
Kaitlin V BowleyArgentinaIvan Magalhaes UNQUALIFIED
Leja M GarufiAustraliaXuxue Feng QUALIFIED
Johnson I RimItalyOnyama Limba PROPOSAL
Julie A WaycottItalyXuxue Feng QUALIFIED
Arvin L MaletSpainStephen Shaw PROPOSAL
Wickens O ButtArgentinaIvan Magalhaes UNQUALIFIED
Johnson P IturbideBrazilXuxue Feng NEW
Mayumi I MorascaBrazilIoni Bowcher UNQUALIFIED
Jennifer Y PoquetteCanadaAnna Fali NEGOTIATION
Cody C StockhamIndiaAnna Fali UNQUALIFIED
Tony U MarrierBrazilIoni Bowcher 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>