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
Stacey F MacleadSpainAmy Elsner RENEWAL
Aruna T SergiRussiaAnna Fali UNQUALIFIED
Mujtaba Q GillianItalyIvan Magalhaes UNQUALIFIED
Aditya A OldroydItalyXuxue Feng PROPOSAL
Mayumi X AlbaresGermanyOnyama Limba PROPOSAL
Salvatore T SaylorsArgentinaIvan Magalhaes NEGOTIATION
Aditya T GarufiAustraliaXuxue Feng UNQUALIFIED
David Q ChuiIndiaAnna Fali PROPOSAL
Tony V FigeroaIndiaAsiya Javayant NEW
Rodrigues Y MacleadRussiaBernardo Dominic UNQUALIFIED
Antonio Z BologniaArgentinaXuxue Feng RENEWAL
Salvatore H PaprockiJapanOnyama Limba QUALIFIED
Julie U SlusarskiItalyOnyama Limba NEGOTIATION
Claire R MaletGermanyStephen Shaw RENEWAL
Mujtaba S SergiSpainAnna Fali NEW
Ricardo B StensethRussiaAsiya Javayant RENEWAL
Kadeem Z InouyeCanadaBernardo Dominic RENEWAL
Clifford Y TollnerJapanBernardo Dominic QUALIFIED
Juan V RimAustraliaOnyama Limba PROPOSAL
Claire D NestleCanadaAmy Elsner PROPOSAL
Silvio H WieserRussiaIoni Bowcher PROPOSAL
Sinclair K OldroydSpainAsiya Javayant UNQUALIFIED
Murillo H RutaFranceAsiya Javayant PROPOSAL
Stacey Y SergiSpainStephen Shaw RENEWAL
Leon X KolmetzIndiaBernardo Dominic RENEWAL
Isabel J ButtUnited KingdomAsiya Javayant PROPOSAL
Maria Y KuskoCanadaIoni Bowcher UNQUALIFIED
Alejandro P VenereArgentinaAnna Fali NEW
Ivar B RulapaughUnited KingdomIvan Magalhaes NEW
Mayumi O WieserAustraliaAsiya Javayant NEW
Salvatore F DoeJapanAmy Elsner QUALIFIED
Murillo T FigeroaBrazilBernardo Dominic QUALIFIED
Stacey G NestleArgentinaIvan Magalhaes NEW
Stacey N MarrierRussiaIoni Bowcher RENEWAL
Isabel A ChuiJapanXuxue Feng PROPOSAL
Chavez I KolmetzJapanOnyama Limba NEW
Stacey D BowleyItalyIvan Magalhaes NEW
Julie O KolmetzSpainIvan Magalhaes NEGOTIATION
Mayumi T PoquetteAustraliaBernardo Dominic RENEWAL
Mayumi U SlusarskiCanadaBernardo Dominic QUALIFIED
Clifford P SchemmerRussiaBernardo Dominic NEGOTIATION
Francesco V GillianBrazilOnyama Limba NEW
Johnson D IturbideArgentinaIvan Magalhaes RENEWAL
Kadeem Q MaletIndiaElwin Sharvill QUALIFIED
Claire O MaletIndiaStephen Shaw NEW
Jones V MorascaGermanyAnna Fali UNQUALIFIED
Johnson W WaycottIndiaAnna Fali NEW
Ivar C InouyeSpainAmy Elsner NEW
Ricardo Y KolmetzGermanyIoni Bowcher QUALIFIED
Rodrigues T MarrierIndiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire Y OstroskyCanadaStephen Shaw NEW
Munro J ChuiAustraliaIvan Magalhaes RENEWAL
Johnson C DarakjyItalyAsiya Javayant RENEWAL
Cody X OstroskyUnited KingdomAsiya Javayant RENEWAL
Nicolas F VocelkaFranceAmy Elsner NEW
Leon H FlosiArgentinaIoni Bowcher UNQUALIFIED
Claire F GarufiItalyAnna Fali PROPOSAL
Kaitlin H StensethAustraliaAsiya Javayant UNQUALIFIED
Morrow D OldroydIndiaElwin Sharvill QUALIFIED
Cody D SaylorsUnited KingdomAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan L CaudyRussia2026-09-11Printing Dimensions NEW10Bernardo Dominic
1001Maria P KuskoBrazil2026-09-15Rangoni Of Florence QUALIFIED43Asiya Javayant
1002Maria S RutaItaly2026-09-19Chemel, James L Cpa PROPOSAL76Bernardo Dominic
1003Clifford B PaprockiIndia2026-09-30King, Christopher A Esq QUALIFIED22Ivan Magalhaes
1004Mujtaba X DarakjySpain2026-09-21Rousseaux, Michael Esq UNQUALIFIED78Ivan Magalhaes
1005Silvio W InouyeCanada2026-09-26Chapman, Ross E Esq UNQUALIFIED64Xuxue Feng
1006Tony O MorascaSpain2026-09-23Feiner Bros UNQUALIFIED81Xuxue Feng
1007Antonio A CaudyAustralia2026-09-18Buckley Miller Wright UNQUALIFIED67Ioni Bowcher
1008Sinclair T WieserArgentina2026-09-21Buckley Miller Wright NEGOTIATION85Elwin Sharvill
1009Wickens V VocelkaRussia2026-10-04Printing Dimensions UNQUALIFIED59Ioni Bowcher
1010Ashley M RimRussia2026-10-03Feltz Printing Service NEW6Asiya Javayant
1011Arvin J KuskoArgentina2026-09-22Morlong Associates QUALIFIED52Onyama Limba
1012Leja V CaudyBrazil2026-09-07Truhlar And Truhlar Attys NEGOTIATION41Anna Fali
1013Antonio X RutaBrazil2026-09-19Commercial Press UNQUALIFIED38Ivan Magalhaes
1014Johnson B StensethCanada2026-09-07Feltz Printing Service QUALIFIED80Amy Elsner
1015James J KuskoBrazil2026-09-12Chapman, Ross E Esq UNQUALIFIED99Ioni Bowcher
1016Ricardo P CampainSpain2026-09-24Printing Dimensions NEW18Asiya Javayant
1017Cody K GillianIndia2026-10-04Truhlar And Truhlar Attys RENEWAL8Amy Elsner
1018Nicolas C GauchoGermany2026-09-29Benton, John B Jr UNQUALIFIED7Onyama Limba
1019Cody F StockhamRussia2026-10-03Commercial Press QUALIFIED95Xuxue Feng
1020Greenwood E MaletSpain2026-09-25Chemel, James L Cpa QUALIFIED56Ioni Bowcher
1021James W FollerCanada2026-09-13Chapman, Ross E Esq UNQUALIFIED59Amy Elsner
1022Jennifer P MaletCanada2026-09-10Feiner Bros QUALIFIED73Amy Elsner
1023Julie R FlosiBrazil2026-09-10Feltz Printing Service NEW2Amy Elsner
1024Octavia Q RutaCanada2026-09-25Feltz Printing Service NEW68Ivan Magalhaes
1025Maisha F GlickAustralia2026-09-17Truhlar And Truhlar Attys RENEWAL5Ivan Magalhaes
1026Antonio P AmigonRussia2026-09-27Chemel, James L Cpa PROPOSAL34Onyama Limba
1027Adams X FigeroaSpain2026-09-13Feiner Bros UNQUALIFIED49Stephen Shaw
1028Chavez G CampainJapan2026-09-17Dorl, James J Esq NEGOTIATION67Bernardo Dominic
1029Octavia F NickaSpain2026-09-17Buckley Miller Wright QUALIFIED13Asiya Javayant
1030Adams E PoquetteUnited Kingdom2026-09-14Buckley Miller Wright RENEWAL22Asiya Javayant
1031Clifford O VenereArgentina2026-09-21Rangoni Of Florence QUALIFIED34Amy Elsner
1032Leon U ChuiCanada2026-09-07Rangoni Of Florence UNQUALIFIED4Ivan Magalhaes
1033Murillo L ShinkoIndia2026-10-02Chapman, Ross E Esq RENEWAL56Bernardo Dominic
1034Smith T InouyeIndia2026-09-24Benton, John B Jr RENEWAL83Onyama Limba
1035Claire G CampainItaly2026-10-05Rousseaux, Michael Esq NEGOTIATION1Anna Fali
1036Cody B VocelkaItaly2026-10-04Buckley Miller Wright NEW8Ioni Bowcher
1037Morrow F IturbideGermany2026-09-23Commercial Press PROPOSAL47Ioni Bowcher
1038Adams N BowleyArgentina2026-09-19Buckley Miller Wright PROPOSAL94Xuxue Feng
1039Nicolas S KolmetzGermany2026-10-02King, Christopher A Esq PROPOSAL80Stephen Shaw
1040Maisha J StockhamSpain2026-09-19Truhlar And Truhlar Attys RENEWAL24Asiya Javayant
1041Rodrigues D PoquetteUnited Kingdom2026-09-07Commercial Press UNQUALIFIED35Asiya Javayant
1042Aditya K FigeroaArgentina2026-09-26Chanay, Jeffrey A Esq NEGOTIATION36Xuxue Feng
1043Johnson I FlosiAustralia2026-09-12Benton, John B Jr NEW10Amy Elsner
1044James B ShinkoFrance2026-10-04Benton, John B Jr RENEWAL52Anna Fali
1045Antonio H MarrierIndia2026-09-13Chanay, Jeffrey A Esq NEGOTIATION66Amy Elsner
1046Wickens Z GillianCanada2026-09-08Chapman, Ross E Esq NEW8Elwin Sharvill
1047Misaki Z FigeroaIndia2026-09-12King, Christopher A Esq PROPOSAL81Stephen Shaw
1048Salvatore A GarufiIndia2026-10-01Feltz Printing Service RENEWAL19Stephen Shaw
1049Jennifer Z RulapaughRussia2026-09-21Rousseaux, Michael Esq NEW89Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Greenwood I MorascaIndiaAsiya Javayant RENEWAL
Greenwood K DilliardJapanStephen Shaw QUALIFIED
Aika D PoquetteIndiaAnna Fali UNQUALIFIED
Juan C CaldareraSpainBernardo Dominic PROPOSAL
Mujtaba Z GarufiIndiaXuxue Feng PROPOSAL
Antonio S WaycottIndiaIvan Magalhaes RENEWAL
David C BowleyFranceStephen Shaw UNQUALIFIED
Darci A CaldareraUnited KingdomIoni Bowcher PROPOSAL
Ricardo T GillianArgentinaAnna Fali RENEWAL
Jennifer L AmigonIndiaAmy Elsner NEGOTIATION
James Y TollnerSpainElwin Sharvill RENEWAL
Antonio R StensethBrazilIvan Magalhaes NEGOTIATION
Kaitlin X GauchoJapanAnna Fali NEW
Murillo B CampainRussiaAmy Elsner QUALIFIED
Wickens Y ButtRussiaAmy Elsner UNQUALIFIED
Misaki L KuskoItalyElwin Sharvill RENEWAL
Wickens X MarrierItalyElwin Sharvill NEGOTIATION
Jones J RoysterGermanyStephen Shaw RENEWAL
Stacey V MaletSpainElwin Sharvill RENEWAL
Smith E SchemmerJapanAsiya Javayant UNQUALIFIED
Darci R IturbideRussiaXuxue Feng RENEWAL
Faith V MarrierIndiaIvan Magalhaes RENEWAL
Mujtaba G CaudyBrazilXuxue Feng NEGOTIATION
Kaitlin Q MorascaSpainBernardo Dominic UNQUALIFIED
Greenwood T SchemmerItalyIoni Bowcher UNQUALIFIED
James C MaletArgentinaAnna Fali NEW
Silvio F VenereItalyBernardo Dominic RENEWAL
Costa L CaudyFranceAnna Fali PROPOSAL
Faith M MorascaBrazilIvan Magalhaes QUALIFIED
Sinclair Q MaletGermanyAsiya Javayant PROPOSAL
Sinclair M FerenczIndiaStephen Shaw RENEWAL
Antonio S MaletFranceBernardo Dominic NEW
Rodrigues D RimFranceAnna Fali NEGOTIATION
Darci I ButtJapanXuxue Feng PROPOSAL
Tony I NickaGermanyStephen Shaw NEGOTIATION
Juan O SaylorsBrazilAnna Fali UNQUALIFIED
Antonio E IturbideUnited KingdomElwin Sharvill NEW
Aruna V TollnerIndiaStephen Shaw UNQUALIFIED
Tony I WieserItalyAnna Fali QUALIFIED
Octavia V NestleArgentinaOnyama Limba PROPOSAL
Stacey V ButtBrazilAmy Elsner RENEWAL
Silvio G StockhamBrazilXuxue Feng RENEWAL
Maisha L WaycottUnited KingdomBernardo Dominic NEW
Nicolas T BowleyRussiaIoni Bowcher PROPOSAL
Salvatore D PoquetteFranceOnyama Limba NEW
Morrow U StensethSpainStephen Shaw UNQUALIFIED
Julie H MaletGermanyAsiya Javayant UNQUALIFIED
Ashley O WaycottAustraliaAnna Fali NEGOTIATION
Mujtaba O TollnerAustraliaIvan Magalhaes NEGOTIATION
Leja Y BologniaCanadaAmy Elsner NEGOTIATION
Frozen Columns
Name
Smith L Inouye
Silvio B Dilliard
Leon O Gillian
Misaki H Shinko
Clifford W Kusko
Smith L Darakjy
Mayumi E Garufi
Salvatore G Flosi
Isabel C Royster
Maria I Venere
Isabel M Briddick
James H Poquette
Salvatore V Figeroa
Sinclair N Kolmetz
Clifford V Campain
Greenwood R Sergi
Izzy P Perin
Kadeem V Venere
Isabel D Whobrey
Salvatore X Morasca
Claire V Slusarski
Octavia G Foller
David B Paprocki
Jones K Poquette
Aruna T Saylors
Faith T Foller
Kaitlin U Nestle
Francesco N Wieser
Deepesh G Morasca
Jeanfrancois S Glick
Johnson A Morasca
Rodrigues R Wieser
Octavia T Inouye
Murillo T Amigon
Kadeem P Campain
Antonio T Garufi
Kaitlin C Foller
Antonio Q Bowley
Claire M Kusko
Silvio A Schemmer
Izzy C Foller
Leja N Slusarski
Rodrigues B Rulapaugh
Ashley X Caudy
Chavez H Kusko
Leja J Shinko
Kaitlin Y Inouye
Adams F Morasca
Julie Z Perin
Jeanfrancois Z Venere
IdCountryDate
1000Germany2026-09-10
1001Russia2026-09-29
1002Australia2026-09-16
1003Russia2026-10-05
1004Brazil2026-09-15
1005Spain2026-10-02
1006United Kingdom2026-09-17
1007Russia2026-09-29
1008Argentina2026-09-17
1009Japan2026-09-16
1010Brazil2026-09-17
1011France2026-09-07
1012India2026-09-08
1013Italy2026-09-11
1014Italy2026-10-04
1015Spain2026-10-03
1016United Kingdom2026-10-02
1017Brazil2026-09-20
1018United Kingdom2026-09-09
1019France2026-09-20
1020Spain2026-09-13
1021Germany2026-09-09
1022France2026-10-02
1023Japan2026-09-19
1024France2026-09-09
1025Argentina2026-10-05
1026Canada2026-10-06
1027Argentina2026-10-02
1028United Kingdom2026-10-02
1029Germany2026-09-09
1030Brazil2026-09-19
1031Russia2026-09-24
1032Germany2026-10-04
1033Japan2026-09-18
1034Australia2026-10-02
1035United Kingdom2026-10-06
1036India2026-09-13
1037Canada2026-09-11
1038Italy2026-09-10
1039France2026-09-12
1040Argentina2026-09-21
1041Spain2026-09-30
1042Spain2026-09-18
1043Brazil2026-09-26
1044United Kingdom2026-09-28
1045Australia2026-10-01
1046Germany2026-09-12
1047Argentina2026-09-16
1048India2026-09-11
1049Australia2026-10-06

