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
Francesco R SchemmerAustraliaBernardo Dominic QUALIFIED
Jones I GauchoCanadaIvan Magalhaes QUALIFIED
Salvatore J InouyeAustraliaAmy Elsner NEGOTIATION
Chavez G GarufiSpainElwin Sharvill NEGOTIATION
Faith Q GlickIndiaElwin Sharvill PROPOSAL
Sinclair X BologniaIndiaIoni Bowcher QUALIFIED
Adams T RimBrazilAnna Fali QUALIFIED
Ashley Z AmigonUnited KingdomIoni Bowcher NEW
Aika I MacleadJapanAnna Fali NEW
Deepesh T MorascaIndiaAmy Elsner RENEWAL
Tony W TollnerBrazilAmy Elsner NEGOTIATION
Stacey L RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Faith A FigeroaJapanIvan Magalhaes QUALIFIED
Rodrigues N ButtBrazilStephen Shaw RENEWAL
Salvatore M VenereBrazilElwin Sharvill RENEWAL
Ashley B DoeIndiaAnna Fali PROPOSAL
Juan T OstroskyAustraliaXuxue Feng RENEWAL
Leja G CaudyFranceAmy Elsner RENEWAL
Antonio A WaycottRussiaAmy Elsner QUALIFIED
Julie L GauchoBrazilXuxue Feng RENEWAL
Aika X BowleyFranceStephen Shaw PROPOSAL
Morrow U FigeroaGermanyOnyama Limba NEGOTIATION
Faith M ButtCanadaOnyama Limba RENEWAL
Alejandro P DoeGermanyAnna Fali RENEWAL
Jennifer R VocelkaAustraliaXuxue Feng PROPOSAL
Smith K NestleItalyXuxue Feng PROPOSAL
Silvio H DoeArgentinaAnna Fali QUALIFIED
Isabel M GlickCanadaAmy Elsner NEW
Aika F KuskoItalyOnyama Limba RENEWAL
Alejandro J AlbaresIndiaIoni Bowcher QUALIFIED
Salvatore K PoquetteJapanIoni Bowcher UNQUALIFIED
Morrow A GarufiUnited KingdomAmy Elsner NEW
Ashley U NestleFranceOnyama Limba UNQUALIFIED
Costa H GillianUnited KingdomBernardo Dominic PROPOSAL
Juan H DarakjyCanadaXuxue Feng NEGOTIATION
Jones Q PoquetteJapanStephen Shaw NEW
Kaitlin O BologniaRussiaAnna Fali NEGOTIATION
Isabel N RimItalyIvan Magalhaes NEGOTIATION
Aika X OstroskySpainElwin Sharvill QUALIFIED
Juan P KolmetzBrazilIoni Bowcher PROPOSAL
Isabel K OldroydItalyStephen Shaw UNQUALIFIED
Julie X WhobreyItalyStephen Shaw NEGOTIATION
Kadeem V MarrierFranceIoni Bowcher QUALIFIED
Kaitlin W VenereGermanyXuxue Feng PROPOSAL
Kadeem F RutaArgentinaAmy Elsner RENEWAL
James P NestleArgentinaElwin Sharvill NEW
Jeanfrancois M TollnerUnited KingdomStephen Shaw NEGOTIATION
Murillo O MaletSpainOnyama Limba NEW
Cody A SlusarskiUnited KingdomAsiya Javayant RENEWAL
Alejandro M RulapaughItalyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Darci R RoysterCanadaStephen Shaw NEGOTIATION
Aditya I GlickFranceIvan Magalhaes PROPOSAL
Adams Z CaudyRussiaAsiya Javayant UNQUALIFIED
Ashley Y MaletGermanyIvan Magalhaes RENEWAL
Leja S CampainIndiaAnna Fali UNQUALIFIED
Jennifer E MaletAustraliaElwin Sharvill QUALIFIED
Cody R BowleyAustraliaOnyama Limba UNQUALIFIED
Julie J GlickAustraliaXuxue Feng QUALIFIED
Deepesh O MorascaIndiaStephen Shaw NEGOTIATION
Aruna L RoysterBrazilAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio K NickaUnited Kingdom2026-09-03Morlong Associates QUALIFIED84Stephen Shaw
1001Misaki V VocelkaRussia2026-09-19Benton, John B Jr QUALIFIED82Ivan Magalhaes
1002David G WaycottRussia2026-09-22Rousseaux, Michael Esq RENEWAL31Anna Fali
1003Clifford H CampainAustralia2026-09-16Benton, John B Jr UNQUALIFIED67Asiya Javayant
1004Clifford M CaudyItaly2026-09-02Printing Dimensions PROPOSAL12Xuxue Feng
1005Aruna V StensethSpain2026-09-01Feltz Printing Service QUALIFIED38Ivan Magalhaes
1006Silvio H NestleCanada2026-09-04Printing Dimensions UNQUALIFIED36Stephen Shaw
1007Clifford P RimCanada2026-09-05Rousseaux, Michael Esq RENEWAL35Bernardo Dominic
1008Maria D DarakjySpain2026-09-22Morlong Associates NEGOTIATION96Xuxue Feng
1009Aruna N NestleRussia2026-09-07Morlong Associates QUALIFIED59Asiya Javayant
1010Maisha W DilliardSpain2026-09-19Dorl, James J Esq NEGOTIATION54Elwin Sharvill
1011Salvatore R IturbideIndia2026-08-31Chanay, Jeffrey A Esq RENEWAL8Ioni Bowcher
1012Jennifer M MaletArgentina2026-09-19Truhlar And Truhlar Attys NEW62Amy Elsner
1013Costa Z MaletBrazil2026-09-01Feiner Bros UNQUALIFIED40Xuxue Feng
1014Darci P MacleadItaly2026-09-13Morlong Associates NEGOTIATION38Asiya Javayant
1015David G DilliardArgentina2026-08-31Printing Dimensions RENEWAL24Onyama Limba
1016Aika H MaletItaly2026-09-03Feiner Bros NEGOTIATION33Bernardo Dominic
1017Leon C DarakjyItaly2026-09-17Rangoni Of Florence QUALIFIED55Anna Fali
1018Octavia O PaprockiItaly2026-08-28Benton, John B Jr RENEWAL62Xuxue Feng
1019Kaitlin P StockhamGermany2026-09-07Morlong Associates PROPOSAL1Ivan Magalhaes
1020Ricardo H ShinkoUnited Kingdom2026-09-17Rangoni Of Florence NEW10Amy Elsner
1021Sinclair C ShinkoAustralia2026-08-30Dorl, James J Esq NEGOTIATION15Anna Fali
1022Misaki B MaletJapan2026-08-30Printing Dimensions NEGOTIATION42Xuxue Feng
1023Leja E MorascaFrance2026-09-19Printing Dimensions NEW11Onyama Limba
1024Silvio S DoeCanada2026-08-29Feiner Bros RENEWAL30Bernardo Dominic
1025Morrow P BriddickItaly2026-09-23Printing Dimensions QUALIFIED59Xuxue Feng
1026Maisha J WaycottBrazil2026-09-05Chanay, Jeffrey A Esq NEGOTIATION67Ioni Bowcher
1027Jones C GlickIndia2026-08-26Rousseaux, Michael Esq NEGOTIATION77Xuxue Feng
1028Greenwood H ShinkoRussia2026-08-27Rousseaux, Michael Esq RENEWAL59Onyama Limba
1029Johnson G PoquetteUnited Kingdom2026-09-16Truhlar And Truhlar Attys NEGOTIATION74Onyama Limba
1030Salvatore U KuskoRussia2026-09-16Printing Dimensions NEW28Onyama Limba
1031Mayumi R WieserGermany2026-09-04Buckley Miller Wright QUALIFIED62Xuxue Feng
1032Stacey E SlusarskiSpain2026-09-11Chapman, Ross E Esq RENEWAL63Ioni Bowcher
1033Chavez X MorascaJapan2026-08-26Chanay, Jeffrey A Esq NEGOTIATION94Bernardo Dominic
1034Ivar T GillianFrance2026-09-02Chemel, James L Cpa UNQUALIFIED76Elwin Sharvill
1035Izzy J BowleyArgentina2026-09-15Buckley Miller Wright QUALIFIED41Anna Fali
1036Emily D SlusarskiCanada2026-09-12Morlong Associates NEGOTIATION91Asiya Javayant
1037Johnson A RulapaughBrazil2026-08-28Morlong Associates QUALIFIED77Anna Fali
1038Deepesh B IturbideFrance2026-09-17King, Christopher A Esq QUALIFIED30Elwin Sharvill
1039Jennifer I DarakjyIndia2026-09-06Benton, John B Jr RENEWAL84Ioni Bowcher
1040Arvin F MaletFrance2026-09-15Chanay, Jeffrey A Esq RENEWAL30Xuxue Feng
1041Maisha Y WieserAustralia2026-09-01Benton, John B Jr PROPOSAL49Asiya Javayant
1042Mujtaba G WieserUnited Kingdom2026-09-09Morlong Associates RENEWAL61Asiya Javayant
1043Aditya W BriddickArgentina2026-09-10Chapman, Ross E Esq RENEWAL46Anna Fali
1044Greenwood J KuskoUnited Kingdom2026-09-13Commercial Press PROPOSAL97Asiya Javayant
1045Octavia W SaylorsArgentina2026-09-03Printing Dimensions QUALIFIED4Amy Elsner
1046Leon G GillianCanada2026-09-24King, Christopher A Esq QUALIFIED27Amy Elsner
1047Jefferson H VenereAustralia2026-09-08Chanay, Jeffrey A Esq UNQUALIFIED58Onyama Limba
1048Alejandro R SaylorsCanada2026-09-06Morlong Associates UNQUALIFIED79Ioni Bowcher
1049Tony Q ChuiItaly2026-09-03Benton, John B Jr PROPOSAL88Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Misaki E PoquetteFranceOnyama Limba RENEWAL
Salvatore S KuskoIndiaXuxue Feng PROPOSAL
Leon O WaycottAustraliaOnyama Limba UNQUALIFIED
Ivar H GauchoBrazilIvan Magalhaes NEGOTIATION
Julie U MacleadCanadaAnna Fali NEW
Clifford H MarrierCanadaXuxue Feng PROPOSAL
Deepesh H GauchoJapanIoni Bowcher NEGOTIATION
Salvatore L MorascaUnited KingdomAmy Elsner UNQUALIFIED
Adams A KuskoArgentinaOnyama Limba NEGOTIATION
Antonio U MaletCanadaIvan Magalhaes NEW
David B SaylorsItalyIvan Magalhaes QUALIFIED
Silvio E AmigonFranceAmy Elsner NEGOTIATION
Ashley W StockhamFranceStephen Shaw UNQUALIFIED
Jennifer V SaylorsUnited KingdomIvan Magalhaes NEW
Greenwood W SergiUnited KingdomStephen Shaw RENEWAL
Smith C GarufiAustraliaOnyama Limba PROPOSAL
Jones U CaldareraFranceIoni Bowcher PROPOSAL
Nicolas Q SlusarskiBrazilBernardo Dominic NEGOTIATION
Francesco G FigeroaAustraliaAsiya Javayant NEW
Silvio N FigeroaFranceOnyama Limba NEW
Misaki Z DilliardArgentinaIvan Magalhaes RENEWAL
Jennifer T StensethFranceOnyama Limba NEGOTIATION
Octavia G BowleyFranceAnna Fali NEW
Maria L GlickAustraliaIoni Bowcher RENEWAL
Clifford M DoeJapanAmy Elsner NEW
Aditya C PoquetteGermanyAnna Fali RENEWAL
Leon C MorascaJapanIoni Bowcher PROPOSAL
Stacey T ShinkoBrazilAsiya Javayant RENEWAL
Smith G TollnerUnited KingdomStephen Shaw RENEWAL
Deepesh P FigeroaItalyOnyama Limba QUALIFIED
Smith S TollnerFranceAsiya Javayant NEW
Adams J IturbideAustraliaBernardo Dominic NEGOTIATION
Misaki F GarufiSpainIoni Bowcher NEW
Adams C CampainUnited KingdomOnyama Limba NEW
Murillo G PerinArgentinaXuxue Feng NEW
Juan I WaycottGermanyBernardo Dominic PROPOSAL
Kaitlin O SlusarskiSpainIvan Magalhaes RENEWAL
Stacey A RulapaughRussiaBernardo Dominic NEW
Salvatore M GillianRussiaIvan Magalhaes NEGOTIATION
Chavez F DarakjyUnited KingdomAsiya Javayant QUALIFIED
Alejandro J SchemmerCanadaOnyama Limba RENEWAL
Emily X DarakjyJapanElwin Sharvill UNQUALIFIED
Salvatore A StensethArgentinaOnyama Limba PROPOSAL
Octavia C SaylorsArgentinaAnna Fali UNQUALIFIED
Kadeem Z CampainArgentinaElwin Sharvill RENEWAL
Julie R MacleadBrazilAnna Fali PROPOSAL
Deepesh M ChuiBrazilStephen Shaw QUALIFIED
Ricardo Y MarrierSpainAnna Fali NEGOTIATION
Emily J DilliardGermanyAsiya Javayant NEW
Chavez R OstroskyFranceIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Aika O Royster
Kadeem C Stockham
Munro O Darakjy
James V Venere
Jennifer N Waycott
Francesco U Tollner
Aruna O Iturbide
Mayumi N Butt
Salvatore M Rulapaugh
Mujtaba J Butt
Rodrigues K Gaucho
Morrow B Waycott
Tony Z Perin
Kadeem D Poquette
Aruna W Inouye
Emily C Dilliard
Jennifer B Briddick
Juan V Amigon
Darci I Bowley
Kadeem M Gillian
James P Vocelka
Aruna P Bolognia
Jones U Rulapaugh
Costa N Bolognia
Silvio K Ruta
Kaitlin S Stockham
Greenwood C Maclead
James R Vocelka
Murillo R Darakjy
Smith W Foller
Munro P Gillian
Aruna C Inouye
Smith J Dilliard
Johnson Y Tollner
Salvatore H Albares
Jennifer D Dilliard
Wickens H Ferencz
Morrow P Darakjy
Tony K Slusarski
Leja T Whobrey
Cody M Butt
Jones Z Bowley
Rodrigues C Caldarera
David F Stenseth
Jones J Vocelka
Salvatore F Morasca
Ivar I Wieser
Adams V Perin
Tony T Stenseth
Octavia C Tollner
IdCountryDate
1000Spain2026-09-17
1001Japan2026-09-14
1002Germany2026-09-07
1003Spain2026-08-28
1004Argentina2026-08-28
1005Italy2026-09-18
1006Canada2026-09-17
1007Brazil2026-09-03
1008Canada2026-09-12
1009Germany2026-09-04
1010Russia2026-09-08
1011India2026-09-04
1012Germany2026-09-05
1013Russia2026-09-16
1014Italy2026-09-11
1015Russia2026-09-19
1016France2026-09-11
1017Canada2026-09-01
1018Argentina2026-09-15
1019Russia2026-09-09
1020United Kingdom2026-08-26
1021Russia2026-09-10
1022India2026-09-09
1023United Kingdom2026-09-21
1024Germany2026-09-17
1025France2026-09-02
1026Italy2026-09-04
1027Italy2026-08-27
1028United Kingdom2026-09-12
1029Australia2026-09-03
1030Russia2026-09-24
1031Canada2026-09-09
1032United Kingdom2026-09-03
1033United Kingdom2026-09-20
1034India2026-09-12
1035Spain2026-08-31
1036Germany2026-09-02
1037United Kingdom2026-08-28
1038Japan2026-09-07
1039Japan2026-09-09
1040Canada2026-09-02
1041India2026-09-10
1042Brazil2026-09-16
1043India2026-08-27
1044Argentina2026-08-29
1045Brazil2026-09-23
1046Russia2026-09-18
1047Italy2026-09-21
1048Russia2026-09-24
1049Argentina2026-09-19

