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
Mujtaba H BowleyAustraliaBernardo Dominic NEGOTIATION
Maria Z FollerCanadaStephen Shaw PROPOSAL
Jones V BriddickGermanyIvan Magalhaes NEGOTIATION
Aika K KuskoAustraliaXuxue Feng NEW
James Z PoquetteUnited KingdomXuxue Feng NEGOTIATION
Maisha L CaldareraJapanAmy Elsner PROPOSAL
Mayumi J VocelkaArgentinaIoni Bowcher NEW
Misaki I SlusarskiRussiaIoni Bowcher UNQUALIFIED
Cody A MaletFranceBernardo Dominic PROPOSAL
Octavia A CaudyJapanStephen Shaw NEGOTIATION
Munro P TollnerFranceBernardo Dominic NEGOTIATION
Faith R VocelkaJapanElwin Sharvill RENEWAL
Julie X DarakjyUnited KingdomIoni Bowcher QUALIFIED
Claire T RutaSpainAsiya Javayant NEW
Juan Q GauchoRussiaIvan Magalhaes UNQUALIFIED
Kadeem C CampainFranceOnyama Limba UNQUALIFIED
Johnson H MaletItalyBernardo Dominic RENEWAL
Nicolas M ChuiGermanyIvan Magalhaes QUALIFIED
Deepesh B IturbideJapanIvan Magalhaes RENEWAL
Kadeem M MacleadArgentinaOnyama Limba NEGOTIATION
Salvatore I OstroskyRussiaAnna Fali UNQUALIFIED
Isabel G OstroskyJapanElwin Sharvill PROPOSAL
Clifford S PerinCanadaOnyama Limba PROPOSAL
Murillo W ButtJapanBernardo Dominic NEW
David T CaudySpainAsiya Javayant NEGOTIATION
Aruna C MorascaFranceXuxue Feng PROPOSAL
Jefferson C FollerArgentinaBernardo Dominic QUALIFIED
Jennifer O TollnerUnited KingdomXuxue Feng PROPOSAL
Adams C MorascaSpainIoni Bowcher PROPOSAL
Faith D WhobreyCanadaAnna Fali PROPOSAL
Greenwood O MacleadJapanOnyama Limba NEGOTIATION
Adams G CampainBrazilIoni Bowcher QUALIFIED
Stacey Y GillianItalyAsiya Javayant UNQUALIFIED
Ashley R VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Claire W SlusarskiJapanBernardo Dominic NEGOTIATION
Aika I NestleGermanyXuxue Feng PROPOSAL
Francesco V KolmetzIndiaAsiya Javayant UNQUALIFIED
Octavia R CampainUnited KingdomAnna Fali UNQUALIFIED
Cody S MaletSpainAsiya Javayant NEW
Salvatore T FlosiItalyAnna Fali RENEWAL
Cody V RutaRussiaIvan Magalhaes UNQUALIFIED
Claire J FigeroaAustraliaOnyama Limba PROPOSAL
Salvatore D GlickItalyOnyama Limba RENEWAL
Aruna I SlusarskiCanadaElwin Sharvill NEW
Ricardo K TollnerRussiaOnyama Limba PROPOSAL
Jefferson Y MaletCanadaAmy Elsner NEW
Jones Q AlbaresSpainBernardo Dominic RENEWAL
Munro M MarrierCanadaXuxue Feng RENEWAL
Sinclair Y VocelkaArgentinaIoni Bowcher RENEWAL
Adams G OstroskyGermanyAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio U SergiSpainStephen Shaw NEGOTIATION
Darci O ShinkoJapanAnna Fali NEGOTIATION
Kadeem K TollnerUnited KingdomIvan Magalhaes NEGOTIATION
Johnson F RimIndiaAmy Elsner NEW
Rodrigues X DilliardItalyAsiya Javayant PROPOSAL
Alejandro Q DarakjyFranceIoni Bowcher NEW
Juan K AmigonFranceIvan Magalhaes UNQUALIFIED
Morrow C CaudyUnited KingdomBernardo Dominic NEW
Julie H NickaBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois V NickaIndiaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya W KuskoJapan2026-10-19Feltz Printing Service NEGOTIATION81Xuxue Feng
1001Greenwood V RutaUnited Kingdom2026-10-30Chanay, Jeffrey A Esq PROPOSAL12Elwin Sharvill
1002Morrow Q IturbideItaly2026-10-11Buckley Miller Wright NEGOTIATION30Ivan Magalhaes
1003Emily N ShinkoAustralia2026-10-29Buckley Miller Wright PROPOSAL27Ioni Bowcher
1004Darci J GlickSpain2026-10-06Chapman, Ross E Esq PROPOSAL97Stephen Shaw
1005Wickens U SaylorsAustralia2026-10-30Rangoni Of Florence RENEWAL69Ivan Magalhaes
1006David E KolmetzSpain2026-10-05Feiner Bros NEW97Asiya Javayant
1007Clifford R MarrierCanada2026-10-03Feiner Bros RENEWAL72Ivan Magalhaes
1008Kaitlin P CaldareraSpain2026-10-02Dorl, James J Esq NEW18Anna Fali
1009Juan Q CaldareraItaly2026-10-29Benton, John B Jr NEW26Anna Fali
1010Emily U AlbaresFrance2026-10-13Feltz Printing Service NEGOTIATION3Onyama Limba
1011Mayumi X TollnerRussia2026-10-29King, Christopher A Esq UNQUALIFIED10Anna Fali
1012Sinclair F TollnerArgentina2026-10-20Commercial Press QUALIFIED86Asiya Javayant
1013Greenwood X FigeroaFrance2026-10-13Rangoni Of Florence NEW4Xuxue Feng
1014Mujtaba O SchemmerRussia2026-10-03Buckley Miller Wright NEW23Ioni Bowcher
1015Wickens G KolmetzItaly2026-10-18Rousseaux, Michael Esq QUALIFIED94Elwin Sharvill
1016Morrow Z CampainCanada2026-10-25Feltz Printing Service UNQUALIFIED12Elwin Sharvill
1017Rodrigues V RulapaughGermany2026-10-17Benton, John B Jr QUALIFIED90Ivan Magalhaes
1018Octavia K WieserBrazil2026-10-18Rousseaux, Michael Esq QUALIFIED55Asiya Javayant
1019Jones N RimItaly2026-10-10Rousseaux, Michael Esq RENEWAL33Asiya Javayant
1020Jennifer X RutaUnited Kingdom2026-10-29Rangoni Of Florence PROPOSAL71Stephen Shaw
1021Silvio H WhobreyRussia2026-10-04Buckley Miller Wright NEW22Asiya Javayant
1022Kaitlin T CaudyCanada2026-10-08Morlong Associates QUALIFIED85Xuxue Feng
1023Isabel D ChuiItaly2026-10-22Printing Dimensions NEW58Ivan Magalhaes
1024Arvin B RulapaughGermany2026-10-10Feltz Printing Service RENEWAL64Elwin Sharvill
1025Mujtaba C DoeIndia2026-10-10Buckley Miller Wright UNQUALIFIED11Bernardo Dominic
1026Maria C PerinAustralia2026-10-18Feiner Bros PROPOSAL56Ivan Magalhaes
1027Jefferson W CaldareraRussia2026-10-14Feltz Printing Service NEGOTIATION9Anna Fali
1028Kaitlin W CampainItaly2026-10-26Chanay, Jeffrey A Esq NEW28Elwin Sharvill
1029Isabel K PaprockiJapan2026-10-11Buckley Miller Wright RENEWAL48Elwin Sharvill
1030Leja W DilliardJapan2026-10-02Benton, John B Jr UNQUALIFIED42Stephen Shaw
1031Jones V StockhamAustralia2026-10-02Rangoni Of Florence NEW58Ivan Magalhaes
1032Aditya T CaudyCanada2026-10-27Commercial Press PROPOSAL57Bernardo Dominic
1033Aruna B SchemmerCanada2026-10-18Morlong Associates QUALIFIED60Ivan Magalhaes
1034Clifford A GlickArgentina2026-10-17Buckley Miller Wright QUALIFIED63Amy Elsner
1035Claire G MarrierCanada2026-10-18Chanay, Jeffrey A Esq RENEWAL22Ioni Bowcher
1036Izzy R MaletItaly2026-10-25Commercial Press UNQUALIFIED7Amy Elsner
1037Johnson R BriddickRussia2026-10-26Chemel, James L Cpa PROPOSAL40Anna Fali
1038Misaki T RulapaughGermany2026-10-11Rangoni Of Florence RENEWAL94Onyama Limba
1039Misaki F RutaIndia2026-10-04Rangoni Of Florence RENEWAL34Elwin Sharvill
1040Francesco G OldroydGermany2026-10-10Rousseaux, Michael Esq RENEWAL46Stephen Shaw
1041Clifford T RulapaughIndia2026-10-12Buckley Miller Wright QUALIFIED25Ivan Magalhaes
1042David G SaylorsBrazil2026-10-12Chemel, James L Cpa NEW0Asiya Javayant
1043Greenwood Y ButtFrance2026-10-16Rousseaux, Michael Esq UNQUALIFIED65Xuxue Feng
1044Jennifer O AlbaresAustralia2026-10-04King, Christopher A Esq NEW54Ivan Magalhaes
1045Sinclair K PaprockiArgentina2026-10-17Chanay, Jeffrey A Esq NEGOTIATION98Xuxue Feng
1046Morrow N SergiGermany2026-10-07Benton, John B Jr NEGOTIATION58Xuxue Feng
1047Salvatore Z TollnerBrazil2026-10-27King, Christopher A Esq RENEWAL41Elwin Sharvill
1048Maisha C NickaRussia2026-10-25Chapman, Ross E Esq PROPOSAL30Asiya Javayant
1049Munro W WaycottUnited Kingdom2026-10-12Benton, John B Jr QUALIFIED65Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues E RutaGermanyStephen Shaw NEW
Rodrigues L IturbideSpainAmy Elsner QUALIFIED
Johnson P KuskoUnited KingdomOnyama Limba NEGOTIATION
Stacey M GillianCanadaStephen Shaw QUALIFIED
Clifford H FollerJapanBernardo Dominic RENEWAL
Antonio R SaylorsUnited KingdomIoni Bowcher NEGOTIATION
Clifford F NestleUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi A GlickArgentinaStephen Shaw UNQUALIFIED
Cody H OldroydArgentinaAmy Elsner RENEWAL
Alejandro W WhobreyRussiaAnna Fali QUALIFIED
Leja F RulapaughUnited KingdomAsiya Javayant RENEWAL
Johnson I NickaUnited KingdomStephen Shaw QUALIFIED
Wickens R FigeroaFranceXuxue Feng UNQUALIFIED
Mujtaba T NickaBrazilXuxue Feng NEW
Ricardo T OstroskySpainAnna Fali QUALIFIED
Rodrigues A CaudyUnited KingdomAmy Elsner QUALIFIED
Mayumi J MaletItalyAnna Fali QUALIFIED
Costa Y ShinkoIndiaBernardo Dominic NEGOTIATION
Munro X SergiUnited KingdomXuxue Feng RENEWAL
Alejandro W WaycottBrazilIoni Bowcher PROPOSAL
Alejandro R AmigonFranceOnyama Limba UNQUALIFIED
Jefferson M PoquetteBrazilAnna Fali PROPOSAL
Jennifer P TollnerRussiaAsiya Javayant NEW
Antonio R PerinUnited KingdomAnna Fali UNQUALIFIED
Kadeem F SergiAustraliaStephen Shaw UNQUALIFIED
Morrow S SlusarskiFranceAsiya Javayant NEW
Costa X WieserBrazilBernardo Dominic UNQUALIFIED
Mujtaba T WhobreySpainAmy Elsner QUALIFIED
Arvin B RoysterSpainBernardo Dominic QUALIFIED
Tony U MaletRussiaStephen Shaw NEGOTIATION
Aruna R MaletSpainXuxue Feng NEGOTIATION
Kadeem V IturbideArgentinaAmy Elsner NEGOTIATION
Adams U NestleSpainStephen Shaw PROPOSAL
David U KuskoItalyStephen Shaw RENEWAL
Juan O GillianArgentinaOnyama Limba UNQUALIFIED
Rodrigues B AmigonRussiaAsiya Javayant RENEWAL
Wickens B DarakjyArgentinaIvan Magalhaes UNQUALIFIED
Faith N PaprockiCanadaAsiya Javayant QUALIFIED
Alejandro I FollerIndiaXuxue Feng UNQUALIFIED
Aika V GauchoAustraliaIvan Magalhaes RENEWAL
Silvio W FerenczUnited KingdomStephen Shaw NEGOTIATION
Jones Q AmigonGermanyXuxue Feng NEGOTIATION
Maria Q OstroskyFranceStephen Shaw NEW
Isabel W IturbideArgentinaIoni Bowcher RENEWAL
Munro F GlickArgentinaOnyama Limba PROPOSAL
Antonio L RutaArgentinaIoni Bowcher NEW
Kadeem J AlbaresBrazilAnna Fali QUALIFIED
Sinclair O NestleRussiaAmy Elsner UNQUALIFIED
Antonio E PoquetteIndiaAnna Fali UNQUALIFIED
Alejandro A OstroskyFranceOnyama Limba RENEWAL
Frozen Columns
Name
Julie B Rim
Leja V Waycott
Tony J Venere
Sinclair E Iturbide
Arvin T Nicka
Silvio I Perin
Jennifer M Flosi
Maria Z Flosi
Wickens U Doe
Faith W Stockham
Morrow Z Tollner
Aruna B Amigon
Smith T Venere
Chavez K Vocelka
Stacey V Marrier
Sinclair Z Flosi
Ashley I Kolmetz
Jones P Malet
Izzy U Flosi
Ashley Q Garufi
Izzy O Foller
Chavez K Inouye
Ashley K Kusko
Misaki V Campain
Isabel D Shinko
Isabel N Vocelka
Murillo S Iturbide
Jones O Venere
Jefferson P Venere
Alejandro O Amigon
Emily V Iturbide
James I Stenseth
Salvatore F Venere
David Y Kolmetz
David E Shinko
Antonio Q Royster
Octavia P Malet
Alejandro S Caldarera
Darci M Maclead
Ricardo B Shinko
Cody D Royster
Antonio M Bolognia
Greenwood E Butt
Arvin Q Ruta
Clifford C Malet
Jennifer X Nestle
James G Darakjy
Deepesh H Vocelka
Tony C Ostrosky
Chavez Z Doe
IdCountryDate
1000Spain2026-10-27
1001Russia2026-10-06
1002Italy2026-10-16
1003Japan2026-10-04
1004India2026-10-12
1005Japan2026-10-03
1006Germany2026-10-01
1007United Kingdom2026-10-22
1008France2026-10-04
1009India2026-10-12
1010India2026-10-20
1011France2026-10-18
1012Japan2026-10-10
1013Russia2026-10-03
1014Russia2026-10-01
1015France2026-10-13
1016United Kingdom2026-10-12
1017Argentina2026-10-18
1018India2026-10-15
1019Germany2026-10-13
1020Canada2026-10-13
1021Germany2026-10-11
1022Germany2026-10-17
1023India2026-10-18
1024Japan2026-10-10
1025Canada2026-10-18
1026Spain2026-10-24
1027Australia2026-10-26
1028Japan2026-10-02
1029Germany2026-10-28
1030Canada2026-10-09
1031India2026-10-14
1032Russia2026-10-13
1033Argentina2026-10-08
1034Germany2026-10-03
1035Italy2026-10-10
1036Japan2026-10-02
1037Russia2026-10-22
1038Canada2026-10-25
1039Spain2026-10-10
1040India2026-10-15
1041Canada2026-10-17
1042France2026-10-15
1043Spain2026-10-02
1044Japan2026-10-06
1045Canada2026-10-28
1046Brazil2026-10-03
1047Brazil2026-10-28
1048Argentina2026-10-16
1049Italy2026-10-28

