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
Juan Z SlusarskiIndiaOnyama Limba NEGOTIATION
Wickens P IturbideItalyXuxue Feng RENEWAL
Jennifer W FerenczAustraliaOnyama Limba QUALIFIED
Mujtaba H MaletRussiaAsiya Javayant NEGOTIATION
Juan H BologniaAustraliaXuxue Feng UNQUALIFIED
David E ChuiRussiaAsiya Javayant NEW
Maria Y AlbaresAustraliaAmy Elsner RENEWAL
Maria T ChuiArgentinaAmy Elsner UNQUALIFIED
Claire J MarrierRussiaIoni Bowcher NEW
Ashley W FlosiBrazilXuxue Feng PROPOSAL
Leja X FlosiJapanIvan Magalhaes RENEWAL
Aditya S FlosiBrazilOnyama Limba QUALIFIED
Kaitlin Z FerenczGermanyIvan Magalhaes QUALIFIED
Kaitlin M ButtArgentinaAsiya Javayant NEW
Octavia U FigeroaAustraliaIoni Bowcher RENEWAL
Ashley I WaycottFranceOnyama Limba NEW
Kaitlin V OstroskyFranceAsiya Javayant PROPOSAL
Misaki K WieserBrazilOnyama Limba QUALIFIED
Alejandro A DilliardAustraliaBernardo Dominic RENEWAL
Jeanfrancois Y MarrierItalyElwin Sharvill RENEWAL
Silvio U PerinArgentinaXuxue Feng NEGOTIATION
Juan J DarakjyItalyIvan Magalhaes PROPOSAL
Antonio Z TollnerJapanIvan Magalhaes NEGOTIATION
Adams E WaycottCanadaIvan Magalhaes UNQUALIFIED
Murillo H DilliardItalyStephen Shaw NEW
Kadeem G RimUnited KingdomIoni Bowcher PROPOSAL
Johnson R AlbaresRussiaIoni Bowcher RENEWAL
Morrow P GillianCanadaIoni Bowcher UNQUALIFIED
Sinclair K AlbaresGermanyIvan Magalhaes NEGOTIATION
Alejandro G RutaArgentinaOnyama Limba PROPOSAL
Wickens A StensethFranceXuxue Feng NEW
Smith L RimItalyAmy Elsner NEW
Misaki B KolmetzRussiaIoni Bowcher PROPOSAL
Stacey O PaprockiJapanXuxue Feng PROPOSAL
Jennifer U StockhamBrazilStephen Shaw RENEWAL
Aditya P AmigonSpainBernardo Dominic NEW
Aika F FerenczArgentinaBernardo Dominic NEGOTIATION
Deepesh X BologniaFranceElwin Sharvill NEGOTIATION
Cody A RimGermanyBernardo Dominic NEGOTIATION
Claire O VocelkaAustraliaBernardo Dominic UNQUALIFIED
Kadeem W MacleadArgentinaAsiya Javayant PROPOSAL
Chavez P NestleJapanAmy Elsner QUALIFIED
Mayumi R WaycottItalyIvan Magalhaes NEW
Deepesh T MacleadBrazilAsiya Javayant NEW
Faith R SaylorsFranceElwin Sharvill NEW
David V RutaAustraliaAnna Fali UNQUALIFIED
Greenwood H StockhamGermanyStephen Shaw RENEWAL
Johnson D GillianFranceOnyama Limba RENEWAL
Deepesh I DoeBrazilBernardo Dominic PROPOSAL
Mayumi H CaldareraArgentinaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna I BriddickBrazilOnyama Limba QUALIFIED
Darci S WhobreySpainAsiya Javayant UNQUALIFIED
Adams S DilliardCanadaIvan Magalhaes PROPOSAL
Silvio J SlusarskiCanadaAnna Fali PROPOSAL
Jeanfrancois X GillianRussiaIvan Magalhaes PROPOSAL
James H KuskoBrazilBernardo Dominic QUALIFIED
Clifford C DoeAustraliaOnyama Limba PROPOSAL
Munro Q CampainFranceStephen Shaw QUALIFIED
Emily K VenereIndiaAnna Fali QUALIFIED
Ashley Q PerinBrazilOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith R InouyeJapan2026-08-21Printing Dimensions UNQUALIFIED24Onyama Limba
1001Aditya G DarakjySpain2026-08-23Morlong Associates NEGOTIATION70Stephen Shaw
1002Alejandro U RoysterCanada2026-08-30Dorl, James J Esq UNQUALIFIED14Xuxue Feng
1003Tony K StockhamItaly2026-08-19Rousseaux, Michael Esq QUALIFIED63Bernardo Dominic
1004Adams T InouyeGermany2026-08-11Printing Dimensions RENEWAL95Amy Elsner
1005Nicolas D MaletRussia2026-08-09Feiner Bros RENEWAL4Amy Elsner
1006Ivar C FollerSpain2026-08-19Rousseaux, Michael Esq NEW44Onyama Limba
1007Aika N OstroskySpain2026-08-09Chapman, Ross E Esq NEW16Ivan Magalhaes
1008Claire U SergiIndia2026-08-12Benton, John B Jr PROPOSAL57Ivan Magalhaes
1009Jones P NickaGermany2026-08-17Feltz Printing Service UNQUALIFIED67Elwin Sharvill
1010Leon X FerenczGermany2026-08-09Truhlar And Truhlar Attys UNQUALIFIED68Amy Elsner
1011Francesco W FigeroaRussia2026-08-10Rangoni Of Florence RENEWAL64Ivan Magalhaes
1012Antonio U FigeroaSpain2026-08-21Buckley Miller Wright NEGOTIATION3Xuxue Feng
1013Cody L MarrierAustralia2026-08-13Rousseaux, Michael Esq NEW88Stephen Shaw
1014Francesco A CaudyFrance2026-08-17Chanay, Jeffrey A Esq NEW36Bernardo Dominic
1015David E TollnerUnited Kingdom2026-08-21Buckley Miller Wright NEGOTIATION21Anna Fali
1016James L OldroydItaly2026-08-05Morlong Associates NEW43Ivan Magalhaes
1017Maria X MacleadFrance2026-08-13Benton, John B Jr PROPOSAL88Stephen Shaw
1018Faith Y MacleadRussia2026-08-13Chanay, Jeffrey A Esq UNQUALIFIED56Bernardo Dominic
1019Kaitlin S WaycottItaly2026-08-12Feltz Printing Service UNQUALIFIED98Anna Fali
1020Darci Y MaletFrance2026-08-19Chapman, Ross E Esq NEGOTIATION30Elwin Sharvill
1021Misaki G PerinUnited Kingdom2026-08-22Rangoni Of Florence QUALIFIED28Ivan Magalhaes
1022Mayumi G FerenczJapan2026-08-21Rousseaux, Michael Esq NEW41Xuxue Feng
1023Mujtaba M CaldareraRussia2026-08-14Printing Dimensions PROPOSAL44Xuxue Feng
1024Antonio S TollnerJapan2026-09-02Rangoni Of Florence NEW54Xuxue Feng
1025James K WieserItaly2026-08-06Truhlar And Truhlar Attys QUALIFIED88Stephen Shaw
1026Tony R PoquetteGermany2026-08-07Benton, John B Jr NEW89Bernardo Dominic
1027Wickens Z WieserSpain2026-08-30Chanay, Jeffrey A Esq QUALIFIED0Ioni Bowcher
1028James T BowleyItaly2026-08-04Buckley Miller Wright NEGOTIATION47Xuxue Feng
1029Faith P PerinAustralia2026-08-19Dorl, James J Esq NEW96Elwin Sharvill
1030Maria Z FerenczSpain2026-08-19King, Christopher A Esq UNQUALIFIED6Ivan Magalhaes
1031Jones D OstroskyArgentina2026-08-27King, Christopher A Esq RENEWAL33Stephen Shaw
1032Isabel Q DoeIndia2026-08-07Benton, John B Jr RENEWAL65Bernardo Dominic
1033Maisha J PoquetteJapan2026-08-20Benton, John B Jr PROPOSAL57Ioni Bowcher
1034Morrow Y PerinGermany2026-08-08Chapman, Ross E Esq NEW65Amy Elsner
1035Juan I ChuiIndia2026-08-09Dorl, James J Esq UNQUALIFIED68Ivan Magalhaes
1036Deepesh E OstroskySpain2026-08-05Chemel, James L Cpa PROPOSAL29Ioni Bowcher
1037Aika Z GlickAustralia2026-08-31Chemel, James L Cpa NEGOTIATION44Ivan Magalhaes
1038Ricardo B TollnerJapan2026-08-17Rangoni Of Florence RENEWAL76Xuxue Feng
1039Silvio E FlosiAustralia2026-08-07Truhlar And Truhlar Attys RENEWAL65Amy Elsner
1040Misaki M WhobreyCanada2026-08-28Dorl, James J Esq PROPOSAL1Onyama Limba
1041Smith F OstroskyFrance2026-08-13Feltz Printing Service NEW3Ioni Bowcher
1042Izzy U SlusarskiCanada2026-08-21Benton, John B Jr NEW86Elwin Sharvill
1043Misaki D SchemmerFrance2026-09-02Chapman, Ross E Esq UNQUALIFIED91Amy Elsner
1044Wickens N InouyeGermany2026-08-19Feiner Bros NEGOTIATION46Anna Fali
1045Smith U InouyeAustralia2026-08-10Chapman, Ross E Esq RENEWAL93Amy Elsner
1046Isabel W MorascaGermany2026-08-08Dorl, James J Esq NEW97Elwin Sharvill
1047Ivar M RutaRussia2026-08-07Commercial Press PROPOSAL88Onyama Limba
1048Johnson G AmigonAustralia2026-08-17Feltz Printing Service PROPOSAL0Asiya Javayant
1049Ivar O FlosiJapan2026-08-20Printing Dimensions PROPOSAL79Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Murillo Y SaylorsArgentinaIoni Bowcher PROPOSAL
Murillo Y CaudyGermanyAnna Fali UNQUALIFIED
Murillo N InouyeBrazilIoni Bowcher PROPOSAL
Mayumi F StockhamBrazilElwin Sharvill QUALIFIED
Ricardo Y VenereJapanAmy Elsner UNQUALIFIED
Greenwood V OstroskyUnited KingdomAmy Elsner PROPOSAL
Julie A SchemmerItalyXuxue Feng UNQUALIFIED
Arvin K AmigonRussiaBernardo Dominic PROPOSAL
Kaitlin G ButtGermanyIvan Magalhaes RENEWAL
Chavez J CaudyFranceXuxue Feng NEW
Mayumi P ButtRussiaAnna Fali RENEWAL
James N CaudyArgentinaXuxue Feng QUALIFIED
Jones K OstroskyUnited KingdomElwin Sharvill RENEWAL
Jennifer N CampainUnited KingdomIvan Magalhaes NEGOTIATION
Kaitlin B FlosiSpainElwin Sharvill PROPOSAL
James M MarrierJapanAnna Fali PROPOSAL
Kaitlin S MarrierJapanAnna Fali UNQUALIFIED
Isabel A GlickRussiaElwin Sharvill PROPOSAL
Juan Z RutaUnited KingdomAsiya Javayant RENEWAL
Clifford E NestleIndiaBernardo Dominic PROPOSAL
Smith I PoquetteAustraliaBernardo Dominic PROPOSAL
Munro W DoeCanadaElwin Sharvill QUALIFIED
Cody W CaldareraCanadaStephen Shaw UNQUALIFIED
Clifford D SlusarskiArgentinaStephen Shaw RENEWAL
Antonio G RoysterArgentinaIvan Magalhaes NEGOTIATION
Emily H FigeroaIndiaOnyama Limba NEW
Jefferson J CampainItalyStephen Shaw RENEWAL
Costa S AmigonGermanyIvan Magalhaes UNQUALIFIED
Silvio N GauchoArgentinaIoni Bowcher NEW
Julie Y FlosiFranceStephen Shaw NEGOTIATION
Chavez S StockhamArgentinaBernardo Dominic NEW
Sinclair F StensethUnited KingdomBernardo Dominic RENEWAL
Murillo B FerenczJapanIoni Bowcher UNQUALIFIED
Morrow H RoysterIndiaAnna Fali NEGOTIATION
Munro M GillianSpainElwin Sharvill NEGOTIATION
Kaitlin C RulapaughGermanyBernardo Dominic NEGOTIATION
Kadeem B MorascaAustraliaOnyama Limba QUALIFIED
Stacey V RutaFranceOnyama Limba PROPOSAL
Isabel T RoysterUnited KingdomAnna Fali QUALIFIED
Maisha S VenereJapanIoni Bowcher UNQUALIFIED
Izzy S SlusarskiCanadaStephen Shaw NEW
Leja Y ShinkoJapanAnna Fali PROPOSAL
Aika J FollerFranceAsiya Javayant RENEWAL
Isabel K PaprockiFranceAmy Elsner PROPOSAL
Jefferson R CaldareraFranceElwin Sharvill QUALIFIED
Nicolas M TollnerArgentinaIvan Magalhaes UNQUALIFIED
Darci Q KuskoRussiaElwin Sharvill NEW
Salvatore U KuskoItalyElwin Sharvill NEGOTIATION
Aditya G FollerArgentinaXuxue Feng UNQUALIFIED
Leon S GauchoArgentinaAnna Fali RENEWAL
Frozen Columns
Name
Alejandro A Campain
Adams C Perin
Octavia J Nestle
Mujtaba M Albares
David N Tollner
Morrow T Venere
Rodrigues C Schemmer
Leja J Glick
Antonio W Perin
Jeanfrancois K Tollner
Stacey Q Flosi
Emily T Bolognia
Aika V Caudy
Alejandro U Tollner
Antonio R Darakjy
Darci I Marrier
Darci K Bowley
Greenwood W Dilliard
Cody I Amigon
Nicolas N Rim
Jennifer X Caudy
Tony K Nestle
Jennifer R Ferencz
Jeanfrancois S Royster
Nicolas F Gillian
Wickens P Oldroyd
Morrow T Doe
Leja T Gillian
Silvio E Doe
Leon Y Inouye
Greenwood H Malet
Misaki I Shinko
Greenwood Q Gaucho
Deepesh L Schemmer
Cody F Bolognia
Maisha I Nestle
Kadeem C Bowley
Julie B Ferencz
Ashley Q Doe
Claire O Ferencz
Leon O Campain
Aditya A Kusko
Isabel Y Saylors
Kadeem I Gillian
Jeanfrancois M Stenseth
Jeanfrancois M Dilliard
Costa E Iturbide
Aruna P Garufi
Aditya B Tollner
Stacey K Chui
IdCountryDate
1000Canada2026-08-13
1001Japan2026-08-18
1002United Kingdom2026-08-19
1003Australia2026-08-18
1004Canada2026-08-17
1005Canada2026-08-05
1006Canada2026-08-09
1007Canada2026-08-19
1008Germany2026-08-31
1009United Kingdom2026-08-25
1010India2026-08-13
1011Australia2026-08-14
1012Australia2026-08-24
1013Argentina2026-08-05
1014Japan2026-08-20
1015France2026-08-30
1016Japan2026-08-09
1017Italy2026-08-17
1018Russia2026-08-10
1019Russia2026-08-07
1020France2026-08-16
1021France2026-08-14
1022Canada2026-08-22
1023Japan2026-08-15
1024Spain2026-08-12
1025Spain2026-08-12
1026Canada2026-08-08
1027Brazil2026-09-02
1028Brazil2026-08-23
1029Spain2026-09-01
1030Russia2026-08-16
1031Brazil2026-08-09
1032United Kingdom2026-08-08
1033United Kingdom2026-08-17
1034United Kingdom2026-08-08
1035India2026-08-29
1036Canada2026-08-20
1037Argentina2026-08-08
1038Argentina2026-08-14
1039Argentina2026-09-02
1040Germany2026-08-07
1041Canada2026-08-15
1042Japan2026-08-23
1043France2026-08-08
1044Italy2026-08-21
1045Spain2026-08-16
1046Canada2026-08-23
1047Australia2026-08-11
1048Argentina2026-08-25
1049United Kingdom2026-08-17

