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
Julie W KolmetzFranceAnna Fali NEW
Juan T BowleySpainOnyama Limba PROPOSAL
Ashley D OldroydArgentinaOnyama Limba NEW
Kaitlin A FollerCanadaStephen Shaw UNQUALIFIED
Jennifer G PerinSpainAsiya Javayant UNQUALIFIED
Jones K RoysterGermanyStephen Shaw NEGOTIATION
Emily C CaudyGermanyOnyama Limba NEW
Arvin L AmigonItalyIvan Magalhaes UNQUALIFIED
Deepesh E NestleItalyOnyama Limba RENEWAL
Jennifer U PerinBrazilIvan Magalhaes UNQUALIFIED
Salvatore S ChuiGermanyXuxue Feng QUALIFIED
Julie Q WhobreyItalyStephen Shaw NEW
Juan G FlosiBrazilAnna Fali UNQUALIFIED
Izzy S MaletItalyAsiya Javayant NEW
Francesco S GlickIndiaAnna Fali NEGOTIATION
Clifford Q NestleUnited KingdomAsiya Javayant NEGOTIATION
Misaki C FollerBrazilOnyama Limba NEW
Alejandro F NestleArgentinaElwin Sharvill UNQUALIFIED
Nicolas K NickaSpainOnyama Limba NEGOTIATION
Darci E SlusarskiAustraliaOnyama Limba QUALIFIED
Aika L IturbideUnited KingdomElwin Sharvill PROPOSAL
Darci B GlickGermanyAnna Fali UNQUALIFIED
Salvatore L SergiAustraliaElwin Sharvill QUALIFIED
Cody A AmigonSpainIoni Bowcher QUALIFIED
Stacey U OstroskySpainIvan Magalhaes PROPOSAL
Silvio T DoeSpainBernardo Dominic NEW
Izzy U GlickIndiaAsiya Javayant UNQUALIFIED
Misaki T BowleyBrazilAnna Fali NEGOTIATION
Wickens D PerinIndiaAmy Elsner NEW
Rodrigues W PerinRussiaXuxue Feng UNQUALIFIED
Maisha L SergiSpainAnna Fali UNQUALIFIED
Greenwood C TollnerUnited KingdomIvan Magalhaes NEW
Mujtaba C WaycottAustraliaOnyama Limba NEGOTIATION
Greenwood Z BowleySpainIvan Magalhaes RENEWAL
Claire J BowleyBrazilIvan Magalhaes QUALIFIED
Octavia X VocelkaArgentinaAnna Fali UNQUALIFIED
Tony Q SaylorsFranceAsiya Javayant QUALIFIED
Octavia S RimGermanyAsiya Javayant RENEWAL
Jennifer H BriddickArgentinaStephen Shaw RENEWAL
Maisha X SlusarskiIndiaBernardo Dominic PROPOSAL
Chavez D KuskoFranceOnyama Limba RENEWAL
Nicolas N DilliardFranceIoni Bowcher UNQUALIFIED
Antonio A SchemmerSpainStephen Shaw RENEWAL
Leja T ChuiUnited KingdomAmy Elsner PROPOSAL
Ashley E SergiSpainAnna Fali NEGOTIATION
Rodrigues X RimUnited KingdomStephen Shaw RENEWAL
Chavez E StensethItalyStephen Shaw RENEWAL
Izzy D DoeRussiaBernardo Dominic NEGOTIATION
Stacey X BriddickIndiaElwin Sharvill NEW
Julie I FigeroaCanadaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio P DarakjyUnited KingdomElwin Sharvill PROPOSAL
Silvio J SchemmerAustraliaOnyama Limba PROPOSAL
Wickens G RoysterBrazilAsiya Javayant UNQUALIFIED
Juan I PoquetteFranceXuxue Feng NEGOTIATION
Jennifer H VenereIndiaBernardo Dominic NEGOTIATION
Silvio C MarrierFranceXuxue Feng NEW
Jefferson P DoeRussiaAnna Fali QUALIFIED
David T MorascaCanadaIvan Magalhaes UNQUALIFIED
Kaitlin K DilliardAustraliaStephen Shaw PROPOSAL
Antonio H VenereJapanAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson A WieserSpain2026-09-12Benton, John B Jr QUALIFIED34Xuxue Feng
1001Alejandro E RoysterJapan2026-09-03Dorl, James J Esq UNQUALIFIED69Amy Elsner
1002Octavia R SergiRussia2026-09-10Rangoni Of Florence RENEWAL37Ivan Magalhaes
1003Clifford A WhobreyAustralia2026-09-25Feiner Bros PROPOSAL64Amy Elsner
1004Jefferson U BowleyAustralia2026-09-13Chemel, James L Cpa NEW57Stephen Shaw
1005David S TollnerCanada2026-09-06Chapman, Ross E Esq NEW43Bernardo Dominic
1006Smith G DarakjyRussia2026-09-15Rangoni Of Florence PROPOSAL13Asiya Javayant
1007Ivar N NestleFrance2026-09-08Truhlar And Truhlar Attys UNQUALIFIED76Anna Fali
1008Arvin A NickaArgentina2026-09-25Morlong Associates NEGOTIATION77Elwin Sharvill
1009Sinclair R GillianCanada2026-09-19Chanay, Jeffrey A Esq UNQUALIFIED80Asiya Javayant
1010Aika D RulapaughArgentina2026-09-11Printing Dimensions QUALIFIED47Onyama Limba
1011Jeanfrancois A WhobreyArgentina2026-09-16Benton, John B Jr NEW44Ivan Magalhaes
1012Aditya U GillianSpain2026-09-19Chapman, Ross E Esq RENEWAL62Ioni Bowcher
1013Julie K SlusarskiGermany2026-09-13Chanay, Jeffrey A Esq UNQUALIFIED60Xuxue Feng
1014Stacey E AlbaresRussia2026-09-12Feltz Printing Service NEW23Stephen Shaw
1015Salvatore X MaletRussia2026-09-24Dorl, James J Esq UNQUALIFIED6Amy Elsner
1016Ricardo N RimItaly2026-09-26Buckley Miller Wright QUALIFIED84Onyama Limba
1017Kaitlin D FigeroaIndia2026-09-01Feltz Printing Service RENEWAL70Ivan Magalhaes
1018Cody Z RulapaughGermany2026-08-30Morlong Associates NEW88Amy Elsner
1019Maria M CampainFrance2026-08-30Dorl, James J Esq UNQUALIFIED8Asiya Javayant
1020Arvin U RoysterJapan2026-09-28Morlong Associates PROPOSAL3Elwin Sharvill
1021Nicolas E SergiSpain2026-08-30Rousseaux, Michael Esq QUALIFIED77Amy Elsner
1022Kaitlin L MarrierIndia2026-08-31King, Christopher A Esq RENEWAL11Bernardo Dominic
1023Costa C ChuiIndia2026-08-30Chemel, James L Cpa PROPOSAL19Ivan Magalhaes
1024Julie P RimItaly2026-09-23Benton, John B Jr UNQUALIFIED80Ioni Bowcher
1025Antonio R TollnerUnited Kingdom2026-09-15Feltz Printing Service QUALIFIED33Asiya Javayant
1026Morrow D IturbideRussia2026-09-12Buckley Miller Wright RENEWAL14Ivan Magalhaes
1027Costa C IturbideCanada2026-09-25Chanay, Jeffrey A Esq PROPOSAL79Asiya Javayant
1028Nicolas X SaylorsSpain2026-09-07Rangoni Of Florence QUALIFIED9Asiya Javayant
1029Deepesh H PoquetteItaly2026-09-06Truhlar And Truhlar Attys RENEWAL35Elwin Sharvill
1030Maisha O RoysterUnited Kingdom2026-09-10Printing Dimensions NEW81Amy Elsner
1031Rodrigues E DilliardIndia2026-09-16Feltz Printing Service RENEWAL60Elwin Sharvill
1032Smith B KolmetzGermany2026-09-07Chapman, Ross E Esq RENEWAL17Onyama Limba
1033David C PaprockiIndia2026-09-12Commercial Press RENEWAL19Ivan Magalhaes
1034Misaki P FollerCanada2026-09-28Morlong Associates PROPOSAL61Ioni Bowcher
1035Maria K ButtRussia2026-08-31Commercial Press QUALIFIED22Xuxue Feng
1036David R StockhamArgentina2026-09-19Morlong Associates NEGOTIATION11Asiya Javayant
1037Maisha T PoquetteUnited Kingdom2026-09-18Commercial Press NEGOTIATION15Onyama Limba
1038Ivar E StockhamRussia2026-09-03Printing Dimensions NEGOTIATION64Xuxue Feng
1039Jefferson X CaudyBrazil2026-09-01Dorl, James J Esq NEW64Onyama Limba
1040Misaki G GillianGermany2026-09-01Rousseaux, Michael Esq NEW16Stephen Shaw
1041Morrow J GlickGermany2026-09-05Chemel, James L Cpa QUALIFIED14Ivan Magalhaes
1042Kaitlin Z RimSpain2026-09-12Morlong Associates QUALIFIED97Stephen Shaw
1043Ashley K KuskoFrance2026-09-02Benton, John B Jr QUALIFIED46Elwin Sharvill
1044Ricardo O AlbaresItaly2026-09-02Truhlar And Truhlar Attys QUALIFIED75Stephen Shaw
1045Stacey T GauchoRussia2026-09-21Buckley Miller Wright RENEWAL83Anna Fali
1046Leon D KuskoJapan2026-09-02Rangoni Of Florence UNQUALIFIED98Elwin Sharvill
1047Sinclair A GlickJapan2026-09-03Printing Dimensions NEW75Bernardo Dominic
1048Darci G NestleBrazil2026-09-02Morlong Associates NEW97Xuxue Feng
1049Darci L InouyeUnited Kingdom2026-09-27King, Christopher A Esq PROPOSAL42Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Y RulapaughSpainStephen Shaw UNQUALIFIED
Maria F AmigonFranceBernardo Dominic QUALIFIED
Maria L SchemmerArgentinaOnyama Limba NEW
Sinclair B GillianSpainElwin Sharvill QUALIFIED
Octavia H KolmetzAustraliaIvan Magalhaes NEW
Smith V NestleUnited KingdomAnna Fali UNQUALIFIED
Misaki S PerinRussiaOnyama Limba RENEWAL
Murillo E FigeroaSpainStephen Shaw NEGOTIATION
Cody B OldroydAustraliaElwin Sharvill UNQUALIFIED
Murillo Q RoysterSpainIoni Bowcher UNQUALIFIED
Stacey D ButtUnited KingdomBernardo Dominic PROPOSAL
Greenwood G NickaUnited KingdomStephen Shaw QUALIFIED
Maria F RoysterRussiaElwin Sharvill UNQUALIFIED
Smith G PoquetteItalyBernardo Dominic RENEWAL
David Z GauchoCanadaAsiya Javayant UNQUALIFIED
Tony P BowleyAustraliaAmy Elsner PROPOSAL
Greenwood Z FollerUnited KingdomStephen Shaw PROPOSAL
Jennifer I ChuiArgentinaBernardo Dominic NEGOTIATION
Maria H CampainBrazilAsiya Javayant PROPOSAL
Aditya D BriddickFranceAnna Fali PROPOSAL
Alejandro B MorascaCanadaOnyama Limba NEW
Alejandro P RoysterIndiaElwin Sharvill QUALIFIED
Silvio U CaudyRussiaAsiya Javayant PROPOSAL
Murillo J KuskoItalyAsiya Javayant UNQUALIFIED
Johnson N AmigonRussiaBernardo Dominic NEGOTIATION
Arvin Y FlosiFranceStephen Shaw NEGOTIATION
Julie U DilliardAustraliaAnna Fali UNQUALIFIED
Ricardo G VocelkaJapanOnyama Limba UNQUALIFIED
Adams A CaudyItalyOnyama Limba RENEWAL
Munro R GlickJapanBernardo Dominic QUALIFIED
Leon Q TollnerAustraliaXuxue Feng PROPOSAL
Faith S ButtUnited KingdomOnyama Limba NEGOTIATION
Maisha A MaletSpainBernardo Dominic QUALIFIED
Rodrigues L AlbaresItalyXuxue Feng RENEWAL
Jeanfrancois R PaprockiAustraliaOnyama Limba NEGOTIATION
Sinclair K GillianRussiaBernardo Dominic QUALIFIED
Antonio S RimIndiaXuxue Feng PROPOSAL
Johnson D FigeroaIndiaStephen Shaw QUALIFIED
Juan T ShinkoIndiaBernardo Dominic PROPOSAL
Ricardo D ButtCanadaAsiya Javayant QUALIFIED
Kadeem E DilliardSpainBernardo Dominic RENEWAL
Silvio Q GlickGermanyIoni Bowcher QUALIFIED
Alejandro D MaletRussiaIvan Magalhaes UNQUALIFIED
Ricardo G AmigonItalyAmy Elsner PROPOSAL
Johnson S SaylorsItalyAsiya Javayant UNQUALIFIED
Emily H PaprockiGermanyStephen Shaw QUALIFIED
Arvin Y ShinkoArgentinaIoni Bowcher QUALIFIED
Stacey F DilliardRussiaIvan Magalhaes PROPOSAL
Kadeem M KolmetzSpainElwin Sharvill NEGOTIATION
Costa A RutaCanadaAmy Elsner RENEWAL
Frozen Columns
Name
Faith W Tollner
Julie W Maclead
Darci D Sergi
James I Glick
Costa Z Foller
Kaitlin B Nicka
Leja D Iturbide
Cody I Paprocki
Ivar E Nestle
Stacey L Stockham
Ashley O Vocelka
Johnson H Vocelka
Mayumi B Whobrey
Chavez N Royster
Isabel O Ruta
Aika Y Rulapaugh
Deepesh A Figeroa
Tony D Glick
Octavia C Chui
Maria K Royster
Tony A Caudy
Julie N Wieser
Ricardo M Paprocki
Greenwood K Poquette
Mayumi B Perin
Rodrigues Y Figeroa
Kadeem D Vocelka
Jones I Shinko
Greenwood V Amigon
James C Garufi
Maisha L Inouye
Jeanfrancois R Morasca
Izzy F Marrier
Aruna Y Caudy
Leja C Caldarera
Chavez S Garufi
Jefferson F Saylors
Costa E Caldarera
Costa T Briddick
Silvio T Royster
Darci G Sergi
Sinclair X Rim
Aruna H Nicka
Tony F Perin
Antonio M Gaucho
Leon J Whobrey
Aditya F Bowley
Jennifer O Kolmetz
Sinclair J Chui
Ivar F Rim
IdCountryDate
1000Italy2026-09-25
1001Brazil2026-09-10
1002France2026-09-25
1003United Kingdom2026-09-03
1004Germany2026-09-09
1005Germany2026-09-18
1006Italy2026-09-22
1007Germany2026-09-06
1008Germany2026-09-24
1009Germany2026-09-03
1010Canada2026-09-17
1011Japan2026-09-08
1012Russia2026-09-22
1013India2026-09-12
1014Argentina2026-09-13
1015Spain2026-09-05
1016Australia2026-09-17
1017Australia2026-09-16
1018Spain2026-09-28
1019Spain2026-09-21
1020India2026-09-10
1021Italy2026-09-13
1022Germany2026-09-20
1023Australia2026-09-04
1024Argentina2026-09-09
1025Brazil2026-09-22
1026Argentina2026-09-21
1027Brazil2026-09-08
1028Canada2026-09-14
1029Spain2026-08-31
1030France2026-09-24
1031France2026-09-21
1032Italy2026-09-21
1033India2026-09-28
1034France2026-09-18
1035Italy2026-09-27
1036Brazil2026-09-26
1037Spain2026-09-16
1038Germany2026-09-14
1039United Kingdom2026-09-06
1040Australia2026-09-21
1041India2026-09-14
1042Italy2026-09-01
1043Brazil2026-09-27
1044India2026-09-08
1045Brazil2026-09-10
1046Japan2026-09-22
1047Australia2026-09-17
1048Spain2026-09-06
1049Canada2026-09-04

