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
Faith A MarrierAustraliaIvan Magalhaes RENEWAL
Octavia L AlbaresBrazilIvan Magalhaes RENEWAL
Misaki L MacleadJapanAsiya Javayant PROPOSAL
Ashley O AmigonGermanyAnna Fali NEW
Johnson V KuskoAustraliaBernardo Dominic UNQUALIFIED
Deepesh B FerenczRussiaAsiya Javayant QUALIFIED
Isabel Q RoysterUnited KingdomXuxue Feng UNQUALIFIED
Stacey E PerinArgentinaAsiya Javayant NEGOTIATION
Jones O DarakjyAustraliaAmy Elsner RENEWAL
Leon Y AlbaresJapanAsiya Javayant NEW
Juan N ButtRussiaStephen Shaw QUALIFIED
Leon N FerenczCanadaAmy Elsner RENEWAL
Ashley Z BriddickIndiaIvan Magalhaes UNQUALIFIED
Maria V FollerJapanAmy Elsner RENEWAL
Sinclair K SlusarskiBrazilXuxue Feng NEW
Misaki T RoysterRussiaBernardo Dominic NEGOTIATION
Kaitlin W KolmetzCanadaXuxue Feng NEGOTIATION
Jefferson E PaprockiIndiaOnyama Limba NEGOTIATION
Murillo K NestleFranceElwin Sharvill NEGOTIATION
Julie L VocelkaAustraliaIoni Bowcher RENEWAL
Octavia P StockhamAustraliaIoni Bowcher PROPOSAL
Arvin M CampainIndiaElwin Sharvill NEW
Jennifer A ButtGermanyIoni Bowcher RENEWAL
Maria H ButtItalyAnna Fali UNQUALIFIED
David B MaletRussiaOnyama Limba RENEWAL
Jones K CampainRussiaIoni Bowcher PROPOSAL
Deepesh M BologniaCanadaAmy Elsner NEGOTIATION
Jones R SchemmerItalyXuxue Feng NEW
Aika K IturbideCanadaAmy Elsner UNQUALIFIED
Francesco C ButtJapanXuxue Feng QUALIFIED
Stacey P DoeSpainAmy Elsner RENEWAL
Izzy J RimUnited KingdomIvan Magalhaes QUALIFIED
Jones Z GillianBrazilElwin Sharvill QUALIFIED
Aditya Y WaycottRussiaAmy Elsner NEW
Leon K GarufiArgentinaAsiya Javayant NEGOTIATION
Kaitlin X CaudyRussiaAnna Fali PROPOSAL
Juan O RulapaughBrazilElwin Sharvill UNQUALIFIED
Aika T RulapaughIndiaOnyama Limba QUALIFIED
Alejandro C MacleadCanadaOnyama Limba NEW
Aika G RulapaughFranceAmy Elsner NEGOTIATION
Ashley T NestleAustraliaBernardo Dominic RENEWAL
David J FerenczCanadaAsiya Javayant NEW
Antonio C PaprockiSpainIvan Magalhaes NEGOTIATION
Costa L CaldareraGermanyIvan Magalhaes RENEWAL
Julie R BriddickBrazilIoni Bowcher NEGOTIATION
Octavia Z BriddickCanadaStephen Shaw RENEWAL
Mayumi Y BriddickRussiaBernardo Dominic NEW
Emily A IturbideBrazilXuxue Feng UNQUALIFIED
Emily A VenereItalyAmy Elsner PROPOSAL
Nicolas V VenereSpainXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro J DarakjyRussiaIvan Magalhaes RENEWAL
Jefferson U AlbaresGermanyElwin Sharvill RENEWAL
Juan Z CampainCanadaAnna Fali QUALIFIED
Mayumi E ChuiJapanOnyama Limba QUALIFIED
Aruna Y CampainGermanyAnna Fali NEGOTIATION
Faith W FlosiCanadaOnyama Limba NEW
Leja M MorascaRussiaAnna Fali NEW
Chavez U PaprockiAustraliaStephen Shaw NEW
Murillo J MaletAustraliaOnyama Limba QUALIFIED
Tony A AmigonGermanyOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore I NickaUnited Kingdom2026-09-24Chapman, Ross E Esq RENEWAL11Ioni Bowcher
1001Ashley F WaycottGermany2026-09-15Rangoni Of Florence NEGOTIATION2Ivan Magalhaes
1002Munro A SergiJapan2026-08-31Dorl, James J Esq NEGOTIATION27Amy Elsner
1003Mayumi J FlosiRussia2026-08-29Dorl, James J Esq NEW95Xuxue Feng
1004Kadeem P AlbaresGermany2026-08-29King, Christopher A Esq QUALIFIED34Bernardo Dominic
1005Mayumi H DilliardCanada2026-09-02Rousseaux, Michael Esq QUALIFIED8Ioni Bowcher
1006Claire Z NestleGermany2026-08-26Printing Dimensions QUALIFIED46Ioni Bowcher
1007Octavia M SlusarskiRussia2026-09-16Truhlar And Truhlar Attys PROPOSAL76Amy Elsner
1008Greenwood T IturbideIndia2026-09-23Truhlar And Truhlar Attys NEW61Elwin Sharvill
1009Kadeem G PoquetteUnited Kingdom2026-09-04Commercial Press NEW83Stephen Shaw
1010Francesco E ChuiUnited Kingdom2026-09-18Chanay, Jeffrey A Esq UNQUALIFIED83Xuxue Feng
1011Emily N OstroskyAustralia2026-08-30Printing Dimensions UNQUALIFIED36Xuxue Feng
1012Morrow C MarrierSpain2026-09-21Dorl, James J Esq PROPOSAL35Onyama Limba
1013David C SaylorsBrazil2026-09-03Morlong Associates QUALIFIED88Ioni Bowcher
1014Smith O SergiJapan2026-08-27Dorl, James J Esq RENEWAL61Anna Fali
1015Leja D WaycottItaly2026-09-09King, Christopher A Esq QUALIFIED41Ivan Magalhaes
1016Jeanfrancois V AmigonJapan2026-08-31Truhlar And Truhlar Attys PROPOSAL90Onyama Limba
1017Morrow W FigeroaRussia2026-09-18Chemel, James L Cpa UNQUALIFIED16Onyama Limba
1018Nicolas B OstroskySpain2026-09-06Feiner Bros PROPOSAL32Anna Fali
1019Claire R SlusarskiSpain2026-09-02Rangoni Of Florence RENEWAL29Ivan Magalhaes
1020Antonio R OldroydJapan2026-08-31Chapman, Ross E Esq UNQUALIFIED0Ioni Bowcher
1021Munro W ShinkoAustralia2026-09-13Printing Dimensions UNQUALIFIED78Bernardo Dominic
1022Ivar O SergiArgentina2026-09-08Chapman, Ross E Esq NEW25Ioni Bowcher
1023Julie H SlusarskiBrazil2026-09-20King, Christopher A Esq QUALIFIED20Onyama Limba
1024Maria R RutaJapan2026-08-31Buckley Miller Wright NEGOTIATION9Ivan Magalhaes
1025Greenwood M IturbideJapan2026-08-29Dorl, James J Esq RENEWAL55Elwin Sharvill
1026Mayumi O KuskoUnited Kingdom2026-09-01Buckley Miller Wright RENEWAL97Ivan Magalhaes
1027Emily W DoeItaly2026-09-15Dorl, James J Esq NEW26Anna Fali
1028Aditya T RulapaughFrance2026-08-26Chanay, Jeffrey A Esq RENEWAL12Ioni Bowcher
1029Deepesh E WaycottJapan2026-09-20Rangoni Of Florence PROPOSAL0Asiya Javayant
1030Aditya U IturbideSpain2026-09-09Chanay, Jeffrey A Esq QUALIFIED48Elwin Sharvill
1031Munro L AlbaresCanada2026-09-23Chapman, Ross E Esq PROPOSAL35Xuxue Feng
1032Jennifer B ChuiIndia2026-09-18Rousseaux, Michael Esq NEW78Onyama Limba
1033Aditya U WhobreyArgentina2026-09-05Dorl, James J Esq NEW55Anna Fali
1034Tony W CaldareraFrance2026-09-01Rousseaux, Michael Esq NEGOTIATION36Asiya Javayant
1035Ashley D DarakjyFrance2026-09-09Commercial Press NEGOTIATION15Asiya Javayant
1036Emily X VocelkaFrance2026-08-27Benton, John B Jr PROPOSAL88Stephen Shaw
1037Octavia X VenereJapan2026-09-17Printing Dimensions NEW22Ioni Bowcher
1038Octavia R StockhamIndia2026-09-19Dorl, James J Esq NEGOTIATION63Bernardo Dominic
1039Greenwood B MacleadBrazil2026-09-07Printing Dimensions QUALIFIED92Ioni Bowcher
1040Munro X WieserSpain2026-09-22Dorl, James J Esq NEW97Ioni Bowcher
1041Claire F PerinSpain2026-09-20Feiner Bros RENEWAL44Amy Elsner
1042Jefferson X VocelkaIndia2026-09-10Chanay, Jeffrey A Esq NEGOTIATION49Amy Elsner
1043Maria J GillianRussia2026-08-27King, Christopher A Esq RENEWAL9Amy Elsner
1044Cody B VocelkaRussia2026-09-20Chemel, James L Cpa NEGOTIATION68Asiya Javayant
1045Alejandro J DilliardSpain2026-08-30King, Christopher A Esq PROPOSAL78Elwin Sharvill
1046Tony X DarakjyCanada2026-09-10Feltz Printing Service NEGOTIATION83Stephen Shaw
1047Faith K SchemmerBrazil2026-09-15Chanay, Jeffrey A Esq NEW77Ivan Magalhaes
1048Misaki P DilliardUnited Kingdom2026-09-19King, Christopher A Esq NEGOTIATION77Elwin Sharvill
1049Johnson A PaprockiCanada2026-09-14Commercial Press QUALIFIED50Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ashley F SaylorsSpainOnyama Limba UNQUALIFIED
Greenwood Z KolmetzArgentinaAnna Fali NEW
Aika U CaudyArgentinaIvan Magalhaes NEGOTIATION
Ashley C FerenczArgentinaOnyama Limba UNQUALIFIED
Leon K ChuiSpainStephen Shaw UNQUALIFIED
Maisha U DilliardItalyXuxue Feng NEW
Mujtaba Z WieserJapanOnyama Limba PROPOSAL
Francesco D RulapaughArgentinaAnna Fali QUALIFIED
Darci P MacleadGermanyAmy Elsner NEW
Maisha E MarrierJapanAmy Elsner UNQUALIFIED
Jones N KolmetzIndiaAsiya Javayant PROPOSAL
Jennifer D CampainIndiaStephen Shaw QUALIFIED
Claire O AmigonJapanAsiya Javayant QUALIFIED
Deepesh K SergiJapanStephen Shaw NEGOTIATION
Salvatore X KolmetzJapanAmy Elsner QUALIFIED
Ashley M DoeItalyAmy Elsner QUALIFIED
Aruna E RoysterGermanyAnna Fali NEW
Maria H NestleIndiaAnna Fali PROPOSAL
Cody W BologniaArgentinaXuxue Feng QUALIFIED
Cody W KolmetzIndiaStephen Shaw NEW
Isabel A VocelkaSpainAsiya Javayant NEGOTIATION
Jefferson M InouyeRussiaXuxue Feng UNQUALIFIED
Alejandro H FerenczRussiaStephen Shaw RENEWAL
Maisha P MaletFranceIoni Bowcher NEGOTIATION
Smith J ChuiBrazilOnyama Limba NEW
Leon E MacleadRussiaOnyama Limba NEW
Izzy X RoysterRussiaBernardo Dominic NEGOTIATION
Jefferson Z StockhamIndiaIvan Magalhaes NEW
Clifford A ChuiFranceAmy Elsner PROPOSAL
Johnson X DarakjyJapanElwin Sharvill PROPOSAL
Johnson W KolmetzUnited KingdomOnyama Limba RENEWAL
Leja W TollnerGermanyBernardo Dominic RENEWAL
Francesco N NickaAustraliaBernardo Dominic NEGOTIATION
David F WhobreyBrazilElwin Sharvill RENEWAL
Clifford A AlbaresAustraliaIoni Bowcher UNQUALIFIED
Mujtaba D AlbaresSpainXuxue Feng NEW
Morrow L PerinUnited KingdomXuxue Feng UNQUALIFIED
Greenwood V MarrierBrazilAnna Fali NEGOTIATION
Claire M CampainBrazilIvan Magalhaes PROPOSAL
Aditya Z SaylorsSpainAmy Elsner PROPOSAL
Claire O GarufiGermanyBernardo Dominic NEW
Murillo L WieserAustraliaIoni Bowcher NEW
Juan S WaycottRussiaStephen Shaw NEGOTIATION
Greenwood F FigeroaAustraliaAmy Elsner PROPOSAL
Jennifer T OldroydJapanIvan Magalhaes NEW
Maria S PaprockiFranceElwin Sharvill NEW
Greenwood H GillianArgentinaIvan Magalhaes QUALIFIED
Francesco U MaletArgentinaIvan Magalhaes RENEWAL
Antonio C OstroskyAustraliaOnyama Limba NEW
Smith J PoquetteUnited KingdomXuxue Feng QUALIFIED
Frozen Columns
Name
Mayumi M Iturbide
Mayumi G Doe
Morrow Q Nicka
Antonio B Garufi
Jennifer G Nicka
Faith M Foller
Octavia P Campain
Maisha S Poquette
Murillo T Shinko
Kaitlin O Chui
Aika S Schemmer
Misaki O Stenseth
Isabel Q Kusko
Maria H Schemmer
Chavez O Stenseth
Costa F Nestle
Misaki R Inouye
Maisha M Albares
Nicolas G Ostrosky
Aruna H Bowley
Izzy I Kolmetz
Wickens Y Caldarera
Sinclair F Maclead
Morrow W Oldroyd
Leja M Stenseth
Johnson Y Wieser
Izzy I Caudy
Smith F Perin
Emily X Figeroa
Juan D Oldroyd
Morrow L Caudy
James T Ostrosky
Adams Q Dilliard
Rodrigues M Poquette
Izzy O Perin
Mujtaba W Kusko
Stacey N Amigon
Nicolas A Stockham
Jefferson Y Kolmetz
James E Perin
Mujtaba L Stenseth
Sinclair Y Rim
Leon V Nicka
Leja B Tollner
Leon N Vocelka
Cody P Maclead
Leja I Gaucho
Stacey K Flosi
Misaki O Poquette
Izzy Z Iturbide
IdCountryDate
1000Germany2026-09-24
1001Canada2026-09-16
1002Italy2026-09-01
1003Canada2026-09-15
1004Australia2026-09-16
1005Brazil2026-08-28
1006Russia2026-09-22
1007Japan2026-09-14
1008Argentina2026-08-26
1009Japan2026-09-04
1010India2026-09-18
1011Argentina2026-09-18
1012Canada2026-09-04
1013Australia2026-09-22
1014Canada2026-08-27
1015Russia2026-09-06
1016France2026-08-31
1017Germany2026-08-30
1018Australia2026-09-16
1019Spain2026-09-12
1020United Kingdom2026-09-07
1021Japan2026-08-27
1022Germany2026-09-08
1023Australia2026-09-21
1024Italy2026-09-02
1025Canada2026-09-21
1026United Kingdom2026-08-27
1027India2026-09-04
1028Germany2026-09-17
1029United Kingdom2026-09-05
1030Germany2026-08-27
1031India2026-08-30
1032Japan2026-09-09
1033Australia2026-09-17
1034India2026-09-05
1035France2026-09-09
1036Canada2026-09-13
1037Brazil2026-09-09
1038United Kingdom2026-09-21
1039Italy2026-09-22
1040Canada2026-09-07
1041Russia2026-09-21
1042Russia2026-09-08
1043Canada2026-08-30
1044Brazil2026-09-08
1045Japan2026-09-01
1046France2026-09-09
1047Argentina2026-09-15
1048Australia2026-09-21
1049Spain2026-09-02

