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
Kadeem D BowleyCanadaElwin Sharvill QUALIFIED
Maria I SergiIndiaBernardo Dominic NEGOTIATION
Antonio X RimArgentinaStephen Shaw PROPOSAL
Leja D OstroskyGermanyIoni Bowcher NEW
Murillo X MaletFranceOnyama Limba UNQUALIFIED
Sinclair J SlusarskiIndiaAmy Elsner UNQUALIFIED
Aruna K BologniaFranceElwin Sharvill RENEWAL
Darci L PaprockiSpainXuxue Feng NEW
Sinclair S TollnerUnited KingdomIvan Magalhaes NEW
Izzy G RulapaughCanadaBernardo Dominic UNQUALIFIED
Darci R CaudyRussiaOnyama Limba NEGOTIATION
Maria F SchemmerItalyXuxue Feng UNQUALIFIED
Murillo L MorascaJapanStephen Shaw NEW
Kaitlin C BriddickFranceAmy Elsner PROPOSAL
Jones K SlusarskiGermanyXuxue Feng RENEWAL
Clifford R KolmetzCanadaIvan Magalhaes UNQUALIFIED
Faith F AmigonUnited KingdomStephen Shaw NEW
Aruna H RutaAustraliaAnna Fali NEGOTIATION
Clifford D DoeArgentinaAsiya Javayant NEGOTIATION
Mayumi P IturbideJapanAsiya Javayant PROPOSAL
Sinclair I BriddickRussiaElwin Sharvill PROPOSAL
Jefferson D CaudyUnited KingdomXuxue Feng QUALIFIED
Rodrigues S GillianItalyIvan Magalhaes UNQUALIFIED
Sinclair C OstroskyIndiaOnyama Limba NEGOTIATION
Tony R OstroskyAustraliaXuxue Feng NEGOTIATION
Kaitlin J RoysterSpainIoni Bowcher NEGOTIATION
Alejandro Y BowleySpainIoni Bowcher UNQUALIFIED
Adams M VenereCanadaOnyama Limba NEW
Leon U AlbaresItalyIvan Magalhaes RENEWAL
Sinclair O GauchoArgentinaIoni Bowcher QUALIFIED
Cody W SchemmerSpainIoni Bowcher NEW
Costa Z PaprockiIndiaIvan Magalhaes QUALIFIED
Nicolas H ChuiAustraliaElwin Sharvill NEW
Jeanfrancois T StockhamSpainAsiya Javayant QUALIFIED
Leja X MaletJapanStephen Shaw PROPOSAL
Morrow M CampainCanadaStephen Shaw RENEWAL
Aditya U MaletBrazilXuxue Feng UNQUALIFIED
Aruna P SchemmerIndiaStephen Shaw QUALIFIED
Kadeem M VenereAustraliaStephen Shaw QUALIFIED
Salvatore N MaletBrazilXuxue Feng NEW
Morrow C MaletItalyXuxue Feng PROPOSAL
Jennifer W MarrierFranceAsiya Javayant PROPOSAL
Claire C SlusarskiRussiaAnna Fali QUALIFIED
Aruna I SchemmerRussiaStephen Shaw UNQUALIFIED
Francesco O IturbideJapanAsiya Javayant QUALIFIED
Kadeem J AmigonBrazilXuxue Feng QUALIFIED
Aruna E MarrierCanadaIvan Magalhaes RENEWAL
Darci M GlickSpainElwin Sharvill UNQUALIFIED
Murillo H MacleadItalyAmy Elsner NEGOTIATION
Faith N AlbaresBrazilAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro V KolmetzArgentinaIoni Bowcher QUALIFIED
Chavez L ChuiBrazilIvan Magalhaes NEW
Nicolas S SchemmerAustraliaStephen Shaw PROPOSAL
Adams G GillianRussiaAnna Fali QUALIFIED
Salvatore M MacleadAustraliaBernardo Dominic RENEWAL
Juan K CampainGermanyXuxue Feng QUALIFIED
Nicolas V GarufiArgentinaElwin Sharvill RENEWAL
Jones K WhobreyBrazilIvan Magalhaes NEW
James O MarrierUnited KingdomXuxue Feng QUALIFIED
David D KuskoJapanAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith F DilliardGermany2026-10-30Truhlar And Truhlar Attys NEGOTIATION60Bernardo Dominic
1001Kaitlin T SergiUnited Kingdom2026-10-20Commercial Press QUALIFIED69Elwin Sharvill
1002Mujtaba P KolmetzAustralia2026-10-12King, Christopher A Esq QUALIFIED53Xuxue Feng
1003Tony M BologniaIndia2026-10-31Printing Dimensions RENEWAL27Stephen Shaw
1004Arvin H CampainBrazil2026-10-05Feiner Bros RENEWAL55Ioni Bowcher
1005Izzy W CampainIndia2026-10-07Rousseaux, Michael Esq NEW49Elwin Sharvill
1006Cody C KolmetzRussia2026-10-16Feltz Printing Service RENEWAL80Ivan Magalhaes
1007Nicolas B FerenczBrazil2026-10-03King, Christopher A Esq NEW9Elwin Sharvill
1008Alejandro U CaldareraGermany2026-10-17Benton, John B Jr RENEWAL52Asiya Javayant
1009Jones X DilliardRussia2026-10-19Chemel, James L Cpa NEW62Xuxue Feng
1010Adams Z VenereJapan2026-10-22Buckley Miller Wright NEW93Onyama Limba
1011Claire R MorascaJapan2026-10-22Truhlar And Truhlar Attys QUALIFIED10Amy Elsner
1012Salvatore H KolmetzSpain2026-10-23Chanay, Jeffrey A Esq NEGOTIATION0Bernardo Dominic
1013Julie J SergiIndia2026-10-26Morlong Associates UNQUALIFIED69Onyama Limba
1014Leon E PerinIndia2026-10-21King, Christopher A Esq PROPOSAL91Ivan Magalhaes
1015Claire B RutaCanada2026-10-27Feltz Printing Service UNQUALIFIED62Bernardo Dominic
1016Izzy K WieserGermany2026-10-13Buckley Miller Wright QUALIFIED94Anna Fali
1017Aruna P RutaAustralia2026-10-05Truhlar And Truhlar Attys QUALIFIED68Bernardo Dominic
1018Nicolas J FollerFrance2026-10-13Chapman, Ross E Esq QUALIFIED43Elwin Sharvill
1019Jones X ChuiArgentina2026-10-18Chanay, Jeffrey A Esq UNQUALIFIED99Onyama Limba
1020James Y MarrierCanada2026-10-23Commercial Press PROPOSAL13Ivan Magalhaes
1021Leja Y CampainBrazil2026-10-26Chemel, James L Cpa QUALIFIED70Stephen Shaw
1022Stacey S ChuiIndia2026-10-20Buckley Miller Wright NEGOTIATION73Asiya Javayant
1023Sinclair Q WaycottSpain2026-10-05King, Christopher A Esq NEGOTIATION80Ivan Magalhaes
1024Rodrigues N NestleFrance2026-10-20Chapman, Ross E Esq UNQUALIFIED95Ioni Bowcher
1025Costa R GlickItaly2026-10-08Printing Dimensions NEGOTIATION87Ivan Magalhaes
1026Tony A GlickCanada2026-10-18Rousseaux, Michael Esq UNQUALIFIED86Amy Elsner
1027Smith O DilliardArgentina2026-10-26Dorl, James J Esq RENEWAL46Bernardo Dominic
1028Jefferson W BriddickIndia2026-10-20King, Christopher A Esq PROPOSAL28Elwin Sharvill
1029Clifford L PoquetteSpain2026-10-11Rangoni Of Florence RENEWAL15Stephen Shaw
1030Arvin C RulapaughCanada2026-10-22Commercial Press RENEWAL73Asiya Javayant
1031Wickens L GauchoFrance2026-10-18Feltz Printing Service NEW59Bernardo Dominic
1032Mujtaba X KolmetzSpain2026-10-29Morlong Associates PROPOSAL53Xuxue Feng
1033Misaki W MarrierJapan2026-10-24Benton, John B Jr QUALIFIED51Asiya Javayant
1034Stacey K GarufiRussia2026-10-10Dorl, James J Esq NEGOTIATION63Ioni Bowcher
1035Aruna U DoeFrance2026-10-06Benton, John B Jr UNQUALIFIED96Anna Fali
1036Deepesh E FigeroaSpain2026-10-28Rousseaux, Michael Esq RENEWAL22Ivan Magalhaes
1037Darci L BowleyGermany2026-10-04Benton, John B Jr RENEWAL22Amy Elsner
1038Maria O RulapaughGermany2026-10-16Rangoni Of Florence UNQUALIFIED79Elwin Sharvill
1039Juan L KolmetzIndia2026-10-19Rousseaux, Michael Esq PROPOSAL21Amy Elsner
1040Juan A SchemmerRussia2026-10-26Benton, John B Jr QUALIFIED23Onyama Limba
1041Jones U RimItaly2026-10-05King, Christopher A Esq PROPOSAL63Stephen Shaw
1042Adams K SergiJapan2026-10-28Printing Dimensions RENEWAL48Elwin Sharvill
1043Leja O NickaBrazil2026-10-25Morlong Associates UNQUALIFIED93Onyama Limba
1044Salvatore D KolmetzGermany2026-10-08King, Christopher A Esq NEW41Xuxue Feng
1045Ricardo V SaylorsSpain2026-10-21Feiner Bros NEW58Onyama Limba
1046Jefferson K DilliardItaly2026-10-10Printing Dimensions QUALIFIED19Bernardo Dominic
1047Munro C CaldareraSpain2026-10-04Chemel, James L Cpa RENEWAL50Amy Elsner
1048Kaitlin O MaletArgentina2026-10-15Dorl, James J Esq QUALIFIED48Stephen Shaw
1049Francesco L IturbideArgentina2026-10-11Dorl, James J Esq UNQUALIFIED7Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Antonio M GarufiCanadaOnyama Limba UNQUALIFIED
Isabel A KolmetzAustraliaIvan Magalhaes QUALIFIED
Emily I SchemmerSpainOnyama Limba NEGOTIATION
Aditya G MaletBrazilBernardo Dominic PROPOSAL
Aika H GillianIndiaAsiya Javayant PROPOSAL
James Q VenereGermanyAsiya Javayant RENEWAL
Octavia G MaletBrazilIvan Magalhaes PROPOSAL
Octavia C GarufiCanadaAnna Fali RENEWAL
Wickens R AlbaresCanadaBernardo Dominic PROPOSAL
Maria A MarrierRussiaAmy Elsner QUALIFIED
Silvio D RutaJapanOnyama Limba PROPOSAL
Aruna L SergiRussiaAmy Elsner UNQUALIFIED
Faith Y SaylorsArgentinaXuxue Feng NEW
Antonio N MacleadRussiaXuxue Feng RENEWAL
Rodrigues T WaycottRussiaAmy Elsner UNQUALIFIED
Munro I DoeRussiaElwin Sharvill UNQUALIFIED
Emily U FlosiIndiaElwin Sharvill RENEWAL
Jefferson T PerinCanadaAmy Elsner QUALIFIED
Stacey O PerinGermanyIoni Bowcher PROPOSAL
Misaki P RutaItalyElwin Sharvill NEGOTIATION
Darci J NestleRussiaStephen Shaw QUALIFIED
Rodrigues V WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Cody E OstroskyJapanIoni Bowcher NEW
Silvio Q FollerCanadaAmy Elsner RENEWAL
Kaitlin L VocelkaJapanAmy Elsner NEGOTIATION
Deepesh D MaletJapanAsiya Javayant PROPOSAL
Stacey J AmigonRussiaAnna Fali NEGOTIATION
Salvatore T SaylorsSpainIvan Magalhaes UNQUALIFIED
Smith W MarrierGermanyBernardo Dominic RENEWAL
Antonio C VenereItalyIvan Magalhaes UNQUALIFIED
Jones L SaylorsItalyIoni Bowcher RENEWAL
Cody T SchemmerArgentinaIvan Magalhaes NEGOTIATION
Wickens E VocelkaCanadaXuxue Feng UNQUALIFIED
Juan J KolmetzJapanIoni Bowcher RENEWAL
Kadeem N WaycottIndiaAsiya Javayant UNQUALIFIED
Nicolas A VenereJapanStephen Shaw RENEWAL
Adams K VenereSpainAsiya Javayant QUALIFIED
Jones E NickaBrazilOnyama Limba NEW
Chavez N FigeroaRussiaXuxue Feng UNQUALIFIED
Mujtaba Q WieserItalyAmy Elsner NEW
Ashley W FerenczCanadaAnna Fali QUALIFIED
Faith I GlickSpainXuxue Feng RENEWAL
Ricardo C CaudyFranceStephen Shaw PROPOSAL
Leja F FlosiAustraliaStephen Shaw QUALIFIED
Ivar T PerinJapanIoni Bowcher UNQUALIFIED
Nicolas K FollerJapanStephen Shaw UNQUALIFIED
Faith R VocelkaSpainBernardo Dominic UNQUALIFIED
Ivar U WieserJapanOnyama Limba PROPOSAL
Alejandro H CaldareraFranceBernardo Dominic PROPOSAL
Rodrigues Z FigeroaUnited KingdomIoni Bowcher QUALIFIED
Frozen Columns
Name
Kaitlin A Perin
Silvio A Schemmer
Munro L Gaucho
Misaki U Royster
Darci A Bowley
Morrow J Morasca
Costa O Inouye
Maria S Bowley
Misaki V Paprocki
Costa R Briddick
Smith I Paprocki
Alejandro S Ostrosky
Mujtaba X Darakjy
Chavez C Wieser
Leja K Nicka
Kadeem K Bolognia
Izzy E Nestle
Adams C Maclead
Greenwood T Doe
Greenwood R Stenseth
Murillo Q Stockham
Alejandro A Albares
Julie C Gillian
Ricardo K Nestle
Tony T Bolognia
Jones D Maclead
Greenwood D Garufi
Clifford G Schemmer
Wickens Z Perin
Ricardo K Chui
Jennifer S Rim
Aruna A Amigon
Chavez O Oldroyd
Arvin V Ruta
Clifford M Chui
Antonio C Foller
Leon L Inouye
Greenwood A Kolmetz
Ricardo V Wieser
Cody F Bolognia
Julie U Marrier
Aditya I Marrier
Julie Q Rim
James Q Gaucho
Adams E Gillian
Isabel N Saylors
Julie M Briddick
David H Tollner
Jefferson S Waycott
Salvatore W Oldroyd
IdCountryDate
1000France2026-10-09
1001Russia2026-10-20
1002Japan2026-10-22
1003Spain2026-10-10
1004Brazil2026-10-21
1005Italy2026-10-12
1006Argentina2026-10-19
1007France2026-10-30
1008Germany2026-10-05
1009France2026-10-10
1010France2026-10-30
1011Germany2026-10-04
1012France2026-10-29
1013Germany2026-10-21
1014Russia2026-10-24
1015Japan2026-10-03
1016Italy2026-10-23
1017Australia2026-10-27
1018Germany2026-10-29
1019France2026-10-16
1020France2026-10-14
1021Australia2026-10-22
1022Canada2026-10-09
1023Germany2026-10-07
1024Australia2026-10-13
1025Canada2026-10-04
1026Spain2026-10-19
1027Germany2026-10-25
1028Russia2026-10-07
1029Russia2026-10-08
1030India2026-10-14
1031Brazil2026-10-15
1032Japan2026-10-26
1033United Kingdom2026-10-18
1034Italy2026-10-29
1035United Kingdom2026-10-16
1036United Kingdom2026-10-25
1037India2026-10-21
1038Japan2026-10-20
1039Brazil2026-10-27
1040Spain2026-10-30
1041Russia2026-10-28
1042Russia2026-10-12
1043India2026-10-29
1044Japan2026-10-03
1045Italy2026-10-17
1046Brazil2026-10-15
1047Australia2026-10-04
1048Germany2026-10-15
1049Spain2026-10-26

