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
Salvatore O GarufiSpainAnna Fali PROPOSAL
Jeanfrancois V DarakjyFranceStephen Shaw RENEWAL
Salvatore I InouyeItalyStephen Shaw PROPOSAL
Murillo Z FlosiIndiaIvan Magalhaes UNQUALIFIED
Faith Z GauchoGermanyOnyama Limba PROPOSAL
Greenwood F ChuiSpainStephen Shaw UNQUALIFIED
Arvin M NestleCanadaIoni Bowcher NEW
Kaitlin G MaletFranceIvan Magalhaes PROPOSAL
Kaitlin N ButtIndiaElwin Sharvill NEGOTIATION
Costa M VocelkaRussiaBernardo Dominic NEW
Francesco H DilliardFranceAnna Fali RENEWAL
Izzy C BowleyItalyStephen Shaw RENEWAL
Isabel R VocelkaCanadaStephen Shaw NEW
Misaki J WhobreyFranceAnna Fali RENEWAL
Francesco N BowleyRussiaElwin Sharvill NEGOTIATION
Jennifer P CaudyJapanBernardo Dominic PROPOSAL
Kaitlin O InouyeUnited KingdomXuxue Feng UNQUALIFIED
Isabel S PerinFranceStephen Shaw QUALIFIED
Jefferson Z InouyeBrazilAsiya Javayant UNQUALIFIED
Nicolas V BologniaGermanyIvan Magalhaes UNQUALIFIED
Costa R WhobreyArgentinaAnna Fali RENEWAL
Isabel N ButtItalyBernardo Dominic PROPOSAL
Deepesh J AlbaresRussiaIvan Magalhaes NEGOTIATION
Greenwood J OstroskyFranceStephen Shaw UNQUALIFIED
Izzy P DilliardRussiaXuxue Feng NEGOTIATION
Clifford J FigeroaUnited KingdomElwin Sharvill NEW
Ivar Q MaletItalyOnyama Limba NEW
Ivar E ShinkoUnited KingdomBernardo Dominic RENEWAL
Aika D BriddickRussiaBernardo Dominic PROPOSAL
Aditya R StockhamJapanAsiya Javayant UNQUALIFIED
James L InouyeBrazilAmy Elsner PROPOSAL
Claire W NickaSpainBernardo Dominic QUALIFIED
Murillo S BriddickItalyAnna Fali UNQUALIFIED
Mujtaba H TollnerAustraliaIvan Magalhaes PROPOSAL
James B BriddickItalyStephen Shaw NEGOTIATION
Arvin F GlickAustraliaBernardo Dominic NEW
Greenwood Y BologniaGermanyOnyama Limba UNQUALIFIED
Adams M RutaAustraliaIvan Magalhaes PROPOSAL
Isabel K KolmetzRussiaElwin Sharvill NEGOTIATION
Sinclair F PaprockiSpainIoni Bowcher RENEWAL
Morrow S DarakjyItalyXuxue Feng QUALIFIED
Silvio X DilliardFranceAsiya Javayant QUALIFIED
Ivar C BologniaSpainAnna Fali RENEWAL
Jefferson F StensethFranceAsiya Javayant UNQUALIFIED
Jefferson D GillianUnited KingdomXuxue Feng QUALIFIED
Francesco V PerinAustraliaBernardo Dominic NEGOTIATION
Alejandro L CaudyBrazilAmy Elsner PROPOSAL
Leon Q KuskoIndiaIvan Magalhaes UNQUALIFIED
Deepesh H SergiArgentinaIoni Bowcher NEGOTIATION
Jeanfrancois C CampainSpainAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kaitlin N SchemmerRussiaXuxue Feng QUALIFIED
Greenwood Y FlosiGermanyIvan Magalhaes NEGOTIATION
Chavez P ShinkoItalyOnyama Limba UNQUALIFIED
Aruna C ShinkoAustraliaXuxue Feng NEGOTIATION
Isabel T ButtJapanIoni Bowcher UNQUALIFIED
David M StensethCanadaAsiya Javayant QUALIFIED
Salvatore R MacleadRussiaIoni Bowcher NEW
Jefferson S SaylorsSpainIoni Bowcher PROPOSAL
Emily O RoysterUnited KingdomXuxue Feng RENEWAL
Wickens M DilliardSpainAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas N DilliardRussia2026-08-20Printing Dimensions PROPOSAL0Anna Fali
1001Rodrigues Y FigeroaArgentina2026-09-13King, Christopher A Esq NEW21Ivan Magalhaes
1002James W CampainUnited Kingdom2026-08-30King, Christopher A Esq QUALIFIED64Xuxue Feng
1003Aruna P CaudyIndia2026-09-01Benton, John B Jr NEW78Elwin Sharvill
1004Salvatore A PerinCanada2026-09-16Chanay, Jeffrey A Esq NEGOTIATION87Asiya Javayant
1005Rodrigues Y ChuiRussia2026-09-06Chapman, Ross E Esq PROPOSAL52Stephen Shaw
1006Jennifer W SaylorsAustralia2026-08-29Chemel, James L Cpa PROPOSAL17Elwin Sharvill
1007Silvio P DoeFrance2026-08-31Chapman, Ross E Esq QUALIFIED68Asiya Javayant
1008Mujtaba M MaletItaly2026-09-01Feltz Printing Service PROPOSAL80Elwin Sharvill
1009Maisha N NickaGermany2026-09-01Chanay, Jeffrey A Esq QUALIFIED65Onyama Limba
1010Ricardo V RoysterItaly2026-09-06Chanay, Jeffrey A Esq UNQUALIFIED88Bernardo Dominic
1011Deepesh K NestleArgentina2026-09-04King, Christopher A Esq NEW89Amy Elsner
1012Silvio T VocelkaGermany2026-09-11Morlong Associates PROPOSAL40Xuxue Feng
1013Rodrigues Y RimItaly2026-08-25Rousseaux, Michael Esq NEW7Xuxue Feng
1014Francesco B CampainAustralia2026-09-02King, Christopher A Esq PROPOSAL78Ioni Bowcher
1015Jones K StockhamIndia2026-08-20Feltz Printing Service NEGOTIATION51Ioni Bowcher
1016Adams J KuskoGermany2026-08-28Commercial Press NEGOTIATION50Onyama Limba
1017Munro N GarufiUnited Kingdom2026-08-24King, Christopher A Esq RENEWAL86Onyama Limba
1018Kadeem F MorascaArgentina2026-08-25King, Christopher A Esq NEW57Asiya Javayant
1019Julie R MaletCanada2026-09-01King, Christopher A Esq NEGOTIATION86Ivan Magalhaes
1020Aruna L RulapaughBrazil2026-09-03Commercial Press NEGOTIATION30Ioni Bowcher
1021Antonio F MacleadArgentina2026-08-29Truhlar And Truhlar Attys NEGOTIATION99Onyama Limba
1022Greenwood M AmigonSpain2026-09-12Chapman, Ross E Esq NEW9Amy Elsner
1023Izzy P TollnerAustralia2026-08-23Morlong Associates UNQUALIFIED99Asiya Javayant
1024Leon G DilliardRussia2026-08-29Chemel, James L Cpa RENEWAL82Ioni Bowcher
1025Mujtaba Y BowleyUnited Kingdom2026-08-23Feltz Printing Service RENEWAL75Stephen Shaw
1026Munro U SchemmerFrance2026-08-26Commercial Press UNQUALIFIED0Asiya Javayant
1027Julie S BowleyCanada2026-08-21Chemel, James L Cpa UNQUALIFIED1Elwin Sharvill
1028Nicolas R RutaCanada2026-08-31Feltz Printing Service PROPOSAL42Ivan Magalhaes
1029Claire F MaletBrazil2026-08-29Chanay, Jeffrey A Esq NEW86Xuxue Feng
1030James Z DarakjyIndia2026-08-23Truhlar And Truhlar Attys UNQUALIFIED20Elwin Sharvill
1031Isabel D MarrierArgentina2026-09-10Benton, John B Jr UNQUALIFIED50Anna Fali
1032Aditya B SlusarskiAustralia2026-09-14Dorl, James J Esq NEW41Amy Elsner
1033Nicolas H MacleadRussia2026-08-28Morlong Associates NEGOTIATION92Xuxue Feng
1034Costa F OldroydItaly2026-09-02Dorl, James J Esq PROPOSAL71Ioni Bowcher
1035Alejandro V BologniaBrazil2026-08-24Chapman, Ross E Esq UNQUALIFIED47Bernardo Dominic
1036James W BologniaUnited Kingdom2026-09-04Benton, John B Jr UNQUALIFIED43Xuxue Feng
1037James P OstroskyRussia2026-09-12Chemel, James L Cpa UNQUALIFIED50Asiya Javayant
1038Francesco J OstroskyUnited Kingdom2026-08-31Chemel, James L Cpa PROPOSAL86Asiya Javayant
1039Jones D MarrierCanada2026-09-10Buckley Miller Wright NEW60Bernardo Dominic
1040Tony Y VocelkaJapan2026-09-15King, Christopher A Esq UNQUALIFIED54Asiya Javayant
1041Isabel F DoeIndia2026-09-09Dorl, James J Esq QUALIFIED52Bernardo Dominic
1042Aditya M StockhamJapan2026-08-28Truhlar And Truhlar Attys QUALIFIED79Anna Fali
1043James E PoquetteIndia2026-09-07Chapman, Ross E Esq PROPOSAL3Bernardo Dominic
1044Munro L FollerArgentina2026-08-30Truhlar And Truhlar Attys NEW90Ivan Magalhaes
1045Juan G PerinGermany2026-09-15Feltz Printing Service PROPOSAL80Stephen Shaw
1046Claire K IturbideBrazil2026-08-24Printing Dimensions NEGOTIATION16Amy Elsner
1047Silvio J KuskoGermany2026-09-16Benton, John B Jr NEW72Bernardo Dominic
1048Wickens K StockhamIndia2026-08-26Rangoni Of Florence PROPOSAL32Elwin Sharvill
1049Ricardo N SlusarskiSpain2026-09-14Chemel, James L Cpa NEGOTIATION29Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro G MorascaIndiaAsiya Javayant NEW
Salvatore P IturbideJapanElwin Sharvill UNQUALIFIED
Mujtaba T DoeFranceAsiya Javayant NEGOTIATION
Salvatore D RulapaughAustraliaElwin Sharvill NEGOTIATION
Chavez F PoquetteCanadaXuxue Feng NEGOTIATION
Kadeem A OldroydUnited KingdomXuxue Feng QUALIFIED
Greenwood Q SchemmerFranceOnyama Limba UNQUALIFIED
Deepesh D GillianRussiaIvan Magalhaes UNQUALIFIED
Stacey H AmigonIndiaXuxue Feng PROPOSAL
Faith K VocelkaItalyAmy Elsner NEW
Sinclair G CaldareraArgentinaIvan Magalhaes QUALIFIED
Ashley D VocelkaArgentinaIvan Magalhaes PROPOSAL
Darci P AlbaresRussiaAmy Elsner QUALIFIED
Sinclair Y AlbaresSpainBernardo Dominic RENEWAL
Murillo C MorascaGermanyStephen Shaw PROPOSAL
Emily T WhobreyGermanyIoni Bowcher UNQUALIFIED
Emily L SchemmerArgentinaAnna Fali NEGOTIATION
Aruna X MacleadFranceStephen Shaw QUALIFIED
Mujtaba A InouyeGermanyStephen Shaw PROPOSAL
Kadeem F NickaIndiaIoni Bowcher PROPOSAL
David M ButtRussiaStephen Shaw NEGOTIATION
Faith L GarufiAustraliaIvan Magalhaes RENEWAL
Mayumi I ButtFranceIvan Magalhaes RENEWAL
Arvin V VocelkaAustraliaStephen Shaw QUALIFIED
Murillo Q CampainFranceBernardo Dominic NEW
Isabel R RoysterUnited KingdomElwin Sharvill RENEWAL
Adams B ChuiUnited KingdomAmy Elsner UNQUALIFIED
Salvatore J StockhamRussiaAmy Elsner QUALIFIED
Ricardo N WhobreyGermanyStephen Shaw NEGOTIATION
Smith Q CaldareraSpainAnna Fali UNQUALIFIED
Izzy E MaletUnited KingdomXuxue Feng PROPOSAL
Izzy V MaletGermanyStephen Shaw NEW
Sinclair G StockhamCanadaElwin Sharvill UNQUALIFIED
David X BriddickCanadaStephen Shaw NEW
Juan B GlickBrazilIoni Bowcher NEW
Munro A DilliardIndiaAnna Fali NEW
Rodrigues N VenereUnited KingdomXuxue Feng RENEWAL
Francesco E KuskoArgentinaXuxue Feng NEW
Ricardo T WieserFranceStephen Shaw NEGOTIATION
Clifford J PoquetteBrazilIoni Bowcher UNQUALIFIED
Aika H StockhamBrazilBernardo Dominic PROPOSAL
Costa O RulapaughFranceAsiya Javayant QUALIFIED
Salvatore M BowleyArgentinaAmy Elsner QUALIFIED
Aika W RutaSpainElwin Sharvill PROPOSAL
Faith D OldroydUnited KingdomXuxue Feng NEGOTIATION
Sinclair F GlickAustraliaIoni Bowcher NEGOTIATION
Wickens B WieserRussiaOnyama Limba NEW
Leja D RutaAustraliaAsiya Javayant PROPOSAL
Jones C KolmetzUnited KingdomBernardo Dominic PROPOSAL
Isabel B AmigonIndiaAmy Elsner NEW
Frozen Columns
Name
Ashley W Butt
Jeanfrancois W Ferencz
Chavez F Tollner
Misaki J Perin
Aika Q Malet
Arvin F Malet
Costa U Ostrosky
Aditya I Albares
Octavia P Darakjy
Emily K Caudy
Rodrigues W Schemmer
Jennifer U Inouye
Kaitlin S Slusarski
Jones K Nicka
Aika C Schemmer
Deepesh N Campain
Greenwood E Darakjy
Ivar Q Morasca
Antonio T Waycott
Alejandro O Ostrosky
Arvin Q Rim
Wickens S Malet
Antonio E Malet
Cody R Gaucho
Mayumi E Nicka
Mayumi B Amigon
Kaitlin I Maclead
Misaki C Foller
Ricardo M Darakjy
Jefferson Y Albares
Jones Y Saylors
David H Nicka
Costa L Chui
David A Darakjy
Stacey L Nicka
Aruna X Vocelka
Murillo C Darakjy
Ricardo Z Foller
Kaitlin Y Foller
James Q Caudy
Wickens P Stockham
Aditya S Rulapaugh
Murillo G Inouye
Nicolas T Perin
Costa T Nicka
Ricardo X Tollner
Wickens Y Amigon
Mayumi D Slusarski
Smith L Butt
Claire L Malet
IdCountryDate
1000Australia2026-08-26
1001Italy2026-09-02
1002Brazil2026-08-27
1003India2026-09-17
1004India2026-09-12
1005Brazil2026-09-11
1006Spain2026-09-03
1007Italy2026-09-10
1008United Kingdom2026-09-02
1009France2026-08-29
1010Italy2026-09-15
1011Italy2026-08-28
1012Canada2026-09-13
1013Brazil2026-09-16
1014Australia2026-09-12
1015Russia2026-09-17
1016Germany2026-09-13
1017Australia2026-09-03
1018Australia2026-08-20
1019Spain2026-09-04
1020India2026-08-20
1021Germany2026-08-28
1022India2026-09-05
1023France2026-08-23
1024Spain2026-09-05
1025Italy2026-09-05
1026France2026-08-30
1027Japan2026-09-18
1028Brazil2026-09-13
1029France2026-08-24
1030India2026-09-03
1031India2026-08-23
1032Argentina2026-08-31
1033France2026-09-09
1034Russia2026-09-18
1035Brazil2026-09-08
1036Spain2026-09-02
1037Australia2026-09-10
1038Italy2026-09-09
1039Germany2026-08-25
1040United Kingdom2026-09-06
1041Spain2026-09-12
1042Brazil2026-09-16
1043India2026-09-16
1044Argentina2026-08-30
1045Brazil2026-09-05
1046Brazil2026-09-08
1047Canada2026-08-23
1048Canada2026-08-27
1049Italy2026-08-25