On-Demand Data

NameIdCountryDate
Munro A Flosi1000Canada2026-08-16
Deepesh K Caldarera1001Japan2026-08-05
Juan N Figeroa1002Italy2026-08-23
Julie Z Schemmer1003France2026-08-17
Aditya H Waycott1004Australia2026-08-30
Johnson F Doe1005India2026-08-17
Chavez X Albares1006Argentina2026-09-02
Salvatore Y Marrier1007France2026-08-25
James O Rulapaugh1008Spain2026-08-30
Francesco Y Paprocki1009Germany2026-09-01
Sinclair A Nestle1010Argentina2026-08-07
Greenwood Z Flosi1011India2026-08-21
Silvio B Ferencz1012Brazil2026-08-23
Misaki U Foller1013Australia2026-08-10
Jennifer E Butt1014Germany2026-08-12
Ivar I Caudy1015United Kingdom2026-08-31
Isabel T Garufi1016India2026-08-14
James O Garufi1017Japan2026-09-02
David B Caudy1018Australia2026-08-09
Faith J Waycott1019Italy2026-08-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David E CampainJapanAsiya Javayant NEW
Rodrigues Y AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Jennifer L ChuiRussiaStephen Shaw NEW
Nicolas T StensethCanadaIoni Bowcher QUALIFIED
Aditya I GauchoIndiaStephen Shaw UNQUALIFIED
Maisha F GarufiFranceOnyama Limba NEW
Mujtaba O FollerBrazilIvan Magalhaes PROPOSAL
Jennifer Y ShinkoAustraliaAmy Elsner NEW
Jones H PoquetteSpainBernardo Dominic NEW
Jeanfrancois C WaycottAustraliaAnna Fali QUALIFIED
Octavia I KolmetzFranceOnyama Limba PROPOSAL
Silvio S MaletRussiaIoni Bowcher UNQUALIFIED
Salvatore A GarufiAustraliaElwin Sharvill NEW
Morrow W FigeroaArgentinaIoni Bowcher RENEWAL
Aika E CaudyRussiaAmy Elsner NEW
Costa H FerenczBrazilOnyama Limba RENEWAL
Smith I NickaBrazilAsiya Javayant PROPOSAL
Misaki C BowleyAustraliaAnna Fali RENEWAL
Tony Z CaldareraArgentinaStephen Shaw UNQUALIFIED
Deepesh G RoysterRussiaIvan Magalhaes NEGOTIATION
Chavez T StensethGermanyIoni Bowcher RENEWAL
Wickens V DilliardAustraliaStephen Shaw NEW
Wickens O MaletRussiaAnna Fali QUALIFIED
Jennifer G NestleIndiaStephen Shaw NEGOTIATION
Claire Q WieserGermanyIoni Bowcher NEGOTIATION
Clifford H SaylorsJapanBernardo Dominic NEW
Stacey C MorascaSpainAsiya Javayant UNQUALIFIED
James O InouyeArgentinaAnna Fali NEGOTIATION
David Y ButtUnited KingdomIoni Bowcher NEW
Greenwood J NestleItalyStephen Shaw UNQUALIFIED
Jefferson A BriddickSpainXuxue Feng RENEWAL
David G GarufiUnited KingdomStephen Shaw RENEWAL
Darci L RutaCanadaAmy Elsner NEW
Munro V IturbideGermanyOnyama Limba PROPOSAL
Kaitlin V VocelkaSpainIoni Bowcher RENEWAL
Misaki A FlosiRussiaAsiya Javayant NEW
Kadeem C AlbaresUnited KingdomAnna Fali NEGOTIATION
Jennifer C GillianAustraliaAnna Fali NEGOTIATION
Faith Y GillianFranceXuxue Feng NEW
Antonio N DoeArgentinaIvan Magalhaes UNQUALIFIED

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