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
Mujtaba I MarrierGermanyAmy Elsner RENEWAL
Aditya J MacleadIndiaIoni Bowcher UNQUALIFIED
Jones P WieserFranceIvan Magalhaes PROPOSAL
Julie B CampainItalyBernardo Dominic NEGOTIATION
Clifford T FollerIndiaAmy Elsner QUALIFIED
Clifford J FigeroaFranceAnna Fali NEGOTIATION
Octavia B DarakjyAustraliaIvan Magalhaes NEW
Aruna Q DilliardBrazilBernardo Dominic RENEWAL
Misaki B SaylorsRussiaXuxue Feng NEW
Greenwood A ChuiArgentinaStephen Shaw NEW
Rodrigues A FigeroaRussiaIvan Magalhaes UNQUALIFIED
David P SaylorsGermanyIvan Magalhaes QUALIFIED
David Y DilliardUnited KingdomAnna Fali NEGOTIATION
Clifford G KuskoItalyIvan Magalhaes UNQUALIFIED
Johnson H SlusarskiBrazilIoni Bowcher UNQUALIFIED
Nicolas S AlbaresGermanyBernardo Dominic PROPOSAL
Juan F ShinkoJapanOnyama Limba UNQUALIFIED
Jeanfrancois L StockhamRussiaIvan Magalhaes QUALIFIED
Jones F FigeroaCanadaElwin Sharvill PROPOSAL
Kaitlin G DarakjyIndiaAmy Elsner PROPOSAL
Izzy L MarrierJapanAmy Elsner NEW
Ivar L GlickFranceAsiya Javayant PROPOSAL
Nicolas R MacleadBrazilXuxue Feng NEW
Ricardo S StockhamCanadaBernardo Dominic NEW
Munro R VocelkaCanadaXuxue Feng NEW
Ricardo T OstroskyJapanOnyama Limba QUALIFIED
Ivar D RulapaughCanadaOnyama Limba PROPOSAL
Clifford M ShinkoArgentinaXuxue Feng PROPOSAL
Tony X FollerArgentinaOnyama Limba UNQUALIFIED
Leon F KuskoAustraliaXuxue Feng RENEWAL
Murillo W FollerAustraliaOnyama Limba UNQUALIFIED
Nicolas P CampainUnited KingdomAsiya Javayant UNQUALIFIED
Chavez J BologniaJapanAmy Elsner RENEWAL
Ivar E RulapaughAustraliaIoni Bowcher NEW
Sinclair F MarrierJapanAnna Fali QUALIFIED
Johnson W FollerFranceAsiya Javayant PROPOSAL
Cody P SergiItalyAmy Elsner NEGOTIATION
David Y MacleadBrazilOnyama Limba PROPOSAL
Aruna Y DoeGermanyBernardo Dominic RENEWAL
James Q MarrierGermanyElwin Sharvill PROPOSAL
Murillo M MarrierRussiaAsiya Javayant NEGOTIATION
Jefferson L BologniaCanadaBernardo Dominic PROPOSAL
Julie A InouyeRussiaAmy Elsner QUALIFIED
Darci P VocelkaSpainStephen Shaw NEW
Francesco P MorascaAustraliaIvan Magalhaes QUALIFIED
Aika D PerinUnited KingdomAnna Fali QUALIFIED
Clifford W WaycottItalyAsiya Javayant UNQUALIFIED
Tony D BriddickItalyXuxue Feng NEW
Tony Y DarakjyArgentinaAnna Fali UNQUALIFIED
Greenwood T DilliardItalyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki B DilliardRussiaAmy Elsner PROPOSAL
Francesco E VenereFranceAsiya Javayant PROPOSAL
Maisha U TollnerUnited KingdomIvan Magalhaes QUALIFIED
Nicolas Y FlosiJapanStephen Shaw NEGOTIATION
Arvin R WieserGermanyElwin Sharvill QUALIFIED
Chavez A OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Faith C BologniaIndiaElwin Sharvill RENEWAL
James G KuskoJapanOnyama Limba PROPOSAL
Mujtaba E SchemmerAustraliaOnyama Limba RENEWAL
Maria Z VocelkaIndiaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa M SaylorsAustralia2026-10-11Chapman, Ross E Esq NEW43Amy Elsner
1001Johnson E MaletBrazil2026-11-04Dorl, James J Esq PROPOSAL49Onyama Limba
1002Darci N OstroskyItaly2026-10-08Buckley Miller Wright QUALIFIED22Elwin Sharvill
1003Adams O FerenczCanada2026-10-08Rangoni Of Florence NEGOTIATION6Stephen Shaw
1004Munro Y MaletIndia2026-10-15Truhlar And Truhlar Attys NEW88Amy Elsner
1005Chavez U GillianArgentina2026-10-26Rangoni Of Florence PROPOSAL73Ivan Magalhaes
1006Ivar I KolmetzAustralia2026-10-12Morlong Associates PROPOSAL83Ivan Magalhaes
1007Jefferson E KolmetzFrance2026-10-14Chapman, Ross E Esq QUALIFIED26Ioni Bowcher
1008Deepesh Q TollnerIndia2026-10-26Buckley Miller Wright QUALIFIED41Amy Elsner
1009Ivar Z VocelkaBrazil2026-10-27Feiner Bros PROPOSAL94Xuxue Feng
1010Maisha A DoeItaly2026-10-25Buckley Miller Wright UNQUALIFIED47Ioni Bowcher
1011Sinclair F VenereFrance2026-10-09Morlong Associates PROPOSAL14Amy Elsner
1012Claire P OstroskyRussia2026-10-24Buckley Miller Wright QUALIFIED86Stephen Shaw
1013Aditya T WhobreyBrazil2026-10-15Feltz Printing Service NEGOTIATION69Elwin Sharvill
1014Kadeem N OstroskyRussia2026-10-10Rousseaux, Michael Esq QUALIFIED27Asiya Javayant
1015Emily U OstroskyArgentina2026-10-19Rangoni Of Florence UNQUALIFIED48Stephen Shaw
1016Clifford X CaldareraAustralia2026-10-10Chanay, Jeffrey A Esq UNQUALIFIED54Bernardo Dominic
1017Kaitlin X RulapaughItaly2026-10-24Benton, John B Jr NEGOTIATION37Xuxue Feng
1018Jeanfrancois I IturbideRussia2026-11-04Chanay, Jeffrey A Esq QUALIFIED83Elwin Sharvill
1019James Y WieserFrance2026-10-10Truhlar And Truhlar Attys PROPOSAL55Amy Elsner
1020Nicolas Z OldroydArgentina2026-10-12Chemel, James L Cpa RENEWAL42Ivan Magalhaes
1021Jeanfrancois Y PoquetteGermany2026-10-23Chanay, Jeffrey A Esq RENEWAL19Xuxue Feng
1022Kaitlin E StensethGermany2026-10-24Feltz Printing Service NEW15Anna Fali
1023Stacey H DilliardSpain2026-10-16King, Christopher A Esq PROPOSAL31Elwin Sharvill
1024Juan E SergiArgentina2026-10-28Chanay, Jeffrey A Esq NEGOTIATION13Amy Elsner
1025Aika D VenereCanada2026-10-13Feltz Printing Service NEW59Stephen Shaw
1026Ashley G FollerSpain2026-10-20Chanay, Jeffrey A Esq NEGOTIATION79Amy Elsner
1027Costa Y VenereItaly2026-10-25Feltz Printing Service NEGOTIATION47Asiya Javayant
1028Octavia X GillianArgentina2026-10-18Printing Dimensions PROPOSAL86Bernardo Dominic
1029Maria M KuskoItaly2026-11-03Chapman, Ross E Esq RENEWAL54Onyama Limba
1030Jeanfrancois L CaudyItaly2026-11-01Rangoni Of Florence PROPOSAL82Anna Fali
1031Emily M SchemmerJapan2026-11-03Rousseaux, Michael Esq QUALIFIED52Onyama Limba
1032Aika Y GauchoFrance2026-10-18Truhlar And Truhlar Attys QUALIFIED93Anna Fali
1033Chavez U WaycottItaly2026-10-20Morlong Associates UNQUALIFIED27Anna Fali
1034Mujtaba Y WieserJapan2026-10-09Buckley Miller Wright RENEWAL20Ivan Magalhaes
1035Darci X NickaRussia2026-10-07Rousseaux, Michael Esq NEW84Xuxue Feng
1036Jeanfrancois V FlosiUnited Kingdom2026-10-30Morlong Associates PROPOSAL68Anna Fali
1037Francesco I NickaGermany2026-10-19Buckley Miller Wright NEGOTIATION14Ioni Bowcher
1038Izzy P StensethGermany2026-11-01Morlong Associates NEGOTIATION74Elwin Sharvill
1039Kadeem S FollerItaly2026-10-21Rousseaux, Michael Esq PROPOSAL3Asiya Javayant
1040Johnson Y InouyeArgentina2026-10-26Buckley Miller Wright NEW64Onyama Limba
1041Jeanfrancois Y MacleadBrazil2026-10-08Benton, John B Jr RENEWAL75Anna Fali
1042Silvio R NickaCanada2026-10-08Dorl, James J Esq NEW63Ivan Magalhaes
1043Jones B MorascaItaly2026-10-25Printing Dimensions QUALIFIED33Anna Fali
1044David L GlickArgentina2026-10-27Truhlar And Truhlar Attys NEW30Xuxue Feng
1045Jones B AlbaresJapan2026-10-21Dorl, James J Esq NEW56Xuxue Feng
1046Jefferson Z WhobreySpain2026-10-17Chemel, James L Cpa QUALIFIED79Asiya Javayant
1047Chavez H DoeItaly2026-10-14King, Christopher A Esq QUALIFIED91Xuxue Feng
1048Aruna Y KolmetzGermany2026-10-23Rangoni Of Florence NEW3Xuxue Feng
1049Sinclair U AlbaresCanada2026-10-12Truhlar And Truhlar Attys NEW63Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba I CaudyFranceAsiya Javayant UNQUALIFIED
Tony D IturbideJapanElwin Sharvill NEGOTIATION
Maria X DilliardUnited KingdomOnyama Limba QUALIFIED
Chavez L WaycottIndiaBernardo Dominic RENEWAL
Wickens P RulapaughSpainElwin Sharvill QUALIFIED
Kadeem I OstroskyBrazilElwin Sharvill UNQUALIFIED
Mayumi K TollnerBrazilAsiya Javayant PROPOSAL
Costa L DarakjyGermanyElwin Sharvill RENEWAL
Chavez F GillianCanadaBernardo Dominic NEGOTIATION
Maria V SlusarskiGermanyOnyama Limba RENEWAL
Cody J PaprockiFranceOnyama Limba UNQUALIFIED
Ashley Q GauchoItalyIoni Bowcher QUALIFIED
Arvin L SlusarskiSpainOnyama Limba UNQUALIFIED
Smith K AmigonAustraliaIoni Bowcher NEGOTIATION
Murillo O OstroskyUnited KingdomXuxue Feng UNQUALIFIED
Alejandro F RulapaughArgentinaAsiya Javayant RENEWAL
Cody W TollnerArgentinaIvan Magalhaes PROPOSAL
Ricardo N PoquetteFranceIoni Bowcher NEW
Darci P MorascaFranceElwin Sharvill QUALIFIED
Darci Y IturbideIndiaAsiya Javayant PROPOSAL
Rodrigues I AmigonArgentinaStephen Shaw NEGOTIATION
Munro Q BologniaJapanStephen Shaw RENEWAL
Murillo V GauchoItalyIvan Magalhaes NEGOTIATION
Isabel B SchemmerGermanyOnyama Limba NEW
Salvatore Y CampainCanadaOnyama Limba PROPOSAL
Aruna O OldroydArgentinaAsiya Javayant QUALIFIED
Mayumi K ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Faith G WhobreyRussiaAsiya Javayant PROPOSAL
Costa M ButtRussiaElwin Sharvill UNQUALIFIED
Isabel F DilliardItalyAmy Elsner NEW
Aditya U SaylorsFranceXuxue Feng PROPOSAL
Silvio T PoquetteFranceAsiya Javayant RENEWAL
Stacey L MaletRussiaIvan Magalhaes QUALIFIED
Kadeem W DarakjyArgentinaAmy Elsner NEW
Aditya J NestleRussiaStephen Shaw NEW
Misaki L WhobreyGermanyBernardo Dominic PROPOSAL
Aditya O RimFranceAnna Fali NEW
Cody X CaldareraAustraliaAnna Fali NEGOTIATION
Nicolas P KolmetzJapanElwin Sharvill NEGOTIATION
Greenwood K FlosiBrazilStephen Shaw PROPOSAL
Darci V FigeroaSpainAnna Fali UNQUALIFIED
Leon I CaldareraArgentinaBernardo Dominic UNQUALIFIED
Julie A AmigonRussiaBernardo Dominic NEW
Emily M GlickRussiaAsiya Javayant NEW
Ivar O IturbideJapanStephen Shaw UNQUALIFIED
Misaki Z CaldareraAustraliaOnyama Limba QUALIFIED
Aditya H SergiIndiaIvan Magalhaes PROPOSAL
Juan E VenereUnited KingdomXuxue Feng PROPOSAL
Antonio R ShinkoRussiaOnyama Limba RENEWAL
Faith O OldroydGermanyAnna Fali NEGOTIATION
Frozen Columns
Name
Maria X Morasca
Deepesh B Doe
Munro V Nestle
Ivar P Whobrey
Ashley F Foller
Rodrigues L Marrier
Ivar K Ostrosky
Leja H Sergi
Faith B Poquette
Darci Y Malet
Alejandro P Kusko
Ricardo K Caldarera
Claire S Morasca
Alejandro F Whobrey
Silvio Q Vocelka
Octavia U Paprocki
Alejandro E Gillian
Darci F Sergi
Juan U Foller
Ricardo L Briddick
Mayumi L Paprocki
Adams O Kolmetz
Francesco X Tollner
Munro M Ruta
Kaitlin J Ferencz
Rodrigues Z Vocelka
Ricardo F Tollner
Misaki H Royster
Ashley C Whobrey
Nicolas F Figeroa
Jeanfrancois R Nicka
Isabel V Darakjy
Alejandro W Gillian
Sinclair A Marrier
Sinclair K Tollner
Kadeem Z Ostrosky
Wickens C Stockham
Maria P Foller
Ivar O Rulapaugh
Julie Z Figeroa
Leja I Maclead
Silvio T Sergi
Leja J Kolmetz
Octavia E Amigon
Jones R Rulapaugh
Julie G Poquette
Jefferson E Dilliard
Tony U Caudy
Costa G Stockham
Faith Q Stockham
IdCountryDate
1000Germany2026-10-24
1001Argentina2026-10-19
1002France2026-10-14
1003Russia2026-11-03
1004Australia2026-11-04
1005United Kingdom2026-10-08
1006Japan2026-11-04
1007Italy2026-10-28
1008Canada2026-11-05
1009Japan2026-10-27
1010Brazil2026-10-09
1011France2026-10-08
1012Brazil2026-10-30
1013Japan2026-11-03
1014Argentina2026-10-13
1015Spain2026-10-28
1016India2026-10-18
1017Italy2026-10-28
1018Germany2026-10-07
1019Spain2026-10-15
1020Brazil2026-10-23
1021Brazil2026-10-12
1022Brazil2026-10-25
1023Argentina2026-10-09
1024Russia2026-11-01
1025Argentina2026-10-24
1026Argentina2026-10-12
1027Spain2026-10-11
1028Canada2026-10-30
1029Japan2026-10-21
1030Italy2026-10-22
1031United Kingdom2026-10-27
1032United Kingdom2026-10-24
1033Italy2026-10-29
1034Argentina2026-10-18
1035France2026-10-10
1036Argentina2026-10-24
1037Brazil2026-10-10
1038Japan2026-11-05
1039France2026-11-02
1040Spain2026-10-14
1041France2026-10-25
1042India2026-10-29
1043United Kingdom2026-10-26
1044Brazil2026-10-12
1045Japan2026-10-10
1046Japan2026-10-14
1047Spain2026-10-10
1048India2026-11-01
1049Argentina2026-11-03

