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
Claire O RutaArgentinaElwin Sharvill NEW
Aditya A FlosiItalyIvan Magalhaes QUALIFIED
Julie R MarrierBrazilXuxue Feng NEGOTIATION
Smith H CampainCanadaAnna Fali NEGOTIATION
Izzy L MorascaIndiaAmy Elsner PROPOSAL
Misaki X StockhamAustraliaStephen Shaw PROPOSAL
Johnson B SergiBrazilXuxue Feng NEW
Misaki I SlusarskiGermanyStephen Shaw RENEWAL
Misaki I CaldareraSpainXuxue Feng PROPOSAL
Arvin W GillianItalyIvan Magalhaes RENEWAL
Ricardo R FerenczUnited KingdomOnyama Limba NEGOTIATION
Mujtaba M AlbaresItalyOnyama Limba NEGOTIATION
Jennifer F GarufiGermanyStephen Shaw NEW
Ricardo R BologniaSpainElwin Sharvill NEW
Morrow O BriddickItalyStephen Shaw PROPOSAL
Claire O KuskoFranceBernardo Dominic QUALIFIED
Costa Q KuskoGermanyAmy Elsner PROPOSAL
Julie N MorascaAustraliaAsiya Javayant NEW
Salvatore M CampainCanadaIvan Magalhaes NEGOTIATION
Munro M AmigonJapanIvan Magalhaes PROPOSAL
Johnson D RutaCanadaXuxue Feng PROPOSAL
Johnson M OldroydGermanyAsiya Javayant UNQUALIFIED
Johnson X PaprockiUnited KingdomXuxue Feng RENEWAL
Cody Q RulapaughRussiaIoni Bowcher NEGOTIATION
Misaki O FigeroaBrazilIoni Bowcher UNQUALIFIED
Ashley K MorascaBrazilIoni Bowcher UNQUALIFIED
David F BowleyCanadaAmy Elsner RENEWAL
Octavia L StockhamItalyXuxue Feng UNQUALIFIED
Costa B AlbaresIndiaStephen Shaw NEW
Claire A CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Emily R VenereIndiaIoni Bowcher NEW
Mayumi V VenereFranceXuxue Feng UNQUALIFIED
Faith D FlosiRussiaElwin Sharvill PROPOSAL
Faith N GlickSpainIvan Magalhaes NEW
Arvin L FigeroaItalyIvan Magalhaes RENEWAL
Ricardo Z FlosiSpainElwin Sharvill UNQUALIFIED
Stacey X PaprockiItalyAnna Fali RENEWAL
Clifford A CaldareraArgentinaStephen Shaw PROPOSAL
Faith F FerenczSpainIvan Magalhaes PROPOSAL
Leja E DoeCanadaIoni Bowcher PROPOSAL
Cody D MarrierArgentinaElwin Sharvill RENEWAL
Darci J KolmetzAustraliaAmy Elsner NEW
Nicolas R GlickJapanBernardo Dominic NEW
Jefferson J RutaUnited KingdomAmy Elsner NEW
Kaitlin J PaprockiGermanyAnna Fali NEGOTIATION
Jeanfrancois V MaletIndiaIoni Bowcher PROPOSAL
Johnson E RutaIndiaAmy Elsner QUALIFIED
Octavia B RimJapanStephen Shaw NEW
Chavez Q StockhamRussiaAmy Elsner PROPOSAL
Tony B MaletBrazilOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia A VocelkaBrazilElwin Sharvill NEW
Clifford Z KuskoFranceAsiya Javayant NEW
Ivar L OstroskySpainOnyama Limba NEGOTIATION
James O FlosiCanadaBernardo Dominic NEGOTIATION
Rodrigues A NestleGermanyAnna Fali UNQUALIFIED
Claire A FlosiUnited KingdomElwin Sharvill NEW
Alejandro J OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Murillo P SchemmerAustraliaAmy Elsner UNQUALIFIED
Stacey V FollerCanadaElwin Sharvill PROPOSAL
Arvin N VocelkaAustraliaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith D StockhamCanada2026-08-29Printing Dimensions PROPOSAL91Ivan Magalhaes
1001Kaitlin P StockhamFrance2026-08-31Printing Dimensions UNQUALIFIED7Ioni Bowcher
1002Darci X BriddickAustralia2026-09-02Rousseaux, Michael Esq QUALIFIED82Anna Fali
1003Smith H VenereFrance2026-08-22King, Christopher A Esq QUALIFIED51Stephen Shaw
1004Francesco U CaldareraSpain2026-08-29King, Christopher A Esq UNQUALIFIED79Amy Elsner
1005Faith E InouyeSpain2026-08-28Buckley Miller Wright QUALIFIED49Amy Elsner
1006Adams R GlickGermany2026-08-30Benton, John B Jr UNQUALIFIED87Amy Elsner
1007Munro I MacleadUnited Kingdom2026-09-05Chapman, Ross E Esq UNQUALIFIED23Elwin Sharvill
1008Nicolas C TollnerArgentina2026-09-04Chemel, James L Cpa RENEWAL89Ioni Bowcher
1009Aika Q ShinkoBrazil2026-09-09King, Christopher A Esq NEGOTIATION15Onyama Limba
1010Rodrigues B DilliardCanada2026-09-03Benton, John B Jr PROPOSAL96Amy Elsner
1011David I MaletFrance2026-09-18Feiner Bros PROPOSAL41Xuxue Feng
1012Deepesh S WieserUnited Kingdom2026-08-29Rangoni Of Florence RENEWAL28Stephen Shaw
1013Claire P RoysterAustralia2026-09-02Chanay, Jeffrey A Esq UNQUALIFIED29Asiya Javayant
1014Octavia X FlosiGermany2026-08-28Buckley Miller Wright QUALIFIED0Ivan Magalhaes
1015Ashley G WhobreyAustralia2026-09-02Chemel, James L Cpa QUALIFIED90Asiya Javayant
1016Claire I StensethRussia2026-09-02Truhlar And Truhlar Attys NEW92Ioni Bowcher
1017Faith M BriddickArgentina2026-08-22Commercial Press NEW8Xuxue Feng
1018Juan K PaprockiGermany2026-09-16Truhlar And Truhlar Attys UNQUALIFIED82Elwin Sharvill
1019Munro R BriddickIndia2026-08-21Rousseaux, Michael Esq QUALIFIED47Bernardo Dominic
1020Chavez B FigeroaArgentina2026-08-31Commercial Press UNQUALIFIED99Onyama Limba
1021Julie G MaletFrance2026-08-21Rousseaux, Michael Esq NEGOTIATION48Onyama Limba
1022Ricardo U DilliardArgentina2026-08-29Rousseaux, Michael Esq NEW98Amy Elsner
1023Kadeem I CaldareraSpain2026-09-02King, Christopher A Esq UNQUALIFIED96Bernardo Dominic
1024Murillo Q RutaIndia2026-08-23Feiner Bros UNQUALIFIED82Anna Fali
1025Octavia G FerenczJapan2026-09-15Feiner Bros UNQUALIFIED1Bernardo Dominic
1026Maria Z AlbaresUnited Kingdom2026-08-31Benton, John B Jr UNQUALIFIED83Onyama Limba
1027Tony B ShinkoItaly2026-09-07Printing Dimensions QUALIFIED99Xuxue Feng
1028Jeanfrancois I RoysterAustralia2026-08-25Rousseaux, Michael Esq PROPOSAL63Bernardo Dominic
1029Leon F MacleadSpain2026-09-05Rangoni Of Florence UNQUALIFIED89Ioni Bowcher
1030Aditya L CampainArgentina2026-09-10Rousseaux, Michael Esq UNQUALIFIED93Ivan Magalhaes
1031Aruna F OldroydItaly2026-08-23Rangoni Of Florence RENEWAL16Elwin Sharvill
1032Darci F GillianFrance2026-09-03Buckley Miller Wright NEW61Stephen Shaw
1033Leon C CaldareraItaly2026-08-30Benton, John B Jr NEGOTIATION74Amy Elsner
1034Salvatore H StensethIndia2026-09-01Chapman, Ross E Esq UNQUALIFIED32Anna Fali
1035Kaitlin Z SchemmerGermany2026-09-15King, Christopher A Esq UNQUALIFIED78Stephen Shaw
1036Leon D MaletUnited Kingdom2026-08-29Buckley Miller Wright NEGOTIATION59Ivan Magalhaes
1037Leja D InouyeAustralia2026-09-14Dorl, James J Esq QUALIFIED38Onyama Limba
1038Julie M ButtFrance2026-09-12Truhlar And Truhlar Attys PROPOSAL42Anna Fali
1039Jennifer F AmigonSpain2026-08-24Feiner Bros UNQUALIFIED43Anna Fali
1040Emily M MarrierArgentina2026-08-24Printing Dimensions UNQUALIFIED45Elwin Sharvill
1041Chavez Z NickaBrazil2026-09-02Truhlar And Truhlar Attys PROPOSAL56Amy Elsner
1042Kaitlin Z GarufiFrance2026-09-06Buckley Miller Wright PROPOSAL6Onyama Limba
1043Ashley K MaletGermany2026-09-07Feltz Printing Service PROPOSAL92Xuxue Feng
1044Antonio A GlickRussia2026-08-28Benton, John B Jr NEW23Bernardo Dominic
1045Antonio H AlbaresUnited Kingdom2026-08-21King, Christopher A Esq RENEWAL45Stephen Shaw
1046Aika N DarakjyFrance2026-09-15Morlong Associates RENEWAL45Amy Elsner
1047Costa H BologniaSpain2026-09-18Chemel, James L Cpa UNQUALIFIED51Elwin Sharvill
1048Octavia X TollnerCanada2026-08-24Buckley Miller Wright UNQUALIFIED75Elwin Sharvill
1049Mujtaba S MaletItaly2026-09-03Morlong Associates QUALIFIED69Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Cody T CaudyFranceAmy Elsner NEGOTIATION
Clifford E DilliardItalyAmy Elsner QUALIFIED
Johnson X OstroskyUnited KingdomXuxue Feng RENEWAL
Faith X RutaCanadaAsiya Javayant PROPOSAL
Alejandro I VenereCanadaAnna Fali UNQUALIFIED
Aruna J RutaArgentinaIvan Magalhaes UNQUALIFIED
Ashley L NickaAustraliaElwin Sharvill QUALIFIED
Adams J MaletItalyIoni Bowcher RENEWAL
Rodrigues B InouyeFranceIoni Bowcher RENEWAL
Jennifer Q PerinJapanAmy Elsner NEGOTIATION
Johnson J WaycottArgentinaIoni Bowcher QUALIFIED
Costa B BriddickRussiaOnyama Limba PROPOSAL
Salvatore L PaprockiBrazilAnna Fali UNQUALIFIED
Stacey Z AmigonIndiaBernardo Dominic UNQUALIFIED
Ashley V WieserSpainElwin Sharvill QUALIFIED
Mujtaba R MarrierSpainAmy Elsner PROPOSAL
Claire Z VenereJapanXuxue Feng QUALIFIED
Costa X KuskoGermanyOnyama Limba PROPOSAL
Jones Y RulapaughIndiaIvan Magalhaes RENEWAL
Greenwood D ButtGermanyAnna Fali NEGOTIATION
Faith E CaldareraIndiaIoni Bowcher QUALIFIED
Morrow U FigeroaFranceBernardo Dominic NEW
Aditya N MorascaGermanyBernardo Dominic QUALIFIED
Octavia D RutaCanadaAsiya Javayant UNQUALIFIED
Rodrigues O StensethAustraliaAsiya Javayant NEW
Juan I OstroskyCanadaStephen Shaw NEGOTIATION
Jeanfrancois T VenereAustraliaStephen Shaw QUALIFIED
Juan T VocelkaArgentinaElwin Sharvill NEW
Leja I StockhamAustraliaAmy Elsner NEGOTIATION
Darci T MaletGermanyXuxue Feng PROPOSAL
Juan B BriddickGermanyOnyama Limba UNQUALIFIED
Kadeem B MorascaItalyAmy Elsner PROPOSAL
Chavez T SaylorsIndiaStephen Shaw UNQUALIFIED
Claire T MarrierJapanAnna Fali NEGOTIATION
Alejandro Q OstroskyIndiaAsiya Javayant UNQUALIFIED
Ricardo W MorascaRussiaStephen Shaw RENEWAL
Aruna K ShinkoAustraliaStephen Shaw RENEWAL
Costa X RoysterAustraliaIvan Magalhaes QUALIFIED
Aruna X BowleyCanadaAnna Fali RENEWAL
Morrow L RoysterBrazilIvan Magalhaes QUALIFIED
Morrow Q SergiIndiaElwin Sharvill PROPOSAL
Claire I CaudyRussiaOnyama Limba RENEWAL
Maria W StensethItalyAnna Fali PROPOSAL
Murillo N WhobreyJapanElwin Sharvill QUALIFIED
Jennifer C MaletCanadaIoni Bowcher NEW
Jennifer X CaldareraRussiaElwin Sharvill NEW
Cody B NestleSpainAmy Elsner NEGOTIATION
Kadeem C CampainGermanyIvan Magalhaes UNQUALIFIED
Ivar J StensethAustraliaIvan Magalhaes QUALIFIED
Nicolas F RoysterItalyElwin Sharvill PROPOSAL
Frozen Columns
Name
Costa F Oldroyd
Tony G Albares
Smith O Gillian
Darci R Poquette
Aika S Whobrey
Mujtaba R Slusarski
Tony J Glick
Aditya G Perin
Faith Y Royster
Munro E Kolmetz
Rodrigues B Figeroa
Greenwood I Shinko
Leon E Briddick
Stacey K Ruta
Aditya T Bolognia
Munro T Caudy
Wickens B Oldroyd
Sinclair M Royster
Leon H Ostrosky
Mayumi M Tollner
Arvin O Nicka
Nicolas G Stockham
Kadeem J Doe
James O Campain
Aika X Ferencz
Johnson W Malet
Leon H Kolmetz
Leja X Malet
Greenwood Y Vocelka
Faith T Marrier
Smith I Nicka
Kadeem W Albares
Maisha K Campain
Ivar F Inouye
David B Sergi
David X Garufi
David F Venere
Murillo W Inouye
Claire U Tollner
Morrow K Wieser
Johnson B Tollner
Juan S Stockham
Silvio W Foller
Antonio Q Saylors
Kaitlin B Saylors
Jones R Doe
Smith Q Schemmer
Kaitlin K Slusarski
Francesco C Dilliard
Greenwood D Caudy
IdCountryDate
1000Italy2026-08-21
1001Brazil2026-08-27
1002India2026-09-15
1003Spain2026-08-26
1004Canada2026-09-16
1005Brazil2026-09-05
1006France2026-09-16
1007Spain2026-09-10
1008Argentina2026-09-19
1009Russia2026-09-19
1010Australia2026-08-30
1011Italy2026-08-22
1012Japan2026-08-30
1013United Kingdom2026-09-15
1014Australia2026-08-26
1015Germany2026-08-22
1016Italy2026-09-04
1017Japan2026-09-08
1018India2026-09-04
1019Australia2026-09-11
1020Russia2026-09-13
1021Spain2026-09-06
1022France2026-08-29
1023Italy2026-09-14
1024Australia2026-09-15
1025Spain2026-09-05
1026Brazil2026-09-05
1027United Kingdom2026-08-22
1028Italy2026-09-03
1029Italy2026-09-05
1030France2026-09-17
1031Argentina2026-09-05
1032Spain2026-09-14
1033India2026-08-25
1034Germany2026-09-01
1035United Kingdom2026-09-07
1036India2026-08-24
1037Canada2026-08-28
1038United Kingdom2026-09-11
1039India2026-08-23
1040India2026-08-21
1041Australia2026-08-30
1042Canada2026-08-21
1043Argentina2026-09-18
1044Australia2026-08-25
1045Russia2026-09-14
1046Canada2026-08-21
1047Italy2026-08-27
1048Russia2026-09-18
1049Spain2026-09-02

