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
Tony I SergiJapanIoni Bowcher NEW
Leon P MarrierRussiaStephen Shaw PROPOSAL
Wickens B WhobreyUnited KingdomAmy Elsner NEGOTIATION
Kaitlin B PerinUnited KingdomIoni Bowcher NEGOTIATION
Juan U CaudyRussiaElwin Sharvill PROPOSAL
Francesco T CaldareraCanadaIoni Bowcher PROPOSAL
Mayumi M BologniaCanadaIvan Magalhaes NEGOTIATION
Morrow O CaldareraFranceElwin Sharvill NEW
Leja T MaletArgentinaStephen Shaw QUALIFIED
Clifford L OstroskyCanadaAmy Elsner QUALIFIED
Wickens T VenereGermanyAnna Fali PROPOSAL
Costa L FerenczRussiaElwin Sharvill NEGOTIATION
Leja Q BriddickAustraliaOnyama Limba NEW
Faith E NestleItalyStephen Shaw UNQUALIFIED
Aditya Q CaldareraJapanElwin Sharvill PROPOSAL
Aika N GillianItalyIoni Bowcher NEW
Cody W FigeroaFranceIoni Bowcher NEGOTIATION
Arvin A PaprockiIndiaIoni Bowcher QUALIFIED
Clifford H FollerArgentinaAmy Elsner NEW
Emily P RimIndiaStephen Shaw NEW
Isabel R DilliardSpainAnna Fali PROPOSAL
Costa C CampainFranceElwin Sharvill NEGOTIATION
Leon Z MaletCanadaIoni Bowcher NEW
Julie Y PaprockiUnited KingdomOnyama Limba RENEWAL
Alejandro C RimIndiaAnna Fali UNQUALIFIED
Aditya P WieserArgentinaStephen Shaw UNQUALIFIED
Aika X SlusarskiFranceIvan Magalhaes PROPOSAL
Claire H CaudyUnited KingdomIoni Bowcher NEW
Leja B KuskoJapanBernardo Dominic UNQUALIFIED
Murillo H MorascaJapanIoni Bowcher RENEWAL
Smith N RoysterUnited KingdomElwin Sharvill RENEWAL
Claire U WieserSpainStephen Shaw PROPOSAL
Leon L ChuiCanadaOnyama Limba PROPOSAL
Smith O SaylorsRussiaElwin Sharvill PROPOSAL
Clifford A OstroskyJapanElwin Sharvill RENEWAL
Jennifer R ChuiAustraliaAnna Fali NEW
Kadeem W GarufiFranceAmy Elsner NEW
Aika P FerenczFranceOnyama Limba NEW
Julie A CaldareraGermanyIoni Bowcher PROPOSAL
Emily Q BriddickUnited KingdomIvan Magalhaes NEGOTIATION
Octavia A WhobreySpainAnna Fali PROPOSAL
Jones T TollnerBrazilOnyama Limba NEGOTIATION
Emily N PoquetteSpainAnna Fali NEW
Francesco Q WaycottBrazilStephen Shaw QUALIFIED
Ricardo N RulapaughCanadaAsiya Javayant QUALIFIED
Faith E WieserSpainBernardo Dominic NEW
Jones N BowleyBrazilStephen Shaw PROPOSAL
Faith S FlosiSpainXuxue Feng QUALIFIED
Rodrigues T RoysterFranceAsiya Javayant UNQUALIFIED
Faith Z VocelkaCanadaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa E KolmetzAustraliaOnyama Limba PROPOSAL
Ashley H CaudyJapanIvan Magalhaes QUALIFIED
Deepesh J RulapaughSpainIvan Magalhaes NEW
Jeanfrancois C AmigonAustraliaElwin Sharvill UNQUALIFIED
Julie P SergiBrazilXuxue Feng QUALIFIED
Clifford G PaprockiRussiaBernardo Dominic QUALIFIED
Murillo A RoysterAustraliaOnyama Limba NEW
Stacey D PerinGermanyIvan Magalhaes QUALIFIED
Kaitlin Y OldroydJapanAnna Fali UNQUALIFIED
Clifford H WieserFranceAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar Y MorascaJapan2026-10-13Commercial Press UNQUALIFIED85Elwin Sharvill
1001Maisha V SergiUnited Kingdom2026-09-20Printing Dimensions NEGOTIATION72Onyama Limba
1002Misaki E GauchoJapan2026-09-22Printing Dimensions UNQUALIFIED91Onyama Limba
1003Wickens O CaudyRussia2026-10-06Dorl, James J Esq NEGOTIATION33Stephen Shaw
1004Jefferson Z NestleSpain2026-10-15Chapman, Ross E Esq NEGOTIATION5Asiya Javayant
1005Isabel M CaldareraIndia2026-09-22Benton, John B Jr UNQUALIFIED63Stephen Shaw
1006Leja C WaycottRussia2026-10-11Feiner Bros NEW57Anna Fali
1007Ricardo E PoquetteBrazil2026-10-02Benton, John B Jr UNQUALIFIED68Stephen Shaw
1008Antonio I MaletUnited Kingdom2026-10-04Feltz Printing Service QUALIFIED50Asiya Javayant
1009Maisha S KuskoCanada2026-09-19Rangoni Of Florence PROPOSAL74Bernardo Dominic
1010Clifford F RutaCanada2026-09-28Feltz Printing Service NEW52Bernardo Dominic
1011Adams L MarrierUnited Kingdom2026-09-17Rousseaux, Michael Esq QUALIFIED61Anna Fali
1012Stacey E MaletArgentina2026-10-04Chapman, Ross E Esq NEGOTIATION88Elwin Sharvill
1013Darci C DoeUnited Kingdom2026-09-21Chanay, Jeffrey A Esq UNQUALIFIED26Asiya Javayant
1014Aditya T PoquetteIndia2026-10-15Feiner Bros NEW6Xuxue Feng
1015Isabel H FlosiGermany2026-09-17Benton, John B Jr QUALIFIED43Elwin Sharvill
1016Tony H StockhamFrance2026-09-19Printing Dimensions PROPOSAL74Asiya Javayant
1017Chavez H NestleUnited Kingdom2026-10-07Benton, John B Jr UNQUALIFIED10Onyama Limba
1018Costa G GarufiCanada2026-10-05Commercial Press PROPOSAL0Bernardo Dominic
1019Octavia R BowleyArgentina2026-10-03Truhlar And Truhlar Attys NEW78Amy Elsner
1020David Y GarufiArgentina2026-10-03Feltz Printing Service NEW32Xuxue Feng
1021Darci W KuskoItaly2026-10-14Rousseaux, Michael Esq RENEWAL55Asiya Javayant
1022Ivar B IturbideAustralia2026-09-18Feltz Printing Service NEGOTIATION96Onyama Limba
1023Ashley T CaldareraCanada2026-10-10Feltz Printing Service RENEWAL84Anna Fali
1024Antonio M GauchoJapan2026-09-22Dorl, James J Esq PROPOSAL38Elwin Sharvill
1025Aika Y RulapaughFrance2026-09-29Morlong Associates NEW88Xuxue Feng
1026Ashley W CaldareraBrazil2026-10-15Benton, John B Jr RENEWAL65Ioni Bowcher
1027Tony X RulapaughFrance2026-10-14Morlong Associates RENEWAL21Anna Fali
1028Mujtaba Y MarrierGermany2026-10-04Chanay, Jeffrey A Esq NEGOTIATION77Stephen Shaw
1029Antonio A BologniaJapan2026-09-17Chemel, James L Cpa QUALIFIED78Ivan Magalhaes
1030Octavia S TollnerItaly2026-10-03Rousseaux, Michael Esq PROPOSAL87Onyama Limba
1031Johnson J WieserSpain2026-10-09Chemel, James L Cpa NEW9Ioni Bowcher
1032Nicolas R ChuiBrazil2026-10-02Feltz Printing Service NEGOTIATION90Elwin Sharvill
1033Munro K StensethIndia2026-10-10Chapman, Ross E Esq RENEWAL88Elwin Sharvill
1034Kaitlin Y BologniaFrance2026-10-14Feltz Printing Service RENEWAL72Bernardo Dominic
1035Maisha N RutaBrazil2026-10-05King, Christopher A Esq NEGOTIATION40Anna Fali
1036Leja Y BowleyAustralia2026-09-17Benton, John B Jr RENEWAL75Ivan Magalhaes
1037Deepesh X AlbaresSpain2026-09-27Benton, John B Jr PROPOSAL46Stephen Shaw
1038Munro T CampainUnited Kingdom2026-09-26King, Christopher A Esq UNQUALIFIED6Ivan Magalhaes
1039Misaki U ChuiGermany2026-09-20King, Christopher A Esq QUALIFIED51Xuxue Feng
1040Salvatore W NestleGermany2026-10-02Rangoni Of Florence NEW63Elwin Sharvill
1041Alejandro U SchemmerFrance2026-09-26Rousseaux, Michael Esq NEGOTIATION67Onyama Limba
1042Claire E WhobreyUnited Kingdom2026-09-30Chanay, Jeffrey A Esq RENEWAL34Anna Fali
1043Juan K MaletSpain2026-10-08Morlong Associates NEGOTIATION31Onyama Limba
1044James I VenereCanada2026-10-02Rangoni Of Florence PROPOSAL82Bernardo Dominic
1045Jennifer X SchemmerUnited Kingdom2026-10-06Feiner Bros QUALIFIED96Asiya Javayant
1046Claire C GlickCanada2026-10-05King, Christopher A Esq NEGOTIATION46Stephen Shaw
1047Claire P RoysterGermany2026-10-10Feltz Printing Service NEW39Elwin Sharvill
1048Jefferson T DarakjyJapan2026-09-26Truhlar And Truhlar Attys NEW35Amy Elsner
1049Misaki F PoquetteCanada2026-09-17Rangoni Of Florence RENEWAL56Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Smith Y NickaRussiaOnyama Limba NEGOTIATION
Johnson P MarrierUnited KingdomXuxue Feng NEW
Clifford U PoquetteIndiaBernardo Dominic NEGOTIATION
Misaki T MaletArgentinaBernardo Dominic UNQUALIFIED
Ashley W RoysterArgentinaBernardo Dominic NEW
Antonio R PerinAustraliaElwin Sharvill NEW
Smith F DarakjyRussiaIoni Bowcher UNQUALIFIED
Maisha Z OldroydGermanyAsiya Javayant UNQUALIFIED
Francesco P FlosiSpainOnyama Limba QUALIFIED
Alejandro V WhobreyItalyIvan Magalhaes UNQUALIFIED
Leon C DarakjyArgentinaAnna Fali UNQUALIFIED
Juan J IturbideAustraliaAnna Fali NEGOTIATION
Chavez A NestleItalyIvan Magalhaes PROPOSAL
Izzy Q GarufiIndiaBernardo Dominic RENEWAL
Murillo Z FlosiArgentinaElwin Sharvill UNQUALIFIED
Greenwood U SlusarskiIndiaIoni Bowcher NEW
Ashley I FigeroaItalyIvan Magalhaes QUALIFIED
Claire P SergiUnited KingdomXuxue Feng NEW
Leon M DoeSpainAmy Elsner UNQUALIFIED
Adams J BriddickGermanyBernardo Dominic RENEWAL
David I MaletFranceOnyama Limba RENEWAL
Jefferson I MacleadRussiaXuxue Feng NEW
Darci K AmigonIndiaOnyama Limba PROPOSAL
Cody X SaylorsSpainOnyama Limba NEGOTIATION
Jefferson W WieserCanadaXuxue Feng NEW
Mayumi A RulapaughAustraliaIoni Bowcher UNQUALIFIED
Misaki A OstroskyArgentinaAnna Fali UNQUALIFIED
Aruna P GlickUnited KingdomBernardo Dominic PROPOSAL
Rodrigues B KolmetzItalyAmy Elsner NEW
Claire D VocelkaRussiaIvan Magalhaes NEW
Aruna M CaldareraFranceOnyama Limba PROPOSAL
Aruna E MarrierAustraliaOnyama Limba NEGOTIATION
Kaitlin Z WhobreyGermanyIvan Magalhaes NEGOTIATION
Alejandro B SaylorsArgentinaAsiya Javayant UNQUALIFIED
Stacey X MaletCanadaIoni Bowcher UNQUALIFIED
Isabel A CampainAustraliaAnna Fali QUALIFIED
Misaki I SaylorsCanadaBernardo Dominic QUALIFIED
Morrow N AlbaresRussiaAmy Elsner PROPOSAL
Antonio G ChuiGermanyBernardo Dominic PROPOSAL
Nicolas G FerenczSpainAmy Elsner PROPOSAL
Costa T RutaGermanyAnna Fali NEW
Antonio W CaudyGermanyIoni Bowcher PROPOSAL
Leon Q KolmetzAustraliaStephen Shaw QUALIFIED
Mujtaba Y ChuiBrazilIoni Bowcher PROPOSAL
Izzy I MarrierAustraliaIoni Bowcher QUALIFIED
Ricardo N GlickJapanAsiya Javayant QUALIFIED
Claire F SchemmerJapanAsiya Javayant NEW
Aruna X TollnerRussiaAsiya Javayant NEW
Tony H StensethBrazilBernardo Dominic NEGOTIATION
Leon D InouyeRussiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Morrow W Campain
Maisha U Dilliard
Emily C Kusko
Juan M Ostrosky
Deepesh X Paprocki
David R Venere
James X Chui
Faith N Wieser
Wickens E Foller
Wickens A Caldarera
Rodrigues R Ferencz
Jefferson D Gillian
Mayumi W Nestle
Ashley Q Ostrosky
Maria S Inouye
Aika Y Albares
Morrow X Inouye
Francesco R Stenseth
Tony R Whobrey
Claire Q Stenseth
Johnson D Wieser
Leja I Slusarski
Ricardo M Caudy
Morrow K Campain
Alejandro L Maclead
Greenwood P Tollner
Aruna V Shinko
Ivar T Doe
Smith N Kusko
Murillo S Tollner
Izzy Y Briddick
Mayumi U Nicka
Ashley J Inouye
Aruna N Iturbide
Sinclair B Kusko
Chavez N Glick
Claire J Maclead
Silvio Z Poquette
Munro G Albares
James T Venere
Mujtaba Q Schemmer
Rodrigues L Iturbide
Ivar M Briddick
Silvio N Nicka
Deepesh U Stenseth
Aruna R Caldarera
Deepesh J Royster
Claire L Foller
Jefferson J Figeroa
Ivar Q Doe
IdCountryDate
1000United Kingdom2026-09-19
1001Spain2026-10-10
1002France2026-09-21
1003India2026-09-17
1004United Kingdom2026-10-03
1005Japan2026-09-27
1006India2026-09-28
1007France2026-09-22
1008Canada2026-10-15
1009Japan2026-10-08
1010Canada2026-09-19
1011Germany2026-10-02
1012United Kingdom2026-09-21
1013Germany2026-09-28
1014India2026-10-07
1015Japan2026-09-18
1016Russia2026-10-08
1017India2026-09-23
1018United Kingdom2026-10-09
1019Spain2026-09-24
1020Argentina2026-09-18
1021Brazil2026-09-28
1022Brazil2026-09-20
1023India2026-10-03
1024Italy2026-09-23
1025Italy2026-10-11
1026Japan2026-09-26
1027Spain2026-10-14
1028Spain2026-09-24
1029India2026-10-10
1030India2026-10-06
1031Australia2026-09-29
1032Germany2026-10-15
1033Brazil2026-09-22
1034Italy2026-09-28
1035Japan2026-09-17
1036India2026-10-05
1037India2026-09-27
1038France2026-09-18
1039United Kingdom2026-09-20
1040Argentina2026-09-25
1041India2026-09-23
1042Germany2026-10-11
1043Brazil2026-09-24
1044Germany2026-09-18
1045Russia2026-10-10
1046Italy2026-10-14
1047Japan2026-09-24
1048Italy2026-09-29
1049Russia2026-10-12

