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
Arvin Z TollnerRussiaXuxue Feng NEW
Claire A SlusarskiCanadaIvan Magalhaes NEGOTIATION
Greenwood O WieserItalyXuxue Feng PROPOSAL
Francesco I AmigonIndiaAmy Elsner UNQUALIFIED
Isabel M DilliardUnited KingdomElwin Sharvill RENEWAL
Mayumi G VenereJapanAsiya Javayant QUALIFIED
Alejandro Z PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Sinclair T FollerJapanIoni Bowcher NEGOTIATION
Faith R SchemmerSpainStephen Shaw PROPOSAL
Rodrigues M SlusarskiRussiaStephen Shaw QUALIFIED
Greenwood N InouyeUnited KingdomAsiya Javayant QUALIFIED
Rodrigues X MaletUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin T MorascaItalyIoni Bowcher RENEWAL
Chavez H PaprockiJapanAmy Elsner NEGOTIATION
Isabel I FigeroaCanadaIvan Magalhaes RENEWAL
Salvatore Q DilliardRussiaOnyama Limba NEW
Mayumi P PoquetteJapanStephen Shaw UNQUALIFIED
Smith R FerenczJapanAnna Fali NEW
Johnson X PoquetteSpainIoni Bowcher NEW
Clifford V SchemmerRussiaAnna Fali NEW
Maisha G DilliardItalyIvan Magalhaes NEW
Emily A GarufiUnited KingdomIvan Magalhaes RENEWAL
Wickens X GlickSpainXuxue Feng NEW
Sinclair K AmigonItalyXuxue Feng UNQUALIFIED
Ricardo Z RulapaughAustraliaBernardo Dominic PROPOSAL
Aditya S TollnerAustraliaOnyama Limba NEW
Jeanfrancois C MarrierIndiaIvan Magalhaes UNQUALIFIED
Costa H RutaAustraliaBernardo Dominic RENEWAL
Octavia Z RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio J AlbaresIndiaIoni Bowcher RENEWAL
Tony O RoysterGermanyXuxue Feng PROPOSAL
Nicolas M WaycottAustraliaXuxue Feng NEW
James E ShinkoSpainIoni Bowcher NEW
Salvatore J MorascaIndiaXuxue Feng NEGOTIATION
Ricardo D MaletIndiaAnna Fali NEW
Aika A GauchoJapanStephen Shaw QUALIFIED
Izzy X SchemmerArgentinaBernardo Dominic NEGOTIATION
Aruna R PerinArgentinaElwin Sharvill NEGOTIATION
Claire Y KuskoGermanyIoni Bowcher UNQUALIFIED
Jones X SaylorsAustraliaElwin Sharvill PROPOSAL
Stacey X PoquetteAustraliaIvan Magalhaes PROPOSAL
Faith A CaudyRussiaBernardo Dominic RENEWAL
Francesco O ShinkoUnited KingdomIoni Bowcher PROPOSAL
Ricardo M FollerJapanXuxue Feng PROPOSAL
Johnson Q DarakjyFranceOnyama Limba UNQUALIFIED
Arvin Z ShinkoBrazilXuxue Feng PROPOSAL
Ricardo V AlbaresRussiaAmy Elsner RENEWAL
Munro X OldroydJapanBernardo Dominic NEGOTIATION
Izzy F FollerBrazilStephen Shaw NEGOTIATION
Octavia X PoquetteItalyAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Stacey U MarrierSpainAnna Fali NEGOTIATION
Darci M SlusarskiItalyStephen Shaw NEW
Kadeem W PerinGermanyIoni Bowcher RENEWAL
Johnson S GauchoBrazilElwin Sharvill QUALIFIED
Stacey L RoysterIndiaAsiya Javayant PROPOSAL
Jennifer I MorascaItalyAmy Elsner UNQUALIFIED
Nicolas V KolmetzAustraliaElwin Sharvill RENEWAL
Kaitlin C VocelkaCanadaXuxue Feng UNQUALIFIED
Rodrigues V DarakjyAustraliaOnyama Limba PROPOSAL
Alejandro C MacleadRussiaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire Y StensethBrazil2026-09-11King, Christopher A Esq QUALIFIED0Anna Fali
1001Clifford S PoquetteSpain2026-09-05Chanay, Jeffrey A Esq NEW92Amy Elsner
1002Aruna R GlickJapan2026-08-21Printing Dimensions QUALIFIED17Asiya Javayant
1003Maria Q BowleyIndia2026-08-26Rangoni Of Florence NEGOTIATION26Ivan Magalhaes
1004Jennifer W FollerJapan2026-08-27Truhlar And Truhlar Attys NEGOTIATION11Elwin Sharvill
1005Murillo C TollnerItaly2026-09-08Feltz Printing Service QUALIFIED71Onyama Limba
1006Claire D RutaCanada2026-09-15Commercial Press RENEWAL70Anna Fali
1007Isabel S OstroskyIndia2026-08-31Dorl, James J Esq RENEWAL42Ivan Magalhaes
1008Mujtaba W GauchoUnited Kingdom2026-09-06Rousseaux, Michael Esq NEGOTIATION66Amy Elsner
1009Morrow S SlusarskiAustralia2026-09-15Chanay, Jeffrey A Esq RENEWAL83Onyama Limba
1010James C NickaFrance2026-08-28Feiner Bros NEGOTIATION3Amy Elsner
1011Mujtaba H PaprockiJapan2026-08-20Printing Dimensions NEGOTIATION93Ivan Magalhaes
1012Antonio R StockhamGermany2026-09-13Truhlar And Truhlar Attys NEGOTIATION73Onyama Limba
1013Kaitlin W AmigonCanada2026-09-12Buckley Miller Wright QUALIFIED11Stephen Shaw
1014Deepesh Z BologniaArgentina2026-09-12Rangoni Of Florence NEGOTIATION89Stephen Shaw
1015Jefferson Y ShinkoRussia2026-08-25Chanay, Jeffrey A Esq QUALIFIED72Onyama Limba
1016Darci Q RulapaughRussia2026-09-02Printing Dimensions RENEWAL77Ioni Bowcher
1017Leja E DarakjyFrance2026-09-16Commercial Press NEGOTIATION26Asiya Javayant
1018David X NestleRussia2026-08-24Morlong Associates NEGOTIATION78Anna Fali
1019Morrow F WieserIndia2026-09-07Morlong Associates RENEWAL7Anna Fali
1020Maria A FlosiAustralia2026-09-07Chanay, Jeffrey A Esq PROPOSAL29Amy Elsner
1021Tony Q WhobreyAustralia2026-09-08Chemel, James L Cpa NEGOTIATION27Xuxue Feng
1022Antonio I KolmetzSpain2026-09-12Benton, John B Jr NEW9Amy Elsner
1023Kaitlin R StockhamAustralia2026-08-21Morlong Associates PROPOSAL90Onyama Limba
1024Jennifer B FollerSpain2026-09-02Morlong Associates NEGOTIATION37Amy Elsner
1025Kadeem E ChuiGermany2026-09-12Morlong Associates UNQUALIFIED10Ivan Magalhaes
1026Morrow B DoeIndia2026-08-21Printing Dimensions RENEWAL88Ivan Magalhaes
1027Jefferson L ShinkoArgentina2026-09-08Printing Dimensions PROPOSAL90Stephen Shaw
1028Smith W OstroskyRussia2026-08-24Printing Dimensions RENEWAL72Elwin Sharvill
1029Mujtaba H GarufiSpain2026-09-07Truhlar And Truhlar Attys PROPOSAL41Stephen Shaw
1030Aditya H RutaRussia2026-09-10Commercial Press NEGOTIATION49Ivan Magalhaes
1031Ricardo X RoysterGermany2026-09-01Chapman, Ross E Esq NEGOTIATION89Onyama Limba
1032Leja M MaletAustralia2026-08-21Printing Dimensions PROPOSAL60Bernardo Dominic
1033James C DoeJapan2026-08-30Chanay, Jeffrey A Esq NEGOTIATION66Asiya Javayant
1034Jefferson P WhobreyGermany2026-09-05Rousseaux, Michael Esq NEGOTIATION64Anna Fali
1035Aditya T RimUnited Kingdom2026-09-15Printing Dimensions UNQUALIFIED78Bernardo Dominic
1036Arvin A FigeroaUnited Kingdom2026-09-02Rangoni Of Florence NEGOTIATION24Ioni Bowcher
1037Silvio K KuskoBrazil2026-09-13Rangoni Of Florence NEGOTIATION65Onyama Limba
1038Clifford M AmigonIndia2026-09-03Feiner Bros NEW31Anna Fali
1039Wickens O OldroydUnited Kingdom2026-08-27Buckley Miller Wright PROPOSAL81Anna Fali
1040Chavez F SaylorsBrazil2026-09-15Chanay, Jeffrey A Esq NEW35Elwin Sharvill
1041Alejandro X GauchoRussia2026-09-07Rangoni Of Florence PROPOSAL65Ioni Bowcher
1042Deepesh H FlosiSpain2026-09-03King, Christopher A Esq PROPOSAL37Xuxue Feng
1043Greenwood Q InouyeAustralia2026-09-14Chemel, James L Cpa NEW6Xuxue Feng
1044Ivar W AlbaresCanada2026-09-08Rousseaux, Michael Esq QUALIFIED43Amy Elsner
1045Jeanfrancois X BowleyJapan2026-09-10Printing Dimensions NEGOTIATION54Onyama Limba
1046Leja S SergiSpain2026-09-04Rousseaux, Michael Esq UNQUALIFIED46Ivan Magalhaes
1047Jeanfrancois Y StensethJapan2026-08-28Dorl, James J Esq UNQUALIFIED44Xuxue Feng
1048Ivar I StockhamItaly2026-08-26Commercial Press UNQUALIFIED53Ivan Magalhaes
1049Jones O VocelkaGermany2026-09-07Rousseaux, Michael Esq NEW6Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Izzy O GarufiRussiaOnyama Limba NEGOTIATION
Jennifer Q MaletBrazilAnna Fali NEGOTIATION
Munro U RutaArgentinaIoni Bowcher UNQUALIFIED
Sinclair K InouyeCanadaOnyama Limba QUALIFIED
Salvatore P FerenczRussiaBernardo Dominic QUALIFIED
Murillo Z CaudyFranceAmy Elsner NEGOTIATION
Costa S MacleadRussiaOnyama Limba UNQUALIFIED
Smith R NestleAustraliaAsiya Javayant PROPOSAL
Izzy L InouyeItalyIoni Bowcher UNQUALIFIED
Costa V MaletFranceIoni Bowcher NEGOTIATION
Aruna B OldroydIndiaStephen Shaw NEW
Chavez I CampainSpainIoni Bowcher NEW
Smith X DoeFranceIoni Bowcher QUALIFIED
Tony M BriddickCanadaStephen Shaw UNQUALIFIED
Stacey S OldroydRussiaStephen Shaw NEW
Jennifer H DoeGermanyAmy Elsner QUALIFIED
Mayumi Z ShinkoCanadaOnyama Limba PROPOSAL
Adams E MarrierArgentinaBernardo Dominic QUALIFIED
Murillo V KuskoSpainXuxue Feng PROPOSAL
Izzy P WhobreyItalyXuxue Feng RENEWAL
Ivar P NestleArgentinaIvan Magalhaes RENEWAL
Costa I MarrierSpainBernardo Dominic NEW
Costa N InouyeCanadaIvan Magalhaes QUALIFIED
Jefferson R MaletBrazilAmy Elsner NEW
Emily Q ShinkoCanadaIvan Magalhaes QUALIFIED
Maria R SergiArgentinaElwin Sharvill QUALIFIED
Johnson L PaprockiUnited KingdomBernardo Dominic QUALIFIED
Mujtaba O DoeFranceBernardo Dominic NEW
Clifford M DoeJapanAmy Elsner RENEWAL
Octavia B CaudyUnited KingdomAnna Fali NEGOTIATION
Alejandro F PaprockiRussiaBernardo Dominic UNQUALIFIED
Antonio V InouyeItalyIoni Bowcher UNQUALIFIED
Silvio S BriddickCanadaOnyama Limba PROPOSAL
Maisha L PerinAustraliaBernardo Dominic NEGOTIATION
Arvin M StockhamJapanOnyama Limba NEW
Emily C VocelkaGermanyAsiya Javayant UNQUALIFIED
Mayumi E PoquetteRussiaStephen Shaw QUALIFIED
Isabel F MarrierSpainAsiya Javayant PROPOSAL
Octavia R RulapaughUnited KingdomBernardo Dominic NEW
Silvio X BologniaCanadaIvan Magalhaes QUALIFIED
Arvin J SaylorsAustraliaBernardo Dominic PROPOSAL
Francesco X FerenczIndiaElwin Sharvill PROPOSAL
James Q MorascaArgentinaIoni Bowcher QUALIFIED
Johnson O ChuiGermanyIvan Magalhaes UNQUALIFIED
David P DoeBrazilIoni Bowcher PROPOSAL
Darci F DoeGermanyAmy Elsner PROPOSAL
Aruna V DarakjyIndiaIvan Magalhaes PROPOSAL
Kadeem X GlickAustraliaStephen Shaw RENEWAL
Munro C AmigonSpainIoni Bowcher QUALIFIED
Alejandro A VocelkaSpainIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Silvio S Briddick
Aruna U Doe
Aruna K Bolognia
Morrow B Iturbide
Alejandro W Figeroa
Isabel G Ferencz
Leja X Inouye
Darci I Venere
Maisha D Nestle
Izzy T Caldarera
Izzy Y Waycott
Leja U Malet
Murillo X Figeroa
Isabel V Darakjy
Deepesh W Ostrosky
Smith C Briddick
Leja K Ferencz
Clifford K Glick
Emily S Ferencz
Antonio L Royster
Aruna J Stenseth
Ashley X Figeroa
Greenwood J Nestle
Aditya R Albares
Morrow V Malet
Costa J Briddick
Misaki S Butt
Juan Y Bolognia
Munro X Schemmer
Costa U Stockham
Maria J Kolmetz
Kaitlin B Briddick
Julie U Whobrey
Mujtaba P Malet
James E Rulapaugh
Faith C Caldarera
Jones G Albares
Octavia I Royster
Stacey Q Rulapaugh
Leja I Gillian
David D Poquette
Jeanfrancois M Figeroa
Julie N Rim
Adams V Ruta
Faith Z Glick
Mayumi U Iturbide
Nicolas Q Slusarski
David Q Briddick
Jennifer A Malet
Jennifer P Gillian
IdCountryDate
1000India2026-08-27
1001United Kingdom2026-09-07
1002Italy2026-09-05
1003Brazil2026-08-27
1004United Kingdom2026-08-25
1005India2026-09-14
1006Germany2026-09-12
1007Argentina2026-09-12
1008Japan2026-09-16
1009United Kingdom2026-09-14
1010Spain2026-08-26
1011Japan2026-08-22
1012India2026-08-28
1013Australia2026-09-12
1014United Kingdom2026-08-21
1015Brazil2026-08-27
1016Argentina2026-09-06
1017Italy2026-09-02
1018Brazil2026-09-18
1019Argentina2026-08-30
1020Brazil2026-08-20
1021Brazil2026-09-16
1022Brazil2026-08-21
1023Canada2026-09-01
1024India2026-09-02
1025Japan2026-08-30
1026Argentina2026-08-30
1027Spain2026-09-13
1028Canada2026-09-08
1029Brazil2026-08-23
1030Canada2026-08-20
1031Spain2026-08-29
1032Japan2026-08-28
1033United Kingdom2026-08-26
1034Italy2026-08-22
1035Spain2026-09-06
1036United Kingdom2026-08-30
1037Russia2026-09-13
1038Japan2026-09-17
1039Italy2026-08-21
1040Italy2026-09-16
1041Spain2026-09-15
1042Russia2026-09-12
1043Italy2026-08-30
1044Italy2026-09-03
1045Russia2026-09-17
1046Japan2026-09-13
1047Italy2026-09-06
1048Spain2026-09-09
1049Canada2026-09-04

