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
Faith R SergiFranceAnna Fali NEGOTIATION
Jennifer N MaletRussiaIoni Bowcher UNQUALIFIED
Deepesh Y CampainUnited KingdomAmy Elsner NEGOTIATION
Ashley D RoysterGermanyStephen Shaw QUALIFIED
Mujtaba G DilliardCanadaAmy Elsner UNQUALIFIED
Ricardo O MarrierItalyIvan Magalhaes PROPOSAL
Juan H MorascaBrazilIvan Magalhaes QUALIFIED
Clifford N PoquetteJapanAnna Fali NEGOTIATION
Costa L PoquetteGermanyBernardo Dominic QUALIFIED
Ashley Z ChuiCanadaAmy Elsner PROPOSAL
Jennifer M ShinkoJapanXuxue Feng PROPOSAL
Ricardo Z MaletSpainAnna Fali PROPOSAL
Munro N GlickUnited KingdomAnna Fali NEW
Juan E CaldareraFranceIvan Magalhaes UNQUALIFIED
Jefferson W OldroydGermanyOnyama Limba UNQUALIFIED
Munro B BowleyRussiaIoni Bowcher NEW
Greenwood H PoquetteFranceStephen Shaw NEW
Ricardo H DilliardIndiaElwin Sharvill QUALIFIED
Chavez M DilliardAustraliaElwin Sharvill QUALIFIED
Cody M WhobreyBrazilOnyama Limba NEW
Jeanfrancois E FlosiBrazilStephen Shaw QUALIFIED
Salvatore M DarakjySpainAmy Elsner UNQUALIFIED
Maisha I GauchoIndiaStephen Shaw NEW
Morrow Y PoquetteJapanIoni Bowcher NEW
Stacey S MacleadGermanyAmy Elsner NEW
Johnson Y GarufiFranceOnyama Limba UNQUALIFIED
Greenwood Z WaycottBrazilOnyama Limba RENEWAL
Ashley W VocelkaItalyXuxue Feng RENEWAL
Nicolas G OldroydBrazilAmy Elsner RENEWAL
Stacey S ChuiBrazilAsiya Javayant QUALIFIED
Ricardo G ChuiSpainBernardo Dominic QUALIFIED
Aditya W DilliardRussiaAsiya Javayant NEGOTIATION
Maria B GillianGermanyBernardo Dominic NEGOTIATION
Jefferson M BowleyItalyXuxue Feng NEGOTIATION
Izzy Y GlickAustraliaAmy Elsner UNQUALIFIED
Chavez S WhobreyRussiaXuxue Feng RENEWAL
Claire G KuskoCanadaAsiya Javayant NEW
Jones Z SlusarskiAustraliaElwin Sharvill NEGOTIATION
Wickens U FlosiItalyAsiya Javayant PROPOSAL
Nicolas L WhobreyBrazilElwin Sharvill NEW
Kaitlin S MarrierIndiaElwin Sharvill RENEWAL
Smith X KolmetzGermanyStephen Shaw PROPOSAL
Alejandro S GarufiAustraliaAnna Fali QUALIFIED
David M FerenczRussiaBernardo Dominic RENEWAL
Ashley J ButtGermanyXuxue Feng NEGOTIATION
Chavez K DarakjyUnited KingdomAnna Fali PROPOSAL
Aruna Q ButtCanadaStephen Shaw RENEWAL
Munro N GauchoCanadaStephen Shaw NEGOTIATION
Claire J RutaCanadaIvan Magalhaes UNQUALIFIED
Juan F KolmetzFranceAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Isabel T InouyeArgentinaXuxue Feng NEW
Jeanfrancois B PoquetteJapanBernardo Dominic NEW
Alejandro S MarrierItalyOnyama Limba NEGOTIATION
Silvio O OldroydJapanBernardo Dominic UNQUALIFIED
Silvio N FerenczCanadaElwin Sharvill QUALIFIED
Morrow A FlosiRussiaStephen Shaw QUALIFIED
Chavez A MarrierRussiaIvan Magalhaes NEW
Costa H OldroydSpainAmy Elsner RENEWAL
Ashley V VocelkaCanadaStephen Shaw PROPOSAL
Francesco H MacleadBrazilBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki J StensethItaly2026-09-11Dorl, James J Esq PROPOSAL74Anna Fali
1001Claire G MorascaItaly2026-09-21Chapman, Ross E Esq PROPOSAL7Bernardo Dominic
1002Juan B MarrierJapan2026-09-14Feltz Printing Service NEW79Amy Elsner
1003Costa Y VenereItaly2026-08-26Buckley Miller Wright NEW85Anna Fali
1004Misaki S PoquetteRussia2026-08-25Commercial Press PROPOSAL9Amy Elsner
1005Antonio K WaycottBrazil2026-09-15Chanay, Jeffrey A Esq QUALIFIED88Anna Fali
1006Rodrigues P AlbaresArgentina2026-09-03Truhlar And Truhlar Attys NEGOTIATION29Anna Fali
1007Nicolas D RoysterGermany2026-09-15Dorl, James J Esq NEGOTIATION82Ivan Magalhaes
1008Maisha I GlickIndia2026-09-05Feiner Bros NEW98Onyama Limba
1009James N SlusarskiItaly2026-09-05King, Christopher A Esq NEW20Stephen Shaw
1010Ashley M MaletFrance2026-08-23Feiner Bros PROPOSAL19Onyama Limba
1011Jefferson C VenereArgentina2026-08-27Chanay, Jeffrey A Esq NEGOTIATION8Anna Fali
1012Ashley I SaylorsSpain2026-09-09Feltz Printing Service UNQUALIFIED36Asiya Javayant
1013Jeanfrancois G MaletFrance2026-09-19Rangoni Of Florence RENEWAL53Bernardo Dominic
1014James T BologniaGermany2026-09-05Benton, John B Jr PROPOSAL76Ioni Bowcher
1015Greenwood P CampainAustralia2026-09-17Commercial Press UNQUALIFIED59Elwin Sharvill
1016Aika F MarrierArgentina2026-09-03Morlong Associates NEGOTIATION72Stephen Shaw
1017Sinclair Z SchemmerSpain2026-09-15Morlong Associates PROPOSAL63Anna Fali
1018Ashley R DilliardGermany2026-08-29Chemel, James L Cpa QUALIFIED99Ioni Bowcher
1019Darci U GlickJapan2026-09-10Rangoni Of Florence QUALIFIED62Elwin Sharvill
1020Francesco E RimRussia2026-08-28Rousseaux, Michael Esq PROPOSAL22Onyama Limba
1021Ricardo X MaletGermany2026-09-18Printing Dimensions NEGOTIATION35Asiya Javayant
1022Johnson U MarrierJapan2026-09-18Chapman, Ross E Esq PROPOSAL38Bernardo Dominic
1023Sinclair W VenereRussia2026-09-04Chemel, James L Cpa NEW58Anna Fali
1024Sinclair S NestleIndia2026-09-05Rangoni Of Florence UNQUALIFIED63Elwin Sharvill
1025Johnson E StockhamAustralia2026-09-12Truhlar And Truhlar Attys RENEWAL20Ioni Bowcher
1026Tony H RoysterAustralia2026-09-11Feltz Printing Service NEGOTIATION51Anna Fali
1027Clifford U InouyeGermany2026-08-26Chemel, James L Cpa NEW8Amy Elsner
1028Nicolas V TollnerFrance2026-08-27Feiner Bros PROPOSAL16Ivan Magalhaes
1029Maria W PerinUnited Kingdom2026-09-07Dorl, James J Esq QUALIFIED69Bernardo Dominic
1030Ashley M RimUnited Kingdom2026-08-24Chanay, Jeffrey A Esq NEW2Anna Fali
1031Mujtaba E NestleIndia2026-09-04Feiner Bros RENEWAL2Bernardo Dominic
1032Isabel W SaylorsCanada2026-09-14Morlong Associates NEGOTIATION43Anna Fali
1033Costa H CampainCanada2026-09-19King, Christopher A Esq NEGOTIATION62Xuxue Feng
1034Jeanfrancois X DoeBrazil2026-08-30Commercial Press UNQUALIFIED82Anna Fali
1035Jennifer C VenereRussia2026-09-17Benton, John B Jr QUALIFIED54Ioni Bowcher
1036Mayumi C FollerSpain2026-09-09Feltz Printing Service RENEWAL74Amy Elsner
1037Deepesh M OldroydGermany2026-09-19Benton, John B Jr QUALIFIED91Amy Elsner
1038Isabel Q BowleyIndia2026-09-21Chanay, Jeffrey A Esq RENEWAL68Onyama Limba
1039Aditya B GillianIndia2026-09-04King, Christopher A Esq UNQUALIFIED21Elwin Sharvill
1040Mayumi B DilliardCanada2026-08-27Rangoni Of Florence RENEWAL53Stephen Shaw
1041Julie G PoquetteSpain2026-09-16Morlong Associates UNQUALIFIED99Amy Elsner
1042Aruna I GlickAustralia2026-08-25Printing Dimensions PROPOSAL29Stephen Shaw
1043Clifford Q OstroskyFrance2026-09-17Commercial Press RENEWAL2Asiya Javayant
1044Arvin O ShinkoSpain2026-08-31Feltz Printing Service RENEWAL44Bernardo Dominic
1045Faith H GauchoSpain2026-08-29Truhlar And Truhlar Attys NEW76Xuxue Feng
1046Juan I KuskoRussia2026-09-16Chemel, James L Cpa NEW89Elwin Sharvill
1047James P BriddickArgentina2026-08-30Dorl, James J Esq NEGOTIATION35Xuxue Feng
1048Aditya B InouyeJapan2026-08-26Feltz Printing Service RENEWAL62Xuxue Feng
1049Maisha O GlickSpain2026-08-24Rangoni Of Florence RENEWAL21Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues K BowleyGermanyXuxue Feng QUALIFIED
Arvin N MaletItalyOnyama Limba QUALIFIED
Ivar S StockhamBrazilAnna Fali NEGOTIATION
Leja Y GillianJapanAmy Elsner NEGOTIATION
Misaki R PoquetteArgentinaAnna Fali QUALIFIED
Stacey Z WaycottItalyIoni Bowcher UNQUALIFIED
Stacey K GillianBrazilAnna Fali RENEWAL
Claire Q InouyeCanadaXuxue Feng QUALIFIED
Salvatore O ShinkoSpainAnna Fali UNQUALIFIED
Greenwood I KolmetzFranceStephen Shaw UNQUALIFIED
Darci Z KuskoAustraliaAnna Fali RENEWAL
Antonio C BowleySpainIvan Magalhaes RENEWAL
Ricardo F KolmetzFranceOnyama Limba NEGOTIATION
Alejandro V DarakjyFranceIoni Bowcher NEGOTIATION
Kadeem U RoysterRussiaIoni Bowcher NEW
Kaitlin W WaycottUnited KingdomAnna Fali RENEWAL
Jeanfrancois E InouyeCanadaOnyama Limba UNQUALIFIED
Faith Y OldroydItalyOnyama Limba NEW
Maria K OldroydCanadaIoni Bowcher PROPOSAL
Juan U GillianAustraliaIoni Bowcher RENEWAL
Jennifer U FerenczSpainAnna Fali UNQUALIFIED
Clifford T OldroydItalyStephen Shaw QUALIFIED
Kadeem O RimJapanBernardo Dominic QUALIFIED
Johnson I PoquetteRussiaAsiya Javayant NEGOTIATION
Arvin B FerenczIndiaOnyama Limba RENEWAL
Darci W MorascaIndiaAnna Fali PROPOSAL
Costa U ChuiArgentinaOnyama Limba RENEWAL
Ashley W PoquetteUnited KingdomXuxue Feng RENEWAL
Arvin X GarufiUnited KingdomStephen Shaw NEW
Munro I CaudyFranceElwin Sharvill UNQUALIFIED
David S RulapaughFranceAsiya Javayant NEW
Costa M DarakjyArgentinaAmy Elsner UNQUALIFIED
Darci J KolmetzCanadaIoni Bowcher NEGOTIATION
Jones J BriddickFranceElwin Sharvill NEW
Clifford F BowleyItalyXuxue Feng RENEWAL
Octavia F BowleySpainOnyama Limba QUALIFIED
Clifford K RutaArgentinaOnyama Limba RENEWAL
Claire N RutaGermanyAmy Elsner NEGOTIATION
Ricardo I PerinUnited KingdomBernardo Dominic UNQUALIFIED
David U SaylorsFranceAnna Fali RENEWAL
Greenwood W GarufiArgentinaIoni Bowcher QUALIFIED
Octavia V MaletIndiaBernardo Dominic PROPOSAL
Kaitlin L RulapaughCanadaBernardo Dominic QUALIFIED
Johnson B OstroskyRussiaIoni Bowcher UNQUALIFIED
Smith R GlickAustraliaStephen Shaw QUALIFIED
Izzy N CampainFranceAsiya Javayant QUALIFIED
Adams F SaylorsItalyIvan Magalhaes NEGOTIATION
Darci K StensethArgentinaElwin Sharvill RENEWAL
Greenwood J NestleIndiaIvan Magalhaes NEGOTIATION
Smith H OstroskyAustraliaAsiya Javayant PROPOSAL
Frozen Columns
Name
Aditya M Caldarera
David Y Whobrey
Stacey W Flosi
Jennifer U Bolognia
Aditya J Marrier
Johnson E Wieser
Mayumi C Stockham
Arvin K Iturbide
Johnson T Stockham
Ashley R Stenseth
Rodrigues Q Bolognia
Chavez P Saylors
Leon C Briddick
Mayumi L Gaucho
Stacey F Shinko
Francesco G Campain
Tony D Vocelka
Maria Z Saylors
Ivar G Albares
Jeanfrancois F Caldarera
Salvatore B Stockham
Sinclair M Paprocki
Nicolas W Dilliard
Stacey K Flosi
Octavia S Glick
Ricardo N Royster
Johnson A Tollner
Cody O Albares
Stacey S Wieser
David R Kolmetz
Smith P Shinko
Smith C Gillian
Stacey J Amigon
Alejandro G Stockham
Claire L Malet
Arvin P Saylors
Clifford W Saylors
Octavia X Flosi
Maisha J Briddick
Leon T Campain
Izzy T Dilliard
Sinclair V Inouye
Antonio M Figeroa
Murillo Z Kolmetz
Tony D Inouye
Clifford C Ostrosky
Claire E Oldroyd
Ashley H Flosi
Greenwood X Stenseth
Faith C Foller
IdCountryDate
1000Argentina2026-09-21
1001France2026-09-15
1002Germany2026-08-28
1003India2026-08-29
1004Italy2026-08-31
1005Germany2026-08-30
1006Italy2026-08-28
1007Australia2026-08-24
1008Canada2026-09-21
1009Canada2026-09-10
1010Brazil2026-09-16
1011Canada2026-08-24
1012France2026-09-10
1013Japan2026-08-23
1014Germany2026-09-05
1015Germany2026-08-30
1016India2026-08-24
1017Argentina2026-09-19
1018Australia2026-09-09
1019France2026-09-19
1020France2026-09-03
1021Brazil2026-08-27
1022Spain2026-09-12
1023Germany2026-09-18
1024India2026-08-29
1025Canada2026-09-14
1026Germany2026-09-09
1027United Kingdom2026-08-24
1028Germany2026-09-20
1029Japan2026-09-14
1030Germany2026-09-03
1031Russia2026-08-31
1032France2026-09-19
1033Australia2026-08-23
1034Australia2026-08-30
1035Brazil2026-08-23
1036Australia2026-09-20
1037United Kingdom2026-08-23
1038India2026-08-24
1039Japan2026-09-13
1040Argentina2026-08-29
1041Russia2026-08-29
1042United Kingdom2026-09-16
1043Germany2026-08-26
1044Germany2026-08-29
1045Brazil2026-08-23
1046Brazil2026-09-10
1047Australia2026-09-18
1048Argentina2026-08-30
1049France2026-08-26

