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
Greenwood Q BologniaArgentinaXuxue Feng RENEWAL
Aika N WieserIndiaBernardo Dominic QUALIFIED
Juan J StockhamGermanyStephen Shaw UNQUALIFIED
Isabel Z KuskoBrazilStephen Shaw NEGOTIATION
Emily T InouyeCanadaOnyama Limba QUALIFIED
Misaki U BologniaIndiaOnyama Limba RENEWAL
Ashley J FlosiAustraliaAsiya Javayant NEW
Ivar F FigeroaArgentinaBernardo Dominic RENEWAL
Sinclair C RutaCanadaXuxue Feng PROPOSAL
Ashley Y DilliardAustraliaOnyama Limba NEW
Wickens O BowleyCanadaAmy Elsner RENEWAL
Darci L CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Murillo D KolmetzSpainElwin Sharvill NEGOTIATION
Kadeem Q KolmetzFranceIoni Bowcher NEW
Misaki R MaletFranceIoni Bowcher NEGOTIATION
Claire Z WaycottJapanIoni Bowcher RENEWAL
Misaki O IturbideUnited KingdomAnna Fali QUALIFIED
Aika I SlusarskiAustraliaIoni Bowcher NEW
Wickens C FigeroaFranceIoni Bowcher NEGOTIATION
Kadeem J GauchoIndiaStephen Shaw UNQUALIFIED
Chavez K FollerSpainXuxue Feng RENEWAL
Rodrigues D ShinkoRussiaAsiya Javayant QUALIFIED
Kaitlin U InouyeRussiaAmy Elsner UNQUALIFIED
Antonio C KuskoArgentinaXuxue Feng UNQUALIFIED
Silvio Y PaprockiIndiaElwin Sharvill PROPOSAL
Kaitlin F OstroskySpainAnna Fali UNQUALIFIED
Kaitlin B RulapaughUnited KingdomIoni Bowcher UNQUALIFIED
Francesco K WieserJapanElwin Sharvill PROPOSAL
Chavez W OstroskyGermanyBernardo Dominic PROPOSAL
Aruna C FollerIndiaIoni Bowcher QUALIFIED
David X FerenczCanadaOnyama Limba NEW
Jeanfrancois A KuskoJapanAnna Fali QUALIFIED
Octavia D DoeArgentinaStephen Shaw PROPOSAL
Salvatore Q CaldareraBrazilBernardo Dominic QUALIFIED
Cody M SchemmerUnited KingdomIoni Bowcher QUALIFIED
James T IturbideUnited KingdomXuxue Feng QUALIFIED
Deepesh M RutaRussiaAnna Fali RENEWAL
Wickens F SergiSpainAmy Elsner RENEWAL
James G AlbaresAustraliaStephen Shaw UNQUALIFIED
Greenwood C OldroydArgentinaElwin Sharvill RENEWAL
Smith I PerinSpainXuxue Feng RENEWAL
Adams B ShinkoAustraliaStephen Shaw NEW
Sinclair Q BowleyUnited KingdomXuxue Feng UNQUALIFIED
Johnson N NickaCanadaStephen Shaw PROPOSAL
Leon O MaletArgentinaXuxue Feng PROPOSAL
Cody Q SchemmerSpainAmy Elsner UNQUALIFIED
Kadeem A DarakjyRussiaAmy Elsner RENEWAL
Emily A DarakjyItalyElwin Sharvill NEW
Morrow U CampainBrazilIoni Bowcher NEGOTIATION
Misaki Z CampainBrazilXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Morrow D PoquetteArgentinaStephen Shaw NEW
Leon Q CampainIndiaAsiya Javayant UNQUALIFIED
Deepesh N ShinkoFranceBernardo Dominic PROPOSAL
Adams G SaylorsJapanOnyama Limba NEW
Stacey H CaudyAustraliaStephen Shaw RENEWAL
Wickens U GauchoFranceAsiya Javayant NEW
Greenwood A WaycottFranceIvan Magalhaes UNQUALIFIED
Octavia I FollerArgentinaIvan Magalhaes QUALIFIED
Morrow C WhobreyJapanXuxue Feng NEGOTIATION
Cody P WhobreyAustraliaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie L AmigonRussia2026-08-07Printing Dimensions NEW86Ivan Magalhaes
1001Julie W SlusarskiBrazil2026-08-14Feltz Printing Service NEGOTIATION66Anna Fali
1002Mayumi U FlosiJapan2026-09-01Feiner Bros QUALIFIED29Bernardo Dominic
1003Rodrigues R IturbideIndia2026-08-13Commercial Press RENEWAL79Ioni Bowcher
1004Claire H MarrierJapan2026-08-31Feiner Bros RENEWAL7Ioni Bowcher
1005Claire E GauchoBrazil2026-08-05Chemel, James L Cpa QUALIFIED66Asiya Javayant
1006Deepesh O FigeroaIndia2026-08-10Rousseaux, Michael Esq RENEWAL26Asiya Javayant
1007Salvatore Q MaletRussia2026-08-20Buckley Miller Wright QUALIFIED12Stephen Shaw
1008Murillo R FlosiAustralia2026-08-20Benton, John B Jr RENEWAL95Bernardo Dominic
1009Aika T DarakjyUnited Kingdom2026-08-29Commercial Press NEGOTIATION4Asiya Javayant
1010Aruna I GarufiArgentina2026-08-07Rousseaux, Michael Esq NEW9Xuxue Feng
1011Nicolas P MorascaRussia2026-08-16Feltz Printing Service RENEWAL98Xuxue Feng
1012Jeanfrancois R MaletRussia2026-08-16Buckley Miller Wright UNQUALIFIED83Xuxue Feng
1013Maisha A FlosiArgentina2026-08-11Feltz Printing Service PROPOSAL5Ioni Bowcher
1014Murillo Z GauchoFrance2026-08-19Printing Dimensions PROPOSAL59Asiya Javayant
1015Jones A CaudyUnited Kingdom2026-08-15Rousseaux, Michael Esq NEW69Ivan Magalhaes
1016Murillo M KolmetzCanada2026-08-06Rangoni Of Florence UNQUALIFIED56Asiya Javayant
1017Salvatore P MarrierUnited Kingdom2026-08-18Printing Dimensions UNQUALIFIED74Ivan Magalhaes
1018Ivar K KolmetzJapan2026-08-04Printing Dimensions UNQUALIFIED62Anna Fali
1019Munro G SlusarskiItaly2026-08-29Benton, John B Jr UNQUALIFIED54Amy Elsner
1020Maria K InouyeFrance2026-08-11Chemel, James L Cpa QUALIFIED55Bernardo Dominic
1021Claire S CaudySpain2026-08-22Dorl, James J Esq UNQUALIFIED29Ivan Magalhaes
1022Salvatore K DoeCanada2026-08-28Morlong Associates NEGOTIATION23Ivan Magalhaes
1023Antonio R KolmetzSpain2026-08-19Printing Dimensions UNQUALIFIED14Onyama Limba
1024Alejandro R StensethArgentina2026-08-13Rousseaux, Michael Esq NEGOTIATION84Ivan Magalhaes
1025Costa P VenereJapan2026-09-01Chanay, Jeffrey A Esq NEGOTIATION30Anna Fali
1026Adams Y TollnerArgentina2026-08-21Truhlar And Truhlar Attys UNQUALIFIED13Bernardo Dominic
1027Rodrigues D CaldareraJapan2026-08-21Benton, John B Jr PROPOSAL3Elwin Sharvill
1028Kaitlin A FlosiBrazil2026-08-13Rousseaux, Michael Esq QUALIFIED64Bernardo Dominic
1029Julie N MaletBrazil2026-08-18Rousseaux, Michael Esq NEGOTIATION79Anna Fali
1030Isabel O SlusarskiJapan2026-08-29King, Christopher A Esq UNQUALIFIED96Elwin Sharvill
1031Darci J DilliardItaly2026-08-26Morlong Associates PROPOSAL65Stephen Shaw
1032Nicolas L WhobreyArgentina2026-08-27Dorl, James J Esq RENEWAL66Bernardo Dominic
1033Nicolas J StensethFrance2026-08-09Chanay, Jeffrey A Esq RENEWAL82Ivan Magalhaes
1034Sinclair U OldroydItaly2026-08-06Benton, John B Jr QUALIFIED76Bernardo Dominic
1035Salvatore J GarufiCanada2026-08-26Rousseaux, Michael Esq NEGOTIATION47Amy Elsner
1036Francesco D FollerItaly2026-08-20Commercial Press NEW88Amy Elsner
1037Alejandro Y RoysterItaly2026-08-10Feltz Printing Service NEW51Elwin Sharvill
1038Cody D RulapaughGermany2026-09-02King, Christopher A Esq UNQUALIFIED20Xuxue Feng
1039Jeanfrancois F BologniaIndia2026-08-12King, Christopher A Esq NEGOTIATION67Onyama Limba
1040Clifford D KolmetzRussia2026-08-11King, Christopher A Esq QUALIFIED1Asiya Javayant
1041Ivar U VocelkaBrazil2026-08-19Chemel, James L Cpa PROPOSAL51Onyama Limba
1042Jeanfrancois V PerinAustralia2026-08-24Feltz Printing Service QUALIFIED31Amy Elsner
1043Alejandro F InouyeIndia2026-08-14Feltz Printing Service QUALIFIED73Elwin Sharvill
1044Ivar Q DilliardRussia2026-08-16Chemel, James L Cpa RENEWAL56Ioni Bowcher
1045Mujtaba X FlosiIndia2026-08-31Dorl, James J Esq RENEWAL82Amy Elsner
1046Izzy L StensethRussia2026-08-19Feiner Bros PROPOSAL96Amy Elsner
1047Kadeem N NickaArgentina2026-08-31Feiner Bros PROPOSAL54Ioni Bowcher
1048Jefferson I MorascaFrance2026-08-06King, Christopher A Esq NEW17Bernardo Dominic
1049Kaitlin N DilliardUnited Kingdom2026-08-14Truhlar And Truhlar Attys RENEWAL18Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Antonio U BowleyUnited KingdomBernardo Dominic NEW
Tony N MorascaRussiaAnna Fali UNQUALIFIED
Leon U FerenczJapanIvan Magalhaes NEW
Jennifer I DilliardBrazilAmy Elsner NEW
Aika E MarrierFranceIvan Magalhaes QUALIFIED
Stacey F MacleadArgentinaIvan Magalhaes UNQUALIFIED
Wickens Y WieserSpainAmy Elsner NEGOTIATION
Mayumi O SchemmerRussiaAnna Fali UNQUALIFIED
Jennifer C ShinkoItalyAsiya Javayant UNQUALIFIED
Deepesh W SergiCanadaAsiya Javayant NEW
Smith O RoysterArgentinaAmy Elsner NEW
Francesco X GarufiAustraliaXuxue Feng NEGOTIATION
Jennifer T SergiIndiaAmy Elsner UNQUALIFIED
Ivar W GauchoSpainElwin Sharvill NEGOTIATION
Rodrigues M GlickCanadaElwin Sharvill NEGOTIATION
Jones D WaycottSpainElwin Sharvill QUALIFIED
Munro W KuskoJapanBernardo Dominic PROPOSAL
Juan V TollnerUnited KingdomStephen Shaw NEGOTIATION
Johnson A BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Julie B BriddickFranceAsiya Javayant QUALIFIED
Stacey T SchemmerUnited KingdomOnyama Limba QUALIFIED
Munro P DoeIndiaOnyama Limba PROPOSAL
Mayumi I GlickFranceIoni Bowcher NEW
Maisha G VocelkaJapanStephen Shaw NEW
Kadeem P WhobreyCanadaAsiya Javayant PROPOSAL
Wickens F PerinArgentinaStephen Shaw PROPOSAL
Izzy R WaycottCanadaXuxue Feng QUALIFIED
Juan Z GarufiAustraliaElwin Sharvill NEW
Ashley F CaudyArgentinaOnyama Limba NEGOTIATION
Octavia P RimSpainIoni Bowcher UNQUALIFIED
Ricardo W OldroydGermanyAsiya Javayant NEGOTIATION
Clifford Y KuskoUnited KingdomOnyama Limba PROPOSAL
Kadeem R PerinFranceAmy Elsner NEW
Juan H AlbaresArgentinaOnyama Limba QUALIFIED
Mujtaba T ButtCanadaAsiya Javayant RENEWAL
Alejandro H FerenczFranceAnna Fali RENEWAL
Kadeem Z BowleySpainXuxue Feng NEGOTIATION
Silvio B WaycottArgentinaXuxue Feng PROPOSAL
Darci R BowleyAustraliaElwin Sharvill NEW
Antonio O MaletRussiaOnyama Limba PROPOSAL
Morrow R VenereCanadaBernardo Dominic NEW
Faith M MaletCanadaOnyama Limba QUALIFIED
James O WieserAustraliaStephen Shaw RENEWAL
Faith P IturbideRussiaXuxue Feng NEGOTIATION
Greenwood D GauchoUnited KingdomOnyama Limba QUALIFIED
Salvatore R OldroydAustraliaBernardo Dominic QUALIFIED
Chavez V GlickBrazilAsiya Javayant QUALIFIED
Greenwood P TollnerSpainXuxue Feng PROPOSAL
Darci A BowleyIndiaAnna Fali PROPOSAL
Mayumi X MarrierRussiaOnyama Limba RENEWAL
Frozen Columns
Name
Deepesh G Caldarera
Kadeem W Kusko
Clifford V Perin
Jones Z Kusko
Nicolas I Doe
Murillo J Darakjy
Morrow E Gaucho
Isabel V Oldroyd
James T Slusarski
Greenwood G Saylors
James J Schemmer
James W Sergi
Aruna B Gillian
Leon P Stenseth
David P Rulapaugh
Kaitlin K Garufi
Emily M Nicka
Salvatore Z Kolmetz
Sinclair H Whobrey
Kadeem B Gaucho
Stacey L Darakjy
Misaki K Wieser
Emily G Foller
Kaitlin L Ostrosky
Aika D Bolognia
Isabel A Iturbide
Chavez P Marrier
Rodrigues Y Darakjy
Octavia V Waycott
Deepesh W Briddick
Munro J Morasca
Julie N Shinko
Wickens Q Rim
Morrow D Malet
Kaitlin H Caldarera
Munro R Bowley
Jeanfrancois N Sergi
Mujtaba O Waycott
Silvio A Malet
Cody Z Rim
Ivar C Tollner
Costa G Paprocki
Nicolas S Campain
Salvatore V Malet
Kaitlin C Maclead
Faith H Rim
Aditya D Bowley
Ivar R Whobrey
Clifford A Glick
Isabel J Figeroa
IdCountryDate
1000France2026-08-09
1001Spain2026-08-24
1002Germany2026-08-19
1003Germany2026-08-18
1004Brazil2026-08-12
1005Germany2026-08-12
1006Italy2026-08-22
1007Brazil2026-08-06
1008Germany2026-08-24
1009Russia2026-08-31
1010Italy2026-08-19
1011Spain2026-08-31
1012Japan2026-08-10
1013France2026-08-07
1014Brazil2026-08-31
1015Australia2026-08-09
1016United Kingdom2026-09-01
1017France2026-08-28
1018Argentina2026-08-05
1019Italy2026-08-16
1020Spain2026-08-08
1021United Kingdom2026-08-08
1022Canada2026-08-27
1023Brazil2026-08-10
1024India2026-08-25
1025Spain2026-08-24
1026Russia2026-08-15
1027Spain2026-08-08
1028France2026-08-17
1029Russia2026-08-17
1030France2026-08-22
1031United Kingdom2026-08-24
1032France2026-08-14
1033Germany2026-08-08
1034Brazil2026-08-22
1035Spain2026-09-02
1036Brazil2026-08-23
1037Canada2026-08-07
1038United Kingdom2026-08-13
1039Italy2026-09-01
1040India2026-08-06
1041Russia2026-08-07
1042Argentina2026-08-11
1043Australia2026-08-26
1044Germany2026-08-22
1045India2026-08-07
1046Japan2026-08-07
1047Brazil2026-08-08
1048India2026-08-13
1049United Kingdom2026-09-02

