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
Misaki B FollerUnited KingdomIvan Magalhaes NEGOTIATION
Adams G PerinArgentinaIvan Magalhaes PROPOSAL
Munro O RulapaughUnited KingdomElwin Sharvill QUALIFIED
Murillo X CampainJapanBernardo Dominic PROPOSAL
Costa W SaylorsJapanStephen Shaw UNQUALIFIED
Rodrigues N RoysterIndiaOnyama Limba QUALIFIED
Octavia S ButtArgentinaElwin Sharvill NEGOTIATION
Isabel W SlusarskiSpainIoni Bowcher PROPOSAL
Claire I PoquetteIndiaIoni Bowcher NEW
David U NestleJapanAmy Elsner QUALIFIED
Julie N SchemmerGermanyStephen Shaw QUALIFIED
Ivar R RulapaughItalyIvan Magalhaes RENEWAL
Aditya C WaycottCanadaElwin Sharvill NEW
Emily A PoquetteUnited KingdomAmy Elsner QUALIFIED
Cody Z ButtAustraliaAmy Elsner UNQUALIFIED
Aruna H GlickItalyOnyama Limba PROPOSAL
Aditya T MorascaGermanyAsiya Javayant PROPOSAL
Greenwood C MarrierJapanIvan Magalhaes QUALIFIED
Costa A RoysterFranceAsiya Javayant QUALIFIED
Sinclair I MaletSpainXuxue Feng NEW
Ricardo W InouyeSpainElwin Sharvill PROPOSAL
Chavez H MaletAustraliaIoni Bowcher PROPOSAL
Antonio S DoeRussiaAnna Fali UNQUALIFIED
Smith E FollerUnited KingdomIoni Bowcher UNQUALIFIED
Wickens W MaletRussiaStephen Shaw UNQUALIFIED
Maria Y ShinkoRussiaAsiya Javayant UNQUALIFIED
Antonio L CaldareraGermanyIoni Bowcher QUALIFIED
Alejandro C FigeroaItalyAmy Elsner NEW
Mayumi M BriddickArgentinaIvan Magalhaes NEW
Kadeem F CaldareraItalyXuxue Feng NEGOTIATION
Claire R RimJapanIoni Bowcher NEW
Leon K DoeRussiaBernardo Dominic QUALIFIED
Costa C SaylorsArgentinaXuxue Feng PROPOSAL
Aditya G RimRussiaXuxue Feng NEGOTIATION
Mayumi J PaprockiJapanIvan Magalhaes NEGOTIATION
Jones K OstroskyUnited KingdomStephen Shaw NEW
Jones D ChuiBrazilBernardo Dominic RENEWAL
Chavez H OstroskyJapanElwin Sharvill RENEWAL
Maisha E WieserItalyStephen Shaw RENEWAL
Claire I FollerFranceXuxue Feng RENEWAL
Claire D FlosiUnited KingdomIvan Magalhaes QUALIFIED
Silvio M WhobreyBrazilOnyama Limba PROPOSAL
Ashley F MaletGermanyBernardo Dominic NEW
Deepesh C PaprockiBrazilAnna Fali NEW
Ivar S SergiItalyIvan Magalhaes PROPOSAL
Emily B FollerCanadaXuxue Feng NEGOTIATION
Mujtaba F TollnerSpainAsiya Javayant RENEWAL
Adams M DilliardIndiaOnyama Limba PROPOSAL
Leon C IturbideFranceIvan Magalhaes NEGOTIATION
Kaitlin U MarrierItalyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Munro T MaletJapanAmy Elsner RENEWAL
Tony Z DilliardCanadaAmy Elsner NEW
Claire N DoeJapanAsiya Javayant QUALIFIED
Kaitlin K MaletArgentinaAmy Elsner QUALIFIED
Munro E OldroydGermanyStephen Shaw UNQUALIFIED
Maria I MaletUnited KingdomAsiya Javayant NEW
Aika R FlosiBrazilStephen Shaw UNQUALIFIED
Faith K TollnerUnited KingdomElwin Sharvill NEW
Tony T NestleArgentinaElwin Sharvill NEGOTIATION
Emily S DarakjyItalyStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David O DilliardRussia2026-10-31Feiner Bros PROPOSAL16Elwin Sharvill
1001Maisha X MaletArgentina2026-10-19Feiner Bros NEW6Amy Elsner
1002Leja K WhobreyRussia2026-10-10Chemel, James L Cpa PROPOSAL61Asiya Javayant
1003David Y BowleyRussia2026-10-08Rangoni Of Florence UNQUALIFIED53Asiya Javayant
1004Adams Q SergiJapan2026-10-26Morlong Associates NEW59Anna Fali
1005Juan K StensethArgentina2026-10-11Feiner Bros UNQUALIFIED41Bernardo Dominic
1006Morrow A SergiUnited Kingdom2026-10-20Truhlar And Truhlar Attys UNQUALIFIED1Ivan Magalhaes
1007Ricardo H RulapaughJapan2026-10-14Rousseaux, Michael Esq QUALIFIED29Ioni Bowcher
1008David Y NickaCanada2026-10-06Rousseaux, Michael Esq UNQUALIFIED74Stephen Shaw
1009Julie L DoeSpain2026-10-22Chemel, James L Cpa QUALIFIED84Stephen Shaw
1010Johnson G IturbideSpain2026-10-26Truhlar And Truhlar Attys RENEWAL47Onyama Limba
1011Juan V OldroydIndia2026-10-26Morlong Associates UNQUALIFIED36Onyama Limba
1012Jefferson G FlosiArgentina2026-10-10Morlong Associates PROPOSAL7Ivan Magalhaes
1013Adams T StockhamIndia2026-10-31Rousseaux, Michael Esq QUALIFIED69Amy Elsner
1014Arvin Z GillianIndia2026-11-03Truhlar And Truhlar Attys RENEWAL32Onyama Limba
1015Jefferson O ChuiFrance2026-10-10King, Christopher A Esq NEGOTIATION18Anna Fali
1016Julie X MaletArgentina2026-10-13Chanay, Jeffrey A Esq QUALIFIED2Stephen Shaw
1017Izzy P FlosiAustralia2026-11-02King, Christopher A Esq QUALIFIED94Xuxue Feng
1018Munro I GillianJapan2026-11-02Morlong Associates NEW50Elwin Sharvill
1019Munro V RimCanada2026-10-24Feiner Bros QUALIFIED56Onyama Limba
1020Antonio Y ShinkoItaly2026-10-29Chemel, James L Cpa RENEWAL59Ioni Bowcher
1021Maria T FlosiCanada2026-10-13Commercial Press PROPOSAL52Xuxue Feng
1022Isabel W InouyeSpain2026-10-13Morlong Associates RENEWAL40Amy Elsner
1023Costa O BowleyUnited Kingdom2026-11-03Commercial Press RENEWAL17Amy Elsner
1024Faith G GlickRussia2026-10-23Benton, John B Jr NEGOTIATION32Anna Fali
1025Francesco G DilliardBrazil2026-10-29Chapman, Ross E Esq PROPOSAL41Stephen Shaw
1026Leja V ChuiSpain2026-11-03Morlong Associates NEGOTIATION22Ioni Bowcher
1027Arvin D SchemmerCanada2026-10-07Commercial Press NEGOTIATION96Ivan Magalhaes
1028Faith O VenereArgentina2026-10-24Rangoni Of Florence RENEWAL59Stephen Shaw
1029Francesco N NickaRussia2026-10-20Rousseaux, Michael Esq NEGOTIATION28Onyama Limba
1030Stacey L FollerCanada2026-10-13Chemel, James L Cpa NEGOTIATION15Ivan Magalhaes
1031Ashley L BriddickRussia2026-10-19Chemel, James L Cpa NEGOTIATION39Stephen Shaw
1032Cody P NickaJapan2026-10-13Commercial Press RENEWAL94Anna Fali
1033Izzy E DilliardFrance2026-10-06Chemel, James L Cpa QUALIFIED44Bernardo Dominic
1034Stacey M RutaRussia2026-10-14Buckley Miller Wright PROPOSAL85Elwin Sharvill
1035Mayumi S SaylorsArgentina2026-10-12Truhlar And Truhlar Attys RENEWAL56Anna Fali
1036Darci M InouyeBrazil2026-10-19Chanay, Jeffrey A Esq NEGOTIATION45Ioni Bowcher
1037Octavia D ShinkoItaly2026-10-08Chapman, Ross E Esq NEW49Xuxue Feng
1038Jefferson J CaldareraArgentina2026-10-11Rousseaux, Michael Esq UNQUALIFIED5Xuxue Feng
1039Arvin G GarufiSpain2026-10-20Commercial Press QUALIFIED15Xuxue Feng
1040Stacey E MaletAustralia2026-10-21Printing Dimensions RENEWAL61Ivan Magalhaes
1041Morrow I ShinkoIndia2026-10-09Chapman, Ross E Esq UNQUALIFIED78Ivan Magalhaes
1042Aditya L KuskoRussia2026-11-01Truhlar And Truhlar Attys RENEWAL39Amy Elsner
1043Murillo V RimArgentina2026-10-15Truhlar And Truhlar Attys NEGOTIATION45Stephen Shaw
1044Jefferson I FigeroaBrazil2026-10-23Chemel, James L Cpa RENEWAL18Ivan Magalhaes
1045Alejandro R BowleyGermany2026-11-02Rousseaux, Michael Esq NEW62Ivan Magalhaes
1046Morrow I StockhamFrance2026-11-01Printing Dimensions PROPOSAL1Stephen Shaw
1047Isabel R FlosiIndia2026-10-23Truhlar And Truhlar Attys NEGOTIATION15Stephen Shaw
1048Octavia H SlusarskiBrazil2026-11-01King, Christopher A Esq PROPOSAL89Anna Fali
1049Ashley X StockhamRussia2026-10-13Rousseaux, Michael Esq RENEWAL78Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jones V BriddickGermanyAnna Fali NEGOTIATION
Francesco W CaudyRussiaIoni Bowcher PROPOSAL
Octavia M VocelkaBrazilBernardo Dominic RENEWAL
Alejandro O VocelkaJapanAnna Fali NEGOTIATION
Alejandro A MacleadIndiaAsiya Javayant NEGOTIATION
Leja C OstroskyUnited KingdomXuxue Feng QUALIFIED
Arvin F TollnerItalyXuxue Feng RENEWAL
Johnson G CaudyCanadaAsiya Javayant UNQUALIFIED
Aditya D MorascaRussiaIvan Magalhaes PROPOSAL
Murillo M MaletSpainAnna Fali UNQUALIFIED
Aditya P DilliardArgentinaOnyama Limba QUALIFIED
Deepesh W GlickUnited KingdomAsiya Javayant UNQUALIFIED
Claire U NestleGermanyIoni Bowcher PROPOSAL
Kaitlin A StockhamIndiaAnna Fali NEW
Sinclair Z RulapaughIndiaAmy Elsner RENEWAL
Kaitlin O MorascaSpainIoni Bowcher NEGOTIATION
Chavez J TollnerCanadaBernardo Dominic QUALIFIED
Aika S ChuiSpainOnyama Limba NEW
Nicolas E RulapaughItalyIvan Magalhaes QUALIFIED
Sinclair O MaletAustraliaElwin Sharvill QUALIFIED
Clifford Q ButtFranceXuxue Feng NEW
Darci Z DilliardItalyIvan Magalhaes UNQUALIFIED
Juan A MarrierFranceAmy Elsner NEW
Tony W VocelkaFranceXuxue Feng NEW
Mayumi D PoquetteUnited KingdomIoni Bowcher UNQUALIFIED
Mayumi Y WieserSpainXuxue Feng RENEWAL
Adams N VenereFranceXuxue Feng NEW
Leja X GlickRussiaAmy Elsner NEGOTIATION
Aruna M StockhamItalyAnna Fali NEGOTIATION
Alejandro B StensethGermanyIvan Magalhaes NEGOTIATION
Chavez O ButtBrazilElwin Sharvill QUALIFIED
Mujtaba E AmigonGermanyIvan Magalhaes UNQUALIFIED
Greenwood R BologniaBrazilElwin Sharvill NEW
Munro D WieserArgentinaElwin Sharvill NEGOTIATION
Maisha H BologniaArgentinaBernardo Dominic NEGOTIATION
Adams T GarufiUnited KingdomStephen Shaw NEW
Leon H MaletRussiaIvan Magalhaes RENEWAL
Morrow C SergiAustraliaBernardo Dominic RENEWAL
Francesco Q OstroskyFranceAmy Elsner PROPOSAL
Johnson T DoeRussiaOnyama Limba UNQUALIFIED
Rodrigues Y BologniaBrazilAsiya Javayant NEGOTIATION
Smith D AlbaresCanadaIvan Magalhaes NEW
Munro D AlbaresJapanIvan Magalhaes RENEWAL
Arvin W PaprockiJapanOnyama Limba UNQUALIFIED
Cody G WieserCanadaStephen Shaw QUALIFIED
Tony H OldroydSpainAnna Fali QUALIFIED
Ivar O MaletArgentinaXuxue Feng RENEWAL
Costa N MarrierItalyElwin Sharvill QUALIFIED
Salvatore J AlbaresRussiaOnyama Limba QUALIFIED
Kadeem L OstroskyUnited KingdomXuxue Feng QUALIFIED
Frozen Columns
Name
Silvio T Flosi
Jefferson Q Malet
Clifford J Kolmetz
Jeanfrancois P Waycott
Izzy P Vocelka
Mujtaba B Vocelka
Jennifer D Stockham
Misaki I Ruta
Sinclair B Chui
Ricardo L Flosi
Salvatore K Venere
Munro S Poquette
Emily M Foller
Francesco Q Amigon
Izzy X Ferencz
Morrow D Gillian
Chavez B Bowley
Ashley Z Iturbide
Smith L Bolognia
Clifford B Maclead
Costa S Vocelka
Wickens T Garufi
Rodrigues A Ferencz
Munro W Schemmer
Kadeem B Royster
Aruna N Tollner
Jones R Poquette
Jefferson H Paprocki
David F Inouye
Ivar F Kusko
Salvatore L Chui
Leja I Nestle
Faith T Royster
Clifford T Stockham
David N Garufi
Mujtaba O Malet
Maisha Q Rim
Silvio T Briddick
Rodrigues W Kolmetz
Mayumi V Figeroa
Misaki G Tollner
Claire U Briddick
Chavez R Nicka
Jones D Amigon
Chavez J Doe
Rodrigues O Butt
Costa T Royster
Maisha Z Caudy
Julie T Tollner
Francesco X Amigon
IdCountryDate
1000Australia2026-10-17
1001Italy2026-10-29
1002Germany2026-10-17
1003Brazil2026-10-14
1004Spain2026-10-21
1005United Kingdom2026-10-23
1006Spain2026-10-20
1007India2026-11-03
1008Japan2026-10-22
1009Argentina2026-10-08
1010France2026-10-24
1011Canada2026-10-28
1012Germany2026-11-02
1013India2026-10-12
1014Russia2026-10-12
1015India2026-10-16
1016India2026-10-09
1017Australia2026-10-24
1018Spain2026-10-06
1019Argentina2026-10-05
1020Japan2026-10-05
1021United Kingdom2026-10-25
1022Brazil2026-10-11
1023Italy2026-11-01
1024Germany2026-10-26
1025Argentina2026-10-13
1026Spain2026-10-23
1027France2026-10-06
1028Spain2026-10-28
1029Italy2026-10-24
1030France2026-10-29
1031Brazil2026-10-18
1032India2026-10-09
1033Italy2026-10-30
1034Italy2026-10-06
1035Italy2026-10-17
1036Japan2026-10-12
1037Germany2026-10-17
1038Argentina2026-11-02
1039Japan2026-10-31
1040Italy2026-11-02
1041Spain2026-10-18
1042Japan2026-10-12
1043Russia2026-11-02
1044Canada2026-11-02
1045India2026-10-25
1046Russia2026-10-23
1047France2026-11-03
1048Canada2026-10-25
1049Japan2026-10-27