On-Demand Data

NameIdCountryDate
Morrow U Wieser1000United Kingdom2026-10-23
Mujtaba D Caldarera1001Russia2026-11-01
Clifford J Whobrey1002Argentina2026-10-11
Misaki L Foller1003Argentina2026-10-15
Izzy X Malet1004Russia2026-10-12
Murillo L Rulapaugh1005Brazil2026-11-05
Deepesh Z Caudy1006India2026-11-04
Aditya N Marrier1007Australia2026-11-05
Leon W Marrier1008India2026-10-17
Aruna N Foller1009Australia2026-10-22
Chavez Y Briddick1010Brazil2026-10-11
James D Perin1011Italy2026-10-31
Morrow S Morasca1012Australia2026-10-24
Misaki Z Stockham1013United Kingdom2026-10-22
Isabel E Ostrosky1014Canada2026-10-14
Kaitlin B Whobrey1015Germany2026-10-17
Emily X Iturbide1016United Kingdom2026-10-18
Leja X Amigon1017Canada2026-10-09
Darci P Shinko1018France2026-10-28
Maria G Wieser1019India2026-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer V OstroskyBrazilXuxue Feng UNQUALIFIED
Morrow G VocelkaArgentinaStephen Shaw QUALIFIED
Misaki H RoysterSpainAmy Elsner PROPOSAL
Izzy I ShinkoJapanElwin Sharvill NEW
Aruna Q FerenczSpainBernardo Dominic PROPOSAL
Maria X GarufiRussiaIoni Bowcher RENEWAL
Ricardo M ChuiFranceStephen Shaw NEGOTIATION
Smith L MacleadFranceStephen Shaw RENEWAL
Costa L AmigonCanadaAsiya Javayant QUALIFIED
Sinclair A DarakjyIndiaStephen Shaw PROPOSAL
Misaki B SchemmerItalyAsiya Javayant UNQUALIFIED
Ashley P CaudySpainAmy Elsner QUALIFIED
Kaitlin L AlbaresGermanyBernardo Dominic UNQUALIFIED
Aditya N CaldareraUnited KingdomOnyama Limba QUALIFIED
Greenwood B OldroydBrazilAmy Elsner QUALIFIED
Darci G OstroskyUnited KingdomStephen Shaw NEGOTIATION
Jennifer A DarakjyAustraliaAsiya Javayant UNQUALIFIED
Misaki P MacleadJapanElwin Sharvill QUALIFIED
Jeanfrancois W VenereArgentinaElwin Sharvill UNQUALIFIED
Costa V DoeArgentinaAnna Fali NEGOTIATION
Arvin N MaletAustraliaBernardo Dominic QUALIFIED
Claire I SergiCanadaElwin Sharvill PROPOSAL
Ricardo X SchemmerIndiaBernardo Dominic PROPOSAL
Rodrigues N WieserIndiaElwin Sharvill UNQUALIFIED
Salvatore N OstroskyIndiaOnyama Limba NEW
Octavia V DilliardJapanStephen Shaw NEW
Salvatore U VocelkaJapanStephen Shaw QUALIFIED
Wickens H CampainAustraliaAnna Fali RENEWAL
Alejandro C ShinkoUnited KingdomAmy Elsner NEW
Isabel K MacleadSpainBernardo Dominic NEGOTIATION
Maisha H VenereIndiaOnyama Limba NEW
Claire K BowleyAustraliaIvan Magalhaes RENEWAL
Darci R BologniaUnited KingdomElwin Sharvill PROPOSAL
Tony O AmigonRussiaStephen Shaw RENEWAL
Maisha S VocelkaSpainIvan Magalhaes NEW
Claire Y ButtAustraliaStephen Shaw QUALIFIED
Adams K KuskoSpainIvan Magalhaes UNQUALIFIED
Faith E MaletCanadaAmy Elsner NEGOTIATION
Murillo D PaprockiAustraliaAmy Elsner PROPOSAL
Faith U BowleyItalyAmy Elsner 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>