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
Izzy Z WieserArgentinaElwin Sharvill NEW
Aruna J RulapaughGermanyXuxue Feng PROPOSAL
Silvio C GillianCanadaOnyama Limba PROPOSAL
James E DoeItalyAsiya Javayant NEGOTIATION
Aika Y ButtSpainAnna Fali PROPOSAL
Aika A FerenczGermanyAmy Elsner NEGOTIATION
Faith H ButtItalyXuxue Feng NEGOTIATION
Cody V PerinUnited KingdomElwin Sharvill NEGOTIATION
Arvin R MacleadJapanAmy Elsner NEW
Morrow F IturbideArgentinaBernardo Dominic QUALIFIED
Deepesh J SlusarskiSpainXuxue Feng UNQUALIFIED
Rodrigues U RoysterAustraliaAmy Elsner NEGOTIATION
Deepesh U DoeGermanyOnyama Limba NEGOTIATION
Morrow S MacleadAustraliaOnyama Limba UNQUALIFIED
Rodrigues R ShinkoItalyElwin Sharvill PROPOSAL
Aruna I DarakjyFranceAmy Elsner PROPOSAL
Kadeem S DarakjyAustraliaOnyama Limba PROPOSAL
Jefferson S WieserSpainOnyama Limba QUALIFIED
Ricardo D FlosiBrazilAmy Elsner NEGOTIATION
Misaki L CaudyUnited KingdomIoni Bowcher RENEWAL
Smith Z AlbaresSpainElwin Sharvill RENEWAL
Morrow N CaudyUnited KingdomBernardo Dominic NEGOTIATION
Aditya N StockhamArgentinaStephen Shaw NEGOTIATION
Izzy F DilliardBrazilIoni Bowcher QUALIFIED
Morrow H SlusarskiAustraliaOnyama Limba NEW
Chavez U SchemmerUnited KingdomXuxue Feng QUALIFIED
Chavez C MarrierBrazilStephen Shaw NEW
Clifford T FerenczUnited KingdomElwin Sharvill RENEWAL
Isabel O SaylorsBrazilAsiya Javayant NEGOTIATION
Maisha W FigeroaBrazilIvan Magalhaes UNQUALIFIED
Octavia K FigeroaAustraliaStephen Shaw NEGOTIATION
Ashley G PaprockiFranceAmy Elsner NEW
Misaki N PaprockiRussiaXuxue Feng RENEWAL
Cody K CampainRussiaAnna Fali RENEWAL
Emily T RulapaughFranceStephen Shaw NEGOTIATION
Francesco O WhobreyRussiaOnyama Limba QUALIFIED
Octavia N RimGermanyOnyama Limba NEGOTIATION
Arvin D KuskoUnited KingdomAmy Elsner RENEWAL
Ivar G PoquetteGermanyAmy Elsner NEGOTIATION
Cody I NestleRussiaAsiya Javayant PROPOSAL
Deepesh A SchemmerJapanBernardo Dominic UNQUALIFIED
Misaki N DilliardJapanOnyama Limba UNQUALIFIED
Julie Q PoquetteCanadaAsiya Javayant QUALIFIED
Costa V GauchoJapanXuxue Feng NEW
Murillo L MarrierItalyAnna Fali PROPOSAL
Octavia L SergiJapanAmy Elsner QUALIFIED
Darci B GarufiUnited KingdomOnyama Limba NEGOTIATION
Jefferson A PoquetteIndiaIvan Magalhaes RENEWAL
Nicolas C TollnerArgentinaAmy Elsner QUALIFIED
Octavia Q RoysterUnited KingdomStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James F DarakjyGermanyElwin Sharvill NEGOTIATION
Tony L VenereUnited KingdomOnyama Limba RENEWAL
Octavia C RutaArgentinaIoni Bowcher NEGOTIATION
Faith D ShinkoSpainElwin Sharvill NEW
Isabel U TollnerGermanyAmy Elsner UNQUALIFIED
Ivar L AmigonGermanyOnyama Limba NEGOTIATION
Sinclair C MaletRussiaIoni Bowcher UNQUALIFIED
Alejandro N CampainCanadaXuxue Feng NEGOTIATION
Wickens I VenereCanadaElwin Sharvill PROPOSAL
Smith T AmigonArgentinaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas O PoquetteItaly2026-09-30Feltz Printing Service RENEWAL64Asiya Javayant
1001Arvin Y BriddickBrazil2026-09-05Buckley Miller Wright QUALIFIED83Xuxue Feng
1002Izzy R GlickIndia2026-09-14Truhlar And Truhlar Attys NEW45Elwin Sharvill
1003Clifford X CaldareraSpain2026-09-05Feltz Printing Service PROPOSAL70Bernardo Dominic
1004Nicolas G SaylorsRussia2026-09-05Rangoni Of Florence RENEWAL69Anna Fali
1005Arvin N PerinBrazil2026-09-09Rangoni Of Florence RENEWAL37Stephen Shaw
1006Jones A OldroydBrazil2026-09-12Feltz Printing Service NEGOTIATION88Elwin Sharvill
1007Johnson X DoeIndia2026-09-19Rangoni Of Florence NEW93Bernardo Dominic
1008Smith K AmigonJapan2026-10-03Feiner Bros RENEWAL64Bernardo Dominic
1009Octavia Y MaletSpain2026-09-09Chapman, Ross E Esq UNQUALIFIED12Stephen Shaw
1010Arvin L GillianRussia2026-09-16Rousseaux, Michael Esq QUALIFIED21Amy Elsner
1011Arvin Z RulapaughRussia2026-09-23Truhlar And Truhlar Attys RENEWAL64Stephen Shaw
1012Adams Z VenereBrazil2026-10-02Buckley Miller Wright RENEWAL48Amy Elsner
1013Jones V MacleadSpain2026-09-22Rangoni Of Florence UNQUALIFIED53Ivan Magalhaes
1014Misaki V VenereSpain2026-10-02Chemel, James L Cpa QUALIFIED19Onyama Limba
1015Ivar L AmigonFrance2026-09-08Rangoni Of Florence QUALIFIED89Asiya Javayant
1016Deepesh G OldroydGermany2026-09-09Rousseaux, Michael Esq NEGOTIATION63Bernardo Dominic
1017James B CaldareraUnited Kingdom2026-09-11Chapman, Ross E Esq RENEWAL73Onyama Limba
1018Leja P PoquetteUnited Kingdom2026-09-07Buckley Miller Wright UNQUALIFIED18Anna Fali
1019Clifford M DoeUnited Kingdom2026-09-14Chemel, James L Cpa UNQUALIFIED2Onyama Limba
1020Chavez S AmigonCanada2026-09-26Chanay, Jeffrey A Esq PROPOSAL53Xuxue Feng
1021Tony L DarakjyBrazil2026-09-26King, Christopher A Esq RENEWAL87Bernardo Dominic
1022Mujtaba F KolmetzAustralia2026-09-25Morlong Associates UNQUALIFIED19Onyama Limba
1023Deepesh V StockhamSpain2026-09-09Truhlar And Truhlar Attys QUALIFIED11Xuxue Feng
1024Maisha T PerinUnited Kingdom2026-09-14Truhlar And Truhlar Attys PROPOSAL85Amy Elsner
1025Kaitlin T GauchoSpain2026-09-15Truhlar And Truhlar Attys NEW7Bernardo Dominic
1026Chavez O MarrierUnited Kingdom2026-09-11Rangoni Of Florence QUALIFIED5Stephen Shaw
1027Maria G WaycottJapan2026-09-08Rangoni Of Florence PROPOSAL57Stephen Shaw
1028Aditya V BriddickUnited Kingdom2026-09-22Rousseaux, Michael Esq PROPOSAL4Ivan Magalhaes
1029Izzy V StensethBrazil2026-09-28Chapman, Ross E Esq UNQUALIFIED6Asiya Javayant
1030Juan F FigeroaArgentina2026-09-17Dorl, James J Esq NEGOTIATION25Stephen Shaw
1031Maria M CaldareraJapan2026-09-18Feiner Bros PROPOSAL85Onyama Limba
1032Misaki C FerenczSpain2026-09-10Rousseaux, Michael Esq RENEWAL2Ivan Magalhaes
1033David K MarrierIndia2026-09-20King, Christopher A Esq NEGOTIATION29Elwin Sharvill
1034Jones D KolmetzBrazil2026-09-21Feiner Bros QUALIFIED21Stephen Shaw
1035Deepesh E ShinkoGermany2026-10-02Truhlar And Truhlar Attys PROPOSAL71Bernardo Dominic
1036Mujtaba K GauchoRussia2026-09-14Dorl, James J Esq UNQUALIFIED75Ivan Magalhaes
1037Kadeem E ButtGermany2026-09-10Chanay, Jeffrey A Esq NEW97Anna Fali
1038Clifford I GillianCanada2026-09-16Morlong Associates PROPOSAL67Ivan Magalhaes
1039Emily M FigeroaBrazil2026-09-28Morlong Associates RENEWAL20Anna Fali
1040Octavia V TollnerSpain2026-09-28Chapman, Ross E Esq NEW85Ivan Magalhaes
1041Silvio I GlickItaly2026-09-27Truhlar And Truhlar Attys PROPOSAL58Bernardo Dominic
1042Johnson F ShinkoItaly2026-09-28Feltz Printing Service RENEWAL84Stephen Shaw
1043David X DoeBrazil2026-09-13Dorl, James J Esq PROPOSAL97Anna Fali
1044Jones Q GarufiJapan2026-09-27Chapman, Ross E Esq PROPOSAL32Ivan Magalhaes
1045Leon G FlosiFrance2026-09-19Rousseaux, Michael Esq UNQUALIFIED10Elwin Sharvill
1046Mayumi V RutaBrazil2026-09-24Benton, John B Jr UNQUALIFIED10Ivan Magalhaes
1047Isabel B FollerIndia2026-09-23Rousseaux, Michael Esq RENEWAL84Bernardo Dominic
1048Stacey Q MaletJapan2026-09-27Dorl, James J Esq NEGOTIATION2Xuxue Feng
1049Greenwood L IturbideItaly2026-09-20Feiner Bros NEW30Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Juan W VocelkaArgentinaXuxue Feng UNQUALIFIED
Sinclair L TollnerItalyElwin Sharvill RENEWAL
Johnson A StockhamBrazilIvan Magalhaes QUALIFIED
Juan P NickaArgentinaIoni Bowcher RENEWAL
Maria B KuskoGermanyXuxue Feng RENEWAL
Francesco C InouyeGermanyStephen Shaw RENEWAL
Nicolas R OstroskyArgentinaBernardo Dominic PROPOSAL
Greenwood Y DoeItalyElwin Sharvill QUALIFIED
Greenwood G FigeroaBrazilIoni Bowcher NEGOTIATION
Adams H SergiJapanIvan Magalhaes PROPOSAL
Claire O CaldareraAustraliaAmy Elsner QUALIFIED
Munro N SaylorsSpainAmy Elsner PROPOSAL
Jeanfrancois V OstroskyIndiaElwin Sharvill PROPOSAL
Ivar U WhobreyFranceStephen Shaw QUALIFIED
Maisha B BriddickIndiaAsiya Javayant NEW
Francesco T GillianItalyBernardo Dominic NEGOTIATION
Costa V OldroydBrazilBernardo Dominic NEGOTIATION
Emily N OldroydBrazilIvan Magalhaes QUALIFIED
Misaki G DarakjyCanadaElwin Sharvill QUALIFIED
Aruna L InouyeRussiaXuxue Feng NEW
Aruna V ButtSpainAsiya Javayant NEGOTIATION
Jones A WhobreyUnited KingdomElwin Sharvill PROPOSAL
Leon R CaudyIndiaElwin Sharvill QUALIFIED
Jones H DilliardIndiaOnyama Limba PROPOSAL
Maisha O StensethFranceAmy Elsner RENEWAL
Emily K NickaBrazilStephen Shaw NEW
Emily N PoquetteUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues A OstroskyCanadaXuxue Feng PROPOSAL
Deepesh V SaylorsSpainOnyama Limba NEW
Claire Y NestleArgentinaXuxue Feng NEGOTIATION
Clifford D GarufiCanadaStephen Shaw PROPOSAL
Costa W KuskoItalyXuxue Feng NEW
Wickens A MaletItalyIvan Magalhaes NEW
David X DoeArgentinaElwin Sharvill RENEWAL
Smith E DoeUnited KingdomStephen Shaw UNQUALIFIED
Aika G MorascaItalyAsiya Javayant NEW
Mujtaba F MaletJapanBernardo Dominic PROPOSAL
Francesco B SchemmerIndiaOnyama Limba UNQUALIFIED
Nicolas Q MaletArgentinaBernardo Dominic UNQUALIFIED
Leon Y SchemmerItalyIoni Bowcher NEGOTIATION
Isabel G ChuiIndiaAmy Elsner QUALIFIED
Darci S MacleadGermanyStephen Shaw PROPOSAL
Claire K OstroskyBrazilElwin Sharvill NEGOTIATION
Salvatore Z MaletUnited KingdomOnyama Limba NEW
James M ButtBrazilAmy Elsner PROPOSAL
Arvin S GarufiSpainStephen Shaw PROPOSAL
Kadeem N DilliardIndiaAnna Fali PROPOSAL
Ricardo Z RulapaughAustraliaStephen Shaw NEGOTIATION
James S MacleadRussiaXuxue Feng QUALIFIED
Aruna D RutaItalyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Johnson U Iturbide
Faith X Darakjy
Greenwood W Albares
Kaitlin N Darakjy
Adams P Poquette
Mayumi K Figeroa
Jeanfrancois V Slusarski
Johnson X Vocelka
Darci J Garufi
Jeanfrancois Y Whobrey
Mujtaba L Waycott
Alejandro G Dilliard
Wickens T Tollner
Juan G Kusko
Jones Y Vocelka
David F Shinko
Greenwood C Ruta
Octavia X Darakjy
Adams R Stenseth
Francesco Q Royster
Mayumi G Morasca
Kaitlin V Flosi
Adams F Malet
Maria V Caudy
Julie F Vocelka
Salvatore M Ostrosky
Claire A Glick
Greenwood S Foller
Leon S Darakjy
Smith V Kolmetz
Greenwood P Garufi
Aditya J Ostrosky
Stacey I Stockham
Aditya D Doe
Munro C Campain
Rodrigues H Waycott
Misaki O Foller
Stacey Y Oldroyd
Stacey Q Chui
Juan F Venere
Deepesh T Nicka
Silvio Y Doe
Aditya K Kusko
Julie Q Marrier
Morrow M Vocelka
Stacey W Stenseth
Tony Q Gaucho
Kadeem Z Caldarera
Clifford C Marrier
Aditya L Garufi
IdCountryDate
1000Argentina2026-09-16
1001Canada2026-09-23
1002Japan2026-09-13
1003France2026-10-01
1004France2026-10-01
1005Germany2026-09-06
1006Canada2026-09-14
1007Argentina2026-09-10
1008Argentina2026-09-04
1009France2026-09-26
1010Spain2026-10-03
1011Canada2026-09-06
1012Germany2026-09-13
1013Canada2026-09-14
1014Italy2026-09-22
1015France2026-09-17
1016Germany2026-09-21
1017Italy2026-09-18
1018Germany2026-10-03
1019Spain2026-09-11
1020Argentina2026-09-12
1021United Kingdom2026-09-20
1022Australia2026-09-07
1023Italy2026-10-01
1024Germany2026-09-14
1025Japan2026-10-02
1026Japan2026-09-05
1027Australia2026-09-27
1028Russia2026-09-17
1029Brazil2026-09-07
1030Japan2026-09-04
1031Australia2026-09-16
1032Australia2026-09-28
1033Australia2026-09-28
1034Italy2026-09-09
1035France2026-09-23
1036Japan2026-10-03
1037India2026-09-27
1038India2026-09-18
1039France2026-09-08
1040Canada2026-09-27
1041Canada2026-09-16
1042Brazil2026-09-15
1043Australia2026-09-15
1044Italy2026-10-02
1045Japan2026-09-23
1046Australia2026-09-21
1047Argentina2026-09-30
1048Canada2026-09-22
1049Argentina2026-09-23

