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
Ricardo Z IturbideFranceOnyama Limba UNQUALIFIED
Aditya V DoeRussiaXuxue Feng PROPOSAL
Mujtaba U ChuiUnited KingdomIoni Bowcher NEGOTIATION
Francesco K CampainUnited KingdomAsiya Javayant QUALIFIED
Antonio H VocelkaSpainBernardo Dominic RENEWAL
Arvin E NickaUnited KingdomOnyama Limba QUALIFIED
Cody K OstroskyAustraliaElwin Sharvill QUALIFIED
Emily U OldroydIndiaElwin Sharvill RENEWAL
Ricardo K NestleRussiaXuxue Feng UNQUALIFIED
Nicolas O ChuiAustraliaStephen Shaw NEGOTIATION
Salvatore W MaletUnited KingdomElwin Sharvill NEGOTIATION
Kadeem Z ButtItalyBernardo Dominic NEGOTIATION
Jefferson C OstroskyUnited KingdomIoni Bowcher PROPOSAL
Cody J DarakjyCanadaAsiya Javayant QUALIFIED
Rodrigues J StensethIndiaAsiya Javayant UNQUALIFIED
James G WhobreyGermanyIoni Bowcher RENEWAL
Antonio E BriddickIndiaAnna Fali NEW
Darci G SaylorsAustraliaOnyama Limba RENEWAL
Maria D RulapaughGermanyXuxue Feng RENEWAL
Ashley N IturbideUnited KingdomBernardo Dominic RENEWAL
Leon V VenereFranceAnna Fali RENEWAL
Julie F StockhamItalyStephen Shaw PROPOSAL
Munro V CaldareraBrazilXuxue Feng NEGOTIATION
Ricardo S DarakjyFranceAnna Fali NEGOTIATION
Adams B DoeIndiaElwin Sharvill UNQUALIFIED
Mujtaba O InouyeFranceAmy Elsner RENEWAL
Izzy C OldroydCanadaAnna Fali RENEWAL
Faith Z KuskoGermanyIvan Magalhaes NEW
Mayumi H WaycottGermanyOnyama Limba NEGOTIATION
Ivar H NickaIndiaAmy Elsner QUALIFIED
Maisha F FerenczItalyAsiya Javayant QUALIFIED
Murillo B InouyeIndiaAnna Fali QUALIFIED
Kadeem R VenereJapanIvan Magalhaes PROPOSAL
Izzy L BowleyCanadaStephen Shaw NEW
Arvin I AmigonArgentinaElwin Sharvill UNQUALIFIED
Adams A DarakjyCanadaIvan Magalhaes RENEWAL
Francesco C NestleRussiaBernardo Dominic NEGOTIATION
David D RoysterUnited KingdomXuxue Feng NEW
Silvio Q GarufiRussiaXuxue Feng PROPOSAL
Nicolas I IturbideSpainElwin Sharvill NEW
Misaki Y GlickGermanyAnna Fali NEW
Julie Q MaletSpainAsiya Javayant NEGOTIATION
Deepesh X StockhamArgentinaAnna Fali RENEWAL
Salvatore X PaprockiFranceAmy Elsner RENEWAL
Chavez V StensethRussiaIoni Bowcher PROPOSAL
Ivar Y ShinkoSpainIvan Magalhaes QUALIFIED
Clifford V FollerItalyAsiya Javayant NEGOTIATION
Antonio V PerinIndiaXuxue Feng PROPOSAL
Francesco F DarakjyCanadaAmy Elsner PROPOSAL
Leja C RoysterRussiaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ivar X BologniaFranceIoni Bowcher RENEWAL
Izzy G RulapaughRussiaAsiya Javayant QUALIFIED
Nicolas V WaycottArgentinaIoni Bowcher RENEWAL
Johnson W KolmetzUnited KingdomAsiya Javayant QUALIFIED
Clifford O AlbaresUnited KingdomAnna Fali PROPOSAL
Ivar C IturbideCanadaOnyama Limba PROPOSAL
Costa A FollerCanadaIvan Magalhaes NEW
Isabel T CampainRussiaOnyama Limba UNQUALIFIED
Darci O RoysterBrazilElwin Sharvill QUALIFIED
David Y FlosiBrazilXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas J PerinFrance2026-09-14Feiner Bros PROPOSAL49Asiya Javayant
1001Aditya W StensethBrazil2026-09-28Rangoni Of Florence RENEWAL21Onyama Limba
1002Chavez F PerinIndia2026-09-29Dorl, James J Esq NEW41Xuxue Feng
1003Ivar Q GauchoGermany2026-09-28Morlong Associates RENEWAL78Xuxue Feng
1004Faith P AlbaresFrance2026-09-07Morlong Associates QUALIFIED50Elwin Sharvill
1005Kaitlin R SlusarskiAustralia2026-09-10Truhlar And Truhlar Attys UNQUALIFIED73Bernardo Dominic
1006Mujtaba W GlickJapan2026-09-12Chanay, Jeffrey A Esq PROPOSAL34Anna Fali
1007Tony Q KolmetzSpain2026-09-01Feiner Bros RENEWAL98Bernardo Dominic
1008Jones Z AlbaresSpain2026-09-05Dorl, James J Esq NEGOTIATION47Amy Elsner
1009Kadeem M DilliardSpain2026-09-03Buckley Miller Wright RENEWAL16Onyama Limba
1010Isabel F SlusarskiSpain2026-09-19Feltz Printing Service QUALIFIED41Ioni Bowcher
1011Emily P GauchoGermany2026-08-31Chemel, James L Cpa PROPOSAL21Ioni Bowcher
1012Leon W FlosiCanada2026-09-26Dorl, James J Esq PROPOSAL33Ivan Magalhaes
1013Juan G BologniaIndia2026-09-21King, Christopher A Esq UNQUALIFIED81Ioni Bowcher
1014Nicolas W SergiSpain2026-09-09Rangoni Of Florence PROPOSAL1Amy Elsner
1015Sinclair V CaldareraJapan2026-09-10Chemel, James L Cpa QUALIFIED19Amy Elsner
1016Leja J StensethIndia2026-09-01Feltz Printing Service NEW24Asiya Javayant
1017Emily I FollerCanada2026-09-26Rousseaux, Michael Esq UNQUALIFIED27Amy Elsner
1018Arvin M NestleItaly2026-09-22Dorl, James J Esq NEW96Ivan Magalhaes
1019Clifford J MaletUnited Kingdom2026-09-03Dorl, James J Esq NEGOTIATION75Onyama Limba
1020Murillo Z CampainAustralia2026-09-19Chemel, James L Cpa QUALIFIED28Stephen Shaw
1021Ashley Z ShinkoArgentina2026-09-17Chemel, James L Cpa NEGOTIATION39Anna Fali
1022Jefferson J PerinCanada2026-09-09Commercial Press NEW6Elwin Sharvill
1023Smith C GarufiSpain2026-09-14Chapman, Ross E Esq UNQUALIFIED62Asiya Javayant
1024Izzy V DilliardFrance2026-09-24Commercial Press NEGOTIATION53Xuxue Feng
1025Faith B CaldareraUnited Kingdom2026-09-07Chapman, Ross E Esq NEW45Ioni Bowcher
1026Leja Y StensethJapan2026-09-16Commercial Press QUALIFIED85Stephen Shaw
1027David M IturbideArgentina2026-09-04Chanay, Jeffrey A Esq PROPOSAL18Ioni Bowcher
1028Clifford E InouyeSpain2026-09-28Rousseaux, Michael Esq PROPOSAL2Onyama Limba
1029Nicolas L GillianCanada2026-09-07King, Christopher A Esq UNQUALIFIED78Ioni Bowcher
1030Smith C GillianGermany2026-09-19Dorl, James J Esq UNQUALIFIED62Amy Elsner
1031Izzy S CaldareraFrance2026-09-07Truhlar And Truhlar Attys QUALIFIED27Ioni Bowcher
1032Aika Q MacleadGermany2026-09-18Feltz Printing Service RENEWAL35Anna Fali
1033Faith A IturbideJapan2026-09-13Chemel, James L Cpa NEGOTIATION95Stephen Shaw
1034Leon E OstroskyUnited Kingdom2026-09-23Buckley Miller Wright QUALIFIED47Ioni Bowcher
1035Jennifer R SlusarskiJapan2026-09-21Morlong Associates UNQUALIFIED51Onyama Limba
1036Cody R MacleadIndia2026-09-26Feltz Printing Service PROPOSAL3Ioni Bowcher
1037Smith K WieserUnited Kingdom2026-09-01Chemel, James L Cpa NEGOTIATION78Xuxue Feng
1038Stacey Q ChuiGermany2026-09-29Commercial Press NEGOTIATION88Ivan Magalhaes
1039Maria A StockhamCanada2026-09-23Morlong Associates QUALIFIED46Amy Elsner
1040Emily L MarrierRussia2026-09-05Commercial Press RENEWAL58Elwin Sharvill
1041Jones L KuskoAustralia2026-08-31Chanay, Jeffrey A Esq RENEWAL20Ivan Magalhaes
1042Munro S NickaAustralia2026-09-04Chemel, James L Cpa NEW91Xuxue Feng
1043Murillo Q TollnerArgentina2026-09-13King, Christopher A Esq PROPOSAL96Stephen Shaw
1044Cody W KuskoIndia2026-09-14Truhlar And Truhlar Attys RENEWAL61Elwin Sharvill
1045Alejandro R GauchoSpain2026-09-14Morlong Associates RENEWAL72Bernardo Dominic
1046Aruna H KolmetzIndia2026-09-23King, Christopher A Esq PROPOSAL20Stephen Shaw
1047Mujtaba A VenereBrazil2026-09-21Morlong Associates RENEWAL0Anna Fali
1048Aruna Z FollerArgentina2026-09-03Buckley Miller Wright PROPOSAL65Elwin Sharvill
1049Silvio C SlusarskiItaly2026-09-10Buckley Miller Wright PROPOSAL56Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ricardo F FlosiCanadaStephen Shaw QUALIFIED
Mayumi D OldroydRussiaElwin Sharvill UNQUALIFIED
James Q RimAustraliaBernardo Dominic NEGOTIATION
Salvatore J GarufiSpainAsiya Javayant RENEWAL
Kadeem R BowleyIndiaIoni Bowcher UNQUALIFIED
Mayumi O KuskoFranceBernardo Dominic NEW
Emily W CaudyCanadaAsiya Javayant PROPOSAL
Jeanfrancois H StockhamGermanyXuxue Feng QUALIFIED
Stacey T ButtIndiaStephen Shaw NEGOTIATION
Leja D FerenczBrazilAsiya Javayant RENEWAL
Tony J DarakjyJapanAmy Elsner QUALIFIED
Costa O WieserCanadaAnna Fali NEW
David Z ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin U MaletArgentinaAmy Elsner UNQUALIFIED
Izzy W RoysterRussiaStephen Shaw UNQUALIFIED
Darci T NestleSpainAmy Elsner RENEWAL
Greenwood P CaudyUnited KingdomIvan Magalhaes NEW
Octavia S GarufiCanadaAsiya Javayant UNQUALIFIED
Faith E DarakjyAustraliaAnna Fali PROPOSAL
James P InouyeAustraliaAmy Elsner QUALIFIED
David T FigeroaFranceBernardo Dominic PROPOSAL
Antonio J PerinAustraliaXuxue Feng QUALIFIED
Juan D WhobreyRussiaIoni Bowcher UNQUALIFIED
Rodrigues X GlickArgentinaIvan Magalhaes NEGOTIATION
Emily M DilliardFranceOnyama Limba PROPOSAL
Nicolas S KolmetzIndiaBernardo Dominic UNQUALIFIED
Leon Y InouyeBrazilBernardo Dominic RENEWAL
Maria G StockhamRussiaStephen Shaw PROPOSAL
Faith R WhobreyBrazilOnyama Limba RENEWAL
Maisha H RutaGermanyAnna Fali UNQUALIFIED
Kadeem M NickaIndiaElwin Sharvill NEGOTIATION
Arvin S DarakjyRussiaElwin Sharvill NEW
Alejandro L DoeArgentinaAsiya Javayant QUALIFIED
Nicolas P BriddickJapanAnna Fali QUALIFIED
Aditya J WaycottGermanyXuxue Feng PROPOSAL
Silvio F FollerGermanyElwin Sharvill NEW
Tony T SaylorsJapanIoni Bowcher UNQUALIFIED
Chavez E WaycottRussiaAmy Elsner RENEWAL
Tony K TollnerRussiaElwin Sharvill QUALIFIED
Rodrigues I FollerUnited KingdomElwin Sharvill NEW
Salvatore O BriddickArgentinaIvan Magalhaes NEGOTIATION
Izzy I GillianUnited KingdomStephen Shaw RENEWAL
Octavia Z RulapaughArgentinaOnyama Limba UNQUALIFIED
Smith U StockhamIndiaStephen Shaw PROPOSAL
Johnson C MaletJapanIvan Magalhaes UNQUALIFIED
Costa E KolmetzFranceElwin Sharvill UNQUALIFIED
Stacey S RulapaughRussiaAnna Fali PROPOSAL
Silvio R VenereIndiaBernardo Dominic NEW
Isabel Z FollerGermanyIvan Magalhaes UNQUALIFIED
David U GillianJapanOnyama Limba NEW
Frozen Columns
Name
Aruna A Saylors
Darci V Wieser
Stacey D Ostrosky
Alejandro A Gillian
Wickens N Dilliard
Izzy P Flosi
Aika N Tollner
Octavia L Rim
Isabel B Caudy
Izzy Q Glick
Faith K Maclead
Maisha X Waycott
Jennifer A Malet
Jeanfrancois V Oldroyd
Chavez W Nestle
Jeanfrancois M Malet
Johnson C Kolmetz
Deepesh P Ferencz
Tony C Malet
Munro S Chui
Misaki O Briddick
Kaitlin U Shinko
Munro O Bowley
Wickens T Chui
Aruna F Glick
Adams H Ruta
Aruna H Garufi
Adams S Caudy
Rodrigues B Rulapaugh
Kaitlin J Schemmer
Stacey N Marrier
Octavia D Waycott
Costa A Schemmer
Aruna Y Marrier
Munro H Maclead
Silvio J Ruta
Leon B Ruta
Leja V Oldroyd
Silvio C Perin
Mujtaba F Dilliard
Leon S Malet
Sinclair N Darakjy
Stacey O Tollner
Faith K Glick
Kadeem O Chui
Stacey K Ruta
Ivar O Nicka
Darci B Waycott
Aika V Waycott
Ashley Z Iturbide
IdCountryDate
1000Argentina2026-09-05
1001France2026-09-06
1002United Kingdom2026-09-17
1003Italy2026-09-14
1004United Kingdom2026-09-28
1005Canada2026-09-29
1006Canada2026-09-09
1007Germany2026-09-29
1008Japan2026-09-08
1009Spain2026-09-17
1010France2026-09-11
1011Australia2026-09-20
1012Canada2026-09-07
1013Japan2026-09-05
1014Brazil2026-09-08
1015France2026-09-23
1016Brazil2026-09-11
1017Germany2026-09-13
1018Canada2026-09-19
1019Italy2026-09-04
1020France2026-09-18
1021Russia2026-09-21
1022Japan2026-09-14
1023Russia2026-09-25
1024Argentina2026-08-31
1025Argentina2026-09-08
1026Argentina2026-09-10
1027Canada2026-09-09
1028India2026-09-29
1029France2026-09-26
1030Germany2026-09-19
1031Canada2026-09-27
1032United Kingdom2026-09-21
1033Germany2026-09-13
1034India2026-09-29
1035Germany2026-09-04
1036United Kingdom2026-09-27
1037Japan2026-09-17
1038Germany2026-09-07
1039India2026-09-07
1040Argentina2026-09-25
1041Spain2026-09-13
1042Germany2026-09-24
1043Germany2026-09-15
1044Canada2026-09-11
1045Russia2026-09-09
1046France2026-09-16
1047Germany2026-09-25
1048India2026-09-23
1049Australia2026-09-15

