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
Darci V FlosiRussiaElwin Sharvill PROPOSAL
Mayumi W StockhamGermanyIvan Magalhaes QUALIFIED
Claire I MaletJapanStephen Shaw PROPOSAL
Julie Z GauchoCanadaAsiya Javayant RENEWAL
Aditya X ChuiSpainOnyama Limba NEW
Kadeem L BowleyIndiaXuxue Feng NEW
Misaki K StensethAustraliaXuxue Feng QUALIFIED
Jennifer M SchemmerUnited KingdomAnna Fali UNQUALIFIED
Maria Y FerenczArgentinaElwin Sharvill NEW
James L MorascaGermanyOnyama Limba UNQUALIFIED
Silvio H FigeroaJapanElwin Sharvill QUALIFIED
Juan N RulapaughUnited KingdomStephen Shaw NEW
Jeanfrancois M KuskoGermanyXuxue Feng QUALIFIED
Claire J DoeCanadaElwin Sharvill RENEWAL
Maria Y MarrierSpainOnyama Limba RENEWAL
Arvin V OldroydArgentinaElwin Sharvill QUALIFIED
Kadeem P RoysterFranceOnyama Limba NEW
Smith L WaycottItalyAsiya Javayant NEGOTIATION
Leja T PerinArgentinaAnna Fali RENEWAL
Clifford A PerinBrazilIoni Bowcher NEGOTIATION
Sinclair F MaletIndiaAmy Elsner UNQUALIFIED
Greenwood P GillianJapanBernardo Dominic UNQUALIFIED
Morrow M GlickGermanyXuxue Feng NEGOTIATION
Maisha W PaprockiRussiaXuxue Feng UNQUALIFIED
Isabel C NickaSpainBernardo Dominic UNQUALIFIED
Faith F NestleSpainXuxue Feng RENEWAL
Aditya W BologniaGermanyAmy Elsner UNQUALIFIED
Juan N SaylorsAustraliaStephen Shaw UNQUALIFIED
Stacey P BriddickUnited KingdomXuxue Feng UNQUALIFIED
Leja V OldroydBrazilOnyama Limba QUALIFIED
Adams U BologniaRussiaIvan Magalhaes NEGOTIATION
Juan U MaletGermanyAsiya Javayant NEW
Johnson D ShinkoItalyAsiya Javayant NEW
Mayumi N SaylorsCanadaAmy Elsner PROPOSAL
Adams I SergiIndiaXuxue Feng PROPOSAL
Stacey N OstroskySpainAsiya Javayant UNQUALIFIED
Sinclair L WhobreyJapanBernardo Dominic NEGOTIATION
Adams O WieserSpainIvan Magalhaes PROPOSAL
Ivar X VenereAustraliaIoni Bowcher RENEWAL
Jones M RutaFranceIvan Magalhaes NEGOTIATION
Murillo N WhobreyRussiaElwin Sharvill RENEWAL
Nicolas E CampainGermanyAnna Fali NEW
Misaki T CaudyArgentinaOnyama Limba NEGOTIATION
Alejandro N MaletJapanXuxue Feng NEGOTIATION
Jefferson G StensethItalyAmy Elsner RENEWAL
Jeanfrancois Z IturbideItalyAsiya Javayant RENEWAL
Tony P PoquetteArgentinaXuxue Feng NEW
Clifford G FigeroaAustraliaIoni Bowcher QUALIFIED
Arvin J RutaArgentinaStephen Shaw RENEWAL
Mujtaba A FollerCanadaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson M RimFranceAmy Elsner RENEWAL
Leon F RutaAustraliaAmy Elsner UNQUALIFIED
Greenwood X StockhamIndiaAsiya Javayant NEGOTIATION
Jefferson H GlickGermanyElwin Sharvill UNQUALIFIED
Smith M PoquetteGermanyIoni Bowcher NEW
Izzy W OstroskyArgentinaAnna Fali QUALIFIED
Aruna U TollnerRussiaBernardo Dominic UNQUALIFIED
Juan E KuskoJapanXuxue Feng UNQUALIFIED
James Q RimItalyElwin Sharvill NEW
Wickens G DoeArgentinaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez V IturbideBrazil2026-09-13Chapman, Ross E Esq UNQUALIFIED78Xuxue Feng
1001Antonio G AmigonCanada2026-09-21Dorl, James J Esq PROPOSAL78Onyama Limba
1002Misaki L PoquetteJapan2026-09-13Printing Dimensions NEGOTIATION91Xuxue Feng
1003Munro I DilliardSpain2026-08-27Benton, John B Jr UNQUALIFIED18Amy Elsner
1004Maria N FigeroaUnited Kingdom2026-09-09Chemel, James L Cpa UNQUALIFIED62Ivan Magalhaes
1005Emily J RoysterJapan2026-09-20Feiner Bros PROPOSAL10Ioni Bowcher
1006Jefferson Q FollerSpain2026-09-15Printing Dimensions RENEWAL22Asiya Javayant
1007Silvio M PoquetteArgentina2026-09-11Benton, John B Jr QUALIFIED96Ioni Bowcher
1008Jones L DoeRussia2026-09-12Printing Dimensions UNQUALIFIED10Ivan Magalhaes
1009Tony L OldroydSpain2026-08-27King, Christopher A Esq RENEWAL72Anna Fali
1010Julie Y KuskoUnited Kingdom2026-09-02Commercial Press PROPOSAL70Asiya Javayant
1011Izzy W DarakjyArgentina2026-09-01Rousseaux, Michael Esq NEW89Bernardo Dominic
1012Jeanfrancois P DilliardArgentina2026-08-30Rangoni Of Florence QUALIFIED95Elwin Sharvill
1013Chavez X CaudyArgentina2026-09-03Buckley Miller Wright RENEWAL62Amy Elsner
1014Emily D RoysterIndia2026-09-07Benton, John B Jr NEGOTIATION76Xuxue Feng
1015Clifford K RulapaughRussia2026-09-18Commercial Press UNQUALIFIED0Asiya Javayant
1016Izzy E ButtItaly2026-09-02Chanay, Jeffrey A Esq NEW71Elwin Sharvill
1017Kaitlin F GarufiSpain2026-08-28Feltz Printing Service NEW47Xuxue Feng
1018Maisha C MaletItaly2026-09-11Morlong Associates RENEWAL59Bernardo Dominic
1019Munro B InouyeJapan2026-09-09Chemel, James L Cpa RENEWAL64Bernardo Dominic
1020Mayumi H FerenczJapan2026-09-23Chanay, Jeffrey A Esq NEGOTIATION86Ivan Magalhaes
1021Wickens T OstroskyBrazil2026-09-22Rousseaux, Michael Esq UNQUALIFIED9Onyama Limba
1022Rodrigues P ChuiBrazil2026-09-17Rangoni Of Florence QUALIFIED61Anna Fali
1023Antonio M SaylorsCanada2026-09-15Dorl, James J Esq PROPOSAL18Anna Fali
1024Antonio L BowleyCanada2026-09-23Rangoni Of Florence RENEWAL14Bernardo Dominic
1025Francesco K MarrierGermany2026-08-30Feiner Bros RENEWAL74Stephen Shaw
1026Salvatore S WhobreyIndia2026-09-12Chapman, Ross E Esq RENEWAL54Ioni Bowcher
1027Misaki R ChuiArgentina2026-08-31Buckley Miller Wright UNQUALIFIED55Amy Elsner
1028Rodrigues O MacleadSpain2026-08-29King, Christopher A Esq UNQUALIFIED79Ioni Bowcher
1029Munro F SchemmerJapan2026-09-16Rangoni Of Florence UNQUALIFIED93Bernardo Dominic
1030Kaitlin I PaprockiJapan2026-09-03Chapman, Ross E Esq RENEWAL14Amy Elsner
1031Juan T CaldareraSpain2026-09-02Benton, John B Jr NEW94Elwin Sharvill
1032Aditya L IturbideRussia2026-09-06King, Christopher A Esq PROPOSAL25Ioni Bowcher
1033Ashley K ShinkoAustralia2026-09-19Commercial Press NEGOTIATION22Elwin Sharvill
1034Cody J SaylorsUnited Kingdom2026-09-19Truhlar And Truhlar Attys NEW20Asiya Javayant
1035Izzy V SlusarskiSpain2026-09-07Commercial Press RENEWAL56Anna Fali
1036Maisha K WaycottIndia2026-09-23King, Christopher A Esq QUALIFIED23Onyama Limba
1037Isabel D RoysterArgentina2026-09-06Chanay, Jeffrey A Esq UNQUALIFIED34Amy Elsner
1038Mujtaba G GillianRussia2026-09-06Dorl, James J Esq UNQUALIFIED88Bernardo Dominic
1039Alejandro Y SergiRussia2026-08-28Feltz Printing Service RENEWAL20Anna Fali
1040Smith F IturbideFrance2026-09-03Chanay, Jeffrey A Esq RENEWAL37Ioni Bowcher
1041Salvatore T CampainArgentina2026-09-24Feiner Bros NEW33Ivan Magalhaes
1042Greenwood K MacleadItaly2026-09-05Rangoni Of Florence PROPOSAL87Ioni Bowcher
1043David P KuskoJapan2026-08-27Benton, John B Jr NEW69Anna Fali
1044Aika F DoeGermany2026-09-18Rousseaux, Michael Esq NEW10Ivan Magalhaes
1045Ivar U TollnerJapan2026-09-15Chanay, Jeffrey A Esq NEW49Ioni Bowcher
1046Wickens Q SchemmerRussia2026-09-14King, Christopher A Esq NEGOTIATION6Bernardo Dominic
1047Ricardo B ShinkoJapan2026-09-19Chemel, James L Cpa NEW23Bernardo Dominic
1048Mujtaba O GillianCanada2026-09-04Feltz Printing Service UNQUALIFIED88Ivan Magalhaes
1049Misaki L VenereArgentina2026-09-20Chanay, Jeffrey A Esq NEW83Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jefferson R BriddickItalyBernardo Dominic RENEWAL
Sinclair K KuskoUnited KingdomAsiya Javayant QUALIFIED
James B OldroydItalyBernardo Dominic UNQUALIFIED
Mayumi X FerenczBrazilIvan Magalhaes UNQUALIFIED
James M AmigonJapanIvan Magalhaes RENEWAL
Ricardo W FigeroaAustraliaIoni Bowcher NEGOTIATION
Jefferson I SergiGermanyIoni Bowcher NEW
Cody W GarufiFranceIoni Bowcher NEGOTIATION
Arvin S SaylorsSpainStephen Shaw RENEWAL
Ivar U ChuiAustraliaIoni Bowcher UNQUALIFIED
Claire O WhobreyUnited KingdomOnyama Limba QUALIFIED
Wickens P GauchoIndiaIvan Magalhaes RENEWAL
Aditya B CaldareraUnited KingdomAmy Elsner NEGOTIATION
Misaki W OldroydArgentinaAmy Elsner QUALIFIED
Aruna X WhobreyCanadaElwin Sharvill QUALIFIED
Clifford K MaletIndiaAsiya Javayant UNQUALIFIED
Munro I BologniaRussiaXuxue Feng UNQUALIFIED
Francesco H VocelkaAustraliaBernardo Dominic NEGOTIATION
Sinclair C NickaRussiaXuxue Feng UNQUALIFIED
Claire B SchemmerGermanyAsiya Javayant RENEWAL
Leon F ButtFranceAsiya Javayant QUALIFIED
Mujtaba N RutaIndiaOnyama Limba NEW
Munro G NickaSpainXuxue Feng NEW
Leja G FollerBrazilIvan Magalhaes UNQUALIFIED
Costa M PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Francesco D KuskoFranceStephen Shaw NEW
James N CaldareraSpainOnyama Limba UNQUALIFIED
Izzy C VocelkaSpainAmy Elsner PROPOSAL
Jefferson X RulapaughGermanyStephen Shaw UNQUALIFIED
Aditya I CampainAustraliaStephen Shaw PROPOSAL
Morrow P MaletAustraliaAsiya Javayant RENEWAL
Juan P BriddickFranceAsiya Javayant NEW
Maisha I WieserBrazilIoni Bowcher NEW
Nicolas J KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Julie M PaprockiBrazilAnna Fali RENEWAL
Darci T CaldareraFranceBernardo Dominic UNQUALIFIED
Murillo O MacleadFranceOnyama Limba NEGOTIATION
Rodrigues F KuskoArgentinaOnyama Limba RENEWAL
Maria L VocelkaAustraliaAsiya Javayant RENEWAL
Ricardo D InouyeItalyIvan Magalhaes UNQUALIFIED
Claire L FollerCanadaAnna Fali RENEWAL
Smith Y DoeGermanyAsiya Javayant NEGOTIATION
Alejandro E GarufiUnited KingdomOnyama Limba NEW
Aika I DilliardSpainAmy Elsner UNQUALIFIED
Antonio W RulapaughItalyElwin Sharvill PROPOSAL
Juan D ShinkoGermanyStephen Shaw QUALIFIED
Ricardo X VocelkaRussiaAsiya Javayant PROPOSAL
Aruna C DilliardArgentinaXuxue Feng NEW
Darci A SergiJapanIoni Bowcher NEGOTIATION
Johnson B PoquetteIndiaAnna Fali NEW
Frozen Columns
Name
Deepesh C Malet
Aruna C Bolognia
Darci M Malet
Clifford K Bowley
Leon N Stockham
Salvatore T Amigon
Emily W Perin
Ricardo M Rulapaugh
Maisha X Maclead
Deepesh V Bolognia
Leja R Oldroyd
Wickens M Nestle
Morrow F Kusko
Rodrigues E Poquette
Aditya B Dilliard
Johnson E Royster
Salvatore W Flosi
Mayumi V Stenseth
Antonio I Stenseth
James O Nestle
David O Kusko
Ricardo T Venere
Izzy I Ruta
Aruna V Slusarski
Johnson Y Stockham
Aditya J Caldarera
Munro U Waycott
Leja N Caldarera
Cody F Glick
Alejandro E Malet
Rodrigues W Shinko
Ashley Q Oldroyd
Mujtaba P Waycott
Juan S Ruta
Ivar Q Butt
Emily Z Iturbide
Jones M Tollner
Johnson B Darakjy
Juan Q Bolognia
Octavia C Caldarera
Jefferson Y Dilliard
Tony Q Garufi
Mujtaba J Glick
Kaitlin R Waycott
Murillo E Inouye
Isabel A Iturbide
Greenwood L Gillian
Kaitlin V Garufi
Cody K Kolmetz
Darci B Stockham
IdCountryDate
1000Japan2026-08-29
1001Japan2026-09-15
1002Australia2026-09-25
1003United Kingdom2026-09-03
1004Canada2026-09-14
1005United Kingdom2026-09-20
1006Russia2026-08-27
1007Argentina2026-09-10
1008Australia2026-09-12
1009Russia2026-09-08
1010Spain2026-08-30
1011Italy2026-09-24
1012United Kingdom2026-09-05
1013France2026-09-05
1014Japan2026-09-13
1015Japan2026-09-21
1016Germany2026-08-29
1017Brazil2026-09-13
1018Russia2026-09-01
1019Spain2026-08-31
1020Italy2026-08-31
1021Germany2026-08-28
1022Spain2026-08-30
1023United Kingdom2026-09-23
1024Brazil2026-09-02
1025Japan2026-09-01
1026France2026-09-04
1027Germany2026-09-15
1028India2026-09-03
1029India2026-09-09
1030Germany2026-09-08
1031Germany2026-09-17
1032Spain2026-09-25
1033Russia2026-09-20
1034Australia2026-08-30
1035Australia2026-09-18
1036Canada2026-09-01
1037United Kingdom2026-09-07
1038United Kingdom2026-09-19
1039Germany2026-08-29
1040Australia2026-09-25
1041India2026-09-02
1042United Kingdom2026-09-10
1043India2026-09-07
1044Spain2026-09-13
1045Russia2026-09-20
1046Argentina2026-09-09
1047France2026-09-15
1048Russia2026-09-15
1049Spain2026-09-04

