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
James I FlosiGermanyOnyama Limba PROPOSAL
Chavez B SaylorsCanadaAsiya Javayant PROPOSAL
Maria O StensethRussiaBernardo Dominic NEGOTIATION
Jennifer J PoquetteCanadaAnna Fali NEGOTIATION
Faith F PoquetteItalyIvan Magalhaes UNQUALIFIED
Leja G RutaCanadaIoni Bowcher PROPOSAL
Greenwood R BowleyUnited KingdomAnna Fali PROPOSAL
Sinclair O SlusarskiItalyAnna Fali QUALIFIED
Antonio R GarufiCanadaIvan Magalhaes NEGOTIATION
Misaki Q SlusarskiItalyOnyama Limba PROPOSAL
Isabel J DoeItalyOnyama Limba PROPOSAL
Isabel K FigeroaJapanStephen Shaw NEGOTIATION
Sinclair H CaldareraSpainOnyama Limba NEGOTIATION
Salvatore X BowleySpainBernardo Dominic NEW
Arvin T FlosiItalyStephen Shaw UNQUALIFIED
Clifford L RulapaughItalyBernardo Dominic UNQUALIFIED
Julie A WhobreyJapanAsiya Javayant RENEWAL
Faith M GlickIndiaBernardo Dominic NEGOTIATION
Silvio X OstroskyCanadaAsiya Javayant NEW
Morrow B VenereUnited KingdomOnyama Limba NEW
Jeanfrancois D BologniaIndiaIvan Magalhaes NEGOTIATION
Aika G OstroskyCanadaIoni Bowcher UNQUALIFIED
Johnson N FlosiArgentinaStephen Shaw RENEWAL
Mujtaba A FigeroaIndiaBernardo Dominic RENEWAL
Silvio G WhobreyIndiaBernardo Dominic NEW
Ivar W SchemmerSpainXuxue Feng QUALIFIED
Rodrigues Y BowleyUnited KingdomElwin Sharvill NEW
Arvin P GillianBrazilElwin Sharvill NEGOTIATION
Kaitlin X VenereItalyBernardo Dominic RENEWAL
Claire Q MorascaFranceAnna Fali NEW
Faith N FigeroaAustraliaAmy Elsner UNQUALIFIED
Deepesh Z MaletGermanyStephen Shaw UNQUALIFIED
Smith Z DarakjyAustraliaXuxue Feng UNQUALIFIED
Johnson E MaletBrazilIoni Bowcher RENEWAL
Salvatore L IturbideSpainIoni Bowcher UNQUALIFIED
Ivar M BowleyRussiaAmy Elsner NEW
Jefferson D KolmetzJapanXuxue Feng QUALIFIED
Salvatore T RoysterJapanIoni Bowcher NEGOTIATION
Silvio W NickaIndiaIvan Magalhaes UNQUALIFIED
Aditya D MacleadCanadaStephen Shaw PROPOSAL
Wickens N ButtGermanyIoni Bowcher PROPOSAL
Emily B CaldareraItalyAmy Elsner NEGOTIATION
Leja I MarrierCanadaIvan Magalhaes RENEWAL
Salvatore M FerenczUnited KingdomIoni Bowcher NEW
Ashley E PaprockiRussiaIoni Bowcher NEW
Mujtaba O PerinAustraliaAmy Elsner NEW
Claire M NickaRussiaXuxue Feng RENEWAL
Jeanfrancois X CampainBrazilAmy Elsner PROPOSAL
Murillo W IturbideArgentinaAmy Elsner QUALIFIED
Darci B StensethBrazilAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Sinclair G CaudyUnited KingdomXuxue Feng RENEWAL
Murillo J PaprockiSpainAmy Elsner PROPOSAL
Silvio B WhobreyIndiaXuxue Feng NEW
Aditya Z VenereItalyIvan Magalhaes UNQUALIFIED
Darci R WhobreyGermanyElwin Sharvill NEGOTIATION
Izzy P MacleadFranceIoni Bowcher RENEWAL
Sinclair U TollnerAustraliaAnna Fali UNQUALIFIED
Cody Y RimJapanAnna Fali NEW
Darci B OldroydIndiaIoni Bowcher PROPOSAL
Sinclair B DoeGermanyIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow O NickaGermany2026-09-18King, Christopher A Esq QUALIFIED28Xuxue Feng
1001Tony X BologniaGermany2026-09-05Rangoni Of Florence RENEWAL33Anna Fali
1002Jones Z CampainItaly2026-08-26Buckley Miller Wright UNQUALIFIED77Ivan Magalhaes
1003Wickens S ButtSpain2026-09-03Benton, John B Jr QUALIFIED86Ioni Bowcher
1004Mujtaba Y BologniaArgentina2026-09-12Printing Dimensions UNQUALIFIED19Ioni Bowcher
1005Mujtaba J VocelkaGermany2026-09-19Rousseaux, Michael Esq PROPOSAL79Elwin Sharvill
1006Salvatore Y MaletArgentina2026-08-27Feltz Printing Service PROPOSAL64Bernardo Dominic
1007Isabel X PoquetteBrazil2026-09-15Chanay, Jeffrey A Esq NEW51Stephen Shaw
1008Aditya F MaletUnited Kingdom2026-08-30Rousseaux, Michael Esq RENEWAL85Onyama Limba
1009Leja Y MaletCanada2026-09-03Benton, John B Jr NEGOTIATION13Anna Fali
1010Leja D FigeroaArgentina2026-09-10Rousseaux, Michael Esq NEGOTIATION78Ioni Bowcher
1011Johnson W RulapaughRussia2026-09-15Morlong Associates PROPOSAL14Ivan Magalhaes
1012Emily U VenereGermany2026-09-04Printing Dimensions RENEWAL1Xuxue Feng
1013Leon J IturbideUnited Kingdom2026-09-04Benton, John B Jr QUALIFIED42Xuxue Feng
1014Chavez L MorascaArgentina2026-09-08Chapman, Ross E Esq QUALIFIED37Ivan Magalhaes
1015Sinclair E ButtRussia2026-09-19King, Christopher A Esq RENEWAL73Ioni Bowcher
1016Claire A VenereJapan2026-09-09Benton, John B Jr PROPOSAL78Onyama Limba
1017Costa C AmigonIndia2026-08-26Commercial Press RENEWAL97Onyama Limba
1018Jones S WhobreyIndia2026-09-24Rousseaux, Michael Esq UNQUALIFIED76Xuxue Feng
1019Aditya J PerinAustralia2026-09-03Morlong Associates NEGOTIATION12Xuxue Feng
1020Darci X MarrierAustralia2026-08-30Benton, John B Jr NEGOTIATION53Bernardo Dominic
1021Jefferson M GlickJapan2026-09-22Rousseaux, Michael Esq QUALIFIED96Elwin Sharvill
1022Silvio X BologniaArgentina2026-08-28Benton, John B Jr RENEWAL35Xuxue Feng
1023Morrow W GauchoUnited Kingdom2026-09-05Rangoni Of Florence UNQUALIFIED84Asiya Javayant
1024Ricardo H OldroydSpain2026-08-30Chapman, Ross E Esq NEGOTIATION91Bernardo Dominic
1025Smith C FerenczSpain2026-09-12Chapman, Ross E Esq UNQUALIFIED32Onyama Limba
1026Clifford K InouyeCanada2026-09-24Rangoni Of Florence UNQUALIFIED90Stephen Shaw
1027Deepesh N VenereJapan2026-08-30Benton, John B Jr RENEWAL53Stephen Shaw
1028Kadeem F FerenczGermany2026-08-27Chemel, James L Cpa NEW60Asiya Javayant
1029Jefferson D WaycottRussia2026-09-05Commercial Press RENEWAL41Amy Elsner
1030Ivar K StensethRussia2026-08-30Buckley Miller Wright RENEWAL28Xuxue Feng
1031Murillo T VocelkaUnited Kingdom2026-09-20Rousseaux, Michael Esq UNQUALIFIED69Onyama Limba
1032Francesco D WaycottGermany2026-09-18Commercial Press RENEWAL46Bernardo Dominic
1033Mujtaba Z CaudyAustralia2026-09-20King, Christopher A Esq NEW83Bernardo Dominic
1034Adams A StensethItaly2026-09-22Commercial Press PROPOSAL73Amy Elsner
1035Faith G OldroydAustralia2026-08-30Feiner Bros QUALIFIED86Elwin Sharvill
1036Emily G MorascaJapan2026-09-19Benton, John B Jr QUALIFIED68Onyama Limba
1037Emily I ButtJapan2026-09-09Feiner Bros UNQUALIFIED71Amy Elsner
1038James C SchemmerUnited Kingdom2026-09-08Chemel, James L Cpa UNQUALIFIED78Stephen Shaw
1039Claire E ShinkoUnited Kingdom2026-09-02Chanay, Jeffrey A Esq QUALIFIED76Ivan Magalhaes
1040Munro P MacleadUnited Kingdom2026-08-29Benton, John B Jr QUALIFIED46Ioni Bowcher
1041Cody B SergiArgentina2026-09-22Chapman, Ross E Esq NEGOTIATION36Elwin Sharvill
1042Tony W MacleadCanada2026-09-06Benton, John B Jr PROPOSAL86Anna Fali
1043Smith O CaudyUnited Kingdom2026-08-27Chemel, James L Cpa UNQUALIFIED11Ioni Bowcher
1044Ashley Q MorascaItaly2026-09-04King, Christopher A Esq RENEWAL43Bernardo Dominic
1045Maisha X FlosiAustralia2026-09-11Commercial Press RENEWAL91Bernardo Dominic
1046Claire L RimCanada2026-08-27Truhlar And Truhlar Attys NEW82Anna Fali
1047Mayumi A NickaJapan2026-09-16Truhlar And Truhlar Attys UNQUALIFIED55Amy Elsner
1048Claire V NickaFrance2026-09-02Dorl, James J Esq PROPOSAL13Ioni Bowcher
1049Faith K OstroskyGermany2026-09-19Chapman, Ross E Esq UNQUALIFIED64Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Darci M DoeIndiaAsiya Javayant PROPOSAL
Claire T PoquetteGermanyAnna Fali NEGOTIATION
Darci D MaletIndiaElwin Sharvill UNQUALIFIED
Kadeem J ShinkoRussiaAnna Fali RENEWAL
Cody Q StockhamUnited KingdomXuxue Feng NEW
Misaki B NestleCanadaStephen Shaw NEW
Izzy I MacleadRussiaXuxue Feng UNQUALIFIED
Octavia L WhobreyCanadaXuxue Feng NEGOTIATION
Isabel D GlickFranceAmy Elsner PROPOSAL
Isabel B GarufiJapanAnna Fali QUALIFIED
Juan C FlosiArgentinaStephen Shaw NEW
Alejandro I GillianAustraliaOnyama Limba UNQUALIFIED
Julie W WaycottSpainIoni Bowcher UNQUALIFIED
Ashley P MorascaArgentinaElwin Sharvill QUALIFIED
Ivar I OstroskyUnited KingdomAnna Fali UNQUALIFIED
Tony A CaudyAustraliaAsiya Javayant PROPOSAL
Maisha E MorascaBrazilAmy Elsner NEGOTIATION
Claire S InouyeAustraliaAnna Fali NEGOTIATION
Salvatore N ChuiJapanOnyama Limba RENEWAL
Stacey R SlusarskiSpainBernardo Dominic RENEWAL
Aditya T FerenczIndiaAmy Elsner PROPOSAL
Smith B ChuiJapanOnyama Limba QUALIFIED
Tony L SaylorsIndiaAmy Elsner QUALIFIED
Antonio R OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Tony L DarakjyBrazilElwin Sharvill UNQUALIFIED
Morrow B OldroydSpainXuxue Feng RENEWAL
Sinclair N SchemmerUnited KingdomAmy Elsner RENEWAL
Emily R GauchoArgentinaStephen Shaw UNQUALIFIED
Silvio I WhobreySpainAmy Elsner QUALIFIED
Wickens Z MacleadBrazilBernardo Dominic QUALIFIED
Jennifer Q BriddickItalyAmy Elsner PROPOSAL
Silvio R OldroydJapanAnna Fali NEGOTIATION
Ricardo Z DilliardArgentinaElwin Sharvill PROPOSAL
Mayumi Q VenereUnited KingdomAnna Fali UNQUALIFIED
Faith A ButtItalyIoni Bowcher NEGOTIATION
David E PerinBrazilXuxue Feng QUALIFIED
Izzy E GillianRussiaAmy Elsner NEW
Claire O OstroskyJapanOnyama Limba UNQUALIFIED
Jennifer L BologniaUnited KingdomXuxue Feng RENEWAL
Ashley A ShinkoFranceBernardo Dominic RENEWAL
Stacey F CampainArgentinaIoni Bowcher NEGOTIATION
Jeanfrancois M WieserJapanElwin Sharvill QUALIFIED
Julie I FerenczJapanAsiya Javayant NEGOTIATION
Cody W BriddickIndiaStephen Shaw NEW
Deepesh V GauchoSpainElwin Sharvill PROPOSAL
Chavez M OldroydUnited KingdomAsiya Javayant NEW
Adams J MarrierFranceIvan Magalhaes NEW
Wickens Y ShinkoItalyElwin Sharvill RENEWAL
Ricardo K WhobreyUnited KingdomBernardo Dominic QUALIFIED
Jefferson B MorascaUnited KingdomStephen Shaw QUALIFIED
Frozen Columns
Name
Jennifer J Gaucho
Jeanfrancois E Garufi
Murillo F Ruta
Aditya T Wieser
Jones S Flosi
Antonio L Maclead
Octavia L Caldarera
Leon B Flosi
Silvio B Bolognia
Maisha G Ruta
Antonio H Kolmetz
Aruna D Iturbide
Octavia Y Oldroyd
Aruna C Inouye
Adams E Nestle
David I Whobrey
David H Rim
Ivar N Oldroyd
Darci T Waycott
Emily O Inouye
Silvio E Gaucho
Faith T Perin
Deepesh U Ostrosky
Silvio Q Paprocki
Faith Y Darakjy
Aika E Royster
Aditya S Albares
Alejandro O Butt
James Q Malet
Emily W Albares
Ivar D Iturbide
Izzy M Kolmetz
Ashley N Rim
Clifford F Perin
Salvatore Y Doe
Emily K Glick
Ricardo Z Malet
Claire O Chui
Deepesh Q Saylors
Izzy O Rulapaugh
Clifford Q Nestle
Chavez W Poquette
Munro F Kolmetz
Silvio I Nicka
Leon I Iturbide
Jones H Perin
Ivar Y Doe
Mujtaba K Morasca
Johnson S Foller
Salvatore E Slusarski
IdCountryDate
1000Spain2026-09-08
1001Australia2026-09-15
1002Argentina2026-09-01
1003India2026-09-19
1004Australia2026-08-31
1005Brazil2026-08-27
1006Russia2026-09-05
1007United Kingdom2026-09-23
1008Italy2026-09-18
1009India2026-09-08
1010Argentina2026-08-27
1011India2026-08-31
1012United Kingdom2026-08-30
1013Brazil2026-08-28
1014Canada2026-09-04
1015France2026-09-02
1016Canada2026-09-17
1017France2026-09-23
1018Australia2026-08-27
1019Australia2026-08-29
1020Italy2026-09-20
1021Russia2026-08-28
1022France2026-09-16
1023Canada2026-09-14
1024Japan2026-09-02
1025India2026-09-05
1026Japan2026-09-09
1027Brazil2026-09-16
1028Italy2026-09-02
1029Italy2026-09-21
1030Brazil2026-09-12
1031United Kingdom2026-09-02
1032United Kingdom2026-08-27
1033Australia2026-09-17
1034United Kingdom2026-09-13
1035India2026-09-16
1036Canada2026-09-14
1037Argentina2026-09-06
1038Japan2026-09-03
1039Germany2026-09-18
1040Canada2026-09-16
1041United Kingdom2026-09-12
1042Japan2026-09-12
1043India2026-09-05
1044India2026-09-03
1045Germany2026-09-21
1046Canada2026-09-18
1047France2026-09-19
1048India2026-09-10
1049Germany2026-09-03

