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 X FigeroaSpainOnyama Limba UNQUALIFIED
Jeanfrancois A SaylorsGermanyOnyama Limba NEGOTIATION
Costa Z RimSpainIoni Bowcher NEW
Munro L CaudyIndiaStephen Shaw RENEWAL
Emily A SergiRussiaAnna Fali UNQUALIFIED
Wickens J BriddickJapanStephen Shaw NEW
Juan J VenereArgentinaOnyama Limba RENEWAL
Emily C WhobreyGermanyXuxue Feng NEW
Arvin O GlickAustraliaElwin Sharvill NEW
Claire B SaylorsRussiaAnna Fali NEGOTIATION
Francesco Q FigeroaRussiaStephen Shaw RENEWAL
Adams I RoysterGermanyIoni Bowcher UNQUALIFIED
Kaitlin B WhobreyFranceXuxue Feng PROPOSAL
Leja O VenereBrazilOnyama Limba QUALIFIED
Juan S AmigonIndiaAnna Fali PROPOSAL
Wickens Z SchemmerAustraliaAsiya Javayant PROPOSAL
Chavez O SaylorsBrazilAsiya Javayant PROPOSAL
Claire W IturbideItalyAsiya Javayant QUALIFIED
Stacey Z SergiItalyAsiya Javayant QUALIFIED
Stacey H OldroydItalyAsiya Javayant PROPOSAL
Nicolas Q RimIndiaBernardo Dominic QUALIFIED
Aika A SergiRussiaStephen Shaw RENEWAL
Deepesh O FigeroaAustraliaAnna Fali RENEWAL
Ricardo B FerenczCanadaXuxue Feng NEGOTIATION
Jefferson X MacleadFranceBernardo Dominic NEW
Darci A StockhamIndiaXuxue Feng QUALIFIED
Kaitlin E SchemmerSpainOnyama Limba QUALIFIED
Juan K MaletBrazilBernardo Dominic PROPOSAL
Arvin Z CaldareraItalyBernardo Dominic QUALIFIED
Aruna K RutaCanadaIoni Bowcher PROPOSAL
David P PerinBrazilAsiya Javayant PROPOSAL
Francesco F MacleadBrazilXuxue Feng QUALIFIED
Claire H DarakjyItalyStephen Shaw PROPOSAL
Chavez M NickaIndiaAmy Elsner RENEWAL
Claire S FigeroaJapanIvan Magalhaes UNQUALIFIED
Greenwood U InouyeBrazilAsiya Javayant NEW
Tony T AmigonJapanIvan Magalhaes UNQUALIFIED
Leja Z FerenczGermanyIoni Bowcher RENEWAL
Stacey L SchemmerIndiaElwin Sharvill QUALIFIED
Clifford P StockhamRussiaIvan Magalhaes RENEWAL
Johnson J FlosiAustraliaIvan Magalhaes QUALIFIED
Mujtaba L CampainUnited KingdomXuxue Feng QUALIFIED
Aditya T MorascaRussiaOnyama Limba QUALIFIED
Silvio N GlickArgentinaBernardo Dominic NEGOTIATION
Greenwood R WieserCanadaBernardo Dominic NEGOTIATION
Rodrigues B RutaIndiaBernardo Dominic QUALIFIED
Ricardo H TollnerRussiaIvan Magalhaes RENEWAL
Francesco Y AlbaresJapanIoni Bowcher UNQUALIFIED
Sinclair E BriddickUnited KingdomAsiya Javayant RENEWAL
Leja V OstroskyArgentinaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro K VocelkaItalyAnna Fali UNQUALIFIED
Ricardo Q VocelkaAustraliaIoni Bowcher UNQUALIFIED
David O DoeIndiaAnna Fali NEW
Adams E SergiJapanBernardo Dominic UNQUALIFIED
Juan B VocelkaArgentinaAsiya Javayant NEGOTIATION
Maria E GarufiFranceStephen Shaw QUALIFIED
James F KolmetzCanadaStephen Shaw QUALIFIED
Francesco V SchemmerUnited KingdomStephen Shaw NEW
Darci N CampainGermanyAsiya Javayant NEW
Maisha F WhobreyArgentinaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro S NickaAustralia2026-09-06Chanay, Jeffrey A Esq QUALIFIED37Ioni Bowcher
1001Ivar Z StensethJapan2026-09-01Morlong Associates RENEWAL45Elwin Sharvill
1002Stacey F DilliardUnited Kingdom2026-09-16Rangoni Of Florence RENEWAL61Asiya Javayant
1003Sinclair O StockhamJapan2026-09-09Feiner Bros UNQUALIFIED98Bernardo Dominic
1004Kadeem B WhobreyIndia2026-09-11King, Christopher A Esq RENEWAL60Onyama Limba
1005Claire V WhobreyUnited Kingdom2026-09-13Rousseaux, Michael Esq NEGOTIATION68Bernardo Dominic
1006Greenwood W KuskoGermany2026-09-24Rangoni Of Florence UNQUALIFIED23Elwin Sharvill
1007Arvin Y SergiArgentina2026-09-16Truhlar And Truhlar Attys UNQUALIFIED31Bernardo Dominic
1008Leon L TollnerJapan2026-09-15Chanay, Jeffrey A Esq NEGOTIATION4Bernardo Dominic
1009Silvio L WaycottArgentina2026-09-17Chemel, James L Cpa NEGOTIATION92Asiya Javayant
1010Jeanfrancois B MorascaIndia2026-09-03Commercial Press QUALIFIED5Xuxue Feng
1011Misaki U RimRussia2026-09-12Morlong Associates UNQUALIFIED93Ivan Magalhaes
1012Johnson I BriddickArgentina2026-09-12King, Christopher A Esq NEGOTIATION32Ivan Magalhaes
1013Johnson X DilliardAustralia2026-09-09Morlong Associates NEGOTIATION32Amy Elsner
1014Antonio C OldroydRussia2026-09-17Rousseaux, Michael Esq RENEWAL30Ivan Magalhaes
1015Misaki G WieserFrance2026-09-25Feltz Printing Service QUALIFIED61Anna Fali
1016Aruna F OldroydFrance2026-09-01Dorl, James J Esq QUALIFIED75Elwin Sharvill
1017Izzy H BowleyCanada2026-09-26Rangoni Of Florence RENEWAL52Asiya Javayant
1018Cody U SaylorsSpain2026-09-15Commercial Press RENEWAL93Amy Elsner
1019Alejandro Z CaudyArgentina2026-09-25Feltz Printing Service NEGOTIATION42Onyama Limba
1020Rodrigues J OldroydUnited Kingdom2026-09-14Printing Dimensions PROPOSAL82Elwin Sharvill
1021Emily C IturbideFrance2026-09-25Dorl, James J Esq UNQUALIFIED34Xuxue Feng
1022David U DoeItaly2026-09-24Feltz Printing Service NEW37Elwin Sharvill
1023Darci L ShinkoJapan2026-09-15Feiner Bros NEGOTIATION58Ivan Magalhaes
1024Mayumi V BowleyBrazil2026-09-22Chemel, James L Cpa QUALIFIED6Ivan Magalhaes
1025Salvatore Q KuskoIndia2026-09-09Feiner Bros QUALIFIED66Stephen Shaw
1026Smith O PerinJapan2026-09-25Commercial Press RENEWAL6Elwin Sharvill
1027Sinclair J RutaBrazil2026-09-07King, Christopher A Esq NEGOTIATION61Asiya Javayant
1028Wickens X MaletUnited Kingdom2026-08-29Printing Dimensions RENEWAL84Amy Elsner
1029Aditya Z CaudyGermany2026-09-15Chanay, Jeffrey A Esq PROPOSAL28Stephen Shaw
1030Francesco Z AmigonGermany2026-09-02Chemel, James L Cpa PROPOSAL62Anna Fali
1031Maisha A GillianBrazil2026-09-09Chapman, Ross E Esq PROPOSAL57Ivan Magalhaes
1032Ricardo J NickaJapan2026-09-27Feiner Bros UNQUALIFIED43Stephen Shaw
1033Wickens F AmigonFrance2026-09-08Chanay, Jeffrey A Esq PROPOSAL96Onyama Limba
1034Rodrigues N GauchoGermany2026-09-16Rangoni Of Florence RENEWAL14Bernardo Dominic
1035David J FollerArgentina2026-09-17Morlong Associates UNQUALIFIED6Elwin Sharvill
1036Darci O NestleRussia2026-09-09Feiner Bros UNQUALIFIED55Onyama Limba
1037Jefferson W RulapaughFrance2026-09-20Feiner Bros NEGOTIATION16Ivan Magalhaes
1038Chavez I CaldareraSpain2026-09-17Rousseaux, Michael Esq UNQUALIFIED9Xuxue Feng
1039Silvio V ShinkoSpain2026-09-22Rousseaux, Michael Esq UNQUALIFIED89Ioni Bowcher
1040Emily W TollnerCanada2026-09-01Chanay, Jeffrey A Esq RENEWAL11Onyama Limba
1041Silvio N KolmetzSpain2026-09-06Rousseaux, Michael Esq NEW18Xuxue Feng
1042Maisha W DoeSpain2026-08-31Rousseaux, Michael Esq QUALIFIED45Stephen Shaw
1043Jefferson C SchemmerGermany2026-09-13Rangoni Of Florence NEW74Anna Fali
1044Johnson V CaudyIndia2026-09-09Morlong Associates RENEWAL35Amy Elsner
1045Izzy O BriddickUnited Kingdom2026-08-31Chapman, Ross E Esq NEGOTIATION98Stephen Shaw
1046Munro L ShinkoBrazil2026-09-07Morlong Associates NEW46Onyama Limba
1047Mujtaba D DilliardSpain2026-09-02Dorl, James J Esq PROPOSAL10Asiya Javayant
1048Leon P SergiArgentina2026-09-21Benton, John B Jr UNQUALIFIED4Bernardo Dominic
1049Cody J RoysterRussia2026-09-25Buckley Miller Wright NEW54Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Nicolas Q NickaAustraliaAnna Fali UNQUALIFIED
Izzy D StensethIndiaStephen Shaw PROPOSAL
Misaki A KuskoJapanAsiya Javayant PROPOSAL
Faith O OldroydArgentinaStephen Shaw PROPOSAL
Nicolas H TollnerItalyXuxue Feng PROPOSAL
Juan V NestleJapanIoni Bowcher QUALIFIED
David F SergiUnited KingdomBernardo Dominic UNQUALIFIED
Sinclair Y KuskoItalyElwin Sharvill RENEWAL
James Z BowleyUnited KingdomIvan Magalhaes PROPOSAL
Faith V DilliardSpainXuxue Feng UNQUALIFIED
Cody H TollnerIndiaAmy Elsner NEW
Mujtaba P OstroskyFranceAsiya Javayant UNQUALIFIED
Arvin T TollnerFranceIoni Bowcher UNQUALIFIED
Costa E GauchoFranceAsiya Javayant NEW
Maria F SchemmerAustraliaBernardo Dominic RENEWAL
Leja D IturbideJapanBernardo Dominic QUALIFIED
Izzy O NestleSpainXuxue Feng PROPOSAL
Morrow K GillianGermanyAmy Elsner UNQUALIFIED
Adams S DilliardGermanyIvan Magalhaes PROPOSAL
Greenwood Q StensethSpainAnna Fali NEW
Kaitlin D KuskoJapanStephen Shaw RENEWAL
James D CaudyRussiaAnna Fali PROPOSAL
David V GillianArgentinaIvan Magalhaes NEW
Morrow S VocelkaGermanyAmy Elsner RENEWAL
Clifford B MaletIndiaAmy Elsner UNQUALIFIED
Arvin B GlickArgentinaXuxue Feng QUALIFIED
Nicolas U RutaSpainBernardo Dominic QUALIFIED
Smith A ButtItalyAmy Elsner NEW
Aruna Q PoquetteSpainStephen Shaw NEGOTIATION
Chavez K BriddickRussiaElwin Sharvill PROPOSAL
Leon Q CampainCanadaElwin Sharvill UNQUALIFIED
Rodrigues Y DilliardGermanyStephen Shaw PROPOSAL
Sinclair B PoquetteItalyStephen Shaw NEGOTIATION
Smith U FollerFranceOnyama Limba QUALIFIED
Adams R CampainJapanBernardo Dominic UNQUALIFIED
Antonio I CaldareraBrazilAmy Elsner QUALIFIED
Chavez U GlickBrazilXuxue Feng NEW
Kaitlin X CampainRussiaIoni Bowcher PROPOSAL
Mujtaba T SaylorsUnited KingdomAmy Elsner PROPOSAL
Misaki J VocelkaGermanyAmy Elsner QUALIFIED
Costa X WhobreyUnited KingdomXuxue Feng NEW
Cody O MarrierUnited KingdomBernardo Dominic NEGOTIATION
Emily W TollnerFranceBernardo Dominic PROPOSAL
David F OldroydBrazilBernardo Dominic NEW
Mujtaba H DilliardUnited KingdomXuxue Feng NEW
Claire Y GillianItalyIoni Bowcher QUALIFIED
Silvio N BowleyJapanIoni Bowcher UNQUALIFIED
Isabel J VenereUnited KingdomIoni Bowcher RENEWAL
Mayumi Z RimItalyOnyama Limba NEGOTIATION
Antonio L BowleyRussiaAmy Elsner RENEWAL
Frozen Columns
Name
Munro Q Perin
Octavia D Vocelka
Murillo V Ostrosky
Kadeem F Sergi
Ricardo O Nicka
Morrow Z Garufi
Jones Q Stenseth
Munro N Gaucho
Aditya A Tollner
Munro X Bolognia
Isabel V Doe
Clifford H Darakjy
Ivar R Slusarski
Ashley K Nestle
Ashley N Nicka
Greenwood G Whobrey
Leja E Stockham
Smith E Campain
Ivar G Gaucho
Murillo F Royster
Mayumi A Morasca
Antonio X Foller
Jones Z Rulapaugh
Claire Q Rim
Wickens M Amigon
Johnson H Bolognia
David K Schemmer
Stacey I Marrier
Octavia S Slusarski
Morrow V Glick
Smith K Chui
Arvin K Waycott
Aika T Perin
Aika D Nestle
Nicolas P Malet
David G Malet
Smith E Nestle
Morrow E Saylors
Juan N Slusarski
Greenwood M Ostrosky
Jefferson F Morasca
Mayumi P Darakjy
Arvin Z Saylors
Cody Z Shinko
Izzy I Bowley
Morrow F Ostrosky
Maria L Slusarski
Arvin H Caldarera
Greenwood B Caldarera
Julie H Stenseth
IdCountryDate
1000France2026-09-05
1001Spain2026-09-22
1002Canada2026-09-25
1003United Kingdom2026-09-20
1004France2026-09-05
1005Canada2026-09-17
1006Germany2026-09-01
1007Russia2026-09-18
1008Japan2026-08-31
1009Germany2026-09-13
1010Australia2026-09-05
1011Argentina2026-08-29
1012Italy2026-09-19
1013Italy2026-09-19
1014Canada2026-09-14
1015Italy2026-09-25
1016India2026-09-07
1017Brazil2026-09-27
1018Spain2026-09-17
1019Germany2026-09-14
1020Australia2026-09-23
1021Spain2026-09-18
1022Brazil2026-09-18
1023Russia2026-09-23
1024Spain2026-09-24
1025Japan2026-09-22
1026Brazil2026-09-04
1027Argentina2026-09-15
1028Japan2026-09-13
1029Germany2026-09-01
1030Argentina2026-09-06
1031Japan2026-09-25
1032Australia2026-09-12
1033United Kingdom2026-09-01
1034Germany2026-09-25
1035United Kingdom2026-09-23
1036Argentina2026-08-29
1037Japan2026-09-10
1038India2026-09-06
1039France2026-09-13
1040Japan2026-09-22
1041France2026-09-17
1042Spain2026-09-22
1043Italy2026-08-29
1044Canada2026-08-30
1045India2026-09-22
1046Russia2026-09-10
1047Russia2026-09-20
1048India2026-09-24
1049Argentina2026-09-12

