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
Kaitlin D WieserFranceXuxue Feng UNQUALIFIED
Stacey Q FlosiAustraliaIvan Magalhaes UNQUALIFIED
Silvio L NickaUnited KingdomXuxue Feng QUALIFIED
Adams U MaletRussiaAsiya Javayant NEGOTIATION
Ricardo L PerinUnited KingdomBernardo Dominic NEW
Claire Y WieserGermanyIoni Bowcher UNQUALIFIED
Smith H GillianGermanyXuxue Feng NEGOTIATION
Misaki Z MorascaCanadaIvan Magalhaes NEW
Deepesh F MacleadItalyIvan Magalhaes PROPOSAL
Ricardo X CaudyCanadaElwin Sharvill QUALIFIED
Kaitlin C PaprockiSpainBernardo Dominic NEW
Jennifer O DilliardFranceElwin Sharvill QUALIFIED
Aditya U PoquetteItalyOnyama Limba QUALIFIED
Aika C MorascaCanadaAsiya Javayant RENEWAL
Adams P DilliardAustraliaBernardo Dominic NEGOTIATION
Leon U GillianJapanAsiya Javayant PROPOSAL
Antonio L GlickIndiaAnna Fali UNQUALIFIED
Maisha A MaletFranceElwin Sharvill QUALIFIED
Mujtaba Q MacleadRussiaStephen Shaw RENEWAL
Jennifer Y FlosiAustraliaIvan Magalhaes NEW
Jennifer F ChuiItalyAmy Elsner QUALIFIED
Jones A RoysterBrazilElwin Sharvill NEGOTIATION
Adams I FerenczAustraliaOnyama Limba NEGOTIATION
Costa U StensethUnited KingdomStephen Shaw QUALIFIED
Silvio A StensethBrazilIoni Bowcher RENEWAL
Mujtaba B FerenczIndiaElwin Sharvill RENEWAL
Costa D MorascaSpainIoni Bowcher RENEWAL
Aika U BologniaJapanIvan Magalhaes NEGOTIATION
Johnson A GlickUnited KingdomBernardo Dominic NEW
Mayumi O NickaJapanXuxue Feng QUALIFIED
Maisha U FigeroaSpainOnyama Limba PROPOSAL
Ashley V WhobreyRussiaOnyama Limba PROPOSAL
Aruna L MacleadRussiaStephen Shaw RENEWAL
Deepesh W WaycottUnited KingdomXuxue Feng PROPOSAL
Maria C GlickSpainElwin Sharvill NEW
Arvin U IturbideCanadaAmy Elsner QUALIFIED
Kadeem Q GillianArgentinaIvan Magalhaes QUALIFIED
Izzy Q RulapaughSpainStephen Shaw NEGOTIATION
Jefferson C FigeroaGermanyBernardo Dominic QUALIFIED
Leja R MacleadArgentinaAmy Elsner NEW
Wickens Q PaprockiCanadaStephen Shaw NEGOTIATION
Isabel Q WieserArgentinaBernardo Dominic NEW
James Y ButtIndiaElwin Sharvill QUALIFIED
Ricardo P ButtIndiaXuxue Feng RENEWAL
Alejandro T ChuiBrazilXuxue Feng PROPOSAL
Antonio P WhobreyItalyAsiya Javayant NEW
Johnson G NestleRussiaAsiya Javayant QUALIFIED
Kaitlin X FollerItalyElwin Sharvill UNQUALIFIED
Munro R OstroskyGermanyBernardo Dominic PROPOSAL
Faith I ShinkoAustraliaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens D VenereGermanyStephen Shaw NEGOTIATION
Ashley X DilliardRussiaAnna Fali UNQUALIFIED
Stacey R PoquetteIndiaXuxue Feng UNQUALIFIED
Chavez Y InouyeBrazilAsiya Javayant NEW
Mayumi B SchemmerArgentinaAmy Elsner NEGOTIATION
Claire R MacleadRussiaXuxue Feng RENEWAL
Claire M ButtArgentinaElwin Sharvill QUALIFIED
Adams N OstroskyUnited KingdomAmy Elsner NEGOTIATION
Rodrigues H DilliardArgentinaStephen Shaw UNQUALIFIED
Tony J GarufiItalyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy Y CampainArgentina2026-09-16Printing Dimensions RENEWAL96Bernardo Dominic
1001Maisha Y RoysterArgentina2026-09-16Feiner Bros PROPOSAL62Elwin Sharvill
1002Arvin X RoysterFrance2026-09-13Benton, John B Jr QUALIFIED96Xuxue Feng
1003Emily W DoeFrance2026-09-12Commercial Press UNQUALIFIED41Stephen Shaw
1004Isabel T KolmetzRussia2026-09-21Chemel, James L Cpa QUALIFIED15Ioni Bowcher
1005Juan W FollerCanada2026-09-10King, Christopher A Esq NEGOTIATION63Elwin Sharvill
1006Clifford U ShinkoGermany2026-09-08Truhlar And Truhlar Attys NEGOTIATION54Ioni Bowcher
1007Jones D FigeroaCanada2026-09-27Truhlar And Truhlar Attys UNQUALIFIED92Asiya Javayant
1008Adams T MaletFrance2026-09-26Feiner Bros QUALIFIED78Amy Elsner
1009Jeanfrancois Q IturbideFrance2026-09-30Commercial Press NEGOTIATION33Amy Elsner
1010Francesco H FigeroaRussia2026-10-03Commercial Press NEW76Asiya Javayant
1011Juan E WieserCanada2026-09-26Feltz Printing Service PROPOSAL59Asiya Javayant
1012Munro Y NickaIndia2026-09-13Commercial Press PROPOSAL36Bernardo Dominic
1013Kadeem R SchemmerFrance2026-09-08Printing Dimensions NEGOTIATION47Anna Fali
1014Aditya M SchemmerItaly2026-09-18Feltz Printing Service NEGOTIATION35Onyama Limba
1015Arvin N SaylorsUnited Kingdom2026-09-28Commercial Press QUALIFIED99Xuxue Feng
1016Stacey V SlusarskiCanada2026-10-07Chemel, James L Cpa NEGOTIATION62Stephen Shaw
1017Julie S GlickSpain2026-09-14Chapman, Ross E Esq UNQUALIFIED65Bernardo Dominic
1018David K RimGermany2026-09-20Feiner Bros QUALIFIED26Ivan Magalhaes
1019Silvio Q CampainSpain2026-10-03Feltz Printing Service UNQUALIFIED63Ivan Magalhaes
1020Jefferson V DoeGermany2026-10-06Feiner Bros RENEWAL88Amy Elsner
1021Chavez Y AlbaresSpain2026-09-20Dorl, James J Esq PROPOSAL18Xuxue Feng
1022Johnson U PaprockiRussia2026-09-11King, Christopher A Esq RENEWAL33Xuxue Feng
1023Jeanfrancois S PaprockiBrazil2026-10-02Feiner Bros NEW84Bernardo Dominic
1024Nicolas N VocelkaJapan2026-09-10Truhlar And Truhlar Attys NEGOTIATION80Amy Elsner
1025Mujtaba X DilliardSpain2026-10-01Chapman, Ross E Esq PROPOSAL53Ivan Magalhaes
1026Isabel R MaletIndia2026-10-03Benton, John B Jr QUALIFIED68Elwin Sharvill
1027Jennifer A TollnerSpain2026-09-23Commercial Press UNQUALIFIED84Stephen Shaw
1028Clifford M FigeroaAustralia2026-09-16Benton, John B Jr NEW99Anna Fali
1029Antonio K WaycottBrazil2026-10-06Rangoni Of Florence PROPOSAL90Onyama Limba
1030Julie P StockhamIndia2026-09-28Feltz Printing Service NEGOTIATION23Asiya Javayant
1031Izzy B IturbideBrazil2026-10-02Feiner Bros NEW49Ioni Bowcher
1032Nicolas C RulapaughIndia2026-10-02Feltz Printing Service RENEWAL56Ivan Magalhaes
1033Maria P WieserRussia2026-09-21Benton, John B Jr UNQUALIFIED76Elwin Sharvill
1034Leon F ShinkoFrance2026-09-20Chanay, Jeffrey A Esq PROPOSAL0Anna Fali
1035Tony C BologniaIndia2026-10-03Dorl, James J Esq UNQUALIFIED83Bernardo Dominic
1036Izzy O FollerGermany2026-09-23Rousseaux, Michael Esq QUALIFIED42Amy Elsner
1037James C MarrierBrazil2026-09-20Buckley Miller Wright PROPOSAL80Anna Fali
1038Silvio T AlbaresGermany2026-09-26Truhlar And Truhlar Attys QUALIFIED40Xuxue Feng
1039Munro U GauchoRussia2026-09-29Rousseaux, Michael Esq NEW79Ivan Magalhaes
1040Antonio D AlbaresUnited Kingdom2026-09-29Truhlar And Truhlar Attys NEW39Anna Fali
1041Ivar B VocelkaJapan2026-09-15Feltz Printing Service UNQUALIFIED80Stephen Shaw
1042Leja T TollnerUnited Kingdom2026-09-18Commercial Press RENEWAL38Ioni Bowcher
1043Jones X PaprockiRussia2026-09-24Benton, John B Jr RENEWAL41Xuxue Feng
1044Munro D VenereFrance2026-09-28Rousseaux, Michael Esq PROPOSAL82Bernardo Dominic
1045Aditya A KuskoGermany2026-09-23Truhlar And Truhlar Attys QUALIFIED14Stephen Shaw
1046Jennifer N AlbaresSpain2026-09-09Rangoni Of Florence PROPOSAL18Ivan Magalhaes
1047Claire L CampainGermany2026-10-03Truhlar And Truhlar Attys QUALIFIED75Amy Elsner
1048Emily O FigeroaBrazil2026-09-24Truhlar And Truhlar Attys UNQUALIFIED13Ioni Bowcher
1049Deepesh V RulapaughCanada2026-09-17Commercial Press RENEWAL40Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Adams J WieserRussiaAnna Fali RENEWAL
Mayumi Y GarufiAustraliaIvan Magalhaes NEGOTIATION
Greenwood Y SergiGermanyElwin Sharvill UNQUALIFIED
Jefferson T GauchoArgentinaStephen Shaw RENEWAL
Ashley B RulapaughBrazilBernardo Dominic PROPOSAL
Claire C ShinkoBrazilAsiya Javayant NEW
Emily Y MarrierJapanXuxue Feng PROPOSAL
Kadeem U PaprockiCanadaAmy Elsner QUALIFIED
Salvatore V PoquetteCanadaBernardo Dominic PROPOSAL
Arvin L StockhamSpainStephen Shaw PROPOSAL
Stacey U SaylorsBrazilAsiya Javayant QUALIFIED
Cody Z MaletFranceAnna Fali RENEWAL
Jeanfrancois F ChuiUnited KingdomElwin Sharvill NEGOTIATION
Maria C FerenczCanadaXuxue Feng PROPOSAL
Jennifer R SlusarskiItalyAsiya Javayant NEGOTIATION
Cody Y GlickItalyBernardo Dominic NEW
Munro H InouyeIndiaBernardo Dominic PROPOSAL
Faith P DarakjyBrazilIvan Magalhaes QUALIFIED
Faith P SergiJapanBernardo Dominic QUALIFIED
Deepesh U PerinJapanIvan Magalhaes NEW
Silvio D BologniaJapanAnna Fali NEGOTIATION
Alejandro M FlosiCanadaXuxue Feng PROPOSAL
Wickens V BowleyAustraliaOnyama Limba PROPOSAL
Munro B GillianJapanIvan Magalhaes NEW
Rodrigues L MacleadJapanElwin Sharvill QUALIFIED
Kadeem Q VenereIndiaAmy Elsner UNQUALIFIED
Aditya G MorascaItalyOnyama Limba NEW
Antonio U CampainUnited KingdomAsiya Javayant NEW
Cody N SchemmerIndiaAnna Fali UNQUALIFIED
Leon C VocelkaItalyAnna Fali UNQUALIFIED
Maisha R GarufiRussiaOnyama Limba RENEWAL
Tony L PaprockiRussiaAnna Fali QUALIFIED
Silvio W FollerUnited KingdomElwin Sharvill RENEWAL
Jennifer H ShinkoJapanAsiya Javayant UNQUALIFIED
Cody G MaletUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer X WieserFranceElwin Sharvill NEGOTIATION
Antonio F KolmetzArgentinaOnyama Limba PROPOSAL
Jeanfrancois J FerenczJapanIvan Magalhaes UNQUALIFIED
Darci T SergiAustraliaElwin Sharvill QUALIFIED
Francesco E SergiAustraliaOnyama Limba NEW
Rodrigues F FollerAustraliaXuxue Feng RENEWAL
Leon Y GauchoCanadaOnyama Limba RENEWAL
Maria S IturbideFranceAmy Elsner NEGOTIATION
Misaki F AlbaresAustraliaIvan Magalhaes NEW
Tony R FerenczFranceBernardo Dominic NEW
Greenwood B StockhamCanadaIoni Bowcher UNQUALIFIED
Izzy X PerinAustraliaAmy Elsner UNQUALIFIED
Clifford Z IturbideGermanyIoni Bowcher QUALIFIED
Jones A WieserCanadaXuxue Feng RENEWAL
Alejandro F BologniaRussiaElwin Sharvill PROPOSAL
Frozen Columns
Name
Leja V Oldroyd
Misaki S Waycott
Arvin V Inouye
Emily U Maclead
Adams I Iturbide
Julie N Marrier
Mujtaba D Malet
Alejandro B Albares
Adams E Morasca
Jennifer L Rim
Izzy G Perin
Aditya Z Marrier
Sinclair G Chui
Izzy S Paprocki
Aditya R Whobrey
Claire J Morasca
Ashley G Sergi
Kaitlin U Briddick
Cody C Royster
Emily D Glick
Ashley E Stockham
Rodrigues N Maclead
Antonio G Whobrey
Claire U Shinko
Cody Z Kusko
Darci U Foller
Octavia M Doe
Greenwood T Stenseth
Aruna J Amigon
Emily O Schemmer
Smith C Kolmetz
Aditya R Oldroyd
James S Paprocki
Cody I Tollner
Kaitlin J Dilliard
Deepesh C Briddick
Izzy A Stenseth
Rodrigues F Doe
Sinclair D Malet
Misaki Y Caldarera
Greenwood L Oldroyd
Johnson S Caldarera
Costa S Venere
Isabel F Paprocki
Jennifer H Wieser
Ricardo N Nicka
Mayumi C Caldarera
Leja Y Sergi
Leja V Rulapaugh
Smith B Perin
IdCountryDate
1000Italy2026-09-11
1001Japan2026-09-27
1002Germany2026-09-21
1003Spain2026-10-05
1004Russia2026-10-02
1005Spain2026-09-21
1006Canada2026-10-02
1007Brazil2026-10-02
1008Argentina2026-09-17
1009Japan2026-09-17
1010Germany2026-10-06
1011Canada2026-09-30
1012United Kingdom2026-09-22
1013Spain2026-09-29
1014United Kingdom2026-09-08
1015Germany2026-09-25
1016France2026-09-10
1017Germany2026-09-11
1018Russia2026-09-09
1019Italy2026-09-10
1020Brazil2026-09-30
1021Brazil2026-09-25
1022Argentina2026-09-25
1023Russia2026-10-06
1024Spain2026-09-24
1025France2026-09-17
1026India2026-09-27
1027Spain2026-10-01
1028Argentina2026-10-01
1029Germany2026-09-21
1030Brazil2026-09-24
1031Japan2026-09-21
1032Brazil2026-09-26
1033Russia2026-09-10
1034Germany2026-09-28
1035Italy2026-10-04
1036Canada2026-09-15
1037Argentina2026-09-13
1038Spain2026-09-27
1039Russia2026-10-04
1040United Kingdom2026-09-11
1041Canada2026-09-09
1042Italy2026-09-11
1043India2026-10-02
1044Australia2026-09-23
1045Brazil2026-09-22
1046Brazil2026-10-02
1047Japan2026-09-22
1048Canada2026-09-25
1049Australia2026-09-16

