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
Mujtaba C DoeBrazilAsiya Javayant NEW
Greenwood E GauchoRussiaElwin Sharvill PROPOSAL
Nicolas E KuskoGermanyElwin Sharvill QUALIFIED
Costa N WhobreyGermanyAmy Elsner QUALIFIED
Nicolas D IturbideGermanyBernardo Dominic RENEWAL
Claire D BowleySpainAmy Elsner UNQUALIFIED
Maria N AmigonCanadaAsiya Javayant NEGOTIATION
Maisha H MarrierIndiaAmy Elsner UNQUALIFIED
Smith F WaycottSpainAmy Elsner QUALIFIED
Greenwood U SchemmerAustraliaBernardo Dominic QUALIFIED
Jones N WaycottJapanStephen Shaw NEGOTIATION
Nicolas P CaudySpainXuxue Feng RENEWAL
James P DilliardIndiaXuxue Feng NEGOTIATION
Kadeem F PoquetteSpainAmy Elsner QUALIFIED
Rodrigues R AlbaresItalyAnna Fali PROPOSAL
Izzy O ButtArgentinaBernardo Dominic PROPOSAL
Stacey R BologniaRussiaBernardo Dominic RENEWAL
Isabel T GauchoSpainOnyama Limba NEGOTIATION
Mayumi Y MaletArgentinaStephen Shaw PROPOSAL
Ricardo R CaudyUnited KingdomXuxue Feng UNQUALIFIED
Leja S FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Murillo M SergiRussiaAnna Fali NEGOTIATION
Francesco P SaylorsArgentinaBernardo Dominic QUALIFIED
Isabel G DarakjySpainAmy Elsner PROPOSAL
Jeanfrancois E VenereJapanIvan Magalhaes QUALIFIED
Misaki X NestleIndiaBernardo Dominic UNQUALIFIED
Emily S ChuiItalyXuxue Feng PROPOSAL
Greenwood C DarakjyItalyOnyama Limba PROPOSAL
Mayumi B WaycottBrazilAmy Elsner QUALIFIED
Jones A PerinItalyBernardo Dominic QUALIFIED
Arvin F WieserBrazilBernardo Dominic RENEWAL
Julie F SergiBrazilOnyama Limba PROPOSAL
James B SergiRussiaAnna Fali PROPOSAL
Munro O FerenczIndiaAmy Elsner RENEWAL
Cody M GillianSpainXuxue Feng QUALIFIED
Nicolas L PaprockiGermanyAsiya Javayant UNQUALIFIED
Adams O DilliardRussiaBernardo Dominic PROPOSAL
Smith O NickaBrazilElwin Sharvill NEW
Kaitlin O FigeroaRussiaAsiya Javayant UNQUALIFIED
Murillo N FigeroaFranceAmy Elsner QUALIFIED
Deepesh X CaldareraJapanIoni Bowcher RENEWAL
Octavia D InouyeGermanyAnna Fali PROPOSAL
Arvin A RoysterUnited KingdomElwin Sharvill PROPOSAL
Chavez A IturbideAustraliaElwin Sharvill NEGOTIATION
Deepesh F IturbideBrazilIoni Bowcher RENEWAL
Julie M NestleGermanyAsiya Javayant UNQUALIFIED
Smith B MacleadItalyAnna Fali UNQUALIFIED
Antonio E MarrierAustraliaBernardo Dominic NEGOTIATION
Ivar Y MaletArgentinaIvan Magalhaes PROPOSAL
Isabel Y SaylorsGermanyAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel S DarakjyCanadaIoni Bowcher PROPOSAL
Tony Z GarufiSpainBernardo Dominic NEGOTIATION
Faith T StockhamBrazilXuxue Feng NEGOTIATION
Chavez B BowleyRussiaAmy Elsner PROPOSAL
Antonio G PaprockiBrazilAmy Elsner NEW
Izzy P OstroskyUnited KingdomIvan Magalhaes RENEWAL
Mayumi Y MorascaRussiaAnna Fali UNQUALIFIED
Emily D KuskoFranceXuxue Feng RENEWAL
David T MaletRussiaElwin Sharvill UNQUALIFIED
Aika L AlbaresArgentinaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson E RutaRussia2026-08-28Commercial Press RENEWAL57Bernardo Dominic
1001Jefferson D DoeIndia2026-08-29Printing Dimensions NEGOTIATION71Bernardo Dominic
1002Aditya F StensethCanada2026-09-01Rousseaux, Michael Esq PROPOSAL68Bernardo Dominic
1003Jeanfrancois M RoysterCanada2026-08-11Feltz Printing Service UNQUALIFIED71Anna Fali
1004Arvin Q GarufiSpain2026-08-20Rangoni Of Florence PROPOSAL12Bernardo Dominic
1005Jones P FigeroaCanada2026-08-12Commercial Press PROPOSAL11Xuxue Feng
1006Chavez Y InouyeAustralia2026-08-20Chemel, James L Cpa RENEWAL51Onyama Limba
1007Deepesh U BologniaGermany2026-08-30Feiner Bros NEGOTIATION91Onyama Limba
1008Leon T MorascaRussia2026-08-28Truhlar And Truhlar Attys QUALIFIED55Anna Fali
1009Izzy W MaletCanada2026-09-01Printing Dimensions NEGOTIATION26Stephen Shaw
1010Juan S IturbideJapan2026-09-01Benton, John B Jr QUALIFIED50Stephen Shaw
1011Munro V ShinkoJapan2026-08-27Feltz Printing Service NEW86Bernardo Dominic
1012Nicolas M AlbaresSpain2026-08-30Dorl, James J Esq NEGOTIATION90Ivan Magalhaes
1013Rodrigues H MacleadArgentina2026-08-12Rangoni Of Florence QUALIFIED7Stephen Shaw
1014Octavia Q SchemmerBrazil2026-08-11Chemel, James L Cpa UNQUALIFIED43Xuxue Feng
1015Maria Q KolmetzRussia2026-08-30Chapman, Ross E Esq UNQUALIFIED36Ivan Magalhaes
1016Munro J DoeFrance2026-09-01Rangoni Of Florence UNQUALIFIED80Ioni Bowcher
1017Rodrigues B ButtBrazil2026-08-06Rangoni Of Florence NEGOTIATION36Onyama Limba
1018Maisha T BriddickFrance2026-08-17Rousseaux, Michael Esq RENEWAL46Xuxue Feng
1019Octavia Q KuskoArgentina2026-08-30Rousseaux, Michael Esq PROPOSAL38Elwin Sharvill
1020Jennifer M SlusarskiGermany2026-08-22Printing Dimensions NEGOTIATION24Ioni Bowcher
1021Mayumi V GauchoIndia2026-08-26Rangoni Of Florence NEW23Ioni Bowcher
1022Maria V BologniaArgentina2026-08-18Buckley Miller Wright NEW9Asiya Javayant
1023James P PaprockiFrance2026-08-19Truhlar And Truhlar Attys RENEWAL70Onyama Limba
1024Jennifer C KuskoIndia2026-08-06King, Christopher A Esq QUALIFIED32Ivan Magalhaes
1025Antonio X RutaIndia2026-08-15Benton, John B Jr QUALIFIED12Elwin Sharvill
1026Wickens Q BologniaFrance2026-08-16Printing Dimensions NEGOTIATION17Asiya Javayant
1027Arvin A AlbaresGermany2026-08-23Rousseaux, Michael Esq PROPOSAL87Onyama Limba
1028Aika F SergiIndia2026-08-08Chanay, Jeffrey A Esq RENEWAL16Ivan Magalhaes
1029Tony I DoeArgentina2026-08-10Feltz Printing Service QUALIFIED7Bernardo Dominic
1030Faith X VocelkaRussia2026-08-04Feltz Printing Service NEW50Amy Elsner
1031Salvatore Q StockhamSpain2026-09-02Chemel, James L Cpa QUALIFIED13Ioni Bowcher
1032Jennifer I KolmetzArgentina2026-09-02Dorl, James J Esq RENEWAL34Amy Elsner
1033Chavez P SergiIndia2026-08-26Chapman, Ross E Esq RENEWAL43Stephen Shaw
1034Faith E CaldareraSpain2026-08-28Morlong Associates NEW52Xuxue Feng
1035Murillo Q FigeroaSpain2026-08-14Feltz Printing Service NEW90Onyama Limba
1036Claire L NestleAustralia2026-08-15Truhlar And Truhlar Attys QUALIFIED30Amy Elsner
1037Maria R PoquetteRussia2026-08-19Feltz Printing Service NEW67Ioni Bowcher
1038Izzy D PaprockiSpain2026-08-14Feiner Bros QUALIFIED68Ivan Magalhaes
1039Sinclair D CaldareraItaly2026-08-24Chanay, Jeffrey A Esq QUALIFIED3Stephen Shaw
1040Greenwood X GillianSpain2026-08-07Benton, John B Jr RENEWAL48Amy Elsner
1041Francesco R OstroskyIndia2026-08-23Morlong Associates UNQUALIFIED41Bernardo Dominic
1042Salvatore B NickaFrance2026-08-15Rousseaux, Michael Esq RENEWAL6Bernardo Dominic
1043Jeanfrancois K PoquetteFrance2026-08-21Feltz Printing Service RENEWAL5Stephen Shaw
1044Maria R SlusarskiFrance2026-08-07Buckley Miller Wright NEGOTIATION60Asiya Javayant
1045Julie T PerinItaly2026-08-26Printing Dimensions UNQUALIFIED34Xuxue Feng
1046Isabel B NickaRussia2026-08-24Dorl, James J Esq NEW82Onyama Limba
1047Nicolas E VocelkaSpain2026-08-14King, Christopher A Esq NEW30Stephen Shaw
1048Claire K ButtCanada2026-08-08Chapman, Ross E Esq PROPOSAL14Asiya Javayant
1049Mayumi Z WieserCanada2026-08-19King, Christopher A Esq NEGOTIATION93Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh R RoysterItalyElwin Sharvill UNQUALIFIED
Cody M NestleGermanyAmy Elsner QUALIFIED
Ashley C VenereAustraliaStephen Shaw NEW
Clifford N RutaGermanyBernardo Dominic RENEWAL
Silvio F StensethIndiaAmy Elsner UNQUALIFIED
Ricardo I MorascaIndiaIvan Magalhaes NEGOTIATION
Nicolas F OldroydCanadaXuxue Feng RENEWAL
Ivar L OstroskyRussiaAmy Elsner QUALIFIED
Faith D OldroydFranceAnna Fali NEGOTIATION
Ashley M RoysterBrazilAnna Fali UNQUALIFIED
Clifford H RulapaughItalyXuxue Feng UNQUALIFIED
Francesco O FigeroaJapanAmy Elsner NEGOTIATION
Maisha E SlusarskiJapanAnna Fali UNQUALIFIED
Morrow G KuskoItalyXuxue Feng UNQUALIFIED
Isabel S PerinUnited KingdomBernardo Dominic UNQUALIFIED
Misaki I WaycottIndiaAsiya Javayant RENEWAL
Cody W BriddickJapanIoni Bowcher NEGOTIATION
Ricardo B FerenczArgentinaXuxue Feng PROPOSAL
Claire P FlosiGermanyAnna Fali NEGOTIATION
Jefferson Q DarakjyGermanyXuxue Feng QUALIFIED
Aditya L CaudyJapanAmy Elsner NEW
Emily G MarrierRussiaIvan Magalhaes UNQUALIFIED
Misaki G RimGermanyAnna Fali QUALIFIED
Francesco H NestleAustraliaAsiya Javayant UNQUALIFIED
Faith P NickaCanadaAnna Fali PROPOSAL
Aruna R IturbideCanadaIoni Bowcher UNQUALIFIED
Faith K FigeroaBrazilStephen Shaw RENEWAL
Mujtaba X NestleCanadaAmy Elsner RENEWAL
Claire P FollerAustraliaElwin Sharvill NEW
Costa N FlosiAustraliaBernardo Dominic UNQUALIFIED
Leja H BriddickSpainElwin Sharvill RENEWAL
Munro I RulapaughItalyStephen Shaw NEGOTIATION
Faith A AmigonGermanyIoni Bowcher QUALIFIED
Aika L PoquetteUnited KingdomIoni Bowcher QUALIFIED
Murillo Y PerinItalyOnyama Limba RENEWAL
Darci G MorascaRussiaAmy Elsner UNQUALIFIED
Deepesh F GillianJapanElwin Sharvill PROPOSAL
Darci A TollnerGermanyOnyama Limba RENEWAL
Stacey L CampainFranceBernardo Dominic NEGOTIATION
Aditya K MaletCanadaBernardo Dominic NEGOTIATION
Silvio A InouyeCanadaAsiya Javayant RENEWAL
Deepesh U BowleySpainAnna Fali PROPOSAL
Nicolas W StockhamIndiaAnna Fali PROPOSAL
Greenwood V MaletFranceOnyama Limba UNQUALIFIED
Morrow Z RimCanadaIoni Bowcher UNQUALIFIED
Silvio Q PaprockiGermanyStephen Shaw NEGOTIATION
Murillo Y AlbaresBrazilStephen Shaw NEGOTIATION
Ricardo E NestleFranceElwin Sharvill NEGOTIATION
Wickens K FigeroaUnited KingdomXuxue Feng RENEWAL
Clifford J RoysterAustraliaAsiya Javayant RENEWAL
Frozen Columns
Name
Julie Y Vocelka
Ashley N Poquette
Rodrigues A Flosi
Greenwood F Royster
Munro Y Poquette
Wickens D Bowley
Aditya R Caudy
Ashley L Dilliard
Deepesh Z Butt
Silvio X Caldarera
Greenwood H Figeroa
Ricardo B Morasca
Kaitlin V Malet
Kaitlin Z Rulapaugh
Mujtaba L Slusarski
Emily P Stenseth
Claire H Waycott
Leja O Vocelka
Maisha W Garufi
Cody Z Oldroyd
Mayumi J Poquette
Juan B Briddick
Nicolas E Kolmetz
Claire M Ruta
Kaitlin D Briddick
Antonio O Figeroa
Ivar Y Ferencz
Jeanfrancois O Waycott
Kaitlin U Briddick
Isabel Q Campain
Tony V Stockham
Aika Z Caudy
Mayumi V Maclead
Cody M Malet
Cody J Malet
Leja M Wieser
Cody F Bolognia
James Z Schemmer
Kaitlin G Garufi
Jeanfrancois C Darakjy
Sinclair B Vocelka
Salvatore O Marrier
Jennifer K Bowley
Julie H Albares
Wickens R Maclead
Arvin M Briddick
Jeanfrancois Y Campain
Kadeem Y Perin
Jennifer D Ferencz
Maisha X Kusko
IdCountryDate
1000Australia2026-08-13
1001Spain2026-08-26
1002Canada2026-08-25
1003Brazil2026-08-31
1004India2026-08-08
1005Germany2026-08-05
1006Germany2026-08-18
1007Russia2026-08-22
1008Japan2026-08-23
1009Australia2026-08-15
1010Italy2026-08-29
1011Canada2026-08-12
1012United Kingdom2026-08-11
1013Italy2026-08-28
1014Australia2026-08-30
1015Australia2026-08-18
1016Germany2026-08-09
1017Australia2026-08-19
1018Canada2026-08-22
1019Australia2026-08-06
1020United Kingdom2026-08-10
1021Germany2026-08-11
1022Japan2026-09-01
1023Russia2026-08-31
1024Australia2026-08-15
1025Canada2026-08-23
1026Germany2026-09-02
1027Italy2026-08-10
1028India2026-08-31
1029Spain2026-08-27
1030Australia2026-08-05
1031Brazil2026-08-07
1032Australia2026-08-14
1033Argentina2026-08-22
1034United Kingdom2026-08-14
1035Spain2026-08-28
1036Argentina2026-08-10
1037United Kingdom2026-08-19
1038Italy2026-08-27
1039Australia2026-08-13
1040Australia2026-08-23
1041Argentina2026-08-31
1042Spain2026-09-01
1043Australia2026-08-16
1044Spain2026-08-26
1045Russia2026-08-16
1046Canada2026-08-08
1047Russia2026-08-22
1048Japan2026-08-21
1049Japan2026-08-10