On-Demand Data

NameIdCountryDate
Deepesh K Bolognia1000Argentina2026-08-25
Misaki O Garufi1001Italy2026-09-01
Wickens Z Venere1002Brazil2026-09-11
Isabel T Schemmer1003United Kingdom2026-09-12
Ivar L Malet1004France2026-08-28
Darci S Gillian1005Russia2026-09-01
Adams Q Kolmetz1006Russia2026-09-02
Arvin Q Caudy1007India2026-08-30
Izzy C Sergi1008Italy2026-09-15
Maisha B Rim1009Germany2026-08-28
Wickens H Wieser1010Canada2026-09-09
Ivar F Caldarera1011United Kingdom2026-09-18
Faith B Ostrosky1012Japan2026-08-30
Tony B Stenseth1013Russia2026-09-02
Salvatore W Gaucho1014Australia2026-09-16
Salvatore I Butt1015France2026-08-20
Ashley Z Perin1016Japan2026-09-02
Ivar Y Royster1017Argentina2026-09-06
Claire W Figeroa1018Argentina2026-09-11
Deepesh B Nicka1019Brazil2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley E PoquetteRussiaXuxue Feng RENEWAL
Adams Y PaprockiIndiaElwin Sharvill PROPOSAL
Juan U CaldareraItalyElwin Sharvill QUALIFIED
Greenwood I CampainFranceIoni Bowcher PROPOSAL
Chavez G WieserItalyStephen Shaw UNQUALIFIED
Tony F DoeArgentinaAmy Elsner QUALIFIED
Octavia D OstroskyUnited KingdomAnna Fali UNQUALIFIED
Sinclair E SergiItalyIvan Magalhaes RENEWAL
Francesco R MorascaGermanyStephen Shaw NEGOTIATION
Cody C KolmetzIndiaAnna Fali QUALIFIED
Francesco O PoquetteGermanyStephen Shaw PROPOSAL
James L PerinGermanyOnyama Limba PROPOSAL
Jeanfrancois A PoquetteArgentinaIoni Bowcher UNQUALIFIED
Stacey J InouyeFranceAnna Fali PROPOSAL
Ricardo N OldroydIndiaAmy Elsner QUALIFIED
Cody A SchemmerUnited KingdomIvan Magalhaes RENEWAL
Jennifer G GarufiArgentinaIoni Bowcher UNQUALIFIED
Arvin B GarufiUnited KingdomElwin Sharvill RENEWAL
Costa Q RulapaughGermanyXuxue Feng RENEWAL
Ricardo D MacleadFranceXuxue Feng NEGOTIATION
Nicolas T OstroskyItalyStephen Shaw NEW
Misaki M MorascaSpainIoni Bowcher UNQUALIFIED
David M IturbideGermanyAnna Fali NEGOTIATION
Leja R CaudySpainAnna Fali NEGOTIATION
Claire I SergiBrazilIoni Bowcher RENEWAL
David H OldroydSpainAmy Elsner PROPOSAL
Stacey I NickaRussiaStephen Shaw UNQUALIFIED
James K FlosiArgentinaAmy Elsner NEW
Chavez A MorascaItalyAnna Fali PROPOSAL
Juan D VocelkaFranceElwin Sharvill NEW
Salvatore L WhobreyUnited KingdomOnyama Limba UNQUALIFIED
Maisha I NickaBrazilAnna Fali PROPOSAL
Octavia R CampainBrazilIvan Magalhaes QUALIFIED
Leon O AlbaresGermanyXuxue Feng NEGOTIATION
Mayumi C BriddickUnited KingdomOnyama Limba RENEWAL
Faith A PerinArgentinaIvan Magalhaes NEGOTIATION
Cody N FollerRussiaBernardo Dominic NEGOTIATION
Jefferson H PerinSpainAnna Fali UNQUALIFIED
Stacey C FigeroaIndiaBernardo Dominic RENEWAL
Stacey B TollnerSpainXuxue Feng QUALIFIED

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