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
Salvatore N PerinCanadaAnna Fali UNQUALIFIED
Leja F KolmetzArgentinaOnyama Limba RENEWAL
Chavez G RutaFranceOnyama Limba NEW
Wickens C RulapaughUnited KingdomElwin Sharvill QUALIFIED
Munro B MacleadSpainStephen Shaw NEGOTIATION
Munro U RimFranceElwin Sharvill RENEWAL
Misaki S FlosiBrazilStephen Shaw UNQUALIFIED
Octavia A MorascaJapanAnna Fali PROPOSAL
Leja I OstroskyItalyAnna Fali NEW
Aruna A MorascaAustraliaAsiya Javayant QUALIFIED
Deepesh H WieserGermanyElwin Sharvill NEW
Deepesh P GlickCanadaElwin Sharvill UNQUALIFIED
Salvatore T FerenczIndiaAmy Elsner QUALIFIED
Aika O AmigonArgentinaIvan Magalhaes UNQUALIFIED
Silvio A RoysterSpainBernardo Dominic NEW
Munro P FerenczArgentinaXuxue Feng UNQUALIFIED
Mujtaba E FerenczIndiaOnyama Limba PROPOSAL
Ivar M RoysterGermanyStephen Shaw UNQUALIFIED
David G PaprockiAustraliaOnyama Limba NEW
Deepesh D RimCanadaBernardo Dominic UNQUALIFIED
Silvio X DoeRussiaAnna Fali NEGOTIATION
Arvin S DarakjyJapanBernardo Dominic NEGOTIATION
Chavez A GarufiItalyIvan Magalhaes UNQUALIFIED
Munro X SergiAustraliaIvan Magalhaes PROPOSAL
Greenwood V ChuiItalyOnyama Limba PROPOSAL
Faith K GauchoUnited KingdomElwin Sharvill PROPOSAL
Kadeem G AlbaresIndiaStephen Shaw NEW
Maria V MarrierBrazilIoni Bowcher UNQUALIFIED
Smith I MorascaFranceIoni Bowcher RENEWAL
Salvatore E GillianGermanyElwin Sharvill QUALIFIED
Cody Z CampainBrazilAsiya Javayant QUALIFIED
Maria M CaldareraItalyIvan Magalhaes RENEWAL
Darci B SlusarskiArgentinaAmy Elsner QUALIFIED
Alejandro A BriddickUnited KingdomAmy Elsner UNQUALIFIED
Emily Q BriddickItalyOnyama Limba NEGOTIATION
Mayumi F PaprockiArgentinaBernardo Dominic QUALIFIED
Francesco D CaldareraItalyIoni Bowcher UNQUALIFIED
Juan W GarufiJapanElwin Sharvill RENEWAL
Costa J VenereItalyAsiya Javayant NEW
Rodrigues K SchemmerSpainStephen Shaw PROPOSAL
Nicolas J WhobreyBrazilAsiya Javayant NEGOTIATION
Emily G MaletArgentinaXuxue Feng QUALIFIED
Arvin L FerenczRussiaOnyama Limba UNQUALIFIED
David V DoeCanadaIvan Magalhaes UNQUALIFIED
Jeanfrancois Z PaprockiIndiaAsiya Javayant UNQUALIFIED
Silvio L TollnerBrazilAmy Elsner NEGOTIATION
Wickens W GauchoAustraliaOnyama Limba NEGOTIATION
Munro D KuskoCanadaAnna Fali NEGOTIATION
Sinclair L SlusarskiArgentinaBernardo Dominic NEW
Kadeem D NestleAustraliaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson B MaletGermanyIvan Magalhaes RENEWAL
Julie N StensethSpainOnyama Limba RENEWAL
Ricardo S MaletCanadaIvan Magalhaes NEGOTIATION
Aika B ButtUnited KingdomElwin Sharvill NEGOTIATION
Arvin G AlbaresIndiaElwin Sharvill UNQUALIFIED
Francesco Q GlickIndiaIoni Bowcher PROPOSAL
Maria Z ShinkoJapanXuxue Feng PROPOSAL
Maisha D FlosiItalyElwin Sharvill QUALIFIED
Faith U GarufiFranceAsiya Javayant QUALIFIED
Kadeem K DoeCanadaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois J DilliardFrance2026-09-24Truhlar And Truhlar Attys QUALIFIED39Elwin Sharvill
1001Nicolas S SlusarskiCanada2026-09-18Chanay, Jeffrey A Esq NEW50Onyama Limba
1002Isabel E AmigonJapan2026-09-21Dorl, James J Esq PROPOSAL87Amy Elsner
1003Julie H PerinCanada2026-09-16Truhlar And Truhlar Attys QUALIFIED26Xuxue Feng
1004Aditya Y IturbideFrance2026-09-16Printing Dimensions QUALIFIED54Ioni Bowcher
1005Kadeem D RulapaughGermany2026-09-19Dorl, James J Esq NEGOTIATION36Ivan Magalhaes
1006Costa Y GarufiAustralia2026-09-26Printing Dimensions RENEWAL23Onyama Limba
1007Tony B GlickBrazil2026-10-03Dorl, James J Esq NEW34Stephen Shaw
1008Izzy I DilliardRussia2026-09-25Morlong Associates NEW29Ioni Bowcher
1009Isabel V KolmetzCanada2026-09-20Feiner Bros RENEWAL33Anna Fali
1010Arvin U CaldareraBrazil2026-09-26Buckley Miller Wright PROPOSAL21Xuxue Feng
1011Jones J RulapaughIndia2026-09-16Feiner Bros PROPOSAL63Bernardo Dominic
1012Silvio K SchemmerItaly2026-10-02Printing Dimensions PROPOSAL57Bernardo Dominic
1013Ricardo F DarakjyArgentina2026-09-23Chemel, James L Cpa NEGOTIATION36Xuxue Feng
1014Octavia I OldroydBrazil2026-09-10Chapman, Ross E Esq NEW59Elwin Sharvill
1015Mayumi S DoeAustralia2026-10-03Dorl, James J Esq UNQUALIFIED63Ivan Magalhaes
1016Misaki D FigeroaArgentina2026-10-06Rangoni Of Florence NEW67Stephen Shaw
1017Ashley F MaletBrazil2026-09-21Rousseaux, Michael Esq RENEWAL88Elwin Sharvill
1018Greenwood S TollnerGermany2026-09-17King, Christopher A Esq PROPOSAL90Xuxue Feng
1019Kadeem P BologniaIndia2026-09-14Chemel, James L Cpa NEW22Elwin Sharvill
1020Aditya E ButtCanada2026-09-25Benton, John B Jr PROPOSAL15Bernardo Dominic
1021Murillo X BologniaRussia2026-09-19Chemel, James L Cpa RENEWAL15Ivan Magalhaes
1022Sinclair C OldroydFrance2026-09-18Rangoni Of Florence RENEWAL98Stephen Shaw
1023Stacey M KolmetzArgentina2026-09-17Chemel, James L Cpa QUALIFIED41Onyama Limba
1024Murillo W SlusarskiIndia2026-09-25Feltz Printing Service RENEWAL98Elwin Sharvill
1025Emily V NestleJapan2026-10-05King, Christopher A Esq RENEWAL88Stephen Shaw
1026Adams K BriddickCanada2026-09-26Benton, John B Jr NEW16Xuxue Feng
1027Clifford J BowleyJapan2026-09-23Truhlar And Truhlar Attys QUALIFIED65Ioni Bowcher
1028David A FollerUnited Kingdom2026-09-13Printing Dimensions RENEWAL46Stephen Shaw
1029Wickens J MaletUnited Kingdom2026-09-15Feiner Bros UNQUALIFIED37Bernardo Dominic
1030Darci S OldroydBrazil2026-10-06Rousseaux, Michael Esq PROPOSAL66Ioni Bowcher
1031Murillo M BowleyItaly2026-09-14Benton, John B Jr NEGOTIATION61Onyama Limba
1032Ivar T FigeroaIndia2026-09-20Chanay, Jeffrey A Esq NEW91Anna Fali
1033Sinclair C BologniaGermany2026-09-18Truhlar And Truhlar Attys RENEWAL90Elwin Sharvill
1034Wickens L PerinGermany2026-10-01Benton, John B Jr QUALIFIED3Asiya Javayant
1035Julie Q GillianIndia2026-09-19Printing Dimensions UNQUALIFIED90Onyama Limba
1036Greenwood L StockhamRussia2026-09-14Buckley Miller Wright PROPOSAL86Anna Fali
1037Jeanfrancois Z PerinSpain2026-09-12Printing Dimensions RENEWAL2Asiya Javayant
1038Kadeem U KuskoCanada2026-09-14Rangoni Of Florence RENEWAL34Bernardo Dominic
1039Salvatore B GillianFrance2026-09-13Buckley Miller Wright QUALIFIED7Ioni Bowcher
1040Murillo U MacleadArgentina2026-09-08Rousseaux, Michael Esq RENEWAL6Ivan Magalhaes
1041David Y ShinkoJapan2026-09-26Feiner Bros PROPOSAL1Amy Elsner
1042Darci U MacleadArgentina2026-09-15Chemel, James L Cpa RENEWAL22Stephen Shaw
1043Wickens P StockhamUnited Kingdom2026-09-29Buckley Miller Wright UNQUALIFIED33Ivan Magalhaes
1044Antonio D GillianBrazil2026-09-09Rangoni Of Florence UNQUALIFIED55Onyama Limba
1045Jefferson A MaletArgentina2026-09-24Chemel, James L Cpa QUALIFIED71Bernardo Dominic
1046Cody J RoysterCanada2026-09-25Morlong Associates RENEWAL71Onyama Limba
1047Aruna A BowleyRussia2026-09-16Morlong Associates NEGOTIATION31Ivan Magalhaes
1048Leon L SlusarskiSpain2026-09-24Feltz Printing Service NEGOTIATION88Asiya Javayant
1049Jennifer E FigeroaIndia2026-09-17Chanay, Jeffrey A Esq NEGOTIATION72Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Smith R DilliardFranceAsiya Javayant PROPOSAL
Octavia C FollerBrazilIoni Bowcher PROPOSAL
Maria I GlickUnited KingdomIvan Magalhaes NEGOTIATION
Morrow K OldroydUnited KingdomElwin Sharvill QUALIFIED
Juan H MarrierIndiaIvan Magalhaes NEW
Aditya B FollerItalyIoni Bowcher NEGOTIATION
Rodrigues H ButtArgentinaStephen Shaw PROPOSAL
Ashley I MaletItalyAmy Elsner NEGOTIATION
Jefferson R IturbideBrazilIvan Magalhaes RENEWAL
Misaki Y StockhamArgentinaOnyama Limba PROPOSAL
Antonio U RutaGermanyIoni Bowcher NEGOTIATION
Kadeem I DarakjyGermanyBernardo Dominic NEW
Maisha W OldroydFranceBernardo Dominic NEGOTIATION
Alejandro B MarrierFranceAmy Elsner NEGOTIATION
Faith Z FlosiAustraliaIvan Magalhaes PROPOSAL
David A GlickArgentinaOnyama Limba NEW
Izzy Q FigeroaJapanStephen Shaw NEGOTIATION
Alejandro X DarakjyBrazilXuxue Feng NEGOTIATION
Jennifer I RulapaughGermanyAsiya Javayant RENEWAL
Ashley K SergiBrazilOnyama Limba NEGOTIATION
Izzy R CaldareraRussiaBernardo Dominic QUALIFIED
Izzy U GarufiBrazilAmy Elsner NEW
Jones H IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi R WhobreyItalyStephen Shaw RENEWAL
Jennifer F RutaSpainOnyama Limba PROPOSAL
Maisha Z VenereUnited KingdomAsiya Javayant NEGOTIATION
Faith R ChuiRussiaXuxue Feng RENEWAL
Aruna H StensethCanadaOnyama Limba QUALIFIED
Nicolas F CampainArgentinaAnna Fali NEGOTIATION
Jefferson A FollerRussiaBernardo Dominic RENEWAL
Salvatore B NickaFranceAsiya Javayant RENEWAL
Juan B CampainGermanyOnyama Limba RENEWAL
Maria K CaldareraIndiaStephen Shaw UNQUALIFIED
Sinclair N FigeroaCanadaStephen Shaw UNQUALIFIED
Sinclair Z NestleRussiaIvan Magalhaes NEW
Tony M VenereFranceOnyama Limba PROPOSAL
Francesco E IturbideSpainStephen Shaw QUALIFIED
Maria J BriddickSpainAnna Fali NEGOTIATION
Johnson N RutaBrazilXuxue Feng NEGOTIATION
Ricardo U PerinCanadaXuxue Feng NEGOTIATION
Izzy A BologniaSpainStephen Shaw NEGOTIATION
Johnson F CaudyArgentinaIoni Bowcher RENEWAL
Maisha Z GarufiItalyAnna Fali UNQUALIFIED
Emily Q FlosiArgentinaOnyama Limba NEW
Arvin X GarufiRussiaBernardo Dominic NEGOTIATION
Cody X NickaSpainBernardo Dominic NEGOTIATION
Jennifer C WaycottUnited KingdomStephen Shaw QUALIFIED
Mayumi R AlbaresArgentinaAnna Fali NEGOTIATION
Mayumi I OstroskyItalyAnna Fali QUALIFIED
Jefferson E MaletFranceXuxue Feng UNQUALIFIED
Frozen Columns
Name
Alejandro G Oldroyd
Claire K Gaucho
Ricardo B Caldarera
Claire Y Ferencz
Morrow U Butt
Mujtaba D Glick
Misaki W Chui
Rodrigues B Waycott
Jones Y Amigon
Murillo F Stenseth
Wickens X Glick
Maisha G Ostrosky
Ivar Y Nestle
Faith S Gaucho
Silvio I Stenseth
Stacey B Royster
Alejandro H Rim
Juan Y Gaucho
Ashley X Butt
Ivar C Malet
Antonio L Vocelka
Leon W Ruta
Ricardo V Glick
Mujtaba Z Slusarski
Costa R Dilliard
Jefferson J Slusarski
Ricardo S Inouye
Johnson F Campain
Faith H Foller
Jefferson U Royster
James B Malet
Clifford V Darakjy
Leon B Venere
Wickens D Rulapaugh
Stacey V Briddick
Cody N Kusko
Smith Z Oldroyd
Claire T Caudy
Murillo R Dilliard
Julie P Morasca
Murillo J Ferencz
Murillo T Rulapaugh
Wickens L Kolmetz
Johnson E Rulapaugh
James V Glick
Isabel P Venere
Stacey P Chui
Smith Y Stockham
Alejandro R Garufi
Johnson A Tollner
IdCountryDate
1000Japan2026-09-15
1001Canada2026-09-22
1002Argentina2026-09-19
1003India2026-09-08
1004Australia2026-10-05
1005Russia2026-10-06
1006Spain2026-09-10
1007Canada2026-09-18
1008Italy2026-10-01
1009Russia2026-09-30
1010Italy2026-09-12
1011Australia2026-10-04
1012United Kingdom2026-09-10
1013France2026-10-01
1014Italy2026-09-25
1015Germany2026-09-29
1016India2026-09-13
1017United Kingdom2026-09-28
1018France2026-09-24
1019Japan2026-09-24
1020Germany2026-10-01
1021Australia2026-09-22
1022Argentina2026-09-20
1023Japan2026-09-07
1024United Kingdom2026-10-01
1025Spain2026-09-09
1026Australia2026-09-10
1027Canada2026-09-25
1028France2026-10-03
1029United Kingdom2026-09-11
1030Japan2026-09-30
1031Russia2026-10-01
1032Argentina2026-09-30
1033France2026-10-03
1034Germany2026-09-26
1035India2026-09-17
1036Italy2026-09-18
1037Argentina2026-09-30
1038Brazil2026-09-09
1039Brazil2026-09-14
1040India2026-10-06
1041Germany2026-09-19
1042Japan2026-09-17
1043India2026-09-22
1044United Kingdom2026-09-08
1045India2026-09-21
1046India2026-09-09
1047France2026-10-01
1048Brazil2026-09-24
1049United Kingdom2026-09-18

