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
Claire S IturbideAustraliaAsiya Javayant UNQUALIFIED
Julie B SlusarskiGermanyOnyama Limba QUALIFIED
Silvio D TollnerBrazilBernardo Dominic QUALIFIED
Izzy C KolmetzAustraliaElwin Sharvill RENEWAL
Chavez A CaudyRussiaStephen Shaw RENEWAL
Mujtaba U FerenczRussiaAnna Fali PROPOSAL
Clifford U AlbaresItalyAmy Elsner PROPOSAL
Adams F StockhamArgentinaElwin Sharvill NEGOTIATION
Tony N NickaIndiaAsiya Javayant NEGOTIATION
Octavia K KolmetzBrazilAmy Elsner RENEWAL
Maisha V MarrierCanadaBernardo Dominic NEW
James H StockhamAustraliaAnna Fali NEGOTIATION
Clifford W CaldareraSpainAsiya Javayant QUALIFIED
Salvatore F GarufiGermanyXuxue Feng UNQUALIFIED
Chavez R MorascaIndiaOnyama Limba PROPOSAL
Ivar J DilliardFranceOnyama Limba NEW
Mayumi B FigeroaGermanyElwin Sharvill QUALIFIED
Jefferson K PerinJapanAsiya Javayant NEGOTIATION
James H MarrierItalyElwin Sharvill NEW
Costa R MarrierIndiaStephen Shaw NEGOTIATION
Adams N StensethUnited KingdomElwin Sharvill NEW
Darci V OldroydIndiaBernardo Dominic NEW
Sinclair B CaldareraArgentinaBernardo Dominic PROPOSAL
Alejandro C RoysterJapanAmy Elsner QUALIFIED
Clifford Q ShinkoAustraliaIoni Bowcher NEGOTIATION
Smith F BologniaAustraliaAnna Fali NEW
Kaitlin K ChuiGermanyIvan Magalhaes UNQUALIFIED
Ricardo J NickaRussiaXuxue Feng UNQUALIFIED
Mujtaba V MorascaAustraliaElwin Sharvill NEW
Tony V GauchoArgentinaBernardo Dominic QUALIFIED
Jefferson S PerinAustraliaElwin Sharvill NEW
Darci Q CaudyCanadaAnna Fali RENEWAL
Emily P SlusarskiGermanyStephen Shaw UNQUALIFIED
Adams I OstroskySpainIoni Bowcher PROPOSAL
Costa P SlusarskiGermanyAmy Elsner NEGOTIATION
Costa O BriddickJapanStephen Shaw RENEWAL
Darci Y BriddickJapanIvan Magalhaes PROPOSAL
Murillo G WhobreyItalyXuxue Feng PROPOSAL
Arvin D BriddickRussiaAmy Elsner NEW
Misaki K DilliardCanadaAmy Elsner NEW
Leja W DarakjyAustraliaElwin Sharvill NEGOTIATION
Misaki H GauchoItalyAmy Elsner NEW
Antonio U CaudyBrazilIoni Bowcher QUALIFIED
Jeanfrancois B ShinkoUnited KingdomAmy Elsner NEW
Kaitlin I KuskoJapanElwin Sharvill QUALIFIED
Misaki Q DilliardIndiaStephen Shaw RENEWAL
Jones I BologniaIndiaIoni Bowcher NEGOTIATION
Claire Z KuskoRussiaOnyama Limba PROPOSAL
Jeanfrancois S FerenczItalyIoni Bowcher QUALIFIED
Munro N SchemmerItalyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kadeem Z WieserBrazilOnyama Limba UNQUALIFIED
Isabel M GarufiArgentinaIvan Magalhaes NEGOTIATION
Silvio V MaletFranceAsiya Javayant RENEWAL
Alejandro J IturbideIndiaXuxue Feng NEGOTIATION
Jefferson Z DoeCanadaAsiya Javayant NEW
Rodrigues G CaudyGermanyIvan Magalhaes UNQUALIFIED
Munro W VenereRussiaIoni Bowcher QUALIFIED
Stacey Z WieserRussiaElwin Sharvill UNQUALIFIED
Francesco G MaletRussiaXuxue Feng QUALIFIED
Claire W BologniaCanadaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore E VenereItaly2026-10-20Rangoni Of Florence RENEWAL97Ioni Bowcher
1001Deepesh N VenereArgentina2026-11-09Rousseaux, Michael Esq QUALIFIED16Bernardo Dominic
1002Claire C SchemmerJapan2026-10-14Buckley Miller Wright NEW56Ioni Bowcher
1003Clifford S FollerCanada2026-10-18Chapman, Ross E Esq RENEWAL16Ivan Magalhaes
1004Cody A GlickUnited Kingdom2026-10-16Benton, John B Jr PROPOSAL71Amy Elsner
1005Ashley Q FollerGermany2026-11-01Dorl, James J Esq UNQUALIFIED77Ivan Magalhaes
1006Antonio S PoquetteFrance2026-11-05Benton, John B Jr PROPOSAL57Asiya Javayant
1007Claire Z MorascaGermany2026-11-03Morlong Associates PROPOSAL65Xuxue Feng
1008Chavez R ShinkoIndia2026-10-19Chemel, James L Cpa NEGOTIATION17Amy Elsner
1009Aruna N SergiItaly2026-10-18Rousseaux, Michael Esq NEW36Bernardo Dominic
1010Deepesh K OldroydRussia2026-11-06Rousseaux, Michael Esq PROPOSAL80Stephen Shaw
1011Stacey Y CaudyIndia2026-10-22Chemel, James L Cpa NEW86Anna Fali
1012Smith G WaycottIndia2026-10-30Rangoni Of Florence PROPOSAL7Asiya Javayant
1013David N DilliardItaly2026-11-01Benton, John B Jr RENEWAL23Amy Elsner
1014Adams L GauchoSpain2026-11-01Benton, John B Jr NEGOTIATION23Elwin Sharvill
1015Jennifer G WaycottAustralia2026-10-23Feiner Bros PROPOSAL61Onyama Limba
1016David B SaylorsBrazil2026-10-17Chemel, James L Cpa RENEWAL40Stephen Shaw
1017Johnson W MacleadRussia2026-10-19Dorl, James J Esq QUALIFIED4Elwin Sharvill
1018Rodrigues W SlusarskiFrance2026-10-18Dorl, James J Esq NEGOTIATION7Stephen Shaw
1019Julie H MorascaFrance2026-10-27Buckley Miller Wright NEGOTIATION20Stephen Shaw
1020Munro Q CaldareraCanada2026-10-17Printing Dimensions NEGOTIATION71Ivan Magalhaes
1021Faith H BologniaArgentina2026-10-12Feltz Printing Service PROPOSAL15Asiya Javayant
1022Emily L MaletArgentina2026-10-17Rousseaux, Michael Esq RENEWAL35Ivan Magalhaes
1023Leja I GauchoSpain2026-10-31Printing Dimensions QUALIFIED90Asiya Javayant
1024Costa I RoysterRussia2026-10-27Printing Dimensions RENEWAL28Bernardo Dominic
1025Maria L CaldareraCanada2026-11-02Printing Dimensions PROPOSAL55Onyama Limba
1026Silvio Y MorascaUnited Kingdom2026-11-03Morlong Associates PROPOSAL99Elwin Sharvill
1027Izzy K MorascaBrazil2026-10-13Commercial Press NEW77Anna Fali
1028Ashley O SchemmerItaly2026-10-24Chemel, James L Cpa QUALIFIED79Anna Fali
1029Jeanfrancois V SchemmerRussia2026-11-10Rangoni Of Florence RENEWAL63Anna Fali
1030Cody X BologniaBrazil2026-11-07Chemel, James L Cpa UNQUALIFIED62Stephen Shaw
1031Mayumi Y DoeIndia2026-10-22Feiner Bros RENEWAL95Amy Elsner
1032James Y ShinkoGermany2026-10-16Rousseaux, Michael Esq NEGOTIATION11Asiya Javayant
1033Mayumi W CaudyItaly2026-11-08Benton, John B Jr QUALIFIED75Asiya Javayant
1034Kadeem M KolmetzSpain2026-10-25Morlong Associates UNQUALIFIED58Xuxue Feng
1035Izzy W StensethItaly2026-11-01Chanay, Jeffrey A Esq NEGOTIATION25Amy Elsner
1036James Z VenereBrazil2026-11-09King, Christopher A Esq QUALIFIED35Bernardo Dominic
1037Maria G StockhamUnited Kingdom2026-10-20Rousseaux, Michael Esq RENEWAL41Onyama Limba
1038Mayumi L SlusarskiArgentina2026-11-10Commercial Press NEW63Anna Fali
1039Costa R BowleyGermany2026-10-23Chapman, Ross E Esq NEW1Amy Elsner
1040Costa H InouyeArgentina2026-10-12Commercial Press RENEWAL37Stephen Shaw
1041Silvio F OstroskyRussia2026-10-28Morlong Associates NEW73Xuxue Feng
1042Isabel W GarufiSpain2026-10-26King, Christopher A Esq RENEWAL94Asiya Javayant
1043Julie B KuskoGermany2026-10-30Commercial Press QUALIFIED23Onyama Limba
1044Aruna L PaprockiJapan2026-11-01Morlong Associates NEGOTIATION18Amy Elsner
1045Silvio T MaletIndia2026-11-03Dorl, James J Esq PROPOSAL51Stephen Shaw
1046Ivar R GillianRussia2026-11-05Feltz Printing Service UNQUALIFIED25Anna Fali
1047Maisha C CaudyItaly2026-10-15Rangoni Of Florence UNQUALIFIED55Ivan Magalhaes
1048Alejandro U RimUnited Kingdom2026-10-23Chemel, James L Cpa UNQUALIFIED14Ivan Magalhaes
1049Octavia Q RulapaughFrance2026-10-23Chapman, Ross E Esq QUALIFIED70Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh W ShinkoRussiaBernardo Dominic NEW
Mujtaba A TollnerArgentinaAsiya Javayant NEW
Ashley T FigeroaFranceXuxue Feng NEW
Leja K DoeFranceIvan Magalhaes NEGOTIATION
Cody T AmigonUnited KingdomAnna Fali PROPOSAL
David G WhobreyGermanyIoni Bowcher PROPOSAL
Mujtaba F OldroydIndiaIoni Bowcher NEW
Mayumi H IturbideGermanyElwin Sharvill UNQUALIFIED
Smith H PerinAustraliaStephen Shaw NEGOTIATION
Emily L CampainGermanyAsiya Javayant NEGOTIATION
Ricardo H GillianCanadaStephen Shaw PROPOSAL
Alejandro N CaudyGermanyElwin Sharvill NEW
Murillo Z GarufiIndiaIoni Bowcher NEGOTIATION
Jennifer T RutaCanadaXuxue Feng RENEWAL
Munro T KuskoBrazilStephen Shaw NEW
James I BologniaIndiaAmy Elsner NEGOTIATION
Deepesh K ButtJapanAsiya Javayant NEW
Aika K ChuiArgentinaOnyama Limba QUALIFIED
Wickens Q SlusarskiArgentinaOnyama Limba RENEWAL
Morrow N FigeroaBrazilIvan Magalhaes PROPOSAL
Maria C FigeroaSpainOnyama Limba PROPOSAL
Deepesh D MaletJapanIoni Bowcher NEGOTIATION
Murillo Z SaylorsCanadaAmy Elsner UNQUALIFIED
James D PaprockiUnited KingdomIoni Bowcher QUALIFIED
Isabel X PerinFranceAsiya Javayant RENEWAL
Francesco L WhobreyGermanyOnyama Limba RENEWAL
Rodrigues J MaletGermanyAmy Elsner NEGOTIATION
Antonio V PerinJapanAmy Elsner QUALIFIED
Antonio R RimCanadaOnyama Limba NEGOTIATION
Chavez H WaycottSpainAnna Fali QUALIFIED
Adams M KuskoRussiaXuxue Feng QUALIFIED
Kaitlin N GlickBrazilIoni Bowcher RENEWAL
Silvio Y SaylorsIndiaAnna Fali PROPOSAL
Jennifer C VenereBrazilStephen Shaw NEW
Isabel U OldroydFranceIvan Magalhaes UNQUALIFIED
Silvio J GarufiSpainElwin Sharvill QUALIFIED
Mayumi U StockhamRussiaIoni Bowcher NEW
Morrow I FerenczGermanyAmy Elsner QUALIFIED
Clifford W RoysterAustraliaOnyama Limba QUALIFIED
Nicolas Q SaylorsFranceAnna Fali QUALIFIED
Isabel H CampainJapanIvan Magalhaes QUALIFIED
Leon L MorascaItalyAnna Fali QUALIFIED
Tony T WieserGermanyElwin Sharvill NEGOTIATION
Ashley I VenereArgentinaAmy Elsner QUALIFIED
Rodrigues I RutaUnited KingdomAsiya Javayant NEW
Murillo G FigeroaIndiaXuxue Feng NEGOTIATION
Nicolas D WaycottAustraliaXuxue Feng UNQUALIFIED
Munro J SchemmerSpainBernardo Dominic RENEWAL
Claire Q GillianIndiaAmy Elsner PROPOSAL
Kaitlin F MaletJapanIoni Bowcher UNQUALIFIED
Frozen Columns
Name
David Y Glick
Arvin K Vocelka
Julie P Malet
Ashley N Butt
Jones F Malet
Ashley V Bowley
Johnson W Foller
Jones U Stenseth
Isabel U Garufi
Faith Y Wieser
Julie Q Kolmetz
Darci I Briddick
Silvio K Wieser
Mayumi M Slusarski
James H Morasca
Munro C Rim
Mayumi H Caudy
Francesco O Doe
Claire S Whobrey
Antonio S Shinko
Maisha J Butt
Emily Z Morasca
Adams L Venere
Rodrigues S Nicka
Jennifer E Amigon
Mayumi I Nestle
Arvin M Butt
Claire Q Ostrosky
Octavia O Maclead
Clifford O Rulapaugh
Wickens K Inouye
Rodrigues A Maclead
Alejandro U Caldarera
Ivar J Maclead
Adams J Bowley
Jeanfrancois Q Doe
Murillo J Ostrosky
Ricardo C Caldarera
Costa T Bowley
Johnson O Glick
Octavia H Darakjy
Aika M Saylors
Darci E Stockham
Misaki K Campain
David J Albares
Ashley V Kolmetz
Maria I Shinko
Faith D Nestle
Mujtaba C Whobrey
Ivar M Bolognia
IdCountryDate
1000France2026-11-08
1001Japan2026-10-30
1002Italy2026-10-24
1003Italy2026-10-28
1004Australia2026-11-04
1005Japan2026-11-01
1006Japan2026-10-31
1007Canada2026-11-02
1008France2026-11-09
1009France2026-10-24
1010Germany2026-11-08
1011Japan2026-11-08
1012United Kingdom2026-10-18
1013Argentina2026-11-02
1014Australia2026-10-15
1015Russia2026-10-17
1016Russia2026-10-21
1017Germany2026-10-30
1018Argentina2026-11-05
1019United Kingdom2026-10-22
1020Argentina2026-10-30
1021Argentina2026-11-10
1022India2026-10-16
1023Brazil2026-10-31
1024Australia2026-10-31
1025Spain2026-11-10
1026India2026-10-29
1027Japan2026-11-04
1028Russia2026-10-29
1029Germany2026-10-15
1030Germany2026-10-15
1031France2026-10-27
1032United Kingdom2026-10-27
1033Italy2026-10-27
1034Germany2026-10-22
1035Spain2026-10-19
1036Spain2026-11-02
1037Brazil2026-10-31
1038Brazil2026-10-28
1039Australia2026-11-02
1040Canada2026-10-27
1041Argentina2026-10-25
1042Brazil2026-10-23
1043United Kingdom2026-10-29
1044Japan2026-10-25
1045Argentina2026-10-31
1046Canada2026-10-21
1047India2026-10-16
1048Argentina2026-11-01
1049United Kingdom2026-10-17