On-Demand Data

NameIdCountryDate
James I Dilliard1000India2026-10-04
Jones F Waycott1001Australia2026-10-21
Darci D Waycott1002Russia2026-10-07
Julie Y Sergi1003Argentina2026-10-14
Clifford D Ferencz1004Japan2026-10-08
Ivar S Ruta1005Brazil2026-10-14
Ricardo H Maclead1006Russia2026-10-09
Cody J Ostrosky1007Germany2026-10-26
Juan G Garufi1008Spain2026-10-30
Aditya B Amigon1009United Kingdom2026-10-20
Leja B Chui1010Spain2026-10-19
Faith C Amigon1011Japan2026-11-01
Munro Q Glick1012Germany2026-10-31
Silvio K Nicka1013Italy2026-10-05
Mujtaba Y Malet1014India2026-10-12
Francesco U Inouye1015Argentina2026-10-17
Ricardo A Oldroyd1016United Kingdom2026-10-16
Morrow A Caldarera1017Canada2026-10-06
Francesco R Schemmer1018Spain2026-10-16
Smith L Rim1019Australia2026-10-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony E ButtItalyBernardo Dominic NEW
Arvin F RoysterJapanBernardo Dominic QUALIFIED
Leon G RulapaughBrazilOnyama Limba QUALIFIED
Jefferson H ChuiBrazilAsiya Javayant UNQUALIFIED
Ivar F PoquetteItalyXuxue Feng RENEWAL
Octavia T GillianGermanyAsiya Javayant PROPOSAL
Ivar S AmigonRussiaBernardo Dominic QUALIFIED
Jefferson T FerenczSpainAmy Elsner QUALIFIED
Jefferson X MarrierSpainBernardo Dominic NEGOTIATION
Smith I ButtIndiaBernardo Dominic PROPOSAL
Alejandro Q DilliardUnited KingdomBernardo Dominic NEGOTIATION
Johnson H FollerArgentinaIoni Bowcher RENEWAL
Juan J NestleJapanBernardo Dominic NEW
Emily P MacleadAustraliaAmy Elsner NEW
Faith W MarrierItalyIvan Magalhaes UNQUALIFIED
Jefferson U AmigonSpainIoni Bowcher NEGOTIATION
Isabel R OldroydItalyIvan Magalhaes NEW
Octavia V CampainItalyOnyama Limba PROPOSAL
Johnson V CaudyItalyStephen Shaw RENEWAL
Izzy C DarakjyCanadaAnna Fali NEW
Aditya D GarufiRussiaXuxue Feng UNQUALIFIED
Silvio Y BologniaItalyBernardo Dominic RENEWAL
Octavia L PoquetteUnited KingdomElwin Sharvill RENEWAL
Aika F BowleyIndiaAsiya Javayant NEGOTIATION
Rodrigues W CaldareraGermanyElwin Sharvill QUALIFIED
Octavia Q FerenczItalyAsiya Javayant UNQUALIFIED
Ricardo J BologniaAustraliaStephen Shaw QUALIFIED
Salvatore H TollnerItalyAsiya Javayant NEW
Ashley T PerinUnited KingdomIoni Bowcher UNQUALIFIED
Adams E MorascaArgentinaAnna Fali RENEWAL
Francesco B RutaCanadaStephen Shaw UNQUALIFIED
Alejandro O RulapaughCanadaIvan Magalhaes RENEWAL
Kadeem K DilliardAustraliaIvan Magalhaes NEGOTIATION
Darci P RutaRussiaElwin Sharvill UNQUALIFIED
Octavia C DoeAustraliaIoni Bowcher NEGOTIATION
Jefferson N KuskoAustraliaIoni Bowcher RENEWAL
Mujtaba L CampainIndiaIvan Magalhaes RENEWAL
Murillo Y TollnerGermanyAmy Elsner RENEWAL
Leon X FollerItalyAsiya Javayant NEGOTIATION
Kaitlin V SlusarskiUnited KingdomStephen Shaw PROPOSAL

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