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
Cody M GarufiBrazilAnna Fali QUALIFIED
Wickens I MacleadIndiaAsiya Javayant NEW
Costa Y StockhamItalyElwin Sharvill NEGOTIATION
Ricardo O RulapaughBrazilIoni Bowcher UNQUALIFIED
Ivar S WhobreyCanadaBernardo Dominic PROPOSAL
Claire Y StockhamBrazilXuxue Feng NEGOTIATION
Deepesh W BowleyUnited KingdomBernardo Dominic NEGOTIATION
Octavia N OstroskyJapanStephen Shaw UNQUALIFIED
Johnson A DoeJapanAsiya Javayant RENEWAL
Octavia H SchemmerJapanAsiya Javayant PROPOSAL
David X RutaAustraliaXuxue Feng PROPOSAL
Jones L CampainCanadaAmy Elsner QUALIFIED
Tony X StockhamGermanyStephen Shaw NEW
Arvin G MaletBrazilIoni Bowcher UNQUALIFIED
Isabel L IturbideIndiaAnna Fali RENEWAL
Nicolas G MorascaUnited KingdomXuxue Feng UNQUALIFIED
Morrow U FerenczArgentinaIoni Bowcher NEGOTIATION
Aika E RutaUnited KingdomIoni Bowcher RENEWAL
Misaki M MaletCanadaAsiya Javayant RENEWAL
Cody T ChuiArgentinaOnyama Limba NEW
Arvin X SchemmerBrazilAsiya Javayant RENEWAL
Octavia U RutaArgentinaAmy Elsner NEW
Jennifer U SchemmerGermanyXuxue Feng QUALIFIED
Costa C IturbideIndiaOnyama Limba NEGOTIATION
Costa S GillianUnited KingdomStephen Shaw NEW
Tony R OstroskyJapanXuxue Feng PROPOSAL
David D GillianBrazilXuxue Feng QUALIFIED
Kaitlin S FerenczSpainBernardo Dominic PROPOSAL
Deepesh N CampainGermanyXuxue Feng QUALIFIED
Octavia Z WhobreyCanadaAmy Elsner NEGOTIATION
Rodrigues J BriddickIndiaOnyama Limba QUALIFIED
Ashley O GlickBrazilAnna Fali PROPOSAL
Jefferson A FerenczUnited KingdomElwin Sharvill NEW
Salvatore Z NickaJapanStephen Shaw UNQUALIFIED
Stacey O CaudyArgentinaAnna Fali UNQUALIFIED
Silvio Z ChuiFranceAsiya Javayant RENEWAL
Leon F TollnerBrazilStephen Shaw UNQUALIFIED
Tony K AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Jefferson B RulapaughFranceStephen Shaw NEW
Alejandro I KolmetzItalyOnyama Limba RENEWAL
Morrow C StockhamItalyAnna Fali PROPOSAL
Cody Q InouyeBrazilElwin Sharvill NEGOTIATION
Costa Z WhobreyIndiaIvan Magalhaes NEGOTIATION
Greenwood J StensethIndiaElwin Sharvill NEGOTIATION
Leon W RoysterBrazilAmy Elsner RENEWAL
James E BologniaJapanAsiya Javayant RENEWAL
Clifford E MaletArgentinaStephen Shaw NEW
Clifford G WaycottGermanyAsiya Javayant UNQUALIFIED
Wickens H NestleGermanyAmy Elsner UNQUALIFIED
Adams R StockhamJapanIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Antonio Q AlbaresAustraliaElwin Sharvill PROPOSAL
Johnson L InouyeGermanyBernardo Dominic PROPOSAL
Mayumi O WhobreyBrazilIoni Bowcher UNQUALIFIED
Arvin U AlbaresFranceIvan Magalhaes NEGOTIATION
Aika E VenereJapanElwin Sharvill UNQUALIFIED
Murillo W SchemmerIndiaBernardo Dominic NEGOTIATION
Isabel K InouyeBrazilIoni Bowcher RENEWAL
Isabel D AmigonItalyIvan Magalhaes QUALIFIED
Leon Q KuskoJapanAnna Fali NEW
Mayumi X IturbideBrazilElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin A TollnerBrazil2026-09-28Chemel, James L Cpa UNQUALIFIED21Bernardo Dominic
1001Jennifer Z KuskoGermany2026-09-22Chemel, James L Cpa NEGOTIATION47Anna Fali
1002Munro J BriddickArgentina2026-09-10Buckley Miller Wright NEGOTIATION47Onyama Limba
1003Ricardo A AlbaresSpain2026-09-23Truhlar And Truhlar Attys NEGOTIATION94Ivan Magalhaes
1004Adams P InouyeFrance2026-09-30Dorl, James J Esq NEGOTIATION27Amy Elsner
1005Ashley T RutaArgentina2026-09-10Rangoni Of Florence QUALIFIED26Stephen Shaw
1006James H AmigonFrance2026-09-27Commercial Press NEGOTIATION74Stephen Shaw
1007Wickens M PerinGermany2026-09-23Truhlar And Truhlar Attys NEGOTIATION46Stephen Shaw
1008Leon B SaylorsArgentina2026-09-23Feiner Bros NEW2Xuxue Feng
1009Ashley L GauchoBrazil2026-10-06Chemel, James L Cpa QUALIFIED7Amy Elsner
1010Costa T WieserRussia2026-09-13Rangoni Of Florence UNQUALIFIED69Amy Elsner
1011Johnson I MorascaBrazil2026-09-15Chapman, Ross E Esq PROPOSAL69Bernardo Dominic
1012Alejandro L NestleAustralia2026-09-25Buckley Miller Wright QUALIFIED98Anna Fali
1013Leja C NestleUnited Kingdom2026-09-27Chemel, James L Cpa NEGOTIATION18Ivan Magalhaes
1014Leja H OldroydCanada2026-09-17King, Christopher A Esq NEGOTIATION64Bernardo Dominic
1015Antonio T CaudyAustralia2026-09-15Buckley Miller Wright PROPOSAL2Bernardo Dominic
1016Alejandro Q MaletUnited Kingdom2026-09-13Chapman, Ross E Esq NEW19Stephen Shaw
1017Ricardo Q NestleBrazil2026-09-20Chanay, Jeffrey A Esq PROPOSAL18Onyama Limba
1018Tony O GlickCanada2026-09-25Morlong Associates QUALIFIED38Xuxue Feng
1019Kaitlin D CampainBrazil2026-10-03Buckley Miller Wright RENEWAL39Ioni Bowcher
1020Leja D GlickArgentina2026-09-21King, Christopher A Esq NEW63Onyama Limba
1021Isabel G InouyeSpain2026-10-04Feiner Bros PROPOSAL73Anna Fali
1022Ricardo H TollnerArgentina2026-09-21King, Christopher A Esq UNQUALIFIED65Stephen Shaw
1023Smith C OstroskyItaly2026-09-28Chanay, Jeffrey A Esq NEGOTIATION48Ivan Magalhaes
1024Greenwood N VenereBrazil2026-09-26Chanay, Jeffrey A Esq RENEWAL24Amy Elsner
1025Leon K MacleadGermany2026-09-27Printing Dimensions NEW84Xuxue Feng
1026Smith J GarufiItaly2026-09-30Feltz Printing Service NEW36Ivan Magalhaes
1027David B WieserUnited Kingdom2026-09-09Rangoni Of Florence PROPOSAL71Ioni Bowcher
1028Leon E AlbaresArgentina2026-09-24Buckley Miller Wright QUALIFIED68Xuxue Feng
1029Jeanfrancois B WaycottFrance2026-09-25Feltz Printing Service PROPOSAL72Bernardo Dominic
1030Maria E FerenczAustralia2026-09-09Printing Dimensions UNQUALIFIED49Asiya Javayant
1031Smith S PerinAustralia2026-09-07Benton, John B Jr PROPOSAL49Ioni Bowcher
1032Maisha Y MarrierIndia2026-09-24Feiner Bros PROPOSAL93Bernardo Dominic
1033Costa B CampainArgentina2026-09-22Chanay, Jeffrey A Esq RENEWAL87Asiya Javayant
1034Sinclair N GillianItaly2026-10-03Rousseaux, Michael Esq UNQUALIFIED2Asiya Javayant
1035Arvin D GauchoAustralia2026-09-17Rousseaux, Michael Esq PROPOSAL85Bernardo Dominic
1036Aika A BowleyGermany2026-10-04King, Christopher A Esq PROPOSAL99Amy Elsner
1037Ashley I PoquetteFrance2026-09-19Feltz Printing Service NEGOTIATION4Xuxue Feng
1038Claire F FerenczSpain2026-09-16Printing Dimensions RENEWAL50Anna Fali
1039Jennifer P IturbideCanada2026-09-08Chapman, Ross E Esq PROPOSAL80Asiya Javayant
1040Nicolas U DoeRussia2026-09-29Dorl, James J Esq QUALIFIED83Asiya Javayant
1041Maria C FigeroaRussia2026-09-19Morlong Associates QUALIFIED30Anna Fali
1042Kaitlin E VenereItaly2026-09-16Rousseaux, Michael Esq QUALIFIED71Ivan Magalhaes
1043Jeanfrancois A FlosiArgentina2026-09-25Chanay, Jeffrey A Esq RENEWAL28Asiya Javayant
1044Julie Y ButtIndia2026-09-30Feltz Printing Service UNQUALIFIED42Xuxue Feng
1045Aika I SergiBrazil2026-10-01King, Christopher A Esq PROPOSAL3Onyama Limba
1046Kadeem C MarrierIndia2026-10-02King, Christopher A Esq UNQUALIFIED36Elwin Sharvill
1047Leja B RimArgentina2026-10-06Printing Dimensions NEW83Ioni Bowcher
1048Nicolas W ShinkoRussia2026-09-22Rousseaux, Michael Esq RENEWAL83Elwin Sharvill
1049Clifford I DoeItaly2026-09-27Chapman, Ross E Esq RENEWAL77Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Johnson Q NestleRussiaElwin Sharvill NEGOTIATION
Leon Q KuskoSpainStephen Shaw QUALIFIED
Clifford H MaletRussiaAnna Fali QUALIFIED
Morrow U StensethArgentinaElwin Sharvill RENEWAL
Costa W TollnerGermanyAmy Elsner UNQUALIFIED
Ashley J FollerCanadaOnyama Limba QUALIFIED
Octavia O MorascaRussiaAnna Fali RENEWAL
Costa T InouyeSpainAsiya Javayant PROPOSAL
Arvin V MarrierBrazilAmy Elsner PROPOSAL
James E GarufiItalyXuxue Feng PROPOSAL
David L DilliardRussiaOnyama Limba PROPOSAL
Silvio M MarrierCanadaBernardo Dominic NEW
David O GillianCanadaElwin Sharvill NEGOTIATION
Silvio C IturbideSpainStephen Shaw NEGOTIATION
Izzy D FigeroaIndiaElwin Sharvill PROPOSAL
Rodrigues S PoquetteRussiaAsiya Javayant RENEWAL
Sinclair K PaprockiJapanStephen Shaw RENEWAL
Darci J WieserItalyAsiya Javayant RENEWAL
Silvio V AlbaresJapanAnna Fali PROPOSAL
Kaitlin X SchemmerBrazilElwin Sharvill RENEWAL
Aruna H AmigonUnited KingdomXuxue Feng NEGOTIATION
David J PerinJapanAsiya Javayant PROPOSAL
Antonio D MarrierUnited KingdomStephen Shaw NEGOTIATION
Murillo X StockhamCanadaOnyama Limba QUALIFIED
Izzy O CampainCanadaStephen Shaw PROPOSAL
Silvio B VocelkaBrazilAnna Fali NEGOTIATION
Costa T GlickArgentinaAsiya Javayant RENEWAL
Sinclair Q BriddickGermanyStephen Shaw UNQUALIFIED
Jennifer L ShinkoItalyIvan Magalhaes RENEWAL
Ricardo Q ShinkoRussiaIoni Bowcher NEW
Francesco N InouyeGermanyElwin Sharvill NEW
James L VenereFranceXuxue Feng RENEWAL
Costa O PerinItalyXuxue Feng QUALIFIED
Greenwood Y BologniaUnited KingdomAnna Fali NEGOTIATION
Faith F ChuiAustraliaIoni Bowcher QUALIFIED
Misaki T StensethFranceIvan Magalhaes PROPOSAL
Julie A PoquetteArgentinaAsiya Javayant NEW
Munro M FlosiUnited KingdomIoni Bowcher PROPOSAL
Silvio T CampainCanadaAmy Elsner UNQUALIFIED
Tony S DilliardIndiaStephen Shaw NEW
Francesco N KolmetzCanadaOnyama Limba UNQUALIFIED
Ricardo A RutaAustraliaOnyama Limba NEW
Emily Y GlickSpainXuxue Feng NEW
Greenwood V VenereUnited KingdomAnna Fali PROPOSAL
Octavia Z RulapaughItalyXuxue Feng PROPOSAL
Kadeem T ChuiRussiaOnyama Limba QUALIFIED
Ivar O TollnerArgentinaAmy Elsner UNQUALIFIED
Murillo C CaudyItalyElwin Sharvill PROPOSAL
Izzy O CaudyRussiaIvan Magalhaes RENEWAL
Rodrigues L FigeroaJapanXuxue Feng RENEWAL
Frozen Columns
Name
Deepesh U Caldarera
James U Marrier
Nicolas R Doe
Arvin I Tollner
Maisha W Perin
Jeanfrancois S Rulapaugh
Stacey Q Rim
Ivar L Wieser
Misaki J Kolmetz
Murillo P Perin
Greenwood V Caldarera
Mujtaba E Kusko
Octavia K Ruta
Cody V Marrier
Greenwood E Malet
Silvio B Oldroyd
Ashley R Chui
Kaitlin W Darakjy
Silvio H Malet
Darci Q Morasca
Arvin O Vocelka
Greenwood O Butt
Silvio J Amigon
Jones E Kusko
Leon A Royster
Chavez K Marrier
Costa Y Kusko
Jennifer D Saylors
Maisha N Poquette
Maria Z Rim
Chavez H Saylors
Jennifer Y Chui
Mujtaba H Stenseth
Alejandro I Oldroyd
Adams H Whobrey
Kaitlin J Oldroyd
Cody O Flosi
James M Nestle
Alejandro T Malet
Costa X Poquette
Misaki W Flosi
Claire P Nicka
Julie V Nestle
Adams T Wieser
Leja M Shinko
Ivar P Foller
Sinclair K Venere
Aika P Ostrosky
Greenwood I Stenseth
Stacey C Rulapaugh
IdCountryDate
1000United Kingdom2026-09-23
1001Australia2026-09-18
1002Japan2026-09-27
1003Canada2026-10-01
1004Brazil2026-09-21
1005Canada2026-09-20
1006Japan2026-09-16
1007France2026-09-28
1008Italy2026-09-25
1009Italy2026-10-05
1010Germany2026-09-10
1011India2026-09-07
1012France2026-09-12
1013Spain2026-10-06
1014India2026-09-21
1015United Kingdom2026-09-23
1016Spain2026-09-09
1017Germany2026-09-21
1018France2026-09-22
1019France2026-09-24
1020United Kingdom2026-09-30
1021Spain2026-09-24
1022India2026-09-30
1023Argentina2026-09-23
1024Spain2026-10-01
1025India2026-09-10
1026Canada2026-09-20
1027Germany2026-09-25
1028Canada2026-09-13
1029Spain2026-09-16
1030Germany2026-10-03
1031Spain2026-10-01
1032Germany2026-09-29
1033France2026-09-22
1034Japan2026-09-07
1035Canada2026-09-16
1036Italy2026-10-05
1037Russia2026-09-10
1038Germany2026-09-21
1039Argentina2026-09-08
1040Canada2026-09-26
1041Russia2026-09-07
1042Canada2026-10-02
1043Argentina2026-09-28
1044France2026-10-01
1045India2026-09-13
1046France2026-09-19
1047Canada2026-09-10
1048Japan2026-09-23
1049Canada2026-09-07

