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
Ricardo Y ShinkoJapanBernardo Dominic RENEWAL
Tony X DoeCanadaAsiya Javayant NEGOTIATION
Octavia A MaletBrazilBernardo Dominic NEW
Mujtaba N BologniaSpainOnyama Limba RENEWAL
Greenwood R CampainCanadaAmy Elsner NEGOTIATION
Cody G MaletIndiaAsiya Javayant UNQUALIFIED
Nicolas B GlickBrazilAmy Elsner NEW
Antonio E MacleadRussiaAmy Elsner NEW
Isabel I SlusarskiArgentinaStephen Shaw NEGOTIATION
James M KuskoSpainAmy Elsner NEGOTIATION
Juan K BriddickFranceIvan Magalhaes RENEWAL
Ricardo Y CaudyAustraliaXuxue Feng NEGOTIATION
Arvin A ButtBrazilStephen Shaw UNQUALIFIED
Izzy Q StockhamBrazilStephen Shaw UNQUALIFIED
Antonio B VenereGermanyIvan Magalhaes NEW
Claire G RoysterSpainElwin Sharvill QUALIFIED
Francesco B KuskoItalyIoni Bowcher RENEWAL
Deepesh E FigeroaJapanBernardo Dominic PROPOSAL
Costa O IturbideSpainAsiya Javayant PROPOSAL
Kadeem Z MaletIndiaAsiya Javayant QUALIFIED
Wickens W GlickFranceIvan Magalhaes PROPOSAL
Clifford S KolmetzItalyAsiya Javayant UNQUALIFIED
Mujtaba X VenereJapanXuxue Feng UNQUALIFIED
Chavez Z CaudyIndiaIoni Bowcher QUALIFIED
Kaitlin A CaldareraArgentinaXuxue Feng PROPOSAL
Maisha L KuskoItalyElwin Sharvill NEGOTIATION
Adams Z MorascaBrazilElwin Sharvill PROPOSAL
Nicolas E AmigonItalyIoni Bowcher RENEWAL
Rodrigues C BowleyCanadaStephen Shaw PROPOSAL
Emily P KuskoBrazilAsiya Javayant UNQUALIFIED
James L DarakjyRussiaAsiya Javayant NEW
Misaki J CaldareraCanadaBernardo Dominic NEW
Octavia E FerenczRussiaIoni Bowcher PROPOSAL
David I StockhamArgentinaAnna Fali PROPOSAL
Munro C AmigonIndiaAsiya Javayant NEW
Aika K StensethBrazilIoni Bowcher NEGOTIATION
Octavia D KolmetzArgentinaAnna Fali NEW
Octavia X MarrierArgentinaAnna Fali NEGOTIATION
Faith V RimRussiaIvan Magalhaes QUALIFIED
Tony L TollnerGermanyBernardo Dominic NEW
David G MaletFranceIvan Magalhaes NEW
Sinclair Q BologniaAustraliaIvan Magalhaes NEGOTIATION
Ricardo D FlosiSpainIoni Bowcher RENEWAL
Smith G DilliardSpainAsiya Javayant QUALIFIED
Izzy S RulapaughJapanAmy Elsner NEW
Misaki Z WieserItalyAmy Elsner RENEWAL
Mujtaba T DilliardIndiaOnyama Limba NEW
Morrow M MacleadRussiaIvan Magalhaes QUALIFIED
Maria A OldroydSpainIoni Bowcher NEGOTIATION
Maisha Y SchemmerBrazilIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Sinclair C WhobreyItalyStephen Shaw NEGOTIATION
Nicolas A RoysterItalyBernardo Dominic NEGOTIATION
Murillo F BowleyIndiaElwin Sharvill NEW
Emily V MaletUnited KingdomElwin Sharvill PROPOSAL
Johnson N ShinkoGermanyIvan Magalhaes UNQUALIFIED
Kaitlin G WieserAustraliaAsiya Javayant RENEWAL
Salvatore Y ShinkoGermanyAsiya Javayant NEGOTIATION
Kaitlin S MarrierArgentinaAsiya Javayant RENEWAL
Murillo N MacleadSpainStephen Shaw NEW
Juan V MaletSpainStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones V OstroskyUnited Kingdom2026-09-21Chanay, Jeffrey A Esq NEGOTIATION76Ivan Magalhaes
1001Murillo T ChuiAustralia2026-09-17Chanay, Jeffrey A Esq QUALIFIED69Stephen Shaw
1002Costa V AmigonUnited Kingdom2026-09-20Feiner Bros RENEWAL96Ioni Bowcher
1003Antonio Y MorascaAustralia2026-09-04Rousseaux, Michael Esq UNQUALIFIED13Ioni Bowcher
1004Mujtaba P RulapaughUnited Kingdom2026-09-02Chapman, Ross E Esq QUALIFIED81Onyama Limba
1005Maisha V FollerItaly2026-08-29Feltz Printing Service UNQUALIFIED56Xuxue Feng
1006Sinclair G GillianGermany2026-09-05Feiner Bros PROPOSAL10Onyama Limba
1007Mayumi R IturbideBrazil2026-09-11Chemel, James L Cpa NEW67Stephen Shaw
1008Silvio J PaprockiJapan2026-09-18Chanay, Jeffrey A Esq NEW72Elwin Sharvill
1009Jennifer E VenereUnited Kingdom2026-09-14Printing Dimensions NEW71Onyama Limba
1010Kadeem M GlickAustralia2026-08-27Truhlar And Truhlar Attys NEGOTIATION89Anna Fali
1011Kadeem M CampainBrazil2026-09-22Morlong Associates UNQUALIFIED83Asiya Javayant
1012Rodrigues E GarufiAustralia2026-09-04Rousseaux, Michael Esq NEW88Stephen Shaw
1013David U SergiUnited Kingdom2026-09-16Commercial Press RENEWAL51Ioni Bowcher
1014Aika W MaletRussia2026-09-20Chanay, Jeffrey A Esq NEGOTIATION46Amy Elsner
1015Ivar R AlbaresGermany2026-09-23Commercial Press QUALIFIED53Bernardo Dominic
1016Jeanfrancois E RulapaughUnited Kingdom2026-08-25Chanay, Jeffrey A Esq PROPOSAL24Asiya Javayant
1017Kaitlin O ButtArgentina2026-08-27Chanay, Jeffrey A Esq UNQUALIFIED39Anna Fali
1018Ricardo N OstroskyJapan2026-09-03Morlong Associates RENEWAL24Xuxue Feng
1019Cody C GillianItaly2026-09-13Rangoni Of Florence QUALIFIED53Ioni Bowcher
1020Misaki N ShinkoCanada2026-08-26Printing Dimensions PROPOSAL50Bernardo Dominic
1021Stacey H VenereCanada2026-09-08Commercial Press PROPOSAL25Xuxue Feng
1022Morrow A KolmetzSpain2026-09-11Buckley Miller Wright RENEWAL98Onyama Limba
1023Smith Y FigeroaIndia2026-09-17Commercial Press UNQUALIFIED57Stephen Shaw
1024Smith B InouyeJapan2026-09-12Feltz Printing Service NEW0Elwin Sharvill
1025Rodrigues I FerenczFrance2026-09-15Rangoni Of Florence QUALIFIED26Elwin Sharvill
1026Sinclair J OldroydUnited Kingdom2026-09-18Rousseaux, Michael Esq PROPOSAL30Ioni Bowcher
1027Morrow N KolmetzItaly2026-09-23Commercial Press UNQUALIFIED42Anna Fali
1028Tony B MarrierIndia2026-08-30Chapman, Ross E Esq RENEWAL9Amy Elsner
1029Johnson E TollnerItaly2026-09-12Chapman, Ross E Esq UNQUALIFIED54Onyama Limba
1030Johnson K ButtJapan2026-09-07Printing Dimensions NEGOTIATION22Stephen Shaw
1031James P ButtCanada2026-09-03Rangoni Of Florence UNQUALIFIED25Amy Elsner
1032Ricardo K DoeRussia2026-08-28Chapman, Ross E Esq NEGOTIATION46Amy Elsner
1033Aika X GlickUnited Kingdom2026-09-15Benton, John B Jr UNQUALIFIED83Elwin Sharvill
1034Maria D NickaFrance2026-09-19Rangoni Of Florence PROPOSAL8Anna Fali
1035Aruna X AmigonSpain2026-09-11Chemel, James L Cpa RENEWAL5Asiya Javayant
1036Claire H RutaArgentina2026-09-21Printing Dimensions NEW99Amy Elsner
1037Ashley D PoquetteBrazil2026-09-22King, Christopher A Esq NEGOTIATION46Onyama Limba
1038Kadeem W CampainCanada2026-09-13Printing Dimensions NEGOTIATION44Amy Elsner
1039Murillo A MaletBrazil2026-09-02Morlong Associates PROPOSAL12Xuxue Feng
1040Arvin M FlosiUnited Kingdom2026-08-30Rangoni Of Florence PROPOSAL9Amy Elsner
1041Jefferson U ButtRussia2026-08-26Chanay, Jeffrey A Esq QUALIFIED68Elwin Sharvill
1042Mayumi H ShinkoUnited Kingdom2026-09-23Morlong Associates RENEWAL14Onyama Limba
1043Julie M FollerItaly2026-09-19Chanay, Jeffrey A Esq UNQUALIFIED83Elwin Sharvill
1044Nicolas B FigeroaArgentina2026-08-30Buckley Miller Wright QUALIFIED51Ioni Bowcher
1045Isabel S ShinkoAustralia2026-09-01Benton, John B Jr RENEWAL65Elwin Sharvill
1046Clifford A VocelkaUnited Kingdom2026-09-02Chapman, Ross E Esq QUALIFIED9Stephen Shaw
1047Murillo F RutaFrance2026-09-09Chemel, James L Cpa RENEWAL27Xuxue Feng
1048Jennifer K InouyeJapan2026-09-23Rousseaux, Michael Esq NEGOTIATION37Anna Fali
1049Faith A BriddickCanada2026-09-10Morlong Associates UNQUALIFIED29Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Alejandro W ChuiUnited KingdomXuxue Feng UNQUALIFIED
James W FollerBrazilIvan Magalhaes NEW
Salvatore K DarakjyUnited KingdomAmy Elsner NEGOTIATION
Murillo H BriddickJapanXuxue Feng NEW
Deepesh I NickaBrazilAmy Elsner NEGOTIATION
Munro E GarufiIndiaIoni Bowcher RENEWAL
Adams T RoysterAustraliaAmy Elsner QUALIFIED
Salvatore S DarakjyFranceBernardo Dominic RENEWAL
Darci Z MorascaUnited KingdomOnyama Limba QUALIFIED
Morrow J OldroydItalyElwin Sharvill RENEWAL
Munro D KolmetzGermanyIvan Magalhaes QUALIFIED
Silvio X SergiArgentinaAsiya Javayant PROPOSAL
Wickens I BowleyItalyBernardo Dominic QUALIFIED
Kaitlin Q ShinkoFranceElwin Sharvill NEW
Misaki C TollnerBrazilOnyama Limba NEGOTIATION
Claire I NickaCanadaStephen Shaw NEW
Tony M ChuiFranceStephen Shaw QUALIFIED
Munro Q OldroydRussiaBernardo Dominic RENEWAL
Murillo W VocelkaCanadaIvan Magalhaes PROPOSAL
Maisha X MorascaGermanyStephen Shaw QUALIFIED
Adams K PerinRussiaAnna Fali NEW
Julie S BriddickBrazilXuxue Feng QUALIFIED
Leon O WaycottCanadaIvan Magalhaes RENEWAL
Julie R BriddickRussiaElwin Sharvill RENEWAL
Arvin V MaletRussiaElwin Sharvill RENEWAL
Mayumi G ButtAustraliaIoni Bowcher NEGOTIATION
Deepesh Y MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba H ChuiItalyIvan Magalhaes RENEWAL
Octavia Q PaprockiItalyXuxue Feng PROPOSAL
Adams U PaprockiSpainBernardo Dominic QUALIFIED
Julie F BowleyIndiaIvan Magalhaes QUALIFIED
Leon I BowleySpainAmy Elsner UNQUALIFIED
Tony X RutaRussiaOnyama Limba NEW
Sinclair E CaudyGermanyIoni Bowcher RENEWAL
Leon K IturbideBrazilElwin Sharvill QUALIFIED
Ashley D InouyeIndiaStephen Shaw RENEWAL
Murillo P RulapaughSpainOnyama Limba QUALIFIED
Stacey Y FlosiIndiaOnyama Limba NEGOTIATION
Darci F MacleadSpainAnna Fali UNQUALIFIED
Costa H NestleUnited KingdomOnyama Limba RENEWAL
Munro L FigeroaArgentinaAmy Elsner QUALIFIED
Alejandro I MorascaCanadaIvan Magalhaes NEGOTIATION
Darci D SchemmerArgentinaAnna Fali RENEWAL
Aditya X NestleJapanBernardo Dominic UNQUALIFIED
Leon Z NickaUnited KingdomIoni Bowcher RENEWAL
Tony O PoquetteSpainXuxue Feng QUALIFIED
Jennifer M TollnerFranceOnyama Limba QUALIFIED
Izzy H GarufiArgentinaAsiya Javayant QUALIFIED
Kadeem S PerinIndiaAsiya Javayant UNQUALIFIED
Arvin M PoquetteUnited KingdomIoni Bowcher RENEWAL
Frozen Columns
Name
Jennifer Z Wieser
Aika C Nestle
Silvio J Kolmetz
Tony J Caudy
Cody C Ostrosky
Rodrigues M Vocelka
Sinclair I Rim
Nicolas Z Albares
Tony B Briddick
Aditya J Caldarera
Antonio N Marrier
Darci K Iturbide
Silvio U Paprocki
Emily X Saylors
Isabel O Caldarera
Aruna C Darakjy
Tony J Sergi
Misaki R Stenseth
Maisha D Doe
David X Royster
Izzy S Rulapaugh
Darci J Butt
Jeanfrancois F Ferencz
Leon X Garufi
Darci X Perin
Octavia A Campain
Adams E Foller
Johnson K Darakjy
Adams E Bowley
Cody T Kolmetz
Arvin I Dilliard
Ashley Q Butt
Jefferson Z Tollner
Morrow I Schemmer
Leon C Paprocki
Johnson P Gaucho
Munro G Darakjy
Kadeem X Ostrosky
Francesco R Schemmer
Maisha R Bowley
Jennifer H Marrier
Jones Z Bowley
James W Flosi
Salvatore H Butt
Jones Y Dilliard
Alejandro Q Kusko
Francesco Z Malet
Antonio R Paprocki
Darci U Bolognia
Ashley I Morasca
IdCountryDate
1000Japan2026-08-27
1001Germany2026-08-25
1002Canada2026-09-06
1003Spain2026-08-26
1004Argentina2026-09-08
1005Japan2026-08-28
1006Spain2026-09-21
1007Australia2026-08-30
1008Russia2026-08-25
1009Russia2026-09-12
1010Brazil2026-08-28
1011Brazil2026-09-03
1012Spain2026-09-06
1013Italy2026-09-18
1014Spain2026-09-23
1015Russia2026-08-25
1016Japan2026-08-27
1017Italy2026-08-31
1018Spain2026-09-12
1019United Kingdom2026-09-04
1020France2026-09-05
1021Italy2026-09-06
1022United Kingdom2026-09-12
1023Spain2026-09-07
1024Argentina2026-09-16
1025Australia2026-08-29
1026Russia2026-09-18
1027United Kingdom2026-09-08
1028Italy2026-09-16
1029Spain2026-09-15
1030United Kingdom2026-09-02
1031India2026-09-19
1032Italy2026-09-06
1033Australia2026-08-25
1034United Kingdom2026-09-14
1035Italy2026-09-14
1036India2026-09-15
1037Australia2026-08-26
1038Australia2026-09-23
1039Italy2026-08-31
1040France2026-09-10
1041Russia2026-09-03
1042Brazil2026-08-26
1043Argentina2026-09-06
1044Japan2026-09-04
1045Russia2026-09-23
1046United Kingdom2026-09-23
1047Australia2026-09-05
1048France2026-08-28
1049Spain2026-09-18