On-Demand Data

NameIdCountryDate
Ricardo M Malet1000Canada2026-09-26
Munro Y Dilliard1001Germany2026-09-18
Kadeem Y Slusarski1002Australia2026-09-15
Chavez Q Butt1003Argentina2026-09-12
Ivar W Royster1004Germany2026-09-15
Mujtaba C Figeroa1005France2026-10-06
Jones L Briddick1006Australia2026-09-22
Juan N Chui1007Russia2026-09-09
Darci J Perin1008Canada2026-09-10
Isabel P Nestle1009Germany2026-09-23
Kadeem Q Kolmetz1010Spain2026-09-13
Ivar B Amigon1011Argentina2026-09-12
Ashley Q Bowley1012Italy2026-10-03
Maria E Doe1013Brazil2026-09-09
David J Kusko1014Australia2026-09-23
Munro C Saylors1015United Kingdom2026-10-01
Wickens M Schemmer1016India2026-09-30
Murillo W Stockham1017Italy2026-09-16
Rodrigues J Waycott1018Germany2026-09-23
Johnson H Chui1019Canada2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro M DilliardAustraliaIoni Bowcher RENEWAL
Johnson W NestleSpainIvan Magalhaes RENEWAL
Ivar U CaudyAustraliaOnyama Limba UNQUALIFIED
Octavia M MorascaRussiaStephen Shaw RENEWAL
Mayumi Y StockhamSpainIvan Magalhaes NEGOTIATION
Morrow V KuskoAustraliaOnyama Limba QUALIFIED
Adams L ButtGermanyAsiya Javayant QUALIFIED
Adams J RimAustraliaXuxue Feng PROPOSAL
James U SlusarskiGermanyOnyama Limba NEW
Wickens W OldroydUnited KingdomAsiya Javayant NEW
Murillo O SaylorsArgentinaBernardo Dominic QUALIFIED
Johnson U BriddickItalyBernardo Dominic PROPOSAL
Jeanfrancois P BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Sinclair R GauchoIndiaOnyama Limba QUALIFIED
Murillo V SchemmerAustraliaOnyama Limba NEW
Francesco S FlosiCanadaIvan Magalhaes RENEWAL
Maisha A RulapaughIndiaStephen Shaw RENEWAL
James R GillianAustraliaAsiya Javayant PROPOSAL
Octavia Q PerinFranceOnyama Limba PROPOSAL
Costa H OldroydUnited KingdomAsiya Javayant NEGOTIATION
Adams B FlosiUnited KingdomAsiya Javayant QUALIFIED
Tony N GlickCanadaIoni Bowcher UNQUALIFIED
Antonio H BriddickArgentinaAsiya Javayant NEGOTIATION
Adams T FollerArgentinaBernardo Dominic NEW
Nicolas B RulapaughRussiaBernardo Dominic PROPOSAL
Johnson Y CampainCanadaAnna Fali QUALIFIED
Johnson T GarufiCanadaIvan Magalhaes UNQUALIFIED
Munro I ButtUnited KingdomXuxue Feng RENEWAL
Faith E RulapaughGermanyAmy Elsner PROPOSAL
Sinclair I MorascaAustraliaXuxue Feng NEGOTIATION
Costa R MorascaCanadaAsiya Javayant NEW
Munro O NestleRussiaOnyama Limba PROPOSAL
Jefferson F SaylorsItalyStephen Shaw UNQUALIFIED
Wickens Y WaycottCanadaXuxue Feng NEGOTIATION
Nicolas L NestleCanadaOnyama Limba UNQUALIFIED
Maria C OstroskySpainAsiya Javayant PROPOSAL
Jefferson R IturbideIndiaIoni Bowcher RENEWAL
Mujtaba V TollnerSpainAmy Elsner NEGOTIATION
Clifford T PaprockiArgentinaAmy Elsner RENEWAL
Leon S MorascaUnited KingdomBernardo Dominic 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>