On-Demand Data

NameIdCountryDate
Juan B Rim1000Australia2026-08-05
Ashley M Foller1001France2026-08-22
Arvin N Shinko1002Italy2026-08-15
Alejandro R Glick1003Japan2026-08-14
Faith B Briddick1004France2026-08-30
Rodrigues W Nestle1005Brazil2026-08-21
Costa C Saylors1006United Kingdom2026-08-29
Julie Q Oldroyd1007United Kingdom2026-08-04
Leon D Caudy1008Brazil2026-09-01
Aika A Campain1009Germany2026-08-11
Jennifer C Saylors1010Japan2026-08-09
Mujtaba Z Foller1011Japan2026-08-28
Arvin X Chui1012India2026-08-26
Claire O Dilliard1013India2026-08-07
Aruna S Royster1014Brazil2026-08-17
Jennifer L Foller1015Japan2026-08-26
James D Vocelka1016United Kingdom2026-08-24
Ivar T Ostrosky1017France2026-08-26
Chavez S Amigon1018Canada2026-08-20
Maisha Y Bolognia1019Spain2026-08-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily N WaycottSpainIvan Magalhaes NEW
Costa Q BowleyGermanyAmy Elsner NEGOTIATION
Chavez J ButtIndiaBernardo Dominic NEGOTIATION
Jeanfrancois S MarrierCanadaIvan Magalhaes PROPOSAL
Faith I GlickAustraliaXuxue Feng NEW
Aruna M BriddickUnited KingdomAsiya Javayant PROPOSAL
Leja H MaletIndiaOnyama Limba UNQUALIFIED
Johnson Y RoysterCanadaAnna Fali PROPOSAL
Johnson H MacleadCanadaAmy Elsner PROPOSAL
Maisha S AmigonItalyAnna Fali NEW
Costa Z OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Alejandro P SlusarskiBrazilOnyama Limba NEGOTIATION
Misaki V BriddickAustraliaAsiya Javayant NEGOTIATION
Wickens Q NickaSpainIoni Bowcher UNQUALIFIED
Jennifer J StockhamIndiaAsiya Javayant NEW
Jennifer P RimRussiaAnna Fali QUALIFIED
Cody L DarakjySpainStephen Shaw QUALIFIED
Jeanfrancois Y MacleadBrazilAsiya Javayant PROPOSAL
Rodrigues H GlickUnited KingdomAnna Fali NEGOTIATION
Faith I WaycottArgentinaXuxue Feng RENEWAL
Tony L MaletAustraliaIvan Magalhaes RENEWAL
Juan F AlbaresAustraliaBernardo Dominic PROPOSAL
Costa X RulapaughAustraliaOnyama Limba RENEWAL
Tony U AmigonItalyAnna Fali RENEWAL
Mujtaba Y GlickRussiaAsiya Javayant RENEWAL
Sinclair A DoeIndiaOnyama Limba UNQUALIFIED
Emily H PoquetteArgentinaAsiya Javayant RENEWAL
Mayumi R ShinkoBrazilOnyama Limba NEW
Morrow E GillianRussiaBernardo Dominic NEW
Clifford V OstroskyBrazilIoni Bowcher UNQUALIFIED
Leja J FigeroaCanadaAnna Fali QUALIFIED
Faith U NickaIndiaIoni Bowcher QUALIFIED
Clifford Z NickaJapanAmy Elsner QUALIFIED
Ashley Q IturbideBrazilIoni Bowcher RENEWAL
Jennifer O DoeIndiaOnyama Limba QUALIFIED
Mayumi P BriddickAustraliaOnyama Limba UNQUALIFIED
Claire J DilliardAustraliaXuxue Feng PROPOSAL
Nicolas Y ShinkoIndiaAsiya Javayant NEGOTIATION
Salvatore A MaletAustraliaOnyama Limba NEGOTIATION
Kaitlin M DilliardSpainXuxue Feng NEGOTIATION

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