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 V StensethIndiaBernardo Dominic UNQUALIFIED
Tony K GarufiIndiaAmy Elsner NEGOTIATION
Misaki F BriddickSpainXuxue Feng NEW
Salvatore T FerenczAustraliaBernardo Dominic NEGOTIATION
Julie T ChuiGermanyElwin Sharvill UNQUALIFIED
Maria O ChuiItalyAmy Elsner PROPOSAL
Chavez G WhobreyGermanyIvan Magalhaes QUALIFIED
Octavia T ChuiGermanyBernardo Dominic UNQUALIFIED
Arvin U NestleAustraliaXuxue Feng NEGOTIATION
Morrow S OstroskyFranceIvan Magalhaes RENEWAL
Ashley X ShinkoBrazilAmy Elsner QUALIFIED
Wickens Q StockhamSpainAmy Elsner PROPOSAL
Chavez N ChuiCanadaIvan Magalhaes NEGOTIATION
Cody M FollerArgentinaBernardo Dominic QUALIFIED
Jefferson A CaudyAustraliaXuxue Feng NEW
Rodrigues L FigeroaRussiaStephen Shaw RENEWAL
Deepesh Q FlosiAustraliaIvan Magalhaes NEGOTIATION
Maria I InouyeJapanAmy Elsner UNQUALIFIED
James Z NestleFranceOnyama Limba PROPOSAL
Murillo D BriddickRussiaIvan Magalhaes UNQUALIFIED
Claire R NestleUnited KingdomIvan Magalhaes RENEWAL
Kaitlin W BowleyJapanXuxue Feng NEW
Smith Q BriddickIndiaOnyama Limba UNQUALIFIED
Cody X TollnerAustraliaAsiya Javayant UNQUALIFIED
Salvatore J BriddickJapanAmy Elsner PROPOSAL
Octavia R DilliardJapanAmy Elsner PROPOSAL
Smith E StockhamFranceBernardo Dominic RENEWAL
Rodrigues G MacleadJapanAmy Elsner PROPOSAL
Isabel Y PaprockiJapanStephen Shaw UNQUALIFIED
Aruna R WieserSpainBernardo Dominic PROPOSAL
Wickens Q MaletBrazilIoni Bowcher NEW
Tony Y DarakjyArgentinaElwin Sharvill UNQUALIFIED
Aditya H WaycottArgentinaOnyama Limba UNQUALIFIED
Kaitlin P CaldareraAustraliaElwin Sharvill NEW
Clifford T GauchoUnited KingdomXuxue Feng QUALIFIED
Kaitlin M FollerItalyElwin Sharvill UNQUALIFIED
Chavez U CaudySpainIvan Magalhaes RENEWAL
Johnson H PaprockiSpainElwin Sharvill UNQUALIFIED
Darci J PaprockiGermanyStephen Shaw QUALIFIED
Johnson M StockhamJapanAmy Elsner NEW
Leja S BowleyRussiaIoni Bowcher RENEWAL
Kaitlin F DarakjyGermanyElwin Sharvill RENEWAL
Aika X MarrierJapanIoni Bowcher PROPOSAL
Chavez G OstroskyRussiaIoni Bowcher NEW
Jennifer A NickaUnited KingdomStephen Shaw PROPOSAL
Greenwood O BowleyUnited KingdomAnna Fali QUALIFIED
Jones A BowleyCanadaOnyama Limba QUALIFIED
Tony A DilliardAustraliaIvan Magalhaes RENEWAL
Izzy H AmigonRussiaAnna Fali NEGOTIATION
Tony E BologniaSpainOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Morrow G VocelkaIndiaIoni Bowcher QUALIFIED
Isabel T InouyeArgentinaIoni Bowcher UNQUALIFIED
Costa F AlbaresGermanyBernardo Dominic RENEWAL
Smith B SchemmerArgentinaAmy Elsner NEW
Wickens G StensethRussiaElwin Sharvill NEW
Chavez P WaycottCanadaBernardo Dominic PROPOSAL
Jennifer F AmigonIndiaIvan Magalhaes NEGOTIATION
Johnson W InouyeItalyElwin Sharvill RENEWAL
Alejandro Y ChuiIndiaElwin Sharvill NEGOTIATION
Claire M VocelkaSpainAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David D BriddickFrance2026-10-01Buckley Miller Wright PROPOSAL51Anna Fali
1001Deepesh S BologniaItaly2026-09-21King, Christopher A Esq UNQUALIFIED13Elwin Sharvill
1002Tony K FigeroaBrazil2026-10-07Buckley Miller Wright QUALIFIED21Amy Elsner
1003Costa U MacleadBrazil2026-10-08Chanay, Jeffrey A Esq UNQUALIFIED24Stephen Shaw
1004Emily Q PerinUnited Kingdom2026-09-15Printing Dimensions QUALIFIED11Bernardo Dominic
1005Mayumi W NickaItaly2026-09-18Feiner Bros NEGOTIATION83Ivan Magalhaes
1006Sinclair V RoysterRussia2026-10-13Printing Dimensions PROPOSAL59Elwin Sharvill
1007Juan W GillianCanada2026-10-06Rangoni Of Florence UNQUALIFIED27Onyama Limba
1008Izzy F WieserRussia2026-09-24Chemel, James L Cpa NEGOTIATION78Stephen Shaw
1009Mayumi D RoysterJapan2026-10-12Truhlar And Truhlar Attys NEGOTIATION66Asiya Javayant
1010Isabel X RoysterJapan2026-09-23Truhlar And Truhlar Attys QUALIFIED58Amy Elsner
1011Maria E FollerCanada2026-09-15King, Christopher A Esq NEW30Bernardo Dominic
1012Arvin K MarrierJapan2026-09-15Rousseaux, Michael Esq NEGOTIATION6Xuxue Feng
1013Darci R VocelkaUnited Kingdom2026-10-06Feltz Printing Service NEGOTIATION65Amy Elsner
1014Mujtaba A StockhamGermany2026-09-19Chanay, Jeffrey A Esq RENEWAL19Onyama Limba
1015Cody J DoeCanada2026-09-19Chanay, Jeffrey A Esq QUALIFIED50Ioni Bowcher
1016Julie H StensethRussia2026-10-10Morlong Associates QUALIFIED81Asiya Javayant
1017Mayumi W MarrierIndia2026-09-23Benton, John B Jr PROPOSAL95Xuxue Feng
1018Juan V FlosiArgentina2026-09-23Feiner Bros UNQUALIFIED75Onyama Limba
1019Ivar E VocelkaItaly2026-09-18Feiner Bros NEW5Asiya Javayant
1020Tony L CaudyRussia2026-09-24Benton, John B Jr RENEWAL74Ivan Magalhaes
1021Jefferson O StensethRussia2026-10-14Rousseaux, Michael Esq RENEWAL77Ioni Bowcher
1022Jennifer U BowleyFrance2026-09-28Buckley Miller Wright UNQUALIFIED97Ioni Bowcher
1023Nicolas P SlusarskiUnited Kingdom2026-09-19Feltz Printing Service QUALIFIED3Asiya Javayant
1024Cody M SergiArgentina2026-10-13Chapman, Ross E Esq QUALIFIED36Ioni Bowcher
1025Aika M KolmetzCanada2026-10-09Commercial Press PROPOSAL30Anna Fali
1026Ashley I BowleyGermany2026-09-27Chapman, Ross E Esq NEW38Elwin Sharvill
1027Johnson X SergiItaly2026-09-21Chemel, James L Cpa NEGOTIATION41Onyama Limba
1028Costa Q NestleFrance2026-10-06Feltz Printing Service UNQUALIFIED84Xuxue Feng
1029Misaki I OldroydRussia2026-09-19King, Christopher A Esq QUALIFIED75Ioni Bowcher
1030Emily D BowleyRussia2026-10-09Feltz Printing Service NEW85Elwin Sharvill
1031Isabel I WaycottBrazil2026-10-09Chanay, Jeffrey A Esq RENEWAL23Bernardo Dominic
1032Deepesh M DarakjyRussia2026-10-10Chemel, James L Cpa PROPOSAL85Anna Fali
1033Adams S NestleArgentina2026-10-12Chapman, Ross E Esq NEGOTIATION68Asiya Javayant
1034Claire C VocelkaJapan2026-10-06Feiner Bros NEGOTIATION85Amy Elsner
1035Julie W GarufiAustralia2026-10-10Dorl, James J Esq NEGOTIATION52Xuxue Feng
1036Stacey A AlbaresAustralia2026-10-10Dorl, James J Esq PROPOSAL9Anna Fali
1037Clifford L GarufiCanada2026-09-16Chapman, Ross E Esq RENEWAL95Elwin Sharvill
1038Murillo K GauchoSpain2026-09-20Chemel, James L Cpa NEW18Amy Elsner
1039Emily F PaprockiBrazil2026-09-17Buckley Miller Wright NEW29Onyama Limba
1040Izzy J IturbideIndia2026-10-02Dorl, James J Esq QUALIFIED36Stephen Shaw
1041Munro Z SlusarskiAustralia2026-10-04Rangoni Of Florence NEW61Ivan Magalhaes
1042Mujtaba J OldroydUnited Kingdom2026-10-02Rangoni Of Florence UNQUALIFIED75Anna Fali
1043Leon K RulapaughRussia2026-09-30Chanay, Jeffrey A Esq NEGOTIATION1Ioni Bowcher
1044Sinclair X KuskoIndia2026-09-29Dorl, James J Esq RENEWAL73Amy Elsner
1045Arvin Z RoysterIndia2026-10-01King, Christopher A Esq NEGOTIATION25Onyama Limba
1046Francesco P BriddickGermany2026-09-18King, Christopher A Esq PROPOSAL73Xuxue Feng
1047Kaitlin L CaldareraFrance2026-10-07Chapman, Ross E Esq PROPOSAL31Stephen Shaw
1048Aditya W IturbideJapan2026-09-23Truhlar And Truhlar Attys PROPOSAL58Onyama Limba
1049Ivar E RutaFrance2026-09-25Truhlar And Truhlar Attys RENEWAL90Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Deepesh P FollerFranceAnna Fali PROPOSAL
Emily G CaudyUnited KingdomAmy Elsner QUALIFIED
Darci I AlbaresItalyIoni Bowcher NEGOTIATION
David V FlosiBrazilStephen Shaw QUALIFIED
Silvio C PaprockiIndiaAsiya Javayant QUALIFIED
Isabel C TollnerJapanIvan Magalhaes NEGOTIATION
Rodrigues X DarakjySpainAmy Elsner PROPOSAL
Emily K RulapaughCanadaStephen Shaw UNQUALIFIED
Jones L RutaJapanBernardo Dominic RENEWAL
Leon B NickaIndiaIvan Magalhaes NEGOTIATION
Clifford K MaletGermanyAnna Fali NEW
Mujtaba T TollnerCanadaAsiya Javayant QUALIFIED
Aditya K WhobreyCanadaAsiya Javayant NEW
Jefferson R CampainSpainAsiya Javayant UNQUALIFIED
Emily U WaycottAustraliaAnna Fali PROPOSAL
Leon E GauchoItalyAsiya Javayant UNQUALIFIED
Antonio X NestleUnited KingdomBernardo Dominic NEGOTIATION
Jones D RutaIndiaElwin Sharvill RENEWAL
Ashley F ButtBrazilXuxue Feng NEW
Ashley W NickaArgentinaXuxue Feng RENEWAL
Munro Q ChuiJapanElwin Sharvill NEGOTIATION
Ricardo W MaletItalyIoni Bowcher UNQUALIFIED
Kaitlin I BowleyJapanAsiya Javayant PROPOSAL
Kaitlin N VenereJapanOnyama Limba NEW
Leon Y SaylorsRussiaElwin Sharvill NEGOTIATION
Jones I KolmetzCanadaIoni Bowcher NEGOTIATION
Stacey S GarufiCanadaIoni Bowcher NEGOTIATION
Jones C GarufiArgentinaAmy Elsner RENEWAL
Octavia Q BologniaGermanyAsiya Javayant RENEWAL
Aditya J BriddickItalyAsiya Javayant QUALIFIED
Antonio E RutaGermanyElwin Sharvill NEW
Jeanfrancois Q GauchoFranceStephen Shaw PROPOSAL
Ashley F FollerUnited KingdomStephen Shaw NEGOTIATION
Octavia Q CaldareraRussiaIvan Magalhaes NEGOTIATION
Darci V NickaArgentinaOnyama Limba RENEWAL
Claire N SlusarskiIndiaAsiya Javayant UNQUALIFIED
Claire F VenereBrazilOnyama Limba NEW
Deepesh C AlbaresSpainIvan Magalhaes PROPOSAL
Rodrigues Z FlosiSpainBernardo Dominic QUALIFIED
Greenwood Y RoysterIndiaAnna Fali UNQUALIFIED
Claire N MaletFranceIoni Bowcher UNQUALIFIED
Johnson I KuskoArgentinaIoni Bowcher NEGOTIATION
Aika C PerinSpainElwin Sharvill NEW
David E FlosiSpainOnyama Limba UNQUALIFIED
Smith J DilliardSpainAmy Elsner UNQUALIFIED
Adams R MorascaItalyBernardo Dominic NEGOTIATION
Emily K GauchoIndiaOnyama Limba RENEWAL
Antonio M PaprockiGermanyElwin Sharvill PROPOSAL
Murillo U FigeroaIndiaIoni Bowcher PROPOSAL
Octavia Z MorascaJapanIoni Bowcher QUALIFIED
Frozen Columns
Name
Silvio V Schemmer
Costa J Inouye
Alejandro I Bolognia
Salvatore L Amigon
Greenwood C Malet
Nicolas Q Darakjy
Mujtaba R Butt
Mujtaba J Royster
Smith H Paprocki
Ricardo A Royster
Maisha G Tollner
Leja U Malet
Murillo C Butt
Smith H Slusarski
Ashley U Foller
Francesco V Albares
Jones S Flosi
Antonio N Nicka
Morrow F Kusko
Cody Q Kolmetz
Silvio U Rim
Jones T Malet
Kadeem F Marrier
Juan G Kusko
Leon O Glick
Morrow D Marrier
Izzy Z Dilliard
Aika X Oldroyd
Juan P Oldroyd
David F Malet
Faith L Chui
Ricardo W Rim
Mayumi O Inouye
Mayumi D Butt
Faith Q Shinko
Ivar H Oldroyd
Clifford I Glick
Misaki W Schemmer
Kaitlin V Shinko
Rodrigues Q Briddick
Jefferson K Chui
Alejandro L Wieser
Ivar X Whobrey
Aika Y Malet
Murillo V Perin
Faith J Stockham
Salvatore S Malet
Mujtaba T Vocelka
Mayumi J Oldroyd
Antonio J Ruta
IdCountryDate
1000Russia2026-09-26
1001Japan2026-09-15
1002Italy2026-10-01
1003Argentina2026-09-19
1004Brazil2026-10-13
1005Japan2026-09-30
1006Spain2026-10-14
1007India2026-10-10
1008Germany2026-09-30
1009Argentina2026-10-12
1010Italy2026-09-17
1011France2026-10-11
1012Canada2026-10-03
1013United Kingdom2026-09-25
1014France2026-09-16
1015Italy2026-10-09
1016France2026-09-23
1017Japan2026-10-11
1018Italy2026-09-21
1019Japan2026-09-28
1020Brazil2026-10-14
1021Brazil2026-09-26
1022United Kingdom2026-10-06
1023Russia2026-09-19
1024Spain2026-09-30
1025Canada2026-09-18
1026Japan2026-09-24
1027Canada2026-09-30
1028India2026-09-23
1029Argentina2026-09-23
1030Spain2026-09-29
1031Japan2026-09-25
1032Italy2026-10-04
1033France2026-10-12
1034Japan2026-10-11
1035Australia2026-10-06
1036Argentina2026-10-10
1037Brazil2026-10-04
1038Australia2026-09-20
1039Germany2026-09-30
1040Australia2026-10-11
1041United Kingdom2026-10-01
1042Spain2026-10-09
1043France2026-10-12
1044Spain2026-10-10
1045France2026-10-11
1046Australia2026-09-30
1047Australia2026-09-24
1048Japan2026-09-21
1049France2026-10-09

