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
Nicolas H StensethIndiaXuxue Feng NEW
Aika Q WaycottFranceElwin Sharvill UNQUALIFIED
Leja D RoysterCanadaIoni Bowcher NEW
Maria O FollerJapanBernardo Dominic PROPOSAL
James A BologniaFranceBernardo Dominic UNQUALIFIED
Juan G SaylorsCanadaStephen Shaw PROPOSAL
Ricardo Y GillianGermanyIoni Bowcher NEGOTIATION
Misaki O AlbaresSpainBernardo Dominic UNQUALIFIED
Silvio V VenereFranceAsiya Javayant NEGOTIATION
Chavez Q BologniaRussiaIvan Magalhaes NEW
Julie C PaprockiSpainElwin Sharvill PROPOSAL
Mayumi I SaylorsGermanyBernardo Dominic PROPOSAL
Mujtaba D VocelkaJapanElwin Sharvill NEW
Nicolas N PaprockiSpainOnyama Limba NEGOTIATION
Faith F ButtJapanAmy Elsner NEGOTIATION
Mujtaba V WaycottItalyOnyama Limba NEGOTIATION
Stacey H SlusarskiJapanElwin Sharvill PROPOSAL
Aika S VocelkaAustraliaIvan Magalhaes NEW
Leja Y SlusarskiIndiaStephen Shaw QUALIFIED
Octavia U SergiJapanBernardo Dominic QUALIFIED
Isabel J OstroskyJapanBernardo Dominic RENEWAL
Kadeem R MaletRussiaBernardo Dominic PROPOSAL
Tony U RulapaughGermanyStephen Shaw QUALIFIED
Aika U NickaRussiaAsiya Javayant PROPOSAL
Munro I MaletUnited KingdomElwin Sharvill NEW
Leja B AlbaresIndiaAmy Elsner UNQUALIFIED
Arvin L WieserRussiaAnna Fali NEW
Emily M MaletGermanyIvan Magalhaes QUALIFIED
Adams R SaylorsAustraliaIoni Bowcher PROPOSAL
Aditya G FerenczAustraliaStephen Shaw QUALIFIED
Arvin M FlosiUnited KingdomIoni Bowcher NEW
Juan N RutaIndiaStephen Shaw RENEWAL
Costa Z StockhamArgentinaIvan Magalhaes UNQUALIFIED
Aika T StockhamJapanAsiya Javayant UNQUALIFIED
Antonio Z SaylorsSpainOnyama Limba UNQUALIFIED
Deepesh A CaldareraUnited KingdomAnna Fali QUALIFIED
Stacey G CaudyBrazilAmy Elsner PROPOSAL
Ricardo C MacleadAustraliaOnyama Limba NEGOTIATION
Ivar K NickaArgentinaAnna Fali NEW
Silvio C ChuiArgentinaAsiya Javayant RENEWAL
Juan R VocelkaArgentinaIoni Bowcher NEW
Munro J WhobreyBrazilAnna Fali NEGOTIATION
Maria F CaudyRussiaElwin Sharvill QUALIFIED
Silvio Q DoeFranceAmy Elsner PROPOSAL
Aruna O NestleItalyAmy Elsner PROPOSAL
David U WaycottGermanyIoni Bowcher NEW
Silvio E VenereUnited KingdomIvan Magalhaes QUALIFIED
Chavez J MaletJapanAsiya Javayant UNQUALIFIED
Jeanfrancois I StockhamIndiaAmy Elsner NEW
Wickens Y WhobreyAustraliaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna M OstroskyCanadaIvan Magalhaes NEW
Claire K StensethAustraliaXuxue Feng NEW
Costa N MorascaSpainIvan Magalhaes NEW
Claire O RutaJapanBernardo Dominic QUALIFIED
Kadeem W KuskoRussiaIvan Magalhaes NEGOTIATION
Arvin B RutaAustraliaAmy Elsner UNQUALIFIED
David Q CampainUnited KingdomAmy Elsner NEGOTIATION
Tony Y SchemmerFranceBernardo Dominic NEW
Emily D ChuiArgentinaOnyama Limba NEGOTIATION
Silvio D OldroydArgentinaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues G RutaBrazil2026-09-17Buckley Miller Wright PROPOSAL31Xuxue Feng
1001Julie S RimUnited Kingdom2026-09-11Printing Dimensions RENEWAL92Ivan Magalhaes
1002Alejandro Z RutaSpain2026-09-17Chapman, Ross E Esq RENEWAL68Ioni Bowcher
1003Rodrigues M NestleSpain2026-08-31Feltz Printing Service NEW59Ivan Magalhaes
1004Tony L CaudyIndia2026-09-18Feltz Printing Service RENEWAL50Elwin Sharvill
1005Chavez H SchemmerUnited Kingdom2026-09-18Benton, John B Jr NEGOTIATION96Anna Fali
1006Wickens T SaylorsItaly2026-09-21Truhlar And Truhlar Attys UNQUALIFIED37Stephen Shaw
1007Mayumi K IturbideSpain2026-09-10Truhlar And Truhlar Attys UNQUALIFIED17Xuxue Feng
1008Silvio D CampainArgentina2026-09-06Chemel, James L Cpa NEGOTIATION66Amy Elsner
1009Maisha Q FlosiArgentina2026-09-02Benton, John B Jr NEW68Ioni Bowcher
1010Jeanfrancois L WhobreyGermany2026-09-02Chanay, Jeffrey A Esq NEW51Elwin Sharvill
1011Silvio Y CampainArgentina2026-09-21Chapman, Ross E Esq RENEWAL4Asiya Javayant
1012Arvin D StensethUnited Kingdom2026-09-26Feiner Bros PROPOSAL15Ivan Magalhaes
1013Stacey F SaylorsBrazil2026-09-09Chapman, Ross E Esq RENEWAL80Bernardo Dominic
1014Antonio H TollnerGermany2026-09-05Rousseaux, Michael Esq UNQUALIFIED75Stephen Shaw
1015Munro X SlusarskiBrazil2026-09-18Chanay, Jeffrey A Esq NEW60Stephen Shaw
1016Claire I MaletIndia2026-09-07Rousseaux, Michael Esq QUALIFIED75Ivan Magalhaes
1017Nicolas G CaudyRussia2026-09-23Benton, John B Jr QUALIFIED4Ivan Magalhaes
1018Smith P ShinkoBrazil2026-09-11Morlong Associates RENEWAL90Asiya Javayant
1019Leja Q NickaCanada2026-09-06Rangoni Of Florence NEGOTIATION42Bernardo Dominic
1020Murillo P SlusarskiFrance2026-09-03Chemel, James L Cpa NEGOTIATION80Asiya Javayant
1021Murillo U RoysterRussia2026-08-28Chanay, Jeffrey A Esq QUALIFIED27Elwin Sharvill
1022Sinclair C MorascaItaly2026-09-12Buckley Miller Wright NEW78Amy Elsner
1023Sinclair T PoquetteIndia2026-08-28Feltz Printing Service NEW27Stephen Shaw
1024Cody O PoquetteBrazil2026-09-03Rousseaux, Michael Esq RENEWAL47Anna Fali
1025Murillo V KolmetzIndia2026-09-08Chanay, Jeffrey A Esq QUALIFIED36Xuxue Feng
1026Mayumi S WaycottCanada2026-09-17Feltz Printing Service UNQUALIFIED59Ioni Bowcher
1027Arvin N PerinItaly2026-09-04Rousseaux, Michael Esq QUALIFIED62Stephen Shaw
1028Johnson F MorascaUnited Kingdom2026-09-14Feiner Bros QUALIFIED73Bernardo Dominic
1029Greenwood G DarakjyCanada2026-09-12Commercial Press QUALIFIED65Xuxue Feng
1030Maisha P AmigonArgentina2026-09-05Rousseaux, Michael Esq UNQUALIFIED21Elwin Sharvill
1031Izzy T FigeroaAustralia2026-09-09Benton, John B Jr NEGOTIATION68Elwin Sharvill
1032Maria R MaletFrance2026-09-05Morlong Associates NEGOTIATION13Elwin Sharvill
1033Arvin X KuskoRussia2026-08-30Chemel, James L Cpa NEW81Amy Elsner
1034Morrow S RimItaly2026-09-02Chapman, Ross E Esq QUALIFIED29Asiya Javayant
1035Clifford A PoquetteFrance2026-09-08Truhlar And Truhlar Attys RENEWAL43Stephen Shaw
1036Juan Z ShinkoFrance2026-09-23Morlong Associates RENEWAL9Xuxue Feng
1037Stacey D WaycottFrance2026-09-22Benton, John B Jr NEW18Onyama Limba
1038Francesco V RutaBrazil2026-09-14Chemel, James L Cpa PROPOSAL78Elwin Sharvill
1039Sinclair I MaletSpain2026-09-26Chapman, Ross E Esq NEW24Xuxue Feng
1040Greenwood C FerenczRussia2026-09-08Printing Dimensions QUALIFIED24Ivan Magalhaes
1041Aditya W GlickJapan2026-09-11Chemel, James L Cpa UNQUALIFIED62Stephen Shaw
1042Jefferson P SlusarskiCanada2026-09-21Truhlar And Truhlar Attys NEGOTIATION98Xuxue Feng
1043Salvatore M MarrierRussia2026-08-28Chapman, Ross E Esq NEW18Elwin Sharvill
1044Isabel P ButtArgentina2026-09-20Commercial Press RENEWAL17Asiya Javayant
1045Maisha F StensethGermany2026-09-01Benton, John B Jr UNQUALIFIED67Asiya Javayant
1046Morrow D GauchoFrance2026-08-31Chapman, Ross E Esq NEGOTIATION2Xuxue Feng
1047Jeanfrancois I ChuiGermany2026-09-08Chanay, Jeffrey A Esq PROPOSAL59Onyama Limba
1048Emily E RutaIndia2026-09-09Truhlar And Truhlar Attys RENEWAL30Ioni Bowcher
1049Julie H SchemmerBrazil2026-09-20King, Christopher A Esq PROPOSAL75Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Sinclair K DilliardCanadaAmy Elsner NEW
Rodrigues J NestleAustraliaBernardo Dominic UNQUALIFIED
Antonio F FlosiCanadaOnyama Limba QUALIFIED
Greenwood Y KuskoAustraliaAsiya Javayant NEGOTIATION
Misaki Z MacleadBrazilAsiya Javayant RENEWAL
James P NestleArgentinaIoni Bowcher RENEWAL
Leon Y SchemmerIndiaElwin Sharvill QUALIFIED
Arvin C CaldareraCanadaStephen Shaw NEW
Costa N BowleyFranceOnyama Limba PROPOSAL
Antonio Q GarufiSpainAmy Elsner PROPOSAL
Stacey L MacleadGermanyAsiya Javayant RENEWAL
Claire L SergiRussiaOnyama Limba QUALIFIED
Morrow K CampainGermanyAsiya Javayant UNQUALIFIED
Misaki X SergiArgentinaXuxue Feng UNQUALIFIED
Murillo T SaylorsBrazilIoni Bowcher NEW
Jeanfrancois I FollerCanadaOnyama Limba PROPOSAL
Salvatore M MacleadSpainAsiya Javayant PROPOSAL
Faith R CaldareraBrazilXuxue Feng NEGOTIATION
Greenwood M BologniaJapanAnna Fali UNQUALIFIED
Johnson A GillianFranceIvan Magalhaes QUALIFIED
Johnson O GauchoFranceAnna Fali UNQUALIFIED
Murillo N MorascaArgentinaAmy Elsner NEW
Jennifer U GlickArgentinaStephen Shaw PROPOSAL
Aditya T KolmetzArgentinaStephen Shaw UNQUALIFIED
Salvatore R ButtAustraliaStephen Shaw RENEWAL
Julie Z FlosiUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois H ChuiBrazilStephen Shaw QUALIFIED
Claire J SchemmerBrazilIvan Magalhaes RENEWAL
Deepesh I RoysterSpainAsiya Javayant PROPOSAL
Jones F PerinSpainBernardo Dominic PROPOSAL
Darci Y GauchoSpainStephen Shaw PROPOSAL
Francesco F MorascaCanadaAmy Elsner PROPOSAL
Wickens I WaycottArgentinaAsiya Javayant RENEWAL
Jefferson P WieserCanadaAmy Elsner NEW
Costa T RulapaughUnited KingdomAmy Elsner PROPOSAL
Nicolas B DarakjyIndiaAmy Elsner PROPOSAL
Nicolas M StockhamSpainAnna Fali NEW
Chavez X DarakjyRussiaAsiya Javayant NEGOTIATION
Rodrigues Q ChuiIndiaIvan Magalhaes NEW
Johnson P InouyeItalyElwin Sharvill UNQUALIFIED
Silvio Y GlickGermanyBernardo Dominic QUALIFIED
Salvatore Q SaylorsCanadaXuxue Feng UNQUALIFIED
Ivar L MaletGermanyStephen Shaw PROPOSAL
Maisha P GarufiIndiaXuxue Feng NEW
Munro B MaletGermanyBernardo Dominic NEW
Sinclair S IturbideGermanyIvan Magalhaes UNQUALIFIED
Octavia R GauchoGermanyBernardo Dominic RENEWAL
Munro H NestleRussiaIoni Bowcher NEW
Mayumi L MaletSpainAnna Fali NEGOTIATION
Aika Y BowleySpainElwin Sharvill NEW
Frozen Columns
Name
Jefferson H Darakjy
Aditya U Shinko
Arvin R Flosi
Jeanfrancois A Caldarera
Faith P Gillian
Izzy D Foller
Sinclair Z Bolognia
Jefferson W Morasca
Adams V Sergi
Faith D Vocelka
Nicolas U Tollner
Tony J Vocelka
Johnson U Marrier
Silvio G Nicka
Greenwood X Tollner
Johnson T Bowley
Kaitlin A Slusarski
Munro T Waycott
Misaki O Darakjy
Mujtaba P Maclead
Juan L Paprocki
Emily O Ferencz
Chavez D Saylors
Aruna Z Stenseth
Greenwood R Rulapaugh
Octavia Q Whobrey
Greenwood F Venere
Aruna A Dilliard
Costa T Marrier
Arvin O Bowley
Smith F Gillian
Faith G Vocelka
Greenwood O Tollner
Greenwood Q Malet
Costa D Stenseth
Ricardo W Chui
Rodrigues H Slusarski
Darci Q Gillian
Mujtaba Z Tollner
Mujtaba N Tollner
Chavez V Stockham
Aditya T Slusarski
Murillo O Gillian
Faith J Wieser
Emily V Ferencz
Costa D Malet
Alejandro X Ostrosky
Smith P Rim
Deepesh R Amigon
Jennifer A Maclead
IdCountryDate
1000Argentina2026-09-09
1001Brazil2026-09-01
1002Italy2026-09-24
1003India2026-09-23
1004Australia2026-09-13
1005Japan2026-09-09
1006United Kingdom2026-09-22
1007Russia2026-09-25
1008Australia2026-09-11
1009Spain2026-09-07
1010India2026-09-15
1011India2026-09-07
1012Australia2026-09-12
1013Japan2026-09-11
1014India2026-09-08
1015Germany2026-09-09
1016Australia2026-08-31
1017Brazil2026-09-09
1018France2026-08-30
1019Argentina2026-09-20
1020France2026-09-22
1021Argentina2026-09-17
1022Italy2026-09-15
1023India2026-09-26
1024Italy2026-08-28
1025Canada2026-09-23
1026Russia2026-09-26
1027Japan2026-09-20
1028Russia2026-09-08
1029India2026-09-20
1030Argentina2026-09-05
1031Japan2026-09-01
1032Russia2026-09-16
1033Australia2026-09-22
1034Japan2026-09-03
1035Australia2026-09-22
1036United Kingdom2026-09-17
1037Italy2026-09-07
1038Russia2026-08-29
1039Argentina2026-09-26
1040Russia2026-09-26
1041Spain2026-08-29
1042Brazil2026-09-14
1043Canada2026-09-07
1044Spain2026-09-01
1045Brazil2026-08-29
1046Japan2026-09-16
1047Russia2026-09-12
1048Italy2026-09-01
1049Japan2026-09-21

