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
Faith J MaletAustraliaIvan Magalhaes NEGOTIATION
Smith O DarakjyUnited KingdomAmy Elsner NEW
Stacey O SergiUnited KingdomXuxue Feng QUALIFIED
Munro I CaudyRussiaStephen Shaw NEGOTIATION
Wickens Q OldroydFranceIoni Bowcher RENEWAL
Claire K AmigonItalyAmy Elsner UNQUALIFIED
Aruna Z NestleGermanyBernardo Dominic RENEWAL
Nicolas A GillianItalyXuxue Feng RENEWAL
Munro G GarufiGermanyBernardo Dominic NEGOTIATION
Greenwood R MorascaAustraliaIoni Bowcher RENEWAL
Munro B MarrierSpainElwin Sharvill NEGOTIATION
Chavez E FerenczFranceOnyama Limba NEW
Faith Q VenereSpainIoni Bowcher UNQUALIFIED
Jefferson U MaletArgentinaIvan Magalhaes UNQUALIFIED
Aika Y InouyeFranceAnna Fali UNQUALIFIED
Smith M DilliardCanadaXuxue Feng QUALIFIED
Aika R VocelkaUnited KingdomBernardo Dominic QUALIFIED
Izzy C RimJapanIvan Magalhaes QUALIFIED
James A CaudyUnited KingdomXuxue Feng NEW
Alejandro B FigeroaJapanAnna Fali QUALIFIED
Darci H NestleBrazilOnyama Limba UNQUALIFIED
Sinclair Z GlickCanadaStephen Shaw NEW
Greenwood U CaldareraBrazilXuxue Feng UNQUALIFIED
Costa A GarufiJapanElwin Sharvill UNQUALIFIED
Wickens G BowleyItalyAmy Elsner NEW
Julie I RimJapanAmy Elsner RENEWAL
Jennifer C GlickFranceIvan Magalhaes PROPOSAL
Wickens C IturbideFranceStephen Shaw QUALIFIED
David J CampainJapanBernardo Dominic NEGOTIATION
Emily L InouyeArgentinaOnyama Limba PROPOSAL
Antonio X MaletGermanyAsiya Javayant NEW
Leja A ShinkoSpainXuxue Feng NEGOTIATION
Ivar V BriddickFranceXuxue Feng UNQUALIFIED
Octavia T PerinIndiaIoni Bowcher NEW
David U AlbaresCanadaOnyama Limba NEGOTIATION
Kaitlin B GillianFranceIoni Bowcher QUALIFIED
Julie E DoeRussiaIvan Magalhaes QUALIFIED
Alejandro V WieserBrazilAsiya Javayant RENEWAL
Maria U CaudyRussiaOnyama Limba RENEWAL
Jones D GarufiRussiaBernardo Dominic UNQUALIFIED
Jones W BowleyItalyAnna Fali NEW
Darci O WieserGermanyAnna Fali PROPOSAL
Jones O VocelkaSpainOnyama Limba PROPOSAL
Antonio U WhobreyAustraliaBernardo Dominic PROPOSAL
Jeanfrancois G FigeroaAustraliaAsiya Javayant NEGOTIATION
Maria M WieserAustraliaAsiya Javayant NEGOTIATION
Jennifer K VocelkaUnited KingdomOnyama Limba NEW
Emily Z VenereGermanyAmy Elsner UNQUALIFIED
Maria F FerenczCanadaAnna Fali QUALIFIED
Nicolas W SergiFranceIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford K BriddickItalyIvan Magalhaes UNQUALIFIED
Cody I BriddickJapanAsiya Javayant RENEWAL
Ricardo K RulapaughIndiaAsiya Javayant PROPOSAL
Kadeem O DilliardBrazilElwin Sharvill UNQUALIFIED
Kaitlin X KuskoBrazilXuxue Feng RENEWAL
James R GarufiSpainBernardo Dominic PROPOSAL
Johnson R ChuiJapanElwin Sharvill UNQUALIFIED
Juan A DilliardAustraliaStephen Shaw PROPOSAL
Nicolas Q MorascaSpainIvan Magalhaes NEGOTIATION
Alejandro D DilliardRussiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley K OstroskyFrance2026-09-27Truhlar And Truhlar Attys NEW20Ioni Bowcher
1001Wickens H NickaFrance2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED73Elwin Sharvill
1002Sinclair J ShinkoBrazil2026-10-01Feiner Bros QUALIFIED74Stephen Shaw
1003Claire L NickaSpain2026-09-20Benton, John B Jr RENEWAL82Stephen Shaw
1004Sinclair B DoeBrazil2026-09-10Rousseaux, Michael Esq PROPOSAL41Onyama Limba
1005Mayumi R KuskoItaly2026-10-08Rousseaux, Michael Esq RENEWAL6Amy Elsner
1006Costa H NickaJapan2026-09-22Feiner Bros PROPOSAL58Onyama Limba
1007Sinclair H AmigonIndia2026-10-05Rangoni Of Florence RENEWAL88Asiya Javayant
1008Ashley B AmigonItaly2026-10-01Rousseaux, Michael Esq RENEWAL92Ioni Bowcher
1009Leon L InouyeArgentina2026-09-14Benton, John B Jr UNQUALIFIED66Elwin Sharvill
1010James H SaylorsCanada2026-09-20Printing Dimensions RENEWAL8Elwin Sharvill
1011Sinclair I KolmetzUnited Kingdom2026-09-17Rousseaux, Michael Esq UNQUALIFIED87Bernardo Dominic
1012Arvin A PaprockiCanada2026-09-29Feltz Printing Service QUALIFIED86Bernardo Dominic
1013Tony J GlickSpain2026-09-28Chapman, Ross E Esq NEW91Stephen Shaw
1014Mujtaba U GauchoCanada2026-09-25Rangoni Of Florence NEW25Bernardo Dominic
1015Aditya F FollerBrazil2026-10-09Commercial Press NEW22Xuxue Feng
1016Francesco Y SchemmerGermany2026-09-20Benton, John B Jr NEW9Elwin Sharvill
1017James E NestleUnited Kingdom2026-09-15Buckley Miller Wright NEW35Anna Fali
1018Murillo X PoquetteGermany2026-09-28King, Christopher A Esq NEGOTIATION64Asiya Javayant
1019Morrow H GillianIndia2026-10-02Morlong Associates NEGOTIATION79Bernardo Dominic
1020Julie T GlickFrance2026-10-04Printing Dimensions QUALIFIED93Stephen Shaw
1021Alejandro R RoysterSpain2026-10-03Commercial Press RENEWAL59Asiya Javayant
1022Octavia R KuskoUnited Kingdom2026-09-12Feiner Bros UNQUALIFIED95Ivan Magalhaes
1023Chavez L ShinkoFrance2026-09-22Morlong Associates QUALIFIED69Asiya Javayant
1024David Q RulapaughJapan2026-10-08Printing Dimensions UNQUALIFIED85Ioni Bowcher
1025Nicolas P OstroskyIndia2026-09-20Chemel, James L Cpa UNQUALIFIED43Ioni Bowcher
1026Julie N GarufiGermany2026-10-04King, Christopher A Esq NEGOTIATION41Asiya Javayant
1027Adams I InouyeCanada2026-10-08Buckley Miller Wright NEGOTIATION59Amy Elsner
1028Chavez U DarakjyGermany2026-10-05Buckley Miller Wright NEGOTIATION92Bernardo Dominic
1029Francesco B MarrierJapan2026-10-08Chapman, Ross E Esq NEGOTIATION71Elwin Sharvill
1030Emily Z GarufiIndia2026-09-27Buckley Miller Wright QUALIFIED66Asiya Javayant
1031Morrow Y BologniaGermany2026-09-12Buckley Miller Wright NEW72Amy Elsner
1032Darci H MarrierSpain2026-09-10Chemel, James L Cpa QUALIFIED75Stephen Shaw
1033Ricardo P RulapaughGermany2026-09-11Feiner Bros NEW21Amy Elsner
1034Ricardo V NickaItaly2026-09-23Buckley Miller Wright QUALIFIED47Stephen Shaw
1035Kadeem O BologniaJapan2026-09-26Chanay, Jeffrey A Esq QUALIFIED23Asiya Javayant
1036Chavez X AmigonIndia2026-09-11Commercial Press NEGOTIATION56Elwin Sharvill
1037Francesco L DarakjyArgentina2026-09-16Dorl, James J Esq QUALIFIED31Stephen Shaw
1038Julie K StockhamGermany2026-10-08Rousseaux, Michael Esq NEGOTIATION0Elwin Sharvill
1039Rodrigues T SchemmerUnited Kingdom2026-09-10Chemel, James L Cpa PROPOSAL10Ioni Bowcher
1040Rodrigues S KuskoArgentina2026-10-06Rangoni Of Florence NEW57Onyama Limba
1041Deepesh I GarufiGermany2026-09-17Dorl, James J Esq NEW4Ioni Bowcher
1042Silvio A DilliardCanada2026-09-28Chemel, James L Cpa NEW98Amy Elsner
1043Leon S GlickGermany2026-09-26Chemel, James L Cpa QUALIFIED22Anna Fali
1044Aditya P FlosiAustralia2026-09-11Chanay, Jeffrey A Esq UNQUALIFIED23Stephen Shaw
1045Morrow L WieserFrance2026-10-07Rousseaux, Michael Esq UNQUALIFIED73Bernardo Dominic
1046Octavia A VocelkaUnited Kingdom2026-09-23Feltz Printing Service RENEWAL58Asiya Javayant
1047Julie C KolmetzUnited Kingdom2026-09-23Chemel, James L Cpa UNQUALIFIED69Anna Fali
1048Jones O IturbideJapan2026-09-28Printing Dimensions QUALIFIED26Ivan Magalhaes
1049David L FigeroaFrance2026-09-30Rangoni Of Florence QUALIFIED21Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Julie U BriddickIndiaAnna Fali PROPOSAL
Costa P FigeroaIndiaXuxue Feng RENEWAL
David F GlickArgentinaStephen Shaw NEW
Mujtaba Q TollnerItalyElwin Sharvill RENEWAL
Ashley H SaylorsGermanyAnna Fali PROPOSAL
Octavia E GauchoCanadaAnna Fali UNQUALIFIED
Munro E GillianJapanOnyama Limba NEGOTIATION
David P DoeCanadaXuxue Feng RENEWAL
Leon P KolmetzJapanStephen Shaw UNQUALIFIED
Silvio K VenereFranceStephen Shaw NEGOTIATION
Mujtaba Q RoysterArgentinaIvan Magalhaes NEW
Isabel G FlosiIndiaStephen Shaw RENEWAL
Alejandro E IturbideCanadaIoni Bowcher NEGOTIATION
Leja G GarufiAustraliaElwin Sharvill UNQUALIFIED
Mayumi V MaletItalyAnna Fali NEGOTIATION
Chavez T CaudyGermanyAsiya Javayant QUALIFIED
Leja J MarrierAustraliaIoni Bowcher UNQUALIFIED
Cody X OstroskyItalyOnyama Limba UNQUALIFIED
Clifford P ButtCanadaOnyama Limba NEW
Leja F MacleadGermanyElwin Sharvill NEGOTIATION
Johnson K SergiFranceAmy Elsner RENEWAL
Stacey R KolmetzBrazilAsiya Javayant UNQUALIFIED
Jefferson V PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Tony T AmigonJapanAmy Elsner NEGOTIATION
Smith F PoquetteGermanyStephen Shaw NEGOTIATION
Julie I KuskoIndiaOnyama Limba NEGOTIATION
Mayumi H VenereSpainAnna Fali QUALIFIED
Maisha C NestleCanadaAnna Fali UNQUALIFIED
Jones V KolmetzCanadaIoni Bowcher NEGOTIATION
Kaitlin L PaprockiFranceStephen Shaw NEW
Claire L OstroskyGermanyIvan Magalhaes NEGOTIATION
Izzy T KuskoSpainXuxue Feng QUALIFIED
Smith J KolmetzJapanStephen Shaw RENEWAL
Aika K FlosiRussiaIoni Bowcher NEGOTIATION
Misaki U NickaBrazilAnna Fali NEGOTIATION
Rodrigues X PerinUnited KingdomIoni Bowcher NEW
Julie W RoysterUnited KingdomAnna Fali NEW
Morrow B MaletArgentinaIvan Magalhaes QUALIFIED
Murillo T FerenczArgentinaAmy Elsner UNQUALIFIED
Emily I KolmetzRussiaStephen Shaw UNQUALIFIED
Cody H MarrierArgentinaAmy Elsner NEGOTIATION
Juan H FollerIndiaAmy Elsner PROPOSAL
Maisha O StockhamItalyAsiya Javayant NEGOTIATION
Alejandro S SlusarskiIndiaStephen Shaw PROPOSAL
Greenwood Y GauchoAustraliaAsiya Javayant NEGOTIATION
Maisha Q GillianRussiaAsiya Javayant RENEWAL
Smith E BologniaCanadaIoni Bowcher QUALIFIED
Jennifer F MaletFranceIoni Bowcher RENEWAL
Antonio T GlickJapanStephen Shaw UNQUALIFIED
Jefferson Q NickaAustraliaIoni Bowcher QUALIFIED
Frozen Columns
Name
Francesco E Maclead
Kadeem M Gillian
Faith F Shinko
Tony V Albares
Octavia O Venere
Kaitlin Y Bowley
Maria S Briddick
Emily N Maclead
Cody X Ferencz
Costa S Dilliard
Stacey L Marrier
Arvin C Paprocki
Costa P Paprocki
Jennifer V Briddick
Jefferson A Amigon
Antonio K Rulapaugh
Alejandro I Schemmer
Smith L Stockham
Murillo K Albares
Murillo V Kolmetz
Kadeem O Ostrosky
Cody L Nicka
Mujtaba Y Whobrey
Izzy L Chui
Clifford D Slusarski
Juan G Gillian
Leon T Ruta
Silvio B Bolognia
Aditya B Nicka
Deepesh R Vocelka
Claire D Perin
Isabel W Inouye
Francesco K Malet
Darci V Stockham
Cody K Vocelka
Mujtaba M Gaucho
Wickens N Caldarera
Jeanfrancois Z Schemmer
Morrow S Dilliard
Cody D Rim
Chavez Y Rulapaugh
Octavia Z Morasca
Aika I Venere
Tony D Poquette
Sinclair G Poquette
Johnson Q Iturbide
Johnson N Bowley
Leon L Saylors
Deepesh S Waycott
Juan D Maclead
IdCountryDate
1000France2026-09-29
1001Spain2026-09-14
1002Germany2026-09-27
1003Italy2026-09-11
1004Russia2026-10-08
1005France2026-09-27
1006Germany2026-09-15
1007Canada2026-09-22
1008Spain2026-09-30
1009France2026-10-08
1010Italy2026-09-22
1011Italy2026-09-19
1012Australia2026-10-06
1013Canada2026-09-19
1014India2026-09-26
1015Italy2026-09-24
1016India2026-10-09
1017Spain2026-10-08
1018United Kingdom2026-09-27
1019India2026-09-17
1020France2026-10-03
1021Russia2026-09-14
1022Japan2026-09-26
1023Australia2026-10-06
1024Germany2026-09-26
1025France2026-10-04
1026Spain2026-09-18
1027Italy2026-09-17
1028Brazil2026-09-16
1029Germany2026-09-22
1030United Kingdom2026-09-16
1031Germany2026-09-15
1032Russia2026-10-02
1033Japan2026-09-30
1034France2026-09-10
1035Germany2026-09-28
1036Germany2026-09-14
1037Australia2026-09-22
1038Australia2026-09-19
1039Italy2026-09-22
1040United Kingdom2026-09-26
1041Argentina2026-09-11
1042Spain2026-09-11
1043Italy2026-09-15
1044France2026-09-30
1045India2026-09-29
1046Spain2026-10-08
1047United Kingdom2026-09-27
1048Australia2026-10-01
1049Italy2026-10-08

