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
Isabel P ShinkoCanadaAnna Fali QUALIFIED
Aika M KolmetzItalyBernardo Dominic UNQUALIFIED
Silvio R OstroskySpainIvan Magalhaes UNQUALIFIED
Wickens N SlusarskiAustraliaStephen Shaw NEW
Murillo R VocelkaJapanElwin Sharvill UNQUALIFIED
Jones H StensethAustraliaStephen Shaw PROPOSAL
Murillo R CaldareraItalyAsiya Javayant NEW
Jefferson J KuskoArgentinaAnna Fali UNQUALIFIED
Maria C BologniaJapanXuxue Feng NEW
Francesco Q PerinAustraliaIvan Magalhaes PROPOSAL
Darci M GauchoBrazilAnna Fali NEGOTIATION
Jeanfrancois W MorascaGermanyXuxue Feng NEGOTIATION
Emily U PoquetteBrazilAsiya Javayant NEGOTIATION
Adams H OstroskySpainStephen Shaw PROPOSAL
Tony N BowleyArgentinaStephen Shaw UNQUALIFIED
Nicolas A WieserRussiaAnna Fali NEGOTIATION
Jeanfrancois X FlosiBrazilAsiya Javayant UNQUALIFIED
Deepesh A WhobreyGermanyIoni Bowcher UNQUALIFIED
Ivar F WhobreyAustraliaXuxue Feng UNQUALIFIED
Smith W CaudyFranceAnna Fali NEW
Maria F SlusarskiGermanyElwin Sharvill PROPOSAL
Octavia Z OldroydSpainBernardo Dominic UNQUALIFIED
Johnson P MaletAustraliaIoni Bowcher QUALIFIED
Leon R FerenczUnited KingdomAnna Fali NEW
Ivar E CaldareraIndiaStephen Shaw RENEWAL
Costa G InouyeItalyXuxue Feng NEGOTIATION
Johnson K GlickJapanXuxue Feng RENEWAL
Aika Z GlickAustraliaOnyama Limba NEGOTIATION
Aruna V MacleadSpainElwin Sharvill RENEWAL
Cody X AlbaresBrazilAsiya Javayant QUALIFIED
Mujtaba L MaletSpainBernardo Dominic QUALIFIED
Kadeem W FollerGermanyAmy Elsner QUALIFIED
Chavez C StensethBrazilStephen Shaw NEW
Greenwood B RoysterAustraliaOnyama Limba NEW
Silvio K CaudyAustraliaAnna Fali NEGOTIATION
Sinclair D NestleCanadaElwin Sharvill PROPOSAL
Salvatore U CaudySpainOnyama Limba NEW
Kaitlin T FerenczJapanAsiya Javayant PROPOSAL
David E RutaItalyXuxue Feng UNQUALIFIED
Clifford H MaletItalyXuxue Feng NEGOTIATION
Leon M StockhamCanadaStephen Shaw NEGOTIATION
Mujtaba D OstroskyUnited KingdomIvan Magalhaes QUALIFIED
Smith P KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Claire N WaycottUnited KingdomAmy Elsner NEW
Misaki Y GarufiJapanOnyama Limba RENEWAL
Mujtaba J CaudyFranceElwin Sharvill UNQUALIFIED
Maisha L MacleadAustraliaAnna Fali QUALIFIED
Silvio I StockhamBrazilAmy Elsner QUALIFIED
Francesco X BowleyItalyBernardo Dominic RENEWAL
Costa O AlbaresIndiaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Deepesh T NestleRussiaAsiya Javayant NEW
Johnson C SlusarskiSpainAsiya Javayant NEW
Kaitlin Q GillianAustraliaIoni Bowcher NEW
Aruna X MaletItalyXuxue Feng NEGOTIATION
James H MaletUnited KingdomStephen Shaw NEGOTIATION
Johnson L PaprockiCanadaAsiya Javayant RENEWAL
Ashley L CaldareraCanadaOnyama Limba NEGOTIATION
Cody V StensethItalyAsiya Javayant UNQUALIFIED
Ashley O NestleCanadaAsiya Javayant NEW
Kaitlin I WhobreyUnited KingdomAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson G PoquetteArgentina2026-10-09Chapman, Ross E Esq UNQUALIFIED94Anna Fali
1001Deepesh I VenereUnited Kingdom2026-10-02Truhlar And Truhlar Attys NEGOTIATION42Xuxue Feng
1002Clifford J PoquetteUnited Kingdom2026-09-17Truhlar And Truhlar Attys UNQUALIFIED29Asiya Javayant
1003Ivar N SchemmerCanada2026-10-07Feltz Printing Service UNQUALIFIED2Asiya Javayant
1004Murillo N RimFrance2026-10-09Feiner Bros PROPOSAL16Elwin Sharvill
1005Deepesh M PoquetteGermany2026-09-24Benton, John B Jr NEGOTIATION36Bernardo Dominic
1006Alejandro L AmigonIndia2026-09-25King, Christopher A Esq UNQUALIFIED50Anna Fali
1007Jones L SergiRussia2026-10-06Rousseaux, Michael Esq UNQUALIFIED60Amy Elsner
1008Jeanfrancois W WieserItaly2026-10-01Morlong Associates NEW22Onyama Limba
1009David H BowleyUnited Kingdom2026-10-09Buckley Miller Wright NEW63Ivan Magalhaes
1010Maria C BowleyAustralia2026-10-05Feiner Bros NEW82Elwin Sharvill
1011Kadeem K InouyeCanada2026-10-06King, Christopher A Esq PROPOSAL17Ivan Magalhaes
1012Alejandro X RoysterFrance2026-09-25King, Christopher A Esq NEGOTIATION16Asiya Javayant
1013Tony W OldroydBrazil2026-09-29Chanay, Jeffrey A Esq PROPOSAL13Xuxue Feng
1014Salvatore M NestleGermany2026-09-14Benton, John B Jr NEGOTIATION75Ivan Magalhaes
1015Munro N GauchoSpain2026-09-18Feltz Printing Service RENEWAL63Asiya Javayant
1016Clifford H DilliardSpain2026-09-21Buckley Miller Wright NEGOTIATION78Ioni Bowcher
1017Maria Y BologniaUnited Kingdom2026-10-01Feltz Printing Service PROPOSAL35Asiya Javayant
1018Aditya E CaldareraFrance2026-10-10Buckley Miller Wright UNQUALIFIED98Asiya Javayant
1019Ashley H OstroskyUnited Kingdom2026-10-06Benton, John B Jr NEGOTIATION21Onyama Limba
1020Claire B AmigonUnited Kingdom2026-09-23Commercial Press NEW68Ivan Magalhaes
1021James F KuskoRussia2026-09-29Chapman, Ross E Esq QUALIFIED28Ivan Magalhaes
1022James T StensethSpain2026-09-26Chemel, James L Cpa QUALIFIED32Ivan Magalhaes
1023Tony A GarufiFrance2026-10-01Buckley Miller Wright UNQUALIFIED10Elwin Sharvill
1024Misaki F ChuiAustralia2026-09-16Buckley Miller Wright UNQUALIFIED63Anna Fali
1025Julie A FigeroaAustralia2026-09-17Buckley Miller Wright NEW49Onyama Limba
1026Izzy T RoysterJapan2026-10-08Benton, John B Jr QUALIFIED87Ivan Magalhaes
1027Nicolas S BowleySpain2026-09-20Dorl, James J Esq NEGOTIATION94Amy Elsner
1028Chavez D ShinkoGermany2026-10-01Rousseaux, Michael Esq UNQUALIFIED97Xuxue Feng
1029Leja I SlusarskiUnited Kingdom2026-10-10Chanay, Jeffrey A Esq PROPOSAL93Stephen Shaw
1030Mujtaba V DoeRussia2026-10-01Benton, John B Jr RENEWAL87Amy Elsner
1031Ricardo V MaletSpain2026-09-24King, Christopher A Esq NEW30Stephen Shaw
1032Jefferson R WhobreyJapan2026-10-11King, Christopher A Esq RENEWAL28Onyama Limba
1033Deepesh M GillianArgentina2026-10-01Feltz Printing Service UNQUALIFIED38Anna Fali
1034Clifford H GauchoGermany2026-10-11Dorl, James J Esq PROPOSAL72Stephen Shaw
1035Greenwood L TollnerCanada2026-10-08King, Christopher A Esq PROPOSAL86Stephen Shaw
1036Adams L PoquetteJapan2026-09-30Chemel, James L Cpa UNQUALIFIED93Bernardo Dominic
1037Maria X FollerRussia2026-09-13Benton, John B Jr UNQUALIFIED90Onyama Limba
1038Smith J KolmetzGermany2026-09-13Buckley Miller Wright PROPOSAL17Asiya Javayant
1039Alejandro B SlusarskiItaly2026-10-05King, Christopher A Esq RENEWAL39Amy Elsner
1040Jefferson K CampainCanada2026-10-06Morlong Associates NEGOTIATION55Onyama Limba
1041Murillo A MorascaCanada2026-10-10Buckley Miller Wright NEGOTIATION52Anna Fali
1042Ivar X StensethRussia2026-09-17King, Christopher A Esq PROPOSAL28Bernardo Dominic
1043Leja M StockhamGermany2026-09-30Truhlar And Truhlar Attys PROPOSAL90Elwin Sharvill
1044Aika S CaldareraFrance2026-09-16Morlong Associates PROPOSAL83Bernardo Dominic
1045Sinclair G NestleArgentina2026-10-06Feiner Bros UNQUALIFIED19Ivan Magalhaes
1046Kaitlin H ButtAustralia2026-10-02Commercial Press UNQUALIFIED78Xuxue Feng
1047Munro H FigeroaArgentina2026-10-10King, Christopher A Esq PROPOSAL45Elwin Sharvill
1048Stacey R FerenczArgentina2026-10-02Printing Dimensions NEW58Xuxue Feng
1049Chavez W SaylorsItaly2026-09-20Commercial Press NEGOTIATION76Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio Q GillianUnited KingdomAsiya Javayant UNQUALIFIED
Claire H BologniaRussiaBernardo Dominic UNQUALIFIED
David U ChuiArgentinaBernardo Dominic RENEWAL
Mujtaba O VocelkaItalyAnna Fali UNQUALIFIED
Juan R BologniaBrazilOnyama Limba NEGOTIATION
Adams N WaycottItalyStephen Shaw QUALIFIED
Emily X GlickItalyOnyama Limba PROPOSAL
Mujtaba Q RimGermanyElwin Sharvill RENEWAL
Stacey C RutaFranceAsiya Javayant QUALIFIED
Adams C InouyeAustraliaAnna Fali NEW
Kadeem J CampainBrazilAnna Fali QUALIFIED
Maisha Z AmigonCanadaIvan Magalhaes NEW
Leja X GillianGermanyAmy Elsner PROPOSAL
Silvio Q OstroskyCanadaElwin Sharvill NEW
Costa A VocelkaUnited KingdomStephen Shaw RENEWAL
Emily M VocelkaIndiaIvan Magalhaes NEW
Chavez M AlbaresItalyAsiya Javayant NEW
Faith Q OstroskyUnited KingdomElwin Sharvill PROPOSAL
Morrow E PerinArgentinaStephen Shaw QUALIFIED
Maisha Q BowleyArgentinaXuxue Feng UNQUALIFIED
Jennifer E KolmetzArgentinaIoni Bowcher QUALIFIED
Aika H DoeRussiaAsiya Javayant NEW
James Z SlusarskiIndiaStephen Shaw RENEWAL
Maisha E OldroydIndiaBernardo Dominic QUALIFIED
Mayumi U CaudySpainAmy Elsner QUALIFIED
Clifford A MacleadRussiaStephen Shaw NEGOTIATION
Mujtaba M IturbideIndiaAsiya Javayant UNQUALIFIED
Francesco V ShinkoUnited KingdomAmy Elsner NEW
Alejandro W AmigonRussiaBernardo Dominic NEW
Deepesh F MorascaUnited KingdomStephen Shaw NEGOTIATION
Antonio B PerinBrazilIvan Magalhaes NEW
Jefferson D GarufiRussiaXuxue Feng NEW
David A RulapaughItalyOnyama Limba UNQUALIFIED
Ricardo X InouyeFranceBernardo Dominic NEW
Salvatore G FigeroaRussiaAsiya Javayant NEGOTIATION
Ashley A WieserRussiaAsiya Javayant NEW
Arvin C GarufiRussiaXuxue Feng NEW
Jones C TollnerRussiaAmy Elsner NEGOTIATION
Leon W GillianUnited KingdomStephen Shaw UNQUALIFIED
Wickens Z RutaArgentinaStephen Shaw NEW
Ivar J PerinItalyAmy Elsner NEGOTIATION
Chavez P BriddickRussiaIvan Magalhaes RENEWAL
Deepesh M IturbideItalyStephen Shaw PROPOSAL
Mujtaba N GlickGermanyIoni Bowcher UNQUALIFIED
Aika Q FlosiJapanAmy Elsner NEW
Izzy C KolmetzCanadaAmy Elsner NEGOTIATION
Sinclair N OstroskyJapanAsiya Javayant PROPOSAL
Ashley P SlusarskiFranceAnna Fali PROPOSAL
Maisha C DoeFranceStephen Shaw NEGOTIATION
Arvin I AmigonFranceOnyama Limba RENEWAL
Frozen Columns
Name
Jennifer O Paprocki
Silvio R Slusarski
Juan X Briddick
Maisha C Caudy
Leon J Briddick
Mayumi G Albares
Johnson J Iturbide
Stacey K Morasca
Misaki E Iturbide
Wickens R Wieser
Sinclair G Tollner
Murillo X Ostrosky
Rodrigues R Figeroa
Leon Z Whobrey
Misaki F Gillian
Smith Q Ruta
Deepesh Q Rim
Aditya P Stenseth
Mayumi Q Malet
James Z Poquette
Jefferson X Garufi
Maria F Nicka
Maria V Kusko
James C Shinko
Leon D Caldarera
Salvatore L Chui
Leja V Ruta
Ashley M Kusko
Leja T Bowley
Aruna F Tollner
Murillo O Stenseth
David X Maclead
Deepesh L Oldroyd
Isabel O Albares
Maria V Ostrosky
Salvatore Z Kolmetz
Aruna A Iturbide
Deepesh N Schemmer
Aika G Waycott
Johnson H Paprocki
Leon I Foller
Johnson P Nestle
Julie T Paprocki
Adams M Sergi
Juan S Schemmer
Johnson D Waycott
David V Garufi
Misaki R Amigon
Isabel T Bowley
Darci T Bowley
IdCountryDate
1000Germany2026-10-03
1001Canada2026-09-20
1002Japan2026-09-22
1003United Kingdom2026-09-28
1004Canada2026-09-23
1005Canada2026-09-20
1006Argentina2026-09-18
1007Germany2026-09-18
1008United Kingdom2026-09-25
1009Spain2026-09-12
1010Brazil2026-09-21
1011Germany2026-09-21
1012Spain2026-09-24
1013France2026-10-08
1014Australia2026-09-28
1015United Kingdom2026-09-13
1016Japan2026-09-27
1017India2026-09-22
1018Argentina2026-10-10
1019Canada2026-10-08
1020Italy2026-09-16
1021Japan2026-09-29
1022Spain2026-09-13
1023India2026-09-27
1024Russia2026-10-09
1025Italy2026-09-27
1026India2026-09-25
1027United Kingdom2026-09-17
1028United Kingdom2026-09-29
1029Brazil2026-10-07
1030Russia2026-09-14
1031United Kingdom2026-09-25
1032France2026-10-06
1033Spain2026-09-17
1034Canada2026-10-08
1035United Kingdom2026-09-20
1036India2026-09-15
1037Italy2026-09-17
1038India2026-09-13
1039Russia2026-10-01
1040Argentina2026-09-25
1041Australia2026-09-28
1042Argentina2026-09-14
1043India2026-09-22
1044Russia2026-09-18
1045Argentina2026-09-21
1046France2026-10-06
1047Argentina2026-10-08
1048India2026-09-21
1049Argentina2026-10-06

