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
David Z StensethUnited KingdomAsiya Javayant NEGOTIATION
Darci Y TollnerFranceAnna Fali NEGOTIATION
Darci V GauchoJapanAmy Elsner QUALIFIED
Mayumi N DoeCanadaXuxue Feng NEW
Claire F RoysterSpainAsiya Javayant QUALIFIED
Claire E WieserGermanyAmy Elsner PROPOSAL
Jeanfrancois C DarakjyIndiaIoni Bowcher QUALIFIED
Jennifer L GauchoCanadaOnyama Limba NEW
Darci D DilliardSpainAnna Fali PROPOSAL
Adams T VocelkaAustraliaOnyama Limba QUALIFIED
Sinclair I ChuiRussiaAmy Elsner UNQUALIFIED
Sinclair C BriddickSpainAmy Elsner UNQUALIFIED
Jeanfrancois A ShinkoJapanIvan Magalhaes RENEWAL
Leon N MacleadArgentinaStephen Shaw RENEWAL
David P SaylorsAustraliaStephen Shaw UNQUALIFIED
Johnson Z WhobreyRussiaXuxue Feng QUALIFIED
Izzy H CaldareraSpainBernardo Dominic PROPOSAL
Aika P WieserFranceIoni Bowcher NEGOTIATION
Ricardo O WieserSpainIoni Bowcher NEGOTIATION
Jeanfrancois G KolmetzRussiaBernardo Dominic UNQUALIFIED
Juan D RutaGermanyAmy Elsner QUALIFIED
Greenwood B CaldareraIndiaXuxue Feng PROPOSAL
Faith W CampainAustraliaOnyama Limba NEGOTIATION
Jefferson P DarakjySpainElwin Sharvill RENEWAL
Jeanfrancois B FlosiRussiaAnna Fali RENEWAL
Francesco X SergiArgentinaIvan Magalhaes NEGOTIATION
Wickens C MorascaJapanIvan Magalhaes PROPOSAL
Sinclair A SergiIndiaXuxue Feng QUALIFIED
Mayumi J GauchoUnited KingdomAsiya Javayant NEGOTIATION
Sinclair O MarrierJapanAmy Elsner RENEWAL
Kaitlin R NickaItalyAnna Fali UNQUALIFIED
Greenwood Y CaudyJapanBernardo Dominic UNQUALIFIED
Stacey R SchemmerArgentinaXuxue Feng RENEWAL
Julie M WhobreyJapanBernardo Dominic RENEWAL
Ivar V AlbaresSpainIoni Bowcher QUALIFIED
Kadeem W GarufiJapanIvan Magalhaes NEW
James P ChuiFranceOnyama Limba RENEWAL
Leja P SaylorsRussiaAnna Fali UNQUALIFIED
Aruna G SergiGermanyAsiya Javayant QUALIFIED
Juan I DoeUnited KingdomOnyama Limba PROPOSAL
Murillo A BowleyUnited KingdomStephen Shaw NEGOTIATION
David H PoquetteIndiaElwin Sharvill RENEWAL
Izzy E DoeRussiaBernardo Dominic NEW
Deepesh L DilliardJapanIoni Bowcher RENEWAL
Costa A RimIndiaStephen Shaw UNQUALIFIED
Morrow E MarrierGermanyStephen Shaw NEW
Jennifer M FigeroaSpainAmy Elsner UNQUALIFIED
Jeanfrancois I NestleJapanAsiya Javayant NEGOTIATION
Izzy K SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Leja O MorascaRussiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas D RoysterJapanElwin Sharvill RENEWAL
Greenwood V GillianJapanIoni Bowcher RENEWAL
Cody D FlosiUnited KingdomIvan Magalhaes NEW
Silvio A BowleyArgentinaAnna Fali PROPOSAL
Aika Y PaprockiRussiaAmy Elsner QUALIFIED
Misaki T FigeroaRussiaIvan Magalhaes NEW
Kadeem M MaletIndiaAmy Elsner UNQUALIFIED
Munro P VocelkaRussiaIoni Bowcher RENEWAL
Ivar E GlickAustraliaAnna Fali RENEWAL
Julie T AmigonJapanStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair Y AlbaresCanada2026-09-15Morlong Associates PROPOSAL6Bernardo Dominic
1001Wickens Z MarrierFrance2026-10-08Chemel, James L Cpa QUALIFIED0Ioni Bowcher
1002Kaitlin Z FollerGermany2026-09-21Feiner Bros QUALIFIED75Anna Fali
1003Rodrigues L MaletGermany2026-10-04Truhlar And Truhlar Attys RENEWAL34Bernardo Dominic
1004Leja H GauchoSpain2026-10-08Feltz Printing Service PROPOSAL46Ivan Magalhaes
1005Aditya M OstroskyFrance2026-09-26Benton, John B Jr NEW17Amy Elsner
1006Johnson F PerinCanada2026-09-13Chemel, James L Cpa UNQUALIFIED5Anna Fali
1007Faith Y MaletRussia2026-10-07Rangoni Of Florence QUALIFIED52Onyama Limba
1008Stacey E WieserItaly2026-09-26Buckley Miller Wright NEW7Asiya Javayant
1009Jeanfrancois H BriddickArgentina2026-10-03Rousseaux, Michael Esq NEW92Bernardo Dominic
1010Salvatore F CaldareraJapan2026-09-15Truhlar And Truhlar Attys UNQUALIFIED61Onyama Limba
1011Aruna I CaldareraRussia2026-09-21Commercial Press QUALIFIED53Ivan Magalhaes
1012Aika U RulapaughCanada2026-09-21Printing Dimensions PROPOSAL10Ivan Magalhaes
1013Maria I CaldareraFrance2026-09-22Benton, John B Jr UNQUALIFIED53Anna Fali
1014Tony P WhobreyArgentina2026-09-20Commercial Press UNQUALIFIED53Asiya Javayant
1015Jefferson B GillianRussia2026-09-20Dorl, James J Esq NEGOTIATION60Asiya Javayant
1016Rodrigues I RoysterBrazil2026-09-25Benton, John B Jr PROPOSAL88Anna Fali
1017Kadeem V CaudyAustralia2026-10-11Morlong Associates PROPOSAL9Bernardo Dominic
1018Maisha S IturbideAustralia2026-09-30Rousseaux, Michael Esq NEW19Ivan Magalhaes
1019Jeanfrancois Z KuskoAustralia2026-10-02Chapman, Ross E Esq NEGOTIATION17Onyama Limba
1020Jefferson A CaudyBrazil2026-09-18Dorl, James J Esq RENEWAL39Ioni Bowcher
1021Maria L CaudyItaly2026-09-27Chapman, Ross E Esq RENEWAL0Elwin Sharvill
1022Rodrigues R MacleadIndia2026-10-08Truhlar And Truhlar Attys PROPOSAL36Elwin Sharvill
1023Mujtaba Y FigeroaJapan2026-10-10Chemel, James L Cpa NEGOTIATION89Stephen Shaw
1024Mayumi H TollnerIndia2026-09-24Rangoni Of Florence RENEWAL56Amy Elsner
1025Mujtaba O DoeItaly2026-10-11Printing Dimensions RENEWAL31Onyama Limba
1026Jennifer Z BologniaGermany2026-10-11Chemel, James L Cpa NEW23Xuxue Feng
1027Maria B AmigonRussia2026-10-06Truhlar And Truhlar Attys UNQUALIFIED61Asiya Javayant
1028James X StockhamItaly2026-10-10Buckley Miller Wright UNQUALIFIED75Xuxue Feng
1029Greenwood Y DarakjyArgentina2026-09-28Benton, John B Jr RENEWAL39Asiya Javayant
1030David S CaldareraGermany2026-10-05Buckley Miller Wright PROPOSAL12Asiya Javayant
1031Smith O DoeFrance2026-10-03Chemel, James L Cpa QUALIFIED75Elwin Sharvill
1032Antonio U MorascaIndia2026-09-22Printing Dimensions UNQUALIFIED27Anna Fali
1033Aruna P RimUnited Kingdom2026-10-01Buckley Miller Wright PROPOSAL11Amy Elsner
1034Wickens F TollnerArgentina2026-10-04Chapman, Ross E Esq NEW59Onyama Limba
1035Deepesh O MaletIndia2026-09-25Truhlar And Truhlar Attys PROPOSAL32Asiya Javayant
1036Murillo J GauchoBrazil2026-10-05Rousseaux, Michael Esq RENEWAL76Onyama Limba
1037Alejandro P MarrierIndia2026-09-21Chemel, James L Cpa UNQUALIFIED90Ivan Magalhaes
1038Clifford N WaycottGermany2026-09-17Commercial Press RENEWAL68Anna Fali
1039Claire U WaycottBrazil2026-10-06Feiner Bros RENEWAL13Bernardo Dominic
1040David E KolmetzItaly2026-10-04Chanay, Jeffrey A Esq NEGOTIATION99Amy Elsner
1041Silvio P ChuiCanada2026-09-17Buckley Miller Wright PROPOSAL24Bernardo Dominic
1042Ricardo J FlosiSpain2026-09-18Rangoni Of Florence RENEWAL31Ivan Magalhaes
1043Maria E SchemmerJapan2026-09-28Truhlar And Truhlar Attys NEGOTIATION36Elwin Sharvill
1044Kadeem B BriddickUnited Kingdom2026-09-18Printing Dimensions RENEWAL45Anna Fali
1045Ashley J GauchoIndia2026-09-28Rangoni Of Florence NEGOTIATION20Elwin Sharvill
1046Antonio B MaletGermany2026-09-18Truhlar And Truhlar Attys NEW88Elwin Sharvill
1047Murillo E MacleadSpain2026-09-26King, Christopher A Esq RENEWAL13Anna Fali
1048James M KolmetzIndia2026-09-14Rangoni Of Florence PROPOSAL64Amy Elsner
1049Costa W GauchoCanada2026-09-30Printing Dimensions NEW44Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leja S KuskoBrazilStephen Shaw UNQUALIFIED
Aruna A CaldareraSpainIvan Magalhaes QUALIFIED
Darci Y MaletArgentinaOnyama Limba RENEWAL
Maisha G SaylorsArgentinaOnyama Limba NEGOTIATION
Kaitlin A MacleadJapanAmy Elsner PROPOSAL
Sinclair J GlickFranceBernardo Dominic QUALIFIED
Munro N SchemmerBrazilAmy Elsner PROPOSAL
Jeanfrancois P SlusarskiRussiaAnna Fali PROPOSAL
Salvatore R SaylorsSpainAsiya Javayant NEW
Jeanfrancois Y OldroydUnited KingdomXuxue Feng QUALIFIED
Isabel A ButtAustraliaIoni Bowcher QUALIFIED
Juan T SaylorsCanadaAsiya Javayant NEGOTIATION
Silvio N AlbaresUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois I OldroydBrazilElwin Sharvill NEGOTIATION
Silvio E SchemmerItalyStephen Shaw NEW
Jefferson E RutaCanadaAnna Fali PROPOSAL
Julie U RulapaughUnited KingdomAsiya Javayant UNQUALIFIED
Maisha Z GarufiAustraliaOnyama Limba QUALIFIED
Aika R GarufiItalyAnna Fali QUALIFIED
Tony F PerinArgentinaAnna Fali NEW
Smith M KolmetzJapanElwin Sharvill QUALIFIED
Francesco H PoquetteCanadaStephen Shaw NEW
Aika T FigeroaRussiaStephen Shaw PROPOSAL
Costa I FlosiAustraliaBernardo Dominic QUALIFIED
Maria F MaletAustraliaIoni Bowcher PROPOSAL
Leon H BowleyItalyOnyama Limba QUALIFIED
Stacey V RutaAustraliaIvan Magalhaes UNQUALIFIED
Ivar T OldroydItalyIvan Magalhaes UNQUALIFIED
Francesco J RutaItalyAnna Fali RENEWAL
Misaki F MorascaBrazilAsiya Javayant QUALIFIED
Nicolas U GillianBrazilBernardo Dominic NEGOTIATION
Jeanfrancois F NestleArgentinaOnyama Limba NEW
Mujtaba J BologniaUnited KingdomBernardo Dominic NEW
Wickens A SlusarskiGermanyAmy Elsner UNQUALIFIED
Clifford Z PerinGermanyOnyama Limba QUALIFIED
Julie A MacleadJapanAsiya Javayant UNQUALIFIED
Aditya L KuskoBrazilBernardo Dominic NEGOTIATION
Smith C MaletFranceOnyama Limba RENEWAL
Octavia V NestleItalyOnyama Limba NEW
Deepesh J FigeroaIndiaXuxue Feng NEGOTIATION
Nicolas T MacleadAustraliaAnna Fali UNQUALIFIED
Leja F FlosiIndiaStephen Shaw PROPOSAL
Aika Q SlusarskiRussiaBernardo Dominic QUALIFIED
Smith N TollnerItalyElwin Sharvill NEW
Mayumi Y CaudyArgentinaIvan Magalhaes NEGOTIATION
Greenwood B TollnerGermanyIvan Magalhaes PROPOSAL
Mujtaba V RimJapanOnyama Limba NEW
Mujtaba V DarakjyAustraliaOnyama Limba RENEWAL
Jeanfrancois O FerenczSpainAsiya Javayant QUALIFIED
Maisha G BologniaAustraliaBernardo Dominic NEW
Frozen Columns
Name
Smith B Malet
Costa S Kusko
Rodrigues P Ferencz
Stacey N Saylors
Tony M Bolognia
Maria C Caldarera
Alejandro Z Darakjy
Clifford D Oldroyd
Misaki O Bolognia
Jennifer T Sergi
Alejandro R Butt
Isabel B Morasca
Sinclair W Nicka
Cody L Waycott
Jennifer G Butt
Isabel W Gillian
Sinclair D Inouye
Costa U Bowley
Jones J Caudy
Jones D Kolmetz
Claire J Briddick
Juan C Kusko
Murillo M Venere
Johnson X Rulapaugh
Claire Y Sergi
Greenwood C Iturbide
David I Kolmetz
Munro G Sergi
Jefferson E Kusko
Darci N Maclead
Jennifer E Perin
Stacey Q Waycott
Kadeem C Poquette
David D Foller
Octavia I Schemmer
James O Stockham
Maria J Kolmetz
Silvio V Gaucho
Adams W Malet
Wickens G Caudy
Wickens W Oldroyd
Aika L Albares
Deepesh D Oldroyd
Ivar N Nicka
Maria J Albares
Kaitlin D Ostrosky
Nicolas N Darakjy
Salvatore J Gillian
Tony V Wieser
Chavez M Malet
IdCountryDate
1000Italy2026-09-13
1001Japan2026-10-07
1002Brazil2026-09-29
1003France2026-09-29
1004Brazil2026-10-11
1005India2026-10-06
1006Canada2026-10-02
1007Argentina2026-09-18
1008Australia2026-10-07
1009Argentina2026-09-27
1010Japan2026-10-07
1011Germany2026-09-12
1012Italy2026-09-24
1013Germany2026-09-25
1014Russia2026-10-07
1015Japan2026-09-12
1016Argentina2026-09-19
1017Italy2026-10-04
1018Brazil2026-09-26
1019Russia2026-09-12
1020France2026-10-04
1021Italy2026-10-10
1022Spain2026-09-24
1023India2026-09-21
1024Argentina2026-10-01
1025India2026-10-11
1026Brazil2026-09-29
1027France2026-10-06
1028Spain2026-10-08
1029Russia2026-09-15
1030Canada2026-09-13
1031Spain2026-10-02
1032Spain2026-09-30
1033France2026-09-17
1034Australia2026-09-17
1035Russia2026-10-07
1036Australia2026-09-15
1037Italy2026-09-27
1038Argentina2026-09-21
1039Italy2026-09-19
1040Russia2026-09-29
1041Argentina2026-09-13
1042Argentina2026-09-19
1043Brazil2026-10-03
1044Brazil2026-09-28
1045Canada2026-10-04
1046Japan2026-09-12
1047Australia2026-10-08
1048Italy2026-10-08
1049France2026-09-21

