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
Kaitlin K IturbideIndiaBernardo Dominic UNQUALIFIED
Darci Y StensethIndiaElwin Sharvill NEW
Wickens N DoeRussiaOnyama Limba NEGOTIATION
Adams T FerenczFranceXuxue Feng UNQUALIFIED
Mayumi M BowleyRussiaOnyama Limba RENEWAL
Clifford W MarrierBrazilIvan Magalhaes UNQUALIFIED
Kadeem Z CaudyBrazilAmy Elsner NEGOTIATION
Costa F OstroskyBrazilOnyama Limba RENEWAL
Jeanfrancois T MacleadSpainAmy Elsner UNQUALIFIED
Morrow X DilliardBrazilAsiya Javayant UNQUALIFIED
Julie V MaletBrazilStephen Shaw NEW
Tony Q ButtGermanyElwin Sharvill PROPOSAL
Leon D IturbideAustraliaElwin Sharvill UNQUALIFIED
Juan K CampainAustraliaOnyama Limba QUALIFIED
Octavia N FlosiIndiaOnyama Limba NEGOTIATION
Jennifer T RoysterItalyBernardo Dominic NEW
Jones Y PerinArgentinaIoni Bowcher RENEWAL
Aika H ButtUnited KingdomXuxue Feng NEGOTIATION
Aditya M DilliardAustraliaXuxue Feng PROPOSAL
Aika D VenereJapanXuxue Feng UNQUALIFIED
Jones D WieserAustraliaIvan Magalhaes NEGOTIATION
Mayumi G MaletRussiaElwin Sharvill QUALIFIED
Antonio D SchemmerGermanyXuxue Feng NEGOTIATION
Smith J DarakjyAustraliaElwin Sharvill RENEWAL
Nicolas Y BologniaRussiaAsiya Javayant RENEWAL
Munro Z TollnerSpainAmy Elsner NEGOTIATION
David T SergiFranceXuxue Feng RENEWAL
Misaki D GarufiGermanyAnna Fali RENEWAL
Kaitlin R PaprockiArgentinaAmy Elsner NEW
David L MacleadRussiaIvan Magalhaes NEGOTIATION
Octavia B VocelkaJapanXuxue Feng NEW
Leon R FerenczArgentinaStephen Shaw NEGOTIATION
Silvio S GillianIndiaIvan Magalhaes NEW
Aditya X BriddickFranceStephen Shaw RENEWAL
Aditya Z GlickGermanyElwin Sharvill PROPOSAL
Aditya D BowleyRussiaOnyama Limba NEGOTIATION
Ivar J MorascaAustraliaAsiya Javayant RENEWAL
David L RimGermanyElwin Sharvill NEW
Ashley E BriddickSpainIvan Magalhaes UNQUALIFIED
Morrow Q DarakjySpainAsiya Javayant QUALIFIED
Cody H StensethIndiaStephen Shaw PROPOSAL
Aruna D DarakjyJapanIoni Bowcher NEW
Tony O PaprockiItalyXuxue Feng QUALIFIED
Aruna W GauchoIndiaXuxue Feng QUALIFIED
Morrow S SergiAustraliaXuxue Feng RENEWAL
Alejandro J AmigonIndiaIoni Bowcher UNQUALIFIED
Cody W GillianArgentinaXuxue Feng QUALIFIED
Sinclair S MacleadIndiaAnna Fali UNQUALIFIED
Emily P ButtCanadaAmy Elsner QUALIFIED
Izzy J PaprockiIndiaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson O NickaGermanyOnyama Limba NEGOTIATION
Antonio E PoquetteCanadaAnna Fali PROPOSAL
Arvin X CampainIndiaOnyama Limba UNQUALIFIED
Francesco Y MorascaUnited KingdomOnyama Limba NEW
Morrow G FollerCanadaBernardo Dominic NEW
Izzy N RulapaughFranceAsiya Javayant PROPOSAL
Nicolas R BologniaAustraliaOnyama Limba QUALIFIED
Leon W GillianSpainBernardo Dominic RENEWAL
Aruna R MarrierGermanyAmy Elsner QUALIFIED
Francesco U VenereArgentinaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna H KolmetzJapan2026-09-21King, Christopher A Esq NEGOTIATION39Amy Elsner
1001Johnson Q NestleIndia2026-09-03Printing Dimensions UNQUALIFIED9Xuxue Feng
1002Maria G DarakjyItaly2026-09-04Feltz Printing Service QUALIFIED64Onyama Limba
1003Deepesh D MorascaSpain2026-09-15Truhlar And Truhlar Attys UNQUALIFIED86Ivan Magalhaes
1004Leon A GauchoGermany2026-09-01Chapman, Ross E Esq RENEWAL0Ioni Bowcher
1005Jennifer M FollerArgentina2026-09-07Benton, John B Jr RENEWAL42Elwin Sharvill
1006Nicolas Z SchemmerRussia2026-09-02Buckley Miller Wright PROPOSAL32Onyama Limba
1007Morrow Y WhobreyArgentina2026-09-19Rangoni Of Florence UNQUALIFIED80Asiya Javayant
1008Stacey U MaletRussia2026-08-30Benton, John B Jr QUALIFIED89Anna Fali
1009Aruna G MarrierItaly2026-08-24Buckley Miller Wright PROPOSAL44Stephen Shaw
1010Darci R FollerAustralia2026-08-28Chapman, Ross E Esq NEGOTIATION47Bernardo Dominic
1011Ricardo S FollerFrance2026-08-26Benton, John B Jr NEW18Bernardo Dominic
1012Munro B ButtFrance2026-09-17Feltz Printing Service QUALIFIED60Anna Fali
1013Jones Z FerenczJapan2026-08-29King, Christopher A Esq NEW98Bernardo Dominic
1014Emily C WieserItaly2026-09-14Feltz Printing Service QUALIFIED21Bernardo Dominic
1015Rodrigues L AmigonItaly2026-09-19King, Christopher A Esq UNQUALIFIED81Anna Fali
1016Arvin W PoquetteJapan2026-09-07Buckley Miller Wright UNQUALIFIED30Xuxue Feng
1017Silvio R WaycottUnited Kingdom2026-08-24Commercial Press NEGOTIATION50Ioni Bowcher
1018Sinclair G KuskoUnited Kingdom2026-08-30King, Christopher A Esq RENEWAL79Stephen Shaw
1019Antonio U IturbideSpain2026-08-28Commercial Press NEGOTIATION80Xuxue Feng
1020Aruna B CaldareraBrazil2026-08-24Printing Dimensions QUALIFIED49Onyama Limba
1021Maisha U ChuiIndia2026-08-28Chapman, Ross E Esq RENEWAL61Asiya Javayant
1022Faith Z GarufiIndia2026-09-07Morlong Associates QUALIFIED11Ivan Magalhaes
1023Sinclair H CampainAustralia2026-08-24Buckley Miller Wright QUALIFIED52Elwin Sharvill
1024Munro H GauchoCanada2026-08-27Commercial Press PROPOSAL32Ioni Bowcher
1025Sinclair S MaletBrazil2026-08-31King, Christopher A Esq UNQUALIFIED90Ioni Bowcher
1026Mayumi O MaletGermany2026-09-08Feiner Bros PROPOSAL17Bernardo Dominic
1027Kaitlin D NickaAustralia2026-08-27Buckley Miller Wright NEW66Asiya Javayant
1028Deepesh D PoquetteBrazil2026-09-05Commercial Press UNQUALIFIED6Anna Fali
1029Nicolas T MarrierIndia2026-08-26Rousseaux, Michael Esq UNQUALIFIED87Anna Fali
1030Mayumi Z VocelkaGermany2026-09-21Truhlar And Truhlar Attys NEW53Elwin Sharvill
1031Cody W NickaBrazil2026-09-21Chanay, Jeffrey A Esq PROPOSAL77Amy Elsner
1032Jones R MaletJapan2026-09-22Rangoni Of Florence UNQUALIFIED42Stephen Shaw
1033Antonio K FigeroaCanada2026-09-20Feltz Printing Service QUALIFIED56Anna Fali
1034Izzy M VenereItaly2026-09-13Buckley Miller Wright PROPOSAL45Asiya Javayant
1035Arvin F StensethUnited Kingdom2026-09-06Chanay, Jeffrey A Esq NEGOTIATION62Bernardo Dominic
1036Clifford A GauchoGermany2026-09-17Feiner Bros UNQUALIFIED52Anna Fali
1037Antonio X MorascaArgentina2026-09-22King, Christopher A Esq PROPOSAL25Bernardo Dominic
1038Silvio U MorascaGermany2026-09-13Rangoni Of Florence PROPOSAL1Asiya Javayant
1039Ricardo A FerenczAustralia2026-09-09Rangoni Of Florence UNQUALIFIED18Xuxue Feng
1040Octavia A PaprockiCanada2026-09-18Rousseaux, Michael Esq NEGOTIATION65Asiya Javayant
1041Julie C MaletGermany2026-08-26Feltz Printing Service PROPOSAL79Xuxue Feng
1042Alejandro Q CampainIndia2026-09-17Feiner Bros UNQUALIFIED13Anna Fali
1043Murillo S GlickAustralia2026-09-08Buckley Miller Wright QUALIFIED2Anna Fali
1044Munro R FlosiSpain2026-08-27Rangoni Of Florence UNQUALIFIED67Stephen Shaw
1045Silvio G SlusarskiSpain2026-09-07Chanay, Jeffrey A Esq QUALIFIED46Stephen Shaw
1046Ricardo B KolmetzAustralia2026-09-15Commercial Press UNQUALIFIED82Stephen Shaw
1047Rodrigues N AmigonIndia2026-08-25Truhlar And Truhlar Attys UNQUALIFIED67Stephen Shaw
1048Munro V InouyeSpain2026-09-07Buckley Miller Wright RENEWAL33Anna Fali
1049Kaitlin Z SaylorsItaly2026-09-21Benton, John B Jr NEW24Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Izzy F RutaUnited KingdomBernardo Dominic NEGOTIATION
Morrow M RulapaughFranceAnna Fali UNQUALIFIED
Leja W AmigonSpainAnna Fali PROPOSAL
Sinclair W FigeroaAustraliaAnna Fali UNQUALIFIED
Isabel I GauchoBrazilXuxue Feng RENEWAL
Juan G GarufiBrazilAsiya Javayant NEGOTIATION
David M RimRussiaAmy Elsner RENEWAL
Munro T ButtIndiaIoni Bowcher NEW
Arvin M DoeFranceIoni Bowcher NEGOTIATION
Jones L MorascaJapanAmy Elsner RENEWAL
Salvatore W RimBrazilXuxue Feng UNQUALIFIED
Claire X RulapaughSpainAsiya Javayant NEW
Greenwood S SlusarskiCanadaIvan Magalhaes NEGOTIATION
Claire Z FerenczAustraliaOnyama Limba UNQUALIFIED
Cody Y DoeBrazilElwin Sharvill QUALIFIED
Antonio Q KolmetzSpainXuxue Feng PROPOSAL
Aika M IturbideIndiaIvan Magalhaes NEW
Alejandro L DarakjyAustraliaAsiya Javayant NEGOTIATION
Kaitlin Z DoeJapanOnyama Limba PROPOSAL
Chavez A NickaAustraliaAmy Elsner QUALIFIED
Stacey G StockhamCanadaIoni Bowcher UNQUALIFIED
Emily V StensethCanadaOnyama Limba PROPOSAL
Rodrigues G BowleyCanadaElwin Sharvill UNQUALIFIED
Aruna F ButtIndiaStephen Shaw RENEWAL
Kaitlin O ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
James K MorascaUnited KingdomStephen Shaw NEGOTIATION
Francesco U GlickIndiaOnyama Limba PROPOSAL
Deepesh V DoeArgentinaBernardo Dominic NEW
Darci L ShinkoIndiaAnna Fali PROPOSAL
Kaitlin Q RutaBrazilXuxue Feng UNQUALIFIED
Juan L VocelkaAustraliaXuxue Feng QUALIFIED
Darci L InouyeRussiaIvan Magalhaes NEGOTIATION
Julie K CaldareraFranceAmy Elsner NEW
Adams K OldroydCanadaOnyama Limba NEW
Cody V WhobreyArgentinaXuxue Feng NEW
Mujtaba H AlbaresSpainOnyama Limba PROPOSAL
Jennifer N InouyeItalyOnyama Limba PROPOSAL
Morrow V ChuiAustraliaIvan Magalhaes UNQUALIFIED
Octavia A SergiRussiaAsiya Javayant NEW
Faith M PoquetteCanadaElwin Sharvill UNQUALIFIED
Juan S OstroskySpainAmy Elsner NEW
Maria T CaldareraJapanOnyama Limba NEGOTIATION
Deepesh U CaudyItalyIvan Magalhaes PROPOSAL
Salvatore S InouyeFranceStephen Shaw QUALIFIED
Aika E StockhamFranceIvan Magalhaes NEGOTIATION
Cody P PerinCanadaIoni Bowcher PROPOSAL
Emily U KolmetzAustraliaElwin Sharvill UNQUALIFIED
Leon U OldroydAustraliaXuxue Feng QUALIFIED
Cody O SlusarskiJapanBernardo Dominic PROPOSAL
Leon O GillianUnited KingdomXuxue Feng QUALIFIED
Frozen Columns
Name
Deepesh S Venere
Jones F Waycott
Francesco J Dilliard
Faith C Caudy
Claire K Rim
Jennifer C Caudy
Izzy G Gillian
Smith R Maclead
Deepesh J Royster
Silvio H Stenseth
Izzy U Shinko
James H Caudy
Leja U Slusarski
Rodrigues F Nestle
Faith V Paprocki
Juan W Briddick
Izzy U Caudy
Ricardo A Sergi
Tony G Albares
Leja G Waycott
Jeanfrancois H Stenseth
Aika V Caldarera
Misaki I Amigon
Mayumi I Nicka
Alejandro A Ruta
Johnson R Doe
Silvio M Ferencz
Ivar C Slusarski
Alejandro F Stenseth
Leja W Tollner
Maria Q Ostrosky
Kaitlin A Iturbide
Alejandro H Darakjy
Arvin F Stenseth
Kaitlin T Garufi
Clifford I Maclead
Munro H Rim
Alejandro N Bowley
Leon J Ostrosky
Arvin T Glick
Isabel D Kolmetz
Salvatore X Iturbide
Smith M Butt
Maria K Oldroyd
Maria U Maclead
Isabel Q Malet
Nicolas L Kusko
Rodrigues T Saylors
Greenwood N Glick
Murillo Q Vocelka
IdCountryDate
1000Italy2026-09-13
1001Brazil2026-09-03
1002Australia2026-09-13
1003India2026-09-16
1004Argentina2026-08-24
1005Japan2026-08-29
1006Spain2026-08-31
1007Australia2026-09-09
1008Argentina2026-09-13
1009Australia2026-09-13
1010Brazil2026-09-19
1011India2026-08-29
1012Australia2026-09-21
1013United Kingdom2026-09-05
1014United Kingdom2026-09-15
1015United Kingdom2026-09-17
1016Canada2026-08-25
1017Germany2026-09-17
1018Canada2026-09-22
1019Russia2026-09-13
1020United Kingdom2026-09-17
1021Germany2026-09-16
1022India2026-09-10
1023Italy2026-09-05
1024Canada2026-09-18
1025Brazil2026-09-18
1026Canada2026-09-10
1027Brazil2026-09-21
1028Spain2026-09-20
1029India2026-08-25
1030Australia2026-09-09
1031Brazil2026-09-17
1032Germany2026-09-07
1033United Kingdom2026-09-04
1034Italy2026-09-06
1035Russia2026-09-14
1036Australia2026-08-31
1037India2026-08-28
1038Germany2026-09-15
1039Brazil2026-09-03
1040Japan2026-08-27
1041United Kingdom2026-09-04
1042Italy2026-08-26
1043Japan2026-08-28
1044Italy2026-09-19
1045Japan2026-08-31
1046Japan2026-09-02
1047Australia2026-09-19
1048Japan2026-08-25
1049United Kingdom2026-09-06