On-Demand Data

NameIdCountryDate
Wickens E Inouye1000Spain2026-08-23
David H Schemmer1001Italy2026-09-07
Stacey N Albares1002Russia2026-08-25
Kadeem B Campain1003India2026-09-09
Antonio D Gaucho1004Argentina2026-09-15
Wickens F Inouye1005India2026-08-26
Ivar J Albares1006Brazil2026-09-06
Stacey K Dilliard1007Canada2026-08-29
Morrow J Bolognia1008Italy2026-08-22
Francesco E Saylors1009Brazil2026-09-01
Darci T Whobrey1010Brazil2026-09-18
Rodrigues M Stockham1011Russia2026-09-18
Chavez Y Morasca1012Australia2026-09-13
Francesco W Figeroa1013Canada2026-09-05
Ricardo V Flosi1014Brazil2026-09-14
David N Malet1015Germany2026-09-05
Maria R Dilliard1016Spain2026-08-29
Jones T Albares1017Germany2026-09-02
Ivar V Saylors1018Spain2026-08-20
Tony X Maclead1019Argentina2026-08-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones P MacleadIndiaIvan Magalhaes PROPOSAL
Stacey F GarufiAustraliaAsiya Javayant NEW
Johnson M FerenczItalyBernardo Dominic RENEWAL
David W SchemmerJapanElwin Sharvill PROPOSAL
Murillo S StockhamGermanyElwin Sharvill NEGOTIATION
Murillo B MaletAustraliaStephen Shaw RENEWAL
Isabel M WieserArgentinaAsiya Javayant UNQUALIFIED
Misaki N WaycottArgentinaOnyama Limba NEW
Julie E SaylorsBrazilXuxue Feng UNQUALIFIED
Salvatore W VenereUnited KingdomElwin Sharvill PROPOSAL
Juan U VocelkaFranceAmy Elsner RENEWAL
Mujtaba L CaldareraCanadaAnna Fali UNQUALIFIED
Darci A CampainGermanyBernardo Dominic UNQUALIFIED
Emily I ChuiIndiaOnyama Limba PROPOSAL
Claire R ShinkoFranceIvan Magalhaes NEGOTIATION
Ricardo X DarakjyFranceIvan Magalhaes NEGOTIATION
Rodrigues T RutaArgentinaXuxue Feng RENEWAL
James T KolmetzJapanAmy Elsner UNQUALIFIED
Sinclair Z CaldareraUnited KingdomElwin Sharvill RENEWAL
David K TollnerUnited KingdomIvan Magalhaes NEW
Mujtaba J RutaBrazilAmy Elsner RENEWAL
Maria A RulapaughIndiaAsiya Javayant QUALIFIED
Aditya E MarrierFranceOnyama Limba QUALIFIED
Nicolas O MarrierAustraliaIoni Bowcher RENEWAL
Smith Q GarufiCanadaIvan Magalhaes RENEWAL
Darci H DilliardBrazilAsiya Javayant PROPOSAL
Deepesh P ShinkoCanadaAnna Fali RENEWAL
Wickens W StensethAustraliaAmy Elsner PROPOSAL
Aika B StensethCanadaIoni Bowcher UNQUALIFIED
Silvio Q DarakjyIndiaIvan Magalhaes UNQUALIFIED
Cody X FigeroaItalyStephen Shaw QUALIFIED
Clifford A FollerGermanyElwin Sharvill NEW
Salvatore W OstroskyItalyAmy Elsner QUALIFIED
Leja A DilliardFranceBernardo Dominic NEW
Deepesh B MaletIndiaElwin Sharvill NEW
Julie C InouyeJapanIoni Bowcher RENEWAL
Rodrigues K BologniaUnited KingdomAmy Elsner PROPOSAL
Alejandro U InouyeArgentinaOnyama Limba RENEWAL
Leja H BologniaIndiaElwin Sharvill NEGOTIATION
Stacey T SergiSpainIoni Bowcher NEGOTIATION

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