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
Smith J RimJapanXuxue Feng NEGOTIATION
Stacey T CaldareraItalyStephen Shaw PROPOSAL
Cody L RulapaughCanadaBernardo Dominic QUALIFIED
Kaitlin Z OldroydItalyOnyama Limba NEW
Ricardo W SaylorsGermanyElwin Sharvill PROPOSAL
Wickens R PerinItalyElwin Sharvill RENEWAL
Maisha I AmigonBrazilElwin Sharvill RENEWAL
Misaki N BriddickJapanElwin Sharvill NEW
Ivar R VenereArgentinaIvan Magalhaes UNQUALIFIED
Aika I RutaSpainAmy Elsner QUALIFIED
Costa K SaylorsJapanAnna Fali UNQUALIFIED
Ivar W ShinkoIndiaIoni Bowcher NEW
Julie Q BriddickUnited KingdomAmy Elsner NEGOTIATION
Deepesh V MaletGermanyIvan Magalhaes PROPOSAL
Mayumi Z FlosiItalyAnna Fali PROPOSAL
Jefferson I OstroskyRussiaOnyama Limba UNQUALIFIED
Jennifer M RoysterAustraliaStephen Shaw RENEWAL
Chavez R FollerAustraliaIvan Magalhaes UNQUALIFIED
Jennifer H BowleyUnited KingdomAnna Fali NEGOTIATION
Sinclair Z TollnerFranceElwin Sharvill PROPOSAL
Misaki W PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Maisha X PerinFranceIoni Bowcher UNQUALIFIED
James B RoysterSpainStephen Shaw NEW
Arvin N GlickJapanAsiya Javayant UNQUALIFIED
Kaitlin I WaycottItalyElwin Sharvill NEW
Kadeem G MaletCanadaOnyama Limba PROPOSAL
Cody N AmigonFranceOnyama Limba RENEWAL
Aruna H AmigonGermanyElwin Sharvill UNQUALIFIED
Chavez O SlusarskiFranceXuxue Feng NEGOTIATION
Alejandro Y DoeIndiaElwin Sharvill NEW
Jeanfrancois Q ChuiSpainAsiya Javayant QUALIFIED
Costa E MaletSpainOnyama Limba PROPOSAL
Smith T GarufiBrazilStephen Shaw NEGOTIATION
Adams D FollerIndiaStephen Shaw NEGOTIATION
Chavez Z GauchoFranceStephen Shaw NEGOTIATION
Clifford W WieserBrazilStephen Shaw NEGOTIATION
Claire L DoeBrazilAmy Elsner PROPOSAL
Wickens N WhobreyIndiaStephen Shaw PROPOSAL
Costa P MacleadBrazilIvan Magalhaes RENEWAL
Francesco R RoysterRussiaXuxue Feng NEGOTIATION
Jeanfrancois R WaycottFranceIvan Magalhaes NEGOTIATION
Sinclair J FerenczFranceBernardo Dominic RENEWAL
Ivar C PoquetteIndiaElwin Sharvill PROPOSAL
Jennifer O DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba H DoeCanadaIvan Magalhaes PROPOSAL
Clifford Y CaldareraJapanIvan Magalhaes RENEWAL
Leon H VocelkaCanadaAsiya Javayant NEW
Jennifer E GauchoRussiaAmy Elsner NEW
Costa B DarakjyCanadaStephen Shaw RENEWAL
Izzy V KolmetzAustraliaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith K RimUnited KingdomAmy Elsner NEGOTIATION
Cody S BologniaBrazilBernardo Dominic PROPOSAL
Smith N StockhamFranceIoni Bowcher NEGOTIATION
Ricardo U GarufiAustraliaAmy Elsner UNQUALIFIED
Kaitlin N StensethIndiaIvan Magalhaes PROPOSAL
Jones B CampainJapanBernardo Dominic NEGOTIATION
Claire N InouyeCanadaOnyama Limba NEW
Arvin J OldroydFranceAsiya Javayant UNQUALIFIED
Octavia U StockhamAustraliaXuxue Feng NEGOTIATION
Jones L OstroskyCanadaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood J GarufiJapan2026-10-22Dorl, James J Esq PROPOSAL98Bernardo Dominic
1001Kadeem W ShinkoItaly2026-10-13Rangoni Of Florence RENEWAL76Onyama Limba
1002Octavia Z StensethFrance2026-10-14Commercial Press NEW74Ioni Bowcher
1003Salvatore S BologniaItaly2026-11-01Rousseaux, Michael Esq UNQUALIFIED89Bernardo Dominic
1004Munro T PerinSpain2026-11-05Chemel, James L Cpa UNQUALIFIED72Stephen Shaw
1005Misaki H VenereBrazil2026-10-21Feltz Printing Service NEGOTIATION61Asiya Javayant
1006Stacey G OstroskyItaly2026-10-23Feltz Printing Service UNQUALIFIED35Asiya Javayant
1007Smith F SergiUnited Kingdom2026-10-22King, Christopher A Esq PROPOSAL70Bernardo Dominic
1008Stacey R SlusarskiFrance2026-10-27Truhlar And Truhlar Attys NEW47Bernardo Dominic
1009Maria K MaletJapan2026-10-27Chapman, Ross E Esq UNQUALIFIED28Ivan Magalhaes
1010Alejandro K RulapaughIndia2026-10-28Feltz Printing Service NEGOTIATION82Ivan Magalhaes
1011Costa A WaycottGermany2026-10-16Benton, John B Jr NEGOTIATION38Amy Elsner
1012Maisha A KuskoSpain2026-10-09Feiner Bros NEGOTIATION67Ivan Magalhaes
1013Wickens D VocelkaItaly2026-10-29Printing Dimensions QUALIFIED88Ioni Bowcher
1014Clifford O GauchoItaly2026-10-30Commercial Press NEGOTIATION63Amy Elsner
1015Morrow J MaletJapan2026-10-29Morlong Associates NEGOTIATION87Ioni Bowcher
1016Isabel V ShinkoUnited Kingdom2026-10-23Chapman, Ross E Esq PROPOSAL54Xuxue Feng
1017Leon T KolmetzGermany2026-10-22Chemel, James L Cpa NEGOTIATION62Xuxue Feng
1018Faith A PaprockiAustralia2026-10-26Truhlar And Truhlar Attys NEGOTIATION45Ivan Magalhaes
1019Salvatore P VenereUnited Kingdom2026-10-09King, Christopher A Esq RENEWAL82Elwin Sharvill
1020Murillo C WieserBrazil2026-10-22Rangoni Of Florence QUALIFIED83Amy Elsner
1021Leja K BowleyJapan2026-11-05Benton, John B Jr QUALIFIED15Ioni Bowcher
1022Juan Z MarrierArgentina2026-10-27King, Christopher A Esq QUALIFIED85Ivan Magalhaes
1023Claire J SlusarskiFrance2026-11-04Feiner Bros NEW21Ivan Magalhaes
1024Ivar H NestleFrance2026-10-24Chemel, James L Cpa UNQUALIFIED25Ivan Magalhaes
1025Salvatore Y RulapaughArgentina2026-11-05Chapman, Ross E Esq RENEWAL87Amy Elsner
1026Kaitlin O SergiSpain2026-10-23King, Christopher A Esq RENEWAL81Amy Elsner
1027Jeanfrancois G ButtAustralia2026-10-12Chemel, James L Cpa NEGOTIATION59Stephen Shaw
1028Julie P GarufiItaly2026-11-05King, Christopher A Esq PROPOSAL79Elwin Sharvill
1029Chavez U WaycottSpain2026-10-17Printing Dimensions RENEWAL94Elwin Sharvill
1030Izzy P DilliardBrazil2026-10-08Feltz Printing Service UNQUALIFIED59Ivan Magalhaes
1031David K RulapaughSpain2026-10-29Benton, John B Jr RENEWAL66Ioni Bowcher
1032Darci U AlbaresGermany2026-10-29Rangoni Of Florence RENEWAL63Xuxue Feng
1033Faith B WaycottItaly2026-10-24Chanay, Jeffrey A Esq RENEWAL68Xuxue Feng
1034Darci S VenereCanada2026-10-16Feiner Bros RENEWAL98Bernardo Dominic
1035Isabel X CaldareraArgentina2026-10-09Chemel, James L Cpa NEW62Anna Fali
1036Chavez P FollerFrance2026-10-18Feiner Bros RENEWAL79Ivan Magalhaes
1037Kadeem I RulapaughJapan2026-10-31Rousseaux, Michael Esq NEW33Bernardo Dominic
1038Sinclair C OstroskyRussia2026-10-16Benton, John B Jr QUALIFIED40Onyama Limba
1039David B RutaItaly2026-11-03Feltz Printing Service PROPOSAL0Ivan Magalhaes
1040Jeanfrancois P FollerIndia2026-10-27Rousseaux, Michael Esq UNQUALIFIED99Ivan Magalhaes
1041Misaki V AlbaresUnited Kingdom2026-10-30Chemel, James L Cpa NEGOTIATION48Xuxue Feng
1042Aditya C PerinFrance2026-10-16Commercial Press NEGOTIATION47Onyama Limba
1043Claire F MaletAustralia2026-10-21Commercial Press NEGOTIATION28Ivan Magalhaes
1044Jones E BowleyCanada2026-11-01Chemel, James L Cpa NEW7Elwin Sharvill
1045Jefferson M RimSpain2026-10-17Chapman, Ross E Esq PROPOSAL35Amy Elsner
1046Jones B FlosiUnited Kingdom2026-10-11Commercial Press NEGOTIATION71Bernardo Dominic
1047Ivar J NestleJapan2026-10-17King, Christopher A Esq QUALIFIED3Onyama Limba
1048Deepesh E ButtCanada2026-10-29Dorl, James J Esq PROPOSAL47Bernardo Dominic
1049Nicolas R BriddickUnited Kingdom2026-10-21Rousseaux, Michael Esq UNQUALIFIED64Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aruna M OldroydUnited KingdomXuxue Feng QUALIFIED
Darci S SaylorsCanadaOnyama Limba QUALIFIED
Ricardo J FerenczCanadaAsiya Javayant NEGOTIATION
Julie I DarakjyAustraliaAmy Elsner NEW
Rodrigues X CaldareraFranceBernardo Dominic PROPOSAL
Morrow A DoeSpainElwin Sharvill NEGOTIATION
Clifford A RimFranceElwin Sharvill RENEWAL
Aditya E DarakjyArgentinaOnyama Limba PROPOSAL
Smith Q CampainCanadaStephen Shaw NEGOTIATION
Leja A BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Maisha J KolmetzItalyOnyama Limba PROPOSAL
Juan P WhobreyGermanyStephen Shaw NEGOTIATION
Leja T SlusarskiGermanyOnyama Limba NEW
Wickens S FigeroaIndiaElwin Sharvill RENEWAL
Maisha B StockhamIndiaAnna Fali RENEWAL
Mujtaba C CaudyJapanElwin Sharvill PROPOSAL
Aika L FerenczItalyIvan Magalhaes PROPOSAL
Kadeem T GlickArgentinaAnna Fali NEW
Emily N MorascaRussiaStephen Shaw RENEWAL
Misaki J PerinFranceIoni Bowcher UNQUALIFIED
Sinclair A CaldareraItalyIvan Magalhaes PROPOSAL
Julie V PaprockiItalyAnna Fali UNQUALIFIED
Maria U StockhamUnited KingdomBernardo Dominic UNQUALIFIED
Maria C StockhamItalyIvan Magalhaes RENEWAL
Smith Y PaprockiCanadaAnna Fali QUALIFIED
Misaki W CaldareraFranceElwin Sharvill PROPOSAL
Morrow U PerinGermanyAsiya Javayant UNQUALIFIED
Faith M RulapaughCanadaOnyama Limba RENEWAL
Octavia P FigeroaGermanyXuxue Feng NEW
Julie D RulapaughRussiaBernardo Dominic QUALIFIED
Emily I CampainRussiaIoni Bowcher QUALIFIED
Silvio O StensethCanadaOnyama Limba NEGOTIATION
Darci U AmigonItalyAsiya Javayant NEW
Deepesh U KuskoSpainAnna Fali RENEWAL
Arvin B FlosiSpainAnna Fali RENEWAL
Jeanfrancois R MorascaFranceElwin Sharvill PROPOSAL
Silvio Z GlickItalyAsiya Javayant NEGOTIATION
Francesco F FerenczAustraliaAmy Elsner RENEWAL
Ricardo O DoeRussiaAmy Elsner PROPOSAL
Ivar I StensethIndiaBernardo Dominic UNQUALIFIED
Sinclair A RulapaughJapanAsiya Javayant NEGOTIATION
James X ChuiUnited KingdomStephen Shaw NEGOTIATION
Arvin T WieserAustraliaIoni Bowcher NEW
Mayumi F GarufiJapanBernardo Dominic RENEWAL
Wickens X BologniaIndiaOnyama Limba NEW
Ricardo Z FerenczBrazilIoni Bowcher NEGOTIATION
Francesco Z PoquetteArgentinaAmy Elsner QUALIFIED
Jennifer O MarrierIndiaIoni Bowcher QUALIFIED
Clifford X CaldareraRussiaXuxue Feng NEW
Jeanfrancois A KolmetzJapanBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Alejandro T Chui
Cody Q Royster
Mujtaba B Flosi
Octavia B Foller
Arvin W Foller
Mayumi E Gaucho
Faith G Paprocki
Ashley Q Schemmer
Isabel P Nestle
Silvio D Albares
Cody E Ferencz
Aruna L Figeroa
Isabel M Perin
Isabel D Waycott
Claire O Campain
Murillo E Tollner
James Z Royster
Darci I Butt
Jones P Shinko
Francesco I Doe
Jennifer M Malet
Emily Y Glick
Kadeem O Perin
Leja F Campain
Julie M Ruta
Leja O Glick
Kadeem L Gillian
Jones N Tollner
Leja A Doe
Chavez C Stockham
Aruna W Inouye
David W Marrier
Julie S Caldarera
Rodrigues J Rulapaugh
Wickens Y Kolmetz
David X Albares
Sinclair R Bolognia
Stacey I Nestle
Deepesh I Butt
Ashley G Foller
Sinclair L Kusko
Morrow D Malet
Francesco T Flosi
James G Morasca
Isabel D Darakjy
Ricardo W Tollner
Faith C Malet
Maria G Slusarski
Munro G Rulapaugh
Murillo C Butt
IdCountryDate
1000Germany2026-11-02
1001Argentina2026-11-05
1002Japan2026-10-26
1003Germany2026-11-01
1004Spain2026-10-31
1005United Kingdom2026-10-28
1006Argentina2026-10-11
1007Spain2026-11-02
1008United Kingdom2026-10-17
1009Canada2026-10-10
1010Germany2026-10-17
1011Germany2026-11-04
1012Russia2026-10-15
1013Japan2026-10-11
1014India2026-10-18
1015Germany2026-10-09
1016Spain2026-10-07
1017Russia2026-10-22
1018Spain2026-10-24
1019Japan2026-10-08
1020Argentina2026-11-05
1021Australia2026-11-05
1022Japan2026-10-19
1023Spain2026-11-01
1024France2026-10-07
1025Argentina2026-10-16
1026Spain2026-10-28
1027Germany2026-11-03
1028United Kingdom2026-10-23
1029Australia2026-10-30
1030France2026-10-16
1031France2026-10-13
1032Australia2026-10-15
1033Argentina2026-10-16
1034Canada2026-11-04
1035France2026-10-09
1036Argentina2026-10-16
1037Australia2026-10-12
1038Russia2026-10-09
1039Italy2026-10-20
1040Brazil2026-10-28
1041Spain2026-10-14
1042United Kingdom2026-10-11
1043Japan2026-10-17
1044Germany2026-10-16
1045Russia2026-11-04
1046India2026-10-08
1047Russia2026-10-16
1048Russia2026-11-04
1049Australia2026-10-09