On-Demand Data

NameIdCountryDate
Faith S Gaucho1000Australia2026-09-03
Morrow T Gillian1001France2026-09-16
Antonio M Sergi1002Italy2026-09-20
Nicolas O Darakjy1003Italy2026-09-21
Misaki Z Whobrey1004Australia2026-09-07
Adams C Briddick1005Italy2026-08-24
Jennifer K Gaucho1006Canada2026-08-30
Claire I Shinko1007France2026-08-28
Isabel K Ferencz1008Russia2026-09-19
Johnson W Darakjy1009Argentina2026-09-05
Clifford X Whobrey1010France2026-08-30
Aditya M Bolognia1011Japan2026-08-28
Silvio Z Schemmer1012Spain2026-09-05
Rodrigues L Dilliard1013United Kingdom2026-09-08
Maria R Chui1014Germany2026-08-29
Juan A Inouye1015Italy2026-09-11
Ivar F Ruta1016Japan2026-08-26
Johnson U Vocelka1017Russia2026-08-27
Aika Z Albares1018France2026-09-10
Jones K Darakjy1019Argentina2026-08-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan B PaprockiSpainAsiya Javayant PROPOSAL
Maria S MaletSpainBernardo Dominic QUALIFIED
Costa D SergiJapanXuxue Feng QUALIFIED
Munro O FollerCanadaXuxue Feng NEW
Costa R PoquetteJapanStephen Shaw NEW
Izzy P CaudyBrazilAnna Fali PROPOSAL
Salvatore J MarrierItalyOnyama Limba QUALIFIED
Izzy N StensethItalyAsiya Javayant UNQUALIFIED
Munro L RoysterFranceOnyama Limba UNQUALIFIED
Leja W DarakjyArgentinaElwin Sharvill NEGOTIATION
Deepesh L FlosiGermanyAsiya Javayant NEW
Darci S MaletBrazilOnyama Limba NEW
Greenwood H CampainCanadaAnna Fali RENEWAL
Kaitlin V FlosiUnited KingdomBernardo Dominic QUALIFIED
Misaki U OstroskyIndiaIoni Bowcher UNQUALIFIED
Adams U BriddickFranceAnna Fali NEGOTIATION
Adams E SlusarskiItalyXuxue Feng NEW
Sinclair T VocelkaBrazilBernardo Dominic UNQUALIFIED
Mujtaba E AmigonRussiaIoni Bowcher RENEWAL
Ivar V MorascaArgentinaAmy Elsner RENEWAL
Cody J KuskoBrazilBernardo Dominic NEGOTIATION
Francesco S SaylorsItalyAsiya Javayant PROPOSAL
Salvatore S DarakjyArgentinaBernardo Dominic QUALIFIED
Maisha J GlickSpainAsiya Javayant PROPOSAL
Silvio F GauchoIndiaBernardo Dominic QUALIFIED
Stacey P NickaBrazilIoni Bowcher UNQUALIFIED
Julie T MorascaSpainAmy Elsner NEGOTIATION
Sinclair Z MaletCanadaXuxue Feng NEGOTIATION
Ashley O NickaRussiaAsiya Javayant NEW
Aika G PoquetteFranceStephen Shaw NEW
Jefferson J ShinkoSpainIvan Magalhaes UNQUALIFIED
Darci A RimRussiaAnna Fali RENEWAL
Mayumi L SchemmerBrazilIoni Bowcher NEGOTIATION
Chavez G FollerAustraliaStephen Shaw NEW
Juan N RoysterJapanXuxue Feng UNQUALIFIED
Octavia U AlbaresSpainElwin Sharvill NEW
Misaki Q InouyeBrazilBernardo Dominic RENEWAL
Jeanfrancois Q MaletRussiaOnyama Limba UNQUALIFIED
Sinclair R BologniaRussiaXuxue Feng NEGOTIATION
Maria F MaletBrazilStephen Shaw UNQUALIFIED

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