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
Johnson W FigeroaJapanBernardo Dominic RENEWAL
Emily A RoysterGermanyElwin Sharvill PROPOSAL
Mayumi N GlickRussiaAnna Fali NEGOTIATION
Jennifer T RoysterGermanyOnyama Limba RENEWAL
Murillo D FerenczGermanyAmy Elsner RENEWAL
Mujtaba C PerinGermanyAmy Elsner NEW
Ivar N VenereArgentinaBernardo Dominic QUALIFIED
Deepesh A SchemmerIndiaStephen Shaw QUALIFIED
Rodrigues P FlosiBrazilAnna Fali RENEWAL
Aditya B BowleyAustraliaXuxue Feng NEW
Kaitlin I RimUnited KingdomXuxue Feng NEW
Mayumi D PerinArgentinaAmy Elsner RENEWAL
Kaitlin D CaudySpainXuxue Feng PROPOSAL
Nicolas K CaudyItalyOnyama Limba UNQUALIFIED
Nicolas E SlusarskiJapanIoni Bowcher NEGOTIATION
Aika K TollnerFranceStephen Shaw UNQUALIFIED
Salvatore H MorascaJapanAnna Fali UNQUALIFIED
Darci F FlosiFranceElwin Sharvill NEW
Jones K ButtArgentinaStephen Shaw RENEWAL
Ricardo I FlosiRussiaIvan Magalhaes RENEWAL
Tony Z ChuiFranceStephen Shaw PROPOSAL
Clifford F FlosiSpainXuxue Feng PROPOSAL
Jones N WaycottArgentinaAmy Elsner PROPOSAL
Kaitlin K ChuiSpainOnyama Limba NEGOTIATION
Jennifer G GarufiArgentinaAsiya Javayant NEW
Maisha J RimArgentinaAnna Fali NEGOTIATION
Jefferson T FerenczItalyElwin Sharvill UNQUALIFIED
Deepesh L SaylorsGermanyAnna Fali QUALIFIED
Juan Z GarufiItalyXuxue Feng NEGOTIATION
Wickens G ChuiArgentinaBernardo Dominic QUALIFIED
Isabel S FigeroaSpainAmy Elsner RENEWAL
Silvio O IturbideGermanyElwin Sharvill PROPOSAL
Kaitlin W StensethRussiaBernardo Dominic PROPOSAL
Ashley L CaudyJapanBernardo Dominic NEW
Mayumi W RimUnited KingdomAmy Elsner RENEWAL
Claire P RulapaughItalyAnna Fali PROPOSAL
Rodrigues G CampainFranceAmy Elsner NEW
Nicolas P FigeroaBrazilAmy Elsner RENEWAL
Arvin U RutaGermanyIvan Magalhaes UNQUALIFIED
Johnson V BowleyJapanAnna Fali PROPOSAL
Leon R WhobreyFranceOnyama Limba NEW
Arvin Y MaletBrazilStephen Shaw QUALIFIED
Alejandro O FlosiFranceBernardo Dominic UNQUALIFIED
Wickens K StockhamGermanyIvan Magalhaes PROPOSAL
Misaki K WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas L KuskoUnited KingdomElwin Sharvill NEGOTIATION
Emily Z GarufiSpainStephen Shaw NEW
Julie G BriddickIndiaAnna Fali RENEWAL
Silvio Y MarrierIndiaIoni Bowcher RENEWAL
Sinclair G AmigonIndiaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo P ChuiAustraliaStephen Shaw NEW
Johnson C RutaAustraliaXuxue Feng PROPOSAL
Leon D BowleyItalyBernardo Dominic PROPOSAL
Izzy I StockhamJapanAnna Fali PROPOSAL
Jefferson L PaprockiItalyAsiya Javayant QUALIFIED
Ricardo H FlosiAustraliaBernardo Dominic NEGOTIATION
Murillo T PoquetteAustraliaBernardo Dominic UNQUALIFIED
Izzy M BriddickUnited KingdomAmy Elsner UNQUALIFIED
Jefferson D MacleadCanadaAmy Elsner QUALIFIED
Ricardo R MarrierBrazilOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika X ShinkoBrazil2026-09-13Commercial Press PROPOSAL3Bernardo Dominic
1001Jeanfrancois J MaletArgentina2026-09-04Morlong Associates UNQUALIFIED35Onyama Limba
1002Murillo D MorascaFrance2026-08-31Chemel, James L Cpa RENEWAL98Amy Elsner
1003Munro K GlickItaly2026-09-08Truhlar And Truhlar Attys RENEWAL56Ioni Bowcher
1004Kaitlin B StensethUnited Kingdom2026-09-21Feiner Bros QUALIFIED47Amy Elsner
1005Kadeem P RulapaughCanada2026-09-07Rangoni Of Florence PROPOSAL8Anna Fali
1006Sinclair J OldroydIndia2026-09-24Rangoni Of Florence PROPOSAL67Bernardo Dominic
1007Izzy I RimArgentina2026-09-09Morlong Associates PROPOSAL60Ioni Bowcher
1008Mayumi A WhobreyJapan2026-09-09Feiner Bros NEGOTIATION89Ivan Magalhaes
1009Costa T CaudyUnited Kingdom2026-09-08Rangoni Of Florence UNQUALIFIED37Asiya Javayant
1010Costa Y BriddickGermany2026-09-18Morlong Associates QUALIFIED60Asiya Javayant
1011Costa K IturbideJapan2026-09-09Feltz Printing Service NEW15Ioni Bowcher
1012Ricardo T BriddickIndia2026-09-09Buckley Miller Wright UNQUALIFIED29Stephen Shaw
1013Aditya W OstroskyGermany2026-08-27Chapman, Ross E Esq NEGOTIATION25Onyama Limba
1014Sinclair G SaylorsArgentina2026-09-19Truhlar And Truhlar Attys NEW10Stephen Shaw
1015Alejandro O SlusarskiArgentina2026-09-10King, Christopher A Esq NEGOTIATION25Onyama Limba
1016Murillo V DarakjyFrance2026-09-14Feiner Bros NEGOTIATION27Ivan Magalhaes
1017Jefferson S MacleadUnited Kingdom2026-08-27Rangoni Of Florence QUALIFIED35Elwin Sharvill
1018Jeanfrancois P SchemmerJapan2026-09-12Chapman, Ross E Esq NEGOTIATION6Amy Elsner
1019Rodrigues E FerenczCanada2026-09-04King, Christopher A Esq UNQUALIFIED54Bernardo Dominic
1020Juan Z DarakjyGermany2026-08-27Morlong Associates RENEWAL53Amy Elsner
1021Smith J KuskoFrance2026-09-03Truhlar And Truhlar Attys NEGOTIATION64Xuxue Feng
1022Smith U ChuiAustralia2026-09-04Morlong Associates NEGOTIATION39Anna Fali
1023Jeanfrancois Y AlbaresSpain2026-08-28Chemel, James L Cpa NEGOTIATION75Amy Elsner
1024Ashley M BowleyUnited Kingdom2026-09-23Chemel, James L Cpa NEGOTIATION24Amy Elsner
1025Aditya K DarakjyFrance2026-09-13Truhlar And Truhlar Attys RENEWAL51Anna Fali
1026Faith W InouyeFrance2026-09-04King, Christopher A Esq QUALIFIED43Asiya Javayant
1027Silvio E MaletJapan2026-09-17Morlong Associates UNQUALIFIED77Xuxue Feng
1028Clifford K FigeroaIndia2026-09-22Chemel, James L Cpa UNQUALIFIED55Elwin Sharvill
1029Aditya W ChuiJapan2026-09-01Benton, John B Jr UNQUALIFIED43Ivan Magalhaes
1030Jeanfrancois R StockhamItaly2026-09-06Truhlar And Truhlar Attys PROPOSAL69Ivan Magalhaes
1031Kadeem Y RimIndia2026-09-01Truhlar And Truhlar Attys PROPOSAL63Elwin Sharvill
1032Jones U BowleyAustralia2026-09-14Feltz Printing Service QUALIFIED76Asiya Javayant
1033Morrow L FollerJapan2026-09-23Chapman, Ross E Esq NEGOTIATION63Elwin Sharvill
1034Claire T KolmetzAustralia2026-09-24Rousseaux, Michael Esq QUALIFIED74Xuxue Feng
1035Misaki Q WieserAustralia2026-09-21Truhlar And Truhlar Attys NEW22Asiya Javayant
1036Alejandro Z BowleyRussia2026-08-30Benton, John B Jr QUALIFIED17Ivan Magalhaes
1037Jeanfrancois Q GillianItaly2026-09-17Rousseaux, Michael Esq NEGOTIATION97Amy Elsner
1038Ricardo K CaldareraUnited Kingdom2026-09-16Feiner Bros QUALIFIED45Stephen Shaw
1039Francesco U KolmetzBrazil2026-08-31Rousseaux, Michael Esq UNQUALIFIED82Xuxue Feng
1040Cody F FollerAustralia2026-09-15Chanay, Jeffrey A Esq UNQUALIFIED3Ivan Magalhaes
1041Clifford G KuskoIndia2026-09-05Chapman, Ross E Esq NEGOTIATION75Anna Fali
1042Murillo A OldroydAustralia2026-09-07King, Christopher A Esq QUALIFIED77Amy Elsner
1043Rodrigues P RimItaly2026-08-29Commercial Press PROPOSAL69Ivan Magalhaes
1044Greenwood Z SchemmerJapan2026-09-04Printing Dimensions NEGOTIATION46Stephen Shaw
1045Ivar G PaprockiItaly2026-09-13Morlong Associates RENEWAL67Ivan Magalhaes
1046Leon T TollnerAustralia2026-09-22Rousseaux, Michael Esq NEW70Ivan Magalhaes
1047Kadeem Y MorascaBrazil2026-09-21Feiner Bros PROPOSAL68Anna Fali
1048Alejandro P FlosiAustralia2026-09-18Benton, John B Jr QUALIFIED78Amy Elsner
1049Wickens Y GauchoJapan2026-09-23Morlong Associates NEGOTIATION27Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Juan W OldroydFranceAsiya Javayant PROPOSAL
Munro C WaycottUnited KingdomBernardo Dominic QUALIFIED
Salvatore G WaycottJapanElwin Sharvill QUALIFIED
Smith R KuskoBrazilXuxue Feng QUALIFIED
Johnson L WieserBrazilXuxue Feng RENEWAL
Julie U BowleyCanadaStephen Shaw NEGOTIATION
Jennifer Y RutaIndiaXuxue Feng NEGOTIATION
Ashley Q BologniaRussiaIoni Bowcher NEW
Julie C SchemmerArgentinaIvan Magalhaes NEGOTIATION
James G AlbaresSpainAmy Elsner QUALIFIED
Rodrigues Z DilliardCanadaBernardo Dominic UNQUALIFIED
Aditya D NestleRussiaElwin Sharvill NEW
Arvin E FigeroaAustraliaAsiya Javayant UNQUALIFIED
David U NickaIndiaAnna Fali PROPOSAL
Smith B GauchoSpainAsiya Javayant RENEWAL
Julie K PerinJapanStephen Shaw QUALIFIED
Aruna X DilliardBrazilOnyama Limba RENEWAL
Morrow A WaycottFranceIvan Magalhaes NEGOTIATION
Arvin R PoquetteItalyOnyama Limba PROPOSAL
Aika H MarrierUnited KingdomIoni Bowcher NEW
Maisha N SchemmerItalyElwin Sharvill NEW
Kadeem E NickaIndiaAmy Elsner RENEWAL
Arvin Z SergiItalyElwin Sharvill RENEWAL
Smith T OldroydFranceAnna Fali PROPOSAL
Maisha J PaprockiBrazilIoni Bowcher PROPOSAL
Ricardo Z FollerRussiaBernardo Dominic RENEWAL
Emily L NickaGermanyXuxue Feng RENEWAL
Maisha C FollerJapanIvan Magalhaes RENEWAL
Kaitlin N WhobreyGermanyStephen Shaw PROPOSAL
Alejandro Q SaylorsFranceBernardo Dominic NEGOTIATION
Ashley U CampainAustraliaXuxue Feng PROPOSAL
Ivar M StockhamGermanyAmy Elsner RENEWAL
Francesco C IturbideItalyAmy Elsner QUALIFIED
Maria L ShinkoRussiaBernardo Dominic QUALIFIED
Jefferson Q DilliardJapanBernardo Dominic PROPOSAL
Deepesh K GillianGermanyXuxue Feng PROPOSAL
Darci A RimFranceOnyama Limba NEW
Deepesh J DoeGermanyIoni Bowcher NEGOTIATION
Silvio A MorascaIndiaOnyama Limba NEGOTIATION
Kaitlin Z IturbideArgentinaStephen Shaw NEGOTIATION
Wickens A MaletUnited KingdomIvan Magalhaes RENEWAL
Kadeem Y WhobreyArgentinaXuxue Feng QUALIFIED
Deepesh Q BowleyFranceIvan Magalhaes NEW
James E FollerJapanAmy Elsner PROPOSAL
Murillo P FerenczIndiaXuxue Feng QUALIFIED
Adams E SchemmerFranceStephen Shaw RENEWAL
Salvatore K MaletIndiaBernardo Dominic NEW
Aika T RimArgentinaStephen Shaw RENEWAL
Greenwood I VocelkaCanadaElwin Sharvill PROPOSAL
Jones H KuskoSpainAnna Fali PROPOSAL
Frozen Columns
Name
Misaki Q Foller
Ashley R Briddick
David E Ruta
Leja J Ruta
Francesco L Venere
Izzy M Darakjy
Maisha Q Poquette
Murillo L Albares
Munro D Stenseth
Leon R Bolognia
Morrow L Caldarera
Leja M Ruta
Aditya Y Foller
David U Flosi
Smith W Vocelka
Clifford P Bowley
Adams K Garufi
Arvin O Briddick
Salvatore Z Bolognia
Sinclair X Iturbide
Isabel U Caudy
Ashley Z Iturbide
Aditya K Bowley
Costa X Royster
Silvio M Oldroyd
Ivar Y Dilliard
Clifford Z Gaucho
Jennifer Q Garufi
Deepesh J Doe
Jones G Maclead
Leon A Briddick
Leon K Nicka
Aika V Nestle
Aruna W Shinko
Faith H Ferencz
Juan F Campain
Nicolas F Dilliard
Aruna D Whobrey
Aruna F Doe
Darci P Shinko
Maria N Iturbide
Smith W Caldarera
Salvatore J Nicka
Ashley L Briddick
Aruna F Dilliard
Deepesh N Foller
Faith X Caudy
Alejandro Y Gillian
Aruna I Ferencz
Costa Z Saylors
IdCountryDate
1000Japan2026-09-10
1001Australia2026-09-11
1002France2026-09-02
1003Brazil2026-09-23
1004Italy2026-09-17
1005Brazil2026-09-07
1006France2026-09-09
1007Russia2026-09-15
1008India2026-09-19
1009Japan2026-09-09
1010Canada2026-09-04
1011Japan2026-09-19
1012Italy2026-09-21
1013Canada2026-09-21
1014Russia2026-09-01
1015Italy2026-08-31
1016Russia2026-09-07
1017Argentina2026-09-03
1018United Kingdom2026-08-31
1019Japan2026-09-09
1020Spain2026-09-21
1021Italy2026-09-19
1022Brazil2026-09-04
1023Spain2026-09-10
1024Argentina2026-09-14
1025Australia2026-08-28
1026United Kingdom2026-08-28
1027Italy2026-09-16
1028Spain2026-09-04
1029Spain2026-09-14
1030Germany2026-09-23
1031Argentina2026-09-01
1032Australia2026-09-08
1033Italy2026-09-14
1034Italy2026-09-04
1035France2026-09-14
1036Germany2026-09-22
1037Italy2026-09-13
1038Russia2026-09-12
1039France2026-09-13
1040Italy2026-09-07
1041France2026-09-25
1042Brazil2026-08-29
1043Italy2026-09-03
1044Argentina2026-09-01
1045India2026-09-03
1046Italy2026-09-08
1047United Kingdom2026-08-27
1048Spain2026-09-15
1049Canada2026-09-21