On-Demand Data

NameIdCountryDate
Ashley W Whobrey1000Russia2026-11-09
David P Nestle1001Canada2026-10-13
Wickens Y Campain1002Japan2026-11-05
Juan J Oldroyd1003India2026-11-02
Munro S Royster1004Argentina2026-10-12
Leon G Waycott1005Germany2026-10-28
Deepesh B Butt1006Argentina2026-11-04
Jefferson U Paprocki1007Spain2026-10-31
Johnson I Poquette1008India2026-11-02
Murillo A Oldroyd1009India2026-10-21
Greenwood M Malet1010Argentina2026-10-22
Munro Q Perin1011Australia2026-10-26
Stacey S Sergi1012Japan2026-11-10
Kadeem G Nicka1013Canada2026-10-25
Jones F Vocelka1014Italy2026-10-14
Ricardo C Campain1015Argentina2026-10-29
Smith I Flosi1016India2026-11-03
Juan F Waycott1017Australia2026-10-25
Deepesh H Tollner1018Japan2026-10-29
Wickens T Maclead1019Germany2026-10-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha V BowleyArgentinaBernardo Dominic QUALIFIED
Morrow T TollnerSpainAnna Fali UNQUALIFIED
Jones N MarrierIndiaStephen Shaw UNQUALIFIED
Jones K SchemmerBrazilIoni Bowcher PROPOSAL
Julie H AmigonArgentinaIvan Magalhaes PROPOSAL
Morrow H WaycottAustraliaStephen Shaw NEW
Arvin G ButtCanadaIoni Bowcher UNQUALIFIED
Leon M InouyeIndiaAnna Fali RENEWAL
Chavez C BowleyCanadaAnna Fali NEGOTIATION
Clifford P RimGermanyIvan Magalhaes PROPOSAL
Jefferson P GauchoJapanAmy Elsner RENEWAL
Chavez Y PerinUnited KingdomIoni Bowcher QUALIFIED
Aruna G StensethJapanAmy Elsner NEW
Clifford Q SchemmerRussiaIoni Bowcher NEGOTIATION
Claire G OldroydItalyAnna Fali NEGOTIATION
Jennifer S OldroydItalyAnna Fali QUALIFIED
Rodrigues W BriddickFranceAsiya Javayant NEW
Kadeem L SlusarskiRussiaElwin Sharvill NEW
Emily G PoquetteGermanyIoni Bowcher PROPOSAL
Alejandro S MaletArgentinaStephen Shaw QUALIFIED
Johnson S NestleAustraliaBernardo Dominic PROPOSAL
Mayumi N ButtCanadaAnna Fali NEW
Mujtaba B PaprockiGermanyStephen Shaw UNQUALIFIED
Antonio R StensethArgentinaAmy Elsner NEW
Wickens D StockhamRussiaOnyama Limba NEW
Leon Z OstroskyArgentinaXuxue Feng UNQUALIFIED
Deepesh B MacleadUnited KingdomXuxue Feng PROPOSAL
Darci X KolmetzItalyAsiya Javayant UNQUALIFIED
Julie Z CaldareraGermanyAsiya Javayant RENEWAL
Morrow J MaletCanadaXuxue Feng PROPOSAL
Johnson C KuskoArgentinaIvan Magalhaes NEW
Mujtaba F VenereBrazilIoni Bowcher UNQUALIFIED
Stacey V PaprockiJapanAsiya Javayant PROPOSAL
Wickens K FlosiRussiaAmy Elsner RENEWAL
Aika G OstroskyItalyElwin Sharvill PROPOSAL
Ivar M DarakjyFranceElwin Sharvill UNQUALIFIED
Jennifer G WieserAustraliaXuxue Feng UNQUALIFIED
Ashley D CampainSpainStephen Shaw PROPOSAL
Darci T FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Cody M DilliardJapanIoni Bowcher 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>