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
James E CaudyBrazilAmy Elsner UNQUALIFIED
Maria J CaldareraSpainAmy Elsner RENEWAL
Cody D TollnerItalyIoni Bowcher NEGOTIATION
Munro H DarakjyJapanIoni Bowcher PROPOSAL
Faith V WaycottIndiaAsiya Javayant NEW
Ivar J SlusarskiIndiaAsiya Javayant NEGOTIATION
Emily S MaletSpainAnna Fali NEGOTIATION
Julie N ChuiRussiaElwin Sharvill RENEWAL
Emily W BriddickRussiaIoni Bowcher NEGOTIATION
Munro B DarakjyCanadaAnna Fali UNQUALIFIED
Rodrigues T FollerUnited KingdomAnna Fali QUALIFIED
Aika X OstroskyArgentinaIvan Magalhaes PROPOSAL
Morrow O BriddickUnited KingdomStephen Shaw RENEWAL
Chavez E OldroydBrazilStephen Shaw NEGOTIATION
Claire Z CaudyFranceElwin Sharvill PROPOSAL
Mujtaba G MaletFranceElwin Sharvill PROPOSAL
Munro V OstroskyAustraliaStephen Shaw PROPOSAL
Aditya J FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Sinclair H AmigonUnited KingdomAnna Fali QUALIFIED
Julie G OstroskyBrazilXuxue Feng UNQUALIFIED
Aika W GauchoAustraliaXuxue Feng NEGOTIATION
Costa S RulapaughCanadaOnyama Limba NEGOTIATION
Clifford H BowleyRussiaAsiya Javayant QUALIFIED
Alejandro M RulapaughRussiaOnyama Limba UNQUALIFIED
Munro K BriddickRussiaOnyama Limba PROPOSAL
Emily K FlosiUnited KingdomXuxue Feng NEW
Tony G NestleAustraliaAsiya Javayant PROPOSAL
Nicolas G PaprockiFranceStephen Shaw QUALIFIED
Munro N ChuiJapanStephen Shaw PROPOSAL
Chavez A PerinSpainOnyama Limba NEGOTIATION
Jefferson E AlbaresItalyAmy Elsner NEGOTIATION
Juan M DilliardItalyAnna Fali NEW
Silvio Q ChuiAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois E MacleadAustraliaAnna Fali QUALIFIED
Mujtaba P BriddickAustraliaStephen Shaw RENEWAL
Ricardo L BowleyGermanyAnna Fali NEGOTIATION
Jefferson G AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Maisha O BologniaFranceAnna Fali RENEWAL
Morrow C SchemmerAustraliaElwin Sharvill RENEWAL
Rodrigues P SaylorsGermanyXuxue Feng PROPOSAL
Salvatore U ButtItalyIoni Bowcher QUALIFIED
Munro O InouyeCanadaXuxue Feng RENEWAL
Claire R FerenczBrazilBernardo Dominic PROPOSAL
Emily O MaletUnited KingdomAnna Fali QUALIFIED
Leon Y GauchoRussiaIvan Magalhaes RENEWAL
Aditya C FollerArgentinaAnna Fali UNQUALIFIED
Octavia R SchemmerIndiaAnna Fali PROPOSAL
Wickens K RutaFranceBernardo Dominic NEW
Juan A FerenczBrazilStephen Shaw NEGOTIATION
Nicolas D AlbaresAustraliaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith N GauchoFranceOnyama Limba UNQUALIFIED
Aruna S OstroskyJapanIoni Bowcher PROPOSAL
Ivar C SaylorsBrazilIvan Magalhaes PROPOSAL
Johnson U IturbideCanadaBernardo Dominic UNQUALIFIED
Misaki N NestleAustraliaElwin Sharvill UNQUALIFIED
Deepesh J SlusarskiSpainStephen Shaw PROPOSAL
Sinclair V OstroskyUnited KingdomAmy Elsner NEGOTIATION
Munro F MacleadBrazilIoni Bowcher NEGOTIATION
Mujtaba A RimRussiaAsiya Javayant NEGOTIATION
Jefferson W FigeroaRussiaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford O SlusarskiUnited Kingdom2026-10-20Printing Dimensions RENEWAL35Stephen Shaw
1001Tony O PerinSpain2026-09-23Chapman, Ross E Esq QUALIFIED28Xuxue Feng
1002Misaki R AmigonCanada2026-09-23Truhlar And Truhlar Attys RENEWAL72Anna Fali
1003Clifford C GarufiItaly2026-09-28Rousseaux, Michael Esq UNQUALIFIED88Ivan Magalhaes
1004Emily K GillianUnited Kingdom2026-10-09Dorl, James J Esq RENEWAL84Ivan Magalhaes
1005Aruna A OldroydAustralia2026-10-05Buckley Miller Wright NEW82Amy Elsner
1006Aruna E RutaUnited Kingdom2026-10-17Dorl, James J Esq NEGOTIATION6Asiya Javayant
1007Aditya P FlosiJapan2026-10-16Commercial Press UNQUALIFIED4Anna Fali
1008Morrow C VocelkaSpain2026-10-18Buckley Miller Wright NEGOTIATION40Amy Elsner
1009Mujtaba S TollnerRussia2026-10-13Dorl, James J Esq PROPOSAL77Amy Elsner
1010Ricardo K VocelkaJapan2026-10-08Rangoni Of Florence NEGOTIATION57Stephen Shaw
1011Misaki V GillianBrazil2026-10-09Benton, John B Jr UNQUALIFIED59Amy Elsner
1012Mayumi D IturbideFrance2026-10-13Printing Dimensions UNQUALIFIED95Elwin Sharvill
1013Alejandro O SaylorsGermany2026-10-16Buckley Miller Wright NEGOTIATION0Ioni Bowcher
1014Aruna R SergiAustralia2026-10-16Rangoni Of Florence PROPOSAL19Amy Elsner
1015Isabel A GlickIndia2026-10-22Morlong Associates NEGOTIATION22Onyama Limba
1016Juan A MaletIndia2026-10-19Morlong Associates UNQUALIFIED25Ioni Bowcher
1017Costa L FerenczCanada2026-10-13Feiner Bros UNQUALIFIED26Asiya Javayant
1018Clifford L AmigonItaly2026-10-02Morlong Associates PROPOSAL60Amy Elsner
1019Faith B FerenczBrazil2026-10-04Rangoni Of Florence RENEWAL58Amy Elsner
1020Aditya G VenereArgentina2026-10-17Chapman, Ross E Esq NEGOTIATION85Ivan Magalhaes
1021Greenwood S IturbideJapan2026-09-26Printing Dimensions NEW82Bernardo Dominic
1022Salvatore K KolmetzFrance2026-10-14Rousseaux, Michael Esq PROPOSAL96Amy Elsner
1023Maria Q GauchoBrazil2026-10-09Feiner Bros RENEWAL88Amy Elsner
1024Juan Y SaylorsFrance2026-10-22Chanay, Jeffrey A Esq QUALIFIED83Asiya Javayant
1025Maisha I SlusarskiAustralia2026-10-03Chanay, Jeffrey A Esq UNQUALIFIED91Amy Elsner
1026Ricardo A CaudyGermany2026-10-19Rousseaux, Michael Esq UNQUALIFIED11Bernardo Dominic
1027Mujtaba U VenereAustralia2026-09-28Rangoni Of Florence UNQUALIFIED37Ioni Bowcher
1028Tony B AlbaresJapan2026-10-04Rousseaux, Michael Esq RENEWAL49Asiya Javayant
1029Emily W SlusarskiAustralia2026-09-28Feiner Bros PROPOSAL96Ioni Bowcher
1030Chavez A PaprockiArgentina2026-09-25Rousseaux, Michael Esq UNQUALIFIED36Ivan Magalhaes
1031Chavez O RutaFrance2026-09-29Truhlar And Truhlar Attys UNQUALIFIED82Amy Elsner
1032Murillo F RimBrazil2026-10-06Dorl, James J Esq PROPOSAL35Bernardo Dominic
1033Francesco H PoquetteArgentina2026-09-26Commercial Press RENEWAL41Anna Fali
1034Adams K ShinkoRussia2026-09-23Rousseaux, Michael Esq QUALIFIED54Onyama Limba
1035Wickens V IturbideFrance2026-10-02Commercial Press PROPOSAL66Onyama Limba
1036Julie D WaycottFrance2026-09-23Chanay, Jeffrey A Esq PROPOSAL84Bernardo Dominic
1037Kadeem P NestleBrazil2026-10-08Printing Dimensions NEW77Ioni Bowcher
1038Emily F NestleUnited Kingdom2026-10-20Truhlar And Truhlar Attys QUALIFIED63Onyama Limba
1039Mayumi R BologniaUnited Kingdom2026-10-13Rangoni Of Florence QUALIFIED29Amy Elsner
1040Chavez X MaletJapan2026-09-25Dorl, James J Esq QUALIFIED55Anna Fali
1041Misaki H GillianItaly2026-10-02Commercial Press RENEWAL10Ivan Magalhaes
1042Aruna Z SaylorsIndia2026-10-02Buckley Miller Wright UNQUALIFIED7Ioni Bowcher
1043Leja U GillianFrance2026-09-26Commercial Press PROPOSAL36Amy Elsner
1044Claire R BriddickItaly2026-10-01Feltz Printing Service NEW97Amy Elsner
1045Greenwood I FlosiCanada2026-10-02Commercial Press NEGOTIATION80Ivan Magalhaes
1046Alejandro P SchemmerAustralia2026-10-14King, Christopher A Esq NEGOTIATION19Anna Fali
1047Mayumi M FigeroaItaly2026-10-13King, Christopher A Esq RENEWAL51Amy Elsner
1048Ivar M FollerBrazil2026-09-26King, Christopher A Esq NEGOTIATION28Ivan Magalhaes
1049Jones Q FollerAustralia2026-10-10Printing Dimensions UNQUALIFIED74Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Arvin L VenereAustraliaAmy Elsner QUALIFIED
Kaitlin E StensethIndiaOnyama Limba NEW
Leja L GauchoCanadaStephen Shaw RENEWAL
Johnson H PerinSpainBernardo Dominic RENEWAL
Johnson X DoeRussiaOnyama Limba UNQUALIFIED
Ricardo E PaprockiSpainAsiya Javayant QUALIFIED
Clifford W CaldareraJapanAnna Fali PROPOSAL
Ashley D WieserUnited KingdomAmy Elsner NEW
Faith Y RimItalyAnna Fali QUALIFIED
Cody Z DarakjyAustraliaAmy Elsner RENEWAL
Munro E KolmetzAustraliaOnyama Limba NEGOTIATION
Munro Q BowleyFranceAsiya Javayant UNQUALIFIED
Jones A RimJapanAsiya Javayant NEGOTIATION
Alejandro I CampainUnited KingdomAnna Fali RENEWAL
Maisha B CaudyBrazilElwin Sharvill NEGOTIATION
Deepesh X MaletRussiaIoni Bowcher UNQUALIFIED
Morrow L CaudyIndiaOnyama Limba NEGOTIATION
Aditya M RoysterArgentinaBernardo Dominic NEW
Jennifer R OstroskyUnited KingdomElwin Sharvill PROPOSAL
Octavia F GauchoUnited KingdomXuxue Feng RENEWAL
Mayumi U AmigonUnited KingdomAsiya Javayant RENEWAL
Ashley G PerinCanadaIoni Bowcher NEW
Izzy S GauchoUnited KingdomIvan Magalhaes QUALIFIED
Claire E BriddickBrazilIoni Bowcher QUALIFIED
Cody L IturbideJapanOnyama Limba PROPOSAL
Leja Q DoeArgentinaBernardo Dominic NEGOTIATION
Mayumi M FerenczIndiaOnyama Limba UNQUALIFIED
Rodrigues R GillianCanadaOnyama Limba NEGOTIATION
Arvin T GauchoRussiaAsiya Javayant RENEWAL
Francesco U SergiUnited KingdomIvan Magalhaes NEW
Emily Q AmigonIndiaIoni Bowcher NEW
Antonio D BologniaFranceAmy Elsner NEW
Leon Z ChuiJapanIoni Bowcher NEGOTIATION
Johnson E NickaRussiaXuxue Feng QUALIFIED
Izzy Z PerinArgentinaIvan Magalhaes RENEWAL
Jones J GillianFranceElwin Sharvill NEGOTIATION
Rodrigues E CampainItalyElwin Sharvill NEW
Greenwood B RoysterCanadaIvan Magalhaes NEGOTIATION
Izzy N InouyeSpainIvan Magalhaes NEW
Aditya Q ChuiBrazilAsiya Javayant UNQUALIFIED
Izzy P MorascaSpainXuxue Feng RENEWAL
Ricardo R PaprockiIndiaAsiya Javayant NEW
Ashley F PerinRussiaAnna Fali NEGOTIATION
Jones I SlusarskiBrazilIvan Magalhaes PROPOSAL
Nicolas Y OldroydBrazilXuxue Feng NEW
Darci H VocelkaGermanyAmy Elsner NEW
Misaki G MacleadIndiaBernardo Dominic RENEWAL
Mayumi Z PerinRussiaAnna Fali PROPOSAL
Juan D AmigonRussiaElwin Sharvill QUALIFIED
Julie B CaudySpainIvan Magalhaes RENEWAL
Frozen Columns
Name
Ivar D Malet
Claire J Royster
David R Garufi
Jeanfrancois N Inouye
Sinclair B Morasca
Emily E Doe
Misaki Q Chui
Mujtaba N Stockham
Deepesh P Doe
Sinclair S Ostrosky
Aditya P Gaucho
Juan B Nestle
David U Briddick
David M Nicka
Johnson N Malet
Aditya S Foller
Aika X Albares
Wickens Y Shinko
Rodrigues L Gaucho
Izzy H Wieser
Sinclair U Poquette
Aruna G Malet
Jeanfrancois M Slusarski
Aditya R Caudy
Clifford W Gaucho
Octavia P Venere
Kaitlin P Perin
Antonio C Gillian
Julie X Albares
Stacey F Wieser
Aditya N Caldarera
Kadeem W Paprocki
Juan W Malet
David M Gillian
Jones W Caudy
Nicolas G Rulapaugh
Adams V Nicka
Nicolas Q Morasca
Salvatore Y Kusko
Faith P Bowley
Francesco R Gaucho
Nicolas X Whobrey
Julie T Morasca
Jefferson K Caldarera
David R Inouye
Murillo N Tollner
Murillo O Saylors
Izzy L Butt
David G Venere
Tony A Nicka
IdCountryDate
1000Russia2026-10-08
1001Germany2026-10-01
1002Japan2026-10-19
1003Australia2026-10-07
1004Russia2026-10-12
1005Germany2026-10-17
1006Germany2026-10-18
1007Spain2026-10-22
1008Argentina2026-10-01
1009Russia2026-09-23
1010India2026-10-17
1011Argentina2026-09-28
1012Russia2026-09-30
1013Argentina2026-09-28
1014Canada2026-09-23
1015Argentina2026-10-17
1016Australia2026-10-04
1017Canada2026-10-22
1018Canada2026-10-22
1019Italy2026-10-02
1020France2026-09-23
1021India2026-10-15
1022Argentina2026-10-21
1023Brazil2026-10-22
1024India2026-09-29
1025Argentina2026-10-22
1026United Kingdom2026-10-22
1027Japan2026-10-04
1028United Kingdom2026-09-23
1029Canada2026-10-15
1030Argentina2026-10-12
1031Brazil2026-10-13
1032United Kingdom2026-09-30
1033Spain2026-10-18
1034Russia2026-09-26
1035Argentina2026-10-09
1036Argentina2026-10-19
1037United Kingdom2026-10-14
1038Canada2026-10-02
1039France2026-10-03
1040Spain2026-10-13
1041Germany2026-09-23
1042United Kingdom2026-10-10
1043France2026-09-23
1044Russia2026-10-03
1045Argentina2026-10-02
1046Australia2026-10-04
1047Japan2026-09-29
1048Brazil2026-10-13
1049Australia2026-09-24

