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 G KuskoRussiaStephen Shaw QUALIFIED
Emily J StensethRussiaStephen Shaw QUALIFIED
Octavia G OldroydAustraliaAnna Fali PROPOSAL
Silvio L PerinBrazilBernardo Dominic UNQUALIFIED
Tony O WieserUnited KingdomAnna Fali UNQUALIFIED
David N WieserRussiaOnyama Limba UNQUALIFIED
Francesco G DoeBrazilAmy Elsner NEW
Mayumi S PoquetteGermanyBernardo Dominic NEGOTIATION
Ricardo R TollnerArgentinaIvan Magalhaes NEGOTIATION
Silvio A NestleAustraliaAsiya Javayant NEW
Johnson L NickaCanadaXuxue Feng NEGOTIATION
Kaitlin J MorascaItalyAnna Fali UNQUALIFIED
Maria G SlusarskiBrazilAnna Fali UNQUALIFIED
Morrow D ChuiAustraliaIvan Magalhaes QUALIFIED
Jeanfrancois R AmigonGermanyAmy Elsner NEGOTIATION
Leja T StensethIndiaAnna Fali RENEWAL
Nicolas Y ChuiJapanAnna Fali PROPOSAL
Jeanfrancois Q GlickSpainElwin Sharvill RENEWAL
Faith E MaletFranceXuxue Feng QUALIFIED
Julie M StensethArgentinaIvan Magalhaes UNQUALIFIED
Kadeem T GillianSpainElwin Sharvill NEGOTIATION
Morrow N MorascaAustraliaXuxue Feng NEW
James E FigeroaItalyStephen Shaw QUALIFIED
Morrow G TollnerGermanyAnna Fali NEW
Clifford I ButtItalyElwin Sharvill RENEWAL
Tony Q BowleyUnited KingdomXuxue Feng QUALIFIED
Antonio H MacleadRussiaAsiya Javayant NEGOTIATION
Nicolas R PaprockiBrazilElwin Sharvill NEW
Aditya R KolmetzRussiaAsiya Javayant NEGOTIATION
Morrow X PaprockiFranceAnna Fali UNQUALIFIED
Claire F MaletUnited KingdomAsiya Javayant RENEWAL
Aruna H WhobreyJapanElwin Sharvill NEGOTIATION
Antonio Q DoeIndiaAmy Elsner PROPOSAL
Clifford V BowleyArgentinaIoni Bowcher UNQUALIFIED
Morrow A InouyeItalyIoni Bowcher QUALIFIED
Smith F RulapaughSpainAmy Elsner NEW
Leja R SlusarskiArgentinaIoni Bowcher PROPOSAL
Leon I StockhamItalyStephen Shaw RENEWAL
Francesco V ButtSpainBernardo Dominic NEGOTIATION
Wickens T DarakjyJapanOnyama Limba NEW
Silvio I OstroskyUnited KingdomAmy Elsner RENEWAL
Munro R FerenczItalyBernardo Dominic QUALIFIED
Antonio G FerenczArgentinaAnna Fali QUALIFIED
Tony L SlusarskiUnited KingdomStephen Shaw NEW
Mujtaba S InouyeArgentinaAsiya Javayant QUALIFIED
Deepesh R WhobreyFranceAmy Elsner UNQUALIFIED
Greenwood E SchemmerArgentinaXuxue Feng PROPOSAL
Darci I GauchoFranceAnna Fali NEGOTIATION
Leja O GarufiUnited KingdomElwin Sharvill NEGOTIATION
Munro R BowleyRussiaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire Y RutaAustraliaIvan Magalhaes RENEWAL
Jones F SchemmerSpainIoni Bowcher QUALIFIED
Jeanfrancois M RimBrazilAmy Elsner RENEWAL
Silvio C GillianArgentinaAnna Fali PROPOSAL
Faith P BowleyIndiaAmy Elsner QUALIFIED
Isabel O FigeroaUnited KingdomAmy Elsner NEGOTIATION
Jefferson H StensethUnited KingdomIvan Magalhaes RENEWAL
Octavia K InouyeBrazilBernardo Dominic PROPOSAL
Aditya X ButtJapanIvan Magalhaes QUALIFIED
Johnson L RoysterSpainIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens Z MarrierCanada2026-09-14Feltz Printing Service NEW37Ivan Magalhaes
1001Faith X RutaSpain2026-10-02Printing Dimensions RENEWAL46Anna Fali
1002Silvio D CaudyAustralia2026-09-16Feiner Bros NEGOTIATION42Xuxue Feng
1003Clifford Z WaycottUnited Kingdom2026-09-26Commercial Press NEGOTIATION5Elwin Sharvill
1004Smith W GillianFrance2026-09-29Morlong Associates NEW17Amy Elsner
1005Aika R GauchoItaly2026-09-14Printing Dimensions QUALIFIED37Ioni Bowcher
1006Cody X NestleCanada2026-10-04Printing Dimensions UNQUALIFIED90Amy Elsner
1007Rodrigues H GlickArgentina2026-09-14Benton, John B Jr NEW45Xuxue Feng
1008Jennifer T KolmetzIndia2026-09-11King, Christopher A Esq QUALIFIED47Amy Elsner
1009Kadeem O ChuiCanada2026-10-04Chanay, Jeffrey A Esq QUALIFIED1Ioni Bowcher
1010Clifford N RutaArgentina2026-09-17Printing Dimensions PROPOSAL53Ioni Bowcher
1011Aditya R FlosiUnited Kingdom2026-09-12King, Christopher A Esq NEW98Bernardo Dominic
1012Kadeem I AmigonFrance2026-09-09Feltz Printing Service PROPOSAL67Bernardo Dominic
1013Mayumi Q TollnerIndia2026-09-15Rousseaux, Michael Esq RENEWAL67Bernardo Dominic
1014Leon W ChuiArgentina2026-09-07Feltz Printing Service PROPOSAL11Asiya Javayant
1015Antonio L GarufiFrance2026-09-06Commercial Press UNQUALIFIED65Bernardo Dominic
1016Alejandro G SaylorsArgentina2026-09-16Rangoni Of Florence RENEWAL29Asiya Javayant
1017Johnson J PoquetteGermany2026-09-23Feiner Bros RENEWAL20Amy Elsner
1018Aruna H ShinkoFrance2026-09-28Dorl, James J Esq QUALIFIED85Anna Fali
1019Cody C DilliardRussia2026-09-16Chemel, James L Cpa NEW25Elwin Sharvill
1020Morrow Z FlosiBrazil2026-10-03Chapman, Ross E Esq NEGOTIATION62Anna Fali
1021David A PerinIndia2026-09-08Chapman, Ross E Esq UNQUALIFIED34Xuxue Feng
1022Antonio X MaletUnited Kingdom2026-09-26Chanay, Jeffrey A Esq NEGOTIATION60Asiya Javayant
1023Smith I FollerIndia2026-10-04Commercial Press NEGOTIATION62Xuxue Feng
1024Munro E CaudyCanada2026-09-14Printing Dimensions NEGOTIATION7Stephen Shaw
1025Sinclair U AlbaresBrazil2026-09-12Rousseaux, Michael Esq QUALIFIED53Stephen Shaw
1026Alejandro Q GauchoSpain2026-09-13Truhlar And Truhlar Attys UNQUALIFIED21Onyama Limba
1027Clifford Y PoquetteRussia2026-09-09Commercial Press RENEWAL94Bernardo Dominic
1028Jennifer X DoeRussia2026-09-25Commercial Press NEGOTIATION98Stephen Shaw
1029Juan G PoquetteItaly2026-09-20Chanay, Jeffrey A Esq NEGOTIATION62Xuxue Feng
1030Ashley Z PoquetteGermany2026-09-15Feltz Printing Service RENEWAL1Stephen Shaw
1031Smith O MaletArgentina2026-09-18Dorl, James J Esq RENEWAL52Onyama Limba
1032Antonio R MorascaRussia2026-09-14Feltz Printing Service UNQUALIFIED67Xuxue Feng
1033Mujtaba Y DilliardIndia2026-09-22Truhlar And Truhlar Attys NEGOTIATION89Xuxue Feng
1034Kaitlin P DilliardBrazil2026-09-17Feltz Printing Service RENEWAL63Asiya Javayant
1035Aditya B ButtUnited Kingdom2026-09-17Chanay, Jeffrey A Esq QUALIFIED11Onyama Limba
1036Greenwood W OstroskySpain2026-09-07Feltz Printing Service NEW96Ioni Bowcher
1037Francesco C DarakjyJapan2026-09-08Printing Dimensions RENEWAL89Xuxue Feng
1038Clifford E BowleyArgentina2026-09-09Truhlar And Truhlar Attys NEW92Asiya Javayant
1039Isabel C WhobreyUnited Kingdom2026-09-06Morlong Associates NEGOTIATION10Onyama Limba
1040Johnson B IturbideBrazil2026-10-03Dorl, James J Esq NEGOTIATION60Elwin Sharvill
1041Sinclair I PoquetteBrazil2026-10-01Truhlar And Truhlar Attys QUALIFIED96Anna Fali
1042Tony X PoquetteBrazil2026-10-05Printing Dimensions NEGOTIATION42Anna Fali
1043Ashley E MaletRussia2026-09-13Feltz Printing Service RENEWAL80Anna Fali
1044Francesco I SlusarskiJapan2026-09-21Rangoni Of Florence PROPOSAL93Ivan Magalhaes
1045Kaitlin A CampainUnited Kingdom2026-09-09Buckley Miller Wright PROPOSAL51Stephen Shaw
1046Aruna Q MarrierRussia2026-10-02Benton, John B Jr NEW62Anna Fali
1047Arvin U RoysterArgentina2026-09-26Chapman, Ross E Esq NEGOTIATION82Ioni Bowcher
1048Stacey A GillianItaly2026-09-15Rangoni Of Florence QUALIFIED76Ivan Magalhaes
1049James Y OstroskyUnited Kingdom2026-09-11Buckley Miller Wright PROPOSAL16Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Smith F RoysterJapanElwin Sharvill QUALIFIED
Isabel I SaylorsGermanyAnna Fali UNQUALIFIED
Adams B FlosiFranceAmy Elsner QUALIFIED
Darci F KolmetzCanadaOnyama Limba RENEWAL
Johnson Z WhobreyJapanXuxue Feng RENEWAL
Adams Q CaldareraAustraliaOnyama Limba QUALIFIED
Deepesh U WaycottCanadaXuxue Feng UNQUALIFIED
Murillo N FollerBrazilOnyama Limba RENEWAL
Munro J ButtJapanAnna Fali PROPOSAL
Smith U CaldareraIndiaBernardo Dominic RENEWAL
Jennifer P BologniaFranceAmy Elsner UNQUALIFIED
Alejandro S FlosiFranceAsiya Javayant UNQUALIFIED
Jones N BriddickCanadaStephen Shaw NEW
Arvin N MorascaUnited KingdomStephen Shaw QUALIFIED
Cody D RutaJapanElwin Sharvill NEW
Nicolas U StockhamAustraliaAnna Fali QUALIFIED
Costa Y VocelkaRussiaIvan Magalhaes UNQUALIFIED
David R MaletUnited KingdomAsiya Javayant NEGOTIATION
Morrow E MorascaGermanyIvan Magalhaes NEW
Aditya X KolmetzSpainStephen Shaw NEW
Aika K BowleyFranceAmy Elsner RENEWAL
Francesco E CaldareraIndiaBernardo Dominic NEW
Cody P SchemmerJapanBernardo Dominic UNQUALIFIED
Darci G NickaRussiaIvan Magalhaes NEGOTIATION
Costa W WhobreyUnited KingdomStephen Shaw NEW
Costa L VenereSpainXuxue Feng RENEWAL
Tony R SergiGermanyXuxue Feng QUALIFIED
Claire H InouyeItalyAmy Elsner NEGOTIATION
Jennifer L FlosiUnited KingdomAsiya Javayant QUALIFIED
James G VenereFranceIvan Magalhaes QUALIFIED
Greenwood H BriddickArgentinaAnna Fali PROPOSAL
Jennifer H SlusarskiRussiaAnna Fali QUALIFIED
Antonio B OstroskyIndiaAmy Elsner NEGOTIATION
Darci I CampainSpainXuxue Feng UNQUALIFIED
Alejandro E NickaGermanyIoni Bowcher RENEWAL
Kaitlin C TollnerBrazilAmy Elsner NEW
Misaki P CaldareraGermanyBernardo Dominic UNQUALIFIED
Claire N BologniaArgentinaAmy Elsner RENEWAL
Mujtaba Y MarrierSpainIvan Magalhaes UNQUALIFIED
Leon T CaudyUnited KingdomAmy Elsner RENEWAL
Wickens F OldroydRussiaAsiya Javayant NEW
Ashley W PoquetteItalyAsiya Javayant NEGOTIATION
Ivar O SaylorsUnited KingdomXuxue Feng NEGOTIATION
Juan A MacleadGermanyStephen Shaw NEW
Aruna I RimFranceAsiya Javayant PROPOSAL
Smith R PoquetteBrazilBernardo Dominic NEW
James G WieserSpainIoni Bowcher QUALIFIED
Aruna W MaletAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois Z ButtIndiaOnyama Limba UNQUALIFIED
David A DoeBrazilOnyama Limba UNQUALIFIED
Frozen Columns
Name
Johnson K Albares
Ricardo P Butt
Munro B Foller
Darci S Shinko
Mujtaba E Wieser
Nicolas P Vocelka
Ashley Y Gaucho
Aika L Glick
Darci N Malet
Jeanfrancois D Royster
Leon L Bolognia
Nicolas D Sergi
Darci Q Stockham
Juan G Wieser
Mayumi F Rim
Julie Y Vocelka
Costa V Gillian
Emily N Schemmer
Deepesh W Inouye
Leja Y Marrier
Salvatore Q Marrier
Silvio S Chui
Maria J Nestle
Maisha T Dilliard
Leja Z Doe
Nicolas E Figeroa
Arvin I Maclead
Morrow G Gaucho
Darci I Perin
Adams N Flosi
Izzy E Sergi
Antonio K Albares
Rodrigues J Bowley
Mujtaba X Caudy
Jeanfrancois A Royster
Francesco V Albares
Silvio A Chui
Maisha D Paprocki
Jefferson G Wieser
Adams V Amigon
Darci G Dilliard
Aika D Waycott
Chavez D Whobrey
Kaitlin N Gaucho
Jeanfrancois J Perin
Morrow K Amigon
Aika D Nestle
Kadeem J Inouye
Jones M Saylors
Costa T Waycott
IdCountryDate
1000Brazil2026-09-07
1001Germany2026-09-21
1002Russia2026-09-20
1003Canada2026-09-30
1004Spain2026-09-09
1005Australia2026-10-03
1006Brazil2026-09-26
1007Japan2026-09-24
1008Spain2026-09-22
1009Germany2026-09-06
1010Italy2026-09-20
1011Argentina2026-09-16
1012Italy2026-09-09
1013United Kingdom2026-10-04
1014Spain2026-10-02
1015Brazil2026-09-30
1016Germany2026-09-13
1017Australia2026-09-22
1018India2026-09-26
1019Brazil2026-09-21
1020India2026-09-07
1021Argentina2026-10-03
1022Brazil2026-09-20
1023France2026-09-07
1024Spain2026-09-23
1025Brazil2026-10-05
1026Argentina2026-10-04
1027United Kingdom2026-09-30
1028Argentina2026-10-03
1029Germany2026-10-02
1030Japan2026-09-18
1031Italy2026-09-10
1032Brazil2026-09-22
1033Japan2026-09-18
1034Germany2026-09-09
1035France2026-09-17
1036Germany2026-09-28
1037Italy2026-09-10
1038Germany2026-09-21
1039India2026-09-13
1040India2026-10-01
1041Canada2026-09-24
1042Germany2026-09-14
1043Italy2026-09-28
1044Russia2026-10-02
1045Russia2026-09-28
1046Australia2026-09-18
1047Brazil2026-09-19
1048Russia2026-09-21
1049Italy2026-09-11

