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
Mujtaba S SergiGermanyBernardo Dominic NEGOTIATION
Stacey K PerinBrazilAsiya Javayant NEGOTIATION
Octavia G PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Jennifer I ChuiUnited KingdomBernardo Dominic RENEWAL
Izzy E FigeroaIndiaAsiya Javayant NEW
Juan C StensethAustraliaBernardo Dominic NEGOTIATION
Mayumi M MaletAustraliaAsiya Javayant NEW
Smith G WieserItalyAnna Fali NEGOTIATION
David E NestleIndiaAnna Fali PROPOSAL
Francesco S AlbaresArgentinaBernardo Dominic PROPOSAL
Mujtaba M WieserItalyAsiya Javayant NEGOTIATION
Greenwood V NickaIndiaXuxue Feng PROPOSAL
David J DoeIndiaElwin Sharvill UNQUALIFIED
Greenwood G OstroskyCanadaBernardo Dominic UNQUALIFIED
Munro Q OstroskyCanadaXuxue Feng PROPOSAL
Smith H TollnerUnited KingdomIvan Magalhaes RENEWAL
Leja K CaudyCanadaAnna Fali NEW
Silvio X MacleadCanadaXuxue Feng NEGOTIATION
Izzy N GlickItalyAmy Elsner QUALIFIED
Aditya A BriddickSpainStephen Shaw QUALIFIED
Maisha Y CaldareraAustraliaIoni Bowcher NEGOTIATION
Aditya Z GauchoSpainIvan Magalhaes NEW
Johnson M PerinRussiaBernardo Dominic NEGOTIATION
Leon O CaldareraGermanyIvan Magalhaes QUALIFIED
Maisha B DilliardArgentinaIvan Magalhaes QUALIFIED
Octavia Q SchemmerFranceStephen Shaw NEW
Leja E VocelkaSpainXuxue Feng NEW
David O RulapaughAustraliaStephen Shaw NEGOTIATION
James A FigeroaArgentinaOnyama Limba NEGOTIATION
Francesco B BriddickGermanyIoni Bowcher QUALIFIED
Antonio V BowleyAustraliaBernardo Dominic UNQUALIFIED
Mujtaba B CaldareraArgentinaIoni Bowcher NEW
Munro V CaldareraItalyElwin Sharvill NEGOTIATION
Mayumi M BriddickBrazilAmy Elsner RENEWAL
Leon F CaldareraCanadaBernardo Dominic NEW
Kadeem O CaudyAustraliaAmy Elsner RENEWAL
Clifford T AmigonArgentinaBernardo Dominic NEW
James E StockhamUnited KingdomIvan Magalhaes QUALIFIED
Isabel W GauchoFranceBernardo Dominic NEGOTIATION
Chavez A FigeroaItalyAnna Fali NEGOTIATION
Murillo E WaycottGermanyIoni Bowcher QUALIFIED
Ivar Q SchemmerIndiaIoni Bowcher PROPOSAL
Tony U SlusarskiItalyXuxue Feng NEW
Stacey L CampainSpainBernardo Dominic QUALIFIED
Mujtaba K KuskoGermanyIoni Bowcher PROPOSAL
Nicolas M PerinRussiaOnyama Limba QUALIFIED
James L AlbaresAustraliaAmy Elsner QUALIFIED
Maria J GlickArgentinaAmy Elsner RENEWAL
Izzy N MaletCanadaStephen Shaw NEW
Salvatore Z ShinkoCanadaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Cody H FigeroaCanadaAmy Elsner PROPOSAL
Claire Q RutaSpainXuxue Feng NEGOTIATION
Emily M StockhamRussiaAnna Fali UNQUALIFIED
Ivar F MarrierSpainIoni Bowcher QUALIFIED
Jones D CaldareraCanadaAsiya Javayant QUALIFIED
Chavez D CaudyRussiaXuxue Feng NEGOTIATION
Octavia W IturbideBrazilIoni Bowcher NEW
Jeanfrancois Y RimSpainIvan Magalhaes PROPOSAL
Alejandro T MarrierJapanBernardo Dominic RENEWAL
Octavia N CaldareraRussiaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo E VocelkaBrazil2026-09-22Feltz Printing Service NEW94Elwin Sharvill
1001Alejandro F AmigonUnited Kingdom2026-09-30Dorl, James J Esq UNQUALIFIED41Onyama Limba
1002Tony Y MaletSpain2026-10-01Printing Dimensions UNQUALIFIED35Ioni Bowcher
1003Jeanfrancois L FlosiGermany2026-09-12Feiner Bros UNQUALIFIED81Anna Fali
1004Mayumi U OstroskyFrance2026-10-07Chemel, James L Cpa UNQUALIFIED34Asiya Javayant
1005Mujtaba X DoeIndia2026-09-17Chemel, James L Cpa NEW59Ivan Magalhaes
1006Julie X SchemmerItaly2026-10-05Rousseaux, Michael Esq RENEWAL67Ivan Magalhaes
1007Rodrigues L WieserCanada2026-09-28Feiner Bros RENEWAL41Xuxue Feng
1008Cody S DoeArgentina2026-09-21Printing Dimensions UNQUALIFIED19Ioni Bowcher
1009Cody H SchemmerGermany2026-10-08Chemel, James L Cpa QUALIFIED55Onyama Limba
1010Aditya J SergiBrazil2026-09-12Chapman, Ross E Esq QUALIFIED64Asiya Javayant
1011Aruna B IturbideCanada2026-09-23Feltz Printing Service UNQUALIFIED23Xuxue Feng
1012Clifford V MaletUnited Kingdom2026-09-10Rangoni Of Florence RENEWAL55Amy Elsner
1013Stacey O RoysterUnited Kingdom2026-09-15Chemel, James L Cpa RENEWAL61Asiya Javayant
1014Julie E VenereJapan2026-10-07Truhlar And Truhlar Attys QUALIFIED34Stephen Shaw
1015David D CaudyIndia2026-09-25Chemel, James L Cpa PROPOSAL98Anna Fali
1016Jeanfrancois Z AmigonSpain2026-10-05Commercial Press NEW60Elwin Sharvill
1017Adams D GlickArgentina2026-10-04Feiner Bros QUALIFIED95Ivan Magalhaes
1018Wickens H SergiRussia2026-09-24Feltz Printing Service NEGOTIATION13Xuxue Feng
1019Tony W PoquetteGermany2026-09-19Chemel, James L Cpa QUALIFIED9Amy Elsner
1020Claire P RutaGermany2026-09-11Chapman, Ross E Esq PROPOSAL25Ioni Bowcher
1021Izzy T BriddickGermany2026-09-11Feltz Printing Service UNQUALIFIED14Anna Fali
1022Isabel S ButtSpain2026-09-12Buckley Miller Wright NEGOTIATION6Xuxue Feng
1023Mayumi E MarrierRussia2026-09-10Truhlar And Truhlar Attys PROPOSAL28Ioni Bowcher
1024Rodrigues O WaycottFrance2026-09-12Dorl, James J Esq RENEWAL64Elwin Sharvill
1025Mayumi I MacleadJapan2026-09-20Dorl, James J Esq NEW2Bernardo Dominic
1026Morrow W BriddickBrazil2026-09-11Benton, John B Jr RENEWAL22Stephen Shaw
1027James X InouyeArgentina2026-10-09Commercial Press UNQUALIFIED6Asiya Javayant
1028Jones B FollerFrance2026-09-11Buckley Miller Wright PROPOSAL73Anna Fali
1029Octavia B FollerRussia2026-10-08Morlong Associates RENEWAL37Elwin Sharvill
1030Izzy X SlusarskiAustralia2026-10-07Chapman, Ross E Esq PROPOSAL5Asiya Javayant
1031Izzy D RutaSpain2026-09-26Morlong Associates PROPOSAL98Anna Fali
1032Francesco H FigeroaSpain2026-09-20Feiner Bros RENEWAL17Stephen Shaw
1033Aruna V MarrierArgentina2026-09-10Morlong Associates PROPOSAL18Ioni Bowcher
1034Adams U PaprockiSpain2026-09-18King, Christopher A Esq NEGOTIATION98Bernardo Dominic
1035Sinclair C GauchoCanada2026-09-10Chemel, James L Cpa NEW88Asiya Javayant
1036Munro I MaletAustralia2026-10-01Chapman, Ross E Esq PROPOSAL85Xuxue Feng
1037Faith N CaldareraCanada2026-10-06Chemel, James L Cpa RENEWAL66Anna Fali
1038Francesco C TollnerFrance2026-09-30Feiner Bros UNQUALIFIED52Xuxue Feng
1039Maria R RulapaughCanada2026-09-19Commercial Press UNQUALIFIED51Ivan Magalhaes
1040Mujtaba Y BologniaGermany2026-09-15Dorl, James J Esq NEGOTIATION39Stephen Shaw
1041Deepesh U GillianUnited Kingdom2026-10-01Rangoni Of Florence QUALIFIED77Xuxue Feng
1042Stacey Q PoquetteRussia2026-09-22Printing Dimensions RENEWAL34Anna Fali
1043Emily F FlosiGermany2026-10-04Chanay, Jeffrey A Esq UNQUALIFIED87Bernardo Dominic
1044Mujtaba R VenereIndia2026-09-17Chapman, Ross E Esq QUALIFIED83Ivan Magalhaes
1045Deepesh S VenereRussia2026-09-18Feltz Printing Service NEGOTIATION52Asiya Javayant
1046Jones X FlosiFrance2026-09-20Morlong Associates UNQUALIFIED99Ioni Bowcher
1047Wickens F BowleyJapan2026-09-18Morlong Associates QUALIFIED15Xuxue Feng
1048Leja Z TollnerFrance2026-09-10Benton, John B Jr NEW1Onyama Limba
1049Johnson C CaudySpain2026-10-09Rangoni Of Florence QUALIFIED11Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Claire S StockhamJapanOnyama Limba RENEWAL
Antonio U WhobreyAustraliaXuxue Feng UNQUALIFIED
Ivar R RoysterIndiaXuxue Feng RENEWAL
Sinclair H WaycottAustraliaAsiya Javayant UNQUALIFIED
Aditya T SergiIndiaAmy Elsner UNQUALIFIED
Murillo C FlosiFranceAmy Elsner NEW
Ricardo A PerinSpainElwin Sharvill PROPOSAL
Jefferson O GarufiCanadaXuxue Feng PROPOSAL
Aruna T VenereSpainStephen Shaw PROPOSAL
Julie C InouyeAustraliaElwin Sharvill QUALIFIED
Darci A OldroydFranceXuxue Feng NEGOTIATION
Izzy R MaletUnited KingdomIvan Magalhaes RENEWAL
Arvin H MorascaArgentinaAmy Elsner RENEWAL
Silvio K OstroskyFranceXuxue Feng UNQUALIFIED
Darci M AlbaresUnited KingdomElwin Sharvill RENEWAL
Jefferson B VenereGermanyIvan Magalhaes RENEWAL
Sinclair H KolmetzRussiaOnyama Limba NEW
Kaitlin N PaprockiUnited KingdomIoni Bowcher PROPOSAL
Jennifer J StensethAustraliaBernardo Dominic QUALIFIED
James D RimArgentinaAnna Fali PROPOSAL
Jones E BriddickCanadaElwin Sharvill NEW
Munro Z BologniaAustraliaAmy Elsner NEGOTIATION
Salvatore H RimSpainAnna Fali NEGOTIATION
Isabel E AmigonBrazilElwin Sharvill PROPOSAL
Munro V NestleJapanStephen Shaw RENEWAL
Adams Q SchemmerArgentinaAnna Fali RENEWAL
Misaki Q GillianJapanAmy Elsner NEW
Aika H NickaBrazilBernardo Dominic QUALIFIED
Deepesh J PerinFranceBernardo Dominic QUALIFIED
Jennifer I PoquetteUnited KingdomAsiya Javayant NEGOTIATION
Ricardo A RulapaughUnited KingdomOnyama Limba NEW
Alejandro M FollerItalyOnyama Limba NEGOTIATION
Johnson Q PoquetteJapanElwin Sharvill PROPOSAL
Juan A DarakjyRussiaIoni Bowcher NEGOTIATION
Juan X SaylorsUnited KingdomIoni Bowcher RENEWAL
Nicolas P WaycottRussiaIoni Bowcher PROPOSAL
Rodrigues E GauchoUnited KingdomOnyama Limba UNQUALIFIED
Kadeem T PerinSpainOnyama Limba RENEWAL
Julie H TollnerJapanXuxue Feng PROPOSAL
Darci L CampainArgentinaStephen Shaw UNQUALIFIED
Smith K SchemmerSpainAnna Fali UNQUALIFIED
Mayumi P OstroskySpainAmy Elsner NEW
Wickens N CaldareraJapanIoni Bowcher PROPOSAL
Francesco W MaletFranceAsiya Javayant UNQUALIFIED
Sinclair K GarufiJapanAnna Fali RENEWAL
Ivar Z GauchoGermanyAsiya Javayant NEW
Chavez N StockhamItalyIvan Magalhaes UNQUALIFIED
Morrow Q BriddickItalyIvan Magalhaes QUALIFIED
Kaitlin R RulapaughFranceStephen Shaw RENEWAL
Munro Q SlusarskiBrazilIoni Bowcher QUALIFIED
Frozen Columns
Name
Salvatore U Figeroa
Chavez E Royster
Isabel Q Foller
Misaki P Stenseth
Emily G Briddick
Morrow D Sergi
Sinclair C Campain
Smith E Shinko
Maria I Nestle
Octavia E Glick
Misaki E Foller
Leon I Foller
Ivar X Bolognia
Tony N Flosi
Ricardo Y Briddick
Mayumi U Stockham
Kadeem N Oldroyd
Johnson R Caldarera
Ashley N Amigon
Johnson L Malet
Jones S Rulapaugh
Costa J Figeroa
Maria D Slusarski
Isabel Q Maclead
Mayumi O Oldroyd
Faith H Stockham
Juan V Rim
Kaitlin K Garufi
Mayumi K Butt
Ivar O Ruta
Aruna V Shinko
Emily J Doe
Kaitlin Y Marrier
Salvatore A Garufi
Ricardo R Vocelka
Salvatore W Caldarera
Alejandro H Iturbide
Darci Y Bowley
Emily P Bolognia
Murillo O Vocelka
Salvatore N Flosi
Aditya X Whobrey
Izzy B Butt
Silvio U Nestle
Aditya V Albares
Murillo R Rim
Costa I Maclead
Johnson C Vocelka
Kadeem U Schemmer
Salvatore R Nicka
IdCountryDate
1000Argentina2026-09-13
1001France2026-09-19
1002France2026-09-17
1003Australia2026-09-26
1004Japan2026-09-21
1005Brazil2026-10-03
1006Australia2026-10-08
1007Japan2026-09-19
1008United Kingdom2026-10-02
1009Italy2026-10-04
1010Canada2026-09-28
1011Argentina2026-09-21
1012United Kingdom2026-10-04
1013France2026-09-28
1014Germany2026-09-30
1015Spain2026-10-04
1016Germany2026-10-02
1017Argentina2026-10-09
1018Argentina2026-09-13
1019Australia2026-09-20
1020Germany2026-09-20
1021Canada2026-09-16
1022Italy2026-10-08
1023Brazil2026-09-16
1024India2026-09-15
1025Canada2026-10-09
1026Australia2026-09-14
1027Russia2026-09-20
1028United Kingdom2026-10-06
1029Canada2026-09-29
1030Argentina2026-10-06
1031Spain2026-09-14
1032Russia2026-09-17
1033Russia2026-09-23
1034United Kingdom2026-09-13
1035France2026-09-24
1036Italy2026-10-06
1037United Kingdom2026-09-19
1038Russia2026-09-24
1039Italy2026-09-29
1040Japan2026-09-30
1041France2026-09-23
1042United Kingdom2026-09-12
1043India2026-09-29
1044Germany2026-09-13
1045France2026-09-22
1046Japan2026-10-06
1047Australia2026-10-06
1048Australia2026-10-05
1049Japan2026-09-29

