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
Juan V MaletSpainIoni Bowcher PROPOSAL
Antonio C KuskoGermanyAmy Elsner NEGOTIATION
Kaitlin Z PoquetteSpainIvan Magalhaes RENEWAL
Aditya K CaldareraRussiaElwin Sharvill UNQUALIFIED
Kadeem Z CaldareraItalyXuxue Feng UNQUALIFIED
Clifford Z ShinkoUnited KingdomAmy Elsner NEW
Jeanfrancois Z WieserArgentinaAmy Elsner PROPOSAL
Nicolas R OldroydUnited KingdomXuxue Feng PROPOSAL
Alejandro L NickaItalyAmy Elsner NEGOTIATION
Octavia R RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Clifford R GauchoAustraliaOnyama Limba NEW
Jennifer O GillianSpainElwin Sharvill QUALIFIED
Stacey P FollerFranceElwin Sharvill NEW
Morrow K WaycottCanadaStephen Shaw RENEWAL
Stacey F BowleyJapanAsiya Javayant QUALIFIED
Morrow B MaletUnited KingdomAmy Elsner NEW
Darci F OldroydItalyAnna Fali QUALIFIED
Tony Q DilliardCanadaStephen Shaw QUALIFIED
Julie R BologniaGermanyAsiya Javayant UNQUALIFIED
Aika I ShinkoJapanBernardo Dominic UNQUALIFIED
Munro C MaletArgentinaAsiya Javayant UNQUALIFIED
Stacey L GillianUnited KingdomAsiya Javayant RENEWAL
Claire K MacleadSpainStephen Shaw NEGOTIATION
Jeanfrancois D OldroydBrazilAmy Elsner NEW
Alejandro Q NickaIndiaAmy Elsner PROPOSAL
Clifford E DarakjyUnited KingdomAmy Elsner NEW
Morrow Z SchemmerUnited KingdomElwin Sharvill PROPOSAL
Silvio M ButtRussiaAnna Fali UNQUALIFIED
Rodrigues D SlusarskiIndiaXuxue Feng PROPOSAL
Jefferson D OldroydSpainAsiya Javayant UNQUALIFIED
Francesco R WhobreySpainStephen Shaw NEW
Stacey J ChuiCanadaIvan Magalhaes UNQUALIFIED
Aditya E TollnerSpainAsiya Javayant QUALIFIED
Sinclair D AlbaresBrazilStephen Shaw UNQUALIFIED
Antonio P ButtIndiaBernardo Dominic PROPOSAL
Antonio M BologniaItalyStephen Shaw RENEWAL
Nicolas G PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Juan D NestleArgentinaElwin Sharvill NEGOTIATION
Adams D IturbideFranceIvan Magalhaes QUALIFIED
Leon X ShinkoArgentinaOnyama Limba PROPOSAL
Jefferson M DilliardSpainAsiya Javayant NEW
Aruna Z PerinUnited KingdomAmy Elsner QUALIFIED
Maisha P ChuiItalyAnna Fali QUALIFIED
Jefferson F CaldareraFranceBernardo Dominic QUALIFIED
Misaki K SlusarskiJapanOnyama Limba UNQUALIFIED
Johnson S RimBrazilOnyama Limba RENEWAL
Adams H AlbaresSpainStephen Shaw NEGOTIATION
Ivar U AmigonJapanStephen Shaw NEGOTIATION
Murillo K SchemmerRussiaElwin Sharvill NEW
Tony P AmigonItalyXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo P StensethIndiaElwin Sharvill NEGOTIATION
Misaki C FigeroaRussiaBernardo Dominic PROPOSAL
Silvio Y CaldareraIndiaOnyama Limba UNQUALIFIED
Maisha Z RulapaughArgentinaIvan Magalhaes PROPOSAL
Maisha H SaylorsArgentinaAsiya Javayant NEW
Mujtaba B KuskoBrazilAmy Elsner NEW
Antonio Q NestleFranceAnna Fali NEW
Nicolas G FerenczBrazilAmy Elsner PROPOSAL
Ashley V SlusarskiArgentinaAmy Elsner NEGOTIATION
Munro C NickaGermanyXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya X GarufiAustralia2026-10-02Commercial Press RENEWAL28Onyama Limba
1001Chavez A FollerBrazil2026-10-08Printing Dimensions UNQUALIFIED63Bernardo Dominic
1002Juan J PoquetteItaly2026-10-16Chapman, Ross E Esq QUALIFIED5Onyama Limba
1003Octavia W GlickGermany2026-10-23Chemel, James L Cpa RENEWAL17Elwin Sharvill
1004James D SchemmerIndia2026-10-10Chapman, Ross E Esq RENEWAL30Bernardo Dominic
1005Nicolas G FerenczGermany2026-10-10Morlong Associates NEGOTIATION20Ivan Magalhaes
1006Jefferson B DoeUnited Kingdom2026-10-09Chapman, Ross E Esq NEW27Asiya Javayant
1007Arvin D KuskoItaly2026-10-22Feiner Bros NEW83Elwin Sharvill
1008Misaki X StockhamArgentina2026-10-06Commercial Press NEGOTIATION0Amy Elsner
1009Octavia R DoeAustralia2026-10-18Benton, John B Jr RENEWAL71Anna Fali
1010Wickens G DoeUnited Kingdom2026-10-13Feltz Printing Service QUALIFIED56Anna Fali
1011Smith V ShinkoBrazil2026-10-08Commercial Press NEW80Amy Elsner
1012Chavez Z SaylorsAustralia2026-10-01King, Christopher A Esq NEGOTIATION28Amy Elsner
1013Aditya P PoquetteArgentina2026-10-18Buckley Miller Wright PROPOSAL64Ivan Magalhaes
1014Jefferson J PaprockiFrance2026-10-29Morlong Associates RENEWAL14Ivan Magalhaes
1015James L RoysterAustralia2026-10-08King, Christopher A Esq QUALIFIED36Amy Elsner
1016Greenwood N SergiUnited Kingdom2026-10-24Chemel, James L Cpa NEW27Bernardo Dominic
1017Kadeem T BologniaIndia2026-10-29Feiner Bros UNQUALIFIED84Amy Elsner
1018Chavez S SlusarskiFrance2026-10-23Chemel, James L Cpa NEW68Ioni Bowcher
1019Jeanfrancois D ChuiSpain2026-10-01Chemel, James L Cpa RENEWAL40Xuxue Feng
1020Emily U BriddickBrazil2026-10-05Chanay, Jeffrey A Esq QUALIFIED17Asiya Javayant
1021Salvatore F ChuiAustralia2026-10-20Morlong Associates QUALIFIED21Xuxue Feng
1022Sinclair J KolmetzJapan2026-10-05King, Christopher A Esq PROPOSAL21Xuxue Feng
1023Rodrigues U AlbaresArgentina2026-10-13Chemel, James L Cpa NEGOTIATION71Asiya Javayant
1024Aika V WieserUnited Kingdom2026-10-05Benton, John B Jr UNQUALIFIED75Stephen Shaw
1025Costa K KolmetzItaly2026-10-21Feiner Bros RENEWAL0Amy Elsner
1026Claire S RimAustralia2026-10-03Truhlar And Truhlar Attys NEW94Asiya Javayant
1027Ashley U ShinkoFrance2026-10-24Buckley Miller Wright NEGOTIATION91Amy Elsner
1028Darci N OstroskyUnited Kingdom2026-10-26Buckley Miller Wright RENEWAL91Elwin Sharvill
1029Aruna N MacleadRussia2026-10-23Rangoni Of Florence UNQUALIFIED33Elwin Sharvill
1030Tony D StockhamUnited Kingdom2026-10-23Feltz Printing Service QUALIFIED98Asiya Javayant
1031Francesco R RoysterAustralia2026-10-21Rangoni Of Florence UNQUALIFIED65Ivan Magalhaes
1032Wickens H MaletRussia2026-10-13King, Christopher A Esq QUALIFIED4Anna Fali
1033Clifford U SergiGermany2026-10-18Morlong Associates NEGOTIATION98Onyama Limba
1034David B CaudyFrance2026-10-02Rangoni Of Florence NEGOTIATION62Stephen Shaw
1035Kadeem O BowleyCanada2026-10-19Chemel, James L Cpa RENEWAL27Xuxue Feng
1036Francesco N AlbaresUnited Kingdom2026-10-05King, Christopher A Esq RENEWAL13Asiya Javayant
1037Aruna Q RutaArgentina2026-10-23Chemel, James L Cpa NEGOTIATION49Ioni Bowcher
1038Emily V GillianFrance2026-10-02Benton, John B Jr UNQUALIFIED57Stephen Shaw
1039Leon T MarrierGermany2026-10-15Truhlar And Truhlar Attys UNQUALIFIED67Asiya Javayant
1040Leja G KuskoCanada2026-10-11Chanay, Jeffrey A Esq RENEWAL39Ioni Bowcher
1041Kaitlin M BologniaRussia2026-10-12King, Christopher A Esq NEW63Xuxue Feng
1042Antonio V MacleadAustralia2026-10-11Printing Dimensions UNQUALIFIED8Elwin Sharvill
1043Antonio R ShinkoItaly2026-10-02Rangoni Of Florence NEW53Stephen Shaw
1044James N KuskoAustralia2026-10-18Feiner Bros NEW34Bernardo Dominic
1045Ricardo J SlusarskiFrance2026-10-20Benton, John B Jr RENEWAL17Bernardo Dominic
1046Ricardo L PaprockiItaly2026-10-29Chapman, Ross E Esq NEGOTIATION42Bernardo Dominic
1047Deepesh T KolmetzUnited Kingdom2026-10-05Feiner Bros PROPOSAL38Elwin Sharvill
1048Faith S StockhamSpain2026-10-11Benton, John B Jr QUALIFIED63Asiya Javayant
1049Ashley S GillianFrance2026-10-22King, Christopher A Esq QUALIFIED85Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Greenwood U SchemmerFranceAmy Elsner UNQUALIFIED
Jefferson D PerinArgentinaXuxue Feng NEW
Emily N CampainFranceXuxue Feng QUALIFIED
Mujtaba I GillianJapanStephen Shaw NEW
Nicolas P KolmetzBrazilIoni Bowcher NEW
Kadeem I TollnerJapanIvan Magalhaes NEGOTIATION
Silvio W CaudyRussiaAnna Fali NEW
Wickens E SlusarskiAustraliaElwin Sharvill RENEWAL
Clifford U WaycottItalyXuxue Feng RENEWAL
Greenwood P RutaRussiaElwin Sharvill UNQUALIFIED
Clifford A VocelkaItalyAmy Elsner NEGOTIATION
James A KolmetzArgentinaElwin Sharvill RENEWAL
Johnson H NestleFranceStephen Shaw UNQUALIFIED
Rodrigues H MaletArgentinaAnna Fali UNQUALIFIED
Ashley D NestleArgentinaStephen Shaw RENEWAL
Salvatore V GlickItalyIvan Magalhaes UNQUALIFIED
Juan Q PoquetteAustraliaXuxue Feng UNQUALIFIED
Izzy R GauchoCanadaElwin Sharvill QUALIFIED
Nicolas D FerenczSpainIoni Bowcher NEW
Tony F FerenczArgentinaXuxue Feng UNQUALIFIED
Murillo J WhobreyCanadaXuxue Feng PROPOSAL
Ivar P BowleySpainOnyama Limba QUALIFIED
Jefferson F GlickItalyElwin Sharvill NEGOTIATION
Aika L FerenczRussiaAnna Fali QUALIFIED
Kadeem M DoeGermanyBernardo Dominic NEGOTIATION
Jeanfrancois T MorascaUnited KingdomIoni Bowcher RENEWAL
Murillo X PaprockiAustraliaBernardo Dominic PROPOSAL
Ashley H PerinRussiaAsiya Javayant NEGOTIATION
Octavia T WaycottFranceAnna Fali QUALIFIED
Ivar G FerenczFranceStephen Shaw QUALIFIED
Darci U OldroydJapanIoni Bowcher PROPOSAL
Munro K NestleAustraliaAmy Elsner NEW
Juan J VocelkaArgentinaOnyama Limba NEGOTIATION
David A BowleyAustraliaAmy Elsner PROPOSAL
Kadeem X WieserSpainStephen Shaw NEGOTIATION
Antonio F AmigonJapanAmy Elsner PROPOSAL
Silvio J CaldareraSpainXuxue Feng PROPOSAL
Izzy Z WhobreyItalyAsiya Javayant NEGOTIATION
Costa Z AlbaresUnited KingdomAmy Elsner UNQUALIFIED
James I PerinArgentinaAnna Fali QUALIFIED
Leja G WaycottCanadaOnyama Limba QUALIFIED
Juan Y PaprockiArgentinaAmy Elsner NEW
Wickens V MaletItalyAmy Elsner NEW
Ricardo S GarufiSpainAsiya Javayant UNQUALIFIED
Maria R AmigonBrazilBernardo Dominic NEW
Deepesh S GillianSpainOnyama Limba PROPOSAL
Maria P VenereCanadaStephen Shaw NEW
Ricardo W SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Murillo M SaylorsAustraliaOnyama Limba NEGOTIATION
Ivar U PoquetteItalyAnna Fali UNQUALIFIED
Frozen Columns
Name
Mayumi O Kusko
Sinclair V Chui
Jones P Dilliard
Ashley T Iturbide
Misaki Q Dilliard
Aika V Maclead
Adams B Doe
Jones W Marrier
Darci C Marrier
Aika N Ostrosky
Leja R Wieser
Cody S Nicka
Kadeem G Schemmer
Chavez Y Marrier
Adams X Doe
Deepesh J Morasca
Jones W Perin
Deepesh X Oldroyd
Aruna Z Slusarski
Silvio M Flosi
Arvin B Slusarski
Isabel I Garufi
Smith H Malet
Alejandro C Saylors
Ricardo M Gaucho
Francesco S Butt
Smith R Stenseth
Clifford J Darakjy
Faith T Tollner
David N Venere
Chavez W Kolmetz
Aditya V Schemmer
Emily P Butt
Wickens B Stenseth
Francesco W Shinko
David S Whobrey
Aruna L Rulapaugh
Maisha N Doe
Ashley D Flosi
Morrow V Bolognia
Emily I Stockham
Claire W Doe
Misaki A Doe
Claire J Ostrosky
Silvio Y Inouye
Costa A Waycott
Aika K Poquette
Munro L Darakjy
Ashley I Butt
Isabel U Darakjy
IdCountryDate
1000Italy2026-10-06
1001India2026-10-19
1002Spain2026-10-19
1003Australia2026-10-06
1004India2026-10-05
1005France2026-10-26
1006India2026-10-29
1007Australia2026-10-13
1008Argentina2026-10-13
1009Canada2026-10-02
1010Canada2026-10-29
1011Russia2026-10-20
1012Spain2026-10-06
1013United Kingdom2026-09-30
1014France2026-10-16
1015Australia2026-10-16
1016France2026-10-05
1017Japan2026-10-20
1018Argentina2026-10-15
1019Russia2026-10-24
1020Spain2026-10-04
1021Italy2026-10-07
1022Germany2026-10-11
1023Japan2026-10-09
1024Germany2026-10-15
1025Germany2026-10-08
1026Russia2026-10-26
1027Japan2026-10-15
1028Spain2026-10-02
1029Canada2026-10-29
1030United Kingdom2026-10-16
1031Italy2026-10-12
1032Russia2026-10-22
1033United Kingdom2026-10-21
1034Brazil2026-10-13
1035Canada2026-10-26
1036United Kingdom2026-10-02
1037Germany2026-10-15
1038Italy2026-10-09
1039Japan2026-10-09
1040Brazil2026-10-05
1041United Kingdom2026-09-30
1042Argentina2026-10-09
1043United Kingdom2026-10-03
1044Italy2026-10-08
1045Japan2026-10-02
1046India2026-10-06
1047Germany2026-10-24
1048Canada2026-10-22
1049Japan2026-10-27