On-Demand Data

NameIdCountryDate
Aruna D Slusarski1000Argentina2026-09-19
Kadeem U Gaucho1001Canada2026-09-12
Ashley L Garufi1002Australia2026-09-22
Cody B Campain1003Spain2026-09-13
Chavez F Inouye1004Spain2026-09-03
Nicolas I Foller1005India2026-09-09
Aditya X Ruta1006Argentina2026-09-02
Morrow I Schemmer1007Russia2026-09-21
Kadeem N Rulapaugh1008India2026-09-02
Stacey O Venere1009Spain2026-09-19
Julie L Stenseth1010United Kingdom2026-09-09
Deepesh A Maclead1011United Kingdom2026-09-03
Leon E Waycott1012Spain2026-09-05
David H Shinko1013Russia2026-09-11
Tony T Ruta1014Russia2026-08-30
Mujtaba R Bolognia1015France2026-09-09
Salvatore J Whobrey1016India2026-09-10
Leja W Perin1017France2026-09-10
Mayumi P Bowley1018Spain2026-09-02
James D Bowley1019Canada2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson K AmigonRussiaElwin Sharvill UNQUALIFIED
Aruna L PaprockiJapanIvan Magalhaes NEW
Maria I GauchoJapanOnyama Limba UNQUALIFIED
Ivar N MorascaGermanyIvan Magalhaes NEW
Wickens Z PoquetteRussiaAnna Fali UNQUALIFIED
Salvatore S CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna S CaldareraIndiaAnna Fali PROPOSAL
Stacey N GarufiBrazilOnyama Limba RENEWAL
Greenwood T MacleadItalyBernardo Dominic NEW
Deepesh I FlosiRussiaIvan Magalhaes UNQUALIFIED
Salvatore C SchemmerFranceBernardo Dominic RENEWAL
Morrow D PoquetteUnited KingdomAnna Fali RENEWAL
Adams D MaletCanadaOnyama Limba UNQUALIFIED
Ivar A KolmetzSpainElwin Sharvill NEW
Wickens U ChuiJapanIoni Bowcher NEGOTIATION
Deepesh F KolmetzBrazilAmy Elsner NEW
Salvatore K OldroydFranceIvan Magalhaes PROPOSAL
Clifford J DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Smith M MaletItalyBernardo Dominic QUALIFIED
Murillo F WhobreyArgentinaAnna Fali NEW
Jones C OstroskyGermanyBernardo Dominic QUALIFIED
Francesco T DilliardRussiaOnyama Limba NEGOTIATION
Chavez T DoeRussiaIvan Magalhaes UNQUALIFIED
Jefferson C StockhamJapanStephen Shaw PROPOSAL
Adams V KolmetzCanadaAmy Elsner QUALIFIED
Claire C VocelkaJapanAnna Fali UNQUALIFIED
Misaki J MorascaFranceIvan Magalhaes QUALIFIED
Silvio A VocelkaArgentinaBernardo Dominic NEGOTIATION
Alejandro L FerenczUnited KingdomElwin Sharvill RENEWAL
Maisha T RoysterRussiaIoni Bowcher NEW
Ashley C KuskoUnited KingdomBernardo Dominic PROPOSAL
Murillo H KuskoGermanyIoni Bowcher UNQUALIFIED
Morrow Q FollerBrazilIvan Magalhaes RENEWAL
Kaitlin K CaldareraArgentinaAmy Elsner UNQUALIFIED
Smith H BologniaBrazilOnyama Limba PROPOSAL
Greenwood M BologniaAustraliaBernardo Dominic NEW
James N WhobreyJapanIvan Magalhaes PROPOSAL
Silvio A PoquetteItalyIvan Magalhaes QUALIFIED
Maria W CaudyUnited KingdomElwin Sharvill PROPOSAL
Johnson T DilliardAustraliaIvan Magalhaes QUALIFIED

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