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
Munro W BriddickItalyXuxue Feng NEW
Jones P StockhamBrazilIvan Magalhaes NEGOTIATION
Rodrigues V ChuiRussiaOnyama Limba NEGOTIATION
Adams T WhobreyJapanXuxue Feng UNQUALIFIED
Arvin A WieserFranceAsiya Javayant RENEWAL
Cody O AmigonGermanyStephen Shaw UNQUALIFIED
Wickens K PerinFranceStephen Shaw QUALIFIED
Jefferson E KolmetzBrazilAnna Fali NEGOTIATION
Julie F PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Jefferson V PaprockiAustraliaStephen Shaw QUALIFIED
Leja E PerinFranceAnna Fali PROPOSAL
Ashley H PerinAustraliaStephen Shaw PROPOSAL
James A AlbaresArgentinaAsiya Javayant UNQUALIFIED
Misaki D PoquetteAustraliaXuxue Feng QUALIFIED
Murillo X MaletIndiaIoni Bowcher RENEWAL
Adams U MarrierRussiaXuxue Feng NEGOTIATION
Sinclair G CaudyItalyIoni Bowcher NEGOTIATION
Leon E AmigonRussiaIoni Bowcher NEGOTIATION
Greenwood Y MacleadBrazilIoni Bowcher QUALIFIED
Mayumi R AmigonSpainAsiya Javayant QUALIFIED
Silvio Q TollnerArgentinaAmy Elsner PROPOSAL
Silvio K OldroydFranceIvan Magalhaes UNQUALIFIED
Claire H KuskoGermanyAsiya Javayant UNQUALIFIED
Ricardo T FlosiArgentinaOnyama Limba NEGOTIATION
Cody R CampainRussiaStephen Shaw NEGOTIATION
Darci B FerenczCanadaAmy Elsner NEW
Juan F CaudySpainXuxue Feng UNQUALIFIED
Ivar I SergiJapanAnna Fali PROPOSAL
Jefferson M TollnerUnited KingdomElwin Sharvill QUALIFIED
Cody V MarrierJapanXuxue Feng NEGOTIATION
Chavez H WaycottFranceStephen Shaw NEW
Francesco T ChuiAustraliaBernardo Dominic UNQUALIFIED
Isabel O WaycottRussiaIoni Bowcher NEGOTIATION
Arvin H ButtBrazilXuxue Feng NEGOTIATION
Emily M ShinkoItalyIoni Bowcher RENEWAL
Deepesh C SlusarskiSpainElwin Sharvill PROPOSAL
Deepesh V ShinkoGermanyOnyama Limba UNQUALIFIED
Cody C DoeFranceAmy Elsner RENEWAL
Ashley V KolmetzCanadaOnyama Limba RENEWAL
Ashley A NestleUnited KingdomStephen Shaw NEW
Mayumi X BowleyArgentinaElwin Sharvill PROPOSAL
Octavia G CaldareraFranceAsiya Javayant NEW
Jeanfrancois A RulapaughAustraliaAmy Elsner NEGOTIATION
Francesco V KolmetzAustraliaAsiya Javayant RENEWAL
Jones A RutaCanadaElwin Sharvill RENEWAL
Smith Y DarakjyIndiaIvan Magalhaes QUALIFIED
Stacey C ShinkoFranceStephen Shaw NEW
Morrow X DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba F FollerUnited KingdomAnna Fali RENEWAL
Stacey L AlbaresSpainStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio E NickaFranceIvan Magalhaes NEW
Claire M DoeFranceIoni Bowcher UNQUALIFIED
David D BowleyRussiaOnyama Limba NEGOTIATION
Emily A GlickCanadaStephen Shaw NEGOTIATION
Izzy A FigeroaCanadaOnyama Limba QUALIFIED
Chavez O WhobreyItalyAmy Elsner NEW
Greenwood W TollnerItalyIvan Magalhaes UNQUALIFIED
Chavez I SaylorsBrazilElwin Sharvill NEGOTIATION
Isabel R MaletArgentinaStephen Shaw NEW
Julie S StensethJapanIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez X FollerCanada2026-09-04Buckley Miller Wright PROPOSAL40Anna Fali
1001Juan V KolmetzRussia2026-09-07Printing Dimensions PROPOSAL27Ivan Magalhaes
1002Greenwood Y FigeroaItaly2026-09-16King, Christopher A Esq NEGOTIATION86Ioni Bowcher
1003Nicolas A PaprockiUnited Kingdom2026-09-25Feiner Bros NEGOTIATION96Amy Elsner
1004Stacey M FollerJapan2026-09-09Benton, John B Jr PROPOSAL7Ivan Magalhaes
1005James U RulapaughBrazil2026-09-12Printing Dimensions PROPOSAL77Asiya Javayant
1006Clifford Y NestleFrance2026-09-27Rangoni Of Florence UNQUALIFIED39Xuxue Feng
1007Claire Q FigeroaFrance2026-09-25Dorl, James J Esq QUALIFIED23Amy Elsner
1008Adams B SlusarskiRussia2026-09-12Commercial Press NEW16Xuxue Feng
1009Aika V ChuiRussia2026-09-29Benton, John B Jr NEGOTIATION83Xuxue Feng
1010Jefferson J CampainArgentina2026-09-07Benton, John B Jr UNQUALIFIED86Ivan Magalhaes
1011Smith J AlbaresUnited Kingdom2026-09-16Truhlar And Truhlar Attys NEGOTIATION55Onyama Limba
1012Stacey F InouyeRussia2026-09-17Commercial Press QUALIFIED94Ioni Bowcher
1013Kadeem I SchemmerJapan2026-09-09Chanay, Jeffrey A Esq RENEWAL33Ioni Bowcher
1014Nicolas O GillianFrance2026-09-13Feltz Printing Service NEW87Ivan Magalhaes
1015Octavia R KuskoArgentina2026-09-24Commercial Press NEGOTIATION7Onyama Limba
1016Antonio H GillianCanada2026-09-21Chapman, Ross E Esq NEGOTIATION32Bernardo Dominic
1017Aditya F ShinkoGermany2026-09-12Chemel, James L Cpa QUALIFIED29Bernardo Dominic
1018Mujtaba G GauchoUnited Kingdom2026-09-14Benton, John B Jr PROPOSAL82Elwin Sharvill
1019Deepesh C SaylorsAustralia2026-09-27Feltz Printing Service UNQUALIFIED44Ivan Magalhaes
1020Chavez I VocelkaJapan2026-10-02Morlong Associates NEGOTIATION57Ivan Magalhaes
1021Johnson U MarrierRussia2026-09-12Rangoni Of Florence RENEWAL67Bernardo Dominic
1022Clifford L MaletRussia2026-09-16Buckley Miller Wright RENEWAL0Elwin Sharvill
1023Stacey U CampainGermany2026-09-23Dorl, James J Esq PROPOSAL77Asiya Javayant
1024Morrow Z KuskoCanada2026-09-21King, Christopher A Esq RENEWAL98Anna Fali
1025Ricardo X MarrierAustralia2026-09-07Rousseaux, Michael Esq NEW87Xuxue Feng
1026Costa K RutaIndia2026-09-22Chapman, Ross E Esq RENEWAL85Asiya Javayant
1027Ivar Z BowleyFrance2026-09-18Rousseaux, Michael Esq PROPOSAL50Onyama Limba
1028Aditya P OstroskySpain2026-09-24Feltz Printing Service NEGOTIATION20Asiya Javayant
1029Murillo V GlickGermany2026-10-01Morlong Associates NEW35Onyama Limba
1030Leja F DilliardUnited Kingdom2026-09-23Feltz Printing Service QUALIFIED25Elwin Sharvill
1031Johnson H FigeroaJapan2026-10-02Printing Dimensions NEW54Asiya Javayant
1032Maria Z GlickAustralia2026-09-13Truhlar And Truhlar Attys PROPOSAL59Xuxue Feng
1033Aika E FigeroaIndia2026-09-16Commercial Press RENEWAL2Bernardo Dominic
1034Johnson U BowleySpain2026-09-03Chapman, Ross E Esq QUALIFIED5Xuxue Feng
1035Sinclair U PerinSpain2026-09-27Dorl, James J Esq UNQUALIFIED67Amy Elsner
1036Ashley E SaylorsGermany2026-09-11Commercial Press UNQUALIFIED54Ivan Magalhaes
1037Leja J MarrierFrance2026-09-17Feiner Bros PROPOSAL28Ioni Bowcher
1038Francesco T DoeAustralia2026-09-18Dorl, James J Esq NEW61Ivan Magalhaes
1039Smith D DilliardItaly2026-10-02Buckley Miller Wright NEGOTIATION93Xuxue Feng
1040Aika C InouyeIndia2026-09-08Dorl, James J Esq UNQUALIFIED40Ioni Bowcher
1041Jefferson W DoeRussia2026-09-03Chapman, Ross E Esq QUALIFIED0Bernardo Dominic
1042Maisha F FlosiAustralia2026-09-29Rangoni Of Florence PROPOSAL29Asiya Javayant
1043Ivar S TollnerUnited Kingdom2026-09-20Benton, John B Jr QUALIFIED22Stephen Shaw
1044Jefferson W FerenczRussia2026-09-24Truhlar And Truhlar Attys NEGOTIATION67Anna Fali
1045Smith H KolmetzRussia2026-09-05Chanay, Jeffrey A Esq NEW18Amy Elsner
1046Cody Z ShinkoItaly2026-09-07Buckley Miller Wright QUALIFIED55Ivan Magalhaes
1047Claire C InouyeGermany2026-09-24Truhlar And Truhlar Attys PROPOSAL4Ioni Bowcher
1048Izzy M DoeCanada2026-09-16Feiner Bros NEGOTIATION24Bernardo Dominic
1049Ricardo U DarakjyFrance2026-09-23Benton, John B Jr PROPOSAL2Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Darci B GillianGermanyAmy Elsner RENEWAL
Munro X FollerGermanyAnna Fali UNQUALIFIED
Chavez N StensethRussiaXuxue Feng NEGOTIATION
Arvin M GlickIndiaOnyama Limba PROPOSAL
Antonio I CampainArgentinaIoni Bowcher PROPOSAL
Sinclair D KuskoJapanElwin Sharvill NEGOTIATION
Octavia O WhobreyCanadaAnna Fali UNQUALIFIED
Morrow X PaprockiArgentinaIoni Bowcher NEGOTIATION
Chavez G SchemmerJapanBernardo Dominic RENEWAL
Nicolas E CaudyBrazilIvan Magalhaes NEW
Arvin N AmigonJapanIoni Bowcher PROPOSAL
Aditya T WieserJapanOnyama Limba NEGOTIATION
Chavez N GlickItalyIvan Magalhaes RENEWAL
Jennifer J DilliardCanadaAmy Elsner UNQUALIFIED
Mayumi V DilliardCanadaBernardo Dominic PROPOSAL
James O GarufiIndiaAnna Fali UNQUALIFIED
Aika Y GillianArgentinaXuxue Feng QUALIFIED
Kadeem T WhobreyRussiaAmy Elsner PROPOSAL
Mujtaba R RimAustraliaElwin Sharvill UNQUALIFIED
Aditya W SergiJapanStephen Shaw PROPOSAL
Nicolas U SergiSpainIvan Magalhaes NEW
Rodrigues R MacleadItalyAmy Elsner QUALIFIED
Maisha D FollerGermanyAnna Fali UNQUALIFIED
Julie H FerenczAustraliaAsiya Javayant NEGOTIATION
Mujtaba Y RimSpainStephen Shaw UNQUALIFIED
Faith H MacleadAustraliaBernardo Dominic QUALIFIED
Julie Z OstroskyJapanAnna Fali RENEWAL
Morrow Q BriddickJapanBernardo Dominic NEGOTIATION
Kadeem W SergiSpainIoni Bowcher PROPOSAL
Cody M WhobreyRussiaBernardo Dominic QUALIFIED
Jeanfrancois H KuskoUnited KingdomAnna Fali NEW
Silvio W CaudyCanadaXuxue Feng UNQUALIFIED
Claire G MarrierBrazilAmy Elsner NEW
Murillo X PoquetteCanadaOnyama Limba UNQUALIFIED
Stacey M GauchoAustraliaElwin Sharvill QUALIFIED
Silvio H WieserRussiaAsiya Javayant PROPOSAL
Kaitlin U AlbaresItalyElwin Sharvill PROPOSAL
Maria Z VocelkaArgentinaBernardo Dominic PROPOSAL
Rodrigues U ChuiIndiaStephen Shaw QUALIFIED
Smith Z CaldareraFranceAnna Fali NEW
Aruna J PoquetteJapanIoni Bowcher PROPOSAL
Tony Q IturbideFranceAnna Fali UNQUALIFIED
Emily T MacleadRussiaStephen Shaw RENEWAL
Ivar I NestleGermanyStephen Shaw NEGOTIATION
Isabel G SaylorsRussiaAsiya Javayant RENEWAL
Aditya P SaylorsRussiaAsiya Javayant UNQUALIFIED
Mujtaba A BowleyFranceStephen Shaw QUALIFIED
Munro E AmigonRussiaIoni Bowcher QUALIFIED
Izzy O FollerArgentinaAmy Elsner QUALIFIED
Stacey L DarakjyRussiaBernardo Dominic NEW
Frozen Columns
Name
Costa B Darakjy
Morrow J Bowley
Leja Z Butt
Stacey F Amigon
Jefferson F Whobrey
Cody S Rulapaugh
Isabel F Malet
James W Marrier
Greenwood O Marrier
Adams I Nestle
Isabel E Campain
Isabel W Oldroyd
Emily I Vocelka
Kaitlin A Schemmer
Aika Z Stockham
Adams I Gillian
Francesco P Marrier
Silvio X Chui
Jeanfrancois E Whobrey
Clifford J Slusarski
Chavez L Bolognia
Leon K Poquette
Leon T Rulapaugh
Mujtaba O Chui
Wickens V Perin
Emily J Nestle
Stacey Y Poquette
James Q Nicka
Ricardo D Oldroyd
Murillo W Perin
Claire M Marrier
Darci T Rulapaugh
Mayumi M Venere
Maria J Saylors
Rodrigues K Maclead
Munro V Chui
Aika C Stenseth
Julie S Rulapaugh
Ivar Q Nestle
Jones W Inouye
Mayumi B Slusarski
Stacey T Malet
Jennifer A Kolmetz
Adams V Caudy
Mayumi H Doe
Morrow C Nicka
Wickens B Schemmer
Isabel D Morasca
Claire J Butt
Munro A Paprocki
IdCountryDate
1000France2026-09-10
1001Argentina2026-09-06
1002France2026-09-14
1003Brazil2026-10-02
1004Argentina2026-09-23
1005Brazil2026-09-15
1006Brazil2026-09-14
1007France2026-09-10
1008Canada2026-09-11
1009India2026-09-23
1010Argentina2026-09-11
1011Italy2026-09-04
1012Russia2026-09-14
1013Canada2026-09-13
1014Canada2026-09-15
1015Argentina2026-09-27
1016France2026-09-07
1017France2026-09-24
1018Germany2026-09-12
1019Australia2026-09-21
1020Argentina2026-09-24
1021Germany2026-09-19
1022Brazil2026-10-01
1023Russia2026-09-11
1024Italy2026-09-10
1025France2026-09-27
1026Italy2026-09-27
1027United Kingdom2026-09-18
1028Spain2026-09-04
1029India2026-09-06
1030Germany2026-09-29
1031Spain2026-09-28
1032Brazil2026-09-08
1033Japan2026-09-08
1034Russia2026-09-16
1035United Kingdom2026-09-12
1036Japan2026-09-09
1037Germany2026-09-21
1038Russia2026-09-17
1039Australia2026-09-14
1040Australia2026-09-26
1041Japan2026-09-14
1042France2026-09-27
1043Australia2026-09-13
1044Spain2026-10-02
1045Australia2026-09-14
1046India2026-09-10
1047Argentina2026-09-13
1048Japan2026-09-09
1049Canada2026-09-15

