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
Clifford O RoysterArgentinaElwin Sharvill NEGOTIATION
Ashley Z RulapaughJapanAmy Elsner NEGOTIATION
Octavia P RulapaughFranceElwin Sharvill NEGOTIATION
Antonio W RoysterSpainElwin Sharvill PROPOSAL
Faith W RimArgentinaBernardo Dominic UNQUALIFIED
Murillo G SlusarskiBrazilElwin Sharvill RENEWAL
Salvatore R WaycottUnited KingdomBernardo Dominic QUALIFIED
Mayumi C VenereGermanyXuxue Feng UNQUALIFIED
Mayumi U FlosiBrazilElwin Sharvill NEGOTIATION
Juan A DoeRussiaIvan Magalhaes NEGOTIATION
Aruna D FerenczBrazilStephen Shaw PROPOSAL
Greenwood V SchemmerJapanStephen Shaw UNQUALIFIED
Smith I RulapaughJapanStephen Shaw PROPOSAL
Claire P KolmetzIndiaAsiya Javayant PROPOSAL
Maisha Z StensethAustraliaIoni Bowcher NEGOTIATION
Chavez U BowleyRussiaOnyama Limba PROPOSAL
Costa W DilliardBrazilBernardo Dominic QUALIFIED
Tony X DarakjyGermanyOnyama Limba PROPOSAL
Faith L BriddickIndiaElwin Sharvill UNQUALIFIED
Munro K BologniaRussiaOnyama Limba PROPOSAL
Juan X MacleadUnited KingdomAnna Fali RENEWAL
Johnson D BowleyAustraliaIvan Magalhaes QUALIFIED
Jefferson Y RulapaughRussiaXuxue Feng RENEWAL
Ashley G ShinkoFranceAmy Elsner UNQUALIFIED
Juan Z FollerIndiaStephen Shaw QUALIFIED
Ashley O KolmetzIndiaOnyama Limba NEGOTIATION
Izzy G WhobreyBrazilXuxue Feng PROPOSAL
Salvatore G MaletItalyBernardo Dominic QUALIFIED
Izzy N BriddickGermanyElwin Sharvill RENEWAL
Rodrigues J StensethFranceIvan Magalhaes QUALIFIED
Kaitlin O PoquetteItalyElwin Sharvill NEW
Deepesh O NestleCanadaAnna Fali QUALIFIED
Aditya P GauchoUnited KingdomStephen Shaw NEGOTIATION
Darci H DoeGermanyOnyama Limba QUALIFIED
Salvatore O CaldareraCanadaBernardo Dominic QUALIFIED
Julie N AmigonIndiaIvan Magalhaes NEGOTIATION
Cody T BowleyRussiaElwin Sharvill NEGOTIATION
Jeanfrancois J PerinSpainIvan Magalhaes NEW
Greenwood X WaycottCanadaAmy Elsner RENEWAL
Isabel O RulapaughFranceAmy Elsner UNQUALIFIED
Jeanfrancois Q FerenczArgentinaAsiya Javayant UNQUALIFIED
Adams R WieserGermanyOnyama Limba NEW
Adams W SlusarskiIndiaBernardo Dominic NEGOTIATION
Julie Q GillianItalyBernardo Dominic NEGOTIATION
Ivar U ChuiAustraliaAmy Elsner NEGOTIATION
Costa T ChuiAustraliaIvan Magalhaes RENEWAL
Jefferson R MacleadAustraliaXuxue Feng NEGOTIATION
Maisha A MacleadAustraliaBernardo Dominic PROPOSAL
Antonio E StockhamGermanyOnyama Limba NEGOTIATION
Aditya U NestleJapanAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leja T MaletAustraliaBernardo Dominic NEGOTIATION
Aruna L TollnerAustraliaBernardo Dominic RENEWAL
Francesco X FerenczSpainIvan Magalhaes QUALIFIED
Silvio U WaycottItalyXuxue Feng QUALIFIED
Tony D FollerArgentinaAsiya Javayant RENEWAL
Darci Q FollerFranceXuxue Feng UNQUALIFIED
Adams T TollnerArgentinaStephen Shaw NEGOTIATION
Stacey K KolmetzBrazilBernardo Dominic RENEWAL
Nicolas Y GarufiBrazilBernardo Dominic PROPOSAL
Salvatore Z NestleUnited KingdomOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens L OldroydArgentina2026-10-22Buckley Miller Wright PROPOSAL10Elwin Sharvill
1001Leja E GillianArgentina2026-10-23Truhlar And Truhlar Attys QUALIFIED71Xuxue Feng
1002Leja E GarufiIndia2026-10-09Rangoni Of Florence UNQUALIFIED70Ioni Bowcher
1003Aika O RimArgentina2026-10-18Rousseaux, Michael Esq PROPOSAL54Bernardo Dominic
1004Mayumi G RulapaughArgentina2026-09-28Rousseaux, Michael Esq NEGOTIATION0Ioni Bowcher
1005Wickens M PoquetteUnited Kingdom2026-10-02Dorl, James J Esq QUALIFIED11Ivan Magalhaes
1006Jeanfrancois T PerinItaly2026-10-02Morlong Associates UNQUALIFIED90Asiya Javayant
1007Stacey G ButtUnited Kingdom2026-10-25Feltz Printing Service QUALIFIED63Xuxue Feng
1008Murillo M FigeroaFrance2026-10-24Chemel, James L Cpa RENEWAL10Ioni Bowcher
1009Darci X ShinkoUnited Kingdom2026-10-04Feltz Printing Service RENEWAL35Asiya Javayant
1010Jefferson I RutaGermany2026-10-01Rangoni Of Florence UNQUALIFIED45Onyama Limba
1011Ashley N WaycottCanada2026-10-17Printing Dimensions QUALIFIED56Bernardo Dominic
1012Stacey A BowleySpain2026-09-30Chemel, James L Cpa PROPOSAL41Bernardo Dominic
1013Arvin L CaudyAustralia2026-10-08Feltz Printing Service PROPOSAL75Anna Fali
1014Maria S DarakjyGermany2026-10-11Printing Dimensions QUALIFIED21Amy Elsner
1015Juan C SergiCanada2026-10-15Feltz Printing Service NEGOTIATION39Ivan Magalhaes
1016Jennifer D ChuiItaly2026-10-02Dorl, James J Esq PROPOSAL80Ivan Magalhaes
1017Ashley I VenereBrazil2026-10-11Truhlar And Truhlar Attys NEGOTIATION88Bernardo Dominic
1018Leja X SaylorsFrance2026-10-02Morlong Associates QUALIFIED33Anna Fali
1019Jeanfrancois E RimBrazil2026-10-13Commercial Press NEGOTIATION74Anna Fali
1020Aika F CaudyCanada2026-09-29Truhlar And Truhlar Attys NEW78Bernardo Dominic
1021Francesco H GauchoFrance2026-10-23Buckley Miller Wright NEW44Asiya Javayant
1022Ashley K SaylorsItaly2026-10-18Commercial Press PROPOSAL50Onyama Limba
1023Octavia O StockhamRussia2026-10-23Rousseaux, Michael Esq UNQUALIFIED19Ivan Magalhaes
1024Isabel Q InouyeJapan2026-10-17Feiner Bros QUALIFIED94Xuxue Feng
1025Adams Z MaletSpain2026-10-19Feiner Bros NEGOTIATION49Elwin Sharvill
1026Julie W NickaRussia2026-10-01Dorl, James J Esq PROPOSAL56Ivan Magalhaes
1027Julie H MarrierUnited Kingdom2026-10-05Chanay, Jeffrey A Esq NEW91Bernardo Dominic
1028Juan K GlickJapan2026-10-02King, Christopher A Esq QUALIFIED68Stephen Shaw
1029Murillo I SchemmerGermany2026-10-25Dorl, James J Esq UNQUALIFIED24Anna Fali
1030Mayumi W PerinJapan2026-10-23Morlong Associates NEW49Ioni Bowcher
1031Jennifer P GillianItaly2026-10-01Printing Dimensions UNQUALIFIED29Onyama Limba
1032Octavia I CaldareraArgentina2026-10-17Dorl, James J Esq NEGOTIATION24Anna Fali
1033Clifford L KolmetzIndia2026-10-21Rangoni Of Florence NEW50Bernardo Dominic
1034Salvatore K SergiJapan2026-10-10Chemel, James L Cpa NEW86Ioni Bowcher
1035Juan R FollerSpain2026-10-19Buckley Miller Wright NEGOTIATION69Asiya Javayant
1036Maisha G InouyeUnited Kingdom2026-09-29Chemel, James L Cpa NEGOTIATION91Asiya Javayant
1037Octavia O BologniaCanada2026-10-06Benton, John B Jr RENEWAL30Ioni Bowcher
1038Francesco S RimItaly2026-09-26Feiner Bros PROPOSAL74Xuxue Feng
1039Mujtaba Z CaudyItaly2026-10-24King, Christopher A Esq UNQUALIFIED5Stephen Shaw
1040Ricardo J OstroskyUnited Kingdom2026-09-29Truhlar And Truhlar Attys NEGOTIATION75Elwin Sharvill
1041Chavez J RoysterFrance2026-10-15Buckley Miller Wright NEGOTIATION31Ioni Bowcher
1042Rodrigues K BologniaGermany2026-10-11Dorl, James J Esq PROPOSAL71Elwin Sharvill
1043Sinclair X GarufiFrance2026-09-27Chanay, Jeffrey A Esq QUALIFIED46Ivan Magalhaes
1044Isabel S BriddickJapan2026-10-25Truhlar And Truhlar Attys UNQUALIFIED13Xuxue Feng
1045Jennifer B RutaIndia2026-10-14Buckley Miller Wright NEW16Ivan Magalhaes
1046Aditya G WhobreyFrance2026-10-15Feiner Bros QUALIFIED72Bernardo Dominic
1047Ricardo G OldroydUnited Kingdom2026-10-25Printing Dimensions UNQUALIFIED8Ioni Bowcher
1048Ricardo L MaletIndia2026-10-20Chapman, Ross E Esq NEGOTIATION9Stephen Shaw
1049Arvin Z SaylorsIndia2026-10-11Rousseaux, Michael Esq NEW3Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Deepesh R CampainArgentinaAmy Elsner NEW
Antonio I BriddickBrazilAsiya Javayant PROPOSAL
Darci J StockhamSpainAsiya Javayant NEW
Adams T StockhamArgentinaAmy Elsner QUALIFIED
Morrow L MarrierItalyElwin Sharvill QUALIFIED
Jeanfrancois N BologniaIndiaElwin Sharvill NEGOTIATION
Aditya N SaylorsItalyElwin Sharvill NEGOTIATION
Darci N KolmetzBrazilOnyama Limba NEW
Emily F OstroskyItalyIoni Bowcher QUALIFIED
Mayumi I TollnerJapanXuxue Feng QUALIFIED
Nicolas U FollerBrazilStephen Shaw RENEWAL
Misaki W KuskoGermanyXuxue Feng RENEWAL
Rodrigues Z FlosiUnited KingdomAnna Fali QUALIFIED
Silvio W BriddickIndiaAnna Fali UNQUALIFIED
Emily D DarakjyBrazilBernardo Dominic UNQUALIFIED
Munro H KolmetzArgentinaOnyama Limba QUALIFIED
Emily U PoquetteBrazilXuxue Feng QUALIFIED
Ivar S BologniaFranceBernardo Dominic QUALIFIED
James C SaylorsCanadaElwin Sharvill UNQUALIFIED
Maria Z RoysterCanadaXuxue Feng PROPOSAL
Cody J NestleFranceStephen Shaw NEW
Jefferson Z IturbideItalyElwin Sharvill PROPOSAL
Smith I CaldareraRussiaAmy Elsner RENEWAL
Misaki X DoeBrazilIvan Magalhaes QUALIFIED
Francesco R WieserItalyAnna Fali NEGOTIATION
Aditya V DilliardBrazilAmy Elsner NEGOTIATION
Wickens F RimFranceXuxue Feng NEGOTIATION
Antonio J PerinBrazilAnna Fali UNQUALIFIED
Chavez P SlusarskiFranceIoni Bowcher UNQUALIFIED
Wickens Z WhobreyBrazilBernardo Dominic QUALIFIED
Maria G AlbaresItalyBernardo Dominic PROPOSAL
Deepesh W RoysterArgentinaAmy Elsner NEW
Francesco H StensethCanadaXuxue Feng QUALIFIED
Stacey L CaudyCanadaOnyama Limba NEGOTIATION
Misaki J NickaJapanStephen Shaw PROPOSAL
Cody P ChuiGermanyIoni Bowcher RENEWAL
Tony Y VenereFranceIvan Magalhaes RENEWAL
Jones F PaprockiAustraliaAmy Elsner PROPOSAL
Maria P WieserAustraliaIoni Bowcher NEGOTIATION
Ivar F RutaCanadaAsiya Javayant NEW
Jones K SlusarskiItalyOnyama Limba QUALIFIED
Juan O ChuiSpainOnyama Limba NEW
Jones P WieserGermanyAmy Elsner UNQUALIFIED
David L BologniaSpainStephen Shaw UNQUALIFIED
Mayumi J WieserIndiaElwin Sharvill NEGOTIATION
Mujtaba T FlosiBrazilXuxue Feng PROPOSAL
Salvatore U GauchoItalyOnyama Limba QUALIFIED
Mayumi K WieserCanadaIvan Magalhaes NEGOTIATION
Alejandro Y SchemmerRussiaElwin Sharvill RENEWAL
Ricardo W GillianSpainIvan Magalhaes RENEWAL
Frozen Columns
Name
Sinclair A Flosi
Greenwood H Gaucho
Alejandro K Whobrey
Chavez B Sergi
David O Morasca
Smith Q Foller
Arvin G Stockham
Ivar C Doe
Leon V Shinko
Kaitlin L Stenseth
Morrow S Nestle
David S Slusarski
Rodrigues K Caudy
Claire V Saylors
Ivar U Flosi
Smith N Royster
Silvio O Venere
Jefferson M Malet
Emily E Garufi
Izzy I Iturbide
Juan B Nestle
Morrow K Oldroyd
Misaki V Kolmetz
Tony C Kolmetz
Munro N Schemmer
Munro N Slusarski
Faith D Inouye
Murillo R Caldarera
Julie Q Butt
Claire G Malet
Octavia C Oldroyd
Juan T Dilliard
Claire B Iturbide
Claire S Rulapaugh
Leja Y Nestle
Octavia Z Nicka
Mujtaba T Malet
Emily P Foller
Aditya L Malet
Mujtaba F Flosi
Aruna P Maclead
Jefferson B Inouye
Costa U Shinko
Ivar B Caudy
Deepesh P Garufi
Smith W Kolmetz
Ivar N Paprocki
Smith U Darakjy
Leja I Nicka
Octavia B Nicka
IdCountryDate
1000Russia2026-09-29
1001Argentina2026-10-25
1002Russia2026-10-07
1003Australia2026-10-14
1004India2026-10-18
1005Germany2026-10-17
1006Germany2026-10-01
1007United Kingdom2026-09-27
1008Russia2026-09-28
1009Japan2026-10-22
1010Canada2026-10-11
1011Japan2026-10-07
1012Germany2026-10-04
1013Argentina2026-10-24
1014Japan2026-10-04
1015Australia2026-09-28
1016Italy2026-09-26
1017France2026-10-23
1018Canada2026-10-14
1019France2026-10-12
1020Brazil2026-10-21
1021Argentina2026-10-23
1022France2026-09-29
1023Brazil2026-10-02
1024India2026-10-04
1025France2026-10-21
1026Spain2026-10-25
1027India2026-10-03
1028France2026-10-12
1029Spain2026-10-18
1030United Kingdom2026-10-23
1031Australia2026-10-25
1032Spain2026-10-15
1033India2026-09-29
1034Italy2026-10-18
1035Brazil2026-09-27
1036Germany2026-09-29
1037United Kingdom2026-10-23
1038United Kingdom2026-10-07
1039France2026-10-20
1040Australia2026-10-11
1041Spain2026-10-05
1042Japan2026-09-29
1043Italy2026-10-07
1044Japan2026-09-26
1045Australia2026-10-04
1046Canada2026-10-22
1047Italy2026-10-20
1048United Kingdom2026-10-11
1049Canada2026-10-16

