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
Ashley J BowleyUnited KingdomStephen Shaw NEW
Silvio Q KolmetzFranceStephen Shaw UNQUALIFIED
Misaki W PerinSpainIvan Magalhaes NEGOTIATION
Jeanfrancois B FlosiGermanyIvan Magalhaes PROPOSAL
Johnson K NestleUnited KingdomXuxue Feng PROPOSAL
Leon I PaprockiItalyAmy Elsner QUALIFIED
Kadeem L VenereRussiaOnyama Limba QUALIFIED
Octavia H MaletFranceStephen Shaw UNQUALIFIED
Stacey G NickaJapanIvan Magalhaes NEGOTIATION
Juan M SlusarskiCanadaAsiya Javayant NEGOTIATION
Rodrigues D KolmetzJapanBernardo Dominic QUALIFIED
Claire K OstroskyUnited KingdomElwin Sharvill RENEWAL
Antonio Z GauchoJapanIoni Bowcher PROPOSAL
Arvin C DarakjyRussiaElwin Sharvill QUALIFIED
Silvio W BologniaBrazilAmy Elsner NEGOTIATION
Emily K GauchoCanadaIoni Bowcher NEGOTIATION
Jefferson O PoquetteIndiaElwin Sharvill UNQUALIFIED
Ivar A BologniaUnited KingdomElwin Sharvill RENEWAL
Jennifer R KolmetzRussiaAmy Elsner NEW
Julie U WaycottArgentinaBernardo Dominic UNQUALIFIED
James A FlosiGermanyOnyama Limba NEGOTIATION
Costa Z KuskoJapanAmy Elsner RENEWAL
Julie M InouyeCanadaIvan Magalhaes UNQUALIFIED
Mayumi G OstroskyBrazilAsiya Javayant UNQUALIFIED
Ashley S GillianAustraliaOnyama Limba QUALIFIED
Antonio B SaylorsItalyIvan Magalhaes PROPOSAL
Leja L GlickRussiaAnna Fali PROPOSAL
Emily J RimGermanyAnna Fali PROPOSAL
Rodrigues D SchemmerItalyOnyama Limba NEW
Leja A GillianAustraliaAnna Fali PROPOSAL
Julie B KolmetzUnited KingdomStephen Shaw NEW
Leon E MaletArgentinaIvan Magalhaes NEGOTIATION
Darci M IturbideItalyIvan Magalhaes QUALIFIED
Darci V BriddickUnited KingdomAmy Elsner QUALIFIED
Munro Y FerenczUnited KingdomAsiya Javayant NEGOTIATION
Kadeem V PerinAustraliaIoni Bowcher RENEWAL
Jones Q KuskoCanadaStephen Shaw UNQUALIFIED
Munro C DarakjyBrazilIvan Magalhaes QUALIFIED
Leja T RimRussiaIvan Magalhaes QUALIFIED
Misaki R FerenczFranceIvan Magalhaes NEGOTIATION
Salvatore F MorascaIndiaIoni Bowcher QUALIFIED
Sinclair B PaprockiItalyAsiya Javayant RENEWAL
Salvatore C MacleadIndiaOnyama Limba NEGOTIATION
Jeanfrancois F PerinGermanyStephen Shaw UNQUALIFIED
Emily U FollerArgentinaIoni Bowcher RENEWAL
Leja Z WieserAustraliaElwin Sharvill NEGOTIATION
Izzy T ShinkoIndiaXuxue Feng NEW
Juan Q SergiCanadaAnna Fali UNQUALIFIED
Costa H BowleyJapanAmy Elsner PROPOSAL
Rodrigues A StensethItalyAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Claire Z SchemmerUnited KingdomOnyama Limba NEW
Octavia B NickaSpainAnna Fali QUALIFIED
Faith F BriddickRussiaXuxue Feng UNQUALIFIED
Darci R InouyeFranceAsiya Javayant PROPOSAL
Leon C AmigonRussiaAsiya Javayant QUALIFIED
Misaki E MacleadUnited KingdomIoni Bowcher NEGOTIATION
James X PoquetteGermanyIvan Magalhaes UNQUALIFIED
David T RutaAustraliaIvan Magalhaes NEGOTIATION
Ivar L WhobreyJapanElwin Sharvill PROPOSAL
Izzy J SchemmerRussiaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika Z CaudyFrance2026-09-24Dorl, James J Esq NEW47Onyama Limba
1001Leon D SaylorsSpain2026-09-15Buckley Miller Wright UNQUALIFIED35Onyama Limba
1002Jefferson X CaldareraFrance2026-09-04Rangoni Of Florence NEGOTIATION37Ioni Bowcher
1003Silvio L CampainGermany2026-09-16King, Christopher A Esq NEW23Ioni Bowcher
1004Antonio N IturbideSpain2026-09-23Feltz Printing Service PROPOSAL40Anna Fali
1005Izzy R RulapaughFrance2026-09-10Dorl, James J Esq NEW75Ioni Bowcher
1006Tony H FigeroaRussia2026-09-26Commercial Press PROPOSAL67Bernardo Dominic
1007Jennifer X CampainJapan2026-09-30Morlong Associates NEGOTIATION94Onyama Limba
1008Octavia C MarrierUnited Kingdom2026-09-25Rangoni Of Florence PROPOSAL51Ioni Bowcher
1009Isabel G GlickRussia2026-10-02Buckley Miller Wright UNQUALIFIED91Asiya Javayant
1010Morrow Z WaycottFrance2026-09-29Benton, John B Jr PROPOSAL46Anna Fali
1011Chavez V MorascaArgentina2026-09-17Dorl, James J Esq PROPOSAL23Elwin Sharvill
1012Nicolas E SchemmerBrazil2026-09-25Morlong Associates NEW4Ivan Magalhaes
1013Stacey L MorascaIndia2026-09-21Rousseaux, Michael Esq PROPOSAL10Ivan Magalhaes
1014Jones O NickaAustralia2026-09-25Buckley Miller Wright NEW96Xuxue Feng
1015Alejandro M RulapaughUnited Kingdom2026-09-13Rousseaux, Michael Esq QUALIFIED66Asiya Javayant
1016Arvin D DarakjyGermany2026-09-22Chanay, Jeffrey A Esq RENEWAL67Xuxue Feng
1017Jefferson V BriddickGermany2026-09-06Rousseaux, Michael Esq RENEWAL20Asiya Javayant
1018Sinclair E GarufiSpain2026-09-24Dorl, James J Esq QUALIFIED64Ioni Bowcher
1019Darci Z InouyeFrance2026-09-03Chanay, Jeffrey A Esq QUALIFIED54Asiya Javayant
1020Kadeem Z GarufiJapan2026-09-18Chapman, Ross E Esq RENEWAL83Ioni Bowcher
1021Rodrigues P CaudyRussia2026-09-27Chapman, Ross E Esq NEGOTIATION36Xuxue Feng
1022Kadeem T StensethCanada2026-09-16Printing Dimensions RENEWAL75Stephen Shaw
1023Julie Q DilliardCanada2026-09-27Commercial Press NEW5Anna Fali
1024David D NestleUnited Kingdom2026-09-06Truhlar And Truhlar Attys PROPOSAL1Asiya Javayant
1025Isabel B ButtGermany2026-09-18Rangoni Of Florence NEGOTIATION99Asiya Javayant
1026Greenwood A ChuiSpain2026-09-11Chapman, Ross E Esq RENEWAL19Bernardo Dominic
1027Aika Y MorascaRussia2026-09-21Chemel, James L Cpa NEW29Xuxue Feng
1028Maisha E SergiCanada2026-09-08Rousseaux, Michael Esq UNQUALIFIED34Ivan Magalhaes
1029Jennifer F FigeroaRussia2026-09-22Feiner Bros NEGOTIATION89Anna Fali
1030Murillo D FerenczAustralia2026-09-18Feiner Bros NEGOTIATION90Xuxue Feng
1031Munro T VocelkaAustralia2026-09-19Rangoni Of Florence NEGOTIATION26Elwin Sharvill
1032Alejandro A CampainItaly2026-09-18Rousseaux, Michael Esq QUALIFIED7Asiya Javayant
1033Ricardo T PaprockiRussia2026-09-12Printing Dimensions PROPOSAL55Ioni Bowcher
1034Johnson S IturbideBrazil2026-09-13Rangoni Of Florence NEW56Onyama Limba
1035Mayumi A FigeroaItaly2026-09-04Feltz Printing Service PROPOSAL52Bernardo Dominic
1036Costa L RoysterCanada2026-09-15Chapman, Ross E Esq NEW85Stephen Shaw
1037Wickens O DilliardRussia2026-09-12Dorl, James J Esq NEW92Elwin Sharvill
1038Jeanfrancois J ShinkoJapan2026-09-24Dorl, James J Esq QUALIFIED31Stephen Shaw
1039Salvatore U DarakjyRussia2026-09-29King, Christopher A Esq NEGOTIATION75Ioni Bowcher
1040Leon P FlosiGermany2026-09-26Morlong Associates NEGOTIATION59Amy Elsner
1041Antonio C GarufiCanada2026-09-21Commercial Press PROPOSAL97Ivan Magalhaes
1042Morrow W AmigonUnited Kingdom2026-09-04Chapman, Ross E Esq UNQUALIFIED67Asiya Javayant
1043Mayumi O AlbaresUnited Kingdom2026-09-29Dorl, James J Esq NEW24Anna Fali
1044Jones Q OstroskyAustralia2026-09-05Rousseaux, Michael Esq NEGOTIATION23Asiya Javayant
1045Aika V StockhamJapan2026-09-24Chanay, Jeffrey A Esq NEW70Stephen Shaw
1046Mujtaba Q NickaIndia2026-09-20Chapman, Ross E Esq PROPOSAL9Onyama Limba
1047Ashley P IturbideBrazil2026-09-29Buckley Miller Wright NEW6Elwin Sharvill
1048Claire X SergiCanada2026-09-25Rangoni Of Florence UNQUALIFIED79Anna Fali
1049Kaitlin B GillianRussia2026-09-29Rangoni Of Florence NEW33Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Smith M MaletUnited KingdomElwin Sharvill RENEWAL
Emily Y PoquetteItalyIvan Magalhaes QUALIFIED
Francesco Z FollerJapanAnna Fali QUALIFIED
Jones A GlickArgentinaIvan Magalhaes NEW
Stacey G PoquetteFranceAsiya Javayant RENEWAL
Maisha B VocelkaAustraliaAnna Fali QUALIFIED
Jeanfrancois P MaletItalyIvan Magalhaes NEGOTIATION
Johnson C PoquetteSpainXuxue Feng QUALIFIED
Emily K SergiItalyAsiya Javayant PROPOSAL
Rodrigues R DilliardJapanAmy Elsner NEGOTIATION
Ashley C MaletFranceAmy Elsner RENEWAL
Johnson A DarakjyCanadaStephen Shaw NEGOTIATION
Sinclair E FigeroaRussiaElwin Sharvill PROPOSAL
Faith V DoeJapanOnyama Limba NEW
Aika A KolmetzGermanyIvan Magalhaes QUALIFIED
Sinclair R DarakjyRussiaAsiya Javayant NEW
Juan C RulapaughIndiaBernardo Dominic PROPOSAL
Deepesh E OstroskyGermanyStephen Shaw QUALIFIED
Arvin T RutaArgentinaIoni Bowcher NEW
Aika C RulapaughIndiaOnyama Limba UNQUALIFIED
Salvatore H RutaAustraliaAnna Fali PROPOSAL
Claire Q StensethSpainAnna Fali NEW
Aditya P ChuiArgentinaIvan Magalhaes QUALIFIED
Leon Y ButtJapanIvan Magalhaes RENEWAL
Maisha G VocelkaGermanyXuxue Feng UNQUALIFIED
Nicolas R MarrierUnited KingdomAmy Elsner NEW
Silvio P OstroskyArgentinaElwin Sharvill UNQUALIFIED
Jones K CaudyIndiaAnna Fali NEGOTIATION
Maisha Z GauchoJapanIvan Magalhaes NEW
Greenwood I OstroskyCanadaIvan Magalhaes UNQUALIFIED
Ivar F KolmetzBrazilStephen Shaw RENEWAL
David S RutaJapanIvan Magalhaes UNQUALIFIED
Darci Z MarrierFranceAsiya Javayant NEGOTIATION
Adams G GarufiFranceXuxue Feng QUALIFIED
Wickens V StensethItalyAnna Fali NEGOTIATION
Sinclair U GlickRussiaElwin Sharvill QUALIFIED
Clifford X MacleadSpainIoni Bowcher NEW
Octavia O GauchoJapanAsiya Javayant UNQUALIFIED
Leja E GlickAustraliaElwin Sharvill NEGOTIATION
Emily Q OstroskyAustraliaBernardo Dominic NEGOTIATION
Alejandro T DarakjySpainAmy Elsner PROPOSAL
Smith V WaycottFranceAmy Elsner RENEWAL
Salvatore A PerinBrazilStephen Shaw RENEWAL
Sinclair O RulapaughSpainElwin Sharvill NEGOTIATION
Misaki J NestleCanadaBernardo Dominic PROPOSAL
Juan B RoysterSpainAnna Fali RENEWAL
Jeanfrancois T AlbaresFranceStephen Shaw NEGOTIATION
James H GillianUnited KingdomAmy Elsner UNQUALIFIED
Alejandro Y RutaIndiaStephen Shaw PROPOSAL
Kadeem M MarrierItalyAsiya Javayant QUALIFIED
Frozen Columns
Name
Jennifer Z Waycott
Mayumi B Morasca
Claire V Venere
Claire G Maclead
Cody O Nicka
Silvio Y Albares
Ashley A Albares
Octavia X Garufi
Jeanfrancois M Stockham
Leja D Poquette
Francesco X Amigon
Murillo C Darakjy
Nicolas X Rim
Sinclair L Caudy
Antonio J Rulapaugh
Leon W Butt
Emily V Ferencz
Maria I Venere
Ricardo S Gaucho
Darci T Morasca
Munro H Butt
Chavez A Chui
Salvatore U Tollner
Octavia I Shinko
Leja X Garufi
Smith O Albares
Leon J Malet
Jennifer M Poquette
Julie X Royster
Ivar M Dilliard
Salvatore W Tollner
Leja U Garufi
David H Stenseth
Mujtaba H Perin
Antonio E Marrier
Ashley B Wieser
Costa V Marrier
Greenwood L Schemmer
James Q Inouye
Maria V Kusko
Jones I Vocelka
Kaitlin G Campain
Silvio C Kolmetz
Misaki V Sergi
Mujtaba R Nestle
Mayumi G Maclead
James P Darakjy
Leja D Kusko
Aika B Paprocki
Antonio J Caudy
IdCountryDate
1000Japan2026-09-29
1001Australia2026-09-22
1002Germany2026-09-27
1003France2026-09-10
1004France2026-09-28
1005France2026-09-27
1006Spain2026-09-26
1007Argentina2026-09-15
1008Japan2026-09-06
1009Brazil2026-09-14
1010Japan2026-09-06
1011Russia2026-09-23
1012Italy2026-09-06
1013United Kingdom2026-09-08
1014Canada2026-09-03
1015Argentina2026-09-26
1016Brazil2026-09-21
1017Brazil2026-09-23
1018Germany2026-09-17
1019Australia2026-09-17
1020Russia2026-09-14
1021India2026-09-24
1022United Kingdom2026-09-05
1023United Kingdom2026-09-29
1024Australia2026-10-01
1025Japan2026-09-12
1026Argentina2026-09-26
1027Spain2026-09-18
1028Brazil2026-09-03
1029Russia2026-09-27
1030Australia2026-10-02
1031Italy2026-09-09
1032Canada2026-09-18
1033United Kingdom2026-09-18
1034United Kingdom2026-09-27
1035Australia2026-09-28
1036United Kingdom2026-09-07
1037Japan2026-09-29
1038Australia2026-09-21
1039Canada2026-09-28
1040France2026-09-29
1041Spain2026-09-05
1042United Kingdom2026-09-07
1043Germany2026-10-02
1044Japan2026-09-05
1045Canada2026-09-09
1046India2026-09-06
1047United Kingdom2026-09-26
1048Russia2026-09-20
1049United Kingdom2026-09-15

