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
Aruna R RulapaughFranceAnna Fali PROPOSAL
Maria U ShinkoFranceOnyama Limba UNQUALIFIED
Maisha P OstroskySpainIoni Bowcher NEGOTIATION
Leja O AlbaresJapanAnna Fali NEW
Aditya Z ChuiFranceAmy Elsner QUALIFIED
Ivar C SergiFranceIoni Bowcher NEGOTIATION
Sinclair U VenereItalyXuxue Feng PROPOSAL
Kadeem K RutaItalyBernardo Dominic RENEWAL
Arvin K ButtRussiaIvan Magalhaes NEGOTIATION
Greenwood E VenereSpainStephen Shaw NEW
Kaitlin S CaldareraRussiaIoni Bowcher NEGOTIATION
Maria G KolmetzIndiaElwin Sharvill PROPOSAL
Isabel I FerenczRussiaAmy Elsner NEW
Johnson F WaycottJapanAmy Elsner RENEWAL
Ashley T AlbaresBrazilAsiya Javayant QUALIFIED
Clifford K FlosiFranceIvan Magalhaes UNQUALIFIED
Morrow I WaycottIndiaXuxue Feng UNQUALIFIED
Arvin A PaprockiUnited KingdomAmy Elsner NEW
Maria A GauchoJapanBernardo Dominic NEGOTIATION
Faith X RulapaughArgentinaStephen Shaw RENEWAL
Claire X StensethArgentinaIoni Bowcher NEGOTIATION
Stacey V CaldareraBrazilIoni Bowcher RENEWAL
Claire P TollnerArgentinaAsiya Javayant QUALIFIED
Salvatore K RulapaughIndiaIvan Magalhaes NEGOTIATION
Juan V RulapaughRussiaAmy Elsner NEGOTIATION
Maisha C FigeroaGermanyAsiya Javayant NEW
Francesco R IturbideGermanyXuxue Feng UNQUALIFIED
Morrow M StockhamJapanXuxue Feng RENEWAL
Maria V NestleItalyAnna Fali UNQUALIFIED
Murillo G SchemmerGermanyAsiya Javayant UNQUALIFIED
Octavia Q SergiBrazilAsiya Javayant UNQUALIFIED
Mayumi A KolmetzAustraliaElwin Sharvill QUALIFIED
Jeanfrancois E CaldareraSpainXuxue Feng QUALIFIED
Ashley H KuskoItalyIoni Bowcher RENEWAL
Greenwood N PoquetteGermanyXuxue Feng RENEWAL
Tony X ChuiArgentinaOnyama Limba NEGOTIATION
Mujtaba P MorascaItalyAmy Elsner QUALIFIED
James S DilliardAustraliaAnna Fali RENEWAL
Nicolas A RoysterItalyAsiya Javayant NEW
Izzy A DoeCanadaXuxue Feng RENEWAL
Leon E GauchoIndiaIoni Bowcher NEW
Leon G SergiFranceStephen Shaw UNQUALIFIED
Kaitlin W IturbideBrazilOnyama Limba NEGOTIATION
Tony I GarufiSpainAsiya Javayant PROPOSAL
Greenwood Q SchemmerBrazilAnna Fali NEW
Alejandro W MaletCanadaStephen Shaw RENEWAL
Isabel J GillianIndiaStephen Shaw QUALIFIED
Cody X BologniaFranceBernardo Dominic RENEWAL
Murillo W VocelkaAustraliaBernardo Dominic QUALIFIED
Sinclair I BowleyRussiaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Antonio U SaylorsSpainBernardo Dominic UNQUALIFIED
Misaki Z StensethGermanyAsiya Javayant NEW
Nicolas Y IturbideFranceAmy Elsner NEGOTIATION
Ashley G PerinAustraliaAsiya Javayant PROPOSAL
Leja H KolmetzGermanyElwin Sharvill QUALIFIED
Julie C CaudyBrazilElwin Sharvill NEW
Mayumi N NestleGermanyIoni Bowcher NEW
Rodrigues J RutaGermanyIvan Magalhaes RENEWAL
Leon E MaletJapanBernardo Dominic RENEWAL
Juan N MaletJapanStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci S FollerItaly2026-10-30Rousseaux, Michael Esq PROPOSAL90Elwin Sharvill
1001Aika I SaylorsItaly2026-11-04King, Christopher A Esq NEGOTIATION69Elwin Sharvill
1002Sinclair A KuskoArgentina2026-10-15Buckley Miller Wright UNQUALIFIED36Asiya Javayant
1003Alejandro A StockhamRussia2026-10-22Rousseaux, Michael Esq QUALIFIED15Amy Elsner
1004James C TollnerItaly2026-10-23Printing Dimensions NEGOTIATION75Asiya Javayant
1005Rodrigues S BriddickCanada2026-10-22Chemel, James L Cpa UNQUALIFIED30Ivan Magalhaes
1006Murillo J MaletIndia2026-10-20Printing Dimensions NEW74Xuxue Feng
1007Claire X StensethItaly2026-11-03Chanay, Jeffrey A Esq NEGOTIATION42Onyama Limba
1008Rodrigues Q MaletRussia2026-10-28Truhlar And Truhlar Attys PROPOSAL2Onyama Limba
1009Johnson D BriddickSpain2026-10-15Feltz Printing Service NEW64Ivan Magalhaes
1010Salvatore D SchemmerUnited Kingdom2026-10-30Buckley Miller Wright QUALIFIED18Xuxue Feng
1011Claire C ChuiItaly2026-10-13Buckley Miller Wright PROPOSAL12Stephen Shaw
1012Costa S KolmetzIndia2026-10-11Chanay, Jeffrey A Esq RENEWAL99Anna Fali
1013Cody L BowleySpain2026-10-30King, Christopher A Esq RENEWAL79Onyama Limba
1014Arvin C PaprockiItaly2026-10-17Buckley Miller Wright RENEWAL50Ivan Magalhaes
1015Arvin F RoysterSpain2026-10-23King, Christopher A Esq NEW16Stephen Shaw
1016Ricardo G PerinAustralia2026-11-01Benton, John B Jr NEGOTIATION18Anna Fali
1017Juan S WieserFrance2026-11-04Chapman, Ross E Esq NEW65Bernardo Dominic
1018Murillo Y CaldareraJapan2026-10-20Chanay, Jeffrey A Esq RENEWAL20Ivan Magalhaes
1019Ricardo V BowleyCanada2026-10-26Feltz Printing Service QUALIFIED18Xuxue Feng
1020James P RulapaughGermany2026-10-09Chanay, Jeffrey A Esq QUALIFIED2Amy Elsner
1021Emily H BowleyItaly2026-10-07King, Christopher A Esq NEGOTIATION12Amy Elsner
1022James U CaudyFrance2026-10-29Morlong Associates PROPOSAL16Xuxue Feng
1023Kaitlin I CaldareraRussia2026-10-08Truhlar And Truhlar Attys PROPOSAL1Xuxue Feng
1024Ivar Y MaletIndia2026-10-16Feiner Bros PROPOSAL2Ioni Bowcher
1025Arvin W KolmetzSpain2026-10-16Feiner Bros QUALIFIED93Ivan Magalhaes
1026Cody I CaldareraBrazil2026-11-05King, Christopher A Esq PROPOSAL60Elwin Sharvill
1027Jeanfrancois L OldroydIndia2026-10-17Truhlar And Truhlar Attys UNQUALIFIED17Ivan Magalhaes
1028Mayumi R FlosiIndia2026-10-12King, Christopher A Esq NEGOTIATION9Anna Fali
1029Clifford F KuskoAustralia2026-10-20Printing Dimensions UNQUALIFIED58Stephen Shaw
1030Wickens H CaudyAustralia2026-10-16Truhlar And Truhlar Attys NEW60Bernardo Dominic
1031Jones I OstroskyItaly2026-10-15Commercial Press PROPOSAL99Ivan Magalhaes
1032Clifford Q ShinkoGermany2026-10-26Printing Dimensions UNQUALIFIED26Amy Elsner
1033Silvio X MorascaSpain2026-11-04Commercial Press UNQUALIFIED2Stephen Shaw
1034Salvatore O FerenczIndia2026-10-29Feltz Printing Service QUALIFIED46Onyama Limba
1035Rodrigues J BowleyBrazil2026-10-12Commercial Press PROPOSAL10Xuxue Feng
1036Isabel W StensethItaly2026-10-25Chapman, Ross E Esq PROPOSAL55Stephen Shaw
1037Ashley R FlosiJapan2026-10-12Buckley Miller Wright NEW52Bernardo Dominic
1038Arvin W RimCanada2026-10-30Feiner Bros PROPOSAL84Bernardo Dominic
1039Smith W BologniaUnited Kingdom2026-10-16Rangoni Of Florence PROPOSAL21Onyama Limba
1040Aruna B GarufiBrazil2026-10-14Feltz Printing Service QUALIFIED2Onyama Limba
1041Stacey C TollnerAustralia2026-10-29King, Christopher A Esq QUALIFIED53Ivan Magalhaes
1042Jefferson Y VenereBrazil2026-10-26Rousseaux, Michael Esq RENEWAL31Asiya Javayant
1043Cody C TollnerBrazil2026-11-05Rousseaux, Michael Esq RENEWAL12Anna Fali
1044Julie B StensethJapan2026-10-12Printing Dimensions RENEWAL13Amy Elsner
1045Sinclair A MaletFrance2026-10-19Rousseaux, Michael Esq RENEWAL45Bernardo Dominic
1046Juan E VocelkaUnited Kingdom2026-10-07Buckley Miller Wright NEGOTIATION36Anna Fali
1047Antonio W DilliardItaly2026-10-17Chemel, James L Cpa QUALIFIED80Stephen Shaw
1048Cody K KuskoUnited Kingdom2026-10-10Commercial Press UNQUALIFIED89Asiya Javayant
1049Isabel P RimArgentina2026-10-24Morlong Associates QUALIFIED26Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Stacey C MacleadAustraliaAmy Elsner UNQUALIFIED
Smith A InouyeBrazilBernardo Dominic NEGOTIATION
Izzy A CampainBrazilXuxue Feng QUALIFIED
Rodrigues R ChuiArgentinaAsiya Javayant NEGOTIATION
Rodrigues W WaycottArgentinaXuxue Feng NEW
Arvin D OstroskyJapanAmy Elsner PROPOSAL
Ivar G SergiItalyElwin Sharvill PROPOSAL
Tony P RutaGermanyIvan Magalhaes UNQUALIFIED
Ricardo L SchemmerCanadaAmy Elsner RENEWAL
Aika P DilliardAustraliaIvan Magalhaes RENEWAL
Munro X DilliardGermanyElwin Sharvill NEGOTIATION
Morrow T NickaUnited KingdomElwin Sharvill NEGOTIATION
Adams O RimFranceXuxue Feng PROPOSAL
Adams Y BowleyFranceAmy Elsner NEW
Maisha E KolmetzFranceBernardo Dominic QUALIFIED
Aditya A SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Nicolas R IturbideFranceIvan Magalhaes RENEWAL
Isabel D FlosiBrazilIvan Magalhaes RENEWAL
Jeanfrancois U WaycottJapanIoni Bowcher UNQUALIFIED
Arvin Y WhobreyGermanyAsiya Javayant QUALIFIED
Cody N StensethGermanyElwin Sharvill NEW
David P PaprockiItalyBernardo Dominic PROPOSAL
Jones Y PerinRussiaOnyama Limba PROPOSAL
Izzy W GauchoCanadaAsiya Javayant RENEWAL
Kaitlin Q GarufiArgentinaAsiya Javayant NEW
Morrow G WhobreyIndiaAnna Fali QUALIFIED
Munro O VenereJapanXuxue Feng QUALIFIED
Tony X AlbaresFranceIvan Magalhaes NEGOTIATION
Rodrigues B SchemmerCanadaAnna Fali PROPOSAL
Antonio G WieserCanadaAsiya Javayant PROPOSAL
Antonio S OstroskyJapanIoni Bowcher PROPOSAL
Jefferson R PaprockiArgentinaAnna Fali PROPOSAL
Mayumi S MacleadSpainAnna Fali NEW
Deepesh O NestleAustraliaIvan Magalhaes PROPOSAL
Isabel O MorascaBrazilElwin Sharvill PROPOSAL
Misaki S VenereJapanIoni Bowcher NEW
Silvio X MarrierSpainIoni Bowcher PROPOSAL
Deepesh U FigeroaJapanOnyama Limba PROPOSAL
Antonio A SergiFranceBernardo Dominic NEW
David H AmigonRussiaElwin Sharvill NEW
Claire P RutaRussiaStephen Shaw QUALIFIED
Misaki Q SergiArgentinaElwin Sharvill PROPOSAL
David I BologniaUnited KingdomOnyama Limba NEW
Adams N MaletRussiaAsiya Javayant PROPOSAL
Sinclair A FlosiItalyElwin Sharvill NEW
Chavez Y StensethGermanyXuxue Feng QUALIFIED
Arvin H DilliardItalyXuxue Feng NEW
Leon F GlickFranceXuxue Feng NEW
Kadeem N DarakjyIndiaAsiya Javayant NEW
Rodrigues B NestleIndiaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Aruna Y Nicka
Costa T Stockham
James Z Stockham
David M Amigon
Francesco R Flosi
Aditya H Schemmer
Jefferson K Chui
Ashley G Paprocki
Adams L Sergi
Antonio Q Butt
Emily Q Kolmetz
James P Stenseth
Costa J Vocelka
Misaki G Kolmetz
David C Gillian
Mayumi J Paprocki
Jennifer U Poquette
Smith F Rulapaugh
Maria Q Chui
Kadeem E Whobrey
Kaitlin J Poquette
Sinclair G Rim
Mujtaba J Stockham
Aika Z Caldarera
Nicolas R Rim
Julie Y Schemmer
Faith N Foller
Julie K Albares
Faith H Stockham
Leon H Stockham
Kadeem K Garufi
Murillo K Royster
Arvin O Saylors
Aditya V Gaucho
Costa R Iturbide
Jones K Wieser
Chavez Y Morasca
Chavez A Bowley
Misaki P Campain
Aditya R Poquette
Francesco P Foller
James A Perin
Juan Q Paprocki
Arvin E Glick
Arvin M Stockham
Kaitlin O Foller
Clifford P Doe
Aruna W Inouye
Jones X Caldarera
Mayumi P Inouye
IdCountryDate
1000Argentina2026-10-19
1001Spain2026-10-20
1002Japan2026-10-15
1003Italy2026-10-09
1004United Kingdom2026-11-05
1005France2026-10-17
1006Italy2026-10-27
1007Italy2026-10-31
1008Japan2026-11-01
1009India2026-10-17
1010Spain2026-10-07
1011Spain2026-10-11
1012Australia2026-10-25
1013Japan2026-10-29
1014Spain2026-10-25
1015Germany2026-10-11
1016Italy2026-10-25
1017United Kingdom2026-10-24
1018Australia2026-10-17
1019Australia2026-11-02
1020Japan2026-10-17
1021Brazil2026-10-13
1022Argentina2026-10-23
1023Japan2026-10-24
1024Russia2026-10-20
1025Germany2026-10-21
1026Russia2026-11-03
1027Spain2026-10-13
1028Germany2026-10-22
1029Argentina2026-10-12
1030Canada2026-10-17
1031India2026-10-13
1032Russia2026-10-20
1033France2026-10-30
1034Germany2026-11-05
1035Brazil2026-11-03
1036Argentina2026-10-12
1037Italy2026-10-26
1038Canada2026-10-29
1039Germany2026-10-11
1040Australia2026-10-20
1041United Kingdom2026-10-29
1042Germany2026-10-24
1043Germany2026-10-31
1044Germany2026-11-05
1045Spain2026-10-28
1046France2026-10-31
1047Spain2026-10-17
1048Canada2026-11-04
1049Germany2026-10-23

