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
Leon U PaprockiIndiaStephen Shaw UNQUALIFIED
Jennifer B InouyeJapanAsiya Javayant RENEWAL
Chavez J CaldareraJapanElwin Sharvill RENEWAL
Emily D GlickFranceAmy Elsner PROPOSAL
Adams S RimArgentinaBernardo Dominic PROPOSAL
David D CaudyRussiaAnna Fali UNQUALIFIED
Octavia O TollnerAustraliaXuxue Feng UNQUALIFIED
Darci H BriddickArgentinaIvan Magalhaes UNQUALIFIED
Arvin C DoeFranceAnna Fali RENEWAL
Ashley A GillianFranceAnna Fali NEW
Misaki A FollerSpainIvan Magalhaes PROPOSAL
Kaitlin P FlosiSpainAmy Elsner UNQUALIFIED
Arvin K MaletBrazilAsiya Javayant QUALIFIED
Alejandro V GarufiFranceBernardo Dominic UNQUALIFIED
Kaitlin I FigeroaItalyIvan Magalhaes QUALIFIED
Murillo J ChuiSpainBernardo Dominic PROPOSAL
Kaitlin C FlosiCanadaXuxue Feng UNQUALIFIED
Rodrigues M SergiCanadaAsiya Javayant QUALIFIED
Greenwood S PerinIndiaAnna Fali RENEWAL
Jeanfrancois E WieserIndiaBernardo Dominic UNQUALIFIED
Alejandro T TollnerItalyStephen Shaw UNQUALIFIED
Jeanfrancois P PerinFranceAsiya Javayant PROPOSAL
Maisha F ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Jennifer O DarakjyJapanAnna Fali QUALIFIED
Alejandro R NickaCanadaAmy Elsner RENEWAL
Julie U RimGermanyIvan Magalhaes PROPOSAL
Jeanfrancois G ChuiArgentinaAsiya Javayant RENEWAL
Aditya Q SergiSpainAnna Fali NEGOTIATION
Nicolas H BriddickJapanIoni Bowcher NEW
Francesco M BriddickRussiaAmy Elsner NEGOTIATION
Mujtaba R StensethArgentinaIvan Magalhaes UNQUALIFIED
Mujtaba T ButtAustraliaAsiya Javayant UNQUALIFIED
Salvatore V KuskoBrazilIvan Magalhaes UNQUALIFIED
Greenwood D AmigonSpainAsiya Javayant NEGOTIATION
Faith Z InouyeUnited KingdomOnyama Limba NEGOTIATION
Wickens R NestleIndiaAmy Elsner NEW
Silvio M MarrierSpainXuxue Feng NEW
Wickens K DarakjyCanadaIvan Magalhaes NEW
Kaitlin F CaldareraItalyOnyama Limba PROPOSAL
Jennifer L FigeroaItalyAnna Fali NEW
Octavia E InouyeArgentinaOnyama Limba NEW
Ricardo B WhobreyItalyAmy Elsner NEGOTIATION
Alejandro C RoysterCanadaElwin Sharvill NEGOTIATION
James D MacleadGermanyElwin Sharvill QUALIFIED
Antonio B DilliardGermanyElwin Sharvill RENEWAL
Nicolas C VenereItalyOnyama Limba RENEWAL
Claire E WhobreyBrazilXuxue Feng QUALIFIED
Adams P DilliardRussiaAsiya Javayant QUALIFIED
Clifford Z BowleySpainAnna Fali QUALIFIED
Ivar Q PoquetteJapanAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Aruna T DilliardBrazilIoni Bowcher QUALIFIED
Izzy G NestleAustraliaXuxue Feng RENEWAL
Faith Z ChuiJapanAmy Elsner QUALIFIED
Kadeem V PoquetteBrazilXuxue Feng NEGOTIATION
Francesco A RoysterArgentinaXuxue Feng NEGOTIATION
Jones X DilliardJapanAsiya Javayant UNQUALIFIED
Silvio U CaudyFranceAmy Elsner QUALIFIED
Emily R BowleyJapanBernardo Dominic PROPOSAL
Tony F MaletAustraliaAmy Elsner UNQUALIFIED
Ivar U MaletFranceStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey H DarakjyArgentina2026-09-19Morlong Associates NEW1Amy Elsner
1001Nicolas P AmigonRussia2026-09-19Buckley Miller Wright NEGOTIATION18Elwin Sharvill
1002Kaitlin N WaycottJapan2026-09-08Feltz Printing Service PROPOSAL59Ioni Bowcher
1003Claire J OstroskyAustralia2026-08-27Printing Dimensions RENEWAL6Amy Elsner
1004Stacey P WieserJapan2026-09-18Truhlar And Truhlar Attys RENEWAL13Anna Fali
1005Sinclair U KuskoIndia2026-09-03Rangoni Of Florence PROPOSAL71Ioni Bowcher
1006Silvio N ButtRussia2026-09-06Rangoni Of Florence RENEWAL87Anna Fali
1007Darci A PaprockiUnited Kingdom2026-09-11Feiner Bros PROPOSAL69Ioni Bowcher
1008Claire V StensethSpain2026-08-31Chapman, Ross E Esq UNQUALIFIED66Ioni Bowcher
1009James O MaletArgentina2026-09-01Rangoni Of Florence UNQUALIFIED38Ioni Bowcher
1010David L BowleyUnited Kingdom2026-09-02Truhlar And Truhlar Attys PROPOSAL69Stephen Shaw
1011Antonio Z KuskoArgentina2026-09-19Commercial Press QUALIFIED51Ioni Bowcher
1012Misaki D SaylorsUnited Kingdom2026-08-26Rangoni Of Florence NEGOTIATION24Elwin Sharvill
1013Jones E WieserArgentina2026-09-05Buckley Miller Wright RENEWAL76Onyama Limba
1014Julie F BologniaAustralia2026-09-09Morlong Associates UNQUALIFIED51Onyama Limba
1015Stacey C TollnerGermany2026-09-17Dorl, James J Esq PROPOSAL99Asiya Javayant
1016Antonio N MarrierGermany2026-09-04Truhlar And Truhlar Attys PROPOSAL71Xuxue Feng
1017Jones J MacleadAustralia2026-09-12Morlong Associates UNQUALIFIED89Xuxue Feng
1018Claire X StockhamCanada2026-09-07Feiner Bros NEW1Bernardo Dominic
1019Costa V AmigonItaly2026-09-16Chapman, Ross E Esq PROPOSAL68Anna Fali
1020Izzy Z MaletJapan2026-09-09Commercial Press NEGOTIATION23Onyama Limba
1021Salvatore B SchemmerFrance2026-09-09Truhlar And Truhlar Attys UNQUALIFIED25Onyama Limba
1022Julie Q SaylorsGermany2026-08-23Benton, John B Jr RENEWAL45Anna Fali
1023Smith P RutaUnited Kingdom2026-09-09Buckley Miller Wright NEW26Anna Fali
1024Johnson T GauchoCanada2026-09-01Feiner Bros RENEWAL67Stephen Shaw
1025Kaitlin T GillianIndia2026-09-15Chapman, Ross E Esq QUALIFIED27Onyama Limba
1026James F FerenczGermany2026-09-19Morlong Associates PROPOSAL79Onyama Limba
1027Adams R DilliardUnited Kingdom2026-09-10Truhlar And Truhlar Attys QUALIFIED8Xuxue Feng
1028Kaitlin N FerenczBrazil2026-09-18Buckley Miller Wright NEGOTIATION58Elwin Sharvill
1029Juan F KolmetzAustralia2026-08-23Feiner Bros QUALIFIED80Ioni Bowcher
1030Leja Y IturbideBrazil2026-09-19Morlong Associates NEW52Ivan Magalhaes
1031Kadeem X SlusarskiAustralia2026-09-17Feltz Printing Service UNQUALIFIED21Elwin Sharvill
1032Aditya C DarakjyFrance2026-08-24Rousseaux, Michael Esq NEW92Onyama Limba
1033Ivar V DilliardGermany2026-09-03Printing Dimensions QUALIFIED57Anna Fali
1034Jones G RoysterUnited Kingdom2026-09-02Chapman, Ross E Esq UNQUALIFIED24Elwin Sharvill
1035Greenwood P BowleyArgentina2026-08-26Chanay, Jeffrey A Esq QUALIFIED26Ioni Bowcher
1036Jefferson L BriddickCanada2026-09-07Printing Dimensions NEW16Bernardo Dominic
1037Mujtaba E PaprockiGermany2026-08-27Chemel, James L Cpa QUALIFIED84Ivan Magalhaes
1038Smith F StockhamIndia2026-09-16Printing Dimensions PROPOSAL47Asiya Javayant
1039Wickens G SlusarskiGermany2026-09-10Truhlar And Truhlar Attys NEGOTIATION90Bernardo Dominic
1040Maria Y GarufiJapan2026-09-14Buckley Miller Wright QUALIFIED59Anna Fali
1041Tony L GlickCanada2026-09-04Truhlar And Truhlar Attys PROPOSAL44Xuxue Feng
1042Johnson R WaycottIndia2026-09-11Rangoni Of Florence UNQUALIFIED22Asiya Javayant
1043Morrow V PoquetteUnited Kingdom2026-09-05Chemel, James L Cpa RENEWAL45Amy Elsner
1044Claire J DarakjyArgentina2026-09-12Commercial Press QUALIFIED97Elwin Sharvill
1045Maisha A DoeRussia2026-08-30King, Christopher A Esq UNQUALIFIED18Anna Fali
1046Smith L FollerFrance2026-09-14Feiner Bros UNQUALIFIED18Onyama Limba
1047Munro Y RulapaughFrance2026-09-16Chapman, Ross E Esq RENEWAL15Stephen Shaw
1048Silvio G DilliardRussia2026-08-30Feiner Bros NEGOTIATION68Bernardo Dominic
1049Aika H SlusarskiArgentina2026-09-20Printing Dimensions UNQUALIFIED39Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Smith L FerenczRussiaIvan Magalhaes RENEWAL
Silvio W StensethRussiaAnna Fali RENEWAL
Jones P AmigonFranceAsiya Javayant QUALIFIED
Ashley R WaycottRussiaIvan Magalhaes UNQUALIFIED
Johnson X RutaRussiaAnna Fali NEGOTIATION
Juan R MacleadJapanElwin Sharvill QUALIFIED
Leja N PaprockiItalyIoni Bowcher PROPOSAL
Ivar G GlickAustraliaXuxue Feng UNQUALIFIED
Johnson S CaudyRussiaIoni Bowcher RENEWAL
Morrow R PerinIndiaXuxue Feng RENEWAL
Alejandro R BologniaGermanyElwin Sharvill PROPOSAL
Sinclair Y FigeroaBrazilXuxue Feng UNQUALIFIED
Jefferson R MarrierAustraliaAmy Elsner RENEWAL
Costa U GarufiBrazilAmy Elsner UNQUALIFIED
Izzy T MaletArgentinaAnna Fali UNQUALIFIED
Aditya T PaprockiFranceAmy Elsner NEGOTIATION
Aditya U FollerGermanyStephen Shaw RENEWAL
Aruna H SlusarskiFranceAnna Fali PROPOSAL
David U OldroydSpainAnna Fali RENEWAL
Leon G StockhamUnited KingdomElwin Sharvill PROPOSAL
Jeanfrancois D RutaIndiaAnna Fali PROPOSAL
Isabel R MorascaArgentinaOnyama Limba PROPOSAL
Jeanfrancois Z ButtCanadaOnyama Limba UNQUALIFIED
Francesco A GillianBrazilAnna Fali RENEWAL
Stacey G TollnerUnited KingdomOnyama Limba PROPOSAL
Ashley Q RimUnited KingdomElwin Sharvill QUALIFIED
David M PerinArgentinaBernardo Dominic NEW
Kadeem P StensethFranceOnyama Limba UNQUALIFIED
Deepesh R FerenczSpainAsiya Javayant NEGOTIATION
Misaki P InouyeBrazilAnna Fali RENEWAL
Arvin K PoquetteRussiaBernardo Dominic UNQUALIFIED
Maria X SaylorsFranceStephen Shaw QUALIFIED
Johnson F KuskoFranceStephen Shaw PROPOSAL
Jennifer X ShinkoJapanOnyama Limba RENEWAL
Leon S BriddickIndiaStephen Shaw RENEWAL
Aruna A RimIndiaOnyama Limba NEW
Wickens C GlickItalyStephen Shaw PROPOSAL
Wickens M FigeroaRussiaElwin Sharvill UNQUALIFIED
Faith L VocelkaIndiaOnyama Limba NEGOTIATION
Aruna N AmigonUnited KingdomStephen Shaw RENEWAL
Izzy R InouyeAustraliaIoni Bowcher PROPOSAL
Aika F AmigonFranceStephen Shaw RENEWAL
Tony M SlusarskiArgentinaStephen Shaw NEW
Faith E MaletSpainIoni Bowcher NEGOTIATION
Arvin E SaylorsRussiaIvan Magalhaes RENEWAL
Izzy M IturbideCanadaStephen Shaw NEW
Claire T DoeUnited KingdomBernardo Dominic QUALIFIED
Faith O IturbideFranceXuxue Feng QUALIFIED
Arvin I SergiRussiaAnna Fali UNQUALIFIED
Julie A TollnerBrazilAmy Elsner NEW
Frozen Columns
Name
Murillo M Ostrosky
Sinclair W Nestle
Aika M Doe
Greenwood E Sergi
Kadeem C Butt
Isabel H Kolmetz
Mujtaba R Darakjy
Smith B Vocelka
Leja N Wieser
Adams E Sergi
Darci H Glick
Greenwood A Paprocki
Jefferson N Sergi
Maria L Caudy
Kaitlin R Poquette
Mujtaba N Wieser
David K Kusko
Silvio Z Albares
Chavez C Amigon
Deepesh S Schemmer
Juan J Rim
Chavez H Inouye
Isabel W Darakjy
Arvin A Ruta
David Y Schemmer
Leon Q Albares
Johnson D Venere
Maisha D Stenseth
Ivar V Stenseth
Morrow P Garufi
Izzy C Nestle
Aruna K Venere
Wickens Y Oldroyd
Alejandro G Albares
Leon M Inouye
Jennifer M Perin
Mayumi U Vocelka
Smith T Slusarski
Murillo K Nicka
Kadeem W Marrier
Nicolas E Paprocki
Jeanfrancois O Malet
Sinclair A Sergi
Tony T Rim
Maisha M Royster
Jeanfrancois B Stockham
Munro N Slusarski
Rodrigues I Ostrosky
Jefferson S Flosi
Leon X Glick
IdCountryDate
1000Germany2026-09-12
1001Argentina2026-08-25
1002Spain2026-09-03
1003Japan2026-08-27
1004Spain2026-09-20
1005United Kingdom2026-09-02
1006France2026-09-18
1007Canada2026-08-25
1008Australia2026-08-29
1009Spain2026-09-07
1010Australia2026-09-01
1011Brazil2026-09-08
1012Australia2026-08-26
1013India2026-09-10
1014Germany2026-09-12
1015Argentina2026-09-21
1016Germany2026-09-13
1017India2026-09-15
1018Argentina2026-09-08
1019Australia2026-09-11
1020Canada2026-09-03
1021Australia2026-08-27
1022France2026-09-11
1023Brazil2026-08-27
1024France2026-09-09
1025Germany2026-08-24
1026United Kingdom2026-09-19
1027India2026-09-04
1028Japan2026-09-04
1029Spain2026-09-21
1030Spain2026-09-01
1031Italy2026-08-23
1032Germany2026-09-03
1033Canada2026-09-14
1034Australia2026-09-20
1035Brazil2026-09-10
1036France2026-09-02
1037Australia2026-09-15
1038France2026-09-21
1039Russia2026-09-05
1040Japan2026-09-16
1041Germany2026-09-21
1042Germany2026-08-25
1043Brazil2026-09-02
1044India2026-08-30
1045Argentina2026-09-02
1046Brazil2026-09-05
1047Japan2026-09-04
1048Argentina2026-09-02
1049India2026-09-12

