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
Aditya X AlbaresBrazilOnyama Limba NEGOTIATION
Aika X VenereArgentinaXuxue Feng NEW
Munro G InouyeBrazilIoni Bowcher NEW
Isabel A DilliardArgentinaIoni Bowcher NEW
Silvio H MorascaCanadaIoni Bowcher QUALIFIED
Julie E WaycottGermanyStephen Shaw QUALIFIED
Claire U AlbaresBrazilAmy Elsner QUALIFIED
Julie V RimUnited KingdomIoni Bowcher NEW
Costa W VenereSpainIoni Bowcher NEW
Greenwood E GlickFranceIoni Bowcher NEW
Darci W BriddickItalyOnyama Limba UNQUALIFIED
Kadeem I WieserRussiaAsiya Javayant RENEWAL
Johnson P ButtCanadaAsiya Javayant NEW
Francesco L MaletAustraliaElwin Sharvill RENEWAL
Mayumi N SaylorsSpainIvan Magalhaes UNQUALIFIED
Maria G WieserSpainBernardo Dominic NEGOTIATION
Alejandro X RulapaughUnited KingdomAmy Elsner PROPOSAL
Nicolas F IturbideJapanIvan Magalhaes PROPOSAL
Ashley Y MorascaCanadaIvan Magalhaes NEGOTIATION
Costa Z ChuiJapanOnyama Limba RENEWAL
Emily M FigeroaJapanAnna Fali NEW
Munro Z DoeFranceIvan Magalhaes NEGOTIATION
Tony O KolmetzIndiaXuxue Feng NEGOTIATION
Munro R MaletArgentinaIvan Magalhaes PROPOSAL
Aruna K AlbaresIndiaIvan Magalhaes RENEWAL
Kaitlin X SchemmerIndiaStephen Shaw QUALIFIED
Salvatore S PerinArgentinaAmy Elsner RENEWAL
Kaitlin T BriddickIndiaAsiya Javayant RENEWAL
Emily Q SergiUnited KingdomAmy Elsner RENEWAL
Sinclair O WhobreyArgentinaIoni Bowcher PROPOSAL
Alejandro C CaudyItalyIoni Bowcher NEGOTIATION
Salvatore A SergiFranceOnyama Limba NEGOTIATION
Chavez T SaylorsSpainElwin Sharvill UNQUALIFIED
Faith Y RulapaughBrazilIoni Bowcher QUALIFIED
Rodrigues Y BologniaItalyAmy Elsner NEGOTIATION
Jefferson P KolmetzSpainAnna Fali NEW
Jones E RulapaughRussiaIvan Magalhaes RENEWAL
Leja C IturbideSpainXuxue Feng RENEWAL
Mujtaba F AmigonIndiaAmy Elsner PROPOSAL
Ashley A SchemmerSpainIoni Bowcher NEW
David G AmigonAustraliaElwin Sharvill UNQUALIFIED
Antonio G CaldareraAustraliaIoni Bowcher NEGOTIATION
Tony K MaletGermanyXuxue Feng PROPOSAL
Rodrigues U FlosiFranceAnna Fali RENEWAL
Juan C PoquetteCanadaXuxue Feng NEW
Misaki E ShinkoCanadaElwin Sharvill NEW
Stacey M BriddickIndiaAsiya Javayant RENEWAL
Munro K OldroydIndiaAnna Fali UNQUALIFIED
Leon K StockhamArgentinaIvan Magalhaes NEW
Silvio B FerenczRussiaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna E ShinkoIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois O ChuiRussiaElwin Sharvill PROPOSAL
Costa Y KolmetzRussiaIoni Bowcher NEGOTIATION
Wickens V BowleyItalyAmy Elsner RENEWAL
Juan C GillianGermanyAnna Fali PROPOSAL
David W SlusarskiItalyBernardo Dominic RENEWAL
Alejandro E FollerCanadaAmy Elsner NEGOTIATION
Alejandro P AlbaresAustraliaOnyama Limba NEW
Salvatore H PaprockiGermanyAmy Elsner PROPOSAL
Munro E RutaCanadaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar Z DilliardSpain2026-10-24Feltz Printing Service RENEWAL18Ivan Magalhaes
1001Munro O CaldareraCanada2026-10-22Morlong Associates NEGOTIATION61Onyama Limba
1002Cody N ButtJapan2026-10-13Benton, John B Jr RENEWAL38Elwin Sharvill
1003Ricardo J OstroskyGermany2026-10-27Commercial Press NEGOTIATION60Stephen Shaw
1004Francesco O GillianCanada2026-11-09Buckley Miller Wright QUALIFIED44Ioni Bowcher
1005Arvin I AmigonAustralia2026-11-01King, Christopher A Esq NEW91Anna Fali
1006Izzy O GarufiAustralia2026-10-31Printing Dimensions UNQUALIFIED29Ivan Magalhaes
1007Rodrigues G RoysterCanada2026-11-07Commercial Press NEGOTIATION93Elwin Sharvill
1008Juan C WhobreyCanada2026-10-23Printing Dimensions PROPOSAL66Bernardo Dominic
1009Greenwood Q WaycottSpain2026-10-28Feltz Printing Service PROPOSAL17Asiya Javayant
1010Clifford F SergiArgentina2026-10-19Dorl, James J Esq RENEWAL11Elwin Sharvill
1011Jeanfrancois N InouyeCanada2026-10-26Chanay, Jeffrey A Esq UNQUALIFIED37Ioni Bowcher
1012Ivar K DoeCanada2026-10-25King, Christopher A Esq RENEWAL85Ioni Bowcher
1013Darci T AlbaresRussia2026-10-16Commercial Press PROPOSAL52Anna Fali
1014Ricardo M RimRussia2026-11-04Benton, John B Jr UNQUALIFIED32Amy Elsner
1015Tony W VenereUnited Kingdom2026-10-20Truhlar And Truhlar Attys PROPOSAL18Stephen Shaw
1016Costa D KolmetzAustralia2026-10-21Chapman, Ross E Esq RENEWAL92Amy Elsner
1017James S TollnerGermany2026-10-21Feiner Bros PROPOSAL85Amy Elsner
1018Claire V StensethArgentina2026-10-25Chapman, Ross E Esq NEW38Onyama Limba
1019Jeanfrancois R FollerSpain2026-10-21Printing Dimensions NEW61Bernardo Dominic
1020Costa M MarrierSpain2026-10-29Morlong Associates RENEWAL27Onyama Limba
1021Rodrigues C NestleItaly2026-10-13Morlong Associates UNQUALIFIED67Ioni Bowcher
1022Maria L CampainFrance2026-11-01Chapman, Ross E Esq NEGOTIATION43Onyama Limba
1023Deepesh S SlusarskiAustralia2026-10-12Printing Dimensions NEW82Ioni Bowcher
1024Leon W SlusarskiCanada2026-10-29Dorl, James J Esq UNQUALIFIED56Amy Elsner
1025Wickens E GarufiIndia2026-10-24Dorl, James J Esq NEW59Onyama Limba
1026Adams R FerenczCanada2026-11-07Chemel, James L Cpa PROPOSAL94Onyama Limba
1027Misaki K SchemmerIndia2026-10-17Chapman, Ross E Esq QUALIFIED98Onyama Limba
1028Juan I KuskoBrazil2026-11-08Chapman, Ross E Esq NEGOTIATION21Stephen Shaw
1029Nicolas S FigeroaSpain2026-11-04Chemel, James L Cpa PROPOSAL98Xuxue Feng
1030James G MarrierIndia2026-10-17Chapman, Ross E Esq PROPOSAL19Stephen Shaw
1031Jefferson V BriddickAustralia2026-10-25King, Christopher A Esq UNQUALIFIED89Elwin Sharvill
1032Maisha Y RulapaughUnited Kingdom2026-11-09Morlong Associates PROPOSAL30Ivan Magalhaes
1033Jefferson D GauchoGermany2026-10-23Chemel, James L Cpa NEGOTIATION25Xuxue Feng
1034Morrow Z CaldareraUnited Kingdom2026-10-24Chapman, Ross E Esq NEW58Xuxue Feng
1035Adams T MacleadBrazil2026-11-09Benton, John B Jr QUALIFIED86Onyama Limba
1036James Y CampainFrance2026-10-30Buckley Miller Wright QUALIFIED64Onyama Limba
1037Kaitlin O BriddickUnited Kingdom2026-10-16Feltz Printing Service NEW83Elwin Sharvill
1038Maisha W VenereArgentina2026-10-19Chemel, James L Cpa NEW97Onyama Limba
1039Julie P RutaRussia2026-10-13Rousseaux, Michael Esq QUALIFIED44Anna Fali
1040Clifford E RulapaughBrazil2026-10-17Buckley Miller Wright UNQUALIFIED91Amy Elsner
1041James Q FerenczArgentina2026-10-23Feltz Printing Service NEGOTIATION52Ioni Bowcher
1042Ricardo Y IturbideItaly2026-10-12Buckley Miller Wright UNQUALIFIED78Onyama Limba
1043Salvatore J FigeroaJapan2026-10-15Feltz Printing Service PROPOSAL19Xuxue Feng
1044Jones O FigeroaBrazil2026-10-17Rousseaux, Michael Esq NEGOTIATION39Ivan Magalhaes
1045Claire C PoquetteGermany2026-11-09Truhlar And Truhlar Attys NEW24Asiya Javayant
1046Ivar P SlusarskiBrazil2026-10-18Feiner Bros RENEWAL2Stephen Shaw
1047Greenwood W RimFrance2026-10-30Chemel, James L Cpa PROPOSAL12Ioni Bowcher
1048Claire P KuskoAustralia2026-11-06Rousseaux, Michael Esq UNQUALIFIED68Ioni Bowcher
1049Nicolas I MorascaGermany2026-10-18Morlong Associates RENEWAL0Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Leon P IturbideJapanBernardo Dominic RENEWAL
Deepesh G SaylorsSpainAmy Elsner RENEWAL
Adams L SergiItalyXuxue Feng UNQUALIFIED
Tony Q MaletFranceElwin Sharvill RENEWAL
Jones Y ChuiJapanAnna Fali NEW
Aika H ShinkoUnited KingdomAnna Fali NEW
Mayumi N RimFranceOnyama Limba UNQUALIFIED
Faith Z BriddickCanadaIvan Magalhaes NEW
Leja J StockhamArgentinaBernardo Dominic UNQUALIFIED
Adams H NestleFranceAnna Fali QUALIFIED
Morrow M InouyeAustraliaIoni Bowcher NEW
Deepesh E WieserAustraliaIvan Magalhaes NEW
Morrow N BriddickArgentinaElwin Sharvill NEW
Octavia D FigeroaArgentinaAsiya Javayant NEW
Francesco T ButtIndiaIvan Magalhaes QUALIFIED
Aruna L RulapaughCanadaElwin Sharvill NEGOTIATION
Chavez F SlusarskiUnited KingdomElwin Sharvill RENEWAL
Juan P KuskoFranceAmy Elsner RENEWAL
Maria S FollerItalyAnna Fali NEGOTIATION
Faith T PaprockiItalyOnyama Limba NEW
Morrow T DilliardGermanyAsiya Javayant PROPOSAL
Morrow G KuskoCanadaBernardo Dominic NEGOTIATION
Antonio P MaletFranceAmy Elsner PROPOSAL
Adams Y BriddickBrazilXuxue Feng QUALIFIED
Rodrigues T BriddickFranceStephen Shaw NEGOTIATION
Jefferson G FollerCanadaAmy Elsner NEW
Stacey T SergiGermanyOnyama Limba PROPOSAL
Deepesh C GlickCanadaAnna Fali PROPOSAL
Adams P PerinUnited KingdomXuxue Feng NEW
Jeanfrancois O OldroydJapanAnna Fali RENEWAL
Aruna W TollnerUnited KingdomElwin Sharvill QUALIFIED
Aika J GarufiSpainAnna Fali RENEWAL
Cody M PoquetteItalyOnyama Limba RENEWAL
Izzy U RimGermanyAmy Elsner RENEWAL
Johnson M SaylorsRussiaBernardo Dominic UNQUALIFIED
Mujtaba S KuskoCanadaIoni Bowcher RENEWAL
David Q MaletItalyBernardo Dominic PROPOSAL
Arvin G SergiFranceElwin Sharvill NEW
Nicolas Z RimGermanyOnyama Limba RENEWAL
Jeanfrancois D DoeBrazilAsiya Javayant RENEWAL
Jones J NestleArgentinaIvan Magalhaes NEW
Jones E IturbideBrazilElwin Sharvill NEGOTIATION
Faith M RimIndiaAnna Fali NEGOTIATION
James N MaletJapanIvan Magalhaes RENEWAL
Ashley P ShinkoSpainAnna Fali UNQUALIFIED
Munro E VocelkaGermanyAsiya Javayant UNQUALIFIED
Stacey L RulapaughJapanStephen Shaw QUALIFIED
Ashley J FollerGermanyIoni Bowcher PROPOSAL
Stacey S CaudySpainOnyama Limba QUALIFIED
Aruna U CampainAustraliaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Ivar K Briddick
Munro W Albares
Aika U Briddick
Deepesh N Royster
Adams B Foller
Darci H Iturbide
Wickens X Nestle
Francesco G Ostrosky
Adams T Butt
Jones Z Poquette
Izzy N Malet
Chavez S Figeroa
Claire T Slusarski
Ricardo U Inouye
Silvio J Doe
Alejandro M Morasca
Ricardo P Dilliard
Kaitlin B Malet
Octavia L Paprocki
David Q Rulapaugh
Izzy S Gillian
Jefferson T Nicka
Kadeem S Albares
Adams P Chui
Francesco H Amigon
Salvatore V Poquette
Jefferson F Vocelka
Greenwood F Nestle
David L Kolmetz
Claire U Shinko
Greenwood E Foller
Arvin O Ruta
Julie I Chui
Wickens E Poquette
Darci H Schemmer
Juan P Doe
Jennifer H Whobrey
Salvatore M Ostrosky
Jennifer Z Rulapaugh
Faith F Nestle
Aika D Shinko
Leja P Wieser
Alejandro Y Butt
Darci D Schemmer
Darci R Butt
Emily Y Venere
Nicolas P Slusarski
Jones X Caldarera
Murillo Z Tollner
Leja B Gillian
IdCountryDate
1000Italy2026-10-24
1001Italy2026-10-25
1002United Kingdom2026-10-26
1003Japan2026-11-06
1004United Kingdom2026-11-06
1005Japan2026-10-14
1006Italy2026-11-02
1007Canada2026-10-20
1008Germany2026-10-16
1009Canada2026-11-09
1010Australia2026-11-05
1011Canada2026-11-10
1012Germany2026-11-01
1013Japan2026-11-02
1014Italy2026-11-04
1015Spain2026-10-14
1016Germany2026-11-04
1017India2026-10-16
1018Italy2026-10-12
1019Brazil2026-10-24
1020France2026-11-01
1021Argentina2026-11-08
1022Russia2026-10-15
1023Germany2026-10-30
1024Japan2026-10-19
1025Argentina2026-11-09
1026Argentina2026-10-16
1027Germany2026-10-21
1028United Kingdom2026-10-17
1029Canada2026-11-07
1030Canada2026-11-04
1031Brazil2026-10-29
1032Germany2026-11-05
1033Russia2026-11-10
1034United Kingdom2026-11-08
1035Germany2026-10-13
1036Japan2026-10-29
1037Spain2026-11-01
1038Argentina2026-11-01
1039Argentina2026-11-06
1040Italy2026-11-05
1041Russia2026-10-12
1042Spain2026-10-19
1043Argentina2026-10-15
1044Australia2026-11-05
1045Brazil2026-10-19
1046Argentina2026-10-20
1047France2026-10-22
1048Spain2026-11-10
1049Spain2026-11-01

