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
Tony F InouyeArgentinaIoni Bowcher PROPOSAL
Tony R ChuiUnited KingdomAsiya Javayant UNQUALIFIED
Clifford Q PaprockiArgentinaElwin Sharvill RENEWAL
Arvin W BowleyBrazilStephen Shaw UNQUALIFIED
Alejandro N VocelkaIndiaAmy Elsner UNQUALIFIED
Sinclair J PerinAustraliaXuxue Feng NEW
Maria Y KuskoGermanyXuxue Feng NEW
Claire V RoysterArgentinaAmy Elsner UNQUALIFIED
Claire H TollnerSpainElwin Sharvill QUALIFIED
Clifford A NestleSpainAnna Fali NEW
Ricardo V WhobreyGermanyIoni Bowcher QUALIFIED
Jones V MaletCanadaXuxue Feng PROPOSAL
Misaki D RulapaughAustraliaIoni Bowcher UNQUALIFIED
Jennifer H CampainGermanyXuxue Feng RENEWAL
Jennifer J WhobreyUnited KingdomAsiya Javayant NEGOTIATION
Misaki R SaylorsIndiaBernardo Dominic UNQUALIFIED
Jennifer T KolmetzSpainXuxue Feng QUALIFIED
Jones S MaletRussiaAnna Fali PROPOSAL
Mujtaba N CaldareraAustraliaXuxue Feng PROPOSAL
Jefferson C VenereAustraliaAsiya Javayant RENEWAL
Ivar E MaletFranceOnyama Limba RENEWAL
Mujtaba W SlusarskiJapanIoni Bowcher RENEWAL
Tony E GillianRussiaXuxue Feng NEW
Claire O PerinItalyXuxue Feng NEW
Smith J FigeroaSpainBernardo Dominic UNQUALIFIED
Mujtaba B VenereAustraliaIvan Magalhaes QUALIFIED
David C StockhamCanadaOnyama Limba NEW
Maria U InouyeItalyAsiya Javayant UNQUALIFIED
Murillo Q SaylorsItalyOnyama Limba NEW
Murillo Y RoysterFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois E NestleUnited KingdomAnna Fali NEGOTIATION
Ivar I KuskoBrazilXuxue Feng RENEWAL
Stacey W VocelkaUnited KingdomBernardo Dominic RENEWAL
Jennifer X SaylorsFranceIvan Magalhaes UNQUALIFIED
Munro H OldroydIndiaBernardo Dominic PROPOSAL
Leja Z DilliardRussiaBernardo Dominic NEGOTIATION
Claire U FollerArgentinaIvan Magalhaes QUALIFIED
Morrow B SergiCanadaXuxue Feng PROPOSAL
Salvatore S RimArgentinaOnyama Limba NEGOTIATION
Kaitlin L FigeroaItalyIvan Magalhaes NEW
Nicolas Z RimFranceElwin Sharvill UNQUALIFIED
Costa U MorascaFranceBernardo Dominic NEW
Nicolas D FigeroaFranceOnyama Limba PROPOSAL
Ashley Q SchemmerArgentinaStephen Shaw RENEWAL
Emily W MaletIndiaElwin Sharvill PROPOSAL
Octavia I TollnerArgentinaElwin Sharvill NEW
Claire U ChuiAustraliaBernardo Dominic QUALIFIED
Wickens M WhobreyIndiaIoni Bowcher UNQUALIFIED
James Y RimGermanyOnyama Limba NEGOTIATION
Salvatore P MaletFranceXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer Q TollnerJapanIvan Magalhaes UNQUALIFIED
Ashley W TollnerAustraliaStephen Shaw PROPOSAL
Tony Y GlickAustraliaOnyama Limba QUALIFIED
Izzy K FollerSpainOnyama Limba PROPOSAL
Jefferson Y ShinkoBrazilAnna Fali UNQUALIFIED
Julie D GillianGermanyIoni Bowcher NEGOTIATION
Maria S GillianBrazilIvan Magalhaes QUALIFIED
Rodrigues E VocelkaRussiaIvan Magalhaes PROPOSAL
Rodrigues F RimArgentinaBernardo Dominic PROPOSAL
Octavia B CaudyJapanElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba M WieserIndia2026-09-02Buckley Miller Wright UNQUALIFIED24Bernardo Dominic
1001Claire V CampainUnited Kingdom2026-09-11Morlong Associates NEW32Xuxue Feng
1002Jeanfrancois E GlickItaly2026-09-24Commercial Press QUALIFIED90Stephen Shaw
1003Emily M StockhamGermany2026-09-19Chapman, Ross E Esq NEGOTIATION10Ivan Magalhaes
1004Nicolas V RulapaughCanada2026-09-27Benton, John B Jr QUALIFIED39Xuxue Feng
1005Tony H MorascaAustralia2026-09-14Printing Dimensions NEGOTIATION35Onyama Limba
1006Tony W PoquetteUnited Kingdom2026-09-06Rangoni Of Florence UNQUALIFIED97Stephen Shaw
1007James Y NestleIndia2026-09-19Buckley Miller Wright NEW24Stephen Shaw
1008Juan R NickaBrazil2026-09-01Commercial Press UNQUALIFIED72Anna Fali
1009Murillo T BriddickIndia2026-09-15Benton, John B Jr QUALIFIED91Bernardo Dominic
1010Claire B ButtArgentina2026-09-01Printing Dimensions NEW9Stephen Shaw
1011Isabel N SlusarskiFrance2026-09-03Rangoni Of Florence RENEWAL52Anna Fali
1012Kaitlin P FerenczFrance2026-09-20Morlong Associates NEW11Onyama Limba
1013Darci I GlickArgentina2026-09-04Buckley Miller Wright NEW16Asiya Javayant
1014Leja D ShinkoJapan2026-09-16Commercial Press NEW74Xuxue Feng
1015Adams K MacleadArgentina2026-09-17Morlong Associates PROPOSAL83Ivan Magalhaes
1016Adams Z VenereGermany2026-09-25Chanay, Jeffrey A Esq RENEWAL0Stephen Shaw
1017Misaki Q GillianArgentina2026-09-26Feiner Bros UNQUALIFIED1Ivan Magalhaes
1018Nicolas I GillianIndia2026-09-23Rangoni Of Florence QUALIFIED33Stephen Shaw
1019Juan N FlosiBrazil2026-09-02Chanay, Jeffrey A Esq NEGOTIATION45Stephen Shaw
1020Ashley J DoeArgentina2026-09-22Truhlar And Truhlar Attys UNQUALIFIED56Onyama Limba
1021Jones O FigeroaUnited Kingdom2026-09-16Feltz Printing Service NEW46Ioni Bowcher
1022Jefferson P MarrierArgentina2026-09-21Chanay, Jeffrey A Esq RENEWAL49Anna Fali
1023Alejandro Q CampainSpain2026-09-19Rousseaux, Michael Esq QUALIFIED15Xuxue Feng
1024Johnson M DilliardGermany2026-09-17Rousseaux, Michael Esq RENEWAL34Ioni Bowcher
1025Silvio T BowleyRussia2026-09-03Chapman, Ross E Esq UNQUALIFIED98Anna Fali
1026James S KolmetzBrazil2026-09-17Feiner Bros UNQUALIFIED22Amy Elsner
1027Leja E WaycottRussia2026-09-19Rangoni Of Florence NEW24Onyama Limba
1028Aditya Y VocelkaJapan2026-09-07Rousseaux, Michael Esq PROPOSAL44Xuxue Feng
1029David B RutaIndia2026-09-14Buckley Miller Wright PROPOSAL93Amy Elsner
1030Aditya H BologniaSpain2026-09-15Morlong Associates NEGOTIATION71Asiya Javayant
1031Ivar M FlosiJapan2026-09-07Morlong Associates RENEWAL48Asiya Javayant
1032Aruna R TollnerArgentina2026-08-30Chapman, Ross E Esq RENEWAL3Bernardo Dominic
1033Aruna W ButtGermany2026-09-22Buckley Miller Wright RENEWAL0Stephen Shaw
1034Stacey B MorascaFrance2026-09-06Commercial Press RENEWAL24Ivan Magalhaes
1035Izzy B DoeGermany2026-09-24Dorl, James J Esq UNQUALIFIED45Bernardo Dominic
1036Octavia Y KolmetzAustralia2026-09-13Chemel, James L Cpa NEGOTIATION65Bernardo Dominic
1037Isabel G SlusarskiRussia2026-09-21Printing Dimensions PROPOSAL91Stephen Shaw
1038David P GlickArgentina2026-09-12Buckley Miller Wright PROPOSAL15Ioni Bowcher
1039Murillo Z DarakjyItaly2026-09-07Morlong Associates NEW18Elwin Sharvill
1040Isabel P ChuiRussia2026-09-06Rousseaux, Michael Esq UNQUALIFIED87Anna Fali
1041Tony D CaudyArgentina2026-09-07Buckley Miller Wright UNQUALIFIED98Asiya Javayant
1042Octavia F FigeroaFrance2026-09-03Printing Dimensions NEW47Xuxue Feng
1043Smith I CampainGermany2026-09-27Buckley Miller Wright PROPOSAL11Anna Fali
1044Aditya L CaudyBrazil2026-09-23Feiner Bros UNQUALIFIED0Asiya Javayant
1045Wickens V IturbideCanada2026-09-20Printing Dimensions NEW79Bernardo Dominic
1046Arvin M AlbaresBrazil2026-09-06Buckley Miller Wright NEW7Ivan Magalhaes
1047Leja R FlosiBrazil2026-09-11Benton, John B Jr RENEWAL83Xuxue Feng
1048Darci O BriddickCanada2026-09-18Truhlar And Truhlar Attys QUALIFIED56Elwin Sharvill
1049Johnson Q ChuiBrazil2026-09-10Rangoni Of Florence PROPOSAL23Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Johnson F PaprockiArgentinaBernardo Dominic NEW
Nicolas L GlickCanadaStephen Shaw PROPOSAL
James B GillianArgentinaXuxue Feng NEGOTIATION
Mayumi D GauchoJapanOnyama Limba PROPOSAL
Rodrigues I InouyeBrazilIvan Magalhaes PROPOSAL
Munro J StockhamJapanStephen Shaw UNQUALIFIED
Costa L SchemmerSpainAnna Fali PROPOSAL
Greenwood T KuskoCanadaAmy Elsner NEGOTIATION
Emily T ButtItalyAsiya Javayant RENEWAL
Misaki X NestleBrazilAmy Elsner NEW
Ricardo K ShinkoGermanyStephen Shaw PROPOSAL
Jeanfrancois A GarufiGermanyIoni Bowcher RENEWAL
Faith T PaprockiItalyXuxue Feng NEGOTIATION
Jefferson M SlusarskiIndiaAmy Elsner QUALIFIED
Deepesh Q FigeroaUnited KingdomIoni Bowcher RENEWAL
Leja P FerenczIndiaStephen Shaw QUALIFIED
Cody D ChuiCanadaAmy Elsner RENEWAL
Julie I GillianUnited KingdomIvan Magalhaes RENEWAL
Mayumi D FollerFranceStephen Shaw QUALIFIED
Faith T AlbaresArgentinaElwin Sharvill RENEWAL
Aika T IturbideJapanIvan Magalhaes RENEWAL
Salvatore K SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
Antonio L RoysterBrazilStephen Shaw UNQUALIFIED
Costa X StensethUnited KingdomAsiya Javayant UNQUALIFIED
Juan N RutaSpainIoni Bowcher NEGOTIATION
Aruna Z SergiFranceOnyama Limba NEGOTIATION
Wickens R AmigonUnited KingdomAnna Fali NEW
Ashley R MacleadBrazilIoni Bowcher PROPOSAL
Arvin E BowleyBrazilOnyama Limba RENEWAL
Leja Z ShinkoCanadaBernardo Dominic RENEWAL
Isabel X PerinItalyAmy Elsner QUALIFIED
Maisha C SaylorsBrazilIoni Bowcher QUALIFIED
Leon G SlusarskiJapanAnna Fali RENEWAL
Costa N RimAustraliaIvan Magalhaes PROPOSAL
Izzy X InouyeUnited KingdomOnyama Limba RENEWAL
Johnson Q BowleyGermanyElwin Sharvill NEGOTIATION
Stacey H SchemmerUnited KingdomBernardo Dominic QUALIFIED
Maria Z TollnerSpainStephen Shaw PROPOSAL
Murillo I OldroydItalyOnyama Limba UNQUALIFIED
Costa K GarufiCanadaXuxue Feng UNQUALIFIED
Ricardo T SaylorsIndiaAsiya Javayant QUALIFIED
Murillo M FerenczCanadaXuxue Feng NEW
Izzy P PaprockiRussiaIvan Magalhaes UNQUALIFIED
Costa P KolmetzUnited KingdomXuxue Feng NEW
Tony I MaletSpainIvan Magalhaes NEW
Darci Y FlosiAustraliaElwin Sharvill NEGOTIATION
Kadeem H NickaRussiaIoni Bowcher NEGOTIATION
Munro N OldroydCanadaAsiya Javayant PROPOSAL
Maisha D SchemmerBrazilElwin Sharvill UNQUALIFIED
Silvio R WaycottFranceAmy Elsner NEW
Frozen Columns
Name
Aika G Stockham
Mayumi K Ferencz
Morrow P Whobrey
Juan P Venere
Maria J Amigon
Faith O Darakjy
Alejandro H Caudy
Kadeem F Bowley
Isabel O Ferencz
Ivar K Maclead
Ashley O Doe
Leon N Kusko
Antonio F Schemmer
Greenwood F Rulapaugh
Aika Z Royster
Ivar Z Kolmetz
Alejandro X Morasca
Arvin M Caldarera
Sinclair F Shinko
Chavez U Flosi
Sinclair A Perin
Octavia R Gillian
Clifford R Doe
James R Tollner
Octavia G Caldarera
Misaki R Venere
Kadeem M Morasca
Deepesh V Kolmetz
Salvatore P Albares
David D Morasca
Tony Q Waycott
Chavez J Chui
Costa Y Stockham
Emily F Malet
Leon L Flosi
Silvio N Malet
Salvatore D Ruta
Faith I Nestle
Rodrigues J Shinko
Isabel F Bowley
Alejandro I Morasca
Costa T Royster
Ricardo M Ruta
Sinclair X Shinko
Murillo Q Morasca
Juan V Slusarski
Darci A Flosi
Darci Q Vocelka
Wickens W Gillian
Rodrigues O Chui
IdCountryDate
1000Canada2026-09-21
1001Japan2026-09-22
1002France2026-09-01
1003Germany2026-09-25
1004Brazil2026-09-14
1005Japan2026-09-20
1006France2026-08-29
1007Japan2026-09-09
1008Canada2026-09-26
1009Brazil2026-08-30
1010Brazil2026-09-22
1011Japan2026-09-19
1012Spain2026-09-10
1013France2026-08-29
1014France2026-09-19
1015Spain2026-09-18
1016Russia2026-09-11
1017Argentina2026-09-18
1018France2026-08-29
1019United Kingdom2026-08-31
1020Russia2026-09-22
1021Italy2026-09-27
1022India2026-09-16
1023India2026-09-19
1024Argentina2026-09-03
1025Italy2026-09-08
1026Germany2026-08-30
1027Russia2026-09-27
1028United Kingdom2026-09-11
1029United Kingdom2026-09-04
1030Russia2026-09-06
1031Japan2026-09-24
1032United Kingdom2026-09-05
1033Australia2026-08-31
1034Russia2026-09-22
1035Russia2026-09-25
1036Brazil2026-08-31
1037Italy2026-09-14
1038Argentina2026-09-25
1039Canada2026-09-01
1040Argentina2026-09-20
1041Australia2026-09-20
1042Australia2026-08-31
1043Australia2026-08-29
1044Argentina2026-09-21
1045Brazil2026-09-27
1046Italy2026-09-15
1047France2026-09-14
1048Germany2026-09-01
1049Canada2026-08-29