On-Demand Data

NameIdCountryDate
Tony T Malet1000Russia2026-10-05
Silvio U Kusko1001Italy2026-10-01
Adams L Flosi1002Russia2026-09-26
Deepesh T Rulapaugh1003Japan2026-09-13
Julie V Gaucho1004Canada2026-09-30
Munro B Venere1005Brazil2026-09-13
Wickens N Caudy1006Italy2026-10-08
Wickens C Briddick1007Australia2026-10-02
Izzy H Marrier1008Spain2026-09-16
Aruna O Ferencz1009United Kingdom2026-09-14
Clifford I Maclead1010Russia2026-09-12
Jennifer O Malet1011India2026-09-19
Aika Z Rim1012Australia2026-09-20
David T Nestle1013United Kingdom2026-09-16
Salvatore L Figeroa1014United Kingdom2026-09-26
Claire S Nicka1015Spain2026-09-19
Clifford S Caudy1016Canada2026-10-02
Kaitlin N Nicka1017Italy2026-09-26
Faith R Rulapaugh1018Russia2026-09-19
Rodrigues C Perin1019Russia2026-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey C BologniaAustraliaAnna Fali RENEWAL
Alejandro B IturbideArgentinaIvan Magalhaes NEGOTIATION
Cody E RimIndiaStephen Shaw NEGOTIATION
Kaitlin R RutaArgentinaBernardo Dominic UNQUALIFIED
Murillo O KuskoItalyElwin Sharvill NEGOTIATION
Isabel S VocelkaCanadaOnyama Limba NEGOTIATION
Jones G IturbideGermanyAsiya Javayant UNQUALIFIED
Leja Y KolmetzGermanyBernardo Dominic UNQUALIFIED
Murillo E CampainAustraliaStephen Shaw QUALIFIED
Ivar D PerinRussiaAsiya Javayant QUALIFIED
Darci Y RoysterItalyIvan Magalhaes QUALIFIED
Isabel Q StensethAustraliaAnna Fali NEGOTIATION
Leja S OstroskyArgentinaAmy Elsner RENEWAL
Morrow I ButtRussiaAmy Elsner RENEWAL
Antonio G VenereUnited KingdomIvan Magalhaes NEGOTIATION
Julie Y GauchoItalyBernardo Dominic NEW
Silvio C FerenczAustraliaAsiya Javayant PROPOSAL
Leon V GillianGermanyElwin Sharvill QUALIFIED
Mujtaba F ButtIndiaAsiya Javayant RENEWAL
Morrow X FigeroaFranceAnna Fali NEGOTIATION
Jeanfrancois Y ShinkoSpainIvan Magalhaes PROPOSAL
Johnson W RulapaughFranceAsiya Javayant QUALIFIED
Francesco K MaletGermanyElwin Sharvill PROPOSAL
Izzy H NickaAustraliaIvan Magalhaes QUALIFIED
Morrow J RutaJapanAsiya Javayant NEW
Francesco L MaletBrazilStephen Shaw NEGOTIATION
Arvin A CaudyItalyStephen Shaw NEGOTIATION
Costa O SchemmerBrazilIvan Magalhaes QUALIFIED
Ricardo H FigeroaArgentinaBernardo Dominic QUALIFIED
Aruna T WhobreyRussiaBernardo Dominic UNQUALIFIED
Izzy T ButtCanadaAmy Elsner NEGOTIATION
Chavez J FerenczRussiaOnyama Limba PROPOSAL
Chavez E ButtBrazilIoni Bowcher RENEWAL
Misaki I StensethJapanAmy Elsner NEGOTIATION
Leja C FerenczCanadaAnna Fali QUALIFIED
Costa G SlusarskiSpainAsiya Javayant QUALIFIED
Darci V SchemmerIndiaXuxue Feng NEGOTIATION
Octavia R TollnerAustraliaBernardo Dominic UNQUALIFIED
Mayumi S BologniaUnited KingdomXuxue Feng PROPOSAL
Maisha F BowleyItalyIvan Magalhaes QUALIFIED

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