On-Demand Data

NameIdCountryDate
Johnson K Iturbide1000Australia2026-09-30
Leon M Flosi1001United Kingdom2026-10-10
Leja O Gaucho1002Russia2026-10-10
Maria G Oldroyd1003Germany2026-10-05
Isabel X Caudy1004Japan2026-09-16
Izzy B Flosi1005Brazil2026-09-23
Nicolas W Glick1006Brazil2026-10-12
Aditya C Morasca1007Japan2026-09-23
Aditya Z Bowley1008Canada2026-09-19
Aika Y Figeroa1009Russia2026-09-30
Misaki R Ruta1010Spain2026-09-18
Darci V Poquette1011Russia2026-10-06
Smith R Paprocki1012Italy2026-09-18
Juan D Nicka1013Argentina2026-10-09
Wickens S Vocelka1014Italy2026-09-25
Faith V Oldroyd1015Spain2026-09-16
Ivar A Rulapaugh1016Japan2026-10-14
Mujtaba G Butt1017Australia2026-10-13
Jefferson N Wieser1018Italy2026-10-06
Johnson C Bowley1019Spain2026-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya D GauchoFranceElwin Sharvill RENEWAL
Maria M WhobreyGermanyBernardo Dominic NEW
Adams W SaylorsFranceStephen Shaw UNQUALIFIED
Johnson U FerenczIndiaElwin Sharvill QUALIFIED
Misaki J DilliardArgentinaXuxue Feng RENEWAL
Mujtaba A MaletBrazilIvan Magalhaes UNQUALIFIED
Murillo Q SaylorsGermanyIoni Bowcher PROPOSAL
Aika Z SchemmerIndiaAnna Fali RENEWAL
Nicolas Q PerinSpainOnyama Limba UNQUALIFIED
Nicolas X ButtFranceIoni Bowcher NEW
Jefferson T MorascaItalyStephen Shaw PROPOSAL
Murillo B StensethCanadaAnna Fali NEGOTIATION
Silvio V DilliardSpainStephen Shaw NEGOTIATION
James I AlbaresBrazilStephen Shaw NEGOTIATION
Kaitlin R WieserGermanyAsiya Javayant QUALIFIED
Leja L SergiBrazilStephen Shaw RENEWAL
Deepesh K StensethBrazilBernardo Dominic QUALIFIED
Aruna O WaycottCanadaAmy Elsner UNQUALIFIED
Misaki W AlbaresCanadaXuxue Feng NEGOTIATION
Francesco O DarakjyArgentinaOnyama Limba NEW
Juan R VocelkaFranceElwin Sharvill QUALIFIED
Francesco R AlbaresIndiaXuxue Feng QUALIFIED
Cody M NickaAustraliaOnyama Limba PROPOSAL
Rodrigues E DilliardJapanIvan Magalhaes PROPOSAL
Maria P TollnerItalyStephen Shaw QUALIFIED
Isabel A WaycottItalyStephen Shaw PROPOSAL
Jefferson U BologniaSpainXuxue Feng UNQUALIFIED
Morrow E StockhamBrazilElwin Sharvill UNQUALIFIED
Aruna Z BriddickCanadaOnyama Limba NEGOTIATION
Julie O KuskoJapanAsiya Javayant NEW
Clifford I VenereRussiaIoni Bowcher RENEWAL
Jefferson Y DarakjyRussiaOnyama Limba QUALIFIED
Ivar I CampainAustraliaXuxue Feng RENEWAL
Faith T DoeGermanyAnna Fali UNQUALIFIED
Silvio D IturbideGermanyAmy Elsner PROPOSAL
Alejandro U OldroydIndiaOnyama Limba NEW
Murillo S GarufiUnited KingdomAsiya Javayant PROPOSAL
Octavia A SaylorsCanadaAsiya Javayant RENEWAL
Maisha C FerenczBrazilOnyama Limba QUALIFIED
Mujtaba R WieserGermanyElwin Sharvill 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>