On-Demand Data

NameIdCountryDate
Leon N Caudy1000France2026-09-07
Mujtaba W Nestle1001India2026-09-08
Claire Q Saylors1002Spain2026-09-10
Cody P Marrier1003Spain2026-09-15
Faith I Ostrosky1004Canada2026-09-08
Aika W Slusarski1005United Kingdom2026-09-16
James F Perin1006Canada2026-09-02
Stacey B Figeroa1007Argentina2026-09-14
Jennifer Y Vocelka1008United Kingdom2026-09-22
Jennifer J Slusarski1009Spain2026-09-20
Wickens X Venere1010Russia2026-09-09
Julie O Iturbide1011United Kingdom2026-09-04
Tony W Kolmetz1012United Kingdom2026-09-13
Chavez L Rulapaugh1013United Kingdom2026-09-04
Rodrigues Z Doe1014Canada2026-08-27
Ashley S Caldarera1015United Kingdom2026-09-21
Antonio I Morasca1016United Kingdom2026-09-07
Jeanfrancois Y Iturbide1017Russia2026-09-20
Claire I Tollner1018Argentina2026-09-13
Wickens A Royster1019Germany2026-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow W FigeroaCanadaAmy Elsner RENEWAL
Jeanfrancois S SchemmerCanadaStephen Shaw UNQUALIFIED
Kaitlin F SaylorsRussiaAmy Elsner UNQUALIFIED
Darci W FigeroaFranceAnna Fali NEGOTIATION
Faith K CaudyJapanBernardo Dominic NEW
Faith P KuskoCanadaOnyama Limba UNQUALIFIED
Jefferson L FollerGermanyXuxue Feng NEGOTIATION
Misaki O VenereRussiaIvan Magalhaes UNQUALIFIED
Salvatore C NestleBrazilBernardo Dominic QUALIFIED
James T GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Aika S FollerAustraliaIvan Magalhaes QUALIFIED
Nicolas M MorascaFranceXuxue Feng UNQUALIFIED
Claire Y ButtGermanyStephen Shaw QUALIFIED
Aditya R AlbaresAustraliaBernardo Dominic NEGOTIATION
Leon E RimAustraliaIvan Magalhaes NEW
Deepesh I BologniaSpainStephen Shaw NEGOTIATION
Ashley C ChuiSpainAnna Fali RENEWAL
Kaitlin A SlusarskiJapanOnyama Limba NEGOTIATION
Octavia H BowleyAustraliaElwin Sharvill QUALIFIED
Cody B AmigonCanadaAmy Elsner RENEWAL
Isabel S RutaSpainBernardo Dominic QUALIFIED
Kadeem D OstroskyIndiaAmy Elsner RENEWAL
Mujtaba G VocelkaItalyAnna Fali PROPOSAL
Kaitlin T BologniaJapanBernardo Dominic NEW
Cody U GauchoUnited KingdomAnna Fali PROPOSAL
Misaki V WieserJapanStephen Shaw NEGOTIATION
Aika O RimUnited KingdomIvan Magalhaes NEGOTIATION
Kaitlin V StensethUnited KingdomXuxue Feng PROPOSAL
Adams E OldroydJapanOnyama Limba PROPOSAL
Morrow W BologniaCanadaXuxue Feng QUALIFIED
Octavia X PerinCanadaXuxue Feng RENEWAL
Silvio G OldroydIndiaAsiya Javayant PROPOSAL
Johnson B StensethCanadaElwin Sharvill NEW
Izzy X WaycottCanadaElwin Sharvill UNQUALIFIED
Ivar X NestleArgentinaBernardo Dominic QUALIFIED
Francesco W GillianAustraliaElwin Sharvill QUALIFIED
Claire K KolmetzGermanyIoni Bowcher PROPOSAL
Sinclair J RulapaughSpainStephen Shaw NEW
Murillo L GauchoAustraliaIvan Magalhaes RENEWAL
Leon J InouyeAustraliaStephen Shaw NEW

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