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 E GarufiFranceBernardo Dominic UNQUALIFIED
Maisha J GlickIndiaAnna Fali UNQUALIFIED
Darci T CampainBrazilBernardo Dominic PROPOSAL
Jefferson D CaldareraBrazilAsiya Javayant NEW
Silvio P GarufiUnited KingdomAsiya Javayant NEW
Maisha P GarufiSpainBernardo Dominic UNQUALIFIED
Rodrigues L FollerItalyBernardo Dominic PROPOSAL
Ricardo N SchemmerArgentinaAmy Elsner NEW
Faith Z OstroskyJapanAsiya Javayant QUALIFIED
Jennifer Q GlickCanadaAnna Fali QUALIFIED
Greenwood S CampainFranceXuxue Feng QUALIFIED
Faith D ButtSpainAsiya Javayant NEGOTIATION
Kaitlin Z StensethBrazilXuxue Feng PROPOSAL
Kadeem Q RoysterGermanyAsiya Javayant NEW
Antonio L PaprockiCanadaBernardo Dominic UNQUALIFIED
Ashley T GauchoRussiaXuxue Feng UNQUALIFIED
Kaitlin O ButtAustraliaAmy Elsner RENEWAL
Jennifer X ShinkoArgentinaAsiya Javayant NEGOTIATION
Arvin U StockhamCanadaBernardo Dominic PROPOSAL
Kaitlin Z NestleUnited KingdomAnna Fali PROPOSAL
Jennifer R MacleadAustraliaAnna Fali PROPOSAL
Cody N MorascaSpainAmy Elsner RENEWAL
Jennifer P RulapaughGermanyAmy Elsner NEGOTIATION
Smith Q NickaRussiaOnyama Limba NEGOTIATION
Tony Y RulapaughJapanOnyama Limba UNQUALIFIED
Tony V SlusarskiArgentinaAsiya Javayant RENEWAL
Arvin B OldroydCanadaXuxue Feng RENEWAL
Nicolas E RutaRussiaAnna Fali RENEWAL
Ivar H NestleGermanyIoni Bowcher PROPOSAL
Jefferson T VocelkaGermanyIvan Magalhaes NEW
Octavia M MorascaCanadaElwin Sharvill NEW
Jones X InouyeArgentinaElwin Sharvill PROPOSAL
Wickens U KolmetzIndiaIvan Magalhaes QUALIFIED
Claire P RutaCanadaAnna Fali NEW
Wickens O AmigonArgentinaAnna Fali PROPOSAL
James F RoysterRussiaOnyama Limba UNQUALIFIED
Wickens G SlusarskiItalyOnyama Limba PROPOSAL
Faith N DarakjyAustraliaElwin Sharvill UNQUALIFIED
Ivar R DarakjyAustraliaAnna Fali PROPOSAL
Maisha X MaletAustraliaElwin Sharvill NEGOTIATION
Maisha A SlusarskiSpainBernardo Dominic QUALIFIED
Stacey Z InouyeJapanXuxue Feng PROPOSAL
Silvio G GarufiSpainAmy Elsner NEW
Kaitlin N TollnerIndiaAsiya Javayant NEGOTIATION
Sinclair W KuskoGermanyBernardo Dominic PROPOSAL
Costa C RoysterFranceBernardo Dominic UNQUALIFIED
Aditya Q TollnerJapanBernardo Dominic QUALIFIED
Murillo Y FollerIndiaIvan Magalhaes NEW
David R WhobreyJapanAsiya Javayant NEGOTIATION
Salvatore Q FerenczSpainAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Maria K MacleadRussiaIoni Bowcher QUALIFIED
Jefferson D PaprockiFranceXuxue Feng QUALIFIED
Adams A WieserArgentinaBernardo Dominic UNQUALIFIED
Misaki Z NickaRussiaIoni Bowcher QUALIFIED
Julie Z CaudyFranceElwin Sharvill PROPOSAL
Leon Q DilliardSpainXuxue Feng UNQUALIFIED
Francesco Y OldroydFranceAsiya Javayant PROPOSAL
Julie E MorascaItalyIoni Bowcher UNQUALIFIED
Leon F IturbideSpainOnyama Limba UNQUALIFIED
Ricardo O GauchoIndiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi E VocelkaGermany2026-10-20King, Christopher A Esq NEW96Anna Fali
1001Kaitlin C InouyeCanada2026-10-21Benton, John B Jr UNQUALIFIED25Elwin Sharvill
1002Chavez K RoysterJapan2026-11-06Chemel, James L Cpa NEGOTIATION34Ioni Bowcher
1003Jennifer E FigeroaJapan2026-10-30Chapman, Ross E Esq QUALIFIED57Asiya Javayant
1004Ivar G PoquetteBrazil2026-10-19Chapman, Ross E Esq UNQUALIFIED10Anna Fali
1005Kadeem J PoquetteArgentina2026-10-24Commercial Press NEW50Asiya Javayant
1006Tony U DoeBrazil2026-10-22Chemel, James L Cpa UNQUALIFIED80Amy Elsner
1007Isabel Z PerinCanada2026-10-21Truhlar And Truhlar Attys PROPOSAL23Bernardo Dominic
1008Ivar N SergiBrazil2026-10-14Commercial Press NEW23Onyama Limba
1009Clifford X MarrierFrance2026-10-14Morlong Associates PROPOSAL32Ivan Magalhaes
1010David L FigeroaCanada2026-11-03Printing Dimensions NEW91Xuxue Feng
1011Greenwood F VocelkaItaly2026-10-13Morlong Associates PROPOSAL81Xuxue Feng
1012Deepesh H KolmetzUnited Kingdom2026-10-29Chemel, James L Cpa PROPOSAL94Stephen Shaw
1013Arvin B AlbaresGermany2026-10-30Chemel, James L Cpa RENEWAL80Anna Fali
1014Wickens A MarrierRussia2026-10-25Buckley Miller Wright QUALIFIED72Onyama Limba
1015Mujtaba Y ButtBrazil2026-11-06Printing Dimensions RENEWAL77Stephen Shaw
1016Tony E TollnerRussia2026-11-02Benton, John B Jr QUALIFIED86Elwin Sharvill
1017Greenwood M PoquetteRussia2026-10-13Truhlar And Truhlar Attys QUALIFIED46Bernardo Dominic
1018Munro L GarufiArgentina2026-11-01Chapman, Ross E Esq NEW3Amy Elsner
1019Costa C IturbideArgentina2026-10-22Rousseaux, Michael Esq NEW33Anna Fali
1020Ashley K AmigonSpain2026-10-21Morlong Associates NEGOTIATION0Bernardo Dominic
1021Cody S CaldareraUnited Kingdom2026-10-15King, Christopher A Esq PROPOSAL87Ioni Bowcher
1022Deepesh T StensethItaly2026-10-27Commercial Press UNQUALIFIED12Stephen Shaw
1023Arvin C SergiBrazil2026-10-26Rousseaux, Michael Esq PROPOSAL57Bernardo Dominic
1024Antonio D KolmetzCanada2026-10-26Commercial Press PROPOSAL95Onyama Limba
1025Alejandro E PaprockiAustralia2026-10-26Feltz Printing Service NEGOTIATION58Asiya Javayant
1026Murillo X RulapaughCanada2026-10-15Truhlar And Truhlar Attys NEW75Onyama Limba
1027Adams H WaycottUnited Kingdom2026-10-11Benton, John B Jr UNQUALIFIED23Bernardo Dominic
1028Stacey A CampainAustralia2026-10-16Chemel, James L Cpa UNQUALIFIED92Asiya Javayant
1029Murillo K ChuiFrance2026-10-15Printing Dimensions NEGOTIATION9Stephen Shaw
1030Juan I CaudyGermany2026-10-28Chemel, James L Cpa QUALIFIED63Stephen Shaw
1031Antonio L InouyeSpain2026-10-28Chapman, Ross E Esq NEW29Anna Fali
1032Izzy B FlosiJapan2026-10-14Commercial Press UNQUALIFIED43Xuxue Feng
1033Mayumi F WaycottFrance2026-10-29Rousseaux, Michael Esq NEGOTIATION49Ivan Magalhaes
1034Rodrigues M InouyeCanada2026-10-27Feiner Bros PROPOSAL65Onyama Limba
1035Antonio T AmigonSpain2026-11-02Chanay, Jeffrey A Esq QUALIFIED1Asiya Javayant
1036Morrow Y NickaUnited Kingdom2026-10-21Chapman, Ross E Esq UNQUALIFIED46Ivan Magalhaes
1037Julie Z GauchoGermany2026-10-24Feiner Bros NEGOTIATION17Ivan Magalhaes
1038Emily V StockhamCanada2026-10-29Rousseaux, Michael Esq NEW43Xuxue Feng
1039Deepesh J StockhamBrazil2026-10-14Chemel, James L Cpa RENEWAL4Elwin Sharvill
1040Julie H IturbideArgentina2026-10-18Truhlar And Truhlar Attys NEGOTIATION5Elwin Sharvill
1041Morrow V PaprockiUnited Kingdom2026-11-07Truhlar And Truhlar Attys NEGOTIATION75Amy Elsner
1042Antonio I VocelkaJapan2026-10-25Commercial Press UNQUALIFIED44Ivan Magalhaes
1043Ashley Z BriddickFrance2026-10-30Morlong Associates QUALIFIED90Bernardo Dominic
1044Maria I DoeFrance2026-11-05Chemel, James L Cpa PROPOSAL24Onyama Limba
1045Jennifer K BologniaFrance2026-10-17Feiner Bros NEW45Ioni Bowcher
1046Misaki U AlbaresBrazil2026-10-09Morlong Associates RENEWAL2Ioni Bowcher
1047Leon K WhobreyJapan2026-10-10Chemel, James L Cpa NEGOTIATION28Amy Elsner
1048Aruna X ShinkoArgentina2026-11-07Commercial Press UNQUALIFIED70Ivan Magalhaes
1049Deepesh M KolmetzItaly2026-10-28Chapman, Ross E Esq RENEWAL78Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Julie X FigeroaIndiaAmy Elsner NEGOTIATION
Cody N TollnerAustraliaBernardo Dominic NEGOTIATION
Tony C MorascaItalyIoni Bowcher UNQUALIFIED
Alejandro C MaletItalyXuxue Feng PROPOSAL
Nicolas J KolmetzUnited KingdomIoni Bowcher NEW
David C VenereIndiaStephen Shaw NEW
Mayumi C InouyeIndiaIvan Magalhaes UNQUALIFIED
Jeanfrancois B SlusarskiItalyIvan Magalhaes UNQUALIFIED
Adams Y ShinkoUnited KingdomOnyama Limba PROPOSAL
David X WaycottBrazilBernardo Dominic QUALIFIED
Julie Q CaudySpainElwin Sharvill UNQUALIFIED
Mujtaba N PoquetteGermanyIvan Magalhaes RENEWAL
Costa V RutaIndiaXuxue Feng RENEWAL
Jennifer B SlusarskiArgentinaStephen Shaw PROPOSAL
Salvatore U GauchoUnited KingdomXuxue Feng UNQUALIFIED
Francesco U MacleadBrazilAnna Fali NEW
Mujtaba P FigeroaArgentinaXuxue Feng QUALIFIED
Kadeem I SlusarskiGermanyAmy Elsner NEW
Leja B SergiUnited KingdomStephen Shaw PROPOSAL
Murillo I CaldareraSpainOnyama Limba NEW
Morrow R WhobreyFranceAmy Elsner UNQUALIFIED
Smith Y WhobreyRussiaIvan Magalhaes RENEWAL
Leon Z PaprockiGermanyStephen Shaw NEW
Julie Q ButtJapanOnyama Limba NEW
Greenwood O CampainItalyOnyama Limba NEW
Alejandro B MarrierUnited KingdomElwin Sharvill NEGOTIATION
Arvin G GauchoAustraliaStephen Shaw QUALIFIED
Juan Z RoysterArgentinaAnna Fali QUALIFIED
Tony F DoeSpainAmy Elsner PROPOSAL
Alejandro K AlbaresUnited KingdomAsiya Javayant RENEWAL
Greenwood P RulapaughCanadaAsiya Javayant NEW
Salvatore D KolmetzGermanyAmy Elsner NEGOTIATION
Kadeem H DarakjyItalyAsiya Javayant RENEWAL
Mayumi D MaletAustraliaIvan Magalhaes PROPOSAL
Sinclair W FerenczItalyIoni Bowcher UNQUALIFIED
Nicolas R SlusarskiBrazilAsiya Javayant NEW
Leon H AmigonUnited KingdomAsiya Javayant NEGOTIATION
Claire E TollnerIndiaStephen Shaw NEGOTIATION
Claire P KolmetzArgentinaAnna Fali RENEWAL
Darci B ShinkoAustraliaStephen Shaw RENEWAL
David U SaylorsRussiaAnna Fali UNQUALIFIED
Maria W BologniaCanadaBernardo Dominic QUALIFIED
Alejandro F WieserRussiaIoni Bowcher RENEWAL
Ashley C DilliardJapanAmy Elsner NEW
Nicolas B MorascaItalyAmy Elsner RENEWAL
Ivar G RimAustraliaStephen Shaw NEGOTIATION
Greenwood E WhobreyGermanyAsiya Javayant NEW
Wickens O MacleadRussiaElwin Sharvill QUALIFIED
Misaki N OldroydRussiaElwin Sharvill NEW
Izzy F MarrierRussiaOnyama Limba PROPOSAL
Frozen Columns
Name
Alejandro K Shinko
Misaki O Whobrey
Ashley U Chui
Izzy T Paprocki
Julie B Tollner
Deepesh P Tollner
Ricardo D Rulapaugh
Leon E Gaucho
Antonio Z Ostrosky
Emily G Gaucho
Jeanfrancois L Rim
Claire Q Sergi
Chavez X Flosi
Jefferson M Kusko
Claire I Briddick
Jeanfrancois F Stockham
Jefferson R Saylors
Antonio P Ferencz
Jennifer J Bolognia
Isabel F Doe
Mujtaba F Garufi
Adams K Garufi
Sinclair T Kusko
David D Kusko
Darci Q Albares
Misaki D Perin
Mujtaba Y Whobrey
Kaitlin L Glick
Alejandro X Gaucho
Mujtaba M Poquette
Kaitlin U Nestle
Mayumi G Sergi
Juan N Nestle
Murillo C Stockham
Murillo R Malet
Jefferson O Royster
Smith K Stockham
Johnson K Paprocki
Rodrigues M Glick
Ivar U Wieser
Tony W Darakjy
Deepesh C Nestle
Chavez J Iturbide
Clifford C Marrier
Aruna S Glick
Morrow F Tollner
Leon W Poquette
Aika I Paprocki
Mujtaba M Gillian
Aika L Flosi
IdCountryDate
1000India2026-10-29
1001Australia2026-10-29
1002Russia2026-11-06
1003Brazil2026-10-17
1004Canada2026-10-20
1005Australia2026-10-19
1006Brazil2026-10-15
1007United Kingdom2026-10-14
1008Germany2026-10-25
1009Japan2026-10-25
1010Russia2026-11-01
1011Italy2026-10-18
1012Italy2026-10-14
1013Argentina2026-10-13
1014Brazil2026-10-24
1015Canada2026-10-09
1016Japan2026-10-30
1017Italy2026-10-28
1018Argentina2026-11-02
1019Brazil2026-11-06
1020India2026-11-06
1021India2026-11-06
1022Argentina2026-11-07
1023Spain2026-10-20
1024Brazil2026-10-29
1025Spain2026-10-20
1026Argentina2026-10-15
1027Argentina2026-10-22
1028Spain2026-10-18
1029Russia2026-10-23
1030Brazil2026-11-04
1031France2026-10-21
1032United Kingdom2026-11-03
1033Germany2026-11-04
1034Italy2026-10-14
1035Italy2026-10-12
1036Germany2026-10-29
1037Japan2026-10-11
1038Brazil2026-11-05
1039Italy2026-10-09
1040France2026-10-18
1041Japan2026-11-06
1042Argentina2026-10-29
1043Australia2026-10-26
1044Brazil2026-10-18
1045Australia2026-11-01
1046France2026-10-30
1047Japan2026-10-10
1048Russia2026-10-12
1049Germany2026-10-10