On-Demand Data

NameIdCountryDate
Johnson U Rim1000India2026-09-19
Salvatore U Foller1001India2026-09-09
Mayumi X Malet1002India2026-08-29
Johnson O Briddick1003Italy2026-09-18
Darci D Vocelka1004Argentina2026-09-05
Leon S Flosi1005Germany2026-09-04
Misaki D Saylors1006France2026-09-03
Arvin D Caldarera1007Australia2026-09-13
Claire U Figeroa1008France2026-08-23
James P Whobrey1009Russia2026-09-05
Ricardo E Foller1010Spain2026-08-25
Mujtaba F Chui1011United Kingdom2026-08-25
Arvin P Saylors1012Russia2026-09-21
Kaitlin X Royster1013United Kingdom2026-09-17
Aruna A Paprocki1014Russia2026-08-25
Aika V Rim1015Brazil2026-09-08
Claire T Tollner1016Canada2026-08-25
Greenwood Q Wieser1017Australia2026-09-03
Salvatore Z Dilliard1018Japan2026-09-06
Darci Y Kusko1019France2026-09-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo H MaletItalyOnyama Limba UNQUALIFIED
James G TollnerBrazilIoni Bowcher PROPOSAL
Johnson R StensethIndiaXuxue Feng PROPOSAL
Salvatore H CampainIndiaAsiya Javayant UNQUALIFIED
Morrow U ShinkoRussiaXuxue Feng UNQUALIFIED
Leja U DilliardCanadaAmy Elsner NEW
Jefferson A CampainSpainOnyama Limba NEW
Deepesh L WieserItalyAsiya Javayant QUALIFIED
Antonio D DilliardSpainAnna Fali QUALIFIED
Munro R NickaGermanyAmy Elsner RENEWAL
Claire Z VocelkaFranceAmy Elsner NEGOTIATION
Jefferson Z NestleFranceElwin Sharvill RENEWAL
Johnson O DilliardJapanAmy Elsner RENEWAL
Silvio B PaprockiRussiaAnna Fali RENEWAL
Salvatore R NestleJapanXuxue Feng NEGOTIATION
Johnson J MaletBrazilAnna Fali PROPOSAL
David U BologniaJapanIoni Bowcher NEW
Silvio S GlickItalyElwin Sharvill RENEWAL
Mujtaba N CampainIndiaXuxue Feng NEGOTIATION
Ashley K GarufiUnited KingdomAnna Fali PROPOSAL
Cody Q GillianUnited KingdomOnyama Limba RENEWAL
Jefferson H SchemmerIndiaStephen Shaw QUALIFIED
Alejandro J MarrierUnited KingdomAmy Elsner QUALIFIED
Claire K DilliardArgentinaXuxue Feng RENEWAL
Costa D MacleadItalyOnyama Limba RENEWAL
Tony F MorascaIndiaXuxue Feng NEGOTIATION
David M WieserUnited KingdomOnyama Limba RENEWAL
Francesco M FigeroaRussiaXuxue Feng QUALIFIED
Costa M InouyeRussiaXuxue Feng RENEWAL
Kaitlin K SaylorsIndiaBernardo Dominic RENEWAL
Kaitlin X RoysterArgentinaIvan Magalhaes RENEWAL
Smith Q RoysterFranceAnna Fali UNQUALIFIED
Kaitlin B PoquetteRussiaIvan Magalhaes NEW
Julie Z FlosiItalyXuxue Feng NEGOTIATION
Chavez K GarufiCanadaIvan Magalhaes NEW
Kaitlin E SlusarskiRussiaOnyama Limba PROPOSAL
Emily E AlbaresAustraliaAnna Fali UNQUALIFIED
Ashley K GauchoAustraliaIvan Magalhaes NEW
Ricardo C MaletFranceIvan Magalhaes UNQUALIFIED
Morrow O DilliardItalyStephen Shaw NEGOTIATION

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