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
Cody P CaudyGermanyAnna Fali UNQUALIFIED
Wickens W OstroskyJapanXuxue Feng PROPOSAL
Aditya V CampainAustraliaAmy Elsner PROPOSAL
Maisha I TollnerFranceAsiya Javayant RENEWAL
Deepesh O BowleyRussiaIoni Bowcher PROPOSAL
Costa T DoeCanadaAsiya Javayant PROPOSAL
Clifford G FollerArgentinaXuxue Feng RENEWAL
Murillo V RoysterItalyOnyama Limba PROPOSAL
Munro P DilliardArgentinaElwin Sharvill NEGOTIATION
Ivar J CaudyRussiaIvan Magalhaes QUALIFIED
Darci C DilliardUnited KingdomStephen Shaw PROPOSAL
Mujtaba W SlusarskiJapanOnyama Limba RENEWAL
Leon A VocelkaArgentinaOnyama Limba RENEWAL
Octavia F DarakjyGermanyStephen Shaw QUALIFIED
Adams I WieserSpainStephen Shaw RENEWAL
Cody Q OldroydItalyAsiya Javayant QUALIFIED
Murillo L RimJapanXuxue Feng NEW
Chavez Z WhobreyCanadaAmy Elsner PROPOSAL
Jeanfrancois V BowleyArgentinaAmy Elsner QUALIFIED
Juan H IturbideIndiaAmy Elsner UNQUALIFIED
David D KolmetzGermanyElwin Sharvill RENEWAL
Jefferson Y CampainRussiaStephen Shaw NEGOTIATION
Aditya H GauchoBrazilAsiya Javayant UNQUALIFIED
James V OstroskySpainAnna Fali NEW
Clifford E FerenczJapanIvan Magalhaes UNQUALIFIED
Jennifer P GillianJapanOnyama Limba UNQUALIFIED
Nicolas I MacleadUnited KingdomAmy Elsner NEGOTIATION
Leon J NickaSpainOnyama Limba NEGOTIATION
Francesco L CaldareraSpainXuxue Feng QUALIFIED
James S OstroskyBrazilStephen Shaw PROPOSAL
Mayumi F MarrierBrazilElwin Sharvill NEGOTIATION
Mujtaba T DoeCanadaBernardo Dominic NEW
Rodrigues X FlosiSpainBernardo Dominic QUALIFIED
Octavia W SergiUnited KingdomAmy Elsner QUALIFIED
Antonio C BowleyGermanyIvan Magalhaes UNQUALIFIED
Nicolas U RoysterJapanOnyama Limba NEGOTIATION
Johnson L PoquetteBrazilElwin Sharvill UNQUALIFIED
Kadeem T SchemmerCanadaAnna Fali QUALIFIED
Aruna V DoeGermanyAmy Elsner RENEWAL
Maria W DilliardIndiaIoni Bowcher PROPOSAL
Mujtaba O RimIndiaAnna Fali QUALIFIED
Cody N MarrierArgentinaAmy Elsner RENEWAL
Stacey L WhobreyBrazilElwin Sharvill NEGOTIATION
Jeanfrancois H BowleyItalyAmy Elsner NEW
Tony J GlickFranceBernardo Dominic NEW
Octavia G SaylorsFranceElwin Sharvill UNQUALIFIED
Ricardo T MacleadJapanStephen Shaw PROPOSAL
Salvatore E TollnerGermanyElwin Sharvill PROPOSAL
Isabel X NestleFranceXuxue Feng QUALIFIED
Darci X OldroydSpainAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Julie I PerinBrazilAmy Elsner RENEWAL
Leon Z IturbideBrazilBernardo Dominic PROPOSAL
Claire L MaletBrazilStephen Shaw UNQUALIFIED
Maria M KuskoAustraliaBernardo Dominic UNQUALIFIED
Octavia Y WhobreyGermanyIvan Magalhaes RENEWAL
Rodrigues Q OldroydSpainOnyama Limba NEGOTIATION
Mujtaba M BowleyGermanyAmy Elsner QUALIFIED
Leon V RoysterGermanyStephen Shaw RENEWAL
Leja D InouyeGermanyStephen Shaw UNQUALIFIED
Julie J PoquetteItalyOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika I VocelkaCanada2026-10-05Feltz Printing Service PROPOSAL6Asiya Javayant
1001Isabel C CampainCanada2026-10-05Benton, John B Jr RENEWAL2Asiya Javayant
1002Francesco P KolmetzSpain2026-09-20Commercial Press QUALIFIED46Stephen Shaw
1003Smith B RimFrance2026-10-02Truhlar And Truhlar Attys PROPOSAL45Onyama Limba
1004Aika N StockhamArgentina2026-09-28Truhlar And Truhlar Attys NEW4Xuxue Feng
1005Izzy L TollnerFrance2026-10-08Benton, John B Jr UNQUALIFIED79Bernardo Dominic
1006Mayumi Z SergiIndia2026-10-04Chemel, James L Cpa QUALIFIED92Bernardo Dominic
1007Jones E PoquetteCanada2026-09-24King, Christopher A Esq UNQUALIFIED82Xuxue Feng
1008Deepesh O MorascaJapan2026-10-11King, Christopher A Esq RENEWAL9Anna Fali
1009Murillo J RutaGermany2026-09-27Chemel, James L Cpa QUALIFIED9Onyama Limba
1010Sinclair Q ButtItaly2026-10-13Morlong Associates QUALIFIED13Ioni Bowcher
1011Darci M CaldareraIndia2026-09-29Dorl, James J Esq QUALIFIED30Amy Elsner
1012Johnson F VenereRussia2026-09-15Chanay, Jeffrey A Esq RENEWAL92Onyama Limba
1013Julie V FigeroaGermany2026-09-26Dorl, James J Esq RENEWAL97Ioni Bowcher
1014Cody U ChuiCanada2026-10-08Chanay, Jeffrey A Esq NEW41Asiya Javayant
1015Maisha J DoeBrazil2026-09-23Commercial Press PROPOSAL67Stephen Shaw
1016Leja F GauchoIndia2026-09-30Dorl, James J Esq RENEWAL10Bernardo Dominic
1017Leon R GarufiAustralia2026-09-27Chemel, James L Cpa RENEWAL52Onyama Limba
1018Clifford I PoquetteBrazil2026-09-14Commercial Press UNQUALIFIED59Amy Elsner
1019Adams M SlusarskiFrance2026-10-12Benton, John B Jr RENEWAL93Onyama Limba
1020Claire H ButtUnited Kingdom2026-09-29Printing Dimensions NEGOTIATION82Stephen Shaw
1021Greenwood V WaycottArgentina2026-09-24Benton, John B Jr NEW87Stephen Shaw
1022Smith S TollnerFrance2026-10-07Benton, John B Jr RENEWAL61Amy Elsner
1023Antonio N RulapaughFrance2026-09-30Rangoni Of Florence UNQUALIFIED87Ioni Bowcher
1024Leja V AlbaresBrazil2026-09-27Chanay, Jeffrey A Esq UNQUALIFIED58Asiya Javayant
1025Tony V MaletFrance2026-09-20Chapman, Ross E Esq RENEWAL57Amy Elsner
1026Mayumi H WhobreyArgentina2026-10-04Truhlar And Truhlar Attys UNQUALIFIED57Ioni Bowcher
1027Aika L RutaGermany2026-10-05Chanay, Jeffrey A Esq QUALIFIED5Ivan Magalhaes
1028Jefferson G WaycottBrazil2026-09-24Feiner Bros RENEWAL21Amy Elsner
1029Chavez N RoysterAustralia2026-09-23Chapman, Ross E Esq UNQUALIFIED50Elwin Sharvill
1030Claire O OldroydJapan2026-09-26King, Christopher A Esq QUALIFIED42Xuxue Feng
1031Isabel F ChuiFrance2026-09-19Chanay, Jeffrey A Esq UNQUALIFIED30Anna Fali
1032Emily S KuskoUnited Kingdom2026-10-03Chemel, James L Cpa PROPOSAL83Anna Fali
1033Maria V SlusarskiIndia2026-09-20Rangoni Of Florence UNQUALIFIED48Elwin Sharvill
1034Costa Q GlickJapan2026-09-18Rousseaux, Michael Esq QUALIFIED28Asiya Javayant
1035Greenwood G DarakjyJapan2026-10-12King, Christopher A Esq RENEWAL43Stephen Shaw
1036Alejandro J DilliardUnited Kingdom2026-09-25Rangoni Of Florence PROPOSAL83Bernardo Dominic
1037Greenwood R RulapaughUnited Kingdom2026-09-23Chanay, Jeffrey A Esq RENEWAL27Bernardo Dominic
1038Octavia C SergiSpain2026-10-02Commercial Press RENEWAL18Stephen Shaw
1039Jeanfrancois B CaudyFrance2026-10-07King, Christopher A Esq NEW79Elwin Sharvill
1040Tony I OstroskyArgentina2026-10-05Rangoni Of Florence RENEWAL61Elwin Sharvill
1041Sinclair J SlusarskiFrance2026-09-23Buckley Miller Wright NEW44Anna Fali
1042Stacey B SchemmerFrance2026-09-18Chemel, James L Cpa NEGOTIATION33Bernardo Dominic
1043James Q BowleyItaly2026-10-09Chanay, Jeffrey A Esq NEW79Elwin Sharvill
1044Faith M OstroskyRussia2026-10-13Rangoni Of Florence QUALIFIED94Amy Elsner
1045Costa C SchemmerArgentina2026-09-17Chemel, James L Cpa PROPOSAL7Anna Fali
1046Tony Y OldroydArgentina2026-09-28Rangoni Of Florence NEGOTIATION91Xuxue Feng
1047Mayumi K CaldareraJapan2026-09-24Truhlar And Truhlar Attys UNQUALIFIED87Anna Fali
1048Darci W PerinRussia2026-09-17Chanay, Jeffrey A Esq RENEWAL92Onyama Limba
1049Arvin P GauchoJapan2026-09-29Rousseaux, Michael Esq RENEWAL41Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Izzy K IturbideCanadaIvan Magalhaes RENEWAL
James T DilliardUnited KingdomElwin Sharvill QUALIFIED
Mayumi A DarakjyArgentinaXuxue Feng QUALIFIED
Nicolas M WieserSpainIvan Magalhaes UNQUALIFIED
Aruna M AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Chavez A SaylorsUnited KingdomIoni Bowcher NEGOTIATION
Wickens Q FollerSpainXuxue Feng RENEWAL
Isabel O SaylorsBrazilAsiya Javayant RENEWAL
Morrow E GillianFranceAnna Fali PROPOSAL
Wickens R MaletBrazilOnyama Limba PROPOSAL
Maria M RutaIndiaOnyama Limba QUALIFIED
Sinclair K BowleyAustraliaStephen Shaw QUALIFIED
Francesco X PoquetteSpainElwin Sharvill QUALIFIED
Claire M OstroskyCanadaAsiya Javayant UNQUALIFIED
Adams X BologniaSpainIvan Magalhaes NEGOTIATION
Kadeem R RulapaughGermanyElwin Sharvill RENEWAL
Cody C MarrierRussiaAsiya Javayant NEW
Tony B AlbaresItalyBernardo Dominic PROPOSAL
Jones J GauchoGermanyAnna Fali UNQUALIFIED
Aditya Z DilliardJapanAnna Fali UNQUALIFIED
Arvin P CampainIndiaAnna Fali NEGOTIATION
Isabel H MorascaJapanAsiya Javayant PROPOSAL
Munro K PoquetteGermanyAsiya Javayant NEGOTIATION
Wickens T SaylorsAustraliaElwin Sharvill NEGOTIATION
Alejandro Y WhobreyArgentinaXuxue Feng UNQUALIFIED
Aruna N CampainFranceIvan Magalhaes NEGOTIATION
Maisha M VenereJapanXuxue Feng QUALIFIED
Ashley E SaylorsRussiaAsiya Javayant UNQUALIFIED
Octavia S CaldareraUnited KingdomBernardo Dominic NEW
Kaitlin Q VenereFranceStephen Shaw NEW
Aika I FerenczGermanyIoni Bowcher NEW
Ricardo T RulapaughCanadaAnna Fali NEGOTIATION
Alejandro J KolmetzCanadaAmy Elsner PROPOSAL
Aditya E NestleItalyElwin Sharvill NEW
Sinclair H DarakjyGermanyIvan Magalhaes NEGOTIATION
Ricardo M DoeGermanyOnyama Limba RENEWAL
Ashley G MorascaIndiaIvan Magalhaes NEW
Jennifer L PoquetteSpainXuxue Feng NEGOTIATION
Maria H KolmetzIndiaAnna Fali RENEWAL
Octavia E BologniaRussiaBernardo Dominic PROPOSAL
Rodrigues L TollnerFranceOnyama Limba NEGOTIATION
Alejandro U RulapaughCanadaElwin Sharvill RENEWAL
Faith P RoysterRussiaStephen Shaw UNQUALIFIED
Octavia V ShinkoArgentinaOnyama Limba UNQUALIFIED
Stacey V AlbaresCanadaIvan Magalhaes PROPOSAL
Murillo O DarakjyGermanyAnna Fali RENEWAL
Faith J WhobreyGermanyElwin Sharvill UNQUALIFIED
Misaki W GlickSpainBernardo Dominic NEGOTIATION
Julie Q RutaAustraliaXuxue Feng RENEWAL
Isabel J WhobreyAustraliaOnyama Limba NEGOTIATION
Frozen Columns
Name
Aika O Royster
Kadeem G Gillian
Aruna N Marrier
Rodrigues C Maclead
Mayumi Q Glick
Alejandro O Flosi
Murillo Y Oldroyd
James M Vocelka
Izzy T Briddick
Kadeem P Kusko
Kadeem F Waycott
Aruna X Malet
Aditya O Tollner
Murillo Q Doe
David C Bolognia
Leja L Glick
Mayumi E Vocelka
Octavia Q Bowley
Clifford A Poquette
Jennifer J Foller
Clifford C Bolognia
Leja Q Glick
Greenwood P Gaucho
Julie X Chui
Jeanfrancois Z Ruta
Clifford N Glick
Deepesh P Perin
Costa L Rim
Alejandro A Sergi
Arvin C Paprocki
Ivar O Bowley
Cody D Foller
Rodrigues R Figeroa
Leja M Caldarera
Arvin K Marrier
Jefferson Z Rim
Smith H Stockham
Cody W Bowley
Maria C Chui
Adams P Rim
Wickens P Marrier
Jefferson A Amigon
Maria Y Butt
Maria A Foller
Silvio E Garufi
Julie M Kusko
Wickens V Wieser
Clifford S Figeroa
Nicolas O Campain
Maria B Ostrosky
IdCountryDate
1000Germany2026-10-12
1001Russia2026-10-13
1002Canada2026-10-05
1003France2026-09-14
1004Japan2026-10-13
1005Spain2026-10-07
1006United Kingdom2026-09-21
1007United Kingdom2026-09-27
1008France2026-10-09
1009Spain2026-10-09
1010Australia2026-09-17
1011Australia2026-09-16
1012Canada2026-09-16
1013India2026-10-13
1014Canada2026-09-20
1015France2026-10-03
1016France2026-09-14
1017India2026-09-25
1018India2026-09-27
1019Argentina2026-09-16
1020Australia2026-10-06
1021Italy2026-09-30
1022India2026-09-30
1023France2026-10-08
1024Italy2026-10-12
1025Australia2026-09-16
1026Argentina2026-09-21
1027India2026-09-24
1028Japan2026-10-10
1029Germany2026-09-14
1030Australia2026-10-07
1031France2026-09-20
1032Italy2026-10-06
1033Brazil2026-09-14
1034Japan2026-09-23
1035Canada2026-10-11
1036Japan2026-09-14
1037France2026-10-09
1038Australia2026-09-21
1039Brazil2026-10-06
1040Russia2026-10-02
1041Spain2026-10-06
1042Japan2026-09-19
1043Australia2026-09-30
1044Germany2026-09-18
1045Spain2026-09-16
1046Russia2026-09-24
1047Japan2026-09-27
1048India2026-10-05
1049France2026-09-14

