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
Deepesh U RutaRussiaIoni Bowcher NEW
Aruna S FollerArgentinaBernardo Dominic NEW
Alejandro X RoysterUnited KingdomAnna Fali RENEWAL
David R DarakjyAustraliaAsiya Javayant NEGOTIATION
Alejandro X PerinCanadaElwin Sharvill NEW
David A GarufiIndiaBernardo Dominic PROPOSAL
Rodrigues H RoysterBrazilIvan Magalhaes NEW
Mayumi C AlbaresRussiaIoni Bowcher NEW
Chavez C MaletGermanyBernardo Dominic RENEWAL
Emily L ChuiFranceAmy Elsner QUALIFIED
Murillo C RulapaughGermanyOnyama Limba UNQUALIFIED
Faith G PerinFranceAmy Elsner NEGOTIATION
Kaitlin U OldroydIndiaAnna Fali PROPOSAL
Mujtaba M OstroskyRussiaStephen Shaw UNQUALIFIED
Isabel O RimBrazilAsiya Javayant NEGOTIATION
Francesco C IturbideItalyIvan Magalhaes NEGOTIATION
Maria X StensethArgentinaElwin Sharvill UNQUALIFIED
Leon I PaprockiJapanXuxue Feng NEGOTIATION
Arvin P RulapaughGermanyStephen Shaw NEGOTIATION
Tony X NestleJapanBernardo Dominic NEW
Jeanfrancois Y VenereSpainAsiya Javayant NEGOTIATION
Morrow J DoeSpainOnyama Limba UNQUALIFIED
Aruna C ChuiJapanIoni Bowcher NEGOTIATION
Deepesh Q TollnerArgentinaAmy Elsner NEW
Smith R SlusarskiRussiaIoni Bowcher RENEWAL
Leja B TollnerCanadaAnna Fali NEGOTIATION
Francesco Q WhobreyArgentinaOnyama Limba QUALIFIED
Leon E BriddickBrazilElwin Sharvill RENEWAL
Smith U DilliardUnited KingdomStephen Shaw QUALIFIED
Octavia V WaycottBrazilStephen Shaw RENEWAL
Ricardo L NickaRussiaBernardo Dominic QUALIFIED
Murillo L OstroskyGermanyXuxue Feng NEGOTIATION
Octavia U RimArgentinaAnna Fali RENEWAL
James M GillianRussiaIoni Bowcher NEW
Maria C KolmetzGermanyAsiya Javayant UNQUALIFIED
Greenwood E CaldareraJapanXuxue Feng NEW
Aruna W VocelkaGermanyXuxue Feng QUALIFIED
James X BriddickRussiaXuxue Feng NEW
Leon K GarufiAustraliaAmy Elsner NEW
Antonio E FlosiIndiaStephen Shaw PROPOSAL
Francesco U NickaCanadaIoni Bowcher UNQUALIFIED
Wickens F GarufiUnited KingdomAmy Elsner NEW
Greenwood L SergiArgentinaOnyama Limba NEW
Alejandro V SlusarskiJapanStephen Shaw QUALIFIED
Ashley Q KolmetzBrazilIvan Magalhaes QUALIFIED
Juan U StensethUnited KingdomBernardo Dominic RENEWAL
Izzy Z RimRussiaIvan Magalhaes NEGOTIATION
Mayumi L StockhamFranceAsiya Javayant PROPOSAL
Aruna Q BologniaIndiaAnna Fali NEW
Murillo X WieserCanadaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas P BriddickUnited KingdomAmy Elsner NEW
Ashley Z PaprockiIndiaXuxue Feng NEGOTIATION
Maisha H GarufiAustraliaAsiya Javayant NEW
James C GlickIndiaIvan Magalhaes RENEWAL
Stacey Z MarrierItalyAnna Fali UNQUALIFIED
Julie H MacleadIndiaOnyama Limba NEGOTIATION
Francesco D KolmetzArgentinaAsiya Javayant QUALIFIED
Maria P AlbaresRussiaAsiya Javayant QUALIFIED
Nicolas S IturbideUnited KingdomXuxue Feng NEW
Rodrigues Z CampainItalyAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki N VocelkaCanada2026-09-12Chapman, Ross E Esq UNQUALIFIED96Asiya Javayant
1001Kadeem D MorascaIndia2026-09-30Printing Dimensions PROPOSAL48Xuxue Feng
1002Silvio S KuskoBrazil2026-09-18Chanay, Jeffrey A Esq NEW45Ioni Bowcher
1003Emily E GarufiSpain2026-09-15Chapman, Ross E Esq NEW65Elwin Sharvill
1004Kaitlin U StockhamUnited Kingdom2026-09-07Truhlar And Truhlar Attys QUALIFIED13Bernardo Dominic
1005Salvatore M KuskoSpain2026-09-25Rangoni Of Florence PROPOSAL51Onyama Limba
1006Emily C WaycottAustralia2026-09-02Printing Dimensions NEW74Asiya Javayant
1007Deepesh S VenereJapan2026-09-14Morlong Associates RENEWAL44Stephen Shaw
1008Izzy E MorascaBrazil2026-09-29Chanay, Jeffrey A Esq RENEWAL34Anna Fali
1009Morrow Z FlosiBrazil2026-09-29Chanay, Jeffrey A Esq NEGOTIATION89Asiya Javayant
1010Kaitlin M KolmetzItaly2026-09-08Feiner Bros QUALIFIED78Xuxue Feng
1011Ivar D PerinBrazil2026-09-21Dorl, James J Esq QUALIFIED74Elwin Sharvill
1012Francesco D StensethSpain2026-09-12Feiner Bros NEGOTIATION27Anna Fali
1013David Z PoquetteUnited Kingdom2026-09-30Dorl, James J Esq QUALIFIED93Onyama Limba
1014Johnson O ShinkoGermany2026-09-21Commercial Press QUALIFIED21Amy Elsner
1015Adams P WhobreyAustralia2026-09-25Rangoni Of Florence UNQUALIFIED35Ivan Magalhaes
1016Smith T FollerBrazil2026-09-08King, Christopher A Esq NEGOTIATION64Bernardo Dominic
1017Kaitlin V TollnerUnited Kingdom2026-09-25Morlong Associates NEGOTIATION74Onyama Limba
1018Darci M WieserGermany2026-09-08Benton, John B Jr NEGOTIATION25Ivan Magalhaes
1019Kaitlin W NestleRussia2026-09-09Buckley Miller Wright RENEWAL73Onyama Limba
1020Misaki X FerenczRussia2026-09-05Rousseaux, Michael Esq UNQUALIFIED49Asiya Javayant
1021Kadeem H RimArgentina2026-09-10Truhlar And Truhlar Attys PROPOSAL85Xuxue Feng
1022Morrow C DilliardItaly2026-09-19Buckley Miller Wright NEW2Elwin Sharvill
1023Misaki D BologniaBrazil2026-09-08King, Christopher A Esq NEW66Ioni Bowcher
1024Faith Q FollerIndia2026-09-26Feiner Bros NEGOTIATION64Anna Fali
1025Cody Z GauchoBrazil2026-09-23Morlong Associates NEGOTIATION33Anna Fali
1026Salvatore Y KuskoFrance2026-09-07Chanay, Jeffrey A Esq PROPOSAL99Amy Elsner
1027Ashley J MorascaSpain2026-09-27Dorl, James J Esq NEGOTIATION64Amy Elsner
1028Sinclair I SaylorsRussia2026-09-27Morlong Associates NEW41Bernardo Dominic
1029Jefferson G MorascaRussia2026-09-17Chapman, Ross E Esq NEW66Xuxue Feng
1030Emily F FollerUnited Kingdom2026-09-27Commercial Press QUALIFIED81Ivan Magalhaes
1031Darci L BriddickIndia2026-09-03Rousseaux, Michael Esq RENEWAL62Anna Fali
1032Kaitlin I ButtIndia2026-09-23Chapman, Ross E Esq QUALIFIED18Bernardo Dominic
1033Johnson A DoeAustralia2026-09-13Chanay, Jeffrey A Esq RENEWAL15Ivan Magalhaes
1034Sinclair H WieserSpain2026-09-07Rangoni Of Florence QUALIFIED18Amy Elsner
1035David N GillianJapan2026-09-08Rousseaux, Michael Esq NEW0Elwin Sharvill
1036Antonio E TollnerBrazil2026-09-07Benton, John B Jr QUALIFIED46Onyama Limba
1037Greenwood W DarakjySpain2026-09-16Printing Dimensions QUALIFIED74Stephen Shaw
1038Kaitlin B ChuiFrance2026-09-20Chapman, Ross E Esq NEW32Amy Elsner
1039Maisha A ChuiGermany2026-09-03Rangoni Of Florence NEGOTIATION53Bernardo Dominic
1040Johnson Y MaletBrazil2026-09-13Rousseaux, Michael Esq NEGOTIATION79Onyama Limba
1041Ricardo V BowleyCanada2026-09-10Morlong Associates PROPOSAL14Xuxue Feng
1042Sinclair O VocelkaCanada2026-09-23Feiner Bros PROPOSAL11Asiya Javayant
1043Misaki N RimItaly2026-09-20Rangoni Of Florence UNQUALIFIED10Bernardo Dominic
1044Antonio L RoysterFrance2026-09-12Benton, John B Jr QUALIFIED8Bernardo Dominic
1045Johnson U DoeSpain2026-09-13Dorl, James J Esq RENEWAL0Anna Fali
1046Aruna Q PaprockiBrazil2026-09-08Morlong Associates QUALIFIED78Stephen Shaw
1047Clifford J CampainBrazil2026-09-15Chapman, Ross E Esq NEGOTIATION61Asiya Javayant
1048Jennifer O RulapaughJapan2026-09-22Chemel, James L Cpa RENEWAL30Elwin Sharvill
1049Leja H DoeFrance2026-09-25Chemel, James L Cpa NEW20Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Claire P RulapaughJapanElwin Sharvill RENEWAL
Ricardo C MacleadItalyElwin Sharvill NEW
Emily J NickaArgentinaAmy Elsner NEW
Costa J GillianRussiaOnyama Limba PROPOSAL
Cody H AmigonUnited KingdomIoni Bowcher QUALIFIED
Greenwood J WieserSpainBernardo Dominic PROPOSAL
Aika Y StensethAustraliaIvan Magalhaes NEW
Kaitlin Z MarrierArgentinaAmy Elsner NEW
Julie Z StensethGermanyOnyama Limba NEW
Juan R FigeroaFranceIoni Bowcher RENEWAL
Sinclair K AmigonUnited KingdomElwin Sharvill QUALIFIED
Stacey X ChuiItalyAsiya Javayant QUALIFIED
Cody O PerinSpainXuxue Feng NEW
Aruna S CaudySpainBernardo Dominic UNQUALIFIED
Darci S AlbaresAustraliaIoni Bowcher NEGOTIATION
Juan Q BriddickGermanyElwin Sharvill RENEWAL
Darci J BowleyIndiaAmy Elsner NEW
Alejandro W SlusarskiAustraliaAmy Elsner NEW
Maisha I OstroskyCanadaIoni Bowcher UNQUALIFIED
Nicolas T GarufiCanadaXuxue Feng RENEWAL
Aditya L MorascaGermanyOnyama Limba RENEWAL
Costa J MaletArgentinaOnyama Limba QUALIFIED
Adams C TollnerArgentinaElwin Sharvill PROPOSAL
Misaki A SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Adams J MacleadItalyIvan Magalhaes NEGOTIATION
Aditya Q OldroydJapanElwin Sharvill QUALIFIED
Ivar G WhobreySpainStephen Shaw PROPOSAL
Tony Q GlickSpainOnyama Limba UNQUALIFIED
Alejandro Q NickaIndiaOnyama Limba NEGOTIATION
Munro C SaylorsJapanElwin Sharvill PROPOSAL
Aruna Z SergiArgentinaAsiya Javayant UNQUALIFIED
Ivar M OldroydFranceAnna Fali RENEWAL
Emily F StockhamBrazilAnna Fali UNQUALIFIED
Darci V NestleBrazilAsiya Javayant PROPOSAL
Darci G SlusarskiUnited KingdomAnna Fali NEW
Ricardo F VocelkaArgentinaBernardo Dominic NEW
Nicolas D FerenczItalyAnna Fali PROPOSAL
Aruna A CampainIndiaOnyama Limba NEGOTIATION
Ivar O GillianCanadaOnyama Limba UNQUALIFIED
Johnson H WaycottAustraliaXuxue Feng PROPOSAL
Ricardo W StensethGermanyIoni Bowcher QUALIFIED
David Z RulapaughUnited KingdomXuxue Feng NEGOTIATION
Mujtaba O FlosiIndiaXuxue Feng PROPOSAL
Francesco O PerinGermanyIvan Magalhaes NEGOTIATION
Ashley M FlosiArgentinaBernardo Dominic NEGOTIATION
Smith D TollnerJapanOnyama Limba NEGOTIATION
James R DarakjyArgentinaAnna Fali NEW
Julie I MaletAustraliaElwin Sharvill UNQUALIFIED
Emily S FerenczUnited KingdomAmy Elsner NEGOTIATION
David F VocelkaRussiaIoni Bowcher NEW
Frozen Columns
Name
Misaki U Glick
Antonio Y Garufi
Ricardo L Iturbide
Stacey L Bowley
Antonio M Stockham
Clifford B Nestle
Leja V Marrier
Izzy J Doe
Wickens I Doe
Francesco P Stenseth
Julie J Glick
Clifford T Garufi
Juan U Glick
Leon O Inouye
Ricardo Z Ferencz
Jeanfrancois Q Kusko
Jennifer K Flosi
Sinclair O Bowley
Arvin S Garufi
Cody S Rulapaugh
Leon M Dilliard
Ashley D Maclead
Aruna N Poquette
Isabel Y Oldroyd
Tony Q Glick
Octavia T Poquette
Leon S Chui
Darci S Waycott
Jeanfrancois J Nestle
Johnson S Perin
Greenwood K Butt
Costa X Flosi
Faith E Bolognia
Mujtaba Y Nestle
David V Ruta
Munro R Kolmetz
Claire R Stenseth
Stacey H Shinko
Alejandro F Kusko
Misaki D Amigon
Octavia M Bolognia
Isabel R Kusko
Julie X Morasca
Mujtaba O Malet
Clifford T Briddick
Francesco Z Glick
Silvio W Albares
Jefferson C Marrier
Kaitlin V Morasca
Ashley U Sergi
IdCountryDate
1000Italy2026-09-09
1001Brazil2026-09-05
1002Brazil2026-09-03
1003Canada2026-09-09
1004Spain2026-09-21
1005Spain2026-10-01
1006Germany2026-09-07
1007United Kingdom2026-09-11
1008India2026-09-27
1009Germany2026-09-13
1010Brazil2026-09-16
1011Australia2026-09-22
1012Spain2026-09-21
1013Canada2026-09-03
1014Germany2026-09-24
1015Argentina2026-09-18
1016Russia2026-09-12
1017Australia2026-09-08
1018France2026-09-28
1019Japan2026-09-28
1020India2026-09-15
1021Argentina2026-09-26
1022Spain2026-09-18
1023Australia2026-09-13
1024Australia2026-09-25
1025Japan2026-09-20
1026Russia2026-09-27
1027France2026-09-25
1028Russia2026-09-21
1029Australia2026-09-14
1030United Kingdom2026-09-11
1031India2026-09-15
1032Germany2026-09-22
1033France2026-09-21
1034France2026-09-15
1035Russia2026-09-21
1036Spain2026-09-13
1037Russia2026-10-01
1038Australia2026-09-11
1039Spain2026-09-20
1040Argentina2026-09-06
1041Brazil2026-09-06
1042Russia2026-09-23
1043Argentina2026-09-24
1044France2026-09-14
1045United Kingdom2026-09-13
1046Germany2026-09-06
1047Russia2026-09-04
1048Spain2026-09-22
1049Australia2026-09-26

