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
Smith Y VenereBrazilAnna Fali UNQUALIFIED
Ivar U MacleadCanadaElwin Sharvill UNQUALIFIED
Stacey S MorascaBrazilAmy Elsner NEGOTIATION
Faith R AlbaresAustraliaAmy Elsner PROPOSAL
Clifford M SlusarskiGermanyOnyama Limba NEW
Chavez V RutaFranceIvan Magalhaes QUALIFIED
Greenwood C DarakjyGermanyBernardo Dominic QUALIFIED
Cody Z PaprockiRussiaOnyama Limba NEW
Jeanfrancois N MaletFranceIoni Bowcher RENEWAL
Ricardo J DarakjyIndiaAnna Fali NEGOTIATION
Claire Y AmigonRussiaXuxue Feng NEGOTIATION
Morrow M CaldareraUnited KingdomAsiya Javayant NEW
Octavia X VocelkaRussiaAsiya Javayant PROPOSAL
Jefferson W KolmetzBrazilIvan Magalhaes UNQUALIFIED
Leja P RoysterIndiaBernardo Dominic RENEWAL
Isabel R OstroskyIndiaIoni Bowcher PROPOSAL
Emily R AmigonItalyOnyama Limba PROPOSAL
Aditya W VocelkaCanadaIvan Magalhaes RENEWAL
Mujtaba C MacleadAustraliaIoni Bowcher QUALIFIED
Jennifer M RutaFranceAsiya Javayant RENEWAL
Mujtaba L DarakjyAustraliaXuxue Feng PROPOSAL
Tony C InouyeBrazilIoni Bowcher NEGOTIATION
Claire J SergiBrazilIvan Magalhaes NEW
Munro R StockhamIndiaStephen Shaw PROPOSAL
Ashley R DoeUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba Q CampainItalyAmy Elsner RENEWAL
Maria J SchemmerItalyOnyama Limba NEW
Wickens J IturbideCanadaBernardo Dominic PROPOSAL
Ricardo O RutaArgentinaAnna Fali NEW
Jennifer M KolmetzCanadaAnna Fali QUALIFIED
Tony W AmigonArgentinaAsiya Javayant NEW
Tony J DilliardIndiaOnyama Limba NEW
Jeanfrancois F CaudyCanadaOnyama Limba NEW
Costa I ShinkoJapanOnyama Limba PROPOSAL
Kadeem B PerinGermanyXuxue Feng UNQUALIFIED
Kaitlin R DoeSpainIoni Bowcher QUALIFIED
Cody E BologniaSpainIoni Bowcher PROPOSAL
Ricardo V WieserAustraliaOnyama Limba UNQUALIFIED
Octavia J PoquetteUnited KingdomAsiya Javayant NEW
Emily H DoeRussiaElwin Sharvill QUALIFIED
Jefferson R CaldareraGermanyIvan Magalhaes NEW
Faith P CaudyArgentinaOnyama Limba NEGOTIATION
Ricardo X ButtIndiaStephen Shaw RENEWAL
Chavez J WieserIndiaIvan Magalhaes NEGOTIATION
Ivar R BriddickJapanIoni Bowcher RENEWAL
Izzy N GauchoUnited KingdomAsiya Javayant NEGOTIATION
Johnson E FerenczArgentinaElwin Sharvill UNQUALIFIED
Ivar B WaycottGermanyElwin Sharvill NEGOTIATION
Wickens G KolmetzSpainStephen Shaw NEW
Juan O FlosiIndiaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon M FollerBrazilOnyama Limba UNQUALIFIED
Kaitlin J RoysterJapanXuxue Feng QUALIFIED
Darci V GarufiCanadaBernardo Dominic NEGOTIATION
Kadeem Y SergiGermanyIvan Magalhaes NEW
Aika O RoysterJapanElwin Sharvill PROPOSAL
Jeanfrancois N GillianFranceAnna Fali NEW
Aditya K StensethIndiaAsiya Javayant NEGOTIATION
Misaki C FerenczArgentinaIvan Magalhaes QUALIFIED
Kaitlin H GlickBrazilBernardo Dominic NEGOTIATION
Salvatore A ShinkoBrazilAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson E KolmetzIndia2026-10-16Chapman, Ross E Esq NEGOTIATION79Xuxue Feng
1001Stacey Y GlickSpain2026-11-01Chapman, Ross E Esq NEW14Asiya Javayant
1002Arvin K FollerBrazil2026-10-11Chemel, James L Cpa QUALIFIED54Anna Fali
1003Murillo S FollerJapan2026-10-28King, Christopher A Esq NEGOTIATION90Ivan Magalhaes
1004James A WaycottRussia2026-10-19Benton, John B Jr PROPOSAL55Onyama Limba
1005Maisha Z VenereUnited Kingdom2026-10-31Buckley Miller Wright PROPOSAL24Stephen Shaw
1006Claire C GlickSpain2026-10-17Chanay, Jeffrey A Esq NEGOTIATION29Asiya Javayant
1007Silvio W StensethAustralia2026-10-11Rousseaux, Michael Esq UNQUALIFIED87Stephen Shaw
1008Leja S DoeGermany2026-10-20Chanay, Jeffrey A Esq NEGOTIATION70Bernardo Dominic
1009Maisha F SchemmerBrazil2026-10-31Truhlar And Truhlar Attys RENEWAL10Ivan Magalhaes
1010David L GlickGermany2026-10-27King, Christopher A Esq UNQUALIFIED38Onyama Limba
1011Chavez Q RulapaughSpain2026-10-11Printing Dimensions PROPOSAL19Onyama Limba
1012Ivar C PoquetteCanada2026-10-10Benton, John B Jr PROPOSAL62Stephen Shaw
1013Clifford J PoquetteUnited Kingdom2026-10-13Chemel, James L Cpa QUALIFIED63Bernardo Dominic
1014Francesco A SaylorsCanada2026-10-13Feltz Printing Service RENEWAL73Bernardo Dominic
1015Darci L StensethArgentina2026-10-17Chapman, Ross E Esq NEGOTIATION17Stephen Shaw
1016Smith F NickaGermany2026-10-28Rousseaux, Michael Esq NEW24Ioni Bowcher
1017Greenwood M IturbideUnited Kingdom2026-11-02Chemel, James L Cpa UNQUALIFIED45Elwin Sharvill
1018Munro P RoysterArgentina2026-10-23Buckley Miller Wright QUALIFIED75Ivan Magalhaes
1019Aruna G ShinkoIndia2026-10-08Truhlar And Truhlar Attys PROPOSAL45Anna Fali
1020Jeanfrancois V RulapaughArgentina2026-10-18Feiner Bros QUALIFIED86Asiya Javayant
1021Jeanfrancois J FollerIndia2026-10-18Morlong Associates RENEWAL10Bernardo Dominic
1022Maria T GillianGermany2026-10-17Printing Dimensions NEW84Bernardo Dominic
1023Jefferson A AmigonSpain2026-11-04King, Christopher A Esq NEW81Amy Elsner
1024Francesco G GillianItaly2026-10-23Dorl, James J Esq NEGOTIATION70Elwin Sharvill
1025Costa L BriddickJapan2026-10-30Buckley Miller Wright RENEWAL79Asiya Javayant
1026Wickens H MaletBrazil2026-10-25Dorl, James J Esq PROPOSAL11Stephen Shaw
1027Julie B MaletAustralia2026-10-12Rousseaux, Michael Esq PROPOSAL75Ivan Magalhaes
1028Leja I BriddickGermany2026-11-02Chapman, Ross E Esq QUALIFIED4Xuxue Feng
1029Clifford K TollnerAustralia2026-10-19Chemel, James L Cpa UNQUALIFIED72Elwin Sharvill
1030Adams S BriddickItaly2026-11-03Rangoni Of Florence UNQUALIFIED13Ivan Magalhaes
1031Ivar M ButtGermany2026-10-25Feltz Printing Service NEW22Asiya Javayant
1032Jeanfrancois R GillianAustralia2026-10-08Truhlar And Truhlar Attys PROPOSAL58Amy Elsner
1033Jeanfrancois D GarufiSpain2026-10-09Commercial Press PROPOSAL34Bernardo Dominic
1034Jefferson D GillianArgentina2026-10-31Rousseaux, Michael Esq UNQUALIFIED83Onyama Limba
1035Murillo U MaletCanada2026-10-21Commercial Press NEGOTIATION25Xuxue Feng
1036Murillo L WieserBrazil2026-10-08Morlong Associates RENEWAL38Onyama Limba
1037Arvin J CaldareraCanada2026-10-18Truhlar And Truhlar Attys PROPOSAL89Ivan Magalhaes
1038Johnson Q PoquetteFrance2026-11-05Benton, John B Jr NEW60Elwin Sharvill
1039Ivar Q ButtAustralia2026-10-16Morlong Associates NEW68Stephen Shaw
1040Isabel Z RimIndia2026-10-11Chanay, Jeffrey A Esq NEW53Xuxue Feng
1041Isabel Q FerenczIndia2026-10-27Truhlar And Truhlar Attys PROPOSAL81Stephen Shaw
1042Maisha V StockhamSpain2026-11-02Printing Dimensions NEGOTIATION48Amy Elsner
1043Morrow X OldroydArgentina2026-10-20Dorl, James J Esq NEW83Bernardo Dominic
1044Salvatore H CaldareraItaly2026-10-30Morlong Associates QUALIFIED25Bernardo Dominic
1045Maisha Z WaycottItaly2026-11-04Rousseaux, Michael Esq QUALIFIED0Onyama Limba
1046Morrow A RutaCanada2026-10-22Feltz Printing Service QUALIFIED28Xuxue Feng
1047Leja X SaylorsBrazil2026-10-07Truhlar And Truhlar Attys NEW69Onyama Limba
1048Aditya A DarakjyItaly2026-11-05Chanay, Jeffrey A Esq RENEWAL0Xuxue Feng
1049Deepesh G VocelkaBrazil2026-10-26Feiner Bros NEW96Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Antonio V MacleadUnited KingdomAmy Elsner NEGOTIATION
Mayumi V WieserAustraliaXuxue Feng NEGOTIATION
Chavez C RulapaughSpainAmy Elsner PROPOSAL
Antonio R VenereBrazilAsiya Javayant PROPOSAL
Izzy K TollnerRussiaAnna Fali RENEWAL
Jeanfrancois Q RutaSpainOnyama Limba NEW
Julie O GillianCanadaIvan Magalhaes PROPOSAL
Costa R MacleadRussiaBernardo Dominic NEGOTIATION
Rodrigues Z OldroydUnited KingdomAmy Elsner QUALIFIED
Izzy X SchemmerFranceStephen Shaw QUALIFIED
Kadeem J DoeJapanAnna Fali RENEWAL
Mujtaba H SaylorsIndiaOnyama Limba UNQUALIFIED
Jennifer J StensethSpainElwin Sharvill UNQUALIFIED
Leja U MaletIndiaIoni Bowcher NEW
Jones Z StensethArgentinaAnna Fali PROPOSAL
Rodrigues B SaylorsItalyOnyama Limba RENEWAL
Leja O WhobreyFranceIvan Magalhaes NEGOTIATION
Ashley U DilliardArgentinaAmy Elsner NEGOTIATION
Emily Q FollerRussiaAnna Fali PROPOSAL
Johnson X TollnerRussiaIoni Bowcher NEGOTIATION
Mujtaba P KuskoCanadaAsiya Javayant QUALIFIED
Octavia I DoeAustraliaElwin Sharvill NEW
Aika G PaprockiUnited KingdomOnyama Limba NEW
Smith V TollnerRussiaElwin Sharvill UNQUALIFIED
Kadeem G MorascaUnited KingdomIoni Bowcher NEW
Leon E TollnerGermanyBernardo Dominic UNQUALIFIED
Leon R NickaUnited KingdomStephen Shaw NEGOTIATION
Julie V CaudySpainIoni Bowcher NEGOTIATION
Julie D VenereJapanXuxue Feng RENEWAL
Stacey U SchemmerBrazilElwin Sharvill NEW
Silvio L BriddickRussiaAmy Elsner UNQUALIFIED
Stacey B StensethArgentinaXuxue Feng QUALIFIED
Octavia O AmigonRussiaStephen Shaw QUALIFIED
James J MorascaCanadaIoni Bowcher UNQUALIFIED
Salvatore E FollerBrazilBernardo Dominic PROPOSAL
Antonio F SergiAustraliaXuxue Feng PROPOSAL
Kaitlin H DoeBrazilIvan Magalhaes NEW
Jones N ShinkoGermanyOnyama Limba NEW
Murillo H MacleadJapanXuxue Feng RENEWAL
Emily Y CaudyIndiaAmy Elsner UNQUALIFIED
Leon N AlbaresRussiaIvan Magalhaes NEGOTIATION
Julie Q PoquetteItalyBernardo Dominic PROPOSAL
James X WhobreyArgentinaBernardo Dominic NEW
Misaki M TollnerAustraliaXuxue Feng QUALIFIED
Faith W WhobreyCanadaStephen Shaw RENEWAL
Munro L GlickFranceAsiya Javayant NEW
Francesco P AlbaresGermanyXuxue Feng QUALIFIED
Octavia Z OstroskyIndiaBernardo Dominic NEW
Deepesh U SchemmerJapanOnyama Limba NEGOTIATION
Emily N ButtAustraliaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Rodrigues F Gaucho
Ashley F Perin
Murillo J Darakjy
Aika J Nicka
Johnson K Butt
Chavez Y Stockham
Juan R Garufi
Emily U Nicka
Ricardo Z Briddick
Adams V Saylors
Kadeem F Waycott
Clifford P Chui
Claire J Figeroa
Stacey B Gillian
Kadeem L Malet
Adams C Malet
Izzy M Marrier
Francesco G Ostrosky
Jefferson U Flosi
Mayumi P Tollner
Rodrigues B Gaucho
Cody U Bolognia
Claire E Waycott
Mujtaba S Bolognia
Clifford I Caldarera
Morrow D Morasca
Greenwood U Royster
Murillo M Shinko
Greenwood S Paprocki
Adams N Tollner
Sinclair H Stockham
Stacey B Shinko
Ashley G Ostrosky
Tony M Rim
Deepesh S Caldarera
Octavia C Schemmer
Maria D Amigon
Aika W Bowley
Misaki H Campain
Murillo E Chui
Costa Z Whobrey
Munro O Rulapaugh
Ricardo H Schemmer
Costa R Kusko
Clifford P Poquette
Aditya A Chui
Rodrigues Y Stockham
Greenwood S Kusko
Cody H Darakjy
Maisha J Schemmer
IdCountryDate
1000Japan2026-11-04
1001Brazil2026-10-27
1002Brazil2026-10-31
1003Germany2026-10-15
1004Russia2026-11-04
1005Australia2026-10-27
1006Italy2026-10-16
1007France2026-11-03
1008Argentina2026-10-16
1009Germany2026-10-07
1010France2026-10-27
1011Brazil2026-10-31
1012Japan2026-10-18
1013Brazil2026-10-22
1014Germany2026-10-20
1015Spain2026-10-11
1016United Kingdom2026-10-15
1017Argentina2026-11-03
1018Argentina2026-10-11
1019Spain2026-10-12
1020Canada2026-10-08
1021United Kingdom2026-11-04
1022France2026-10-22
1023Canada2026-10-14
1024Russia2026-11-04
1025Canada2026-10-30
1026Japan2026-10-28
1027Australia2026-10-30
1028Germany2026-11-03
1029Spain2026-10-21
1030United Kingdom2026-10-09
1031Japan2026-10-25
1032Germany2026-10-07
1033India2026-11-04
1034India2026-11-04
1035India2026-10-27
1036Japan2026-10-21
1037Brazil2026-10-27
1038Russia2026-10-31
1039Argentina2026-10-25
1040France2026-10-25
1041France2026-10-25
1042United Kingdom2026-10-18
1043Brazil2026-11-03
1044Russia2026-10-20
1045Germany2026-10-16
1046Italy2026-11-04
1047Japan2026-10-23
1048India2026-10-08
1049Russia2026-10-07