On-Demand Data

NameIdCountryDate
Juan H Glick1000Australia2026-09-12
Emily N Iturbide1001Italy2026-09-30
Greenwood O Wieser1002Germany2026-09-18
Izzy C Ostrosky1003Russia2026-09-16
Misaki M Ferencz1004Brazil2026-10-06
Aruna F Kolmetz1005Brazil2026-09-11
Adams X Whobrey1006United Kingdom2026-10-05
Rodrigues J Wieser1007Canada2026-09-13
Claire Z Shinko1008France2026-09-28
Francesco G Tollner1009Argentina2026-09-20
Aditya O Nestle1010Spain2026-09-13
Adams F Amigon1011Argentina2026-09-24
Wickens C Royster1012Argentina2026-09-10
Rodrigues R Bowley1013Argentina2026-10-05
Johnson F Slusarski1014France2026-09-21
Emily Y Sergi1015India2026-10-03
Silvio O Waycott1016Canada2026-09-21
Alejandro Y Sergi1017Argentina2026-09-20
Nicolas J Royster1018United Kingdom2026-09-29
Leon J Stenseth1019Germany2026-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar M MorascaCanadaBernardo Dominic RENEWAL
Cody G MaletUnited KingdomBernardo Dominic RENEWAL
Ivar J CaudyCanadaElwin Sharvill RENEWAL
Jennifer V VenereCanadaStephen Shaw NEGOTIATION
Mujtaba V MaletArgentinaBernardo Dominic RENEWAL
Julie I MaletSpainStephen Shaw NEGOTIATION
Rodrigues C FerenczAustraliaXuxue Feng RENEWAL
Octavia J IturbideGermanyIvan Magalhaes QUALIFIED
Jennifer X SaylorsBrazilAsiya Javayant NEGOTIATION
Izzy F IturbideJapanIvan Magalhaes UNQUALIFIED
Jones F ChuiGermanyStephen Shaw QUALIFIED
Arvin S InouyeItalyIvan Magalhaes NEGOTIATION
Salvatore R GillianAustraliaIvan Magalhaes RENEWAL
Stacey P TollnerAustraliaXuxue Feng QUALIFIED
Ricardo N BriddickRussiaElwin Sharvill NEW
Juan G PoquetteUnited KingdomXuxue Feng RENEWAL
Chavez K RoysterItalyBernardo Dominic NEGOTIATION
Nicolas C BologniaAustraliaAnna Fali NEGOTIATION
Stacey F VenereIndiaIoni Bowcher PROPOSAL
Faith K WaycottIndiaOnyama Limba PROPOSAL
Jones C SergiAustraliaIvan Magalhaes NEGOTIATION
Murillo N RulapaughCanadaStephen Shaw RENEWAL
Silvio K DoeItalyStephen Shaw UNQUALIFIED
Emily G GauchoUnited KingdomAsiya Javayant NEGOTIATION
Jefferson M StensethIndiaIoni Bowcher UNQUALIFIED
James E ShinkoBrazilIoni Bowcher NEW
Antonio L RoysterCanadaXuxue Feng PROPOSAL
Johnson K IturbideSpainBernardo Dominic QUALIFIED
Juan S KolmetzItalyOnyama Limba NEW
Clifford I FollerUnited KingdomIvan Magalhaes PROPOSAL
Jennifer D DilliardGermanyAmy Elsner QUALIFIED
Johnson U SaylorsIndiaAsiya Javayant RENEWAL
Stacey D MaletCanadaXuxue Feng QUALIFIED
Juan Z KuskoIndiaElwin Sharvill QUALIFIED
Sinclair Y OldroydRussiaBernardo Dominic RENEWAL
Aruna O PerinAustraliaIoni Bowcher QUALIFIED
Greenwood R ButtAustraliaOnyama Limba NEGOTIATION
Tony X RoysterAustraliaElwin Sharvill NEGOTIATION
Mujtaba Z PoquetteBrazilXuxue Feng RENEWAL
Costa R WieserRussiaAnna Fali 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>