On-Demand Data

NameIdCountryDate
Francesco J Ferencz1000Russia2026-09-14
Costa C Malet1001Brazil2026-09-28
Ashley R Rulapaugh1002United Kingdom2026-10-02
Alejandro G Garufi1003Japan2026-09-20
Julie R Stockham1004India2026-09-20
Misaki N Bolognia1005Brazil2026-09-19
Maisha N Morasca1006Italy2026-09-13
Alejandro S Morasca1007United Kingdom2026-10-05
Wickens W Slusarski1008France2026-10-04
Rodrigues L Caudy1009Spain2026-10-01
Leja E Stockham1010Russia2026-09-26
Cody X Kolmetz1011India2026-09-28
Cody G Glick1012Australia2026-09-18
Isabel Y Gaucho1013France2026-09-24
Aruna L Malet1014Russia2026-09-10
Jefferson Q Malet1015Italy2026-09-10
Rodrigues X Bolognia1016Spain2026-09-22
Jefferson H Iturbide1017Germany2026-10-01
Jennifer K Caldarera1018Germany2026-09-15
Maria P Glick1019India2026-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley N ShinkoJapanBernardo Dominic NEW
Francesco J BriddickFranceAmy Elsner UNQUALIFIED
Cody Y PaprockiCanadaXuxue Feng RENEWAL
David G GlickGermanyAnna Fali RENEWAL
Johnson R PoquetteBrazilIoni Bowcher UNQUALIFIED
Adams D NestleSpainAmy Elsner QUALIFIED
Nicolas Z AmigonItalyAnna Fali RENEWAL
Antonio C KuskoJapanStephen Shaw RENEWAL
Alejandro K WieserAustraliaXuxue Feng QUALIFIED
Izzy Z GauchoItalyIvan Magalhaes UNQUALIFIED
Isabel V CaldareraSpainIoni Bowcher PROPOSAL
Ricardo L CaldareraJapanStephen Shaw UNQUALIFIED
Greenwood G DarakjyGermanyXuxue Feng RENEWAL
Maria O OstroskyCanadaAsiya Javayant QUALIFIED
Emily W SergiAustraliaBernardo Dominic NEGOTIATION
Smith W ChuiGermanyAnna Fali PROPOSAL
Juan H NestleArgentinaElwin Sharvill NEGOTIATION
Mayumi N CampainSpainOnyama Limba QUALIFIED
Stacey V SchemmerSpainIoni Bowcher NEW
Maria I VenereArgentinaIvan Magalhaes UNQUALIFIED
Clifford T FlosiArgentinaIoni Bowcher NEW
Isabel E DoeSpainAmy Elsner PROPOSAL
Morrow U IturbideAustraliaAmy Elsner UNQUALIFIED
Ivar B RutaJapanIoni Bowcher QUALIFIED
Munro H FlosiGermanyElwin Sharvill PROPOSAL
Johnson E MaletGermanyElwin Sharvill RENEWAL
Ashley D RulapaughAustraliaXuxue Feng QUALIFIED
Cody F PoquetteJapanIoni Bowcher PROPOSAL
Chavez K DarakjyBrazilIvan Magalhaes UNQUALIFIED
Sinclair J GillianIndiaElwin Sharvill PROPOSAL
Wickens Y GlickRussiaXuxue Feng RENEWAL
Ricardo F MaletUnited KingdomAmy Elsner RENEWAL
Misaki D FerenczFranceBernardo Dominic NEW
Ashley M KuskoBrazilAsiya Javayant NEW
Antonio A SaylorsSpainOnyama Limba RENEWAL
Rodrigues M MaletRussiaAmy Elsner QUALIFIED
Darci D BriddickJapanOnyama Limba NEW
James O BowleyUnited KingdomAsiya Javayant PROPOSAL
Smith O BologniaFranceIvan Magalhaes NEW
Jeanfrancois F RulapaughArgentinaXuxue Feng QUALIFIED

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