On-Demand Data

NameIdCountryDate
Aika V Kolmetz1000Russia2026-10-03
Nicolas Q Rulapaugh1001Australia2026-09-16
Aruna X Stenseth1002Argentina2026-09-22
Tony L Vocelka1003Russia2026-09-25
Jeanfrancois Q Ruta1004Japan2026-09-10
Aruna F Garufi1005Argentina2026-10-05
Ivar Q Darakjy1006Germany2026-10-09
Misaki U Stenseth1007Spain2026-09-23
James G Amigon1008Russia2026-09-19
Cody D Bowley1009Brazil2026-09-22
Isabel D Ferencz1010India2026-10-07
Jones R Ferencz1011Spain2026-10-05
Adams O Schemmer1012Brazil2026-10-03
Jefferson C Sergi1013Japan2026-09-11
Kaitlin D Amigon1014Brazil2026-10-07
Jefferson B Chui1015Argentina2026-09-21
Izzy Z Foller1016Argentina2026-09-18
Jones Q Marrier1017Germany2026-10-08
Deepesh A Amigon1018Japan2026-09-15
Silvio O Butt1019India2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony C SaylorsItalyBernardo Dominic NEW
Ivar R ShinkoUnited KingdomXuxue Feng NEGOTIATION
Clifford B BologniaJapanElwin Sharvill UNQUALIFIED
Jones L VenereArgentinaStephen Shaw NEW
Kadeem F NestleUnited KingdomElwin Sharvill UNQUALIFIED
Isabel U CaudyArgentinaIoni Bowcher QUALIFIED
Smith D NickaSpainElwin Sharvill PROPOSAL
Mujtaba Y VenereGermanyAsiya Javayant QUALIFIED
Sinclair Y SlusarskiSpainBernardo Dominic UNQUALIFIED
Cody C ShinkoAustraliaIoni Bowcher UNQUALIFIED
Mujtaba D KuskoSpainAmy Elsner RENEWAL
Wickens C RimAustraliaElwin Sharvill NEGOTIATION
Kadeem T IturbideCanadaAsiya Javayant RENEWAL
Smith T DarakjyJapanAsiya Javayant PROPOSAL
Jones M IturbideAustraliaAmy Elsner PROPOSAL
Kaitlin M MaletUnited KingdomIvan Magalhaes NEGOTIATION
Darci Z ButtUnited KingdomElwin Sharvill NEGOTIATION
Morrow U FigeroaItalyAmy Elsner NEW
Ricardo W DilliardGermanyStephen Shaw RENEWAL
Faith A DoeFranceIvan Magalhaes UNQUALIFIED
Sinclair X WhobreyCanadaElwin Sharvill UNQUALIFIED
Ivar I ShinkoUnited KingdomAsiya Javayant PROPOSAL
Jefferson B CaudyCanadaIoni Bowcher RENEWAL
Jones Z BowleyGermanyIoni Bowcher NEW
Faith E OstroskyAustraliaBernardo Dominic NEW
Kaitlin E NestleFranceBernardo Dominic UNQUALIFIED
Murillo D ChuiItalyAsiya Javayant NEGOTIATION
Munro M FlosiCanadaBernardo Dominic QUALIFIED
Claire U TollnerAustraliaIoni Bowcher PROPOSAL
Maria Z StockhamItalyAmy Elsner NEGOTIATION
Antonio R WhobreyArgentinaAsiya Javayant QUALIFIED
Kadeem Y SaylorsGermanyAnna Fali PROPOSAL
Izzy P KolmetzRussiaBernardo Dominic PROPOSAL
Mujtaba F FerenczFranceAnna Fali UNQUALIFIED
Octavia W InouyeItalyStephen Shaw QUALIFIED
Salvatore U WaycottUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues N BologniaCanadaXuxue Feng PROPOSAL
Jefferson X AmigonRussiaAnna Fali NEW
Ivar G BologniaGermanyOnyama Limba NEGOTIATION
Francesco R MarrierRussiaOnyama Limba 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>