On-Demand Data

NameIdCountryDate
Claire T Bolognia1000Spain2026-10-24
Emily D Vocelka1001France2026-10-19
Nicolas J Chui1002Argentina2026-11-02
Silvio N Venere1003Italy2026-10-22
Isabel R Chui1004United Kingdom2026-11-02
Leja J Wieser1005Canada2026-10-26
Costa U Ruta1006United Kingdom2026-11-01
Jefferson F Stenseth1007France2026-10-16
Julie W Ruta1008Germany2026-10-16
Leja C Briddick1009Argentina2026-10-17
Misaki P Foller1010Australia2026-10-27
Jeanfrancois G Darakjy1011Australia2026-10-14
Rodrigues I Briddick1012Japan2026-11-06
Cody X Waycott1013India2026-11-07
Silvio X Flosi1014India2026-11-01
Johnson E Whobrey1015Brazil2026-10-22
Adams J Campain1016United Kingdom2026-10-28
Mujtaba Y Darakjy1017Russia2026-11-10
Clifford H Shinko1018Brazil2026-11-02
Morrow J Nicka1019France2026-10-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem B OstroskyBrazilStephen Shaw NEW
Chavez R RoysterRussiaIvan Magalhaes QUALIFIED
Murillo G FigeroaCanadaStephen Shaw UNQUALIFIED
Aditya R MacleadCanadaOnyama Limba UNQUALIFIED
Tony B WaycottRussiaIoni Bowcher NEW
Nicolas F NickaFranceAmy Elsner UNQUALIFIED
Octavia O BowleyAustraliaXuxue Feng UNQUALIFIED
Morrow H WhobreyItalyIvan Magalhaes NEW
Aditya E MorascaAustraliaBernardo Dominic RENEWAL
Mujtaba Z BologniaSpainIoni Bowcher NEGOTIATION
David Y StensethAustraliaIoni Bowcher QUALIFIED
David B CaldareraIndiaElwin Sharvill QUALIFIED
Stacey U DoeArgentinaIoni Bowcher NEW
Maisha W PoquetteBrazilOnyama Limba NEW
Maria N MarrierAustraliaBernardo Dominic NEW
Aditya M CaudyItalyAnna Fali QUALIFIED
Mayumi Q CaudyArgentinaBernardo Dominic PROPOSAL
Maisha O SchemmerGermanyAmy Elsner QUALIFIED
Darci I CampainIndiaElwin Sharvill NEW
Julie Q VocelkaCanadaIoni Bowcher UNQUALIFIED
Costa H GillianBrazilIoni Bowcher PROPOSAL
Jennifer P OldroydItalyElwin Sharvill RENEWAL
Deepesh G VenereGermanyBernardo Dominic NEW
Sinclair X MaletArgentinaElwin Sharvill NEGOTIATION
David F NickaArgentinaElwin Sharvill PROPOSAL
Murillo P RimBrazilAsiya Javayant QUALIFIED
Wickens T CaldareraArgentinaXuxue Feng PROPOSAL
Maisha T FigeroaArgentinaIvan Magalhaes QUALIFIED
Clifford F NestleSpainAnna Fali QUALIFIED
Leja B PerinFranceXuxue Feng RENEWAL
Johnson V CaudyRussiaIvan Magalhaes NEW
Tony D FigeroaUnited KingdomElwin Sharvill RENEWAL
Cody F OstroskyItalyElwin Sharvill NEGOTIATION
Chavez J ButtJapanBernardo Dominic NEW
James K SergiItalyIvan Magalhaes NEW
Kaitlin J KolmetzGermanyOnyama Limba QUALIFIED
Ashley O SaylorsRussiaIvan Magalhaes PROPOSAL
Leon N DarakjyIndiaXuxue Feng NEGOTIATION
Ashley L RutaJapanElwin Sharvill PROPOSAL
Wickens Y OldroydAustraliaAnna Fali 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>