On-Demand Data

NameIdCountryDate
Silvio U Ferencz1000Canada2026-09-26
Aditya E Albares1001Russia2026-09-04
Stacey R Sergi1002Spain2026-09-25
Kaitlin H Briddick1003Spain2026-09-27
Emily Z Caldarera1004Russia2026-09-23
Mayumi V Ostrosky1005France2026-09-19
Aruna S Poquette1006Germany2026-09-19
Chavez R Kolmetz1007Germany2026-09-09
Emily U Foller1008Russia2026-09-14
Claire S Waycott1009Japan2026-09-18
Leon B Wieser1010Canada2026-09-07
Kaitlin E Sergi1011Spain2026-09-04
Morrow O Schemmer1012Russia2026-09-27
Mayumi H Amigon1013Argentina2026-09-23
Wickens P Iturbide1014Argentina2026-09-22
Izzy U Shinko1015Spain2026-08-31
Mujtaba W Doe1016Italy2026-08-30
Izzy G Bowley1017Russia2026-08-30
Mujtaba Z Caudy1018Australia2026-09-22
Leon L Whobrey1019Germany2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna M CaudySpainStephen Shaw QUALIFIED
Smith R BologniaBrazilAsiya Javayant NEW
Misaki U FerenczAustraliaAmy Elsner UNQUALIFIED
Nicolas Z MarrierSpainIoni Bowcher NEW
David J RutaGermanyBernardo Dominic PROPOSAL
David G GarufiIndiaIoni Bowcher UNQUALIFIED
Jones G IturbideJapanIoni Bowcher NEW
Julie R ShinkoArgentinaElwin Sharvill NEW
Aruna M StensethSpainXuxue Feng NEGOTIATION
Ricardo D PerinGermanyAmy Elsner RENEWAL
Deepesh B CaudyGermanyAsiya Javayant QUALIFIED
Arvin F KolmetzIndiaXuxue Feng PROPOSAL
Cody O RoysterCanadaAmy Elsner NEGOTIATION
Leja I AmigonRussiaAmy Elsner PROPOSAL
James Q SaylorsAustraliaBernardo Dominic NEW
Izzy P MaletGermanyXuxue Feng RENEWAL
Juan I PoquetteFranceIoni Bowcher PROPOSAL
Johnson Z TollnerBrazilIvan Magalhaes QUALIFIED
Mayumi S MaletJapanBernardo Dominic UNQUALIFIED
Kaitlin E RimBrazilAmy Elsner PROPOSAL
Morrow E InouyeRussiaAnna Fali RENEWAL
Octavia W SchemmerSpainXuxue Feng UNQUALIFIED
Mujtaba W PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Isabel T ButtFranceXuxue Feng PROPOSAL
Smith U MarrierItalyAnna Fali UNQUALIFIED
Isabel A PoquetteJapanXuxue Feng QUALIFIED
Salvatore W DoeAustraliaAsiya Javayant NEW
Alejandro G AmigonArgentinaIvan Magalhaes NEGOTIATION
Smith W DoeRussiaAmy Elsner PROPOSAL
Leon S ButtUnited KingdomStephen Shaw NEW
Arvin Z OldroydArgentinaOnyama Limba PROPOSAL
Octavia M FollerArgentinaIoni Bowcher RENEWAL
Johnson Q SergiJapanAnna Fali NEW
Murillo B CaudyIndiaXuxue Feng NEGOTIATION
Aditya O MacleadRussiaElwin Sharvill UNQUALIFIED
Julie U NickaItalyOnyama Limba NEW
James F StockhamRussiaBernardo Dominic RENEWAL
Claire Z ShinkoGermanyBernardo Dominic QUALIFIED
David H DarakjyIndiaElwin Sharvill PROPOSAL
Faith Q PerinSpainAnna Fali 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>