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
Murillo I GlickGermanyXuxue Feng NEGOTIATION
Morrow S PaprockiGermanyIvan Magalhaes QUALIFIED
Claire T RulapaughCanadaBernardo Dominic NEGOTIATION
Johnson N CaldareraFranceIvan Magalhaes NEW
Claire A MaletFranceElwin Sharvill UNQUALIFIED
Mujtaba N KuskoBrazilXuxue Feng NEW
Octavia B GarufiRussiaElwin Sharvill QUALIFIED
Aika L MacleadJapanOnyama Limba UNQUALIFIED
Silvio D SergiIndiaAnna Fali UNQUALIFIED
Isabel U WaycottGermanyBernardo Dominic NEGOTIATION
Darci Y KuskoIndiaAnna Fali RENEWAL
Jennifer G WhobreyCanadaIoni Bowcher QUALIFIED
Stacey I PoquetteGermanyAsiya Javayant PROPOSAL
Leja G StockhamSpainBernardo Dominic PROPOSAL
Emily F PerinUnited KingdomIoni Bowcher NEW
Adams G BologniaAustraliaAnna Fali NEW
Emily X TollnerIndiaAmy Elsner QUALIFIED
Cody A SaylorsAustraliaXuxue Feng PROPOSAL
Kadeem V BriddickArgentinaAnna Fali PROPOSAL
Morrow Y SaylorsCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois P IturbideArgentinaBernardo Dominic RENEWAL
Emily F InouyeRussiaBernardo Dominic UNQUALIFIED
Jefferson D DarakjyArgentinaAmy Elsner PROPOSAL
Morrow N PaprockiCanadaXuxue Feng NEW
Sinclair H MaletArgentinaIoni Bowcher NEGOTIATION
Costa H KolmetzIndiaOnyama Limba NEW
Clifford Y StockhamIndiaOnyama Limba QUALIFIED
Mujtaba J NestleJapanIvan Magalhaes UNQUALIFIED
Aika N MaletJapanAsiya Javayant NEW
Maisha F MarrierSpainAmy Elsner PROPOSAL
Jennifer M StensethRussiaAnna Fali NEW
Alejandro J GlickSpainStephen Shaw PROPOSAL
Stacey B VenereFranceBernardo Dominic RENEWAL
Darci W BowleyUnited KingdomIoni Bowcher PROPOSAL
David T StensethIndiaAnna Fali RENEWAL
Cody X PerinIndiaIvan Magalhaes NEGOTIATION
Salvatore K MacleadItalyElwin Sharvill QUALIFIED
Jeanfrancois P PerinSpainOnyama Limba NEW
Clifford R VenereRussiaIvan Magalhaes QUALIFIED
Aika A GillianItalyElwin Sharvill UNQUALIFIED
Cody R BriddickSpainIvan Magalhaes RENEWAL
Claire R GillianJapanBernardo Dominic UNQUALIFIED
Alejandro L SlusarskiFranceOnyama Limba NEW
Mujtaba O DilliardIndiaStephen Shaw PROPOSAL
Jeanfrancois I TollnerArgentinaBernardo Dominic RENEWAL
Mujtaba Q DilliardGermanyIvan Magalhaes NEW
Mayumi R SergiItalyAnna Fali PROPOSAL
Murillo Z WaycottGermanyAsiya Javayant RENEWAL
Claire X ChuiGermanyStephen Shaw QUALIFIED
Nicolas I SaylorsIndiaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Sinclair G DarakjyBrazilAsiya Javayant QUALIFIED
Murillo H FerenczArgentinaXuxue Feng NEGOTIATION
Emily H GlickBrazilOnyama Limba QUALIFIED
Leja B FollerJapanElwin Sharvill PROPOSAL
Kadeem G MacleadArgentinaStephen Shaw RENEWAL
Silvio A TollnerArgentinaStephen Shaw NEGOTIATION
Octavia S RimGermanyAmy Elsner NEGOTIATION
Silvio G RulapaughItalyBernardo Dominic NEGOTIATION
Nicolas X AlbaresBrazilBernardo Dominic PROPOSAL
Stacey U DoeIndiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David Q WieserIndia2026-11-01Morlong Associates NEW25Stephen Shaw
1001Leja G MacleadBrazil2026-10-11Benton, John B Jr UNQUALIFIED14Elwin Sharvill
1002Rodrigues A BriddickSpain2026-10-22Truhlar And Truhlar Attys PROPOSAL4Ioni Bowcher
1003Emily R DoeCanada2026-10-14Truhlar And Truhlar Attys NEGOTIATION0Asiya Javayant
1004Johnson T DoeAustralia2026-10-06King, Christopher A Esq NEGOTIATION66Anna Fali
1005Aruna U BowleyArgentina2026-10-30Rousseaux, Michael Esq NEW23Amy Elsner
1006Alejandro T RimIndia2026-10-31Rousseaux, Michael Esq UNQUALIFIED12Bernardo Dominic
1007Tony K WieserUnited Kingdom2026-10-07King, Christopher A Esq UNQUALIFIED61Elwin Sharvill
1008Aruna Q InouyeCanada2026-10-28Rousseaux, Michael Esq NEGOTIATION30Asiya Javayant
1009Emily C GillianAustralia2026-10-09King, Christopher A Esq RENEWAL23Xuxue Feng
1010Murillo T TollnerRussia2026-10-06Chemel, James L Cpa UNQUALIFIED70Anna Fali
1011Clifford U NickaIndia2026-10-22Chanay, Jeffrey A Esq PROPOSAL22Amy Elsner
1012Jefferson M OldroydItaly2026-11-01King, Christopher A Esq PROPOSAL3Elwin Sharvill
1013Rodrigues K BowleyAustralia2026-10-24Feiner Bros NEW70Stephen Shaw
1014Greenwood E InouyeSpain2026-10-16Feltz Printing Service NEW51Ivan Magalhaes
1015Izzy L GarufiCanada2026-10-16Feltz Printing Service RENEWAL62Xuxue Feng
1016Faith H CaldareraUnited Kingdom2026-10-16Printing Dimensions PROPOSAL9Asiya Javayant
1017Ashley N TollnerIndia2026-10-14Morlong Associates NEGOTIATION54Anna Fali
1018Adams Q KuskoIndia2026-10-13Feiner Bros RENEWAL22Xuxue Feng
1019Jeanfrancois L WaycottBrazil2026-10-09Morlong Associates UNQUALIFIED19Xuxue Feng
1020Mayumi E GarufiIndia2026-10-17Morlong Associates PROPOSAL25Elwin Sharvill
1021James M ChuiBrazil2026-10-22Chemel, James L Cpa PROPOSAL19Ioni Bowcher
1022Salvatore B InouyeUnited Kingdom2026-10-15Truhlar And Truhlar Attys UNQUALIFIED2Onyama Limba
1023Arvin N FlosiCanada2026-10-09King, Christopher A Esq QUALIFIED23Anna Fali
1024Kaitlin E BologniaIndia2026-10-14Printing Dimensions PROPOSAL92Amy Elsner
1025Jeanfrancois P DarakjySpain2026-10-18Rousseaux, Michael Esq NEW23Ivan Magalhaes
1026Clifford C FerenczBrazil2026-10-18Rousseaux, Michael Esq RENEWAL69Elwin Sharvill
1027Leja V RutaSpain2026-10-24King, Christopher A Esq NEW23Onyama Limba
1028Arvin L WieserUnited Kingdom2026-10-11Printing Dimensions PROPOSAL46Bernardo Dominic
1029Faith C DilliardRussia2026-10-11Rousseaux, Michael Esq QUALIFIED32Onyama Limba
1030Leon P SaylorsJapan2026-10-09Rousseaux, Michael Esq NEGOTIATION5Asiya Javayant
1031Faith U AmigonItaly2026-10-10Dorl, James J Esq PROPOSAL43Anna Fali
1032Munro I StockhamCanada2026-10-30Dorl, James J Esq PROPOSAL70Elwin Sharvill
1033Ashley C NestleFrance2026-10-25Chapman, Ross E Esq QUALIFIED25Ioni Bowcher
1034Faith W GauchoUnited Kingdom2026-10-29Chapman, Ross E Esq RENEWAL75Amy Elsner
1035Costa I SchemmerSpain2026-10-17Buckley Miller Wright PROPOSAL70Onyama Limba
1036Stacey I KuskoSpain2026-10-28Dorl, James J Esq NEGOTIATION78Anna Fali
1037David G FlosiItaly2026-10-14Rousseaux, Michael Esq QUALIFIED67Anna Fali
1038Darci B SergiJapan2026-10-29Commercial Press NEW43Ivan Magalhaes
1039Rodrigues C BowleyGermany2026-10-05King, Christopher A Esq QUALIFIED94Amy Elsner
1040Murillo P SchemmerSpain2026-10-27Truhlar And Truhlar Attys QUALIFIED17Ioni Bowcher
1041Tony P WhobreyArgentina2026-10-18Rousseaux, Michael Esq UNQUALIFIED48Ioni Bowcher
1042Kaitlin W VenereArgentina2026-10-26Dorl, James J Esq RENEWAL53Ivan Magalhaes
1043Kaitlin V OstroskyFrance2026-10-11Buckley Miller Wright UNQUALIFIED4Anna Fali
1044Alejandro C MaletJapan2026-10-19Feiner Bros PROPOSAL74Xuxue Feng
1045Nicolas B OldroydUnited Kingdom2026-10-12Buckley Miller Wright NEW34Amy Elsner
1046Claire F MaletGermany2026-10-09Rangoni Of Florence RENEWAL50Elwin Sharvill
1047Jefferson X MaletAustralia2026-10-19Printing Dimensions NEGOTIATION32Amy Elsner
1048Aditya V DarakjySpain2026-10-31Benton, John B Jr PROPOSAL13Amy Elsner
1049Maria U DoeAustralia2026-10-05Rangoni Of Florence QUALIFIED36Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Octavia G GlickGermanyAsiya Javayant PROPOSAL
Maria H SlusarskiGermanyIoni Bowcher UNQUALIFIED
Ivar V GillianCanadaIvan Magalhaes QUALIFIED
Ricardo M AmigonGermanyAnna Fali RENEWAL
Tony A FlosiIndiaElwin Sharvill RENEWAL
Francesco F MaletFranceIoni Bowcher NEW
Silvio L PerinItalyIoni Bowcher NEW
Johnson L GauchoSpainStephen Shaw PROPOSAL
Salvatore O RulapaughJapanBernardo Dominic NEW
Jeanfrancois S TollnerFranceElwin Sharvill PROPOSAL
David P PerinAustraliaAmy Elsner QUALIFIED
Tony B DarakjyArgentinaAsiya Javayant PROPOSAL
Ashley E BriddickSpainStephen Shaw NEW
Salvatore B SlusarskiCanadaAsiya Javayant PROPOSAL
Antonio E KolmetzIndiaAsiya Javayant QUALIFIED
Arvin J WieserCanadaBernardo Dominic UNQUALIFIED
Nicolas H RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues V RoysterFranceXuxue Feng UNQUALIFIED
Jones K RimIndiaAsiya Javayant RENEWAL
David B MorascaCanadaBernardo Dominic RENEWAL
Chavez P RutaArgentinaIoni Bowcher NEW
James C InouyeJapanElwin Sharvill QUALIFIED
Maria U TollnerRussiaIoni Bowcher NEGOTIATION
Aruna O WaycottBrazilAsiya Javayant QUALIFIED
Faith G KuskoJapanOnyama Limba QUALIFIED
Sinclair L MacleadCanadaStephen Shaw PROPOSAL
Smith Z GarufiJapanAmy Elsner NEGOTIATION
Kaitlin I GarufiAustraliaXuxue Feng RENEWAL
Alejandro C MorascaArgentinaAsiya Javayant NEGOTIATION
Aruna J WaycottGermanyOnyama Limba PROPOSAL
Johnson Z DarakjyUnited KingdomIoni Bowcher RENEWAL
Aruna P FollerIndiaAsiya Javayant NEW
Nicolas E StensethUnited KingdomOnyama Limba RENEWAL
Kaitlin Y BriddickGermanyIoni Bowcher RENEWAL
Mujtaba H SlusarskiSpainOnyama Limba UNQUALIFIED
Antonio X MaletBrazilBernardo Dominic RENEWAL
Mujtaba G PaprockiIndiaBernardo Dominic RENEWAL
Nicolas O ShinkoItalyElwin Sharvill UNQUALIFIED
Izzy L RoysterBrazilOnyama Limba PROPOSAL
Jeanfrancois M TollnerIndiaIvan Magalhaes NEW
Jennifer S MarrierUnited KingdomStephen Shaw NEW
Sinclair A MorascaCanadaAmy Elsner QUALIFIED
Jones B FerenczIndiaXuxue Feng RENEWAL
Isabel K WhobreyArgentinaBernardo Dominic PROPOSAL
Antonio E RoysterUnited KingdomOnyama Limba NEW
Stacey V AlbaresSpainAsiya Javayant NEGOTIATION
Jeanfrancois G NestleUnited KingdomBernardo Dominic RENEWAL
Smith L StensethUnited KingdomAsiya Javayant PROPOSAL
Leon F DarakjyFranceBernardo Dominic PROPOSAL
Wickens M MacleadSpainIvan Magalhaes PROPOSAL
Frozen Columns
Name
Greenwood Q Tollner
Izzy A Morasca
Jefferson U Flosi
James G Malet
Jefferson H Perin
Adams N Whobrey
Munro T Rim
Emily V Stockham
Isabel R Amigon
Tony F Rim
Juan G Nicka
Johnson K Saylors
Morrow K Slusarski
Maisha F Bowley
Aruna Z Albares
Ricardo J Bolognia
Mujtaba C Inouye
Munro X Foller
Misaki K Stockham
Ricardo D Caldarera
Alejandro D Ruta
Cody J Iturbide
Francesco E Albares
Isabel K Rulapaugh
Darci S Schemmer
Jennifer Q Chui
Ricardo D Malet
Jones C Shinko
Izzy X Whobrey
Chavez Z Garufi
Silvio N Darakjy
Nicolas Y Caldarera
Murillo T Poquette
Johnson U Nicka
Morrow W Gillian
Maria F Stenseth
Murillo W Ostrosky
David X Amigon
Johnson X Morasca
Stacey R Schemmer
Sinclair Q Gaucho
Nicolas X Tollner
Cody R Vocelka
Maisha J Butt
Ricardo O Shinko
Johnson Q Malet
Smith X Shinko
Silvio V Doe
Munro U Bowley
Izzy B Saylors
IdCountryDate
1000Australia2026-11-01
1001Argentina2026-10-18
1002Australia2026-10-05
1003Argentina2026-10-11
1004France2026-11-01
1005Australia2026-10-17
1006Germany2026-10-25
1007France2026-10-23
1008United Kingdom2026-10-31
1009Australia2026-10-22
1010Germany2026-11-01
1011United Kingdom2026-10-07
1012France2026-10-31
1013Russia2026-10-15
1014Germany2026-10-20
1015India2026-11-03
1016Australia2026-10-30
1017Germany2026-10-10
1018Russia2026-10-22
1019Spain2026-10-14
1020Russia2026-11-02
1021Canada2026-10-10
1022India2026-10-13
1023Australia2026-11-03
1024Japan2026-10-29
1025Brazil2026-10-08
1026Germany2026-10-06
1027Spain2026-10-13
1028Spain2026-10-12
1029Japan2026-10-05
1030India2026-10-13
1031Germany2026-10-16
1032India2026-10-16
1033India2026-10-23
1034Canada2026-10-12
1035Japan2026-10-18
1036Russia2026-10-06
1037Russia2026-10-22
1038Brazil2026-10-22
1039Italy2026-11-01
1040Japan2026-10-11
1041Russia2026-10-25
1042Russia2026-11-02
1043India2026-10-27
1044Australia2026-10-19
1045India2026-10-19
1046Brazil2026-10-18
1047Japan2026-10-26
1048Russia2026-10-23
1049Russia2026-10-23