On-Demand Data

NameIdCountryDate
Morrow B Rulapaugh1000United Kingdom2026-10-17
Morrow D Ferencz1001Japan2026-11-02
Arvin K Kolmetz1002United Kingdom2026-10-23
Cody M Perin1003Argentina2026-11-03
Leja D Campain1004United Kingdom2026-11-02
Faith R Shinko1005Russia2026-10-12
Aika D Tollner1006Australia2026-10-18
Alejandro G Ferencz1007Argentina2026-10-13
Francesco Z Nicka1008Germany2026-10-12
Clifford R Briddick1009Brazil2026-11-05
Ashley C Stockham1010Italy2026-10-16
Sinclair I Figeroa1011United Kingdom2026-11-04
Leon X Poquette1012France2026-10-16
Ricardo X Venere1013Russia2026-10-09
Leja A Malet1014India2026-10-26
Aika X Glick1015Russia2026-10-16
Jones D Stenseth1016Canada2026-11-07
Juan K Briddick1017United Kingdom2026-10-22
David H Caldarera1018Russia2026-10-18
Misaki Z Shinko1019Russia2026-11-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba A GlickCanadaIoni Bowcher QUALIFIED
Izzy H WhobreyGermanyElwin Sharvill PROPOSAL
Salvatore E GlickUnited KingdomStephen Shaw QUALIFIED
Nicolas B WhobreySpainElwin Sharvill RENEWAL
Emily M BriddickAustraliaAmy Elsner NEW
Maisha I MorascaFranceIvan Magalhaes QUALIFIED
Tony C OldroydIndiaAmy Elsner PROPOSAL
Alejandro N MarrierUnited KingdomAnna Fali NEGOTIATION
Munro K ButtRussiaAsiya Javayant NEGOTIATION
Murillo T InouyeGermanyStephen Shaw PROPOSAL
Ashley N CampainSpainBernardo Dominic PROPOSAL
Jones N FlosiIndiaOnyama Limba PROPOSAL
Kaitlin B StockhamUnited KingdomAsiya Javayant PROPOSAL
Misaki B MacleadItalyBernardo Dominic RENEWAL
Antonio J GillianCanadaAmy Elsner QUALIFIED
Morrow R GauchoJapanAsiya Javayant UNQUALIFIED
Claire O AmigonAustraliaStephen Shaw UNQUALIFIED
Isabel U MarrierArgentinaBernardo Dominic UNQUALIFIED
Isabel Z SlusarskiGermanyElwin Sharvill QUALIFIED
Silvio N NickaFranceXuxue Feng QUALIFIED
Murillo M WieserUnited KingdomAnna Fali NEW
Johnson V PerinAustraliaXuxue Feng NEGOTIATION
Sinclair Y ButtBrazilAsiya Javayant NEW
Leja V AmigonFranceOnyama Limba NEGOTIATION
Morrow U MaletArgentinaBernardo Dominic PROPOSAL
Ashley U OldroydRussiaXuxue Feng RENEWAL
Darci H SlusarskiUnited KingdomIoni Bowcher NEW
Nicolas R GauchoItalyIoni Bowcher QUALIFIED
Isabel J FigeroaUnited KingdomOnyama Limba QUALIFIED
Aruna M ShinkoUnited KingdomBernardo Dominic NEGOTIATION
Greenwood X DarakjyArgentinaStephen Shaw QUALIFIED
Emily X ButtUnited KingdomAmy Elsner RENEWAL
Aika O AmigonJapanBernardo Dominic RENEWAL
Costa I WhobreyArgentinaStephen Shaw RENEWAL
Chavez R SlusarskiGermanyBernardo Dominic NEW
Adams E GauchoItalyElwin Sharvill NEGOTIATION
Tony E WhobreyItalyXuxue Feng NEW
Jefferson C WhobreyUnited KingdomStephen Shaw NEW
Jones H FigeroaBrazilAmy Elsner NEGOTIATION
Darci F PoquetteItalyElwin Sharvill QUALIFIED

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