On-Demand Data

NameIdCountryDate
Costa D Nestle1000Australia2026-08-05
James X Caudy1001Spain2026-08-05
Sinclair R Stockham1002Russia2026-08-11
Jones G Perin1003India2026-08-17
Octavia R Inouye1004Spain2026-08-25
Aditya G Tollner1005United Kingdom2026-08-25
Costa B Slusarski1006Australia2026-08-22
Aditya D Doe1007Russia2026-08-23
Emily O Marrier1008France2026-08-15
Juan D Venere1009Brazil2026-08-25
Stacey A Royster1010Argentina2026-08-27
Kaitlin V Bolognia1011Brazil2026-08-29
Jefferson R Ferencz1012Brazil2026-08-11
Tony B Maclead1013Canada2026-08-24
Antonio H Campain1014Spain2026-08-13
Silvio T Darakjy1015India2026-08-08
Isabel J Nestle1016Germany2026-08-13
Isabel W Whobrey1017Spain2026-08-12
Munro T Morasca1018Japan2026-08-23
James F Nestle1019India2026-08-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie S KuskoAustraliaStephen Shaw UNQUALIFIED
Aditya H ShinkoJapanElwin Sharvill RENEWAL
David Z IturbideGermanyAmy Elsner NEW
Aruna Z KolmetzBrazilIoni Bowcher NEGOTIATION
Antonio K WhobreyBrazilElwin Sharvill UNQUALIFIED
Juan B DarakjyItalyOnyama Limba NEW
Rodrigues N RutaIndiaOnyama Limba UNQUALIFIED
Aditya I CaudyFranceStephen Shaw NEGOTIATION
Adams L VocelkaUnited KingdomIoni Bowcher QUALIFIED
Arvin E SergiSpainStephen Shaw NEW
Leja F AlbaresJapanIoni Bowcher PROPOSAL
Smith C NickaGermanyBernardo Dominic NEW
Jones T AlbaresRussiaAnna Fali QUALIFIED
Leja F BriddickGermanyOnyama Limba RENEWAL
Maisha C SlusarskiFranceIoni Bowcher RENEWAL
Aditya A CaudyIndiaAsiya Javayant NEW
Adams N StensethUnited KingdomIoni Bowcher NEW
Leja Y TollnerJapanAmy Elsner PROPOSAL
Nicolas B RoysterBrazilIoni Bowcher PROPOSAL
Emily N RimRussiaAnna Fali NEGOTIATION
Maisha Y BriddickGermanyAsiya Javayant RENEWAL
Julie I StensethJapanXuxue Feng NEGOTIATION
Aditya T ButtRussiaIoni Bowcher RENEWAL
Jefferson J MaletItalyAmy Elsner PROPOSAL
Aditya L GauchoJapanStephen Shaw QUALIFIED
Silvio E InouyeCanadaIvan Magalhaes RENEWAL
Chavez F BologniaRussiaIvan Magalhaes RENEWAL
Silvio B KolmetzGermanyAnna Fali UNQUALIFIED
David X OstroskyIndiaXuxue Feng NEGOTIATION
Jones M GillianSpainElwin Sharvill QUALIFIED
Aruna K AmigonJapanStephen Shaw NEW
Aika X SlusarskiIndiaAmy Elsner PROPOSAL
Munro Q VenereArgentinaElwin Sharvill PROPOSAL
Aika Z WieserSpainAmy Elsner NEW
Silvio S MarrierBrazilBernardo Dominic NEW
Emily M SchemmerRussiaBernardo Dominic NEW
Murillo G NickaBrazilElwin Sharvill NEW
Aruna C VocelkaGermanyElwin Sharvill QUALIFIED
Kadeem R RimJapanAmy Elsner UNQUALIFIED
Sinclair W MacleadItalyAsiya Javayant 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>