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
Leja J GlickJapanXuxue Feng RENEWAL
Ashley N FerenczRussiaElwin Sharvill RENEWAL
Alejandro M FigeroaSpainIvan Magalhaes NEW
Alejandro J IturbideRussiaOnyama Limba UNQUALIFIED
Deepesh G WieserSpainOnyama Limba NEGOTIATION
Mujtaba A InouyeSpainOnyama Limba UNQUALIFIED
Ashley S SchemmerGermanyOnyama Limba QUALIFIED
Mujtaba G FollerFranceAmy Elsner NEW
Salvatore T GlickRussiaElwin Sharvill RENEWAL
Tony B ChuiAustraliaAsiya Javayant UNQUALIFIED
Mayumi V NestleArgentinaBernardo Dominic PROPOSAL
Clifford Y ButtItalyIoni Bowcher NEW
Izzy N VenereAustraliaAnna Fali NEW
Faith S RoysterFranceOnyama Limba RENEWAL
Mayumi R ChuiCanadaBernardo Dominic PROPOSAL
Jennifer P WieserSpainElwin Sharvill RENEWAL
Silvio P SlusarskiIndiaIvan Magalhaes NEW
Ricardo Y MaletJapanIvan Magalhaes RENEWAL
Faith T MaletJapanAnna Fali PROPOSAL
Maria V SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Greenwood P InouyeSpainElwin Sharvill NEGOTIATION
Maria G InouyeUnited KingdomIvan Magalhaes PROPOSAL
Jones P GlickGermanyIoni Bowcher PROPOSAL
Alejandro E FollerRussiaXuxue Feng RENEWAL
Murillo C ChuiCanadaIoni Bowcher PROPOSAL
Silvio P GillianUnited KingdomAsiya Javayant NEGOTIATION
Mujtaba C DarakjyJapanElwin Sharvill NEW
Mujtaba M DoeGermanyBernardo Dominic PROPOSAL
Octavia T BologniaItalyAnna Fali UNQUALIFIED
Alejandro L CaldareraBrazilAsiya Javayant NEW
Munro M FollerSpainAnna Fali UNQUALIFIED
Adams H WieserArgentinaIoni Bowcher QUALIFIED
Jones M FlosiSpainIoni Bowcher RENEWAL
Murillo I GlickUnited KingdomIoni Bowcher NEW
Julie T BologniaItalyAsiya Javayant NEW
Octavia T VenereArgentinaStephen Shaw PROPOSAL
Nicolas E DilliardSpainAsiya Javayant QUALIFIED
Cody C RutaGermanyIvan Magalhaes QUALIFIED
Deepesh Z DarakjyIndiaElwin Sharvill NEW
Juan D BologniaCanadaStephen Shaw NEW
Adams C DilliardItalyOnyama Limba NEW
Darci T MacleadIndiaBernardo Dominic NEGOTIATION
Deepesh W VocelkaFranceStephen Shaw NEW
Munro Q GauchoUnited KingdomOnyama Limba QUALIFIED
Francesco Q SaylorsUnited KingdomBernardo Dominic NEW
Rodrigues Z RimArgentinaAmy Elsner NEGOTIATION
Maria G WaycottItalyXuxue Feng UNQUALIFIED
Sinclair F WaycottJapanAsiya Javayant UNQUALIFIED
Mujtaba V PaprockiJapanBernardo Dominic RENEWAL
Stacey X GlickArgentinaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson R SaylorsSpainAsiya Javayant NEW
Ivar X SaylorsCanadaAsiya Javayant NEW
Maisha W PerinAustraliaIvan Magalhaes PROPOSAL
Kadeem F CampainAustraliaAsiya Javayant QUALIFIED
Greenwood F GillianGermanyAmy Elsner RENEWAL
Claire Y ButtArgentinaXuxue Feng PROPOSAL
Smith L NestleIndiaBernardo Dominic NEW
Wickens R DoeRussiaIoni Bowcher QUALIFIED
Mayumi O CaldareraGermanyElwin Sharvill PROPOSAL
Jones R CaudyGermanyXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon U VocelkaRussia2026-11-01Printing Dimensions UNQUALIFIED73Anna Fali
1001Leon G GlickGermany2026-11-03Feltz Printing Service UNQUALIFIED65Xuxue Feng
1002Aika U SergiCanada2026-11-04Chapman, Ross E Esq QUALIFIED23Ivan Magalhaes
1003Jennifer S RulapaughUnited Kingdom2026-10-27Commercial Press NEGOTIATION31Amy Elsner
1004Rodrigues K MaletRussia2026-10-20Truhlar And Truhlar Attys NEGOTIATION4Anna Fali
1005Clifford L NickaItaly2026-10-12King, Christopher A Esq NEGOTIATION93Bernardo Dominic
1006Arvin R NickaItaly2026-10-13Feltz Printing Service NEGOTIATION22Ioni Bowcher
1007Ricardo D KuskoRussia2026-10-12Morlong Associates NEGOTIATION83Stephen Shaw
1008Izzy Q PerinUnited Kingdom2026-10-13Benton, John B Jr NEW66Stephen Shaw
1009Mujtaba Z CaudyFrance2026-10-25Chemel, James L Cpa NEW52Amy Elsner
1010Aika Q CaldareraSpain2026-10-11Chanay, Jeffrey A Esq PROPOSAL67Anna Fali
1011Nicolas F DoeRussia2026-10-29Dorl, James J Esq QUALIFIED15Ivan Magalhaes
1012Ricardo B BriddickSpain2026-11-09Rangoni Of Florence NEGOTIATION35Xuxue Feng
1013Izzy I DarakjyCanada2026-11-08Chanay, Jeffrey A Esq NEW36Xuxue Feng
1014Clifford D OldroydUnited Kingdom2026-11-05Truhlar And Truhlar Attys NEGOTIATION15Onyama Limba
1015Juan E DoeGermany2026-11-08King, Christopher A Esq NEW37Amy Elsner
1016Munro T WaycottSpain2026-11-03Chanay, Jeffrey A Esq RENEWAL91Ivan Magalhaes
1017Nicolas Q KolmetzBrazil2026-11-06Chanay, Jeffrey A Esq PROPOSAL41Asiya Javayant
1018Chavez E MaletJapan2026-11-09Chapman, Ross E Esq NEW97Asiya Javayant
1019Cody E FerenczIndia2026-10-19King, Christopher A Esq RENEWAL39Ivan Magalhaes
1020Isabel Q DilliardSpain2026-11-07Morlong Associates QUALIFIED22Onyama Limba
1021Maisha Y MarrierSpain2026-11-07Dorl, James J Esq QUALIFIED56Ioni Bowcher
1022Cody Y WaycottUnited Kingdom2026-10-24King, Christopher A Esq NEW11Stephen Shaw
1023Rodrigues Z RimSpain2026-11-08Commercial Press NEGOTIATION61Elwin Sharvill
1024Nicolas U NickaRussia2026-10-31Feltz Printing Service NEW81Stephen Shaw
1025Isabel S WhobreyGermany2026-11-09Dorl, James J Esq NEW28Amy Elsner
1026Julie H ShinkoCanada2026-10-13Chapman, Ross E Esq RENEWAL24Anna Fali
1027Claire A MaletItaly2026-10-20Chanay, Jeffrey A Esq NEGOTIATION42Stephen Shaw
1028Johnson F PaprockiGermany2026-10-17Rangoni Of Florence PROPOSAL89Ivan Magalhaes
1029Maisha D NestleArgentina2026-10-21King, Christopher A Esq UNQUALIFIED59Xuxue Feng
1030Misaki P DoeBrazil2026-11-05Truhlar And Truhlar Attys UNQUALIFIED41Stephen Shaw
1031Maisha X SlusarskiIndia2026-11-05Rousseaux, Michael Esq QUALIFIED81Ivan Magalhaes
1032Darci R KuskoArgentina2026-10-11Benton, John B Jr RENEWAL89Bernardo Dominic
1033Juan W OstroskyCanada2026-10-14Morlong Associates UNQUALIFIED58Elwin Sharvill
1034Greenwood R CampainAustralia2026-10-13Buckley Miller Wright PROPOSAL46Anna Fali
1035Cody B MaletBrazil2026-10-11Truhlar And Truhlar Attys QUALIFIED54Asiya Javayant
1036Morrow U FerenczFrance2026-11-01Dorl, James J Esq QUALIFIED16Asiya Javayant
1037Mayumi B StockhamItaly2026-10-25Feiner Bros NEW20Bernardo Dominic
1038Costa B KolmetzGermany2026-11-06Printing Dimensions NEW85Xuxue Feng
1039Leon S OldroydArgentina2026-10-21Morlong Associates QUALIFIED91Bernardo Dominic
1040Jeanfrancois A PoquetteAustralia2026-10-17Chemel, James L Cpa NEW71Asiya Javayant
1041David L NestleAustralia2026-10-16Chanay, Jeffrey A Esq NEGOTIATION31Anna Fali
1042Salvatore B CampainFrance2026-10-18Chanay, Jeffrey A Esq PROPOSAL5Bernardo Dominic
1043Costa G KolmetzCanada2026-10-19Feltz Printing Service QUALIFIED12Stephen Shaw
1044Smith L GlickUnited Kingdom2026-10-24King, Christopher A Esq PROPOSAL18Bernardo Dominic
1045Leja V MaletFrance2026-11-09Commercial Press NEW68Asiya Javayant
1046Isabel P ChuiBrazil2026-10-30Morlong Associates QUALIFIED51Ivan Magalhaes
1047Maria A VenereAustralia2026-10-12Printing Dimensions QUALIFIED92Elwin Sharvill
1048Ivar I OstroskySpain2026-11-02Feltz Printing Service PROPOSAL30Xuxue Feng
1049Jefferson S DarakjyCanada2026-11-04Commercial Press PROPOSAL55Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Smith C ButtCanadaOnyama Limba RENEWAL
Munro C BriddickSpainXuxue Feng QUALIFIED
Francesco E SergiItalyAmy Elsner PROPOSAL
Maria F DarakjyBrazilAnna Fali UNQUALIFIED
Clifford H WhobreyGermanyIvan Magalhaes NEGOTIATION
Faith Z OstroskyRussiaAsiya Javayant RENEWAL
Jones V RutaIndiaAmy Elsner QUALIFIED
Maria K CampainBrazilOnyama Limba PROPOSAL
Costa E ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Misaki K GillianJapanAsiya Javayant RENEWAL
Jones O MaletJapanElwin Sharvill NEW
Silvio B BriddickArgentinaStephen Shaw QUALIFIED
Morrow X GarufiGermanyBernardo Dominic PROPOSAL
David E ButtArgentinaAmy Elsner QUALIFIED
Costa K GillianFranceXuxue Feng NEW
Leon N FigeroaFranceBernardo Dominic UNQUALIFIED
James T GauchoAustraliaAnna Fali QUALIFIED
Silvio R FlosiRussiaStephen Shaw UNQUALIFIED
Maisha I FerenczRussiaAnna Fali QUALIFIED
Morrow L IturbideFranceElwin Sharvill PROPOSAL
Isabel I ChuiGermanyAsiya Javayant NEW
Juan W IturbideGermanyOnyama Limba PROPOSAL
Salvatore L FollerFranceIvan Magalhaes NEW
Francesco V KuskoGermanyIvan Magalhaes NEW
David V OldroydUnited KingdomElwin Sharvill QUALIFIED
Juan Z FlosiItalyAnna Fali NEGOTIATION
Leon F IturbideAustraliaBernardo Dominic QUALIFIED
Francesco D NestleItalyIoni Bowcher RENEWAL
Clifford K ShinkoAustraliaBernardo Dominic QUALIFIED
Rodrigues R StensethItalyXuxue Feng UNQUALIFIED
Stacey I TollnerArgentinaXuxue Feng NEGOTIATION
Izzy D VenereIndiaXuxue Feng PROPOSAL
Ivar Q KolmetzJapanAnna Fali NEW
Maisha J RutaBrazilAmy Elsner NEGOTIATION
Greenwood W MacleadGermanyIoni Bowcher RENEWAL
Stacey J CampainGermanyAnna Fali NEGOTIATION
Ashley M MarrierCanadaXuxue Feng QUALIFIED
Salvatore K OldroydGermanyAmy Elsner RENEWAL
Arvin L MaletUnited KingdomOnyama Limba NEGOTIATION
Alejandro M GillianSpainStephen Shaw PROPOSAL
Ivar A CampainJapanIvan Magalhaes UNQUALIFIED
Kadeem P MorascaJapanBernardo Dominic RENEWAL
Silvio V WhobreyIndiaIvan Magalhaes QUALIFIED
Greenwood M InouyeFranceIoni Bowcher RENEWAL
Aditya J GauchoJapanAsiya Javayant UNQUALIFIED
Francesco T DilliardJapanStephen Shaw NEGOTIATION
Munro H GauchoRussiaAmy Elsner NEGOTIATION
Jefferson I RimUnited KingdomAnna Fali PROPOSAL
Jefferson J SlusarskiItalyXuxue Feng NEGOTIATION
Jones P DarakjyRussiaElwin Sharvill NEW
Frozen Columns
Name
Aruna T Rulapaugh
Mujtaba S Marrier
Mujtaba N Chui
Jeanfrancois W Schemmer
Tony L Ruta
Izzy L Malet
Aditya H Bolognia
Kadeem P Sergi
Ivar D Nestle
Smith Z Albares
Aruna Z Bolognia
Faith N Whobrey
Leon Q Schemmer
Francesco D Dilliard
Chavez J Kusko
Silvio Y Waycott
Leja V Malet
Jennifer X Dilliard
Juan B Foller
Octavia Z Kusko
Johnson T Whobrey
Clifford T Inouye
Jeanfrancois D Wieser
Aditya X Oldroyd
Kadeem T Inouye
Kadeem E Rulapaugh
Chavez A Perin
David J Tollner
Clifford T Garufi
Aruna W Caldarera
Munro T Bolognia
Leja Q Rulapaugh
Chavez T Chui
James B Gaucho
Aruna D Flosi
Maisha U Campain
Costa G Bolognia
Ricardo T Rim
Sinclair I Rim
Jefferson T Oldroyd
Misaki E Gaucho
Francesco H Caudy
Alejandro M Paprocki
Misaki U Shinko
Costa F Inouye
Kaitlin D Malet
Kadeem C Bolognia
Morrow L Rulapaugh
Salvatore C Doe
David C Nicka
IdCountryDate
1000Japan2026-10-27
1001Japan2026-10-29
1002Australia2026-11-05
1003Argentina2026-11-04
1004Japan2026-10-17
1005Russia2026-10-12
1006Australia2026-11-02
1007Canada2026-11-05
1008United Kingdom2026-11-04
1009United Kingdom2026-10-12
1010Australia2026-11-04
1011United Kingdom2026-10-21
1012Russia2026-11-06
1013Italy2026-11-02
1014Brazil2026-11-08
1015Canada2026-10-25
1016Brazil2026-10-22
1017Brazil2026-10-24
1018France2026-11-05
1019Italy2026-11-01
1020United Kingdom2026-10-23
1021Brazil2026-10-28
1022United Kingdom2026-11-01
1023Canada2026-11-07
1024France2026-11-09
1025Japan2026-10-31
1026Brazil2026-11-06
1027India2026-10-31
1028Argentina2026-11-05
1029France2026-10-17
1030Canada2026-10-15
1031Japan2026-10-16
1032India2026-11-06
1033Germany2026-10-20
1034Argentina2026-10-16
1035United Kingdom2026-11-06
1036United Kingdom2026-10-13
1037Australia2026-11-02
1038Canada2026-10-12
1039Italy2026-10-28
1040Canada2026-11-07
1041Germany2026-10-31
1042Russia2026-10-16
1043Japan2026-11-06
1044United Kingdom2026-11-05
1045Japan2026-10-27
1046United Kingdom2026-11-06
1047India2026-10-30
1048Australia2026-10-21
1049Germany2026-11-01