On-Demand Data

NameIdCountryDate
Darci X Ostrosky1000Japan2026-10-17
Adams I Slusarski1001Italy2026-10-30
Costa D Poquette1002Canada2026-10-15
Jennifer P Sergi1003United Kingdom2026-11-03
Clifford W Amigon1004India2026-10-12
Ashley L Bolognia1005France2026-10-08
Cody T Ruta1006France2026-10-13
Darci Q Butt1007Italy2026-10-07
Morrow K Gaucho1008United Kingdom2026-10-19
James E Oldroyd1009Italy2026-10-10
Aruna F Butt1010Spain2026-10-29
Mujtaba V Caudy1011Argentina2026-10-10
Julie U Briddick1012Japan2026-10-31
Silvio H Ruta1013Canada2026-10-24
Aditya K Butt1014Canada2026-10-29
Kaitlin B Perin1015Australia2026-10-10
Misaki S Kusko1016Canada2026-10-23
Aruna W Bowley1017Germany2026-11-02
Darci N Iturbide1018Brazil2026-10-31
Rodrigues G Campain1019Brazil2026-10-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa K CampainArgentinaStephen Shaw UNQUALIFIED
Greenwood Q SchemmerAustraliaAsiya Javayant QUALIFIED
Francesco K WaycottArgentinaAnna Fali QUALIFIED
Costa O MaletUnited KingdomIoni Bowcher NEGOTIATION
Chavez Z CaudyFranceElwin Sharvill PROPOSAL
Smith Q RimItalyBernardo Dominic PROPOSAL
Jennifer Q RimFranceXuxue Feng QUALIFIED
Wickens Y VenereIndiaBernardo Dominic NEGOTIATION
Mayumi X PaprockiIndiaIvan Magalhaes UNQUALIFIED
Maria H ShinkoUnited KingdomIvan Magalhaes RENEWAL
Jennifer X KolmetzJapanAmy Elsner NEW
Octavia A TollnerFranceStephen Shaw PROPOSAL
Murillo J RoysterArgentinaIoni Bowcher QUALIFIED
Ricardo I FlosiBrazilElwin Sharvill QUALIFIED
Deepesh F CaldareraUnited KingdomElwin Sharvill NEW
Izzy L MorascaIndiaIvan Magalhaes RENEWAL
Rodrigues E FollerGermanyBernardo Dominic UNQUALIFIED
Smith B FlosiArgentinaElwin Sharvill NEGOTIATION
Aika N OldroydFranceXuxue Feng PROPOSAL
Aditya N NickaRussiaIoni Bowcher NEW
Kaitlin Z ChuiItalyStephen Shaw QUALIFIED
Ivar L WhobreyArgentinaAsiya Javayant UNQUALIFIED
Kaitlin O WieserJapanAmy Elsner RENEWAL
Johnson T WhobreyCanadaElwin Sharvill NEW
Jones R DilliardSpainAmy Elsner QUALIFIED
Wickens F VenereFranceAnna Fali QUALIFIED
Adams G GarufiBrazilXuxue Feng QUALIFIED
Ashley C GauchoSpainXuxue Feng RENEWAL
Wickens Q ButtSpainIoni Bowcher RENEWAL
Greenwood U GarufiGermanyXuxue Feng NEGOTIATION
Morrow I PaprockiBrazilStephen Shaw PROPOSAL
Misaki E BowleyBrazilAnna Fali QUALIFIED
Morrow F MaletBrazilAmy Elsner UNQUALIFIED
Kaitlin N SlusarskiIndiaAsiya Javayant RENEWAL
Ivar E CampainItalyOnyama Limba QUALIFIED
Wickens H VocelkaRussiaBernardo Dominic PROPOSAL
Ivar E FlosiFranceXuxue Feng NEGOTIATION
Juan Q GillianUnited KingdomIvan Magalhaes PROPOSAL
Darci C RoysterBrazilAnna Fali QUALIFIED
Leja X GlickUnited KingdomAnna Fali 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>