On-Demand Data

NameIdCountryDate
Misaki S Figeroa1000Germany2026-11-04
Aditya S Nestle1001Brazil2026-10-30
Leja B Foller1002United Kingdom2026-10-29
Darci K Whobrey1003Brazil2026-10-25
Kadeem L Poquette1004Brazil2026-10-20
Greenwood F Shinko1005Italy2026-11-03
Wickens D Whobrey1006Canada2026-10-23
Faith Q Marrier1007Russia2026-10-19
Jones Y Royster1008United Kingdom2026-10-16
Maisha L Poquette1009Spain2026-10-21
Antonio D Foller1010United Kingdom2026-11-01
Jefferson V Figeroa1011Russia2026-10-28
Smith K Inouye1012United Kingdom2026-10-25
Darci F Poquette1013Australia2026-10-10
Maisha R Shinko1014Spain2026-10-09
Munro O Flosi1015Argentina2026-11-03
Mayumi K Perin1016India2026-10-19
Mujtaba U Butt1017France2026-10-22
Antonio P Marrier1018Brazil2026-10-20
Ricardo N Foller1019Argentina2026-11-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James X GlickBrazilIoni Bowcher UNQUALIFIED
Johnson P SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Adams A SchemmerArgentinaBernardo Dominic QUALIFIED
David W MorascaUnited KingdomAsiya Javayant NEGOTIATION
Greenwood J SchemmerFranceStephen Shaw UNQUALIFIED
Francesco R TollnerAustraliaIvan Magalhaes NEW
Deepesh W AlbaresArgentinaIvan Magalhaes NEGOTIATION
Juan T PoquetteAustraliaAnna Fali QUALIFIED
Munro N WieserAustraliaIoni Bowcher RENEWAL
Costa Y CaudyUnited KingdomAmy Elsner NEGOTIATION
Ricardo X FigeroaFranceIvan Magalhaes RENEWAL
Smith G MorascaItalyBernardo Dominic QUALIFIED
Alejandro P CaudyRussiaElwin Sharvill NEGOTIATION
Ivar E SergiGermanyIvan Magalhaes UNQUALIFIED
Juan G WieserItalyStephen Shaw QUALIFIED
Kadeem V AlbaresItalyBernardo Dominic NEGOTIATION
Wickens O MaletCanadaAsiya Javayant NEW
Darci Y WaycottJapanElwin Sharvill NEGOTIATION
Ashley W VocelkaRussiaStephen Shaw UNQUALIFIED
Leon B DilliardAustraliaBernardo Dominic UNQUALIFIED
Costa Z SlusarskiCanadaBernardo Dominic NEW
Silvio R PaprockiRussiaOnyama Limba NEGOTIATION
Aditya U RulapaughSpainAmy Elsner NEW
Jefferson D FigeroaRussiaElwin Sharvill NEW
Salvatore N RoysterUnited KingdomXuxue Feng NEW
Leon Q RulapaughRussiaOnyama Limba QUALIFIED
Arvin V PerinSpainAmy Elsner UNQUALIFIED
Juan B CaldareraFranceIvan Magalhaes NEGOTIATION
Antonio X KolmetzUnited KingdomElwin Sharvill PROPOSAL
Faith P RoysterSpainAsiya Javayant QUALIFIED
Darci H FerenczJapanElwin Sharvill UNQUALIFIED
Chavez E ShinkoJapanBernardo Dominic PROPOSAL
Jones Q DilliardItalyAnna Fali QUALIFIED
Francesco G CampainJapanOnyama Limba UNQUALIFIED
Mujtaba C DoeFranceIoni Bowcher PROPOSAL
Misaki D StensethFranceElwin Sharvill NEW
Mayumi D BowleyAustraliaBernardo Dominic NEGOTIATION
Kadeem A MaletBrazilElwin Sharvill NEGOTIATION
Maisha N WieserFranceBernardo Dominic QUALIFIED
Rodrigues R ShinkoCanadaAnna Fali 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>