On-Demand Data

NameIdCountryDate
Leon Q Bowley1000Japan2026-09-01
Salvatore B Iturbide1001France2026-08-27
Darci Z Rim1002United Kingdom2026-08-23
Smith P Inouye1003Argentina2026-09-11
Francesco U Figeroa1004Australia2026-09-07
Deepesh B Flosi1005Spain2026-08-24
Faith P Dilliard1006Japan2026-09-13
Emily H Perin1007France2026-09-19
Leja O Doe1008Canada2026-09-18
Kaitlin E Kolmetz1009Germany2026-09-15
Leon T Caldarera1010Japan2026-09-16
Cody O Kusko1011Argentina2026-08-31
Morrow C Gaucho1012Japan2026-09-13
Rodrigues H Rulapaugh1013Canada2026-08-21
Claire D Foller1014Italy2026-08-31
Leon O Tollner1015France2026-08-28
Murillo S Foller1016Brazil2026-09-19
Alejandro E Bolognia1017Australia2026-09-15
Kaitlin Y Chui1018India2026-09-07
Morrow C Rim1019India2026-08-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez B VocelkaGermanyAmy Elsner QUALIFIED
Murillo V GarufiArgentinaIvan Magalhaes QUALIFIED
Rodrigues T DarakjyBrazilXuxue Feng RENEWAL
Kadeem I CaldareraIndiaIoni Bowcher NEW
James W CaldareraRussiaElwin Sharvill UNQUALIFIED
Claire E GillianBrazilAsiya Javayant PROPOSAL
Leja R OldroydGermanyOnyama Limba UNQUALIFIED
Morrow C NickaJapanElwin Sharvill NEGOTIATION
Salvatore V VenereItalyIvan Magalhaes RENEWAL
Alejandro I MacleadArgentinaIvan Magalhaes RENEWAL
Ricardo X SlusarskiUnited KingdomOnyama Limba UNQUALIFIED
Isabel V MorascaArgentinaXuxue Feng NEW
Ricardo O OstroskyFranceElwin Sharvill NEGOTIATION
Stacey N MorascaSpainBernardo Dominic PROPOSAL
Silvio D MorascaJapanXuxue Feng NEW
Claire X InouyeIndiaElwin Sharvill RENEWAL
James D PoquetteBrazilIoni Bowcher PROPOSAL
Kadeem F GarufiArgentinaAnna Fali RENEWAL
Alejandro N KuskoArgentinaXuxue Feng NEGOTIATION
Deepesh U KolmetzIndiaElwin Sharvill NEW
Izzy P OstroskyIndiaIoni Bowcher UNQUALIFIED
Ivar I RutaRussiaIvan Magalhaes QUALIFIED
Mayumi O BologniaIndiaAnna Fali UNQUALIFIED
Silvio I AlbaresRussiaIoni Bowcher QUALIFIED
Silvio J CaudySpainXuxue Feng RENEWAL
Alejandro Z DilliardBrazilOnyama Limba RENEWAL
Mujtaba A WhobreyItalyXuxue Feng NEGOTIATION
Kadeem V KuskoJapanAnna Fali RENEWAL
Sinclair Z NestleRussiaIoni Bowcher QUALIFIED
Stacey P BowleyAustraliaStephen Shaw NEGOTIATION
Francesco M RulapaughFranceOnyama Limba PROPOSAL
Salvatore V FlosiRussiaAsiya Javayant NEW
Kadeem P CaldareraGermanyIoni Bowcher PROPOSAL
Antonio A OstroskyUnited KingdomBernardo Dominic RENEWAL
Arvin I OstroskyArgentinaElwin Sharvill UNQUALIFIED
Kadeem Z ButtBrazilXuxue Feng PROPOSAL
Smith W OstroskyAustraliaBernardo Dominic RENEWAL
Tony K DilliardCanadaAmy Elsner NEGOTIATION
Silvio X TollnerIndiaElwin Sharvill NEGOTIATION
Deepesh X GarufiArgentinaStephen Shaw PROPOSAL

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