On-Demand Data

NameIdCountryDate
Ivar R Dilliard1000Canada2026-10-25
Antonio A Doe1001Germany2026-10-27
Jones Y Paprocki1002Brazil2026-10-20
Mujtaba F Ostrosky1003Italy2026-10-09
Octavia T Caldarera1004Germany2026-10-21
Rodrigues H Malet1005India2026-11-03
Silvio K Marrier1006Russia2026-10-23
Stacey N Inouye1007Russia2026-10-11
Costa P Ferencz1008Brazil2026-10-19
Faith N Campain1009Germany2026-10-16
Adams I Rim1010Canada2026-10-17
Sinclair Q Glick1011France2026-10-19
Rodrigues F Nicka1012Canada2026-10-18
Aika F Garufi1013Argentina2026-10-27
Izzy R Stockham1014Australia2026-10-10
Murillo L Vocelka1015Brazil2026-10-19
Julie K Marrier1016India2026-10-11
Tony J Caudy1017United Kingdom2026-10-30
David O Saylors1018Australia2026-10-31
James C Morasca1019Germany2026-10-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia C OldroydFranceXuxue Feng RENEWAL
Silvio O PoquetteItalyAmy Elsner NEW
Nicolas T RutaBrazilXuxue Feng UNQUALIFIED
Mayumi W OstroskyAustraliaBernardo Dominic NEGOTIATION
Jones U WieserAustraliaOnyama Limba UNQUALIFIED
Deepesh C StockhamJapanXuxue Feng PROPOSAL
Claire I MaletItalyElwin Sharvill NEW
Mayumi W WaycottItalyStephen Shaw QUALIFIED
Leon K GarufiBrazilXuxue Feng UNQUALIFIED
Nicolas Q ShinkoItalyAmy Elsner NEW
Ashley I SchemmerFranceStephen Shaw NEW
Aika U StensethRussiaAsiya Javayant NEW
Munro K GillianJapanIvan Magalhaes NEGOTIATION
Leja L WhobreyBrazilIoni Bowcher NEW
Salvatore Z OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Faith J ButtGermanyElwin Sharvill NEW
David A FollerUnited KingdomStephen Shaw PROPOSAL
Emily W BologniaUnited KingdomAnna Fali NEW
Mujtaba Y MarrierFranceOnyama Limba UNQUALIFIED
Octavia P RutaJapanAmy Elsner PROPOSAL
Izzy N FlosiItalyIoni Bowcher QUALIFIED
Wickens K FigeroaRussiaAnna Fali NEW
Julie G FerenczFranceXuxue Feng PROPOSAL
Faith S MaletJapanElwin Sharvill PROPOSAL
Ricardo Y OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Tony Z GarufiSpainIoni Bowcher NEGOTIATION
Chavez R OstroskyBrazilXuxue Feng QUALIFIED
Aditya L DoeArgentinaIoni Bowcher NEW
Silvio F PerinJapanIvan Magalhaes NEW
Isabel P RoysterFranceAmy Elsner NEGOTIATION
Mayumi D CampainCanadaAnna Fali UNQUALIFIED
Rodrigues N CampainBrazilBernardo Dominic NEGOTIATION
Munro D MarrierCanadaAmy Elsner NEGOTIATION
Emily D StockhamSpainAsiya Javayant PROPOSAL
Chavez P FlosiJapanAmy Elsner NEW
Leon R MorascaJapanIoni Bowcher RENEWAL
Darci P InouyeRussiaAsiya Javayant NEGOTIATION
Leon N SlusarskiBrazilAnna Fali NEW
Stacey R AlbaresAustraliaStephen Shaw UNQUALIFIED
Ricardo N AmigonUnited KingdomAmy Elsner 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>