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
Juan V FollerBrazilStephen Shaw PROPOSAL
Leon O InouyeAustraliaXuxue Feng NEW
Costa K KuskoJapanBernardo Dominic NEW
Darci N InouyeFranceOnyama Limba QUALIFIED
Leja V VenereSpainOnyama Limba PROPOSAL
Stacey A CaldareraSpainXuxue Feng PROPOSAL
Izzy L GillianGermanyElwin Sharvill UNQUALIFIED
Sinclair R TollnerCanadaOnyama Limba RENEWAL
Antonio D CaudyRussiaOnyama Limba PROPOSAL
Smith G MaletFranceAnna Fali NEGOTIATION
Octavia A DoeRussiaAmy Elsner PROPOSAL
Juan E GarufiJapanAsiya Javayant PROPOSAL
David P VenereGermanyAsiya Javayant NEW
Misaki S StensethAustraliaIoni Bowcher RENEWAL
Jeanfrancois J FerenczCanadaAmy Elsner RENEWAL
Maria Q SaylorsAustraliaStephen Shaw NEW
Nicolas Z GauchoArgentinaIoni Bowcher NEGOTIATION
Francesco F CampainIndiaStephen Shaw NEW
Aditya D TollnerUnited KingdomIvan Magalhaes PROPOSAL
Johnson G CampainJapanXuxue Feng QUALIFIED
Murillo J ButtAustraliaAsiya Javayant RENEWAL
Kaitlin V BologniaGermanyStephen Shaw RENEWAL
Aika Z DilliardArgentinaStephen Shaw NEGOTIATION
Jefferson E SergiSpainElwin Sharvill QUALIFIED
Emily S SaylorsGermanyIvan Magalhaes NEGOTIATION
Octavia W AmigonRussiaAsiya Javayant RENEWAL
Aika R RutaFranceAmy Elsner QUALIFIED
Deepesh I WhobreyRussiaBernardo Dominic QUALIFIED
Aruna E ChuiIndiaBernardo Dominic NEGOTIATION
Aika S ChuiJapanAnna Fali QUALIFIED
Cody N RoysterArgentinaAmy Elsner RENEWAL
Alejandro Y WieserFranceAnna Fali NEGOTIATION
Smith N NickaUnited KingdomBernardo Dominic PROPOSAL
Ricardo F CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Greenwood K TollnerGermanyAmy Elsner UNQUALIFIED
Emily J DarakjyGermanyElwin Sharvill RENEWAL
Leja Q CampainJapanAsiya Javayant UNQUALIFIED
Aika Y NestleFranceElwin Sharvill NEW
Wickens R VenereArgentinaAmy Elsner PROPOSAL
Jefferson A MaletAustraliaOnyama Limba UNQUALIFIED
Munro T RoysterRussiaIvan Magalhaes UNQUALIFIED
Clifford X GauchoArgentinaAmy Elsner QUALIFIED
Murillo W NickaSpainOnyama Limba UNQUALIFIED
Isabel O DilliardIndiaAsiya Javayant NEGOTIATION
Misaki U ButtRussiaElwin Sharvill NEW
Mayumi N IturbideFranceAnna Fali NEGOTIATION
Nicolas D DoeItalyStephen Shaw PROPOSAL
Emily B RutaIndiaStephen Shaw NEGOTIATION
Leja O MacleadArgentinaAnna Fali NEGOTIATION
Izzy T FlosiArgentinaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Silvio X InouyeFranceElwin Sharvill QUALIFIED
Antonio J AlbaresAustraliaStephen Shaw PROPOSAL
Leja N GlickGermanyBernardo Dominic PROPOSAL
Emily D CaldareraCanadaXuxue Feng PROPOSAL
Greenwood K GarufiRussiaAmy Elsner NEGOTIATION
Nicolas T KolmetzUnited KingdomIoni Bowcher QUALIFIED
Arvin K SaylorsIndiaIvan Magalhaes NEGOTIATION
Isabel C CampainBrazilAsiya Javayant RENEWAL
Jeanfrancois I DoeGermanyIoni Bowcher QUALIFIED
Kadeem G BologniaArgentinaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro C OstroskyJapan2026-09-28Chanay, Jeffrey A Esq QUALIFIED58Amy Elsner
1001Julie K ChuiSpain2026-09-13Buckley Miller Wright UNQUALIFIED25Asiya Javayant
1002Sinclair B NickaAustralia2026-09-25Feiner Bros UNQUALIFIED64Onyama Limba
1003Salvatore W SlusarskiGermany2026-09-25Buckley Miller Wright UNQUALIFIED56Onyama Limba
1004Mayumi E WhobreyBrazil2026-09-28Benton, John B Jr RENEWAL38Anna Fali
1005Clifford A OldroydJapan2026-09-17Chapman, Ross E Esq QUALIFIED23Stephen Shaw
1006Clifford K WaycottGermany2026-10-07Chemel, James L Cpa NEGOTIATION30Asiya Javayant
1007Costa U WhobreyCanada2026-10-05Printing Dimensions QUALIFIED74Asiya Javayant
1008Misaki L RutaGermany2026-09-30Chemel, James L Cpa PROPOSAL19Stephen Shaw
1009Silvio H BologniaAustralia2026-09-19Feiner Bros UNQUALIFIED82Asiya Javayant
1010James R StockhamJapan2026-09-28Rangoni Of Florence UNQUALIFIED52Bernardo Dominic
1011Aruna O PerinSpain2026-09-22Truhlar And Truhlar Attys UNQUALIFIED29Asiya Javayant
1012Wickens M PerinRussia2026-10-03Feltz Printing Service NEW1Bernardo Dominic
1013Sinclair J PerinUnited Kingdom2026-09-22Chemel, James L Cpa UNQUALIFIED80Bernardo Dominic
1014Jeanfrancois J CampainIndia2026-10-09Feiner Bros QUALIFIED75Xuxue Feng
1015Silvio P KuskoUnited Kingdom2026-10-01King, Christopher A Esq NEW49Bernardo Dominic
1016James N FerenczBrazil2026-10-11King, Christopher A Esq PROPOSAL98Ioni Bowcher
1017Wickens D FollerFrance2026-10-04Rangoni Of Florence QUALIFIED10Onyama Limba
1018Antonio M WaycottJapan2026-09-23Dorl, James J Esq NEW3Amy Elsner
1019Darci B MarrierGermany2026-09-22Chanay, Jeffrey A Esq NEW47Stephen Shaw
1020Smith Z DilliardItaly2026-09-15Commercial Press UNQUALIFIED24Ioni Bowcher
1021Tony J WaycottArgentina2026-09-16Dorl, James J Esq QUALIFIED3Ivan Magalhaes
1022Jones E RoysterJapan2026-10-11King, Christopher A Esq NEW52Onyama Limba
1023Maisha L NestleCanada2026-09-14Rangoni Of Florence RENEWAL60Asiya Javayant
1024Octavia I ChuiJapan2026-09-30Benton, John B Jr NEGOTIATION50Asiya Javayant
1025David H SlusarskiItaly2026-09-21Chanay, Jeffrey A Esq RENEWAL75Onyama Limba
1026Morrow I RutaFrance2026-09-27Benton, John B Jr PROPOSAL61Bernardo Dominic
1027Murillo J WaycottJapan2026-09-14Feltz Printing Service UNQUALIFIED25Stephen Shaw
1028James C IturbideBrazil2026-09-16Commercial Press RENEWAL5Onyama Limba
1029James W RimFrance2026-10-12Chemel, James L Cpa PROPOSAL75Ioni Bowcher
1030Ashley Z CaudyIndia2026-10-11King, Christopher A Esq UNQUALIFIED44Amy Elsner
1031Leon B SaylorsRussia2026-10-03Chapman, Ross E Esq UNQUALIFIED76Bernardo Dominic
1032Smith M ShinkoFrance2026-09-21Feiner Bros UNQUALIFIED30Anna Fali
1033Julie A DilliardArgentina2026-10-07Commercial Press UNQUALIFIED10Anna Fali
1034Maria R ChuiIndia2026-10-07Morlong Associates NEW90Ivan Magalhaes
1035Jefferson T DilliardSpain2026-10-03King, Christopher A Esq QUALIFIED79Onyama Limba
1036Alejandro C GarufiGermany2026-10-05Commercial Press NEW78Asiya Javayant
1037Chavez J FlosiAustralia2026-09-17Feiner Bros NEW69Amy Elsner
1038Izzy T ChuiGermany2026-10-11Printing Dimensions QUALIFIED77Amy Elsner
1039Isabel N KuskoGermany2026-09-26Rousseaux, Michael Esq RENEWAL63Stephen Shaw
1040Julie G VocelkaUnited Kingdom2026-10-05Rousseaux, Michael Esq NEGOTIATION38Amy Elsner
1041Rodrigues V AmigonFrance2026-10-04Buckley Miller Wright NEW94Onyama Limba
1042Jeanfrancois O RulapaughArgentina2026-10-06Dorl, James J Esq UNQUALIFIED6Onyama Limba
1043Claire H NickaArgentina2026-09-16Chemel, James L Cpa QUALIFIED24Ioni Bowcher
1044Greenwood V WieserUnited Kingdom2026-10-04Printing Dimensions PROPOSAL2Ivan Magalhaes
1045Deepesh I SlusarskiSpain2026-09-24Morlong Associates UNQUALIFIED66Xuxue Feng
1046Salvatore C WieserUnited Kingdom2026-10-10Commercial Press PROPOSAL77Bernardo Dominic
1047Ricardo B AlbaresAustralia2026-10-09Truhlar And Truhlar Attys QUALIFIED72Elwin Sharvill
1048James G MarrierArgentina2026-09-26Chemel, James L Cpa RENEWAL70Anna Fali
1049Octavia O SlusarskiRussia2026-09-15Chapman, Ross E Esq UNQUALIFIED4Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Stacey L RimCanadaElwin Sharvill NEGOTIATION
Isabel L BriddickRussiaAsiya Javayant NEGOTIATION
Clifford Z KolmetzCanadaElwin Sharvill NEW
Silvio F OstroskyUnited KingdomIvan Magalhaes UNQUALIFIED
Chavez S DarakjyArgentinaIoni Bowcher PROPOSAL
Munro D GlickItalyAsiya Javayant PROPOSAL
Silvio A StockhamJapanAnna Fali NEW
Isabel X BriddickGermanyAmy Elsner NEW
Izzy F PaprockiRussiaElwin Sharvill NEW
Aruna Z SaylorsCanadaBernardo Dominic RENEWAL
Antonio V WaycottFranceBernardo Dominic PROPOSAL
Clifford P SergiBrazilIvan Magalhaes NEGOTIATION
David R TollnerArgentinaIvan Magalhaes NEGOTIATION
Aika Q VocelkaAustraliaIvan Magalhaes NEW
Juan A BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro N BologniaItalyIoni Bowcher PROPOSAL
Sinclair Y ButtUnited KingdomStephen Shaw NEW
Ivar L PerinFranceIvan Magalhaes NEW
Adams X KuskoFranceXuxue Feng NEW
Alejandro A FlosiCanadaAsiya Javayant NEGOTIATION
Aditya O FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba D DilliardIndiaIvan Magalhaes NEW
Ivar W ChuiItalyIvan Magalhaes UNQUALIFIED
Jones U VocelkaGermanyAnna Fali NEW
Mujtaba R WaycottArgentinaAsiya Javayant PROPOSAL
Wickens D KuskoArgentinaOnyama Limba NEGOTIATION
Aika V ButtSpainIoni Bowcher NEW
Adams N GillianArgentinaXuxue Feng QUALIFIED
Aika R RulapaughCanadaOnyama Limba PROPOSAL
Maria D BologniaFranceIvan Magalhaes PROPOSAL
Murillo R RoysterFranceOnyama Limba PROPOSAL
Salvatore C WaycottFranceIvan Magalhaes NEW
Tony B GauchoJapanIvan Magalhaes NEW
David K FigeroaJapanAmy Elsner RENEWAL
Munro J AmigonGermanyBernardo Dominic RENEWAL
Arvin Q FerenczAustraliaElwin Sharvill NEW
Misaki J GauchoBrazilIoni Bowcher RENEWAL
Nicolas V RutaArgentinaElwin Sharvill QUALIFIED
Darci J MaletJapanBernardo Dominic UNQUALIFIED
Aruna H AlbaresItalyAnna Fali QUALIFIED
Jeanfrancois I SergiJapanXuxue Feng PROPOSAL
Ivar Z InouyeCanadaAmy Elsner UNQUALIFIED
Antonio W NestleCanadaOnyama Limba NEGOTIATION
Rodrigues L FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Misaki X RimIndiaAnna Fali UNQUALIFIED
Adams X AlbaresRussiaAnna Fali NEW
Wickens M MacleadSpainAmy Elsner PROPOSAL
Francesco T PaprockiGermanyStephen Shaw QUALIFIED
Chavez S FigeroaBrazilAsiya Javayant QUALIFIED
Rodrigues Y InouyeJapanIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Kaitlin G Bowley
Aditya D Kolmetz
Aika C Ruta
Ricardo Y Royster
Jennifer U Rim
Alejandro O Glick
Kaitlin C Stockham
Ivar X Tollner
Clifford B Malet
David A Sergi
Aruna M Bolognia
Stacey W Paprocki
Ricardo O Rim
Nicolas N Tollner
Aika N Ferencz
Arvin F Gillian
Stacey P Waycott
Rodrigues K Bolognia
Kaitlin R Stenseth
David U Kolmetz
Murillo B Shinko
Jennifer V Caldarera
Deepesh C Stockham
Clifford W Ostrosky
Rodrigues U Morasca
Nicolas U Bowley
Leja L Figeroa
Maria U Maclead
Aditya F Caudy
David R Ostrosky
Jennifer C Poquette
Emily A Chui
Jones W Vocelka
Aditya O Stockham
Adams F Albares
Murillo Y Inouye
Antonio P Caudy
Jefferson I Gillian
Morrow E Doe
Alejandro E Maclead
Maisha R Campain
Murillo A Doe
Tony H Caldarera
Munro M Bolognia
Francesco B Caudy
Octavia L Briddick
Sinclair L Amigon
Sinclair N Glick
David S Maclead
Stacey C Shinko
IdCountryDate
1000Germany2026-09-15
1001Russia2026-10-03
1002Italy2026-10-08
1003Italy2026-09-13
1004Italy2026-09-17
1005United Kingdom2026-09-15
1006Germany2026-09-16
1007Australia2026-09-25
1008Japan2026-10-06
1009France2026-09-17
1010Brazil2026-09-20
1011United Kingdom2026-10-02
1012Canada2026-09-13
1013Italy2026-09-23
1014Australia2026-09-26
1015Japan2026-10-10
1016Australia2026-09-27
1017France2026-09-24
1018Argentina2026-09-17
1019Italy2026-09-23
1020Japan2026-09-15
1021India2026-09-15
1022United Kingdom2026-09-28
1023Brazil2026-09-22
1024Argentina2026-10-06
1025Spain2026-09-22
1026Canada2026-09-25
1027Spain2026-10-08
1028Russia2026-10-11
1029Russia2026-10-11
1030Argentina2026-09-13
1031France2026-10-10
1032Australia2026-10-10
1033Japan2026-09-13
1034Japan2026-10-08
1035Argentina2026-09-18
1036Argentina2026-09-16
1037Canada2026-09-20
1038United Kingdom2026-09-27
1039Argentina2026-10-09
1040Russia2026-09-27
1041Japan2026-09-27
1042Japan2026-10-03
1043Australia2026-09-17
1044United Kingdom2026-09-22
1045Brazil2026-10-10
1046France2026-10-04
1047France2026-10-11
1048Canada2026-09-19
1049Canada2026-10-03