On-Demand Data

NameIdCountryDate
Silvio O Glick1000Italy2026-08-28
Jones D Sergi1001Italy2026-09-18
Antonio E Morasca1002Japan2026-08-26
Ivar Z Kusko1003United Kingdom2026-08-26
Greenwood F Stenseth1004Italy2026-08-28
Ashley J Dilliard1005Germany2026-09-22
Murillo N Stockham1006Russia2026-09-23
Munro Q Flosi1007Italy2026-08-28
Greenwood P Gaucho1008Italy2026-09-12
Leja S Foller1009Italy2026-09-07
Aika E Iturbide1010Canada2026-08-31
Francesco U Briddick1011Germany2026-09-01
Aika S Amigon1012Canada2026-09-14
Wickens M Chui1013India2026-08-30
Claire T Malet1014France2026-09-17
Mujtaba H Wieser1015Spain2026-09-02
James I Paprocki1016Canada2026-09-19
Faith L Poquette1017Australia2026-09-23
Ashley U Schemmer1018Argentina2026-09-23
Antonio J Darakjy1019Italy2026-09-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya C PaprockiIndiaStephen Shaw UNQUALIFIED
Adams K PaprockiArgentinaAmy Elsner PROPOSAL
Aditya W DilliardSpainElwin Sharvill QUALIFIED
Munro Q FerenczBrazilAmy Elsner PROPOSAL
Arvin P ShinkoJapanIvan Magalhaes PROPOSAL
Nicolas V OldroydGermanyOnyama Limba PROPOSAL
Mujtaba D WhobreySpainIvan Magalhaes NEW
Cody P FigeroaArgentinaStephen Shaw NEGOTIATION
Adams P TollnerGermanyOnyama Limba NEW
Costa W GarufiCanadaBernardo Dominic NEW
Arvin D RulapaughIndiaOnyama Limba NEW
Isabel Z SchemmerSpainXuxue Feng RENEWAL
Faith V VocelkaIndiaElwin Sharvill NEW
Octavia M CaldareraArgentinaXuxue Feng UNQUALIFIED
Silvio U WaycottRussiaIoni Bowcher UNQUALIFIED
Ricardo C InouyeArgentinaIvan Magalhaes RENEWAL
Kadeem I StensethCanadaIvan Magalhaes QUALIFIED
Arvin Y CaldareraCanadaStephen Shaw QUALIFIED
Munro E SaylorsFranceXuxue Feng PROPOSAL
Chavez Z ChuiAustraliaAnna Fali PROPOSAL
Clifford L RutaRussiaOnyama Limba NEGOTIATION
Claire U GauchoCanadaAsiya Javayant PROPOSAL
Arvin J SergiRussiaIvan Magalhaes NEGOTIATION
Stacey K WieserSpainXuxue Feng NEGOTIATION
Darci M ShinkoRussiaElwin Sharvill NEW
Aika Y FerenczBrazilBernardo Dominic QUALIFIED
Ricardo U CampainBrazilElwin Sharvill UNQUALIFIED
Mayumi T BriddickUnited KingdomXuxue Feng RENEWAL
Octavia Y AmigonGermanyElwin Sharvill NEW
Aditya L FlosiRussiaOnyama Limba NEGOTIATION
Leon H RulapaughGermanyOnyama Limba NEGOTIATION
Sinclair Z SlusarskiAustraliaAnna Fali RENEWAL
Munro W RoysterRussiaOnyama Limba NEGOTIATION
Murillo C FlosiRussiaStephen Shaw NEGOTIATION
Jones S InouyeFranceIoni Bowcher NEW
Misaki S GlickJapanIoni Bowcher RENEWAL
Arvin L NickaRussiaStephen Shaw QUALIFIED
Mayumi K WieserArgentinaElwin Sharvill NEW
Faith T BowleyFranceXuxue Feng PROPOSAL
Adams L AmigonSpainXuxue Feng 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>