On-Demand Data

NameIdCountryDate
Misaki B Albares1000Brazil2026-09-12
Leja F Amigon1001Argentina2026-09-30
Greenwood U Maclead1002India2026-09-14
Faith P Waycott1003Japan2026-09-28
Aika X Inouye1004Spain2026-09-17
Misaki N Kusko1005Canada2026-09-16
Silvio C Iturbide1006Australia2026-09-27
Murillo R Bolognia1007Argentina2026-09-29
Jefferson G Ostrosky1008Italy2026-09-20
Johnson T Amigon1009Japan2026-09-03
David Q Sergi1010Germany2026-09-16
Morrow S Rulapaugh1011Australia2026-09-10
Alejandro R Morasca1012Australia2026-09-15
Kaitlin Q Dilliard1013Italy2026-09-07
Munro Q Albares1014Argentina2026-09-04
Nicolas L Poquette1015Spain2026-09-16
James B Darakjy1016Brazil2026-09-06
Kaitlin Q Flosi1017France2026-09-30
Mujtaba Y Darakjy1018Spain2026-09-24
Deepesh E Royster1019Germany2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith W WieserJapanAsiya Javayant PROPOSAL
Izzy K RoysterFranceAnna Fali NEW
Leja J BologniaCanadaIoni Bowcher NEW
Ashley U MarrierArgentinaXuxue Feng UNQUALIFIED
Munro M GillianBrazilStephen Shaw PROPOSAL
Aditya T GlickIndiaBernardo Dominic RENEWAL
Jeanfrancois N WaycottSpainAsiya Javayant PROPOSAL
Leon X ChuiAustraliaIoni Bowcher QUALIFIED
Emily D VenereRussiaElwin Sharvill UNQUALIFIED
Deepesh J StensethIndiaAmy Elsner PROPOSAL
David T MaletFranceOnyama Limba UNQUALIFIED
Clifford H MaletBrazilXuxue Feng NEGOTIATION
Jeanfrancois N KuskoGermanyElwin Sharvill RENEWAL
Misaki Z PaprockiAustraliaIoni Bowcher PROPOSAL
Juan S FlosiRussiaAsiya Javayant QUALIFIED
Leja H NestleCanadaOnyama Limba UNQUALIFIED
Ashley H AlbaresSpainAnna Fali NEGOTIATION
Darci J TollnerFranceElwin Sharvill UNQUALIFIED
Jeanfrancois F SchemmerRussiaXuxue Feng NEW
Kaitlin Q SchemmerRussiaAmy Elsner QUALIFIED
Jefferson O MacleadJapanElwin Sharvill PROPOSAL
Jennifer G AmigonUnited KingdomAsiya Javayant RENEWAL
Salvatore H NickaFranceIvan Magalhaes PROPOSAL
Morrow F BriddickFranceStephen Shaw UNQUALIFIED
Juan U NickaIndiaOnyama Limba RENEWAL
Munro T PerinSpainAmy Elsner NEW
Silvio O SchemmerAustraliaXuxue Feng RENEWAL
Costa D ChuiIndiaElwin Sharvill NEGOTIATION
Silvio O MarrierCanadaElwin Sharvill NEGOTIATION
Izzy Q MarrierSpainAsiya Javayant NEW
Morrow A MaletFranceBernardo Dominic NEW
Greenwood T CampainUnited KingdomElwin Sharvill RENEWAL
Misaki M SlusarskiSpainIvan Magalhaes UNQUALIFIED
Ivar A BologniaItalyXuxue Feng QUALIFIED
Costa X WaycottGermanyIoni Bowcher NEGOTIATION
Silvio F KolmetzJapanIvan Magalhaes UNQUALIFIED
Smith N PaprockiRussiaBernardo Dominic PROPOSAL
Salvatore I KuskoRussiaStephen Shaw QUALIFIED
Rodrigues U GlickUnited KingdomXuxue Feng QUALIFIED
Clifford D ShinkoItalyOnyama Limba 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>