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
Darci A WhobreyIndiaAsiya Javayant QUALIFIED
Juan Y FollerGermanyStephen Shaw RENEWAL
Maria P RoysterAustraliaAnna Fali UNQUALIFIED
Jefferson C ChuiIndiaAmy Elsner NEGOTIATION
Francesco T CaudyIndiaElwin Sharvill NEW
Aruna T SchemmerItalyAmy Elsner UNQUALIFIED
Johnson W CaudyAustraliaXuxue Feng QUALIFIED
Chavez Z GillianIndiaElwin Sharvill NEW
Aika M RoysterFranceElwin Sharvill PROPOSAL
Mujtaba Q NestleAustraliaStephen Shaw PROPOSAL
Misaki Z AmigonIndiaIoni Bowcher UNQUALIFIED
Emily U NickaRussiaIoni Bowcher QUALIFIED
Darci E BowleyRussiaIvan Magalhaes QUALIFIED
Silvio A DarakjySpainBernardo Dominic QUALIFIED
Aditya F NestleUnited KingdomIvan Magalhaes QUALIFIED
Tony M AmigonSpainStephen Shaw NEW
James Z SlusarskiJapanIvan Magalhaes QUALIFIED
Munro M NickaUnited KingdomIoni Bowcher PROPOSAL
Murillo C FerenczGermanyAsiya Javayant NEGOTIATION
Octavia Y SchemmerSpainStephen Shaw PROPOSAL
James S RulapaughRussiaAsiya Javayant NEGOTIATION
Silvio I CaudyJapanAmy Elsner RENEWAL
Wickens C PaprockiIndiaIvan Magalhaes UNQUALIFIED
Maria Z PerinRussiaOnyama Limba QUALIFIED
Mujtaba A SlusarskiBrazilIoni Bowcher NEGOTIATION
Chavez V PerinArgentinaStephen Shaw NEGOTIATION
Misaki P BologniaUnited KingdomIoni Bowcher RENEWAL
Jefferson A RimJapanAnna Fali NEW
James A IturbideUnited KingdomOnyama Limba PROPOSAL
Kaitlin W OstroskyCanadaElwin Sharvill NEGOTIATION
Adams O AlbaresRussiaAnna Fali QUALIFIED
Nicolas C KolmetzBrazilAsiya Javayant NEGOTIATION
Jennifer Q GarufiBrazilOnyama Limba NEW
Leja D StockhamArgentinaXuxue Feng QUALIFIED
David E CaldareraUnited KingdomAsiya Javayant NEW
Francesco W OldroydCanadaIvan Magalhaes QUALIFIED
Ricardo K VocelkaIndiaOnyama Limba UNQUALIFIED
Julie F IturbideArgentinaStephen Shaw NEW
Ashley H OstroskyGermanyAnna Fali RENEWAL
Wickens M RulapaughAustraliaOnyama Limba PROPOSAL
Arvin R AmigonFranceOnyama Limba UNQUALIFIED
Isabel F WaycottGermanyElwin Sharvill PROPOSAL
Smith O WhobreyIndiaXuxue Feng NEW
Aruna H AlbaresGermanyStephen Shaw UNQUALIFIED
Mujtaba R MaletIndiaElwin Sharvill QUALIFIED
Nicolas V MorascaFranceElwin Sharvill NEW
Morrow G PerinAustraliaBernardo Dominic QUALIFIED
Leon E PaprockiItalyIoni Bowcher PROPOSAL
Jeanfrancois L IturbideCanadaBernardo Dominic QUALIFIED
Aika Q NestleArgentinaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi J OstroskyFranceAnna Fali UNQUALIFIED
Jeanfrancois R MorascaItalyAnna Fali QUALIFIED
Julie J PoquetteIndiaIoni Bowcher RENEWAL
Kaitlin T CaldareraFranceIoni Bowcher PROPOSAL
Clifford I DoeJapanAsiya Javayant RENEWAL
Ricardo A OstroskyBrazilAsiya Javayant RENEWAL
Rodrigues P MaletRussiaAnna Fali NEGOTIATION
Costa I SlusarskiItalyXuxue Feng NEW
Jeanfrancois I NestleItalyElwin Sharvill NEW
Darci R BowleyGermanyXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily J MaletUnited Kingdom2026-10-30Chemel, James L Cpa NEW84Asiya Javayant
1001Alejandro I MaletCanada2026-10-15Morlong Associates PROPOSAL18Amy Elsner
1002Arvin C WieserIndia2026-10-13Chapman, Ross E Esq RENEWAL51Ioni Bowcher
1003Isabel D PaprockiItaly2026-10-27Chapman, Ross E Esq NEW81Onyama Limba
1004Alejandro M NickaAustralia2026-10-30Feiner Bros PROPOSAL4Ioni Bowcher
1005Stacey K BowleyGermany2026-10-13Commercial Press QUALIFIED96Bernardo Dominic
1006Ricardo W DoeRussia2026-10-12Dorl, James J Esq QUALIFIED50Amy Elsner
1007Jones T WaycottJapan2026-10-18Buckley Miller Wright RENEWAL25Bernardo Dominic
1008Arvin W MacleadRussia2026-10-21Buckley Miller Wright PROPOSAL55Onyama Limba
1009Francesco K OstroskyItaly2026-11-03Truhlar And Truhlar Attys QUALIFIED87Asiya Javayant
1010Johnson T InouyeJapan2026-11-06Chanay, Jeffrey A Esq UNQUALIFIED57Anna Fali
1011Maisha T NickaAustralia2026-10-27Commercial Press RENEWAL20Onyama Limba
1012Maria Q StensethAustralia2026-10-13Commercial Press RENEWAL61Anna Fali
1013David C FerenczGermany2026-10-20Rousseaux, Michael Esq QUALIFIED52Elwin Sharvill
1014Aika F SlusarskiAustralia2026-10-13Buckley Miller Wright PROPOSAL73Asiya Javayant
1015Mayumi O IturbideJapan2026-10-12Chemel, James L Cpa NEGOTIATION32Ivan Magalhaes
1016Cody J RoysterGermany2026-10-29Benton, John B Jr NEW84Anna Fali
1017Aruna Z FerenczIndia2026-10-10Chemel, James L Cpa NEGOTIATION64Amy Elsner
1018Murillo B GauchoJapan2026-10-28Benton, John B Jr PROPOSAL92Stephen Shaw
1019Nicolas J StockhamCanada2026-10-30Chanay, Jeffrey A Esq QUALIFIED14Asiya Javayant
1020Maria N ShinkoSpain2026-10-21Chapman, Ross E Esq RENEWAL15Onyama Limba
1021Julie P MaletAustralia2026-10-12Feiner Bros UNQUALIFIED45Xuxue Feng
1022Claire O CampainJapan2026-10-28Buckley Miller Wright NEW79Onyama Limba
1023Claire Q InouyeIndia2026-10-19Dorl, James J Esq RENEWAL67Stephen Shaw
1024Octavia J FlosiBrazil2026-10-16Rousseaux, Michael Esq PROPOSAL10Onyama Limba
1025Mayumi W WieserAustralia2026-10-24Feiner Bros NEGOTIATION1Anna Fali
1026Clifford C VocelkaAustralia2026-10-26Rangoni Of Florence QUALIFIED3Ioni Bowcher
1027Aditya C GauchoFrance2026-11-05Morlong Associates NEGOTIATION85Elwin Sharvill
1028James W ShinkoUnited Kingdom2026-10-16Truhlar And Truhlar Attys PROPOSAL47Bernardo Dominic
1029Darci X BowleySpain2026-10-16Rangoni Of Florence PROPOSAL80Bernardo Dominic
1030Darci F VocelkaCanada2026-10-10Commercial Press NEGOTIATION92Ioni Bowcher
1031Deepesh A StensethUnited Kingdom2026-11-08Chapman, Ross E Esq QUALIFIED17Onyama Limba
1032Chavez G RoysterGermany2026-11-03Buckley Miller Wright RENEWAL10Ioni Bowcher
1033Antonio N OldroydIndia2026-11-05Feltz Printing Service RENEWAL33Xuxue Feng
1034Deepesh V MaletJapan2026-10-15Feltz Printing Service RENEWAL56Stephen Shaw
1035Rodrigues K BologniaArgentina2026-10-10Chapman, Ross E Esq RENEWAL2Onyama Limba
1036Izzy X ChuiUnited Kingdom2026-10-15Chemel, James L Cpa NEW36Elwin Sharvill
1037Greenwood G MaletCanada2026-11-04Rousseaux, Michael Esq PROPOSAL56Bernardo Dominic
1038Rodrigues X WhobreyCanada2026-10-11King, Christopher A Esq NEW35Anna Fali
1039Aika N WaycottFrance2026-10-13Rousseaux, Michael Esq NEGOTIATION62Ivan Magalhaes
1040Silvio R PaprockiGermany2026-11-07King, Christopher A Esq UNQUALIFIED44Ioni Bowcher
1041Claire L MacleadUnited Kingdom2026-10-31Rousseaux, Michael Esq RENEWAL16Bernardo Dominic
1042Leon N GarufiSpain2026-10-22Rangoni Of Florence QUALIFIED67Ivan Magalhaes
1043Jennifer Z MacleadAustralia2026-11-03Rangoni Of Florence RENEWAL49Elwin Sharvill
1044Juan J FigeroaFrance2026-10-14Chanay, Jeffrey A Esq NEW56Anna Fali
1045Nicolas K InouyeArgentina2026-10-15Chanay, Jeffrey A Esq NEW22Amy Elsner
1046Salvatore H ChuiArgentina2026-10-10Printing Dimensions UNQUALIFIED55Elwin Sharvill
1047Silvio R DarakjyUnited Kingdom2026-11-06Dorl, James J Esq UNQUALIFIED35Onyama Limba
1048David U NestleJapan2026-10-12Dorl, James J Esq UNQUALIFIED14Stephen Shaw
1049Johnson H KolmetzBrazil2026-10-20Benton, John B Jr RENEWAL52Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jones W InouyeJapanXuxue Feng UNQUALIFIED
Leon L RutaRussiaAnna Fali UNQUALIFIED
Wickens A RulapaughIndiaStephen Shaw UNQUALIFIED
Mujtaba C AmigonUnited KingdomAnna Fali RENEWAL
Clifford C MacleadIndiaStephen Shaw RENEWAL
Ivar K OstroskyItalyOnyama Limba NEW
Costa Y RoysterSpainStephen Shaw NEW
Stacey Q NestleBrazilIoni Bowcher NEW
Rodrigues K SlusarskiAustraliaIoni Bowcher QUALIFIED
Aditya X CampainJapanIoni Bowcher NEW
Clifford S WieserItalyIoni Bowcher QUALIFIED
Darci V GillianRussiaStephen Shaw RENEWAL
Jefferson E OstroskyItalyAsiya Javayant NEW
Mujtaba X ButtItalyAsiya Javayant RENEWAL
Francesco C MarrierSpainStephen Shaw UNQUALIFIED
Mujtaba Z PaprockiCanadaElwin Sharvill UNQUALIFIED
Alejandro C OstroskyCanadaIoni Bowcher RENEWAL
James S WhobreyArgentinaAmy Elsner PROPOSAL
Arvin T MorascaBrazilAnna Fali RENEWAL
Antonio O DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba I SchemmerSpainBernardo Dominic UNQUALIFIED
Morrow C RutaRussiaStephen Shaw NEGOTIATION
Francesco C GlickSpainStephen Shaw RENEWAL
Izzy C FerenczFranceStephen Shaw NEGOTIATION
Johnson S GillianCanadaAnna Fali RENEWAL
Antonio O PerinJapanStephen Shaw NEW
Sinclair R BowleyFranceAsiya Javayant QUALIFIED
Wickens Y GlickIndiaBernardo Dominic NEGOTIATION
Izzy K GillianSpainStephen Shaw NEW
Munro C SergiGermanyAsiya Javayant UNQUALIFIED
Aditya Y CaudyItalyIoni Bowcher QUALIFIED
James A PoquetteSpainAnna Fali NEGOTIATION
Claire Z RutaAustraliaAsiya Javayant QUALIFIED
Morrow N MarrierFranceAnna Fali QUALIFIED
Leja H NickaItalyAmy Elsner RENEWAL
Rodrigues O SlusarskiItalyBernardo Dominic PROPOSAL
Cody K DoeArgentinaIvan Magalhaes NEGOTIATION
Stacey F NestleCanadaBernardo Dominic UNQUALIFIED
Aika L WhobreyGermanyIvan Magalhaes NEW
Sinclair K GarufiJapanStephen Shaw NEW
Jeanfrancois W NickaBrazilBernardo Dominic UNQUALIFIED
Aditya Q DoeIndiaStephen Shaw PROPOSAL
Salvatore L FollerItalyIoni Bowcher NEW
Antonio T ShinkoAustraliaStephen Shaw QUALIFIED
Jones Y FlosiRussiaBernardo Dominic NEGOTIATION
Octavia A MacleadCanadaIoni Bowcher NEGOTIATION
Mujtaba D DilliardArgentinaIoni Bowcher NEGOTIATION
Leon H MaletSpainAnna Fali QUALIFIED
Tony Z SergiRussiaIoni Bowcher RENEWAL
Clifford L KuskoIndiaAmy Elsner RENEWAL
Frozen Columns
Name
Darci Y Venere
Ricardo P Kusko
Nicolas Y Figeroa
Emily F Whobrey
Ashley Y Inouye
Aruna R Wieser
Mayumi Z Whobrey
Rodrigues T Rim
Johnson B Caldarera
Jefferson F Caudy
Morrow S Caudy
Izzy I Slusarski
Jefferson P Tollner
Antonio P Caldarera
Aika S Saylors
Maria O Caldarera
Darci B Venere
Emily Z Inouye
Maisha Z Waycott
Alejandro J Chui
Ashley U Chui
Francesco W Stenseth
Costa L Perin
Isabel T Iturbide
Leon T Malet
Munro O Glick
Smith B Tollner
Stacey A Whobrey
Jefferson Y Albares
Octavia C Maclead
Clifford C Shinko
Sinclair S Figeroa
Leja T Schemmer
Maisha N Campain
Aika P Malet
Aruna R Oldroyd
Ivar W Inouye
Murillo B Stenseth
Arvin B Malet
Kadeem W Albares
Clifford G Glick
James C Stockham
Arvin A Glick
Leja K Stockham
Leon M Rulapaugh
Chavez K Tollner
Darci R Waycott
Greenwood C Rulapaugh
Ashley V Ferencz
Izzy Z Perin
IdCountryDate
1000Germany2026-11-06
1001Italy2026-10-18
1002Germany2026-10-15
1003India2026-10-18
1004Canada2026-10-19
1005India2026-11-01
1006Argentina2026-11-08
1007Australia2026-11-05
1008Italy2026-10-29
1009Australia2026-10-20
1010Japan2026-10-31
1011France2026-10-12
1012India2026-10-18
1013India2026-11-07
1014France2026-11-03
1015United Kingdom2026-10-22
1016India2026-11-02
1017Germany2026-10-20
1018Spain2026-10-22
1019Germany2026-10-22
1020Russia2026-10-10
1021Japan2026-11-05
1022India2026-10-28
1023France2026-10-16
1024India2026-10-19
1025Italy2026-11-08
1026Germany2026-10-31
1027Australia2026-10-21
1028France2026-10-15
1029India2026-10-30
1030France2026-10-28
1031Brazil2026-10-30
1032Australia2026-10-23
1033Australia2026-10-13
1034Japan2026-10-18
1035Brazil2026-10-31
1036Spain2026-10-29
1037Argentina2026-10-25
1038United Kingdom2026-10-12
1039United Kingdom2026-10-23
1040Brazil2026-10-20
1041France2026-10-31
1042Italy2026-10-23
1043France2026-10-28
1044India2026-11-07
1045Japan2026-10-14
1046Brazil2026-10-26
1047United Kingdom2026-10-14
1048Canada2026-11-03
1049Japan2026-10-29

