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
Aika A SchemmerAustraliaAmy Elsner QUALIFIED
Stacey P RimCanadaOnyama Limba RENEWAL
Izzy L ButtArgentinaIvan Magalhaes QUALIFIED
Misaki U RimUnited KingdomAsiya Javayant UNQUALIFIED
Clifford P BriddickSpainIoni Bowcher PROPOSAL
Johnson G TollnerCanadaAsiya Javayant QUALIFIED
Isabel Q GlickGermanyIoni Bowcher PROPOSAL
Arvin C BowleyFranceIoni Bowcher PROPOSAL
Aika Q BologniaArgentinaAnna Fali QUALIFIED
Jeanfrancois U SergiArgentinaIvan Magalhaes NEW
Sinclair I WhobreyItalyIoni Bowcher QUALIFIED
Wickens T WaycottBrazilOnyama Limba UNQUALIFIED
Munro O VenereAustraliaXuxue Feng RENEWAL
Alejandro D TollnerBrazilXuxue Feng QUALIFIED
Wickens D WhobreyJapanStephen Shaw UNQUALIFIED
Jennifer V CaudyFranceBernardo Dominic RENEWAL
Ricardo O ChuiUnited KingdomOnyama Limba RENEWAL
Jefferson D DoeGermanyElwin Sharvill RENEWAL
Nicolas N OstroskyCanadaStephen Shaw PROPOSAL
Jeanfrancois N InouyeIndiaAmy Elsner UNQUALIFIED
Antonio O TollnerGermanyElwin Sharvill RENEWAL
Francesco Y InouyeJapanAnna Fali NEGOTIATION
Misaki E TollnerGermanyAsiya Javayant PROPOSAL
Greenwood H GillianJapanAsiya Javayant NEGOTIATION
Nicolas C StockhamIndiaStephen Shaw NEGOTIATION
Ashley W MaletRussiaOnyama Limba RENEWAL
Francesco W BologniaRussiaAnna Fali QUALIFIED
Mujtaba D BriddickCanadaOnyama Limba NEW
Francesco S OstroskyItalyBernardo Dominic UNQUALIFIED
Nicolas T NickaBrazilXuxue Feng UNQUALIFIED
Chavez K PerinJapanOnyama Limba UNQUALIFIED
Chavez D PoquetteItalyAmy Elsner UNQUALIFIED
Tony Y NickaGermanyIoni Bowcher NEGOTIATION
Wickens Y SchemmerSpainStephen Shaw NEGOTIATION
Cody C IturbideJapanElwin Sharvill NEW
Maria T CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Maisha L DoeJapanAnna Fali UNQUALIFIED
Mayumi A NickaAustraliaStephen Shaw NEW
Faith Z GauchoGermanyOnyama Limba RENEWAL
Emily W GillianGermanyAsiya Javayant PROPOSAL
Nicolas H BriddickUnited KingdomBernardo Dominic RENEWAL
Francesco R WaycottIndiaAmy Elsner NEGOTIATION
Ashley Z MacleadIndiaBernardo Dominic NEW
Deepesh L ChuiIndiaAsiya Javayant PROPOSAL
Faith W WaycottAustraliaStephen Shaw PROPOSAL
Rodrigues F FollerArgentinaIoni Bowcher NEW
Aditya J AmigonRussiaOnyama Limba NEGOTIATION
Aruna U BriddickItalyAnna Fali NEW
Ricardo R TollnerBrazilBernardo Dominic RENEWAL
Arvin T BriddickGermanyIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Smith E CampainIndiaElwin Sharvill PROPOSAL
Silvio H OldroydUnited KingdomElwin Sharvill RENEWAL
Alejandro D SergiSpainAsiya Javayant NEGOTIATION
Mayumi E PoquetteBrazilAnna Fali UNQUALIFIED
Wickens I FlosiIndiaOnyama Limba PROPOSAL
Alejandro J MaletCanadaXuxue Feng PROPOSAL
Maisha Q InouyeUnited KingdomBernardo Dominic NEW
David I DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Sinclair E CaudyItalyXuxue Feng PROPOSAL
Faith K OldroydJapanOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer I OstroskyBrazil2026-09-07Chapman, Ross E Esq QUALIFIED78Anna Fali
1001Morrow O CaudyBrazil2026-08-26Chemel, James L Cpa RENEWAL41Amy Elsner
1002Chavez O MacleadArgentina2026-08-27King, Christopher A Esq QUALIFIED35Amy Elsner
1003Wickens T VocelkaJapan2026-09-16King, Christopher A Esq PROPOSAL45Asiya Javayant
1004Smith X PerinIndia2026-08-24Truhlar And Truhlar Attys QUALIFIED73Ivan Magalhaes
1005Isabel N CaldareraItaly2026-09-14Dorl, James J Esq PROPOSAL80Bernardo Dominic
1006Clifford E StensethGermany2026-09-03Morlong Associates QUALIFIED27Amy Elsner
1007Izzy X ChuiArgentina2026-09-04Truhlar And Truhlar Attys NEGOTIATION63Xuxue Feng
1008Deepesh X MacleadUnited Kingdom2026-08-30Chanay, Jeffrey A Esq NEW3Ioni Bowcher
1009Nicolas U SergiArgentina2026-09-03Dorl, James J Esq RENEWAL43Ivan Magalhaes
1010Murillo E FigeroaSpain2026-09-16Truhlar And Truhlar Attys RENEWAL19Onyama Limba
1011Stacey B ChuiCanada2026-09-11Rousseaux, Michael Esq RENEWAL75Asiya Javayant
1012Morrow H BologniaUnited Kingdom2026-09-11Printing Dimensions NEGOTIATION95Elwin Sharvill
1013Tony V FlosiIndia2026-09-09Printing Dimensions UNQUALIFIED95Anna Fali
1014Izzy P GauchoRussia2026-08-26Feiner Bros QUALIFIED87Bernardo Dominic
1015Aika N GarufiIndia2026-08-21Buckley Miller Wright QUALIFIED19Ivan Magalhaes
1016Cody H GillianGermany2026-08-28Rangoni Of Florence NEGOTIATION73Xuxue Feng
1017Sinclair W FerenczGermany2026-08-25Printing Dimensions PROPOSAL61Bernardo Dominic
1018Mayumi U CaldareraGermany2026-09-12Morlong Associates NEGOTIATION47Xuxue Feng
1019Costa B RimRussia2026-09-06Chemel, James L Cpa NEW48Onyama Limba
1020Octavia Z ChuiUnited Kingdom2026-09-17Rangoni Of Florence NEGOTIATION35Xuxue Feng
1021Nicolas Z BowleyJapan2026-09-12Morlong Associates NEW53Stephen Shaw
1022Wickens Z StockhamCanada2026-09-10Dorl, James J Esq NEW96Ioni Bowcher
1023Jefferson X PoquetteArgentina2026-08-19Dorl, James J Esq PROPOSAL58Xuxue Feng
1024Maria D GillianArgentina2026-09-10Rangoni Of Florence UNQUALIFIED87Bernardo Dominic
1025Octavia U NestleJapan2026-08-23Printing Dimensions PROPOSAL56Ivan Magalhaes
1026Juan C RutaSpain2026-09-13Commercial Press PROPOSAL21Bernardo Dominic
1027Morrow G FerenczSpain2026-09-17Chanay, Jeffrey A Esq NEGOTIATION32Stephen Shaw
1028Chavez U GarufiBrazil2026-09-07King, Christopher A Esq RENEWAL10Bernardo Dominic
1029Emily A CampainSpain2026-09-12Buckley Miller Wright NEGOTIATION82Ioni Bowcher
1030Alejandro B BriddickCanada2026-08-26Chanay, Jeffrey A Esq RENEWAL84Ioni Bowcher
1031Kadeem M ButtRussia2026-08-31King, Christopher A Esq RENEWAL40Stephen Shaw
1032Murillo O FlosiItaly2026-09-09Feiner Bros RENEWAL86Elwin Sharvill
1033Antonio H DoeItaly2026-09-16King, Christopher A Esq QUALIFIED16Amy Elsner
1034Mujtaba L FollerFrance2026-09-15Rangoni Of Florence NEGOTIATION0Onyama Limba
1035Francesco A OldroydFrance2026-09-14Morlong Associates NEW60Asiya Javayant
1036Faith C RulapaughItaly2026-09-16Feltz Printing Service QUALIFIED19Amy Elsner
1037Tony A RulapaughItaly2026-08-31Chanay, Jeffrey A Esq NEGOTIATION50Anna Fali
1038Chavez C WhobreyItaly2026-09-14Printing Dimensions PROPOSAL60Ioni Bowcher
1039Aruna Y WieserRussia2026-09-15King, Christopher A Esq RENEWAL72Ivan Magalhaes
1040Munro V AlbaresAustralia2026-09-08Benton, John B Jr RENEWAL18Asiya Javayant
1041Nicolas I BowleyArgentina2026-09-04Commercial Press QUALIFIED55Bernardo Dominic
1042Smith V TollnerGermany2026-09-07Printing Dimensions UNQUALIFIED58Bernardo Dominic
1043Octavia B IturbideGermany2026-08-24Printing Dimensions NEW95Amy Elsner
1044Claire N RoysterSpain2026-09-13Chemel, James L Cpa QUALIFIED9Xuxue Feng
1045Adams B CampainSpain2026-08-25Chapman, Ross E Esq NEW35Ioni Bowcher
1046Jones E AlbaresJapan2026-09-14Chanay, Jeffrey A Esq QUALIFIED96Elwin Sharvill
1047Octavia E PoquetteGermany2026-08-25Chapman, Ross E Esq RENEWAL83Ivan Magalhaes
1048Mujtaba S RoysterItaly2026-09-06Benton, John B Jr PROPOSAL14Elwin Sharvill
1049Johnson I BologniaCanada2026-08-26Chapman, Ross E Esq RENEWAL89Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Faith S PaprockiGermanyIvan Magalhaes UNQUALIFIED
Adams M MaletBrazilIoni Bowcher RENEWAL
Aditya W PoquetteItalyAnna Fali NEGOTIATION
Aditya Z KuskoJapanIoni Bowcher PROPOSAL
Misaki H MorascaBrazilIoni Bowcher PROPOSAL
Rodrigues M ButtIndiaOnyama Limba QUALIFIED
Jefferson H OstroskySpainOnyama Limba UNQUALIFIED
Nicolas Z SaylorsItalyOnyama Limba PROPOSAL
Juan L MaletItalyXuxue Feng NEW
Antonio G GlickItalyIoni Bowcher NEGOTIATION
Aika D StockhamSpainXuxue Feng RENEWAL
Jefferson R GauchoIndiaAnna Fali UNQUALIFIED
Silvio H MacleadRussiaBernardo Dominic RENEWAL
Wickens J DilliardIndiaXuxue Feng QUALIFIED
Johnson C OstroskyBrazilAnna Fali PROPOSAL
Stacey C VocelkaUnited KingdomStephen Shaw QUALIFIED
Kaitlin U StensethCanadaAsiya Javayant QUALIFIED
Julie Q CaudyArgentinaXuxue Feng NEW
Aika L WhobreyArgentinaBernardo Dominic RENEWAL
Leja W MacleadFranceOnyama Limba RENEWAL
Alejandro Z AmigonCanadaIoni Bowcher UNQUALIFIED
Aika G WaycottFranceAnna Fali NEGOTIATION
Greenwood D ShinkoAustraliaElwin Sharvill QUALIFIED
Maisha H PoquetteUnited KingdomAnna Fali QUALIFIED
Wickens C KuskoRussiaOnyama Limba QUALIFIED
Salvatore A AlbaresArgentinaAmy Elsner PROPOSAL
Nicolas G CaudyBrazilOnyama Limba RENEWAL
Munro A ButtSpainAsiya Javayant RENEWAL
Leja B VocelkaJapanIoni Bowcher PROPOSAL
Ashley H DilliardAustraliaElwin Sharvill NEGOTIATION
Jefferson X WaycottSpainXuxue Feng NEW
Johnson X MorascaArgentinaAnna Fali PROPOSAL
Mujtaba Q FlosiUnited KingdomAsiya Javayant RENEWAL
Juan C ChuiAustraliaAsiya Javayant NEW
Leon B SaylorsFranceBernardo Dominic NEGOTIATION
Kadeem U KuskoGermanyAnna Fali UNQUALIFIED
Faith J MacleadCanadaIvan Magalhaes PROPOSAL
Misaki N RoysterAustraliaXuxue Feng PROPOSAL
Chavez T NickaGermanyIvan Magalhaes UNQUALIFIED
Kaitlin G SaylorsJapanIvan Magalhaes UNQUALIFIED
Adams K CaudyCanadaAsiya Javayant UNQUALIFIED
Jeanfrancois C RoysterItalyAsiya Javayant PROPOSAL
Ivar W GlickGermanyXuxue Feng QUALIFIED
Kaitlin L DoeBrazilIoni Bowcher UNQUALIFIED
Silvio S AlbaresUnited KingdomIoni Bowcher UNQUALIFIED
Cody A InouyeUnited KingdomAnna Fali QUALIFIED
Faith D GauchoCanadaStephen Shaw NEGOTIATION
Salvatore B ChuiFranceAmy Elsner QUALIFIED
Arvin J CaldareraSpainXuxue Feng RENEWAL
Jones H VocelkaBrazilStephen Shaw NEW
Frozen Columns
Name
Ricardo V Royster
Misaki V Amigon
Leon K Rulapaugh
Darci P Amigon
Ricardo N Darakjy
Ricardo E Tollner
Smith J Chui
Stacey C Bowley
Smith O Glick
Salvatore A Glick
Johnson T Kolmetz
Antonio V Maclead
Clifford K Nicka
Maria C Garufi
Deepesh H Waycott
Maisha A Slusarski
Emily K Bowley
Arvin C Schemmer
Claire D Morasca
Greenwood L Doe
Juan I Oldroyd
Silvio M Morasca
Tony O Oldroyd
Ivar Q Paprocki
Tony U Dilliard
Maisha A Saylors
Alejandro L Stockham
Costa E Venere
Murillo I Gillian
Jeanfrancois V Paprocki
Sinclair Y Flosi
Alejandro M Rim
Leja G Gaucho
Salvatore R Chui
Darci T Briddick
Munro S Glick
Jones F Gillian
Tony J Slusarski
James J Nicka
Greenwood F Venere
Isabel R Marrier
Johnson X Bolognia
Murillo A Foller
Nicolas Q Saylors
Stacey K Poquette
Leon X Butt
Darci G Schemmer
Clifford S Doe
Wickens Q Schemmer
Salvatore K Malet
IdCountryDate
1000Canada2026-09-04
1001Spain2026-09-04
1002United Kingdom2026-09-10
1003Australia2026-09-13
1004Argentina2026-08-23
1005Japan2026-09-15
1006Canada2026-09-16
1007India2026-09-11
1008United Kingdom2026-09-17
1009Brazil2026-08-24
1010India2026-08-30
1011India2026-08-29
1012Germany2026-08-21
1013Italy2026-09-05
1014India2026-08-29
1015Japan2026-09-03
1016India2026-09-11
1017India2026-09-05
1018Germany2026-09-10
1019Brazil2026-08-27
1020Germany2026-08-24
1021Germany2026-09-01
1022United Kingdom2026-08-27
1023Japan2026-09-14
1024Brazil2026-08-28
1025France2026-09-07
1026Spain2026-08-23
1027Spain2026-08-24
1028Australia2026-09-17
1029France2026-09-15
1030Russia2026-08-30
1031India2026-09-07
1032Brazil2026-09-14
1033Canada2026-09-04
1034India2026-08-26
1035France2026-08-20
1036Russia2026-09-04
1037Brazil2026-09-10
1038Italy2026-08-21
1039France2026-09-15
1040Germany2026-08-27
1041Brazil2026-08-24
1042Argentina2026-09-05
1043Russia2026-09-12
1044Spain2026-08-23
1045United Kingdom2026-09-06
1046Argentina2026-09-12
1047France2026-08-27
1048Brazil2026-09-06
1049Canada2026-08-31