On-Demand Data

NameIdCountryDate
Cody H Shinko1000Argentina2026-09-13
Mayumi F Dilliard1001France2026-09-09
Smith H Oldroyd1002United Kingdom2026-09-22
Claire R Rim1003Argentina2026-09-14
Arvin E Nicka1004Germany2026-10-01
Mujtaba Z Oldroyd1005Germany2026-10-06
Costa Z Paprocki1006United Kingdom2026-10-04
Darci E Slusarski1007Australia2026-10-02
Antonio E Iturbide1008India2026-09-29
Alejandro V Whobrey1009Japan2026-09-09
Kaitlin N Gaucho1010Argentina2026-09-15
Aruna S Albares1011Brazil2026-09-17
Arvin Z Butt1012France2026-09-16
Misaki H Foller1013Germany2026-10-06
Francesco W Oldroyd1014India2026-09-18
Kadeem Q Figeroa1015India2026-09-15
Kadeem P Oldroyd1016India2026-09-09
Rodrigues U Slusarski1017Japan2026-09-09
Darci N Gillian1018Japan2026-10-05
Isabel G Caldarera1019Brazil2026-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley W StockhamJapanBernardo Dominic NEW
Nicolas W GarufiArgentinaAmy Elsner NEGOTIATION
Tony X OldroydRussiaElwin Sharvill UNQUALIFIED
Ricardo D FollerUnited KingdomBernardo Dominic NEW
Cody O FigeroaSpainIvan Magalhaes RENEWAL
Juan Q FollerCanadaStephen Shaw NEGOTIATION
Leja G VenereCanadaStephen Shaw PROPOSAL
Nicolas D PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Cody S SchemmerIndiaAnna Fali PROPOSAL
Kadeem N MaletBrazilIoni Bowcher NEGOTIATION
James X CaldareraItalyIvan Magalhaes RENEWAL
Kadeem J ChuiFranceOnyama Limba PROPOSAL
Jefferson D NickaRussiaStephen Shaw QUALIFIED
Darci W DoeGermanyElwin Sharvill NEGOTIATION
Clifford A ShinkoSpainIvan Magalhaes QUALIFIED
Mujtaba A KuskoBrazilElwin Sharvill RENEWAL
Mayumi R CaldareraAustraliaIoni Bowcher UNQUALIFIED
Nicolas K VocelkaItalyAsiya Javayant PROPOSAL
Juan Q GauchoJapanXuxue Feng NEGOTIATION
Adams X OldroydJapanOnyama Limba UNQUALIFIED
Maisha I RoysterBrazilAmy Elsner NEGOTIATION
Ashley S ChuiAustraliaIvan Magalhaes QUALIFIED
Maisha Q MorascaRussiaStephen Shaw RENEWAL
Jennifer E FlosiAustraliaOnyama Limba RENEWAL
Emily K WieserCanadaAmy Elsner NEGOTIATION
James S RimJapanStephen Shaw NEW
Misaki F BologniaUnited KingdomAmy Elsner QUALIFIED
Izzy U MacleadAustraliaIvan Magalhaes UNQUALIFIED
Faith E ShinkoArgentinaIvan Magalhaes QUALIFIED
Leja A SergiRussiaElwin Sharvill RENEWAL
Munro V SlusarskiArgentinaXuxue Feng NEW
Wickens M ChuiSpainIvan Magalhaes NEGOTIATION
Faith V FerenczCanadaXuxue Feng RENEWAL
Aditya F CaudyAustraliaOnyama Limba RENEWAL
Smith Z NestleIndiaElwin Sharvill NEW
Adams P ChuiAustraliaXuxue Feng UNQUALIFIED
Kaitlin W WaycottAustraliaElwin Sharvill UNQUALIFIED
Costa W VocelkaArgentinaBernardo Dominic NEGOTIATION
Jennifer R FollerAustraliaIoni Bowcher PROPOSAL
Claire P VenereBrazilXuxue Feng 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>