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
Alejandro H VenereAustraliaXuxue Feng QUALIFIED
Wickens K KolmetzUnited KingdomAmy Elsner NEW
Francesco W FollerGermanyIoni Bowcher NEGOTIATION
Adams S GarufiJapanStephen Shaw NEW
Clifford Q MacleadRussiaIvan Magalhaes NEW
Leja L FollerSpainElwin Sharvill PROPOSAL
Tony G SlusarskiGermanyOnyama Limba NEGOTIATION
Ivar M KolmetzGermanyAmy Elsner PROPOSAL
Munro Z RutaItalyXuxue Feng RENEWAL
Deepesh F KolmetzAustraliaAnna Fali RENEWAL
Aditya S PoquetteGermanyXuxue Feng RENEWAL
Alejandro E SchemmerCanadaAsiya Javayant RENEWAL
David W GillianArgentinaIvan Magalhaes NEW
Emily J MarrierJapanAmy Elsner QUALIFIED
Mayumi F FerenczIndiaIoni Bowcher NEW
Antonio Z BowleyArgentinaElwin Sharvill NEGOTIATION
Isabel Q KolmetzCanadaXuxue Feng NEGOTIATION
Clifford E CampainIndiaBernardo Dominic QUALIFIED
Mujtaba C KuskoSpainIvan Magalhaes NEGOTIATION
Jennifer W FerenczIndiaXuxue Feng PROPOSAL
Cody F SlusarskiJapanStephen Shaw NEGOTIATION
Julie M NestleIndiaStephen Shaw RENEWAL
James R MarrierJapanAmy Elsner RENEWAL
Alejandro G GarufiRussiaIvan Magalhaes UNQUALIFIED
Ashley F StensethIndiaIvan Magalhaes PROPOSAL
Smith Q FlosiIndiaBernardo Dominic NEW
Johnson Z PoquetteJapanStephen Shaw UNQUALIFIED
Tony F WieserUnited KingdomIvan Magalhaes UNQUALIFIED
Arvin U GlickArgentinaStephen Shaw PROPOSAL
Faith F GlickSpainAnna Fali PROPOSAL
Silvio M SlusarskiFranceIvan Magalhaes RENEWAL
Darci J RulapaughArgentinaAsiya Javayant RENEWAL
Johnson K FerenczGermanyOnyama Limba PROPOSAL
Chavez Q RulapaughSpainXuxue Feng PROPOSAL
Rodrigues G MaletBrazilIvan Magalhaes RENEWAL
Arvin H AmigonSpainAmy Elsner NEW
Mujtaba Y MorascaBrazilElwin Sharvill PROPOSAL
Adams N OldroydSpainElwin Sharvill QUALIFIED
Jeanfrancois B OstroskyFranceAsiya Javayant NEW
Silvio I NestleJapanStephen Shaw PROPOSAL
Emily E WaycottCanadaAsiya Javayant NEGOTIATION
Smith P AmigonSpainStephen Shaw NEGOTIATION
Munro C FlosiBrazilBernardo Dominic UNQUALIFIED
Aditya S AlbaresAustraliaIvan Magalhaes RENEWAL
Jefferson Q BowleyCanadaXuxue Feng PROPOSAL
Smith O PaprockiUnited KingdomStephen Shaw PROPOSAL
Octavia R SchemmerCanadaAsiya Javayant UNQUALIFIED
Jennifer N GillianItalyIvan Magalhaes UNQUALIFIED
Jennifer M DoeFranceIvan Magalhaes NEW
Ashley I RutaJapanOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Mayumi F ButtIndiaAnna Fali NEW
Jennifer U OldroydIndiaAmy Elsner UNQUALIFIED
Jones M MorascaBrazilIoni Bowcher PROPOSAL
Sinclair A SlusarskiJapanStephen Shaw PROPOSAL
Leon E FollerJapanAnna Fali NEGOTIATION
Izzy B ButtSpainIvan Magalhaes QUALIFIED
Aruna Q StockhamRussiaIoni Bowcher PROPOSAL
Francesco P InouyeBrazilElwin Sharvill RENEWAL
Francesco H GarufiFranceElwin Sharvill QUALIFIED
Jennifer O VenereArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh Z GillianRussia2026-08-31King, Christopher A Esq QUALIFIED52Asiya Javayant
1001Izzy W CampainJapan2026-08-21Benton, John B Jr RENEWAL75Onyama Limba
1002James Z FollerGermany2026-09-15Commercial Press UNQUALIFIED67Bernardo Dominic
1003Antonio K KolmetzFrance2026-08-22Rousseaux, Michael Esq PROPOSAL42Ivan Magalhaes
1004Greenwood R StensethCanada2026-09-15Rangoni Of Florence QUALIFIED62Ioni Bowcher
1005Tony A PaprockiSpain2026-08-23Truhlar And Truhlar Attys PROPOSAL50Elwin Sharvill
1006Salvatore T GarufiUnited Kingdom2026-08-29Commercial Press PROPOSAL29Bernardo Dominic
1007Faith Q GarufiRussia2026-09-04Chemel, James L Cpa UNQUALIFIED40Stephen Shaw
1008Jefferson Z DilliardFrance2026-09-17Dorl, James J Esq QUALIFIED19Elwin Sharvill
1009Murillo L StensethIndia2026-09-05King, Christopher A Esq PROPOSAL72Onyama Limba
1010Smith O IturbideItaly2026-09-08Truhlar And Truhlar Attys NEGOTIATION53Stephen Shaw
1011Aika Z BowleyUnited Kingdom2026-08-24King, Christopher A Esq PROPOSAL7Stephen Shaw
1012Jefferson F GarufiIndia2026-09-04Feiner Bros UNQUALIFIED86Elwin Sharvill
1013Cody J SergiCanada2026-09-02Chemel, James L Cpa NEW23Ivan Magalhaes
1014Mayumi R OldroydUnited Kingdom2026-09-04Morlong Associates NEW60Xuxue Feng
1015Isabel K WaycottGermany2026-09-16Buckley Miller Wright UNQUALIFIED95Ioni Bowcher
1016Murillo U CampainFrance2026-09-18Rousseaux, Michael Esq PROPOSAL41Ioni Bowcher
1017Clifford F BriddickGermany2026-08-25Chanay, Jeffrey A Esq NEGOTIATION82Asiya Javayant
1018Leon A IturbideRussia2026-09-13Printing Dimensions NEGOTIATION85Asiya Javayant
1019Faith Q StensethUnited Kingdom2026-09-15Feiner Bros QUALIFIED20Bernardo Dominic
1020Johnson A OldroydIndia2026-09-18Chapman, Ross E Esq RENEWAL54Ioni Bowcher
1021Francesco H RulapaughItaly2026-09-12Printing Dimensions NEW20Ivan Magalhaes
1022Jefferson H FlosiItaly2026-09-06Feltz Printing Service UNQUALIFIED98Stephen Shaw
1023Morrow K KolmetzArgentina2026-09-11King, Christopher A Esq UNQUALIFIED12Asiya Javayant
1024David B GlickRussia2026-09-10Feiner Bros NEGOTIATION51Elwin Sharvill
1025Munro R InouyeBrazil2026-09-17Chanay, Jeffrey A Esq NEGOTIATION13Ivan Magalhaes
1026Emily Y StensethRussia2026-08-29Dorl, James J Esq NEW82Stephen Shaw
1027Smith D GauchoCanada2026-08-26Dorl, James J Esq NEW15Elwin Sharvill
1028Morrow A ShinkoUnited Kingdom2026-09-17Truhlar And Truhlar Attys RENEWAL59Asiya Javayant
1029Ashley E BowleySpain2026-09-08Morlong Associates RENEWAL91Asiya Javayant
1030Rodrigues M GillianGermany2026-08-23Truhlar And Truhlar Attys RENEWAL22Bernardo Dominic
1031Faith F FlosiUnited Kingdom2026-09-03King, Christopher A Esq QUALIFIED96Xuxue Feng
1032Wickens Z MaletFrance2026-08-30Commercial Press NEGOTIATION10Xuxue Feng
1033Munro V PerinIndia2026-08-24Benton, John B Jr UNQUALIFIED92Ivan Magalhaes
1034Izzy Q CampainUnited Kingdom2026-09-18Dorl, James J Esq NEGOTIATION48Amy Elsner
1035Leja R RulapaughSpain2026-09-16Rangoni Of Florence QUALIFIED26Anna Fali
1036Emily H StensethItaly2026-09-05Buckley Miller Wright QUALIFIED59Onyama Limba
1037James V FollerIndia2026-09-18Rousseaux, Michael Esq NEGOTIATION67Stephen Shaw
1038Wickens A RimGermany2026-08-22Printing Dimensions UNQUALIFIED67Ivan Magalhaes
1039Aika Z MorascaGermany2026-09-07Rangoni Of Florence UNQUALIFIED0Xuxue Feng
1040Ricardo T RulapaughArgentina2026-09-07King, Christopher A Esq NEGOTIATION70Amy Elsner
1041Alejandro O MaletItaly2026-08-29Truhlar And Truhlar Attys NEW81Anna Fali
1042Cody C FollerIndia2026-09-03Feltz Printing Service PROPOSAL56Stephen Shaw
1043Cody C AmigonItaly2026-08-28Chapman, Ross E Esq NEGOTIATION90Ivan Magalhaes
1044Mujtaba H SergiItaly2026-09-14Rousseaux, Michael Esq UNQUALIFIED76Stephen Shaw
1045Misaki L ButtJapan2026-09-17Printing Dimensions PROPOSAL77Amy Elsner
1046Kaitlin I TollnerBrazil2026-09-03Buckley Miller Wright QUALIFIED58Bernardo Dominic
1047Sinclair J MaletUnited Kingdom2026-08-26Rousseaux, Michael Esq PROPOSAL44Onyama Limba
1048Jones C StensethFrance2026-08-27Benton, John B Jr UNQUALIFIED2Ivan Magalhaes
1049Izzy O GauchoAustralia2026-08-25Chapman, Ross E Esq UNQUALIFIED94Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Julie G RutaJapanBernardo Dominic PROPOSAL
Leja D AmigonSpainOnyama Limba NEGOTIATION
Chavez P MacleadUnited KingdomIvan Magalhaes RENEWAL
Jefferson N CaldareraJapanElwin Sharvill NEGOTIATION
Costa C CampainGermanyIvan Magalhaes RENEWAL
Rodrigues T DilliardRussiaStephen Shaw NEW
Claire A NickaBrazilBernardo Dominic PROPOSAL
Darci E FerenczItalyAsiya Javayant UNQUALIFIED
Costa Q StockhamItalyIvan Magalhaes NEGOTIATION
Johnson W BowleyCanadaIvan Magalhaes NEW
Ivar T PerinAustraliaIvan Magalhaes QUALIFIED
Ashley L ShinkoUnited KingdomBernardo Dominic RENEWAL
Mayumi S KolmetzArgentinaOnyama Limba UNQUALIFIED
Stacey Y FigeroaBrazilIvan Magalhaes NEGOTIATION
Morrow Z KuskoSpainAnna Fali NEGOTIATION
Adams V ChuiCanadaAsiya Javayant NEGOTIATION
Darci R CaudyArgentinaBernardo Dominic PROPOSAL
Costa Q FerenczRussiaStephen Shaw UNQUALIFIED
Jones X FlosiJapanIvan Magalhaes UNQUALIFIED
Munro C SaylorsJapanIoni Bowcher QUALIFIED
Izzy R GarufiCanadaIoni Bowcher UNQUALIFIED
Julie S DilliardFranceXuxue Feng NEW
Jennifer U SlusarskiAustraliaStephen Shaw QUALIFIED
Izzy Z NickaItalyAmy Elsner NEW
Kaitlin E InouyeBrazilElwin Sharvill UNQUALIFIED
Stacey E FollerItalyIvan Magalhaes UNQUALIFIED
Clifford C FollerCanadaXuxue Feng RENEWAL
Morrow E IturbideIndiaXuxue Feng QUALIFIED
Johnson U FigeroaUnited KingdomAsiya Javayant NEGOTIATION
Sinclair G RutaArgentinaOnyama Limba NEGOTIATION
James N ButtJapanXuxue Feng NEW
Costa S VenereArgentinaOnyama Limba UNQUALIFIED
Ivar R RimArgentinaBernardo Dominic RENEWAL
Leja R PerinArgentinaAnna Fali UNQUALIFIED
Leja R FigeroaAustraliaXuxue Feng NEGOTIATION
Clifford E MaletCanadaXuxue Feng NEGOTIATION
Kaitlin F NickaArgentinaIvan Magalhaes PROPOSAL
Jennifer U TollnerSpainOnyama Limba QUALIFIED
Munro Q GarufiUnited KingdomElwin Sharvill QUALIFIED
Maisha C IturbideBrazilOnyama Limba PROPOSAL
Morrow Z MorascaItalyBernardo Dominic UNQUALIFIED
Alejandro L VenereBrazilIvan Magalhaes NEGOTIATION
Faith G MorascaFranceIoni Bowcher PROPOSAL
Leja A TollnerRussiaElwin Sharvill NEGOTIATION
Tony Z RimRussiaAnna Fali PROPOSAL
Jones F WaycottIndiaXuxue Feng PROPOSAL
Kaitlin V AlbaresSpainStephen Shaw UNQUALIFIED
Maisha N RoysterJapanAmy Elsner RENEWAL
Leon Q FollerSpainIoni Bowcher RENEWAL
Isabel L CampainIndiaIoni Bowcher NEW
Frozen Columns
Name
Jones A Royster
Alejandro Y Sergi
Nicolas M Slusarski
Kadeem W Stockham
Leon D Malet
Kaitlin T Malet
Chavez W Stockham
Alejandro W Venere
Jones F Vocelka
Jones Q Ferencz
Jeanfrancois U Paprocki
Ivar H Darakjy
Claire I Flosi
Aditya M Iturbide
Isabel J Tollner
Stacey W Slusarski
Leja O Tollner
Mujtaba W Campain
Arvin A Gillian
David Z Butt
Maisha E Slusarski
Misaki S Morasca
Chavez K Bolognia
Darci H Nestle
Emily S Nestle
Mayumi R Ferencz
Francesco W Poquette
Aika I Nicka
Kadeem N Darakjy
Ashley Z Inouye
Jones X Malet
Costa B Kusko
Rodrigues U Paprocki
Rodrigues G Chui
Izzy R Campain
Misaki Z Shinko
Kadeem O Glick
Izzy K Campain
Munro W Malet
Morrow F Chui
James Y Kusko
Chavez P Poquette
David M Venere
Antonio P Schemmer
Kadeem T Butt
Ivar H Bolognia
Alejandro G Schemmer
Kadeem P Oldroyd
Faith B Slusarski
Julie G Oldroyd
IdCountryDate
1000Brazil2026-08-22
1001Canada2026-08-22
1002Italy2026-08-21
1003United Kingdom2026-08-21
1004Germany2026-09-15
1005Italy2026-08-29
1006Japan2026-08-22
1007France2026-08-27
1008Russia2026-09-13
1009India2026-09-05
1010Italy2026-09-03
1011India2026-09-10
1012Russia2026-08-24
1013Argentina2026-09-10
1014France2026-08-23
1015India2026-08-23
1016Brazil2026-08-31
1017Russia2026-09-15
1018Japan2026-09-07
1019Japan2026-09-11
1020Australia2026-09-04
1021Spain2026-09-08
1022Argentina2026-09-07
1023Canada2026-09-16
1024India2026-09-09
1025Canada2026-08-23
1026Argentina2026-09-04
1027India2026-09-18
1028Italy2026-08-28
1029Spain2026-08-29
1030Japan2026-09-14
1031Australia2026-09-04
1032Argentina2026-08-31
1033India2026-09-11
1034Russia2026-08-28
1035Russia2026-09-10
1036India2026-09-12
1037Brazil2026-09-11
1038Australia2026-08-22
1039India2026-08-30
1040Russia2026-09-16
1041Spain2026-09-02
1042United Kingdom2026-09-11
1043India2026-09-05
1044Japan2026-08-31
1045Germany2026-08-27
1046Argentina2026-09-01
1047Japan2026-09-11
1048Italy2026-08-23
1049Brazil2026-08-29