On-Demand Data

NameIdCountryDate
Misaki G Paprocki1000India2026-09-30
Mujtaba E Nestle1001Spain2026-09-18
Chavez S Marrier1002Canada2026-09-15
Emily I Amigon1003United Kingdom2026-10-03
Faith E Paprocki1004Italy2026-09-20
Clifford G Iturbide1005United Kingdom2026-09-17
Mayumi O Slusarski1006Brazil2026-09-28
Ricardo N Butt1007Brazil2026-09-23
Kadeem M Bowley1008Spain2026-09-30
James M Oldroyd1009Australia2026-09-14
Faith K Whobrey1010Brazil2026-09-08
Wickens X Malet1011United Kingdom2026-09-23
Greenwood A Darakjy1012Germany2026-09-05
Leon U Campain1013Argentina2026-09-27
Octavia A Maclead1014Russia2026-09-27
Jones V Figeroa1015Germany2026-09-07
Emily W Gaucho1016Spain2026-09-08
Nicolas M Paprocki1017Japan2026-09-09
Ashley O Garufi1018France2026-09-26
Morrow U Garufi1019Australia2026-09-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia V TollnerArgentinaOnyama Limba PROPOSAL
Adams D DarakjyJapanElwin Sharvill UNQUALIFIED
Maisha I RutaGermanyXuxue Feng NEW
Maisha I RulapaughCanadaAmy Elsner NEW
Morrow O SchemmerJapanIvan Magalhaes UNQUALIFIED
Isabel F NestleItalyStephen Shaw NEGOTIATION
Antonio H IturbideCanadaOnyama Limba UNQUALIFIED
Smith Z ButtSpainAsiya Javayant NEW
Maisha V RutaGermanyAsiya Javayant QUALIFIED
Jones B GlickJapanBernardo Dominic NEGOTIATION
Aruna B DilliardUnited KingdomXuxue Feng RENEWAL
Maisha A NestleIndiaAmy Elsner UNQUALIFIED
Adams D GauchoFranceAmy Elsner PROPOSAL
Kadeem Q BologniaRussiaOnyama Limba PROPOSAL
Darci G KuskoCanadaIvan Magalhaes QUALIFIED
Misaki C KolmetzSpainAnna Fali UNQUALIFIED
Mayumi X SlusarskiAustraliaBernardo Dominic NEGOTIATION
Antonio X GarufiCanadaBernardo Dominic RENEWAL
Leon W SchemmerBrazilBernardo Dominic NEW
Deepesh B InouyeJapanStephen Shaw NEW
Maisha E MorascaGermanyIoni Bowcher QUALIFIED
Izzy M BriddickIndiaXuxue Feng QUALIFIED
Munro P DarakjyFranceIoni Bowcher RENEWAL
Ivar Y DarakjyItalyAmy Elsner NEW
Misaki Y PoquetteIndiaElwin Sharvill QUALIFIED
Munro N PoquetteBrazilAmy Elsner UNQUALIFIED
Emily L AmigonIndiaAmy Elsner UNQUALIFIED
Julie E AmigonSpainAnna Fali QUALIFIED
Ricardo W ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Chavez Q PaprockiGermanyOnyama Limba PROPOSAL
Claire W BologniaBrazilStephen Shaw RENEWAL
Claire P CaudyIndiaXuxue Feng UNQUALIFIED
Kaitlin D OstroskyGermanyBernardo Dominic QUALIFIED
Octavia L BologniaCanadaBernardo Dominic QUALIFIED
Darci O RimFranceOnyama Limba PROPOSAL
Kaitlin Z RulapaughGermanyAmy Elsner PROPOSAL
Isabel X BowleyItalyIvan Magalhaes QUALIFIED
Johnson W GlickSpainXuxue Feng RENEWAL
Emily I FlosiRussiaBernardo Dominic PROPOSAL
Murillo Y ChuiBrazilStephen Shaw RENEWAL

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