On-Demand Data

NameIdCountryDate
Wickens B Malet1000Italy2026-08-25
Aika K Slusarski1001Spain2026-09-08
Izzy C Tollner1002France2026-09-04
Francesco G Ferencz1003Canada2026-08-30
Jones U Vocelka1004Argentina2026-08-31
Deepesh C Amigon1005India2026-08-20
Claire P Caldarera1006Spain2026-08-30
James J Malet1007Brazil2026-09-09
Cody G Kolmetz1008United Kingdom2026-08-27
Leon D Gaucho1009India2026-09-05
Leja N Waycott1010Spain2026-09-04
Kaitlin K Maclead1011Russia2026-09-09
Alejandro Z Butt1012Australia2026-09-13
Sinclair I Bolognia1013Italy2026-08-26
Jefferson W Venere1014Japan2026-09-07
Aditya V Gillian1015Russia2026-08-22
Isabel B Poquette1016Germany2026-08-25
Chavez R Nestle1017Canada2026-09-05
Nicolas I Perin1018Germany2026-09-03
Johnson R Caudy1019India2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford R FigeroaRussiaIoni Bowcher UNQUALIFIED
Ivar G OldroydBrazilAsiya Javayant PROPOSAL
Morrow U WhobreyBrazilIvan Magalhaes PROPOSAL
Jefferson V AlbaresRussiaStephen Shaw UNQUALIFIED
Costa Z AmigonFranceOnyama Limba NEGOTIATION
Ashley P PoquetteJapanIoni Bowcher NEGOTIATION
Ashley Y PaprockiIndiaAsiya Javayant UNQUALIFIED
Maria S KolmetzFranceXuxue Feng NEW
Juan B KolmetzItalyXuxue Feng NEW
Darci O VocelkaRussiaBernardo Dominic RENEWAL
Murillo R PoquetteArgentinaXuxue Feng UNQUALIFIED
Antonio I AlbaresCanadaElwin Sharvill QUALIFIED
Mujtaba T MaletItalyAmy Elsner PROPOSAL
Deepesh I DoeRussiaElwin Sharvill UNQUALIFIED
Clifford A MaletIndiaElwin Sharvill PROPOSAL
Wickens J IturbideIndiaXuxue Feng RENEWAL
Kadeem P MaletUnited KingdomAsiya Javayant QUALIFIED
Adams V DarakjySpainBernardo Dominic PROPOSAL
Aruna E RulapaughSpainIvan Magalhaes NEGOTIATION
Antonio B CaldareraGermanyXuxue Feng NEGOTIATION
Ivar K RoysterIndiaIoni Bowcher PROPOSAL
Nicolas J StockhamArgentinaXuxue Feng RENEWAL
Antonio Y TollnerJapanAmy Elsner PROPOSAL
James X ChuiBrazilElwin Sharvill NEW
Jeanfrancois H RutaBrazilOnyama Limba QUALIFIED
Misaki Z RulapaughCanadaIoni Bowcher QUALIFIED
Morrow Y ChuiGermanyOnyama Limba UNQUALIFIED
Aika B WhobreyAustraliaOnyama Limba NEGOTIATION
Aditya E CaldareraIndiaIoni Bowcher NEGOTIATION
Wickens B MaletGermanyIoni Bowcher NEGOTIATION
Tony H BriddickSpainStephen Shaw QUALIFIED
Mayumi Z FigeroaFranceStephen Shaw UNQUALIFIED
Jones G WaycottArgentinaOnyama Limba RENEWAL
Salvatore I SergiAustraliaAsiya Javayant NEGOTIATION
Leon M CaudyUnited KingdomIvan Magalhaes PROPOSAL
Silvio W StensethJapanAsiya Javayant QUALIFIED
Smith S VocelkaCanadaElwin Sharvill UNQUALIFIED
Chavez J ChuiCanadaElwin Sharvill PROPOSAL
Arvin K GillianCanadaAmy Elsner QUALIFIED
Jeanfrancois E NestleRussiaIvan Magalhaes NEW

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