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
Silvio D NestleCanadaOnyama Limba QUALIFIED
Faith Z IturbideItalyAsiya Javayant QUALIFIED
Alejandro K CaudyIndiaIoni Bowcher NEGOTIATION
Octavia T NestleRussiaBernardo Dominic UNQUALIFIED
Alejandro D GlickBrazilIvan Magalhaes UNQUALIFIED
Kadeem H NickaAustraliaAsiya Javayant UNQUALIFIED
Kadeem L OstroskyIndiaAsiya Javayant UNQUALIFIED
Ricardo L FlosiAustraliaStephen Shaw NEGOTIATION
Jones G CampainSpainStephen Shaw NEGOTIATION
Kadeem K SchemmerCanadaAmy Elsner UNQUALIFIED
Jefferson K MarrierRussiaIvan Magalhaes NEGOTIATION
Morrow O BologniaGermanyAsiya Javayant NEGOTIATION
Costa E ButtUnited KingdomAnna Fali RENEWAL
Ivar E WieserJapanIvan Magalhaes UNQUALIFIED
Francesco E BowleyIndiaAnna Fali UNQUALIFIED
Adams M CampainCanadaOnyama Limba NEGOTIATION
Jefferson A AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh O MacleadGermanyElwin Sharvill UNQUALIFIED
David I FerenczSpainAmy Elsner UNQUALIFIED
Mayumi V PerinJapanIvan Magalhaes NEGOTIATION
Sinclair L NestleFranceBernardo Dominic UNQUALIFIED
Rodrigues D FigeroaGermanyAsiya Javayant PROPOSAL
Tony H ChuiGermanyAnna Fali NEW
Mayumi S PoquetteSpainStephen Shaw UNQUALIFIED
Leja A IturbideBrazilAmy Elsner QUALIFIED
Jones K BriddickCanadaAnna Fali PROPOSAL
Leja I WhobreyUnited KingdomOnyama Limba NEW
Ricardo R PerinArgentinaElwin Sharvill PROPOSAL
Mujtaba S DoeGermanyStephen Shaw PROPOSAL
Smith A VocelkaIndiaStephen Shaw RENEWAL
Deepesh D CampainFranceIvan Magalhaes QUALIFIED
Misaki S RutaUnited KingdomIoni Bowcher RENEWAL
Silvio G RimArgentinaAmy Elsner PROPOSAL
David N ButtFranceStephen Shaw PROPOSAL
Sinclair Z CampainIndiaIvan Magalhaes QUALIFIED
Munro U ButtGermanyAnna Fali RENEWAL
Aika V AmigonRussiaAnna Fali PROPOSAL
Mujtaba J SergiAustraliaXuxue Feng UNQUALIFIED
Morrow E AmigonArgentinaIvan Magalhaes NEGOTIATION
Leja B SlusarskiAustraliaAsiya Javayant NEW
Silvio U MarrierItalyAsiya Javayant NEGOTIATION
Jeanfrancois S GillianIndiaBernardo Dominic NEW
Jennifer K DarakjySpainIvan Magalhaes QUALIFIED
Ivar W PoquetteJapanAsiya Javayant RENEWAL
Wickens Y OstroskyArgentinaIoni Bowcher NEGOTIATION
Kaitlin B GlickIndiaIvan Magalhaes UNQUALIFIED
Antonio C ShinkoRussiaOnyama Limba PROPOSAL
Arvin L NickaIndiaIvan Magalhaes RENEWAL
Arvin B CaldareraUnited KingdomStephen Shaw NEGOTIATION
Claire L PaprockiUnited KingdomElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Maisha X MarrierFranceElwin Sharvill NEGOTIATION
Leon W AlbaresArgentinaOnyama Limba QUALIFIED
David H FollerJapanAsiya Javayant NEGOTIATION
Faith M BriddickArgentinaAnna Fali RENEWAL
Ashley A CaudyUnited KingdomBernardo Dominic QUALIFIED
Mujtaba R KuskoCanadaAmy Elsner UNQUALIFIED
Juan P GauchoIndiaAsiya Javayant NEW
Cody C KuskoRussiaElwin Sharvill RENEWAL
Adams J IturbideCanadaAnna Fali PROPOSAL
Darci R RimGermanyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair Q CampainJapan2026-11-05Chanay, Jeffrey A Esq PROPOSAL74Amy Elsner
1001Johnson O StockhamAustralia2026-10-22Morlong Associates PROPOSAL17Amy Elsner
1002Alejandro Y RimJapan2026-10-13Commercial Press PROPOSAL31Bernardo Dominic
1003Ashley X StensethBrazil2026-11-08Rangoni Of Florence NEW72Amy Elsner
1004Morrow R AmigonBrazil2026-10-26Morlong Associates PROPOSAL20Stephen Shaw
1005Maria F FlosiGermany2026-10-18Truhlar And Truhlar Attys UNQUALIFIED51Onyama Limba
1006Jefferson C VocelkaFrance2026-10-24Buckley Miller Wright NEW80Ioni Bowcher
1007Maisha E KuskoBrazil2026-11-01Feiner Bros NEW72Xuxue Feng
1008Leja H OldroydRussia2026-11-06Feiner Bros QUALIFIED39Asiya Javayant
1009Chavez F OstroskyCanada2026-10-21Feiner Bros QUALIFIED4Anna Fali
1010Jennifer I MacleadIndia2026-10-16Feiner Bros UNQUALIFIED85Onyama Limba
1011Isabel X FollerIndia2026-10-28Buckley Miller Wright UNQUALIFIED76Xuxue Feng
1012Faith B DoeRussia2026-10-12Rangoni Of Florence UNQUALIFIED32Anna Fali
1013Julie N RoysterSpain2026-10-16Commercial Press NEGOTIATION4Bernardo Dominic
1014Smith Z GauchoGermany2026-10-19Morlong Associates RENEWAL5Xuxue Feng
1015Kadeem U MaletRussia2026-11-03King, Christopher A Esq NEW81Asiya Javayant
1016Antonio J PaprockiFrance2026-10-19Rangoni Of Florence NEW56Stephen Shaw
1017Wickens M OstroskyBrazil2026-10-24Chemel, James L Cpa NEW16Asiya Javayant
1018Ivar H GauchoSpain2026-11-02Chapman, Ross E Esq NEW73Bernardo Dominic
1019Aditya S CaudyItaly2026-10-14Truhlar And Truhlar Attys PROPOSAL39Xuxue Feng
1020Jeanfrancois L FollerRussia2026-10-21Feiner Bros UNQUALIFIED56Onyama Limba
1021Clifford G WaycottGermany2026-10-13Feltz Printing Service QUALIFIED51Ioni Bowcher
1022Aditya U StockhamIndia2026-11-01Printing Dimensions QUALIFIED26Bernardo Dominic
1023Jones N GarufiJapan2026-10-28Benton, John B Jr PROPOSAL68Amy Elsner
1024Mujtaba C FlosiItaly2026-10-15Commercial Press PROPOSAL42Stephen Shaw
1025Maisha O DilliardUnited Kingdom2026-10-18King, Christopher A Esq UNQUALIFIED93Onyama Limba
1026Kadeem Y OstroskyFrance2026-10-30Truhlar And Truhlar Attys UNQUALIFIED96Ioni Bowcher
1027Maisha T OldroydBrazil2026-11-05Printing Dimensions QUALIFIED41Amy Elsner
1028Stacey S ChuiArgentina2026-10-31Benton, John B Jr NEW53Elwin Sharvill
1029Smith V SlusarskiItaly2026-11-03Chapman, Ross E Esq UNQUALIFIED12Ioni Bowcher
1030Mujtaba L BologniaUnited Kingdom2026-11-03Rangoni Of Florence NEGOTIATION46Ioni Bowcher
1031Mujtaba Z GarufiFrance2026-11-09Rangoni Of Florence NEGOTIATION75Bernardo Dominic
1032Leja R NestleItaly2026-10-12Rousseaux, Michael Esq RENEWAL5Ioni Bowcher
1033Sinclair O VocelkaJapan2026-10-23Commercial Press PROPOSAL71Elwin Sharvill
1034Clifford L SlusarskiJapan2026-10-11Chemel, James L Cpa PROPOSAL23Ivan Magalhaes
1035Misaki X KolmetzUnited Kingdom2026-10-30Truhlar And Truhlar Attys QUALIFIED19Bernardo Dominic
1036Wickens Q SaylorsIndia2026-11-02Rangoni Of Florence PROPOSAL26Xuxue Feng
1037David E RoysterSpain2026-10-13Dorl, James J Esq NEW39Ivan Magalhaes
1038Mayumi D BowleyGermany2026-10-28King, Christopher A Esq PROPOSAL1Bernardo Dominic
1039Francesco V GauchoJapan2026-11-01Chanay, Jeffrey A Esq PROPOSAL39Stephen Shaw
1040David J PoquetteCanada2026-10-23Rousseaux, Michael Esq PROPOSAL55Anna Fali
1041Stacey N RutaBrazil2026-10-22Feltz Printing Service UNQUALIFIED48Elwin Sharvill
1042Greenwood Q FigeroaGermany2026-11-03Rousseaux, Michael Esq PROPOSAL59Onyama Limba
1043Smith O WhobreyFrance2026-10-14Chemel, James L Cpa PROPOSAL8Elwin Sharvill
1044Morrow I CaudyItaly2026-10-11King, Christopher A Esq UNQUALIFIED3Anna Fali
1045Nicolas O ShinkoUnited Kingdom2026-10-13Buckley Miller Wright RENEWAL6Onyama Limba
1046Murillo G FerenczSpain2026-10-27Dorl, James J Esq NEGOTIATION4Elwin Sharvill
1047Stacey U WhobreyRussia2026-10-19Printing Dimensions NEGOTIATION50Asiya Javayant
1048Octavia D KolmetzJapan2026-11-04Feiner Bros NEGOTIATION61Ivan Magalhaes
1049Misaki D WieserItaly2026-10-21Morlong Associates NEGOTIATION57Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Octavia B GlickIndiaElwin Sharvill UNQUALIFIED
Alejandro Y RoysterSpainOnyama Limba PROPOSAL
Wickens Y ChuiCanadaAmy Elsner QUALIFIED
Salvatore O BriddickJapanOnyama Limba NEW
Aika P AmigonBrazilOnyama Limba QUALIFIED
Alejandro R GarufiRussiaElwin Sharvill QUALIFIED
Aditya U SergiItalyStephen Shaw QUALIFIED
Sinclair Q BriddickCanadaXuxue Feng UNQUALIFIED
Clifford B MarrierRussiaIoni Bowcher PROPOSAL
Octavia G WaycottItalyAnna Fali NEGOTIATION
Munro H FollerFranceIoni Bowcher PROPOSAL
Jeanfrancois S FigeroaAustraliaIoni Bowcher RENEWAL
Stacey M DoeSpainAsiya Javayant RENEWAL
Greenwood V RutaArgentinaAsiya Javayant NEGOTIATION
Chavez O DilliardArgentinaAnna Fali NEGOTIATION
Aditya T TollnerCanadaOnyama Limba QUALIFIED
Octavia B KuskoIndiaAsiya Javayant PROPOSAL
Wickens G BriddickGermanyAnna Fali UNQUALIFIED
Johnson W DarakjyItalyIvan Magalhaes QUALIFIED
Emily Y KolmetzBrazilXuxue Feng NEW
Wickens A ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Nicolas Y SlusarskiArgentinaAnna Fali QUALIFIED
Jones M PoquetteAustraliaIoni Bowcher UNQUALIFIED
Francesco P DilliardCanadaAmy Elsner NEW
Deepesh U ShinkoIndiaBernardo Dominic PROPOSAL
Antonio U FigeroaGermanyElwin Sharvill RENEWAL
Francesco S GillianItalyAsiya Javayant PROPOSAL
Clifford A MarrierUnited KingdomAsiya Javayant PROPOSAL
Salvatore E DilliardIndiaOnyama Limba QUALIFIED
Octavia T GauchoJapanOnyama Limba UNQUALIFIED
Munro I GlickJapanIvan Magalhaes UNQUALIFIED
Wickens N GauchoCanadaElwin Sharvill QUALIFIED
Murillo X BologniaJapanStephen Shaw UNQUALIFIED
Faith G ChuiGermanyElwin Sharvill PROPOSAL
Jefferson J SaylorsFranceIvan Magalhaes QUALIFIED
Deepesh T WieserRussiaStephen Shaw PROPOSAL
Stacey A VenereSpainAnna Fali RENEWAL
Chavez C RoysterCanadaStephen Shaw QUALIFIED
Chavez S RoysterIndiaXuxue Feng RENEWAL
Darci U PoquetteGermanyAmy Elsner PROPOSAL
Jeanfrancois D RoysterAustraliaBernardo Dominic RENEWAL
Jefferson I VenereCanadaAnna Fali NEGOTIATION
Mujtaba Y RulapaughAustraliaXuxue Feng QUALIFIED
Greenwood A OldroydJapanOnyama Limba QUALIFIED
Nicolas V NickaUnited KingdomElwin Sharvill PROPOSAL
Johnson S ShinkoFranceBernardo Dominic NEGOTIATION
Kaitlin C GlickIndiaAsiya Javayant NEW
Antonio U SergiRussiaIoni Bowcher QUALIFIED
Aika W WhobreyCanadaIoni Bowcher RENEWAL
Darci U InouyeArgentinaOnyama Limba RENEWAL
Frozen Columns
Name
Antonio F Perin
Stacey V Ferencz
Juan W Iturbide
David E Amigon
Isabel G Poquette
Jeanfrancois N Rim
Faith Q Stockham
Nicolas Y Tollner
Jennifer I Chui
Rodrigues A Oldroyd
Wickens I Garufi
Kadeem T Waycott
Maria C Flosi
Darci V Bolognia
Tony K Oldroyd
Johnson X Garufi
Costa O Sergi
Izzy O Maclead
Morrow R Darakjy
Julie Q Wieser
Izzy J Darakjy
Aika K Marrier
Salvatore H Iturbide
Johnson Q Venere
Stacey D Schemmer
Ivar H Nicka
Tony W Dilliard
Octavia A Butt
James L Garufi
Smith I Gillian
Deepesh X Paprocki
Johnson D Slusarski
Ivar Q Shinko
Kaitlin G Inouye
Darci H Poquette
Misaki P Campain
Jennifer U Paprocki
Wickens O Tollner
Mayumi G Glick
Salvatore B Figeroa
Jeanfrancois V Stenseth
Jeanfrancois T Maclead
Juan W Bowley
James T Doe
Sinclair X Caudy
Francesco M Saylors
Adams O Maclead
Johnson K Slusarski
Jennifer W Caudy
Julie U Stenseth
IdCountryDate
1000Japan2026-10-19
1001Brazil2026-10-21
1002Italy2026-10-25
1003Russia2026-10-26
1004India2026-11-01
1005Japan2026-11-04
1006Japan2026-10-25
1007Russia2026-10-19
1008Germany2026-11-01
1009Brazil2026-11-02
1010Brazil2026-10-17
1011Canada2026-10-11
1012Canada2026-10-19
1013Canada2026-11-01
1014Australia2026-10-20
1015Italy2026-10-18
1016India2026-10-29
1017Spain2026-10-18
1018Spain2026-11-04
1019Argentina2026-10-19
1020Brazil2026-10-11
1021India2026-10-28
1022Australia2026-10-17
1023Spain2026-10-31
1024Canada2026-10-13
1025Australia2026-11-02
1026Brazil2026-11-08
1027Germany2026-10-20
1028Australia2026-10-18
1029France2026-10-23
1030Germany2026-10-18
1031Italy2026-11-01
1032Argentina2026-10-13
1033Canada2026-10-25
1034Canada2026-10-30
1035France2026-10-14
1036Spain2026-11-04
1037France2026-10-23
1038Russia2026-10-31
1039Japan2026-11-07
1040India2026-11-03
1041Russia2026-11-09
1042Canada2026-11-04
1043Brazil2026-10-14
1044Germany2026-10-23
1045Russia2026-11-08
1046Russia2026-10-16
1047France2026-10-11
1048Germany2026-11-07
1049France2026-10-11

