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
Ivar X AmigonItalyXuxue Feng PROPOSAL
Munro Q TollnerFranceAsiya Javayant PROPOSAL
Greenwood W AmigonUnited KingdomXuxue Feng PROPOSAL
Maisha B MorascaItalyXuxue Feng PROPOSAL
Tony H RulapaughRussiaIvan Magalhaes QUALIFIED
Juan T DarakjyJapanAmy Elsner QUALIFIED
Faith S RutaAustraliaAmy Elsner PROPOSAL
Tony W CampainSpainStephen Shaw QUALIFIED
Misaki E VenereArgentinaAsiya Javayant QUALIFIED
Aditya T SlusarskiJapanAmy Elsner NEGOTIATION
Jeanfrancois M NickaIndiaBernardo Dominic PROPOSAL
Emily K SlusarskiUnited KingdomIvan Magalhaes RENEWAL
Aruna X CaudyJapanElwin Sharvill UNQUALIFIED
Costa I DoeUnited KingdomOnyama Limba UNQUALIFIED
Salvatore W MaletAustraliaOnyama Limba NEW
Jeanfrancois A IturbideCanadaBernardo Dominic PROPOSAL
Munro W KolmetzAustraliaIoni Bowcher PROPOSAL
Tony I DilliardBrazilAsiya Javayant PROPOSAL
Munro Z OstroskyArgentinaAmy Elsner QUALIFIED
Kadeem J FollerBrazilIvan Magalhaes NEW
Jeanfrancois Z PaprockiCanadaElwin Sharvill RENEWAL
Tony K SlusarskiSpainAnna Fali NEW
Stacey U BowleyAustraliaAsiya Javayant NEW
Juan J StensethBrazilOnyama Limba NEW
Juan G BowleySpainIvan Magalhaes QUALIFIED
Silvio V SlusarskiIndiaAnna Fali UNQUALIFIED
Cody U FlosiArgentinaOnyama Limba NEGOTIATION
Emily P IturbideBrazilAmy Elsner UNQUALIFIED
Clifford B GlickUnited KingdomElwin Sharvill QUALIFIED
Aruna B FigeroaUnited KingdomAmy Elsner NEW
Juan S DoeSpainIoni Bowcher PROPOSAL
Emily F RimFranceOnyama Limba UNQUALIFIED
Deepesh J RimAustraliaAnna Fali RENEWAL
Isabel I AlbaresGermanyXuxue Feng UNQUALIFIED
Deepesh H TollnerAustraliaXuxue Feng QUALIFIED
Mayumi H VenereBrazilStephen Shaw QUALIFIED
Ashley T StensethGermanyOnyama Limba NEW
Munro D ChuiArgentinaElwin Sharvill UNQUALIFIED
Sinclair Y FollerRussiaAsiya Javayant NEW
Mayumi Q DarakjyBrazilAmy Elsner NEW
Silvio L SlusarskiJapanXuxue Feng NEGOTIATION
Jones I MaletSpainIoni Bowcher RENEWAL
Leon L KuskoJapanAmy Elsner NEW
Sinclair C GarufiGermanyBernardo Dominic NEGOTIATION
Stacey K GauchoArgentinaBernardo Dominic UNQUALIFIED
Jones D CaldareraSpainIoni Bowcher UNQUALIFIED
Silvio M BriddickBrazilAmy Elsner NEW
Jennifer J OldroydAustraliaBernardo Dominic UNQUALIFIED
Mayumi Z PoquetteBrazilOnyama Limba NEW
David X CaldareraItalyElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer W AlbaresIndiaAnna Fali UNQUALIFIED
Nicolas R GillianJapanAmy Elsner RENEWAL
Leon T RulapaughItalyAnna Fali PROPOSAL
Darci O SchemmerAustraliaBernardo Dominic PROPOSAL
Nicolas P ShinkoJapanStephen Shaw QUALIFIED
Clifford N FlosiArgentinaIoni Bowcher NEW
Francesco B BologniaAustraliaStephen Shaw NEGOTIATION
Darci N FollerGermanyElwin Sharvill NEGOTIATION
Julie Y StensethAustraliaXuxue Feng UNQUALIFIED
Aruna D SaylorsAustraliaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci N MorascaGermany2026-10-18Rangoni Of Florence PROPOSAL72Xuxue Feng
1001Julie M ChuiUnited Kingdom2026-11-12Chemel, James L Cpa RENEWAL23Amy Elsner
1002Mayumi G PerinFrance2026-11-02Dorl, James J Esq QUALIFIED39Stephen Shaw
1003Chavez P FigeroaRussia2026-11-13Chemel, James L Cpa QUALIFIED77Ioni Bowcher
1004Clifford S KuskoRussia2026-11-03Chapman, Ross E Esq PROPOSAL94Elwin Sharvill
1005Rodrigues L ButtRussia2026-10-20Morlong Associates PROPOSAL87Ioni Bowcher
1006Greenwood B ButtUnited Kingdom2026-11-11Truhlar And Truhlar Attys RENEWAL63Onyama Limba
1007Alejandro N ShinkoRussia2026-10-15Rousseaux, Michael Esq QUALIFIED92Asiya Javayant
1008Rodrigues V VenereSpain2026-11-03Buckley Miller Wright RENEWAL20Ioni Bowcher
1009Jefferson V FigeroaJapan2026-11-07Feltz Printing Service QUALIFIED99Ioni Bowcher
1010Misaki M ShinkoUnited Kingdom2026-10-22Dorl, James J Esq UNQUALIFIED53Anna Fali
1011Octavia A MaletBrazil2026-11-09Dorl, James J Esq UNQUALIFIED87Bernardo Dominic
1012Salvatore A RulapaughJapan2026-10-19Buckley Miller Wright NEGOTIATION52Anna Fali
1013Arvin Y SaylorsArgentina2026-11-06Commercial Press NEGOTIATION41Xuxue Feng
1014Arvin F AmigonSpain2026-10-26Dorl, James J Esq RENEWAL9Anna Fali
1015Johnson V PaprockiItaly2026-11-12Morlong Associates RENEWAL98Asiya Javayant
1016Julie M CaldareraFrance2026-10-25Buckley Miller Wright PROPOSAL35Onyama Limba
1017Aika Q CaldareraBrazil2026-10-19Benton, John B Jr NEGOTIATION46Onyama Limba
1018Darci J RutaItaly2026-11-13Chapman, Ross E Esq NEGOTIATION25Xuxue Feng
1019Smith G MaletFrance2026-11-12Rousseaux, Michael Esq RENEWAL13Ioni Bowcher
1020Leja F NickaUnited Kingdom2026-10-22Chemel, James L Cpa PROPOSAL12Bernardo Dominic
1021Mayumi Z StockhamBrazil2026-11-07Rangoni Of Florence PROPOSAL70Amy Elsner
1022Tony B ButtGermany2026-11-11Chapman, Ross E Esq RENEWAL62Ivan Magalhaes
1023Octavia B VocelkaItaly2026-11-06Truhlar And Truhlar Attys RENEWAL62Asiya Javayant
1024Morrow C MorascaArgentina2026-11-11Rousseaux, Michael Esq NEGOTIATION54Bernardo Dominic
1025Isabel X AlbaresUnited Kingdom2026-11-11Truhlar And Truhlar Attys NEW1Elwin Sharvill
1026Silvio U MaletBrazil2026-11-04Morlong Associates RENEWAL17Anna Fali
1027Ricardo Q AlbaresSpain2026-10-19Morlong Associates RENEWAL36Onyama Limba
1028Cody C BologniaIndia2026-11-10Morlong Associates NEW38Ivan Magalhaes
1029Adams X NestleSpain2026-10-16Dorl, James J Esq RENEWAL72Onyama Limba
1030Emily E IturbideCanada2026-10-15Feltz Printing Service NEW38Onyama Limba
1031Chavez N BriddickUnited Kingdom2026-10-16Rangoni Of Florence QUALIFIED10Amy Elsner
1032Stacey P KuskoIndia2026-11-12Chemel, James L Cpa QUALIFIED95Elwin Sharvill
1033Antonio F BowleyItaly2026-10-31Printing Dimensions UNQUALIFIED25Xuxue Feng
1034Stacey N NestleUnited Kingdom2026-10-24Printing Dimensions RENEWAL68Asiya Javayant
1035Murillo Z CaudyBrazil2026-10-23Chanay, Jeffrey A Esq QUALIFIED15Bernardo Dominic
1036Claire O WhobreyJapan2026-10-15Morlong Associates PROPOSAL17Elwin Sharvill
1037Tony V VocelkaBrazil2026-10-29Truhlar And Truhlar Attys NEW59Stephen Shaw
1038Julie Q MorascaArgentina2026-10-26Rousseaux, Michael Esq RENEWAL93Stephen Shaw
1039Chavez Q ChuiArgentina2026-11-10Rangoni Of Florence NEGOTIATION36Amy Elsner
1040Stacey R TollnerJapan2026-10-25Buckley Miller Wright RENEWAL80Anna Fali
1041Darci W RoysterCanada2026-10-19Rangoni Of Florence RENEWAL8Bernardo Dominic
1042Murillo A MorascaFrance2026-11-11Feltz Printing Service RENEWAL51Onyama Limba
1043Ashley C CampainArgentina2026-10-25Benton, John B Jr UNQUALIFIED39Anna Fali
1044Deepesh R BologniaCanada2026-11-13Printing Dimensions RENEWAL51Asiya Javayant
1045Alejandro Y GlickGermany2026-11-11Commercial Press QUALIFIED96Bernardo Dominic
1046Mayumi H RoysterUnited Kingdom2026-11-01Truhlar And Truhlar Attys PROPOSAL2Amy Elsner
1047Octavia C CaldareraUnited Kingdom2026-10-20Chapman, Ross E Esq UNQUALIFIED33Bernardo Dominic
1048Tony S VocelkaBrazil2026-10-30Buckley Miller Wright QUALIFIED65Ivan Magalhaes
1049Smith F FollerUnited Kingdom2026-11-05Feiner Bros RENEWAL42Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Mayumi W StockhamFranceOnyama Limba NEW
Julie S ShinkoSpainElwin Sharvill NEW
Murillo M StockhamUnited KingdomIvan Magalhaes RENEWAL
Octavia U SchemmerCanadaAmy Elsner QUALIFIED
Ashley Z MaletGermanyStephen Shaw NEGOTIATION
Juan T RimIndiaXuxue Feng NEGOTIATION
Adams B CaldareraUnited KingdomXuxue Feng QUALIFIED
James G SaylorsGermanyIoni Bowcher UNQUALIFIED
Leja J PerinSpainElwin Sharvill UNQUALIFIED
Murillo B ButtUnited KingdomBernardo Dominic UNQUALIFIED
Silvio Z BriddickCanadaIoni Bowcher NEGOTIATION
Antonio Q TollnerUnited KingdomXuxue Feng QUALIFIED
Mayumi G KolmetzBrazilAnna Fali PROPOSAL
Emily T ButtFranceAmy Elsner RENEWAL
Kaitlin E InouyeIndiaStephen Shaw RENEWAL
Octavia S MaletCanadaIvan Magalhaes PROPOSAL
Deepesh M FlosiRussiaIvan Magalhaes NEW
Aika F SaylorsRussiaBernardo Dominic NEW
Darci L GarufiSpainAmy Elsner NEW
Costa A AmigonItalyIvan Magalhaes NEW
Silvio X FerenczRussiaAmy Elsner NEGOTIATION
David V BologniaUnited KingdomIvan Magalhaes NEW
Rodrigues K ShinkoIndiaIoni Bowcher NEW
Adams M GlickGermanyAnna Fali PROPOSAL
Juan J ButtIndiaBernardo Dominic NEW
Nicolas U DarakjyCanadaXuxue Feng QUALIFIED
Octavia J VenereItalyAsiya Javayant NEW
Emily Y SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Misaki V IturbideBrazilOnyama Limba QUALIFIED
Morrow H StockhamAustraliaAmy Elsner NEW
Claire M OstroskyBrazilBernardo Dominic PROPOSAL
Maria Q ChuiBrazilXuxue Feng QUALIFIED
Faith F ChuiUnited KingdomAsiya Javayant NEGOTIATION
Misaki D GlickIndiaXuxue Feng UNQUALIFIED
Leja C BowleyItalyAnna Fali NEW
Antonio J DoeRussiaXuxue Feng RENEWAL
Octavia C WaycottBrazilAmy Elsner PROPOSAL
Johnson R ChuiItalyIoni Bowcher NEGOTIATION
Costa S AmigonJapanStephen Shaw QUALIFIED
Deepesh D FollerUnited KingdomBernardo Dominic PROPOSAL
Mayumi X TollnerFranceIvan Magalhaes UNQUALIFIED
Darci I SaylorsRussiaBernardo Dominic NEGOTIATION
Costa U GillianCanadaXuxue Feng PROPOSAL
Jones J MacleadCanadaIvan Magalhaes NEW
Munro N KolmetzJapanOnyama Limba NEW
Johnson V AmigonIndiaStephen Shaw RENEWAL
Morrow A MacleadItalyAnna Fali RENEWAL
Jefferson C RulapaughBrazilBernardo Dominic QUALIFIED
Francesco M DilliardGermanyBernardo Dominic RENEWAL
James N GlickArgentinaOnyama Limba RENEWAL
Frozen Columns
Name
Deepesh F Figeroa
Mujtaba L Butt
Aruna V Wieser
Nicolas F Morasca
Wickens L Gaucho
Johnson N Maclead
Greenwood C Glick
Adams N Bolognia
Jones B Flosi
Julie Z Caldarera
Aruna Z Glick
Juan L Nestle
Isabel L Dilliard
Julie R Doe
Jeanfrancois I Bowley
Kaitlin P Rim
Alejandro Z Bolognia
Alejandro B Bowley
Leon G Glick
Salvatore G Nestle
Maisha V Stockham
Octavia F Rulapaugh
Aika R Waycott
Nicolas G Gillian
Juan W Slusarski
Costa Q Slusarski
Tony A Iturbide
Mujtaba F Amigon
Isabel I Bolognia
Leja X Bowley
Leja B Caldarera
Ivar T Inouye
Clifford L Caudy
Ashley I Flosi
Jennifer N Campain
Maria U Kolmetz
Mayumi D Vocelka
Ricardo R Slusarski
Deepesh M Oldroyd
Ivar Z Wieser
Aditya D Stenseth
Arvin V Ruta
Leon G Rulapaugh
Mujtaba X Figeroa
Maisha V Glick
Chavez X Kolmetz
Rodrigues M Schemmer
Arvin V Glick
Clifford S Sergi
Antonio F Gaucho
IdCountryDate
1000France2026-11-12
1001Japan2026-10-15
1002Canada2026-10-22
1003Canada2026-10-19
1004Russia2026-11-06
1005United Kingdom2026-11-12
1006United Kingdom2026-11-10
1007Brazil2026-10-20
1008Brazil2026-10-22
1009Argentina2026-10-31
1010Japan2026-10-28
1011India2026-10-21
1012Japan2026-11-06
1013Japan2026-11-01
1014Spain2026-11-03
1015Spain2026-11-11
1016Australia2026-11-01
1017France2026-11-10
1018Canada2026-10-28
1019Spain2026-11-07
1020Argentina2026-11-04
1021Spain2026-10-29
1022Japan2026-11-09
1023France2026-11-08
1024Germany2026-11-13
1025France2026-11-08
1026Russia2026-10-19
1027Australia2026-10-26
1028Italy2026-10-15
1029Japan2026-10-20
1030Italy2026-10-24
1031Italy2026-11-03
1032United Kingdom2026-10-18
1033Italy2026-10-17
1034Australia2026-10-25
1035France2026-11-05
1036Japan2026-11-07
1037Brazil2026-11-03
1038Germany2026-11-12
1039Argentina2026-11-09
1040Australia2026-11-12
1041Brazil2026-11-01
1042Italy2026-10-22
1043Russia2026-11-09
1044Argentina2026-10-15
1045Spain2026-10-21
1046Argentina2026-11-09
1047Spain2026-11-12
1048France2026-11-06
1049Spain2026-11-11

