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
Faith J InouyeJapanIoni Bowcher NEW
Salvatore P FlosiFranceOnyama Limba PROPOSAL
Smith Y MarrierIndiaStephen Shaw UNQUALIFIED
Jefferson H NickaJapanXuxue Feng QUALIFIED
Kaitlin O WaycottCanadaXuxue Feng QUALIFIED
Maria T FigeroaFranceIoni Bowcher UNQUALIFIED
Costa H WieserFranceAnna Fali QUALIFIED
Kadeem U AlbaresRussiaAmy Elsner UNQUALIFIED
Jeanfrancois K BologniaArgentinaAmy Elsner RENEWAL
Leja G VenereJapanAmy Elsner RENEWAL
Maria D MacleadGermanyBernardo Dominic PROPOSAL
Misaki B MacleadUnited KingdomAsiya Javayant RENEWAL
Costa N FigeroaSpainIvan Magalhaes PROPOSAL
Murillo J BologniaUnited KingdomOnyama Limba UNQUALIFIED
Munro C TollnerArgentinaOnyama Limba NEW
Jeanfrancois R DoeSpainIvan Magalhaes RENEWAL
Ricardo P NickaAustraliaBernardo Dominic PROPOSAL
Kaitlin W FlosiIndiaElwin Sharvill RENEWAL
Ricardo M PoquetteBrazilBernardo Dominic RENEWAL
Munro H BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Emily M DilliardGermanyOnyama Limba RENEWAL
Morrow A FerenczJapanElwin Sharvill NEW
Leon C RoysterSpainAnna Fali QUALIFIED
Cody Y FigeroaIndiaStephen Shaw QUALIFIED
Stacey Z GarufiIndiaElwin Sharvill RENEWAL
Kaitlin A MacleadAustraliaOnyama Limba QUALIFIED
Salvatore D RimAustraliaElwin Sharvill NEW
Maria J InouyeIndiaIoni Bowcher PROPOSAL
Julie D GauchoIndiaBernardo Dominic RENEWAL
Leon M CaldareraJapanAsiya Javayant NEW
Jefferson B StensethGermanyBernardo Dominic NEW
Kaitlin R AlbaresGermanyBernardo Dominic PROPOSAL
Smith Y RoysterCanadaAsiya Javayant NEGOTIATION
Antonio B CaldareraGermanyStephen Shaw PROPOSAL
Francesco A CampainGermanyElwin Sharvill UNQUALIFIED
Cody L GlickBrazilIoni Bowcher NEW
Clifford M DarakjyCanadaOnyama Limba RENEWAL
Jefferson K GarufiIndiaOnyama Limba UNQUALIFIED
Clifford J BologniaFranceAsiya Javayant PROPOSAL
Ivar J RutaCanadaAsiya Javayant NEGOTIATION
Chavez C ButtUnited KingdomBernardo Dominic UNQUALIFIED
Juan O FollerUnited KingdomAmy Elsner PROPOSAL
Aruna T PaprockiArgentinaElwin Sharvill NEGOTIATION
Clifford O AmigonBrazilOnyama Limba QUALIFIED
Isabel D FlosiCanadaAsiya Javayant NEW
Leon L RutaArgentinaOnyama Limba UNQUALIFIED
Stacey G WaycottFranceBernardo Dominic RENEWAL
Nicolas T SaylorsCanadaAnna Fali QUALIFIED
Clifford P FerenczAustraliaAnna Fali QUALIFIED
Aditya E AmigonAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya E BowleyItalyIoni Bowcher RENEWAL
Tony N StockhamFranceOnyama Limba NEGOTIATION
Juan T PaprockiIndiaIvan Magalhaes RENEWAL
Chavez H SaylorsRussiaOnyama Limba QUALIFIED
Tony D GarufiAustraliaBernardo Dominic NEW
Morrow J BowleyBrazilOnyama Limba UNQUALIFIED
Smith N ButtRussiaBernardo Dominic NEGOTIATION
Ricardo I NestleGermanyIvan Magalhaes NEGOTIATION
Faith S ChuiAustraliaStephen Shaw NEGOTIATION
Jeanfrancois N SlusarskiJapanBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria K VenereSpain2026-09-08Truhlar And Truhlar Attys NEW40Onyama Limba
1001Aruna Y CampainCanada2026-09-28Chapman, Ross E Esq RENEWAL92Anna Fali
1002Munro B CampainSpain2026-09-14King, Christopher A Esq NEGOTIATION68Ivan Magalhaes
1003Aika C MaletFrance2026-09-19King, Christopher A Esq RENEWAL35Xuxue Feng
1004Chavez N NestleItaly2026-09-12Chemel, James L Cpa RENEWAL72Ioni Bowcher
1005Juan G OldroydArgentina2026-09-14Feltz Printing Service QUALIFIED41Ivan Magalhaes
1006Deepesh R SchemmerSpain2026-09-18Dorl, James J Esq UNQUALIFIED92Anna Fali
1007Mayumi N StockhamGermany2026-09-18Truhlar And Truhlar Attys NEGOTIATION58Asiya Javayant
1008Jennifer V SchemmerFrance2026-09-19Buckley Miller Wright NEGOTIATION6Stephen Shaw
1009Munro H CaudyRussia2026-10-04King, Christopher A Esq PROPOSAL29Amy Elsner
1010Izzy U DarakjyFrance2026-09-27Chanay, Jeffrey A Esq UNQUALIFIED35Amy Elsner
1011Cody I CaudyItaly2026-09-29Rousseaux, Michael Esq QUALIFIED90Bernardo Dominic
1012Arvin D RoysterBrazil2026-09-14Commercial Press NEGOTIATION20Onyama Limba
1013Smith I RulapaughItaly2026-09-27Feiner Bros QUALIFIED78Anna Fali
1014Nicolas A RulapaughItaly2026-09-05Chapman, Ross E Esq UNQUALIFIED44Amy Elsner
1015Jeanfrancois S RulapaughJapan2026-09-09Feiner Bros NEGOTIATION97Bernardo Dominic
1016Costa L PaprockiUnited Kingdom2026-09-10Chanay, Jeffrey A Esq NEW97Anna Fali
1017Claire Z StockhamSpain2026-09-26Chapman, Ross E Esq RENEWAL89Ivan Magalhaes
1018Mujtaba B GarufiCanada2026-09-23Rousseaux, Michael Esq UNQUALIFIED66Asiya Javayant
1019Smith L MorascaArgentina2026-09-30Feiner Bros NEGOTIATION20Elwin Sharvill
1020Arvin T PerinUnited Kingdom2026-09-07Dorl, James J Esq RENEWAL60Asiya Javayant
1021Ashley S CaudyFrance2026-09-15Benton, John B Jr NEW17Stephen Shaw
1022Jefferson P WaycottArgentina2026-10-04Commercial Press NEW73Ivan Magalhaes
1023Aditya G RoysterIndia2026-09-25Rangoni Of Florence NEGOTIATION46Elwin Sharvill
1024Octavia D TollnerSpain2026-09-11Dorl, James J Esq QUALIFIED40Bernardo Dominic
1025Julie N RutaUnited Kingdom2026-10-03Buckley Miller Wright PROPOSAL37Ivan Magalhaes
1026Sinclair Z IturbideGermany2026-09-30Truhlar And Truhlar Attys UNQUALIFIED54Xuxue Feng
1027Izzy U PerinBrazil2026-10-02Printing Dimensions QUALIFIED75Amy Elsner
1028Isabel O BologniaCanada2026-09-21Buckley Miller Wright NEW32Anna Fali
1029Deepesh O OstroskyIndia2026-09-25Morlong Associates PROPOSAL22Onyama Limba
1030Ivar R ButtAustralia2026-09-21Benton, John B Jr RENEWAL3Onyama Limba
1031Greenwood R VenereRussia2026-09-21Commercial Press NEGOTIATION18Elwin Sharvill
1032Smith X WieserJapan2026-09-27Dorl, James J Esq QUALIFIED14Bernardo Dominic
1033Jeanfrancois H OstroskyJapan2026-09-06Rangoni Of Florence UNQUALIFIED32Bernardo Dominic
1034Rodrigues U VenereJapan2026-09-06Feltz Printing Service NEGOTIATION49Anna Fali
1035Jennifer Z MorascaUnited Kingdom2026-09-10Chemel, James L Cpa NEW31Ivan Magalhaes
1036Kaitlin S KuskoIndia2026-09-18Truhlar And Truhlar Attys UNQUALIFIED97Onyama Limba
1037Smith V StensethRussia2026-09-27Buckley Miller Wright NEW77Ioni Bowcher
1038Silvio B GillianSpain2026-09-30Commercial Press PROPOSAL29Xuxue Feng
1039Kadeem R FollerJapan2026-09-27Chapman, Ross E Esq NEW14Asiya Javayant
1040David N RulapaughSpain2026-09-20Truhlar And Truhlar Attys UNQUALIFIED78Onyama Limba
1041Maisha T KolmetzUnited Kingdom2026-09-25Feltz Printing Service NEGOTIATION50Stephen Shaw
1042Nicolas J SergiRussia2026-09-26Chanay, Jeffrey A Esq NEW70Elwin Sharvill
1043Ivar S IturbideCanada2026-09-10King, Christopher A Esq QUALIFIED16Ioni Bowcher
1044Cody Q GarufiArgentina2026-10-04Chemel, James L Cpa PROPOSAL4Ivan Magalhaes
1045Munro B VocelkaArgentina2026-09-05Chemel, James L Cpa PROPOSAL35Elwin Sharvill
1046David V RoysterSpain2026-09-16King, Christopher A Esq QUALIFIED26Anna Fali
1047Tony Q NickaUnited Kingdom2026-10-03Commercial Press RENEWAL37Bernardo Dominic
1048Juan L RutaCanada2026-10-03Feltz Printing Service PROPOSAL69Anna Fali
1049Aika B MorascaFrance2026-09-12Buckley Miller Wright NEGOTIATION66Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois S OldroydArgentinaOnyama Limba UNQUALIFIED
David N GauchoFranceOnyama Limba RENEWAL
Faith Y RulapaughCanadaStephen Shaw QUALIFIED
Alejandro O OldroydCanadaIoni Bowcher RENEWAL
Alejandro X IturbideUnited KingdomAsiya Javayant NEGOTIATION
Aruna J SlusarskiSpainAmy Elsner PROPOSAL
Smith O OldroydArgentinaXuxue Feng UNQUALIFIED
Antonio J GarufiGermanyOnyama Limba NEW
Alejandro N RutaIndiaIvan Magalhaes NEW
Johnson F FlosiFranceAsiya Javayant NEW
Clifford X PaprockiBrazilAsiya Javayant QUALIFIED
Maisha N ButtBrazilIvan Magalhaes NEGOTIATION
Maisha D RoysterSpainAsiya Javayant PROPOSAL
David A WhobreyCanadaAmy Elsner NEW
Greenwood V DilliardCanadaElwin Sharvill NEW
Ashley Q BowleyBrazilIoni Bowcher NEW
Maria G CampainSpainAnna Fali QUALIFIED
Isabel E FollerJapanStephen Shaw NEW
Nicolas S WieserItalyAmy Elsner UNQUALIFIED
Tony M PaprockiRussiaStephen Shaw RENEWAL
Rodrigues V AmigonRussiaAmy Elsner RENEWAL
Jefferson G IturbideAustraliaStephen Shaw QUALIFIED
Aditya N KuskoArgentinaAmy Elsner PROPOSAL
Maisha X MaletRussiaAsiya Javayant NEW
Cody R CampainUnited KingdomAnna Fali PROPOSAL
Mayumi A BriddickArgentinaAnna Fali UNQUALIFIED
Jones B RulapaughFranceStephen Shaw RENEWAL
Alejandro U MaletSpainStephen Shaw NEGOTIATION
Julie V DoeSpainOnyama Limba NEGOTIATION
Misaki V MaletIndiaStephen Shaw UNQUALIFIED
Emily W PerinSpainStephen Shaw NEGOTIATION
Deepesh U BologniaIndiaIvan Magalhaes PROPOSAL
Kaitlin X InouyeAustraliaXuxue Feng QUALIFIED
Faith T NestleRussiaElwin Sharvill NEGOTIATION
Sinclair M SergiAustraliaIvan Magalhaes QUALIFIED
James Q OldroydAustraliaIoni Bowcher RENEWAL
Emily T AmigonBrazilIoni Bowcher PROPOSAL
Nicolas Z KolmetzSpainAnna Fali NEW
Munro G SchemmerUnited KingdomBernardo Dominic NEW
Salvatore H VocelkaFranceIvan Magalhaes RENEWAL
Deepesh B KolmetzBrazilBernardo Dominic NEGOTIATION
Salvatore K KolmetzAustraliaAsiya Javayant PROPOSAL
Silvio K NickaItalyElwin Sharvill NEGOTIATION
Munro Q BriddickSpainAnna Fali NEW
Jones D MaletGermanyIvan Magalhaes RENEWAL
Cody W ShinkoArgentinaAnna Fali NEGOTIATION
Octavia U OstroskyCanadaAnna Fali NEGOTIATION
Ashley E ChuiCanadaAsiya Javayant UNQUALIFIED
Ashley O IturbideAustraliaAnna Fali NEW
Darci L GlickArgentinaIvan Magalhaes RENEWAL
Frozen Columns
Name
Maria R Perin
Aika R Maclead
Isabel B Wieser
Faith K Sergi
Salvatore Z Sergi
Mujtaba U Figeroa
Ivar R Schemmer
Deepesh I Bowley
Munro L Ruta
Mayumi J Morasca
Jennifer O Flosi
Darci K Butt
Octavia J Schemmer
Mayumi V Kolmetz
Sinclair Y Dilliard
Antonio Q Wieser
David M Marrier
Sinclair D Marrier
Francesco C Waycott
Darci V Doe
Wickens F Chui
Mayumi E Paprocki
Emily L Schemmer
Kadeem V Whobrey
Leja M Campain
Aditya J Dilliard
Kadeem E Sergi
Aditya D Gillian
Jennifer O Rulapaugh
Faith J Kusko
Stacey X Doe
Johnson U Paprocki
Kadeem F Albares
Murillo V Venere
Ricardo R Dilliard
Izzy F Oldroyd
Munro Y Foller
Adams O Inouye
Antonio U Garufi
Claire I Royster
Nicolas P Gaucho
Kadeem F Rim
Misaki O Foller
Faith L Vocelka
Kaitlin L Marrier
Deepesh T Ostrosky
Claire G Perin
Octavia B Malet
Jones D Rulapaugh
Silvio F Maclead
IdCountryDate
1000Australia2026-09-19
1001Italy2026-10-03
1002Brazil2026-09-07
1003Canada2026-09-07
1004Russia2026-09-09
1005Argentina2026-10-02
1006United Kingdom2026-10-02
1007France2026-10-03
1008United Kingdom2026-09-18
1009Germany2026-09-25
1010Germany2026-09-15
1011Germany2026-09-19
1012Brazil2026-09-10
1013Russia2026-09-07
1014Italy2026-10-02
1015Japan2026-10-02
1016Japan2026-09-21
1017India2026-09-25
1018Argentina2026-09-24
1019Argentina2026-09-24
1020Germany2026-09-19
1021Argentina2026-10-02
1022Germany2026-09-18
1023United Kingdom2026-09-12
1024United Kingdom2026-09-20
1025France2026-09-19
1026France2026-09-09
1027France2026-09-16
1028Germany2026-09-05
1029Brazil2026-10-02
1030Canada2026-09-22
1031Germany2026-09-11
1032Australia2026-09-10
1033Brazil2026-09-23
1034India2026-10-04
1035Spain2026-09-18
1036Japan2026-09-25
1037United Kingdom2026-10-01
1038United Kingdom2026-09-19
1039India2026-09-10
1040Italy2026-09-14
1041Australia2026-09-21
1042Japan2026-09-07
1043Russia2026-09-23
1044Canada2026-09-23
1045United Kingdom2026-09-07
1046Brazil2026-10-01
1047Russia2026-10-04
1048France2026-09-16
1049Brazil2026-09-22