On-Demand Data

NameIdCountryDate
Kaitlin L Rulapaugh1000Argentina2026-10-04
Greenwood Q Stockham1001France2026-10-18
Aika Q Amigon1002Spain2026-10-17
Ivar E Gillian1003United Kingdom2026-10-26
Izzy U Darakjy1004Canada2026-09-30
Cody Z Iturbide1005Canada2026-10-06
Izzy P Chui1006Russia2026-09-30
Leon H Nicka1007Argentina2026-10-20
Isabel S Ruta1008Germany2026-10-09
Wickens T Darakjy1009India2026-10-20
Sinclair F Caldarera1010Brazil2026-10-04
Arvin S Rim1011France2026-10-02
Octavia U Ferencz1012Italy2026-10-08
Johnson G Tollner1013Japan2026-10-07
Julie A Paprocki1014Argentina2026-10-16
Greenwood B Malet1015United Kingdom2026-10-04
Morrow A Flosi1016Argentina2026-10-02
Deepesh X Ruta1017Italy2026-10-22
Silvio H Tollner1018Australia2026-10-25
Darci O Albares1019Spain2026-10-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin D KolmetzFranceAsiya Javayant NEGOTIATION
Maisha R BowleyFranceElwin Sharvill PROPOSAL
Rodrigues E FerenczItalyIoni Bowcher QUALIFIED
Mayumi W OstroskyRussiaBernardo Dominic QUALIFIED
Arvin O MarrierBrazilIvan Magalhaes PROPOSAL
Silvio K ShinkoFranceAmy Elsner NEW
Antonio N ChuiBrazilBernardo Dominic NEGOTIATION
Smith Z SaylorsRussiaStephen Shaw PROPOSAL
Johnson L KolmetzArgentinaElwin Sharvill NEGOTIATION
Jones O PaprockiBrazilAsiya Javayant NEGOTIATION
Mujtaba N SergiFranceAmy Elsner UNQUALIFIED
Jefferson X StockhamAustraliaAsiya Javayant NEW
Aika R BologniaFranceXuxue Feng QUALIFIED
Izzy Z RulapaughJapanOnyama Limba QUALIFIED
Aika H OstroskyGermanyStephen Shaw NEW
Nicolas S KuskoBrazilAsiya Javayant RENEWAL
Juan V SchemmerBrazilElwin Sharvill PROPOSAL
Clifford R CaldareraGermanyStephen Shaw NEW
Ricardo P RimSpainBernardo Dominic NEW
Emily K BologniaUnited KingdomXuxue Feng NEGOTIATION
Alejandro R PerinJapanAnna Fali UNQUALIFIED
Murillo V WaycottIndiaAmy Elsner NEW
Jennifer F BologniaJapanOnyama Limba NEGOTIATION
Sinclair Q KolmetzArgentinaAnna Fali QUALIFIED
Munro C WieserSpainElwin Sharvill NEGOTIATION
Izzy V VocelkaJapanAnna Fali RENEWAL
James G ButtSpainIoni Bowcher QUALIFIED
Octavia D OldroydIndiaAsiya Javayant NEW
Murillo L ButtRussiaAsiya Javayant QUALIFIED
Alejandro E StensethFranceOnyama Limba UNQUALIFIED
Maisha T WieserCanadaOnyama Limba UNQUALIFIED
Jeanfrancois Y RutaGermanyAnna Fali NEW
Juan F StockhamArgentinaBernardo Dominic QUALIFIED
Kaitlin T AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Ivar I CaudyUnited KingdomElwin Sharvill NEGOTIATION
Costa J PaprockiFranceAmy Elsner NEGOTIATION
Izzy O PerinArgentinaAsiya Javayant RENEWAL
Aika S DilliardIndiaIoni Bowcher UNQUALIFIED
Maria U FerenczItalyStephen Shaw QUALIFIED
Emily V TollnerSpainStephen Shaw RENEWAL

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