On-Demand Data

NameIdCountryDate
Mujtaba T Perin1000Argentina2026-11-02
Tony T Rim1001Russia2026-11-02
Octavia J Briddick1002Italy2026-11-10
Leja P Maclead1003Russia2026-10-31
Wickens E Garufi1004Canada2026-10-22
Jeanfrancois P Caldarera1005Italy2026-11-10
Cody O Figeroa1006Canada2026-10-29
Jefferson S Whobrey1007Spain2026-10-31
Maria R Paprocki1008Spain2026-11-02
Claire L Iturbide1009France2026-10-28
Ivar N Briddick1010Spain2026-11-04
Stacey B Darakjy1011Russia2026-11-12
Ashley W Nestle1012Canada2026-10-26
Isabel X Bolognia1013Brazil2026-11-04
James R Saylors1014Argentina2026-11-03
Salvatore B Marrier1015Spain2026-10-24
Darci F Gaucho1016Russia2026-10-27
Juan Z Foller1017Argentina2026-10-25
James U Figeroa1018Japan2026-10-30
Costa T Ruta1019India2026-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony Q NickaJapanAsiya Javayant PROPOSAL
James T OstroskyAustraliaAsiya Javayant NEW
Deepesh H MaletItalyAmy Elsner QUALIFIED
Rodrigues F CampainJapanXuxue Feng NEW
Juan X DoeGermanyIoni Bowcher QUALIFIED
Mujtaba K ChuiJapanXuxue Feng PROPOSAL
Maisha B GlickItalyOnyama Limba UNQUALIFIED
Alejandro P StockhamCanadaOnyama Limba NEGOTIATION
Rodrigues O MaletRussiaStephen Shaw RENEWAL
Leon Q MorascaBrazilElwin Sharvill UNQUALIFIED
Alejandro I SaylorsIndiaElwin Sharvill QUALIFIED
Octavia H GarufiSpainBernardo Dominic NEGOTIATION
Isabel E ShinkoArgentinaOnyama Limba RENEWAL
Alejandro I OstroskyCanadaAnna Fali UNQUALIFIED
Rodrigues R SlusarskiRussiaXuxue Feng PROPOSAL
Chavez R AlbaresRussiaElwin Sharvill RENEWAL
Faith X CaudyJapanStephen Shaw NEGOTIATION
Isabel V BologniaSpainIvan Magalhaes QUALIFIED
David J RimBrazilOnyama Limba UNQUALIFIED
Smith I NestleUnited KingdomOnyama Limba PROPOSAL
Isabel N DoeSpainOnyama Limba NEGOTIATION
Ashley Q ButtAustraliaElwin Sharvill NEW
Rodrigues U SaylorsGermanyAnna Fali QUALIFIED
Ivar S DilliardRussiaIoni Bowcher NEGOTIATION
Ricardo K ButtJapanXuxue Feng PROPOSAL
Costa E SaylorsUnited KingdomXuxue Feng UNQUALIFIED
Maisha O GlickCanadaElwin Sharvill UNQUALIFIED
Munro W SlusarskiIndiaIoni Bowcher RENEWAL
Nicolas I AmigonJapanIvan Magalhaes QUALIFIED
Smith H DarakjyIndiaAmy Elsner PROPOSAL
Kadeem J FlosiCanadaAnna Fali NEGOTIATION
Octavia H GauchoIndiaAsiya Javayant RENEWAL
Leon Z ButtArgentinaXuxue Feng QUALIFIED
Alejandro B SchemmerBrazilStephen Shaw QUALIFIED
Jennifer Z FlosiBrazilBernardo Dominic NEW
Cody N GarufiArgentinaBernardo Dominic UNQUALIFIED
Leon O RutaBrazilAnna Fali RENEWAL
Leja T ButtAustraliaXuxue Feng NEGOTIATION
Jones R VocelkaRussiaElwin Sharvill UNQUALIFIED
Tony F VocelkaGermanyAsiya Javayant 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>