On-Demand Data

NameIdCountryDate
Faith T Stenseth1000Russia2026-10-01
Aika P Shinko1001India2026-10-18
Darci A Malet1002India2026-10-14
Antonio M Gillian1003France2026-10-12
Johnson Y Stenseth1004United Kingdom2026-10-06
Leja F Rim1005France2026-10-21
Aika Q Malet1006Australia2026-10-15
Deepesh M Rim1007Germany2026-10-01
Isabel K Stenseth1008Spain2026-10-23
Jones T Malet1009India2026-10-24
Silvio K Amigon1010Italy2026-10-18
Antonio J Bolognia1011Italy2026-10-23
Misaki F Foller1012Australia2026-10-13
Johnson D Darakjy1013Italy2026-10-01
Ashley B Sergi1014Germany2026-10-21
Leja J Malet1015Russia2026-10-03
Nicolas U Sergi1016Brazil2026-10-11
Francesco R Gillian1017Japan2026-10-07
Octavia U Poquette1018United Kingdom2026-10-04
Clifford F Malet1019India2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Z RutaSpainOnyama Limba PROPOSAL
Leon I FlosiArgentinaBernardo Dominic NEW
Clifford E CaldareraItalyIvan Magalhaes UNQUALIFIED
Maisha K FigeroaFranceIoni Bowcher NEW
Jefferson F MaletFranceAnna Fali RENEWAL
Cody K CaldareraAustraliaElwin Sharvill RENEWAL
Leon U FollerAustraliaStephen Shaw UNQUALIFIED
David A GarufiBrazilAmy Elsner NEW
Jones K GauchoIndiaIoni Bowcher NEW
Mujtaba F RutaJapanIvan Magalhaes QUALIFIED
Sinclair Z SergiFranceXuxue Feng PROPOSAL
Leon H AlbaresItalyElwin Sharvill NEGOTIATION
Juan M FollerArgentinaIoni Bowcher NEGOTIATION
Kadeem D MarrierJapanAsiya Javayant QUALIFIED
Mujtaba S OstroskyFranceStephen Shaw RENEWAL
Aditya B CaudyItalyAnna Fali QUALIFIED
Cody G ButtRussiaStephen Shaw PROPOSAL
Antonio H RulapaughUnited KingdomAmy Elsner UNQUALIFIED
Chavez Q MarrierUnited KingdomAnna Fali QUALIFIED
Wickens U MaletGermanyXuxue Feng RENEWAL
Ivar L PaprockiJapanStephen Shaw QUALIFIED
Maria C RutaIndiaAnna Fali RENEWAL
Aruna X MaletUnited KingdomStephen Shaw RENEWAL
Smith F OstroskyFranceStephen Shaw PROPOSAL
Juan O DilliardItalyIvan Magalhaes NEGOTIATION
Francesco V MaletGermanyBernardo Dominic UNQUALIFIED
Faith H AlbaresCanadaStephen Shaw UNQUALIFIED
Darci U IturbideItalyBernardo Dominic NEW
Ashley Y SlusarskiRussiaAmy Elsner PROPOSAL
David Z PaprockiJapanIoni Bowcher UNQUALIFIED
Johnson P KuskoSpainAsiya Javayant RENEWAL
James I GarufiItalyAnna Fali RENEWAL
Maria M PaprockiUnited KingdomBernardo Dominic QUALIFIED
Kadeem J RutaSpainXuxue Feng QUALIFIED
Clifford V WieserJapanAmy Elsner RENEWAL
Misaki W NickaArgentinaBernardo Dominic PROPOSAL
Silvio Q SaylorsItalyAsiya Javayant QUALIFIED
Cody K MorascaCanadaAmy Elsner PROPOSAL
Nicolas V DilliardSpainBernardo Dominic PROPOSAL
Clifford O ChuiIndiaAmy Elsner NEW

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