On-Demand Data

NameIdCountryDate
Johnson H Saylors1000Italy2026-10-08
Kaitlin F Gillian1001France2026-10-12
Darci G Ostrosky1002Australia2026-10-09
Greenwood R Chui1003Australia2026-09-26
Francesco Q Nicka1004Canada2026-10-17
Isabel T Schemmer1005United Kingdom2026-10-09
Aditya H Sergi1006Australia2026-10-02
Smith J Vocelka1007Spain2026-10-08
Aditya T Nicka1008Italy2026-09-24
Jennifer J Malet1009Canada2026-10-16
Maria H Sergi1010Japan2026-10-20
Munro J Iturbide1011Germany2026-10-14
Julie R Ruta1012Australia2026-10-05
Munro M Briddick1013Argentina2026-10-10
Munro M Sergi1014Germany2026-10-07
Julie T Saylors1015Germany2026-10-20
Alejandro X Marrier1016Japan2026-10-20
Leja M Ostrosky1017India2026-10-08
Isabel O Perin1018Russia2026-10-18
Aruna E Inouye1019Italy2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow R MorascaSpainBernardo Dominic UNQUALIFIED
Nicolas U GlickArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois J OstroskyGermanyIvan Magalhaes UNQUALIFIED
Octavia X BowleyGermanyAsiya Javayant NEW
Aditya I BowleyJapanXuxue Feng RENEWAL
Mujtaba W SlusarskiAustraliaAnna Fali PROPOSAL
Stacey C ButtSpainOnyama Limba PROPOSAL
Ricardo Y ButtBrazilAsiya Javayant NEW
Jennifer H FigeroaAustraliaIvan Magalhaes NEW
Clifford T NestleFranceElwin Sharvill QUALIFIED
Jefferson T OldroydRussiaAsiya Javayant NEW
Stacey H WhobreyJapanElwin Sharvill QUALIFIED
Izzy R FerenczBrazilXuxue Feng PROPOSAL
Arvin Q KuskoRussiaBernardo Dominic NEGOTIATION
Ricardo T BowleyBrazilAmy Elsner PROPOSAL
Ricardo Z WieserGermanyAnna Fali NEGOTIATION
Alejandro Z WaycottRussiaAmy Elsner NEW
Smith D OldroydSpainBernardo Dominic QUALIFIED
Izzy X AmigonArgentinaOnyama Limba RENEWAL
Cody M CaudyJapanAmy Elsner NEW
Aika F TollnerItalyAmy Elsner NEW
Morrow E CaudyCanadaAmy Elsner PROPOSAL
Kaitlin X MorascaUnited KingdomIvan Magalhaes QUALIFIED
Julie A BowleyArgentinaOnyama Limba NEW
Greenwood E RulapaughArgentinaElwin Sharvill QUALIFIED
Leon N DarakjyCanadaAmy Elsner PROPOSAL
Stacey R CaudyJapanIoni Bowcher UNQUALIFIED
Faith L SlusarskiJapanOnyama Limba RENEWAL
David O WhobreyFranceElwin Sharvill UNQUALIFIED
Julie L GarufiArgentinaAnna Fali UNQUALIFIED
Julie D BowleyAustraliaIvan Magalhaes NEGOTIATION
Jefferson H FollerUnited KingdomAnna Fali RENEWAL
Kaitlin E BologniaJapanIoni Bowcher NEW
Jones W GlickJapanAmy Elsner UNQUALIFIED
Murillo B CaudyJapanBernardo Dominic QUALIFIED
Mayumi M SaylorsRussiaAsiya Javayant QUALIFIED
Ricardo F MaletArgentinaAsiya Javayant UNQUALIFIED
Antonio G BowleyRussiaAnna Fali NEGOTIATION
David B DoeSpainOnyama Limba UNQUALIFIED
Sinclair H FollerFranceOnyama Limba QUALIFIED

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