On-Demand Data

NameIdCountryDate
Adams N Campain1000Germany2026-08-29
Greenwood H Malet1001Germany2026-09-15
Misaki C Malet1002India2026-09-10
Mujtaba W Darakjy1003Germany2026-09-22
Leon G Gaucho1004Canada2026-09-17
Julie Q Stockham1005Russia2026-09-26
Aika H Oldroyd1006Russia2026-09-11
Aika M Paprocki1007United Kingdom2026-08-30
Claire E Gaucho1008Australia2026-09-10
Maria O Nestle1009Canada2026-09-10
Stacey R Briddick1010Russia2026-09-16
Jones H Butt1011Japan2026-09-10
Kaitlin Q Nestle1012Canada2026-09-20
Chavez S Nestle1013Argentina2026-08-31
Sinclair C Briddick1014Spain2026-09-09
Ashley G Doe1015Canada2026-09-25
Ivar L Foller1016Canada2026-09-26
Octavia R Tollner1017Brazil2026-09-11
Deepesh I Morasca1018Spain2026-09-24
Maria D Nicka1019United Kingdom2026-08-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki A FigeroaArgentinaBernardo Dominic RENEWAL
Kadeem N NickaItalyBernardo Dominic QUALIFIED
Aditya J VenereJapanAmy Elsner PROPOSAL
Smith I BowleyGermanyAmy Elsner NEW
Ivar U WaycottGermanyOnyama Limba UNQUALIFIED
Johnson M GillianRussiaXuxue Feng UNQUALIFIED
Cody W OstroskyItalyIvan Magalhaes NEGOTIATION
Jeanfrancois C PoquetteCanadaBernardo Dominic UNQUALIFIED
Mayumi K PerinRussiaStephen Shaw PROPOSAL
Silvio K MorascaFranceOnyama Limba NEW
Izzy Z RoysterGermanyXuxue Feng NEW
Morrow G ChuiJapanXuxue Feng UNQUALIFIED
Misaki C PoquetteBrazilBernardo Dominic UNQUALIFIED
Leon H AlbaresGermanyAnna Fali QUALIFIED
Darci A ButtAustraliaStephen Shaw QUALIFIED
Mayumi X TollnerIndiaElwin Sharvill QUALIFIED
Mayumi L FlosiRussiaXuxue Feng QUALIFIED
Murillo D NickaFranceAsiya Javayant PROPOSAL
Emily B AmigonFranceIoni Bowcher NEW
Kaitlin Y GauchoCanadaElwin Sharvill PROPOSAL
Rodrigues K TollnerBrazilStephen Shaw PROPOSAL
Johnson S BriddickIndiaAnna Fali UNQUALIFIED
Mujtaba L KolmetzRussiaElwin Sharvill QUALIFIED
Stacey E MacleadSpainXuxue Feng PROPOSAL
Julie K AlbaresRussiaAnna Fali NEW
Smith X WieserCanadaAnna Fali RENEWAL
Emily H VocelkaUnited KingdomStephen Shaw PROPOSAL
Mujtaba O RimFranceBernardo Dominic RENEWAL
Octavia O KolmetzFranceIvan Magalhaes PROPOSAL
Claire G ButtBrazilStephen Shaw NEGOTIATION
Tony P MarrierGermanyOnyama Limba NEW
Mujtaba R RimAustraliaElwin Sharvill RENEWAL
Costa G DoeRussiaIvan Magalhaes QUALIFIED
Kaitlin Q DoeUnited KingdomStephen Shaw NEW
Kadeem U IturbideIndiaElwin Sharvill RENEWAL
Jones L SchemmerFranceXuxue Feng NEGOTIATION
Deepesh J WieserIndiaIoni Bowcher NEW
Darci H SlusarskiFranceAsiya Javayant NEGOTIATION
Aika F BologniaBrazilIoni Bowcher QUALIFIED
Kaitlin H MacleadArgentinaOnyama Limba RENEWAL

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