On-Demand Data

NameIdCountryDate
Emily D Ruta1000Argentina2026-08-23
Morrow W Dilliard1001Japan2026-08-20
Maisha G Slusarski1002Russia2026-09-16
Greenwood P Flosi1003France2026-09-06
Jones P Poquette1004Brazil2026-09-04
Salvatore E Poquette1005France2026-08-30
Salvatore D Paprocki1006Argentina2026-08-28
Kaitlin G Gillian1007Australia2026-09-09
Wickens W Nestle1008Italy2026-08-29
Mujtaba N Stockham1009Brazil2026-09-14
Deepesh W Inouye1010Spain2026-08-29
Misaki C Kusko1011Canada2026-09-06
Julie H Briddick1012Spain2026-08-21
Aika L Rim1013France2026-08-29
Izzy Y Sergi1014Canada2026-09-05
Alejandro A Garufi1015Germany2026-09-07
James H Schemmer1016United Kingdom2026-08-29
Leon M Sergi1017Argentina2026-08-28
James A Figeroa1018Canada2026-08-29
Smith S Glick1019Canada2026-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika P GlickUnited KingdomAsiya Javayant NEW
Alejandro X RimBrazilIoni Bowcher NEGOTIATION
Stacey K SlusarskiCanadaAsiya Javayant QUALIFIED
Julie R MacleadRussiaAsiya Javayant NEW
Kadeem P PaprockiItalyOnyama Limba NEGOTIATION
Aditya L AmigonJapanXuxue Feng NEGOTIATION
Mayumi P BowleyUnited KingdomAnna Fali RENEWAL
Jennifer Y RutaRussiaAmy Elsner RENEWAL
Julie H TollnerUnited KingdomIoni Bowcher UNQUALIFIED
Darci A SergiItalyBernardo Dominic NEGOTIATION
Ivar D RutaIndiaIoni Bowcher NEGOTIATION
Darci B SaylorsCanadaOnyama Limba NEGOTIATION
Johnson N SergiRussiaBernardo Dominic RENEWAL
Aika B CaudyJapanAnna Fali RENEWAL
Jefferson X VocelkaCanadaXuxue Feng QUALIFIED
Stacey C FigeroaSpainAnna Fali QUALIFIED
Jones B MorascaJapanIoni Bowcher RENEWAL
Aika V VenereArgentinaXuxue Feng PROPOSAL
Claire C GarufiRussiaStephen Shaw UNQUALIFIED
James P DarakjyItalyOnyama Limba NEW
Faith U OstroskyRussiaStephen Shaw NEW
Chavez Q TollnerCanadaAnna Fali QUALIFIED
Aika F BowleyItalyIvan Magalhaes PROPOSAL
Murillo X BologniaUnited KingdomXuxue Feng PROPOSAL
Kaitlin W FerenczRussiaIoni Bowcher PROPOSAL
Alejandro J VenereArgentinaXuxue Feng UNQUALIFIED
Antonio P CaldareraRussiaAnna Fali NEGOTIATION
Greenwood H NickaGermanyStephen Shaw UNQUALIFIED
Alejandro P WhobreyRussiaStephen Shaw PROPOSAL
Jeanfrancois H MacleadSpainXuxue Feng PROPOSAL
Greenwood J PaprockiBrazilIoni Bowcher PROPOSAL
Adams J PoquetteAustraliaIvan Magalhaes PROPOSAL
Jefferson P GauchoItalyAnna Fali RENEWAL
Aruna W TollnerIndiaXuxue Feng UNQUALIFIED
Sinclair V CampainJapanIoni Bowcher RENEWAL
Leja D OldroydAustraliaIvan Magalhaes QUALIFIED
Aruna E MaletUnited KingdomElwin Sharvill NEGOTIATION
Morrow L AlbaresBrazilIoni Bowcher QUALIFIED
Rodrigues B WhobreyCanadaElwin Sharvill QUALIFIED
Murillo P RulapaughRussiaIoni Bowcher 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>