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
James Q FigeroaRussiaBernardo Dominic PROPOSAL
Francesco T FerenczGermanyIoni Bowcher NEGOTIATION
Cody N GlickSpainElwin Sharvill NEGOTIATION
Sinclair P StensethSpainStephen Shaw RENEWAL
Deepesh M PoquetteItalyOnyama Limba QUALIFIED
Rodrigues K FlosiSpainElwin Sharvill RENEWAL
Misaki V MarrierJapanAmy Elsner NEW
Mujtaba M KolmetzItalyAsiya Javayant QUALIFIED
Misaki Q GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Aditya T ButtCanadaIvan Magalhaes QUALIFIED
Munro C WieserFranceIvan Magalhaes RENEWAL
Jennifer K MaletUnited KingdomXuxue Feng UNQUALIFIED
Claire R NickaBrazilStephen Shaw RENEWAL
Aruna N CaldareraCanadaXuxue Feng NEW
Leja A WhobreyItalyOnyama Limba QUALIFIED
Nicolas P NickaUnited KingdomAsiya Javayant PROPOSAL
Jefferson G GauchoFranceIoni Bowcher QUALIFIED
Rodrigues P BologniaArgentinaStephen Shaw RENEWAL
Juan C OstroskyGermanyIvan Magalhaes NEW
Adams Y StockhamRussiaAsiya Javayant PROPOSAL
Tony S StockhamRussiaElwin Sharvill NEW
Salvatore A PaprockiRussiaXuxue Feng PROPOSAL
Juan F InouyeBrazilAnna Fali RENEWAL
Wickens J SergiBrazilElwin Sharvill NEW
Aruna X VocelkaCanadaXuxue Feng QUALIFIED
Jeanfrancois K MacleadCanadaAsiya Javayant PROPOSAL
Emily F DilliardSpainStephen Shaw UNQUALIFIED
Adams P MarrierUnited KingdomXuxue Feng QUALIFIED
Antonio N WieserBrazilAnna Fali NEW
James Z FollerIndiaElwin Sharvill NEW
Adams V OstroskyRussiaStephen Shaw PROPOSAL
Izzy M ButtSpainIoni Bowcher PROPOSAL
James D SlusarskiBrazilBernardo Dominic NEGOTIATION
Misaki Y GillianItalyStephen Shaw NEW
Morrow F StockhamItalyStephen Shaw RENEWAL
Deepesh I WieserBrazilAmy Elsner RENEWAL
Morrow Q RoysterAustraliaXuxue Feng PROPOSAL
Murillo M AlbaresFranceAmy Elsner NEW
Kaitlin G NickaRussiaElwin Sharvill PROPOSAL
James D StockhamArgentinaAsiya Javayant QUALIFIED
Greenwood D FollerFranceBernardo Dominic UNQUALIFIED
Aika A InouyeGermanyBernardo Dominic UNQUALIFIED
Aditya I PerinArgentinaXuxue Feng UNQUALIFIED
Ashley A BowleyAustraliaIoni Bowcher NEGOTIATION
Jones M WhobreySpainStephen Shaw QUALIFIED
Ricardo V PoquetteRussiaAsiya Javayant NEGOTIATION
Darci L PerinFranceElwin Sharvill NEW
Faith N NickaGermanyIoni Bowcher NEW
Emily H InouyeAustraliaOnyama Limba UNQUALIFIED
Maisha T WieserRussiaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Deepesh E ButtCanadaBernardo Dominic QUALIFIED
Clifford H CaldareraJapanElwin Sharvill NEW
Smith P RoysterUnited KingdomIvan Magalhaes NEGOTIATION
David Q RoysterAustraliaAmy Elsner NEGOTIATION
Alejandro K SlusarskiCanadaIvan Magalhaes RENEWAL
Jefferson L DilliardRussiaElwin Sharvill PROPOSAL
Antonio E SergiCanadaAmy Elsner UNQUALIFIED
Ashley U DilliardSpainIvan Magalhaes NEGOTIATION
Emily Y MaletArgentinaAmy Elsner NEW
Aika D WieserAustraliaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki G PoquetteIndia2026-10-15Rousseaux, Michael Esq NEGOTIATION54Elwin Sharvill
1001Jeanfrancois F FigeroaArgentina2026-09-27Rousseaux, Michael Esq RENEWAL49Ivan Magalhaes
1002Mayumi K PoquetteRussia2026-10-05Rangoni Of Florence NEGOTIATION50Bernardo Dominic
1003Izzy J MaletSpain2026-09-29Commercial Press PROPOSAL49Ivan Magalhaes
1004Maisha V FigeroaJapan2026-10-08King, Christopher A Esq NEW88Anna Fali
1005Antonio Q SergiUnited Kingdom2026-10-21Rangoni Of Florence PROPOSAL89Ioni Bowcher
1006James C MacleadRussia2026-09-27Truhlar And Truhlar Attys QUALIFIED95Anna Fali
1007Maisha G FlosiRussia2026-09-30King, Christopher A Esq NEGOTIATION56Elwin Sharvill
1008Salvatore C FlosiArgentina2026-10-05Chemel, James L Cpa UNQUALIFIED59Asiya Javayant
1009Murillo W GillianRussia2026-09-26Chanay, Jeffrey A Esq NEGOTIATION39Amy Elsner
1010Maria R SaylorsItaly2026-09-28Commercial Press UNQUALIFIED37Stephen Shaw
1011Rodrigues M SlusarskiCanada2026-10-09Chemel, James L Cpa RENEWAL1Xuxue Feng
1012Leon A RimJapan2026-10-12Printing Dimensions PROPOSAL86Ioni Bowcher
1013Alejandro E AmigonJapan2026-09-29King, Christopher A Esq NEW34Xuxue Feng
1014Stacey T BriddickUnited Kingdom2026-09-28Benton, John B Jr QUALIFIED82Onyama Limba
1015Ivar D SlusarskiAustralia2026-09-27Morlong Associates UNQUALIFIED86Elwin Sharvill
1016Antonio V MaletFrance2026-10-21Feltz Printing Service NEW90Ivan Magalhaes
1017Costa O KolmetzBrazil2026-09-23Feltz Printing Service NEW23Amy Elsner
1018Stacey G IturbideBrazil2026-10-11Feltz Printing Service NEW29Amy Elsner
1019Munro T NestleArgentina2026-10-19Chemel, James L Cpa QUALIFIED21Onyama Limba
1020Aditya W SaylorsCanada2026-10-19Chapman, Ross E Esq QUALIFIED41Stephen Shaw
1021Ricardo N FigeroaIndia2026-10-21Morlong Associates NEW90Asiya Javayant
1022Smith V PoquetteBrazil2026-10-11Printing Dimensions NEW38Elwin Sharvill
1023Jones R AlbaresAustralia2026-10-17Benton, John B Jr NEGOTIATION31Ioni Bowcher
1024Salvatore S FigeroaSpain2026-10-15Commercial Press NEW23Xuxue Feng
1025Mayumi G CaldareraJapan2026-09-29Printing Dimensions NEW67Ioni Bowcher
1026Octavia G RulapaughRussia2026-10-02Commercial Press UNQUALIFIED5Bernardo Dominic
1027Mayumi T CampainJapan2026-10-14King, Christopher A Esq QUALIFIED51Elwin Sharvill
1028Maria F GlickSpain2026-09-30King, Christopher A Esq QUALIFIED10Amy Elsner
1029Mayumi R BologniaItaly2026-10-19Rousseaux, Michael Esq PROPOSAL83Onyama Limba
1030Juan W IturbideRussia2026-09-27Feltz Printing Service RENEWAL15Ivan Magalhaes
1031Emily L WaycottCanada2026-10-04Dorl, James J Esq UNQUALIFIED66Ivan Magalhaes
1032Antonio P KolmetzIndia2026-10-17Buckley Miller Wright NEGOTIATION44Xuxue Feng
1033Johnson G SlusarskiSpain2026-09-30Printing Dimensions NEW3Ivan Magalhaes
1034Murillo Y ButtItaly2026-10-02Commercial Press RENEWAL76Elwin Sharvill
1035Aditya S GarufiCanada2026-10-15Commercial Press PROPOSAL65Amy Elsner
1036Misaki F AmigonCanada2026-10-09Rousseaux, Michael Esq QUALIFIED64Stephen Shaw
1037Kadeem E AlbaresCanada2026-10-07Rousseaux, Michael Esq UNQUALIFIED6Anna Fali
1038Octavia W ChuiBrazil2026-10-07Feltz Printing Service RENEWAL33Ioni Bowcher
1039Jefferson X DilliardItaly2026-09-23Feltz Printing Service UNQUALIFIED56Bernardo Dominic
1040Clifford Z DarakjyCanada2026-10-02Chapman, Ross E Esq QUALIFIED27Stephen Shaw
1041Salvatore L SaylorsItaly2026-10-03Feltz Printing Service NEW23Stephen Shaw
1042Deepesh K KolmetzFrance2026-10-07Rousseaux, Michael Esq QUALIFIED91Amy Elsner
1043Salvatore Q FlosiGermany2026-10-08Benton, John B Jr NEW71Ioni Bowcher
1044Faith F MaletRussia2026-10-06Chapman, Ross E Esq PROPOSAL3Stephen Shaw
1045Morrow U PaprockiSpain2026-10-18Chemel, James L Cpa RENEWAL83Xuxue Feng
1046Aditya P NestleAustralia2026-10-15Dorl, James J Esq UNQUALIFIED10Onyama Limba
1047Isabel T MaletItaly2026-09-25Buckley Miller Wright NEW43Ivan Magalhaes
1048Aika H TollnerSpain2026-10-10Feiner Bros UNQUALIFIED58Anna Fali
1049Antonio O DoeUnited Kingdom2026-09-29Benton, John B Jr NEW69Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Clifford Z GlickItalyOnyama Limba NEGOTIATION
Clifford O ButtAustraliaAmy Elsner RENEWAL
Stacey Z VocelkaAustraliaOnyama Limba RENEWAL
Arvin O RoysterIndiaElwin Sharvill UNQUALIFIED
Wickens W ShinkoAustraliaIvan Magalhaes QUALIFIED
Francesco K SlusarskiArgentinaXuxue Feng RENEWAL
Rodrigues E BologniaIndiaAmy Elsner RENEWAL
Rodrigues A DoeJapanIvan Magalhaes PROPOSAL
Misaki B GillianGermanyOnyama Limba RENEWAL
Mayumi Q MaletSpainOnyama Limba NEW
Julie E WhobreyFranceIvan Magalhaes PROPOSAL
Aditya P GarufiArgentinaOnyama Limba RENEWAL
Sinclair X NickaItalyIoni Bowcher QUALIFIED
Arvin C MarrierFranceAsiya Javayant UNQUALIFIED
Maria G RimBrazilAmy Elsner PROPOSAL
Juan N ButtRussiaIvan Magalhaes QUALIFIED
Maria L FigeroaIndiaStephen Shaw UNQUALIFIED
Alejandro M AlbaresCanadaXuxue Feng NEGOTIATION
Octavia N SergiGermanyBernardo Dominic NEW
Smith X RimGermanyAsiya Javayant UNQUALIFIED
Izzy O FerenczAustraliaAsiya Javayant RENEWAL
Ivar S MarrierJapanStephen Shaw NEGOTIATION
Tony P SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
Antonio M StockhamItalyOnyama Limba RENEWAL
Mujtaba Q DoeAustraliaAnna Fali NEGOTIATION
Stacey E SchemmerFranceIoni Bowcher NEW
Octavia P DarakjyBrazilXuxue Feng UNQUALIFIED
Clifford C PaprockiBrazilXuxue Feng QUALIFIED
Jeanfrancois G StensethAustraliaBernardo Dominic UNQUALIFIED
Munro H FollerJapanElwin Sharvill RENEWAL
Wickens T SchemmerRussiaAnna Fali PROPOSAL
Cody V BowleySpainIoni Bowcher NEW
Morrow X RimRussiaIoni Bowcher QUALIFIED
Tony D GarufiFranceStephen Shaw UNQUALIFIED
James A WieserJapanBernardo Dominic PROPOSAL
Juan Z SergiJapanElwin Sharvill QUALIFIED
Kaitlin N WieserIndiaXuxue Feng PROPOSAL
Faith X KolmetzFranceOnyama Limba UNQUALIFIED
Jeanfrancois I CaldareraBrazilAsiya Javayant RENEWAL
Nicolas I CaudyCanadaXuxue Feng NEW
Tony K PoquetteCanadaAsiya Javayant QUALIFIED
Aruna G ButtIndiaStephen Shaw QUALIFIED
Nicolas Z RimItalyAnna Fali QUALIFIED
Munro G BologniaRussiaAnna Fali PROPOSAL
Izzy C SchemmerArgentinaStephen Shaw NEW
Sinclair R BriddickRussiaStephen Shaw RENEWAL
Ricardo W FigeroaJapanOnyama Limba PROPOSAL
Costa R GillianSpainBernardo Dominic QUALIFIED
Deepesh Y CampainUnited KingdomIoni Bowcher NEW
David C CaldareraSpainAnna Fali NEW
Frozen Columns
Name
Smith Q Rulapaugh
Leja E Perin
Wickens R Ruta
Silvio Z Poquette
Emily M Slusarski
Jones W Doe
Salvatore T Kolmetz
Emily O Perin
Darci V Oldroyd
Alejandro X Saylors
Mujtaba U Oldroyd
Maria D Garufi
Emily L Perin
Maisha G Malet
Maria F Maclead
Ashley V Rim
Jones U Albares
Octavia W Whobrey
Octavia R Rulapaugh
Octavia P Ostrosky
Jones V Wieser
Murillo Y Ferencz
Misaki S Perin
Jefferson M Wieser
Leon W Perin
Francesco D Dilliard
Kadeem X Wieser
Ivar M Ruta
Mujtaba F Garufi
Ricardo R Gillian
Cody R Sergi
Aika O Caldarera
Mujtaba F Stockham
Stacey V Marrier
Silvio L Inouye
Aruna H Briddick
David T Sergi
Salvatore L Schemmer
Cody V Perin
Greenwood D Gaucho
Jennifer E Dilliard
Arvin L Figeroa
Maria T Glick
Jefferson T Stenseth
Murillo F Inouye
Munro G Inouye
Jones H Caldarera
Francesco L Ferencz
Cody A Venere
James N Royster
IdCountryDate
1000Russia2026-10-06
1001Argentina2026-10-15
1002Spain2026-10-13
1003Russia2026-09-28
1004Germany2026-10-13
1005Italy2026-10-17
1006United Kingdom2026-10-18
1007Japan2026-09-29
1008Australia2026-10-10
1009Italy2026-09-29
1010Germany2026-10-15
1011Australia2026-10-14
1012United Kingdom2026-10-07
1013United Kingdom2026-09-27
1014Canada2026-10-03
1015Spain2026-10-19
1016Canada2026-10-13
1017Australia2026-10-17
1018Russia2026-10-11
1019Australia2026-10-03
1020United Kingdom2026-10-13
1021Australia2026-10-16
1022India2026-10-08
1023France2026-10-13
1024India2026-10-07
1025Australia2026-10-13
1026Spain2026-09-30
1027Canada2026-09-30
1028Germany2026-10-21
1029Italy2026-10-20
1030United Kingdom2026-10-11
1031India2026-10-20
1032Spain2026-09-27
1033Canada2026-09-30
1034Russia2026-10-17
1035United Kingdom2026-10-20
1036France2026-10-03
1037Spain2026-10-20
1038Argentina2026-10-11
1039France2026-10-03
1040United Kingdom2026-10-07
1041United Kingdom2026-09-28
1042France2026-09-28
1043India2026-09-27
1044Canada2026-10-16
1045Russia2026-10-21
1046France2026-10-01
1047Germany2026-09-24
1048Argentina2026-09-28
1049Brazil2026-09-23