On-Demand Data

NameIdCountryDate
Rodrigues W Maclead1000Russia2026-10-02
Nicolas Z Doe1001Australia2026-09-22
David F Sergi1002Germany2026-10-12
Aika L Inouye1003Spain2026-10-12
Arvin B Perin1004Germany2026-09-19
Jennifer S Nestle1005Canada2026-10-02
Misaki I Venere1006Russia2026-09-28
Kaitlin P Saylors1007Germany2026-09-29
Ricardo M Whobrey1008Spain2026-09-28
Darci N Perin1009Canada2026-10-05
Arvin U Darakjy1010Brazil2026-09-26
Arvin Y Inouye1011Germany2026-10-09
Silvio Y Caldarera1012Australia2026-09-22
Adams A Kolmetz1013Argentina2026-09-16
Cody Z Ostrosky1014Japan2026-10-09
Stacey L Stockham1015United Kingdom2026-09-17
Darci E Shinko1016Argentina2026-09-24
Juan V Garufi1017Russia2026-09-17
Smith E Briddick1018Russia2026-09-15
Antonio H Caudy1019Argentina2026-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja K BologniaCanadaIoni Bowcher UNQUALIFIED
Jennifer C RulapaughUnited KingdomAsiya Javayant NEW
Kaitlin V MaletItalyAnna Fali NEGOTIATION
Clifford E IturbideAustraliaIvan Magalhaes RENEWAL
Misaki D StockhamJapanIoni Bowcher NEGOTIATION
Silvio X MarrierCanadaAsiya Javayant NEGOTIATION
Sinclair P NestleAustraliaStephen Shaw QUALIFIED
Cody W KolmetzGermanyAsiya Javayant PROPOSAL
Misaki K WieserSpainAsiya Javayant PROPOSAL
James C InouyeItalyAnna Fali NEGOTIATION
Francesco D GauchoIndiaStephen Shaw QUALIFIED
Octavia K StockhamArgentinaAnna Fali RENEWAL
Jones Y StensethCanadaAmy Elsner QUALIFIED
Greenwood M MaletUnited KingdomStephen Shaw NEW
Arvin X AmigonFranceAsiya Javayant QUALIFIED
Kaitlin D WieserGermanyIoni Bowcher UNQUALIFIED
Kaitlin O AlbaresIndiaAnna Fali NEW
Jeanfrancois O PaprockiAustraliaXuxue Feng RENEWAL
Jeanfrancois W WaycottAustraliaOnyama Limba QUALIFIED
Claire B KolmetzRussiaXuxue Feng UNQUALIFIED
Munro T ShinkoRussiaOnyama Limba UNQUALIFIED
Leon U VocelkaGermanyOnyama Limba RENEWAL
Salvatore K SlusarskiBrazilIvan Magalhaes QUALIFIED
Jennifer E BowleyRussiaAsiya Javayant QUALIFIED
Rodrigues N IturbideUnited KingdomAsiya Javayant PROPOSAL
Octavia W WhobreyArgentinaBernardo Dominic NEW
Maisha X MaletBrazilStephen Shaw UNQUALIFIED
Aika M NestleRussiaStephen Shaw QUALIFIED
Misaki W RimCanadaIoni Bowcher NEGOTIATION
Chavez V OstroskyAustraliaAnna Fali NEGOTIATION
Chavez H WieserIndiaAsiya Javayant RENEWAL
Cody E KuskoRussiaBernardo Dominic UNQUALIFIED
Costa G KuskoCanadaIvan Magalhaes UNQUALIFIED
Smith F PaprockiUnited KingdomStephen Shaw NEW
Leon I SlusarskiFranceElwin Sharvill RENEWAL
James W RoysterIndiaIvan Magalhaes RENEWAL
Costa G MorascaBrazilAnna Fali QUALIFIED
Jefferson H WaycottRussiaIvan Magalhaes UNQUALIFIED
Wickens E MaletArgentinaIvan Magalhaes NEW
Silvio R WaycottGermanyStephen Shaw 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>