On-Demand Data

NameIdCountryDate
Faith C Waycott1000India2026-11-08
Deepesh D Royster1001Brazil2026-11-08
Chavez G Perin1002Germany2026-10-19
Johnson B Dilliard1003India2026-10-18
Maria T Royster1004Brazil2026-10-18
Faith I Darakjy1005Brazil2026-10-13
Kadeem L Stockham1006Italy2026-10-28
Murillo M Venere1007Argentina2026-10-13
Deepesh Q Nicka1008Brazil2026-10-14
Aditya N Kolmetz1009Brazil2026-11-01
Murillo P Glick1010Germany2026-10-13
Cody T Kolmetz1011Argentina2026-10-18
Isabel P Chui1012Canada2026-10-12
Jefferson K Maclead1013Germany2026-10-30
Smith D Tollner1014Brazil2026-11-01
Costa W Marrier1015Spain2026-11-06
Nicolas M Rulapaugh1016Russia2026-10-12
Costa B Albares1017Canada2026-11-08
Leon R Albares1018Spain2026-11-03
Greenwood O Ferencz1019Australia2026-11-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy J BriddickItalyElwin Sharvill RENEWAL
Faith O OldroydFranceAsiya Javayant QUALIFIED
Octavia O StockhamBrazilAsiya Javayant NEGOTIATION
Silvio P StockhamJapanAmy Elsner QUALIFIED
Leja W SaylorsAustraliaElwin Sharvill RENEWAL
Jones D DoeBrazilXuxue Feng NEGOTIATION
Kaitlin E FigeroaArgentinaAsiya Javayant QUALIFIED
Kadeem X DoeJapanOnyama Limba NEGOTIATION
Cody I SchemmerUnited KingdomStephen Shaw UNQUALIFIED
Isabel W GarufiGermanyIvan Magalhaes NEW
Aika C WhobreyGermanyXuxue Feng NEW
Mujtaba E RoysterUnited KingdomElwin Sharvill PROPOSAL
Adams M VenereUnited KingdomXuxue Feng UNQUALIFIED
Julie S CaudyRussiaElwin Sharvill QUALIFIED
Salvatore H FlosiRussiaStephen Shaw NEGOTIATION
Clifford G StensethGermanyAmy Elsner NEW
Tony G PaprockiItalyAmy Elsner RENEWAL
Salvatore R ButtRussiaAnna Fali NEW
Arvin M MorascaAustraliaIoni Bowcher UNQUALIFIED
Maria D MarrierGermanyStephen Shaw RENEWAL
Jennifer Z VocelkaGermanyXuxue Feng NEW
Silvio Q StockhamRussiaXuxue Feng NEW
Kaitlin O WieserArgentinaXuxue Feng NEW
Wickens X MaletCanadaElwin Sharvill PROPOSAL
Faith V KuskoSpainIoni Bowcher UNQUALIFIED
Munro D SlusarskiArgentinaAsiya Javayant NEGOTIATION
Wickens E RoysterFranceStephen Shaw NEGOTIATION
Octavia X FollerJapanStephen Shaw UNQUALIFIED
Darci Q CaudySpainOnyama Limba PROPOSAL
Deepesh Z NestleBrazilIvan Magalhaes NEW
Izzy H IturbideUnited KingdomIoni Bowcher RENEWAL
Cody S ChuiAustraliaBernardo Dominic RENEWAL
Rodrigues Y OldroydSpainBernardo Dominic NEGOTIATION
Alejandro C KolmetzFranceAmy Elsner PROPOSAL
Sinclair P PerinCanadaXuxue Feng PROPOSAL
Izzy J OldroydSpainAnna Fali QUALIFIED
Clifford V MorascaBrazilAsiya Javayant NEW
Jones Q OstroskyJapanAnna Fali UNQUALIFIED
Kaitlin H OldroydFranceAmy Elsner UNQUALIFIED
Kadeem H MaletSpainBernardo Dominic 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>