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
Emily G MacleadArgentinaIvan Magalhaes UNQUALIFIED
Greenwood V RulapaughAustraliaXuxue Feng PROPOSAL
Deepesh P FigeroaAustraliaOnyama Limba RENEWAL
Sinclair H MacleadIndiaAsiya Javayant PROPOSAL
Claire N ShinkoCanadaBernardo Dominic PROPOSAL
Faith S WaycottIndiaBernardo Dominic NEGOTIATION
Tony X RimItalyOnyama Limba NEW
Octavia T DarakjyBrazilIoni Bowcher UNQUALIFIED
Rodrigues B PerinFranceElwin Sharvill PROPOSAL
Sinclair G OstroskyIndiaIoni Bowcher QUALIFIED
Faith O AlbaresJapanIvan Magalhaes PROPOSAL
Jeanfrancois W RoysterArgentinaIvan Magalhaes PROPOSAL
Jennifer J InouyeBrazilBernardo Dominic NEW
Greenwood G GlickJapanIoni Bowcher PROPOSAL
Nicolas V AmigonBrazilAsiya Javayant QUALIFIED
Nicolas L MaletIndiaAnna Fali PROPOSAL
Nicolas I NickaJapanAmy Elsner NEW
Leon G PaprockiRussiaIvan Magalhaes PROPOSAL
Salvatore Z DoeGermanyXuxue Feng QUALIFIED
Izzy L OldroydItalyAsiya Javayant QUALIFIED
Adams J ShinkoBrazilIvan Magalhaes QUALIFIED
Silvio N MacleadGermanyIvan Magalhaes RENEWAL
Sinclair A RoysterBrazilIvan Magalhaes UNQUALIFIED
Smith B SchemmerRussiaStephen Shaw RENEWAL
Adams B MacleadItalyOnyama Limba PROPOSAL
Greenwood M CaldareraFranceAmy Elsner NEGOTIATION
Morrow J DoeJapanOnyama Limba RENEWAL
Nicolas C KolmetzGermanyBernardo Dominic RENEWAL
Ricardo Z WieserRussiaXuxue Feng RENEWAL
Arvin X CampainJapanXuxue Feng RENEWAL
Kaitlin T MarrierSpainElwin Sharvill UNQUALIFIED
Wickens U BologniaCanadaStephen Shaw PROPOSAL
Stacey R KolmetzBrazilAnna Fali UNQUALIFIED
Aditya G MarrierJapanIoni Bowcher RENEWAL
Arvin S WaycottSpainIoni Bowcher NEW
Greenwood L RutaItalyXuxue Feng NEGOTIATION
Smith M MacleadGermanyAnna Fali PROPOSAL
Antonio I RoysterAustraliaAmy Elsner QUALIFIED
Alejandro O RulapaughGermanyIvan Magalhaes NEGOTIATION
Misaki K SchemmerArgentinaIoni Bowcher RENEWAL
Faith O MarrierFranceStephen Shaw PROPOSAL
Jones N StockhamIndiaBernardo Dominic NEW
Aika Y RoysterAustraliaIoni Bowcher QUALIFIED
Leja U CaudyGermanyElwin Sharvill NEW
Octavia S RoysterBrazilIoni Bowcher NEW
Rodrigues H FollerFranceAmy Elsner PROPOSAL
Smith D FlosiUnited KingdomStephen Shaw NEW
Kaitlin G SchemmerGermanyIvan Magalhaes RENEWAL
Leon I RimAustraliaAmy Elsner NEGOTIATION
Ricardo N CampainGermanyXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha G WhobreyItalyBernardo Dominic RENEWAL
Francesco D KolmetzArgentinaXuxue Feng UNQUALIFIED
Munro N AlbaresGermanyIoni Bowcher QUALIFIED
Stacey T TollnerJapanStephen Shaw NEGOTIATION
Misaki A ButtItalyBernardo Dominic PROPOSAL
Stacey T SchemmerSpainIvan Magalhaes RENEWAL
Greenwood J MaletUnited KingdomStephen Shaw RENEWAL
Wickens A ButtArgentinaAmy Elsner NEW
Deepesh O AlbaresRussiaAsiya Javayant NEW
James J NickaFranceXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams W RutaBrazil2026-09-20Printing Dimensions NEW40Onyama Limba
1001Cody G DilliardItaly2026-09-26Truhlar And Truhlar Attys UNQUALIFIED0Anna Fali
1002Kadeem C WieserBrazil2026-10-05Chapman, Ross E Esq PROPOSAL31Onyama Limba
1003Juan K AlbaresAustralia2026-09-23Benton, John B Jr QUALIFIED53Ivan Magalhaes
1004Kadeem M ShinkoBrazil2026-10-11Chanay, Jeffrey A Esq RENEWAL29Asiya Javayant
1005Julie V GillianBrazil2026-10-10Truhlar And Truhlar Attys RENEWAL10Stephen Shaw
1006Mayumi D StensethJapan2026-09-23Rousseaux, Michael Esq UNQUALIFIED98Ioni Bowcher
1007Ricardo U DilliardRussia2026-10-01Morlong Associates QUALIFIED77Stephen Shaw
1008Greenwood H GarufiCanada2026-10-13Dorl, James J Esq NEGOTIATION12Amy Elsner
1009Costa R ShinkoSpain2026-10-15Morlong Associates NEW78Xuxue Feng
1010Stacey P CaldareraJapan2026-10-14Dorl, James J Esq UNQUALIFIED58Stephen Shaw
1011Chavez O WaycottCanada2026-10-14Chapman, Ross E Esq QUALIFIED22Amy Elsner
1012Ricardo A MarrierItaly2026-10-11King, Christopher A Esq RENEWAL30Ivan Magalhaes
1013Misaki O AlbaresCanada2026-09-19Chapman, Ross E Esq NEW90Xuxue Feng
1014David N BologniaGermany2026-09-30Morlong Associates NEGOTIATION43Amy Elsner
1015Leja J WieserRussia2026-10-01Buckley Miller Wright NEW8Onyama Limba
1016Murillo R SaylorsItaly2026-10-01Truhlar And Truhlar Attys PROPOSAL26Amy Elsner
1017Chavez O StockhamArgentina2026-10-10Printing Dimensions NEGOTIATION91Bernardo Dominic
1018Jones K InouyeSpain2026-10-01Buckley Miller Wright NEGOTIATION86Ioni Bowcher
1019Alejandro W NestleJapan2026-09-22Rousseaux, Michael Esq UNQUALIFIED15Anna Fali
1020Costa X PaprockiRussia2026-09-21Buckley Miller Wright UNQUALIFIED22Elwin Sharvill
1021Johnson B BriddickBrazil2026-10-01Morlong Associates QUALIFIED92Bernardo Dominic
1022Maisha F KuskoRussia2026-10-02Feltz Printing Service NEGOTIATION7Asiya Javayant
1023Isabel L ButtUnited Kingdom2026-10-04Commercial Press NEW64Xuxue Feng
1024Morrow H FlosiJapan2026-10-06Morlong Associates PROPOSAL4Anna Fali
1025Darci C GauchoGermany2026-09-17Benton, John B Jr QUALIFIED16Bernardo Dominic
1026Faith L AlbaresRussia2026-09-29Morlong Associates UNQUALIFIED31Ioni Bowcher
1027Isabel I MacleadAustralia2026-10-12King, Christopher A Esq RENEWAL86Ioni Bowcher
1028Jeanfrancois E FerenczGermany2026-09-21Chanay, Jeffrey A Esq UNQUALIFIED92Xuxue Feng
1029Deepesh U StockhamJapan2026-10-09Morlong Associates UNQUALIFIED62Anna Fali
1030Salvatore C InouyeItaly2026-09-21Rangoni Of Florence RENEWAL4Ioni Bowcher
1031Costa E MaletJapan2026-10-03Chanay, Jeffrey A Esq QUALIFIED18Ioni Bowcher
1032Faith M WhobreyAustralia2026-09-30Feltz Printing Service UNQUALIFIED44Bernardo Dominic
1033Aditya S GlickFrance2026-09-29Feiner Bros NEW80Bernardo Dominic
1034Chavez C WieserCanada2026-09-29Printing Dimensions QUALIFIED39Ioni Bowcher
1035Izzy Y PoquetteRussia2026-10-10Benton, John B Jr QUALIFIED39Bernardo Dominic
1036Adams W GarufiJapan2026-10-10Buckley Miller Wright NEGOTIATION71Ioni Bowcher
1037Izzy Z PaprockiJapan2026-10-02Commercial Press UNQUALIFIED50Xuxue Feng
1038Ivar H KuskoBrazil2026-10-03Truhlar And Truhlar Attys UNQUALIFIED35Asiya Javayant
1039Johnson Q VenereIndia2026-09-17Feiner Bros NEW10Elwin Sharvill
1040Johnson F AmigonItaly2026-09-26Feltz Printing Service PROPOSAL10Elwin Sharvill
1041Francesco C VocelkaGermany2026-09-26Chapman, Ross E Esq NEW83Bernardo Dominic
1042Salvatore V FollerItaly2026-09-17Feiner Bros RENEWAL40Elwin Sharvill
1043Antonio Q GauchoJapan2026-09-27Dorl, James J Esq PROPOSAL65Stephen Shaw
1044James C AmigonCanada2026-09-20Dorl, James J Esq QUALIFIED94Amy Elsner
1045Misaki F RulapaughJapan2026-09-30Chapman, Ross E Esq QUALIFIED11Amy Elsner
1046Leja L FlosiJapan2026-10-09Chapman, Ross E Esq UNQUALIFIED71Onyama Limba
1047Antonio I StensethBrazil2026-09-20Rangoni Of Florence QUALIFIED40Onyama Limba
1048Arvin Z KuskoItaly2026-09-28Feiner Bros NEGOTIATION66Anna Fali
1049Costa W GauchoRussia2026-10-07King, Christopher A Esq NEGOTIATION92Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Faith I PoquetteItalyAnna Fali QUALIFIED
Maisha C CaudyBrazilStephen Shaw UNQUALIFIED
Silvio S FerenczCanadaOnyama Limba NEW
Kaitlin A NestleBrazilIvan Magalhaes UNQUALIFIED
Salvatore R KuskoCanadaElwin Sharvill UNQUALIFIED
Mayumi L ShinkoJapanIoni Bowcher NEGOTIATION
Deepesh Y SaylorsRussiaStephen Shaw RENEWAL
Antonio W SlusarskiJapanOnyama Limba RENEWAL
Munro M BowleyAustraliaAsiya Javayant RENEWAL
Alejandro V AmigonJapanIvan Magalhaes UNQUALIFIED
Silvio D KolmetzRussiaIoni Bowcher NEGOTIATION
Julie W BowleyAustraliaStephen Shaw UNQUALIFIED
Arvin M MaletItalyElwin Sharvill NEW
Nicolas C SaylorsSpainOnyama Limba UNQUALIFIED
Murillo R FerenczArgentinaXuxue Feng RENEWAL
Morrow T BowleySpainAmy Elsner RENEWAL
Ricardo Z IturbideRussiaStephen Shaw UNQUALIFIED
Mayumi I MarrierCanadaIvan Magalhaes UNQUALIFIED
Jennifer A VocelkaIndiaXuxue Feng QUALIFIED
Aika P MorascaArgentinaBernardo Dominic UNQUALIFIED
Darci T DilliardIndiaXuxue Feng PROPOSAL
Maria F FollerAustraliaBernardo Dominic RENEWAL
Misaki A OldroydGermanyAmy Elsner QUALIFIED
Munro H VenereBrazilAnna Fali NEGOTIATION
Cody X SchemmerItalyAmy Elsner PROPOSAL
Aruna Q PaprockiGermanyBernardo Dominic NEW
Aruna E StensethFranceIvan Magalhaes UNQUALIFIED
Misaki O WieserSpainAnna Fali NEW
Jeanfrancois T SaylorsCanadaAnna Fali PROPOSAL
Jefferson A SergiBrazilXuxue Feng UNQUALIFIED
Chavez Q ButtFranceOnyama Limba PROPOSAL
Arvin K MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
Claire M PerinBrazilElwin Sharvill NEGOTIATION
Clifford X OstroskyUnited KingdomAnna Fali UNQUALIFIED
Clifford G DoeCanadaAmy Elsner RENEWAL
Ricardo W NestleArgentinaAnna Fali NEGOTIATION
Sinclair G MorascaAustraliaOnyama Limba NEW
Leon I VenereRussiaAsiya Javayant NEGOTIATION
Maisha V WieserBrazilElwin Sharvill NEW
Nicolas M RoysterSpainIoni Bowcher PROPOSAL
Mayumi Z GillianRussiaStephen Shaw NEGOTIATION
Juan I BriddickIndiaIvan Magalhaes NEW
Smith P MarrierSpainAmy Elsner PROPOSAL
James H RulapaughFranceAsiya Javayant PROPOSAL
Deepesh P GauchoIndiaStephen Shaw RENEWAL
Jennifer Q FigeroaRussiaOnyama Limba NEW
Faith Q ChuiCanadaAsiya Javayant NEGOTIATION
Mujtaba E CaldareraBrazilOnyama Limba PROPOSAL
Ricardo C WieserItalyIoni Bowcher PROPOSAL
Antonio W WaycottCanadaIoni Bowcher NEW
Frozen Columns
Name
Arvin N Ostrosky
Tony V Waycott
Emily O Ruta
Darci V Paprocki
James G Bowley
Arvin X Campain
Juan V Foller
Aditya O Iturbide
Claire J Butt
Greenwood W Glick
Aditya S Slusarski
Leja M Inouye
Cody E Slusarski
Faith C Butt
Ricardo S Gaucho
Sinclair C Ostrosky
Aditya A Wieser
Juan N Perin
Aruna E Venere
Morrow S Malet
Munro U Tollner
Octavia V Caldarera
Jeanfrancois W Gillian
Darci A Tollner
Kadeem N Ruta
Izzy G Foller
Ricardo C Caudy
Jones T Royster
Salvatore N Waycott
Rodrigues K Doe
Murillo X Figeroa
Aika K Albares
Julie X Ferencz
Nicolas H Vocelka
James N Waycott
Johnson B Nicka
Izzy N Whobrey
Jeanfrancois O Amigon
Mayumi Y Malet
Morrow Z Malet
Nicolas G Ostrosky
Smith L Saylors
Leja W Saylors
Leja Q Doe
Smith W Slusarski
Alejandro S Chui
Costa W Malet
Francesco C Darakjy
Tony Q Oldroyd
Jeanfrancois X Waycott
IdCountryDate
1000Russia2026-09-24
1001Japan2026-09-19
1002Argentina2026-10-13
1003Japan2026-10-07
1004Germany2026-10-15
1005Japan2026-09-21
1006Argentina2026-09-24
1007India2026-10-05
1008United Kingdom2026-10-06
1009Australia2026-09-20
1010Russia2026-10-11
1011India2026-09-25
1012Japan2026-10-11
1013Australia2026-10-05
1014Canada2026-09-22
1015Germany2026-09-27
1016Japan2026-09-21
1017Canada2026-10-16
1018India2026-09-22
1019Japan2026-10-14
1020Spain2026-09-20
1021Germany2026-10-14
1022India2026-10-05
1023Spain2026-10-16
1024United Kingdom2026-10-15
1025Australia2026-10-03
1026Italy2026-09-26
1027India2026-09-23
1028Russia2026-10-07
1029Spain2026-10-01
1030Australia2026-10-16
1031Japan2026-10-06
1032Russia2026-10-05
1033Italy2026-09-24
1034United Kingdom2026-09-29
1035Russia2026-10-14
1036Canada2026-09-27
1037France2026-09-18
1038United Kingdom2026-09-18
1039Russia2026-10-01
1040Japan2026-10-16
1041Argentina2026-09-18
1042Spain2026-09-27
1043Germany2026-10-01
1044Australia2026-10-16
1045France2026-10-03
1046Canada2026-10-05
1047Russia2026-10-05
1048France2026-10-06
1049Canada2026-10-16