On-Demand Data

NameIdCountryDate
James G Caudy1000Germany2026-09-09
Antonio H Inouye1001Canada2026-09-08
Sinclair D Kusko1002Brazil2026-09-13
Aditya I Stenseth1003Russia2026-08-26
Chavez Z Ostrosky1004Australia2026-09-09
Wickens R Amigon1005France2026-08-24
Deepesh K Waycott1006Canada2026-08-31
Morrow A Ruta1007Italy2026-09-15
Octavia W Ostrosky1008India2026-09-11
Emily B Ferencz1009Italy2026-09-15
Silvio J Inouye1010Argentina2026-09-17
Juan A Doe1011Canada2026-08-25
Ricardo J Poquette1012Canada2026-08-23
Ricardo X Nicka1013Italy2026-08-24
Maisha Y Briddick1014Germany2026-08-26
Salvatore R Slusarski1015Germany2026-09-13
Claire S Rim1016Japan2026-08-30
Alejandro O Ferencz1017Canada2026-09-21
Deepesh C Perin1018Italy2026-09-05
Kaitlin I Glick1019Argentina2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha O StensethCanadaIoni Bowcher PROPOSAL
Isabel Q FerenczAustraliaStephen Shaw NEGOTIATION
Alejandro Y CampainArgentinaAsiya Javayant RENEWAL
Misaki C SchemmerCanadaIoni Bowcher PROPOSAL
Maisha M MaletIndiaIvan Magalhaes NEW
Aditya G GauchoArgentinaStephen Shaw PROPOSAL
Morrow L DilliardIndiaXuxue Feng NEW
Mayumi D BowleyFranceIoni Bowcher NEGOTIATION
Clifford X WieserGermanyElwin Sharvill QUALIFIED
Darci A GillianItalyElwin Sharvill PROPOSAL
Munro L SchemmerArgentinaOnyama Limba QUALIFIED
Mujtaba F FlosiJapanAsiya Javayant UNQUALIFIED
Mujtaba M PaprockiFranceAsiya Javayant QUALIFIED
Silvio X VocelkaItalyAmy Elsner QUALIFIED
Rodrigues B FollerCanadaStephen Shaw NEGOTIATION
Arvin U StensethGermanyAnna Fali PROPOSAL
Faith U StockhamSpainAmy Elsner PROPOSAL
Tony A OstroskyGermanyAmy Elsner NEGOTIATION
Jefferson O KolmetzBrazilAmy Elsner NEW
Rodrigues J WhobreyFranceXuxue Feng NEGOTIATION
Kadeem J ShinkoBrazilStephen Shaw NEGOTIATION
Claire C RutaBrazilAnna Fali PROPOSAL
Izzy C FigeroaArgentinaAsiya Javayant PROPOSAL
Rodrigues G SergiArgentinaElwin Sharvill UNQUALIFIED
Jennifer N PerinCanadaIoni Bowcher QUALIFIED
Francesco G PerinAustraliaBernardo Dominic NEGOTIATION
Jones T RoysterArgentinaOnyama Limba UNQUALIFIED
Costa D DarakjyUnited KingdomAsiya Javayant NEW
Ashley R SchemmerCanadaElwin Sharvill NEGOTIATION
Silvio S WieserGermanyBernardo Dominic PROPOSAL
Cody P WhobreyFranceOnyama Limba PROPOSAL
Ricardo N ChuiSpainIoni Bowcher PROPOSAL
Ivar N RimGermanyStephen Shaw NEGOTIATION
Adams W StockhamJapanStephen Shaw UNQUALIFIED
Rodrigues M CampainJapanOnyama Limba NEGOTIATION
Costa S TollnerCanadaAsiya Javayant RENEWAL
Ashley U PoquetteBrazilAmy Elsner QUALIFIED
Leja C PaprockiFranceIvan Magalhaes UNQUALIFIED
Faith A AmigonBrazilStephen Shaw PROPOSAL
Greenwood M SergiGermanyStephen Shaw NEW

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