On-Demand Data

NameIdCountryDate
Isabel A Waycott1000Spain2026-08-31
Julie O Kusko1001Japan2026-09-09
Greenwood N Caudy1002Spain2026-09-22
Alejandro C Nicka1003India2026-09-03
Mayumi R Oldroyd1004France2026-09-28
Octavia O Kusko1005Russia2026-09-28
Ashley Q Ruta1006Japan2026-09-19
Deepesh P Gaucho1007Russia2026-09-15
Octavia X Shinko1008United Kingdom2026-08-31
Costa C Saylors1009Japan2026-09-04
Maisha Q Garufi1010Canada2026-09-03
Kaitlin O Poquette1011Russia2026-09-22
Arvin E Dilliard1012India2026-09-22
Munro K Malet1013Spain2026-09-27
Antonio U Rim1014India2026-09-22
Faith Y Oldroyd1015Brazil2026-08-31
Salvatore W Marrier1016Brazil2026-09-26
Ashley E Ferencz1017Australia2026-09-14
Isabel Q Butt1018Canada2026-09-10
Ashley G Caudy1019Brazil2026-09-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois Y PerinFranceAmy Elsner RENEWAL
Clifford B CaudyCanadaIoni Bowcher NEW
Ricardo O SergiArgentinaIoni Bowcher NEGOTIATION
Morrow D FerenczSpainElwin Sharvill PROPOSAL
Salvatore Q MaletJapanIvan Magalhaes UNQUALIFIED
Juan U PoquetteJapanElwin Sharvill UNQUALIFIED
Juan M CaudyBrazilAmy Elsner QUALIFIED
Murillo I StensethAustraliaAsiya Javayant NEGOTIATION
Leja L SlusarskiItalyElwin Sharvill PROPOSAL
Francesco F FigeroaItalyIoni Bowcher QUALIFIED
Johnson A RutaUnited KingdomAnna Fali QUALIFIED
Ivar X SergiGermanyIvan Magalhaes PROPOSAL
Maria T RimUnited KingdomStephen Shaw QUALIFIED
Aruna L MacleadRussiaBernardo Dominic NEGOTIATION
Murillo G WaycottJapanBernardo Dominic UNQUALIFIED
Misaki J OldroydGermanyBernardo Dominic NEW
Antonio D ChuiCanadaStephen Shaw NEGOTIATION
Antonio W TollnerSpainBernardo Dominic UNQUALIFIED
Sinclair R GillianItalyXuxue Feng QUALIFIED
Ivar D OldroydGermanyAsiya Javayant NEGOTIATION
Silvio S WaycottCanadaOnyama Limba UNQUALIFIED
Ashley O SergiUnited KingdomIoni Bowcher PROPOSAL
Nicolas I GillianBrazilOnyama Limba NEGOTIATION
Antonio J MacleadCanadaOnyama Limba QUALIFIED
Antonio C BowleyCanadaStephen Shaw QUALIFIED
Johnson J SlusarskiBrazilXuxue Feng NEW
Adams K SaylorsArgentinaIvan Magalhaes QUALIFIED
Sinclair G KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Darci A SchemmerGermanyElwin Sharvill UNQUALIFIED
Murillo O MaletJapanAnna Fali QUALIFIED
Antonio Q MorascaSpainIvan Magalhaes QUALIFIED
Octavia Z SchemmerJapanBernardo Dominic PROPOSAL
Morrow V DarakjyArgentinaAnna Fali QUALIFIED
Maria I WhobreyAustraliaIvan Magalhaes QUALIFIED
Aditya A PaprockiRussiaBernardo Dominic PROPOSAL
James H DarakjyRussiaAnna Fali UNQUALIFIED
Clifford G BriddickGermanyAmy Elsner NEGOTIATION
Kadeem Z ButtIndiaAsiya Javayant NEW
Tony E PoquetteIndiaIvan Magalhaes RENEWAL
Costa L OstroskyAustraliaIoni Bowcher 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>