On-Demand Data

NameIdCountryDate
Faith X Kusko1000Germany2026-10-14
Antonio S Foller1001Spain2026-10-17
Darci M Doe1002United Kingdom2026-10-27
Antonio G Malet1003Russia2026-10-12
Jennifer V Butt1004Argentina2026-10-25
Maisha V Slusarski1005Italy2026-10-26
Morrow X Iturbide1006Canada2026-10-20
Murillo Z Albares1007Italy2026-10-20
Munro F Schemmer1008Canada2026-10-18
Wickens B Bowley1009Italy2026-11-03
Tony R Vocelka1010Spain2026-10-23
Jennifer Q Marrier1011India2026-10-29
Darci A Kusko1012India2026-11-08
Adams N Bolognia1013Spain2026-10-31
Octavia T Shinko1014Japan2026-10-30
Francesco Y Iturbide1015Canada2026-10-26
Johnson K Poquette1016Italy2026-10-25
Maria Q Campain1017India2026-10-18
Emily D Glick1018Brazil2026-11-02
Claire Q Dilliard1019United Kingdom2026-10-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues O DilliardCanadaIvan Magalhaes UNQUALIFIED
Kaitlin Q DilliardUnited KingdomBernardo Dominic RENEWAL
Mayumi P SlusarskiGermanyIoni Bowcher NEW
Jefferson E NestleSpainAnna Fali NEGOTIATION
Costa O IturbideBrazilAsiya Javayant NEGOTIATION
Silvio L PaprockiRussiaStephen Shaw NEGOTIATION
Clifford M FigeroaArgentinaXuxue Feng NEGOTIATION
James M BologniaJapanOnyama Limba RENEWAL
Misaki O VocelkaJapanIoni Bowcher NEW
Greenwood S MarrierArgentinaAmy Elsner QUALIFIED
David L KolmetzBrazilAmy Elsner PROPOSAL
James O WaycottBrazilIvan Magalhaes PROPOSAL
Jennifer X GarufiGermanyXuxue Feng UNQUALIFIED
Leon S MaletUnited KingdomStephen Shaw UNQUALIFIED
Julie R MarrierFranceElwin Sharvill PROPOSAL
Deepesh R RimAustraliaIoni Bowcher RENEWAL
James M BowleyGermanyElwin Sharvill UNQUALIFIED
Greenwood T SaylorsItalyElwin Sharvill RENEWAL
Juan Z WhobreyCanadaElwin Sharvill NEW
Maisha K SchemmerCanadaAmy Elsner UNQUALIFIED
Salvatore K WieserAustraliaIoni Bowcher RENEWAL
Morrow T NickaBrazilXuxue Feng RENEWAL
Mujtaba E FerenczAustraliaIoni Bowcher PROPOSAL
Murillo E FigeroaItalyAmy Elsner RENEWAL
Nicolas T ButtArgentinaIoni Bowcher NEGOTIATION
Costa A MarrierUnited KingdomElwin Sharvill RENEWAL
Wickens J WhobreyJapanStephen Shaw NEGOTIATION
Jennifer K SergiSpainAnna Fali UNQUALIFIED
Chavez U DarakjyIndiaIvan Magalhaes NEW
Maria Y WaycottIndiaOnyama Limba NEGOTIATION
Aditya D DarakjyFranceStephen Shaw QUALIFIED
Faith O PerinGermanyBernardo Dominic RENEWAL
Jones B AmigonSpainStephen Shaw RENEWAL
Greenwood R GarufiAustraliaIoni Bowcher NEGOTIATION
Emily O KuskoJapanOnyama Limba UNQUALIFIED
Murillo Y RoysterFranceStephen Shaw RENEWAL
Jennifer H RulapaughArgentinaAmy Elsner QUALIFIED
Costa F FigeroaJapanAmy Elsner PROPOSAL
Alejandro N MarrierSpainElwin Sharvill NEW
Stacey G WhobreyUnited KingdomIvan Magalhaes PROPOSAL

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