On-Demand Data

NameIdCountryDate
David Q Gillian1000Brazil2026-10-12
Ashley N Amigon1001France2026-09-22
Faith W Dilliard1002Canada2026-10-07
Ricardo F Iturbide1003United Kingdom2026-10-14
Rodrigues P Whobrey1004Germany2026-10-14
Jefferson U Rulapaugh1005Japan2026-10-14
Claire K Wieser1006Russia2026-10-06
Jones B Tollner1007Germany2026-09-25
Costa B Albares1008Japan2026-09-17
Kaitlin Y Malet1009United Kingdom2026-10-14
Julie E Foller1010Germany2026-10-03
Octavia F Bolognia1011Brazil2026-09-30
Jennifer O Caudy1012Russia2026-10-16
Leon U Butt1013Australia2026-10-06
Emily S Kolmetz1014Italy2026-10-10
Leon C Rim1015Germany2026-10-07
Izzy E Vocelka1016Australia2026-09-27
Salvatore F Bolognia1017India2026-10-12
Tony R Bolognia1018Spain2026-10-12
Murillo Q Ferencz1019Canada2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi E VocelkaUnited KingdomAmy Elsner NEW
Kadeem N MaletSpainStephen Shaw RENEWAL
Adams T MaletCanadaElwin Sharvill NEW
James R InouyeUnited KingdomAnna Fali NEGOTIATION
Isabel U InouyeAustraliaElwin Sharvill NEW
Kadeem F WieserArgentinaXuxue Feng QUALIFIED
Mayumi J TollnerSpainOnyama Limba QUALIFIED
Deepesh W MacleadItalyIoni Bowcher RENEWAL
Silvio I FollerRussiaXuxue Feng UNQUALIFIED
Mayumi P MaletAustraliaXuxue Feng QUALIFIED
Chavez N RulapaughGermanyAmy Elsner UNQUALIFIED
Maisha Z MorascaGermanyBernardo Dominic NEGOTIATION
Chavez K SchemmerSpainIvan Magalhaes PROPOSAL
Smith Q BowleySpainAnna Fali PROPOSAL
James Y StockhamUnited KingdomAnna Fali PROPOSAL
James S OldroydJapanOnyama Limba UNQUALIFIED
Leja F RutaAustraliaAnna Fali PROPOSAL
Nicolas P FlosiRussiaBernardo Dominic NEW
Jefferson C CampainBrazilAsiya Javayant NEW
Chavez V MarrierAustraliaOnyama Limba RENEWAL
Jones L TollnerIndiaIvan Magalhaes RENEWAL
Kaitlin R GauchoSpainOnyama Limba NEW
Salvatore W GarufiIndiaStephen Shaw QUALIFIED
Morrow I MorascaRussiaIvan Magalhaes NEGOTIATION
Julie S RoysterRussiaStephen Shaw QUALIFIED
Ashley I BowleyItalyAsiya Javayant RENEWAL
Mayumi K MaletFranceAnna Fali NEGOTIATION
Emily A SaylorsJapanBernardo Dominic PROPOSAL
Julie D PaprockiItalyAmy Elsner NEGOTIATION
Maisha H StockhamUnited KingdomStephen Shaw NEW
Deepesh D StockhamArgentinaElwin Sharvill RENEWAL
Julie X CaldareraBrazilAnna Fali RENEWAL
Maria G RulapaughFranceOnyama Limba QUALIFIED
Darci Q RimItalyStephen Shaw NEGOTIATION
Rodrigues I NickaSpainAnna Fali RENEWAL
Darci C RoysterRussiaStephen Shaw UNQUALIFIED
Faith V IturbideIndiaAnna Fali NEGOTIATION
Adams O CampainGermanyIvan Magalhaes NEW
Munro T PoquetteIndiaIoni Bowcher UNQUALIFIED
Jefferson S VenereBrazilStephen Shaw 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>