On-Demand Data

NameIdCountryDate
Deepesh L Malet1000Spain2026-10-21
Juan G Tollner1001France2026-09-23
Darci D Stenseth1002Canada2026-10-14
Aruna S Ferencz1003Brazil2026-10-04
David X Amigon1004Canada2026-10-02
Cody X Gaucho1005Germany2026-10-16
Mayumi S Kolmetz1006Russia2026-09-28
Johnson B Nestle1007Italy2026-09-28
Sinclair D Flosi1008India2026-10-16
Leon C Kusko1009France2026-10-20
James Y Campain1010India2026-10-06
Stacey G Poquette1011Japan2026-10-15
Jeanfrancois S Glick1012Italy2026-09-30
Morrow U Dilliard1013India2026-10-01
Johnson Q Rim1014Germany2026-09-28
Ivar J Malet1015Brazil2026-10-10
Maisha R Paprocki1016Italy2026-10-21
Francesco R Stockham1017Argentina2026-10-20
Wickens V Slusarski1018Australia2026-10-12
Izzy A Saylors1019India2026-10-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey Y SlusarskiBrazilBernardo Dominic NEGOTIATION
Octavia I SlusarskiItalyOnyama Limba QUALIFIED
Aditya K BologniaItalyXuxue Feng PROPOSAL
Jeanfrancois R OldroydGermanyAnna Fali UNQUALIFIED
Alejandro E KuskoJapanBernardo Dominic PROPOSAL
Juan K MaletItalyElwin Sharvill NEW
Johnson F IturbideItalyIvan Magalhaes UNQUALIFIED
Izzy N DilliardFranceIvan Magalhaes RENEWAL
Jefferson J GauchoUnited KingdomIvan Magalhaes RENEWAL
Smith T ButtCanadaAsiya Javayant NEW
Rodrigues C SchemmerGermanyBernardo Dominic NEW
Morrow C PoquetteGermanyElwin Sharvill NEGOTIATION
Tony A SlusarskiRussiaXuxue Feng PROPOSAL
Smith M CampainCanadaAsiya Javayant NEW
Rodrigues Z PerinIndiaAmy Elsner RENEWAL
Smith G GlickUnited KingdomElwin Sharvill UNQUALIFIED
Emily J KolmetzGermanyBernardo Dominic PROPOSAL
Tony J VocelkaRussiaElwin Sharvill PROPOSAL
Francesco B GillianFranceIvan Magalhaes PROPOSAL
Costa K BowleyArgentinaBernardo Dominic PROPOSAL
Mujtaba P MorascaRussiaElwin Sharvill QUALIFIED
Murillo E OldroydRussiaXuxue Feng PROPOSAL
Aruna M KolmetzFranceIvan Magalhaes NEW
Alejandro J FigeroaIndiaAnna Fali NEGOTIATION
Morrow M RutaBrazilElwin Sharvill RENEWAL
Chavez M ButtArgentinaStephen Shaw RENEWAL
Ricardo L RoysterIndiaIoni Bowcher NEW
Leon Q RutaArgentinaIvan Magalhaes NEGOTIATION
Tony E InouyeUnited KingdomBernardo Dominic PROPOSAL
Smith G DilliardSpainAsiya Javayant RENEWAL
Faith Q KolmetzRussiaStephen Shaw NEGOTIATION
Darci I RimAustraliaXuxue Feng NEGOTIATION
James K RulapaughFranceAsiya Javayant NEGOTIATION
Aika W SaylorsArgentinaAsiya Javayant NEW
Adams M ChuiIndiaXuxue Feng RENEWAL
Claire N MacleadArgentinaIvan Magalhaes QUALIFIED
Clifford P ButtGermanyBernardo Dominic QUALIFIED
David I OldroydItalyAmy Elsner NEW
Jennifer R VenereItalyStephen Shaw QUALIFIED
Claire K GillianGermanyOnyama Limba RENEWAL

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