On-Demand Data

NameIdCountryDate
Ricardo Y Sergi1000Argentina2026-09-29
Jefferson W Flosi1001Brazil2026-10-11
Rodrigues Y Flosi1002Germany2026-10-03
Ricardo E Maclead1003Japan2026-10-09
Salvatore F Paprocki1004Australia2026-10-02
Leja Y Rulapaugh1005Australia2026-10-18
Morrow I Garufi1006Russia2026-10-19
Jennifer E Campain1007Italy2026-10-12
Alejandro Q Oldroyd1008Germany2026-10-25
Jennifer K Darakjy1009India2026-10-14
Aruna T Wieser1010Brazil2026-10-02
Mujtaba F Butt1011Canada2026-10-15
Maria S Rim1012Spain2026-10-06
Kaitlin U Inouye1013Japan2026-10-04
Leja M Tollner1014France2026-10-01
Izzy G Albares1015Japan2026-10-11
Julie F Briddick1016Italy2026-10-01
Julie G Nicka1017Brazil2026-09-26
Francesco W Wieser1018Australia2026-09-30
Maisha U Royster1019Russia2026-10-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford F PoquetteFranceXuxue Feng NEGOTIATION
Jefferson E GillianJapanOnyama Limba RENEWAL
Adams C IturbideIndiaAsiya Javayant PROPOSAL
Tony I DarakjyIndiaElwin Sharvill RENEWAL
Ashley U GillianItalyIvan Magalhaes QUALIFIED
Leon C RutaUnited KingdomAnna Fali NEW
Isabel Q MarrierRussiaBernardo Dominic RENEWAL
David V GlickArgentinaAmy Elsner QUALIFIED
Greenwood Z FigeroaJapanElwin Sharvill PROPOSAL
Jones A CaudySpainIoni Bowcher PROPOSAL
Kadeem E SlusarskiJapanStephen Shaw UNQUALIFIED
Wickens U NestleSpainAsiya Javayant RENEWAL
Johnson Q GauchoAustraliaIvan Magalhaes PROPOSAL
Munro Q TollnerItalyElwin Sharvill PROPOSAL
Jennifer P IturbideRussiaBernardo Dominic QUALIFIED
Claire K OldroydSpainXuxue Feng NEW
Jennifer H GillianUnited KingdomAmy Elsner NEGOTIATION
Alejandro Z NestleIndiaStephen Shaw RENEWAL
Wickens U NickaSpainAsiya Javayant QUALIFIED
Morrow C SergiSpainElwin Sharvill QUALIFIED
Kadeem Q TollnerGermanyOnyama Limba UNQUALIFIED
Izzy U DarakjyGermanyIvan Magalhaes NEGOTIATION
James Q AlbaresCanadaAmy Elsner UNQUALIFIED
Maisha D OldroydGermanyAnna Fali PROPOSAL
Nicolas X AmigonIndiaBernardo Dominic PROPOSAL
Silvio W PoquetteJapanElwin Sharvill NEW
Misaki R FlosiCanadaAsiya Javayant NEGOTIATION
Claire F GillianAustraliaAmy Elsner RENEWAL
Julie G GauchoAustraliaStephen Shaw PROPOSAL
Jeanfrancois J RimCanadaAnna Fali NEGOTIATION
Costa L BowleySpainStephen Shaw UNQUALIFIED
Morrow I RoysterArgentinaIvan Magalhaes NEW
James B IturbideBrazilElwin Sharvill UNQUALIFIED
Stacey D GlickAustraliaAnna Fali QUALIFIED
Kaitlin J SlusarskiArgentinaIvan Magalhaes NEGOTIATION
Aika S KuskoGermanyAmy Elsner PROPOSAL
Antonio Z SchemmerIndiaOnyama Limba QUALIFIED
Aika J SlusarskiGermanyIoni Bowcher UNQUALIFIED
Cody R PoquetteArgentinaAnna Fali UNQUALIFIED
Costa G SchemmerFranceAsiya Javayant 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>