On-Demand Data

NameIdCountryDate
James A Bolognia1000Germany2026-09-25
Greenwood F Malet1001United Kingdom2026-09-22
Emily O Rulapaugh1002Australia2026-09-06
Aruna R Gillian1003Japan2026-09-13
Ivar R Ostrosky1004Germany2026-09-03
Wickens J Caudy1005Germany2026-09-24
Isabel W Saylors1006Canada2026-09-27
Maisha F Saylors1007Argentina2026-09-15
Misaki B Gaucho1008India2026-09-23
Faith E Flosi1009Japan2026-09-05
Jeanfrancois R Inouye1010Russia2026-09-26
Aika C Poquette1011Japan2026-09-05
Darci C Tollner1012Canada2026-09-09
Cody W Rulapaugh1013Australia2026-09-19
Rodrigues S Kolmetz1014Russia2026-09-14
Aruna L Whobrey1015Russia2026-09-13
Mujtaba J Ferencz1016Italy2026-09-06
Wickens D Perin1017France2026-08-30
Murillo C Royster1018Australia2026-09-24
Misaki T Royster1019Canada2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood Y AlbaresBrazilOnyama Limba QUALIFIED
Alejandro R VenereItalyOnyama Limba UNQUALIFIED
Jennifer M IturbideSpainXuxue Feng RENEWAL
Alejandro E FigeroaSpainAnna Fali NEGOTIATION
Leon S RoysterGermanyOnyama Limba QUALIFIED
Claire F WieserUnited KingdomOnyama Limba RENEWAL
Jeanfrancois R DilliardIndiaIoni Bowcher RENEWAL
Julie J WaycottAustraliaAmy Elsner QUALIFIED
Mayumi R FerenczJapanAsiya Javayant NEGOTIATION
Maisha S MaletCanadaIvan Magalhaes QUALIFIED
Kadeem F WieserFranceAsiya Javayant RENEWAL
Johnson M PerinSpainXuxue Feng RENEWAL
Johnson C FerenczJapanIvan Magalhaes UNQUALIFIED
Rodrigues A CaldareraArgentinaElwin Sharvill UNQUALIFIED
Mujtaba I InouyeJapanOnyama Limba RENEWAL
Jones F RoysterIndiaIoni Bowcher NEGOTIATION
Mujtaba E ButtIndiaOnyama Limba NEW
Jones B CampainArgentinaStephen Shaw RENEWAL
Munro M MarrierFranceIvan Magalhaes RENEWAL
Mujtaba U KolmetzGermanyElwin Sharvill QUALIFIED
Nicolas M GauchoItalyBernardo Dominic NEW
Aika S WaycottIndiaAsiya Javayant NEGOTIATION
Jeanfrancois E CaldareraItalyStephen Shaw UNQUALIFIED
Murillo Z FerenczSpainAsiya Javayant NEW
Faith W CampainFranceAsiya Javayant RENEWAL
Johnson B NickaGermanyElwin Sharvill NEW
Sinclair A BologniaFranceAnna Fali RENEWAL
Silvio T FlosiIndiaAmy Elsner QUALIFIED
Costa S CaudyIndiaAsiya Javayant RENEWAL
Ricardo C StensethItalyXuxue Feng PROPOSAL
Rodrigues G StensethIndiaElwin Sharvill UNQUALIFIED
Costa H OldroydSpainOnyama Limba QUALIFIED
Juan P PoquetteUnited KingdomAsiya Javayant NEGOTIATION
Maria H MacleadFranceIvan Magalhaes RENEWAL
Jefferson V NickaBrazilAmy Elsner QUALIFIED
Aruna K StensethRussiaXuxue Feng PROPOSAL
Smith I AlbaresJapanAsiya Javayant NEGOTIATION
Leon A ShinkoAustraliaAsiya Javayant RENEWAL
Izzy P VocelkaSpainIvan Magalhaes NEGOTIATION
Mayumi Z CaldareraRussiaAsiya Javayant 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>