On-Demand Data

NameIdCountryDate
Juan V Bolognia1000India2026-09-27
Leon M Venere1001Japan2026-09-06
Darci Z Glick1002United Kingdom2026-09-05
Wickens K Amigon1003Brazil2026-09-08
Greenwood F Bolognia1004Australia2026-09-17
Claire O Gaucho1005India2026-09-16
James N Albares1006Australia2026-09-17
Ricardo B Shinko1007Germany2026-09-14
Antonio Y Sergi1008Russia2026-09-25
Sinclair K Wieser1009Brazil2026-09-20
Wickens U Caldarera1010Canada2026-09-27
Izzy S Rim1011Russia2026-09-30
Munro J Briddick1012France2026-09-30
Antonio X Foller1013United Kingdom2026-09-26
Costa T Flosi1014Russia2026-09-13
Isabel Y Morasca1015Italy2026-09-17
Silvio R Rulapaugh1016Spain2026-09-29
Faith T Stenseth1017Spain2026-09-08
Jefferson V Venere1018Germany2026-09-18
Ivar B Dilliard1019Italy2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa X StensethAustraliaStephen Shaw RENEWAL
Julie H RutaItalyIvan Magalhaes UNQUALIFIED
Ivar D MorascaFranceAmy Elsner RENEWAL
Mujtaba P KolmetzFranceIvan Magalhaes RENEWAL
Isabel S ShinkoItalyAsiya Javayant NEW
Francesco N KolmetzGermanyIvan Magalhaes UNQUALIFIED
Faith T OstroskyRussiaStephen Shaw NEGOTIATION
Deepesh I KolmetzGermanyAnna Fali QUALIFIED
Julie W BologniaItalyIvan Magalhaes RENEWAL
Murillo B KuskoJapanAnna Fali NEW
Jones L StensethIndiaAsiya Javayant PROPOSAL
Johnson F FlosiBrazilAsiya Javayant NEW
Tony H WhobreyJapanIoni Bowcher UNQUALIFIED
Ivar I SchemmerAustraliaAnna Fali RENEWAL
Maria I BologniaArgentinaIvan Magalhaes NEW
Julie E SergiRussiaIvan Magalhaes PROPOSAL
Jones N DoeItalyAmy Elsner NEW
Mayumi I GlickItalyBernardo Dominic NEGOTIATION
Claire T CampainCanadaAnna Fali QUALIFIED
Clifford A KuskoRussiaStephen Shaw NEW
Deepesh H VocelkaUnited KingdomAmy Elsner UNQUALIFIED
Jones P MacleadItalyStephen Shaw QUALIFIED
Darci C WieserJapanAmy Elsner NEW
David J PerinGermanyOnyama Limba UNQUALIFIED
Tony F CaldareraBrazilXuxue Feng UNQUALIFIED
Kadeem A RutaSpainIvan Magalhaes NEW
Jeanfrancois Z PoquetteUnited KingdomElwin Sharvill NEW
Jeanfrancois G BowleyJapanOnyama Limba NEGOTIATION
Deepesh W RulapaughJapanAsiya Javayant NEW
Ricardo C KuskoRussiaIvan Magalhaes QUALIFIED
Wickens C SergiItalyBernardo Dominic PROPOSAL
Jones H InouyeSpainXuxue Feng UNQUALIFIED
Aditya T WaycottFranceBernardo Dominic PROPOSAL
Morrow S FerenczJapanAnna Fali RENEWAL
Jefferson A NestleCanadaBernardo Dominic PROPOSAL
Costa R RulapaughAustraliaXuxue Feng NEGOTIATION
Morrow Z KuskoSpainIoni Bowcher QUALIFIED
Jefferson M DilliardSpainBernardo Dominic QUALIFIED
Maria U RoysterArgentinaOnyama Limba NEW
Octavia W NickaGermanyIoni 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>