On-Demand Data

NameIdCountryDate
David F Wieser1000Germany2026-09-03
Jones R Royster1001Australia2026-09-06
Aditya W Saylors1002Russia2026-09-07
Francesco Z Rulapaugh1003France2026-09-04
Deepesh N Marrier1004Japan2026-09-17
Kaitlin X Maclead1005Spain2026-09-28
Jeanfrancois S Rulapaugh1006Russia2026-09-26
Faith Q Malet1007France2026-09-05
Arvin V Schemmer1008Germany2026-09-25
Darci Y Kolmetz1009Canada2026-09-11
Octavia H Perin1010Argentina2026-10-02
Octavia W Royster1011United Kingdom2026-09-06
Ricardo U Gaucho1012Argentina2026-09-18
Sinclair Y Vocelka1013Australia2026-09-12
Munro B Kolmetz1014Canada2026-09-29
Aruna Y Perin1015India2026-09-07
Munro T Rim1016Germany2026-09-07
Izzy F Morasca1017France2026-09-18
Ashley V Oldroyd1018India2026-09-13
Mayumi O Perin1019Argentina2026-09-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow G ButtGermanyBernardo Dominic NEW
Darci L DilliardItalyOnyama Limba RENEWAL
Francesco V ChuiRussiaAmy Elsner NEGOTIATION
Munro N GillianUnited KingdomIvan Magalhaes UNQUALIFIED
David H ChuiItalyBernardo Dominic NEGOTIATION
Ricardo L PoquetteItalyIvan Magalhaes PROPOSAL
Izzy K PoquetteJapanBernardo Dominic QUALIFIED
Jennifer V FerenczArgentinaIoni Bowcher NEW
Deepesh D BologniaArgentinaAsiya Javayant QUALIFIED
Maria G MaletSpainIvan Magalhaes NEGOTIATION
Morrow T FigeroaCanadaAnna Fali PROPOSAL
Arvin S OstroskyIndiaAmy Elsner RENEWAL
Cody A AmigonItalyXuxue Feng NEGOTIATION
Silvio R FerenczCanadaIvan Magalhaes QUALIFIED
Kaitlin N DilliardIndiaElwin Sharvill NEGOTIATION
Tony D IturbideRussiaElwin Sharvill NEGOTIATION
Wickens P RoysterAustraliaIoni Bowcher PROPOSAL
Costa O VenereUnited KingdomElwin Sharvill QUALIFIED
Nicolas I StensethIndiaAsiya Javayant NEGOTIATION
Deepesh U AmigonItalyIvan Magalhaes UNQUALIFIED
Murillo A CaudySpainIoni Bowcher PROPOSAL
Jefferson O OldroydGermanyOnyama Limba UNQUALIFIED
Rodrigues X RimIndiaIoni Bowcher QUALIFIED
Cody F MarrierJapanStephen Shaw RENEWAL
Arvin F FollerItalyAmy Elsner QUALIFIED
Claire L GillianGermanyIvan Magalhaes QUALIFIED
Mayumi A PoquetteGermanyStephen Shaw UNQUALIFIED
Johnson D WieserRussiaIoni Bowcher RENEWAL
Mujtaba U ChuiBrazilIoni Bowcher PROPOSAL
Nicolas I NickaArgentinaXuxue Feng QUALIFIED
Isabel D NickaCanadaAsiya Javayant RENEWAL
Izzy E FerenczAustraliaAnna Fali QUALIFIED
Stacey C GarufiJapanAmy Elsner RENEWAL
Jefferson S ShinkoArgentinaOnyama Limba UNQUALIFIED
Clifford Y WhobreyJapanAmy Elsner QUALIFIED
Misaki W InouyeRussiaOnyama Limba RENEWAL
David N RulapaughRussiaIvan Magalhaes NEGOTIATION
Morrow Z RoysterRussiaAnna Fali PROPOSAL
Alejandro R WaycottFranceBernardo Dominic RENEWAL
Leon B WhobreySpainAmy Elsner PROPOSAL

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