On-Demand Data

NameIdCountryDate
Claire C Darakjy1000United Kingdom2026-09-22
Adams Y Foller1001Spain2026-09-30
Rodrigues M Oldroyd1002Brazil2026-09-24
Wickens M Gillian1003Spain2026-09-27
Jennifer M Dilliard1004Italy2026-09-14
Jeanfrancois B Iturbide1005Germany2026-10-08
Aditya L Shinko1006Canada2026-10-01
Ashley L Campain1007Australia2026-10-11
Jones B Marrier1008Russia2026-09-30
Jennifer G Oldroyd1009United Kingdom2026-09-20
Kaitlin W Bowley1010Canada2026-10-12
Darci V Slusarski1011Germany2026-10-01
Isabel G Iturbide1012Germany2026-09-18
Cody T Whobrey1013Japan2026-09-22
Smith Z Kusko1014Italy2026-09-21
Maisha K Ostrosky1015Argentina2026-09-13
Octavia R Inouye1016Russia2026-09-28
Jeanfrancois D Poquette1017Argentina2026-09-22
Clifford P Campain1018Australia2026-09-15
Wickens C Stockham1019Germany2026-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba M CaldareraSpainIoni Bowcher QUALIFIED
Alejandro I KuskoBrazilAmy Elsner NEW
James H MorascaBrazilAsiya Javayant NEGOTIATION
Aruna N ChuiCanadaOnyama Limba UNQUALIFIED
Deepesh C FlosiRussiaAnna Fali UNQUALIFIED
Silvio Z GlickSpainXuxue Feng QUALIFIED
Misaki O ShinkoSpainXuxue Feng RENEWAL
Aruna W StockhamFranceBernardo Dominic RENEWAL
Chavez C IturbideRussiaStephen Shaw RENEWAL
Cody N SlusarskiFranceBernardo Dominic NEGOTIATION
Deepesh X StockhamUnited KingdomXuxue Feng UNQUALIFIED
Leon V GillianItalyElwin Sharvill RENEWAL
Mayumi O FerenczRussiaXuxue Feng PROPOSAL
Mayumi V CaudyUnited KingdomIoni Bowcher QUALIFIED
David K WaycottUnited KingdomIvan Magalhaes NEW
Isabel Y AlbaresRussiaAmy Elsner QUALIFIED
Isabel A SlusarskiJapanIvan Magalhaes RENEWAL
Sinclair V SergiSpainAmy Elsner NEW
Johnson O KuskoUnited KingdomAsiya Javayant NEW
Octavia U DoeArgentinaAmy Elsner RENEWAL
Silvio H PoquetteRussiaAsiya Javayant UNQUALIFIED
Silvio B StensethItalyElwin Sharvill NEW
Juan U SergiCanadaIvan Magalhaes NEGOTIATION
Emily G SaylorsUnited KingdomAsiya Javayant NEGOTIATION
Faith A FerenczCanadaIvan Magalhaes PROPOSAL
Chavez Y OstroskyCanadaIvan Magalhaes RENEWAL
Adams X RutaArgentinaAnna Fali NEW
Sinclair T NickaJapanIvan Magalhaes QUALIFIED
Morrow B ShinkoFranceOnyama Limba QUALIFIED
David E PerinFranceAmy Elsner UNQUALIFIED
Morrow I FollerBrazilBernardo Dominic UNQUALIFIED
Arvin F KuskoItalyAsiya Javayant PROPOSAL
Mujtaba L MarrierFranceBernardo Dominic NEW
Silvio T CaudyFranceAsiya Javayant NEGOTIATION
Francesco J FollerIndiaElwin Sharvill UNQUALIFIED
Munro F CaldareraIndiaBernardo Dominic UNQUALIFIED
Ashley H WieserFranceElwin Sharvill NEGOTIATION
Sinclair P InouyeArgentinaAmy Elsner PROPOSAL
Alejandro M DoeIndiaAnna Fali PROPOSAL
David V FollerBrazilElwin Sharvill RENEWAL

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