On-Demand Data

NameIdCountryDate
Cody P Nicka1000United Kingdom2026-10-18
Aika W Doe1001Russia2026-11-03
Ashley X Inouye1002Italy2026-10-16
Silvio S Flosi1003United Kingdom2026-10-12
Nicolas M Bowley1004United Kingdom2026-11-01
Francesco F Figeroa1005United Kingdom2026-10-25
Silvio Q Flosi1006Australia2026-11-01
Stacey E Marrier1007Australia2026-10-26
Jones E Slusarski1008Russia2026-10-23
Darci C Royster1009Spain2026-10-06
Arvin R Rulapaugh1010Argentina2026-11-03
Salvatore A Poquette1011Brazil2026-11-02
Clifford H Royster1012Germany2026-10-17
Clifford J Kolmetz1013France2026-10-06
Deepesh H Ferencz1014Japan2026-10-23
David W Malet1015Argentina2026-10-10
Greenwood D Waycott1016Japan2026-10-06
Leja U Stenseth1017Germany2026-10-20
Wickens D Dilliard1018India2026-10-18
Leon U Kusko1019France2026-10-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez O ChuiRussiaOnyama Limba QUALIFIED
Kadeem X GauchoCanadaOnyama Limba UNQUALIFIED
Mayumi K FerenczJapanStephen Shaw NEW
Izzy U ChuiJapanBernardo Dominic NEW
Juan U GillianJapanStephen Shaw QUALIFIED
Stacey Y GlickJapanBernardo Dominic NEW
Ashley B SergiSpainAnna Fali PROPOSAL
Smith X GillianCanadaAsiya Javayant RENEWAL
Greenwood D KuskoGermanyOnyama Limba UNQUALIFIED
Salvatore M KolmetzGermanyIvan Magalhaes RENEWAL
Misaki B MaletArgentinaBernardo Dominic QUALIFIED
Smith Z MaletBrazilBernardo Dominic NEGOTIATION
Sinclair J CaudyIndiaAsiya Javayant NEGOTIATION
Munro C RoysterAustraliaElwin Sharvill RENEWAL
Darci W FigeroaIndiaOnyama Limba QUALIFIED
Ricardo X DoeItalyAsiya Javayant NEGOTIATION
Arvin X DarakjyFranceAmy Elsner PROPOSAL
Maria Z SergiAustraliaXuxue Feng RENEWAL
James B InouyeAustraliaIvan Magalhaes NEW
Maria R ShinkoAustraliaXuxue Feng QUALIFIED
Sinclair O MarrierGermanyBernardo Dominic QUALIFIED
Clifford Y AlbaresUnited KingdomAmy Elsner RENEWAL
Nicolas T MarrierIndiaElwin Sharvill QUALIFIED
Darci J MaletBrazilAnna Fali NEGOTIATION
Stacey T RutaIndiaAmy Elsner PROPOSAL
Cody E NickaGermanyAsiya Javayant PROPOSAL
Julie E RimItalyIoni Bowcher UNQUALIFIED
Aruna G DilliardGermanyAmy Elsner UNQUALIFIED
Leja R NickaItalyAmy Elsner NEW
Silvio Z CaudySpainElwin Sharvill QUALIFIED
Maria E FigeroaArgentinaElwin Sharvill UNQUALIFIED
Aika U BologniaSpainElwin Sharvill UNQUALIFIED
David V FigeroaBrazilAnna Fali UNQUALIFIED
Deepesh F GarufiItalyBernardo Dominic RENEWAL
Wickens S NestleFranceIvan Magalhaes NEGOTIATION
Kaitlin G NestleGermanyXuxue Feng UNQUALIFIED
Munro Y MacleadUnited KingdomAsiya Javayant NEGOTIATION
Arvin H CaldareraGermanyAsiya Javayant RENEWAL
David M SergiAustraliaIoni Bowcher NEGOTIATION
Ivar J TollnerRussiaXuxue Feng UNQUALIFIED

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