On-Demand Data

NameIdCountryDate
Johnson G Saylors1000Italy2026-08-28
Nicolas X Butt1001Argentina2026-09-06
Rodrigues W Darakjy1002Brazil2026-09-17
Faith P Nicka1003Japan2026-08-27
Jones G Gillian1004Germany2026-09-11
Aditya W Whobrey1005Canada2026-09-21
Maria G Stockham1006France2026-09-11
Costa C Waycott1007Canada2026-08-31
Nicolas U Bolognia1008Australia2026-09-17
Rodrigues R Inouye1009Australia2026-09-11
Leon D Dilliard1010Russia2026-09-05
Mujtaba X Caudy1011Brazil2026-09-07
Misaki W Bolognia1012Brazil2026-09-14
Antonio M Flosi1013Australia2026-08-31
Tony W Tollner1014Australia2026-09-16
Wickens R Schemmer1015United Kingdom2026-09-16
Misaki P Flosi1016Australia2026-09-10
Claire C Flosi1017Australia2026-09-13
Greenwood E Rim1018Japan2026-09-03
Clifford M Amigon1019Australia2026-09-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood X BologniaIndiaIvan Magalhaes PROPOSAL
Ricardo Y MarrierAustraliaXuxue Feng RENEWAL
Octavia F CaudyUnited KingdomBernardo Dominic NEW
Tony G CampainBrazilStephen Shaw QUALIFIED
Tony C SlusarskiItalyIoni Bowcher NEW
Jones L RulapaughRussiaElwin Sharvill NEW
Silvio E KolmetzBrazilAmy Elsner RENEWAL
Mujtaba E OldroydAustraliaBernardo Dominic PROPOSAL
Stacey U MacleadAustraliaXuxue Feng UNQUALIFIED
Jefferson W GarufiArgentinaBernardo Dominic NEW
Morrow O StensethRussiaIvan Magalhaes NEGOTIATION
Wickens J NickaAustraliaAmy Elsner UNQUALIFIED
Chavez N CaudyGermanyStephen Shaw NEW
Julie L CaldareraAustraliaBernardo Dominic RENEWAL
Ivar U ButtIndiaXuxue Feng RENEWAL
Adams P AlbaresArgentinaIoni Bowcher NEGOTIATION
Ricardo L InouyeSpainAsiya Javayant UNQUALIFIED
James B FigeroaFranceIvan Magalhaes PROPOSAL
Murillo N FigeroaBrazilBernardo Dominic PROPOSAL
Clifford Q GillianArgentinaIvan Magalhaes NEW
Deepesh A SergiArgentinaOnyama Limba QUALIFIED
Sinclair D RimRussiaBernardo Dominic PROPOSAL
Cody Q KolmetzCanadaAnna Fali QUALIFIED
Jeanfrancois Y MorascaSpainElwin Sharvill RENEWAL
Alejandro E WhobreyJapanOnyama Limba UNQUALIFIED
Wickens Z SchemmerAustraliaAsiya Javayant QUALIFIED
Arvin A KuskoBrazilAnna Fali NEGOTIATION
Mayumi R WaycottGermanyElwin Sharvill NEW
Mayumi B WaycottItalyIoni Bowcher PROPOSAL
Greenwood K NickaSpainOnyama Limba PROPOSAL
Misaki B GlickRussiaIvan Magalhaes NEGOTIATION
Maisha O IturbideRussiaAsiya Javayant UNQUALIFIED
Kadeem Q CaudyJapanElwin Sharvill NEW
Smith E WieserCanadaAmy Elsner NEW
Izzy M AmigonGermanyOnyama Limba NEGOTIATION
Alejandro L RimBrazilAnna Fali UNQUALIFIED
Jefferson B ButtCanadaXuxue Feng NEW
Francesco C PaprockiUnited KingdomAnna Fali UNQUALIFIED
Rodrigues C GarufiJapanXuxue Feng PROPOSAL
Adams B RoysterRussiaOnyama Limba RENEWAL

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