On-Demand Data

NameIdCountryDate
Francesco J Bolognia1000France2026-10-08
Arvin L Malet1001United Kingdom2026-09-13
Arvin C Kusko1002Brazil2026-10-11
Nicolas Z Foller1003India2026-10-09
Jennifer K Poquette1004Japan2026-09-26
Kadeem A Gaucho1005France2026-09-17
Kadeem F Dilliard1006United Kingdom2026-10-03
Izzy K Foller1007Canada2026-09-26
Faith L Saylors1008Canada2026-10-11
Arvin X Whobrey1009United Kingdom2026-09-23
Smith Z Foller1010Russia2026-09-25
Aditya E Perin1011Russia2026-10-07
David K Maclead1012Argentina2026-09-21
Johnson P Butt1013Canada2026-09-30
Rodrigues L Gillian1014Russia2026-10-09
Salvatore T Malet1015France2026-10-03
Faith T Oldroyd1016France2026-10-04
Munro G Ostrosky1017Canada2026-10-02
Aika A Ruta1018Japan2026-10-09
Chavez X Nicka1019Japan2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja O OldroydArgentinaXuxue Feng UNQUALIFIED
Munro B FigeroaGermanyAmy Elsner PROPOSAL
Murillo W GauchoIndiaElwin Sharvill PROPOSAL
Greenwood T MaletArgentinaIoni Bowcher QUALIFIED
Jeanfrancois O TollnerSpainOnyama Limba UNQUALIFIED
Silvio I NestleSpainAmy Elsner NEW
Aditya Q VenereGermanyElwin Sharvill RENEWAL
Rodrigues E OstroskyFranceElwin Sharvill RENEWAL
Stacey J BriddickFranceOnyama Limba NEGOTIATION
Wickens V DarakjyCanadaStephen Shaw NEW
Aruna W IturbideIndiaIoni Bowcher PROPOSAL
Aditya N StockhamArgentinaXuxue Feng PROPOSAL
Aika V SchemmerJapanXuxue Feng UNQUALIFIED
Salvatore R PaprockiItalyIoni Bowcher UNQUALIFIED
Stacey M OstroskyGermanyBernardo Dominic NEGOTIATION
Munro Q InouyeAustraliaBernardo Dominic QUALIFIED
Kadeem O ChuiSpainStephen Shaw UNQUALIFIED
Arvin X DilliardSpainAsiya Javayant QUALIFIED
Jones I OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Octavia U KolmetzIndiaIoni Bowcher NEW
Salvatore H BologniaArgentinaIvan Magalhaes RENEWAL
Nicolas E StockhamGermanyBernardo Dominic NEW
Faith J MorascaAustraliaIvan Magalhaes PROPOSAL
Leon L CaldareraRussiaAmy Elsner NEW
Tony A CaudyBrazilXuxue Feng QUALIFIED
Morrow S CaldareraUnited KingdomIvan Magalhaes QUALIFIED
Leon V AlbaresJapanBernardo Dominic PROPOSAL
Aditya J WaycottAustraliaXuxue Feng UNQUALIFIED
Arvin Y BriddickAustraliaStephen Shaw RENEWAL
Johnson G GauchoRussiaAmy Elsner QUALIFIED
Munro R RoysterRussiaAsiya Javayant UNQUALIFIED
Kadeem L GillianFranceStephen Shaw RENEWAL
Morrow U RutaIndiaAsiya Javayant QUALIFIED
Kadeem L VocelkaAustraliaStephen Shaw UNQUALIFIED
Tony B GillianFranceAsiya Javayant PROPOSAL
Jefferson N OldroydArgentinaAnna Fali RENEWAL
Misaki Z FigeroaGermanyAsiya Javayant NEGOTIATION
Alejandro J ChuiBrazilIvan Magalhaes QUALIFIED
Leja P KuskoItalyStephen Shaw RENEWAL
James Q FerenczBrazilAnna Fali 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>