On-Demand Data

NameIdCountryDate
Ivar H Garufi1000Spain2026-09-09
James E Rulapaugh1001Brazil2026-09-23
Jefferson M Wieser1002Japan2026-09-04
Emily M Briddick1003France2026-09-01
Ricardo V Flosi1004Spain2026-09-18
Aditya Z Ferencz1005Canada2026-09-13
Tony B Nicka1006Italy2026-09-05
David Z Vocelka1007Argentina2026-09-02
Arvin L Bowley1008Australia2026-09-09
Jeanfrancois Z Marrier1009Germany2026-08-28
Mujtaba V Iturbide1010Canada2026-09-18
Greenwood W Shinko1011Argentina2026-09-02
David Y Morasca1012Spain2026-09-25
Morrow N Dilliard1013United Kingdom2026-09-23
Sinclair Y Caudy1014Italy2026-09-22
Jefferson T Ostrosky1015Germany2026-09-16
Emily O Rim1016India2026-09-12
Alejandro K Iturbide1017United Kingdom2026-09-10
Francesco S Inouye1018Spain2026-08-29
Arvin J Slusarski1019France2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire G MarrierRussiaIoni Bowcher QUALIFIED
Mayumi U VenereJapanElwin Sharvill NEW
Clifford O TollnerJapanStephen Shaw PROPOSAL
Leja O FigeroaCanadaBernardo Dominic UNQUALIFIED
Salvatore M FerenczGermanyIvan Magalhaes PROPOSAL
Maria F NickaIndiaXuxue Feng UNQUALIFIED
Isabel O BriddickSpainAnna Fali QUALIFIED
Jeanfrancois A AlbaresIndiaIvan Magalhaes UNQUALIFIED
Salvatore B AlbaresUnited KingdomAmy Elsner RENEWAL
Wickens X MaletGermanyStephen Shaw RENEWAL
Leja G FollerSpainAmy Elsner NEGOTIATION
Stacey X WaycottSpainElwin Sharvill RENEWAL
Smith Q CaldareraIndiaIvan Magalhaes UNQUALIFIED
Maisha T FlosiJapanIoni Bowcher RENEWAL
Leja O NickaFranceAsiya Javayant PROPOSAL
Mayumi T PoquetteRussiaAmy Elsner UNQUALIFIED
Tony V BriddickUnited KingdomBernardo Dominic NEGOTIATION
Ivar X PaprockiJapanOnyama Limba UNQUALIFIED
Aika S BowleyGermanyAnna Fali UNQUALIFIED
Octavia L GillianArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois H DarakjyUnited KingdomIoni Bowcher NEW
Isabel X SaylorsBrazilAmy Elsner NEW
Aika X RulapaughJapanAnna Fali PROPOSAL
Munro B DarakjyJapanIoni Bowcher PROPOSAL
Julie O CaldareraRussiaOnyama Limba QUALIFIED
Isabel R CaudyCanadaIoni Bowcher NEW
Maria I InouyeRussiaAmy Elsner UNQUALIFIED
Mayumi J ShinkoCanadaStephen Shaw UNQUALIFIED
Tony F DoeSpainStephen Shaw NEGOTIATION
Cody V SchemmerCanadaElwin Sharvill UNQUALIFIED
Julie A InouyeAustraliaAmy Elsner NEGOTIATION
Cody E GillianArgentinaXuxue Feng RENEWAL
Aruna D ButtGermanyStephen Shaw RENEWAL
Kadeem U CaldareraUnited KingdomAnna Fali UNQUALIFIED
Costa F SaylorsUnited KingdomElwin Sharvill RENEWAL
Mujtaba S VocelkaItalyAnna Fali QUALIFIED
David K MaletUnited KingdomElwin Sharvill RENEWAL
Jones C WieserItalyXuxue Feng PROPOSAL
Rodrigues L GauchoRussiaAsiya Javayant NEW
Cody O StockhamArgentinaAnna Fali 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>