On-Demand Data

NameIdCountryDate
Aditya W Briddick1000Germany2026-09-13
Clifford R Stenseth1001Germany2026-10-04
Salvatore N Flosi1002Italy2026-09-11
David E Malet1003Brazil2026-10-02
Wickens G Glick1004Brazil2026-10-09
Aika H Gillian1005Russia2026-09-26
Emily J Oldroyd1006India2026-09-15
Maisha V Dilliard1007Japan2026-09-24
Jones E Iturbide1008Italy2026-09-23
David S Waycott1009Japan2026-10-07
James M Waycott1010Russia2026-10-08
Stacey N Foller1011Germany2026-09-15
Arvin L Ruta1012Russia2026-09-11
Nicolas I Wieser1013United Kingdom2026-09-11
Arvin F Bolognia1014Australia2026-09-14
Rodrigues H Maclead1015Brazil2026-10-08
Silvio E Nicka1016United Kingdom2026-09-26
Mayumi V Royster1017Germany2026-10-05
Kadeem R Bolognia1018United Kingdom2026-09-17
Tony O Rim1019Germany2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams M KolmetzArgentinaAnna Fali UNQUALIFIED
David P DarakjyGermanyAsiya Javayant UNQUALIFIED
Aruna S FerenczAustraliaStephen Shaw UNQUALIFIED
Mayumi C CaldareraCanadaAsiya Javayant NEGOTIATION
James N IturbideFranceOnyama Limba PROPOSAL
Stacey H KuskoFranceElwin Sharvill NEW
Mujtaba E MarrierItalyAnna Fali UNQUALIFIED
Octavia Q OstroskyRussiaIoni Bowcher NEGOTIATION
Smith B GillianAustraliaAnna Fali RENEWAL
Clifford C MaletRussiaIvan Magalhaes UNQUALIFIED
Sinclair U WieserCanadaAnna Fali QUALIFIED
Tony N CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Clifford J NickaGermanyIoni Bowcher UNQUALIFIED
Julie I NestleUnited KingdomIvan Magalhaes NEW
Kadeem F MaletUnited KingdomXuxue Feng NEW
Jeanfrancois R CaudyGermanyIvan Magalhaes PROPOSAL
Jennifer G PaprockiBrazilAnna Fali NEGOTIATION
Maria W ShinkoRussiaBernardo Dominic QUALIFIED
Tony V IturbideSpainAmy Elsner RENEWAL
Claire W RimIndiaIvan Magalhaes PROPOSAL
Jefferson V CampainArgentinaStephen Shaw RENEWAL
Mujtaba O NestleItalyIoni Bowcher NEW
Tony O DilliardGermanyAsiya Javayant UNQUALIFIED
Antonio K FigeroaJapanBernardo Dominic QUALIFIED
Claire R ChuiIndiaIvan Magalhaes UNQUALIFIED
Ricardo R CampainBrazilStephen Shaw RENEWAL
Stacey R VenereSpainBernardo Dominic PROPOSAL
Darci F MacleadGermanyAsiya Javayant RENEWAL
Ricardo S RoysterCanadaAmy Elsner UNQUALIFIED
Deepesh W GarufiUnited KingdomOnyama Limba UNQUALIFIED
Sinclair W CaudyCanadaAnna Fali RENEWAL
Wickens O DoeFranceStephen Shaw RENEWAL
Isabel Y TollnerArgentinaStephen Shaw PROPOSAL
Mayumi A NickaSpainAmy Elsner RENEWAL
Salvatore M FerenczCanadaAmy Elsner RENEWAL
Johnson M RoysterIndiaStephen Shaw QUALIFIED
James Y SergiFranceStephen Shaw NEW
Francesco D CaudyUnited KingdomOnyama Limba UNQUALIFIED
Stacey Z StensethBrazilXuxue Feng QUALIFIED
Maria R GlickFranceIvan Magalhaes 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>