On-Demand Data

NameIdCountryDate
Kadeem R Ruta1000Germany2026-09-24
Jefferson B Chui1001Canada2026-09-11
Maisha L Briddick1002India2026-09-19
Isabel Z Nestle1003Australia2026-09-28
Maria A Nicka1004Spain2026-09-06
Morrow H Campain1005Argentina2026-09-10
Julie G Caudy1006India2026-09-15
Izzy Y Stenseth1007Brazil2026-10-01
Ivar B Caudy1008India2026-09-08
Greenwood J Venere1009Germany2026-09-28
Smith O Ruta1010Italy2026-09-27
Salvatore S Butt1011Germany2026-09-14
Smith M Stenseth1012India2026-09-16
Antonio J Perin1013Italy2026-09-20
Leja L Marrier1014Brazil2026-09-30
Juan M Bolognia1015India2026-10-04
Izzy C Nestle1016Germany2026-09-20
Aika T Malet1017Brazil2026-09-20
Darci F Nestle1018France2026-09-14
Alejandro N Paprocki1019Russia2026-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem H ButtArgentinaOnyama Limba RENEWAL
Emily Y AmigonIndiaOnyama Limba PROPOSAL
Rodrigues P TollnerJapanOnyama Limba PROPOSAL
Morrow Y PerinGermanyAsiya Javayant PROPOSAL
Sinclair Y WhobreyArgentinaBernardo Dominic UNQUALIFIED
Clifford U GillianSpainBernardo Dominic QUALIFIED
Morrow A CaldareraIndiaAmy Elsner UNQUALIFIED
Morrow M WaycottIndiaStephen Shaw RENEWAL
Sinclair D WhobreyAustraliaAmy Elsner QUALIFIED
Octavia X CaudyFranceElwin Sharvill QUALIFIED
Jeanfrancois Q SchemmerSpainBernardo Dominic NEGOTIATION
Leon W KolmetzSpainOnyama Limba QUALIFIED
Salvatore D WaycottAustraliaIoni Bowcher QUALIFIED
Nicolas X InouyeBrazilAsiya Javayant NEGOTIATION
Emily K FerenczSpainElwin Sharvill NEW
Smith V GlickGermanyIvan Magalhaes RENEWAL
David H PaprockiSpainElwin Sharvill NEW
Sinclair D ChuiFranceXuxue Feng RENEWAL
Aika K ButtArgentinaXuxue Feng UNQUALIFIED
Adams V MarrierItalyAnna Fali NEW
Adams F FerenczGermanyOnyama Limba UNQUALIFIED
Julie G SaylorsUnited KingdomOnyama Limba UNQUALIFIED
Izzy H WhobreyRussiaXuxue Feng QUALIFIED
David K WieserIndiaAmy Elsner NEGOTIATION
Mujtaba N PoquetteIndiaElwin Sharvill QUALIFIED
Izzy W StockhamItalyAnna Fali PROPOSAL
Izzy P BologniaJapanAsiya Javayant RENEWAL
Isabel Z MaletGermanyIoni Bowcher QUALIFIED
Jefferson Z VocelkaAustraliaAnna Fali UNQUALIFIED
Tony V NestleArgentinaIvan Magalhaes RENEWAL
Silvio X PoquetteItalyElwin Sharvill RENEWAL
Antonio V PaprockiGermanyAsiya Javayant QUALIFIED
Mayumi C MaletCanadaAsiya Javayant QUALIFIED
Clifford L DilliardRussiaIoni Bowcher NEW
Munro U AmigonJapanStephen Shaw NEGOTIATION
Julie A SlusarskiIndiaStephen Shaw PROPOSAL
Ivar G IturbideCanadaAsiya Javayant NEW
Ricardo O MaletArgentinaAnna Fali UNQUALIFIED
Juan J BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Misaki Y AmigonFranceIoni Bowcher 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>