On-Demand Data

NameIdCountryDate
Tony I Sergi1000Italy2026-09-08
Mayumi X Figeroa1001United Kingdom2026-09-23
Wickens G Foller1002Canada2026-10-01
Jefferson D Figeroa1003India2026-09-24
Deepesh A Ostrosky1004Spain2026-09-22
Francesco Z Amigon1005Canada2026-09-18
Johnson X Albares1006Russia2026-09-23
Aditya H Gaucho1007Brazil2026-09-12
Misaki F Butt1008France2026-10-06
Rodrigues G Bolognia1009Japan2026-09-15
Adams V Stockham1010Spain2026-09-28
Rodrigues N Campain1011Germany2026-09-26
Ashley D Bowley1012Russia2026-10-01
Adams Z Glick1013Italy2026-09-27
Morrow M Ferencz1014Germany2026-09-26
Aruna Z Paprocki1015United Kingdom2026-09-26
Antonio Z Morasca1016Spain2026-10-01
Costa K Venere1017Russia2026-09-22
Kaitlin L Poquette1018Spain2026-09-25
Tony F Schemmer1019Canada2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco L GlickFranceElwin Sharvill PROPOSAL
Darci E StockhamArgentinaIvan Magalhaes UNQUALIFIED
Aditya X StensethBrazilElwin Sharvill RENEWAL
Leon O ChuiArgentinaStephen Shaw NEW
Leon P ShinkoJapanAnna Fali PROPOSAL
Aika G ChuiCanadaElwin Sharvill RENEWAL
Maria B CaudyFranceXuxue Feng RENEWAL
Isabel C GauchoSpainElwin Sharvill QUALIFIED
Mujtaba T NickaCanadaAmy Elsner NEGOTIATION
Mujtaba R SlusarskiGermanyAmy Elsner UNQUALIFIED
Julie B StensethFranceStephen Shaw PROPOSAL
Johnson W RoysterIndiaBernardo Dominic QUALIFIED
Smith Q BriddickUnited KingdomAmy Elsner UNQUALIFIED
Kadeem S MarrierJapanElwin Sharvill NEGOTIATION
Misaki Y FigeroaUnited KingdomAsiya Javayant RENEWAL
Darci K TollnerBrazilOnyama Limba UNQUALIFIED
Faith X RutaBrazilOnyama Limba NEW
David C RimAustraliaIoni Bowcher PROPOSAL
Aruna P BriddickItalyIoni Bowcher NEW
Aditya J WhobreyIndiaAnna Fali QUALIFIED
Arvin M FlosiArgentinaAmy Elsner PROPOSAL
Johnson Z KolmetzJapanStephen Shaw RENEWAL
Arvin N ShinkoRussiaAnna Fali NEGOTIATION
Smith V KolmetzAustraliaBernardo Dominic NEGOTIATION
Isabel F StensethGermanyOnyama Limba NEW
Ivar J TollnerJapanBernardo Dominic PROPOSAL
Kaitlin Z MaletCanadaIvan Magalhaes RENEWAL
Leon L MaletJapanAsiya Javayant NEGOTIATION
Johnson U FigeroaSpainElwin Sharvill NEW
Cody O CampainUnited KingdomAnna Fali NEGOTIATION
Greenwood O OldroydArgentinaOnyama Limba UNQUALIFIED
Jennifer I OldroydItalyAmy Elsner NEGOTIATION
Salvatore D FlosiItalyBernardo Dominic NEW
Silvio S StensethIndiaAsiya Javayant UNQUALIFIED
Jennifer J AlbaresGermanyIvan Magalhaes NEGOTIATION
Aruna D KolmetzSpainAmy Elsner NEW
Ricardo W FlosiAustraliaAsiya Javayant PROPOSAL
Munro M CampainBrazilBernardo Dominic QUALIFIED
Isabel C PerinIndiaElwin Sharvill UNQUALIFIED
Arvin K CaudyFranceStephen Shaw 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>