On-Demand Data

NameIdCountryDate
Greenwood L Glick1000United Kingdom2026-10-23
Tony Y Stockham1001Brazil2026-10-27
Francesco I Schemmer1002Spain2026-10-22
Morrow J Campain1003Brazil2026-10-22
Claire L Slusarski1004Australia2026-10-26
James Z Perin1005Brazil2026-10-19
Francesco I Slusarski1006Canada2026-10-11
Claire A Malet1007Argentina2026-10-29
Aditya B Kusko1008Canada2026-10-19
Leon I Butt1009Brazil2026-11-01
Cody Z Waycott1010Germany2026-11-02
Emily S Chui1011India2026-10-25
Aika W Slusarski1012Spain2026-10-17
Darci J Foller1013Italy2026-10-07
Ivar T Saylors1014Brazil2026-10-25
Sinclair J Nicka1015India2026-10-25
Deepesh I Darakjy1016France2026-10-21
Johnson B Doe1017France2026-11-01
Faith H Chui1018Japan2026-10-19
Morrow F Briddick1019Argentina2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh T AlbaresUnited KingdomOnyama Limba PROPOSAL
Ricardo G BowleyFranceAsiya Javayant QUALIFIED
Sinclair L CaudyCanadaOnyama Limba NEW
Tony I StockhamItalyAsiya Javayant RENEWAL
Darci Q ButtCanadaAmy Elsner QUALIFIED
Jefferson M VocelkaItalyOnyama Limba NEGOTIATION
Alejandro S IturbideFranceAmy Elsner QUALIFIED
Stacey L ButtFranceElwin Sharvill UNQUALIFIED
Cody V TollnerJapanAnna Fali NEW
Emily J ShinkoAustraliaIoni Bowcher NEGOTIATION
Arvin V RoysterRussiaXuxue Feng NEW
David G TollnerArgentinaXuxue Feng RENEWAL
Salvatore K InouyeCanadaOnyama Limba NEW
Mujtaba V StockhamSpainAmy Elsner QUALIFIED
Izzy L RimArgentinaIoni Bowcher RENEWAL
Leja N NestleSpainStephen Shaw QUALIFIED
Costa A MorascaSpainBernardo Dominic NEGOTIATION
Emily X TollnerJapanStephen Shaw NEW
Deepesh B GlickFranceAnna Fali UNQUALIFIED
Ricardo I SlusarskiCanadaBernardo Dominic NEGOTIATION
Greenwood F VenereFranceIvan Magalhaes NEGOTIATION
Alejandro D RimArgentinaElwin Sharvill RENEWAL
Silvio X ButtSpainIoni Bowcher QUALIFIED
Rodrigues E ShinkoUnited KingdomAmy Elsner UNQUALIFIED
Nicolas C RutaArgentinaXuxue Feng RENEWAL
Greenwood K WieserUnited KingdomXuxue Feng RENEWAL
Leja N VenereCanadaElwin Sharvill PROPOSAL
James N FollerCanadaXuxue Feng QUALIFIED
Clifford A WhobreyUnited KingdomAmy Elsner NEGOTIATION
Mujtaba F ShinkoSpainXuxue Feng NEW
Octavia J VenereGermanyIoni Bowcher RENEWAL
Murillo H CaldareraRussiaIvan Magalhaes NEGOTIATION
Leon E FerenczGermanyAsiya Javayant RENEWAL
David N GauchoArgentinaAnna Fali NEGOTIATION
Ricardo T AmigonAustraliaXuxue Feng NEW
Nicolas C ChuiIndiaIoni Bowcher QUALIFIED
Julie M VocelkaSpainAmy Elsner NEW
Nicolas I PerinJapanStephen Shaw PROPOSAL
Alejandro H StensethBrazilOnyama Limba RENEWAL
Juan K PerinGermanyStephen Shaw 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>