On-Demand Data

NameIdCountryDate
Salvatore L Garufi1000Argentina2026-10-12
Maisha V Wieser1001France2026-09-17
Smith Z Iturbide1002Australia2026-09-26
Darci U Tollner1003Argentina2026-10-07
Cody D Waycott1004United Kingdom2026-09-24
Jones V Gillian1005India2026-09-22
Cody V Oldroyd1006Argentina2026-10-14
Cody M Foller1007United Kingdom2026-10-10
Julie S Chui1008Russia2026-09-26
Kaitlin Y Butt1009Australia2026-10-12
Silvio H Flosi1010United Kingdom2026-10-08
Deepesh L Bowley1011Canada2026-09-29
Darci N Ruta1012France2026-09-18
Faith J Oldroyd1013France2026-10-07
Kadeem L Caudy1014Italy2026-09-21
Silvio P Nicka1015Germany2026-10-12
Jefferson Q Kolmetz1016Brazil2026-09-25
Morrow D Malet1017France2026-09-18
David D Campain1018Spain2026-09-26
Alejandro Z Garufi1019France2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Y MaletCanadaXuxue Feng RENEWAL
Kaitlin Z ChuiFranceBernardo Dominic QUALIFIED
Jeanfrancois G DarakjyBrazilIvan Magalhaes NEGOTIATION
Mujtaba Q StockhamItalyAsiya Javayant RENEWAL
Jefferson T DarakjyAustraliaIoni Bowcher NEGOTIATION
Stacey P CampainRussiaXuxue Feng NEW
Faith T NestleRussiaOnyama Limba RENEWAL
Juan E SaylorsJapanXuxue Feng UNQUALIFIED
Deepesh P WieserCanadaAnna Fali QUALIFIED
Murillo K NestleBrazilOnyama Limba NEW
Darci Q MarrierUnited KingdomXuxue Feng UNQUALIFIED
Juan L RimSpainOnyama Limba QUALIFIED
Aruna Q GauchoIndiaElwin Sharvill NEGOTIATION
Ivar V RutaFranceAsiya Javayant NEGOTIATION
Arvin J WaycottFranceAsiya Javayant QUALIFIED
Isabel W KuskoUnited KingdomBernardo Dominic NEW
Jefferson L OstroskyGermanyIoni Bowcher QUALIFIED
Antonio Y ButtFranceBernardo Dominic QUALIFIED
Tony G RimSpainAmy Elsner RENEWAL
Octavia B PoquetteItalyElwin Sharvill RENEWAL
Adams S BologniaRussiaAmy Elsner NEW
Ricardo Y ChuiJapanElwin Sharvill PROPOSAL
Isabel J SlusarskiCanadaBernardo Dominic PROPOSAL
Emily D PerinArgentinaIvan Magalhaes UNQUALIFIED
Darci V CaudyRussiaAnna Fali RENEWAL
Tony S PaprockiCanadaOnyama Limba PROPOSAL
Darci Y VenereArgentinaIvan Magalhaes NEW
Aruna U OstroskySpainXuxue Feng NEGOTIATION
Sinclair H PerinRussiaXuxue Feng QUALIFIED
Kadeem B BowleyJapanStephen Shaw PROPOSAL
Adams N RulapaughUnited KingdomStephen Shaw NEGOTIATION
Isabel D StockhamBrazilAnna Fali RENEWAL
Nicolas Q CaudyIndiaElwin Sharvill UNQUALIFIED
Darci O DoeGermanyAmy Elsner UNQUALIFIED
Ricardo J OldroydItalyAmy Elsner RENEWAL
Cody A RimIndiaIvan Magalhaes NEGOTIATION
Arvin W StockhamRussiaIoni Bowcher QUALIFIED
Sinclair X SergiJapanAnna Fali PROPOSAL
Smith T PaprockiIndiaIoni Bowcher NEGOTIATION
Isabel X OstroskyArgentinaAnna Fali QUALIFIED

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