On-Demand Data

NameIdCountryDate
Greenwood J Nestle1000India2026-08-28
Deepesh E Briddick1001Argentina2026-08-28
Aruna D Briddick1002Spain2026-09-21
Jefferson J Venere1003Spain2026-09-17
Maria S Gaucho1004United Kingdom2026-09-22
Aika W Tollner1005Brazil2026-08-30
Greenwood X Rim1006Italy2026-09-11
Mujtaba V Wieser1007Brazil2026-09-16
Aika V Kusko1008India2026-09-15
Greenwood G Malet1009Spain2026-09-07
Munro Y Flosi1010Brazil2026-08-30
Morrow P Royster1011India2026-09-19
Julie L Nicka1012Brazil2026-09-16
Morrow D Darakjy1013Spain2026-09-06
Salvatore I Nicka1014Japan2026-09-14
Mayumi R Wieser1015Brazil2026-08-26
Ricardo M Stenseth1016Australia2026-09-14
Octavia M Foller1017Russia2026-09-15
Costa W Nicka1018Brazil2026-09-15
Mayumi B Briddick1019Argentina2026-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey K AlbaresIndiaAmy Elsner UNQUALIFIED
Izzy R PaprockiCanadaIoni Bowcher UNQUALIFIED
Costa E MaletJapanStephen Shaw QUALIFIED
Ivar H MaletAustraliaStephen Shaw PROPOSAL
Smith P CampainUnited KingdomIoni Bowcher NEW
Sinclair Q MaletAustraliaAmy Elsner NEGOTIATION
Darci S OldroydRussiaAmy Elsner UNQUALIFIED
Julie M PerinAustraliaAmy Elsner NEGOTIATION
Ricardo W StensethAustraliaElwin Sharvill NEW
Maisha D FigeroaFranceElwin Sharvill PROPOSAL
Clifford Z FollerIndiaElwin Sharvill NEGOTIATION
Misaki T IturbideSpainIoni Bowcher NEW
Smith F FigeroaFranceElwin Sharvill NEGOTIATION
Kadeem V VenereAustraliaBernardo Dominic UNQUALIFIED
Juan S DoeFranceIvan Magalhaes NEGOTIATION
Faith P PaprockiCanadaIvan Magalhaes NEW
James M GillianIndiaAmy Elsner QUALIFIED
Greenwood S WaycottSpainStephen Shaw NEGOTIATION
Ivar F MorascaBrazilIvan Magalhaes NEW
Ivar T IturbideItalyBernardo Dominic NEW
Izzy L FigeroaItalyAsiya Javayant PROPOSAL
Mayumi L StensethCanadaAmy Elsner QUALIFIED
Maisha F NickaCanadaIvan Magalhaes NEW
Tony X MaletArgentinaOnyama Limba NEGOTIATION
Greenwood T FerenczAustraliaElwin Sharvill RENEWAL
Clifford E StockhamSpainXuxue Feng NEW
Wickens O VocelkaSpainIoni Bowcher QUALIFIED
Sinclair U GauchoAustraliaAmy Elsner NEGOTIATION
Greenwood Z BriddickCanadaIoni Bowcher QUALIFIED
Faith V DoeJapanAmy Elsner NEW
Antonio R KuskoIndiaAsiya Javayant RENEWAL
Leon T SaylorsArgentinaAmy Elsner NEGOTIATION
Maria O BowleyUnited KingdomXuxue Feng RENEWAL
Nicolas J BowleyGermanyIoni Bowcher QUALIFIED
Antonio G KolmetzAustraliaStephen Shaw NEGOTIATION
Maria H MorascaJapanAmy Elsner RENEWAL
Clifford O DilliardItalyStephen Shaw UNQUALIFIED
Misaki T BologniaArgentinaAnna Fali NEGOTIATION
Ivar P OstroskyArgentinaBernardo Dominic NEW
Tony Q VocelkaGermanyXuxue Feng QUALIFIED

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