On-Demand Data

NameIdCountryDate
Maria T Chui1000Spain2026-10-27
Rodrigues W Shinko1001Canada2026-10-15
Kadeem Z Flosi1002Brazil2026-10-19
Jennifer O Venere1003Canada2026-10-22
Murillo I Maclead1004Russia2026-10-16
Silvio Z Kusko1005Canada2026-10-13
Isabel S Glick1006Spain2026-10-27
Leja H Bolognia1007India2026-11-09
Stacey T Ferencz1008Russia2026-10-20
Morrow R Bowley1009Australia2026-11-03
Jefferson R Kusko1010Brazil2026-11-09
Kadeem G Ostrosky1011Canada2026-11-09
Munro Q Figeroa1012Italy2026-10-25
Antonio X Stockham1013Argentina2026-10-26
Adams T Campain1014Germany2026-10-17
Leja S Marrier1015India2026-10-12
Kaitlin Z Shinko1016United Kingdom2026-10-11
Johnson Y Tollner1017India2026-10-20
Juan C Darakjy1018India2026-10-27
Aditya Y Bolognia1019Canada2026-10-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie S BologniaGermanyOnyama Limba QUALIFIED
Misaki F FerenczUnited KingdomAmy Elsner QUALIFIED
Tony A SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Jennifer E FigeroaArgentinaElwin Sharvill UNQUALIFIED
Aditya L DoeAustraliaOnyama Limba RENEWAL
Kadeem L NestleJapanElwin Sharvill QUALIFIED
Octavia U CaudyBrazilIvan Magalhaes UNQUALIFIED
Leon G RutaIndiaIoni Bowcher QUALIFIED
Jennifer N DoeAustraliaAsiya Javayant UNQUALIFIED
Kadeem P OstroskyIndiaStephen Shaw PROPOSAL
Smith O GarufiFranceOnyama Limba RENEWAL
Darci K RoysterBrazilXuxue Feng NEW
Alejandro X FollerArgentinaAsiya Javayant QUALIFIED
Adams S WaycottItalyXuxue Feng RENEWAL
Deepesh I GauchoSpainAsiya Javayant QUALIFIED
Cody H StockhamCanadaAsiya Javayant NEW
Kaitlin D WaycottSpainElwin Sharvill QUALIFIED
Claire C GlickArgentinaXuxue Feng NEGOTIATION
Clifford C GlickSpainAsiya Javayant QUALIFIED
Ricardo K DarakjyItalyAsiya Javayant PROPOSAL
Costa S TollnerSpainElwin Sharvill QUALIFIED
Emily T BriddickUnited KingdomBernardo Dominic PROPOSAL
Jefferson D NickaSpainAmy Elsner NEGOTIATION
Juan A WhobreySpainAsiya Javayant RENEWAL
Maria B FigeroaCanadaAmy Elsner RENEWAL
Wickens C NestleBrazilIoni Bowcher UNQUALIFIED
Octavia R GillianArgentinaBernardo Dominic NEGOTIATION
Tony M DarakjyIndiaStephen Shaw RENEWAL
Jefferson S MarrierArgentinaAnna Fali RENEWAL
Kaitlin Z ChuiGermanyIoni Bowcher PROPOSAL
Deepesh C StockhamItalyXuxue Feng UNQUALIFIED
Tony J GillianGermanyIoni Bowcher NEGOTIATION
Jefferson B FlosiFranceAmy Elsner QUALIFIED
Juan H VocelkaItalyAsiya Javayant RENEWAL
Sinclair D NickaCanadaStephen Shaw NEGOTIATION
Jeanfrancois N WhobreyAustraliaOnyama Limba NEGOTIATION
Maria F ChuiCanadaAsiya Javayant PROPOSAL
Darci O BowleyJapanElwin Sharvill NEGOTIATION
Arvin P RutaBrazilAsiya Javayant NEGOTIATION
Faith V NickaAustraliaXuxue Feng NEGOTIATION

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