On-Demand Data

NameIdCountryDate
Silvio Q Venere1000France2026-09-26
Ivar H Maclead1001Spain2026-09-19
Johnson Y Albares1002Japan2026-09-10
Misaki K Butt1003Italy2026-09-08
Costa E Gaucho1004Brazil2026-09-18
Ivar U Slusarski1005Canada2026-09-12
Murillo N Stockham1006Canada2026-09-06
Misaki B Oldroyd1007France2026-09-22
Jeanfrancois Z Ferencz1008Argentina2026-09-01
Clifford Z Marrier1009Russia2026-09-24
Misaki Y Iturbide1010Germany2026-09-04
Faith U Rulapaugh1011Argentina2026-09-10
Ivar Z Ferencz1012Russia2026-09-07
Costa Q Shinko1013Brazil2026-09-24
Mayumi I Wieser1014Canada2026-09-09
Wickens G Kolmetz1015Australia2026-09-21
Adams V Kolmetz1016Argentina2026-09-16
Maria Y Poquette1017Italy2026-09-21
Mujtaba C Wieser1018Spain2026-09-16
Rodrigues D Perin1019Italy2026-09-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith F AmigonIndiaAmy Elsner RENEWAL
Jones L RoysterGermanyElwin Sharvill RENEWAL
Kadeem N DilliardCanadaIoni Bowcher RENEWAL
Darci M StockhamBrazilElwin Sharvill NEW
Maria Y FlosiUnited KingdomXuxue Feng RENEWAL
Stacey D MorascaArgentinaStephen Shaw PROPOSAL
Costa K RulapaughIndiaAsiya Javayant PROPOSAL
Ashley O FerenczCanadaBernardo Dominic NEW
Juan J StensethIndiaElwin Sharvill PROPOSAL
David W VocelkaItalyIvan Magalhaes NEGOTIATION
Greenwood B GillianCanadaIvan Magalhaes RENEWAL
Ashley E ChuiArgentinaAnna Fali RENEWAL
Wickens N MorascaRussiaStephen Shaw NEGOTIATION
Leon X DarakjyGermanyXuxue Feng NEW
Leon O OldroydIndiaBernardo Dominic PROPOSAL
Deepesh R CaldareraBrazilIoni Bowcher PROPOSAL
Chavez B GlickBrazilAnna Fali NEW
Octavia D GlickJapanBernardo Dominic NEGOTIATION
Izzy W SchemmerRussiaElwin Sharvill RENEWAL
Aika B SchemmerAustraliaAsiya Javayant UNQUALIFIED
Adams K PoquetteAustraliaAnna Fali NEW
Deepesh U FollerRussiaXuxue Feng NEW
Mayumi F MaletGermanyIvan Magalhaes PROPOSAL
Ivar P CampainArgentinaIoni Bowcher RENEWAL
David V BologniaJapanStephen Shaw PROPOSAL
Juan B RulapaughUnited KingdomStephen Shaw QUALIFIED
Deepesh Q CaldareraAustraliaBernardo Dominic PROPOSAL
Greenwood I BriddickItalyIvan Magalhaes UNQUALIFIED
Jennifer U WhobreyBrazilStephen Shaw PROPOSAL
Jennifer Y InouyeJapanAmy Elsner NEW
Claire H KolmetzBrazilAsiya Javayant RENEWAL
Smith Y IturbideRussiaOnyama Limba NEW
Julie K GlickItalyBernardo Dominic QUALIFIED
Leja K GauchoArgentinaIoni Bowcher NEGOTIATION
Silvio I InouyeBrazilAmy Elsner NEW
Munro Q ShinkoJapanElwin Sharvill UNQUALIFIED
Nicolas I RutaBrazilAnna Fali UNQUALIFIED
Jennifer C IturbideItalyIoni Bowcher QUALIFIED
Leja P ButtArgentinaBernardo Dominic NEGOTIATION
Darci X DarakjyAustraliaOnyama Limba NEW

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