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
Aditya M RulapaughBrazilAmy Elsner NEW
Alejandro E SaylorsIndiaAnna Fali RENEWAL
Leon N MacleadCanadaBernardo Dominic UNQUALIFIED
Octavia A SlusarskiFranceBernardo Dominic RENEWAL
Emily K WieserSpainBernardo Dominic NEW
Julie F MorascaArgentinaOnyama Limba NEW
Alejandro L AmigonIndiaAmy Elsner RENEWAL
Cody H SaylorsAustraliaStephen Shaw UNQUALIFIED
Silvio P MaletCanadaIoni Bowcher NEW
Jones K RimUnited KingdomElwin Sharvill RENEWAL
Leja Q DarakjyJapanXuxue Feng UNQUALIFIED
Murillo J BologniaArgentinaIvan Magalhaes NEGOTIATION
Kaitlin V MaletRussiaAnna Fali NEW
Adams U MaletFranceBernardo Dominic QUALIFIED
Emily R StensethFranceIoni Bowcher PROPOSAL
Jennifer J OldroydGermanyIoni Bowcher PROPOSAL
Ricardo G ButtCanadaElwin Sharvill NEW
Greenwood V KuskoBrazilOnyama Limba QUALIFIED
Chavez H WhobreyAustraliaElwin Sharvill PROPOSAL
Isabel K PerinIndiaBernardo Dominic NEGOTIATION
Leon O BologniaJapanIoni Bowcher NEW
Sinclair F InouyeItalyAmy Elsner PROPOSAL
Juan P StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Adams T MaletSpainBernardo Dominic QUALIFIED
Juan L KolmetzGermanyXuxue Feng NEW
Costa Q MorascaAustraliaStephen Shaw NEW
Jeanfrancois O RulapaughArgentinaStephen Shaw UNQUALIFIED
Misaki U GarufiAustraliaBernardo Dominic RENEWAL
Ashley D KuskoUnited KingdomBernardo Dominic RENEWAL
Costa P RimGermanyAmy Elsner NEGOTIATION
Silvio O MacleadCanadaXuxue Feng NEGOTIATION
Misaki W FerenczItalyIoni Bowcher QUALIFIED
Izzy B GillianJapanOnyama Limba NEGOTIATION
Rodrigues U VocelkaJapanIvan Magalhaes PROPOSAL
Ricardo H MaletBrazilBernardo Dominic NEGOTIATION
Adams G VocelkaArgentinaIoni Bowcher NEW
Johnson T IturbideFranceAsiya Javayant RENEWAL
Faith T DilliardRussiaAnna Fali PROPOSAL
Misaki U FigeroaItalyIvan Magalhaes NEW
Misaki Y InouyeFranceOnyama Limba NEGOTIATION
Sinclair S GauchoFranceBernardo Dominic PROPOSAL
Antonio L StensethRussiaIoni Bowcher QUALIFIED
Izzy Y MarrierRussiaAmy Elsner RENEWAL
Misaki W PoquetteItalyAmy Elsner NEGOTIATION
Mujtaba R DilliardIndiaIoni Bowcher PROPOSAL
Johnson N DilliardBrazilAmy Elsner QUALIFIED
Izzy L CampainIndiaStephen Shaw NEGOTIATION
Wickens I PoquetteArgentinaIvan Magalhaes RENEWAL
Kaitlin Q MarrierGermanyOnyama Limba PROPOSAL
Munro P RimCanadaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Rodrigues N CaldareraUnited KingdomElwin Sharvill NEW
Jennifer V ShinkoUnited KingdomIoni Bowcher NEW
Rodrigues H FollerSpainOnyama Limba NEW
Jeanfrancois J ShinkoSpainOnyama Limba RENEWAL
Leja T FigeroaGermanyIvan Magalhaes NEW
Aditya F RutaItalyElwin Sharvill UNQUALIFIED
Jennifer K RoysterSpainIvan Magalhaes NEGOTIATION
Wickens K StensethGermanyStephen Shaw NEGOTIATION
Alejandro E KuskoArgentinaStephen Shaw UNQUALIFIED
Stacey P InouyeItalyOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro T GillianIndia2026-08-08Commercial Press UNQUALIFIED20Asiya Javayant
1001Munro L FollerSpain2026-08-08Chanay, Jeffrey A Esq QUALIFIED21Ivan Magalhaes
1002Leon Z TollnerFrance2026-08-27King, Christopher A Esq PROPOSAL28Ioni Bowcher
1003Silvio J RimUnited Kingdom2026-09-01Rangoni Of Florence QUALIFIED0Asiya Javayant
1004James S DarakjyArgentina2026-08-25Chapman, Ross E Esq NEW9Asiya Javayant
1005Clifford E VenereBrazil2026-08-30Chanay, Jeffrey A Esq NEGOTIATION3Onyama Limba
1006Aika U RimItaly2026-08-17Rousseaux, Michael Esq NEGOTIATION81Amy Elsner
1007Maisha S VocelkaUnited Kingdom2026-08-20Chapman, Ross E Esq PROPOSAL29Bernardo Dominic
1008James P KolmetzUnited Kingdom2026-08-04Feiner Bros NEW64Asiya Javayant
1009Leja U WaycottRussia2026-09-02Rangoni Of Florence NEGOTIATION66Elwin Sharvill
1010Nicolas P AmigonUnited Kingdom2026-08-23Truhlar And Truhlar Attys NEW70Xuxue Feng
1011Julie B WaycottBrazil2026-08-13Benton, John B Jr NEW37Elwin Sharvill
1012Ricardo A ShinkoIndia2026-08-06Benton, John B Jr NEW80Ioni Bowcher
1013Jones W DilliardGermany2026-08-13Truhlar And Truhlar Attys RENEWAL83Ivan Magalhaes
1014Juan G SergiSpain2026-08-04Morlong Associates NEW88Bernardo Dominic
1015Ashley N FollerJapan2026-08-31Commercial Press PROPOSAL73Bernardo Dominic
1016Claire D KolmetzGermany2026-08-08Chanay, Jeffrey A Esq UNQUALIFIED52Onyama Limba
1017Silvio I StensethArgentina2026-08-25Feltz Printing Service QUALIFIED52Xuxue Feng
1018Kadeem P DarakjyCanada2026-08-06Buckley Miller Wright QUALIFIED26Stephen Shaw
1019Ivar T SergiGermany2026-08-27Chemel, James L Cpa QUALIFIED87Bernardo Dominic
1020Julie H MaletAustralia2026-08-19Printing Dimensions NEGOTIATION60Xuxue Feng
1021Claire Z SchemmerAustralia2026-08-17Truhlar And Truhlar Attys NEGOTIATION85Ioni Bowcher
1022Ashley I FigeroaAustralia2026-08-21Chanay, Jeffrey A Esq QUALIFIED37Asiya Javayant
1023Juan X BologniaArgentina2026-09-01Feiner Bros NEGOTIATION30Xuxue Feng
1024Cody F PerinRussia2026-08-04Buckley Miller Wright RENEWAL76Ivan Magalhaes
1025Leon B KolmetzGermany2026-08-24Morlong Associates RENEWAL12Anna Fali
1026Tony S TollnerUnited Kingdom2026-08-23Commercial Press RENEWAL61Stephen Shaw
1027Murillo D AmigonBrazil2026-08-04Buckley Miller Wright UNQUALIFIED12Stephen Shaw
1028Maisha H StensethBrazil2026-08-22Feiner Bros UNQUALIFIED34Ioni Bowcher
1029Chavez L AlbaresRussia2026-08-10Dorl, James J Esq NEGOTIATION78Elwin Sharvill
1030Octavia R OldroydRussia2026-08-24Truhlar And Truhlar Attys PROPOSAL77Xuxue Feng
1031Alejandro G RimArgentina2026-08-14Printing Dimensions RENEWAL15Ioni Bowcher
1032Aika I RulapaughJapan2026-08-29Rousseaux, Michael Esq QUALIFIED98Ivan Magalhaes
1033Johnson N RoysterIndia2026-08-15King, Christopher A Esq PROPOSAL1Onyama Limba
1034Jennifer D WieserCanada2026-08-31Chanay, Jeffrey A Esq RENEWAL91Anna Fali
1035Murillo Q SaylorsItaly2026-08-10Printing Dimensions PROPOSAL66Bernardo Dominic
1036Emily B VocelkaArgentina2026-08-07King, Christopher A Esq NEGOTIATION7Ivan Magalhaes
1037Leon Z OldroydArgentina2026-08-21Feiner Bros PROPOSAL10Onyama Limba
1038Mujtaba V SchemmerIndia2026-08-24Truhlar And Truhlar Attys NEGOTIATION79Onyama Limba
1039Jones Y SchemmerFrance2026-08-05Truhlar And Truhlar Attys RENEWAL62Amy Elsner
1040Misaki B MaletUnited Kingdom2026-08-11Rangoni Of Florence UNQUALIFIED34Stephen Shaw
1041Kaitlin P NickaUnited Kingdom2026-08-04Chemel, James L Cpa UNQUALIFIED71Xuxue Feng
1042Wickens A DarakjyFrance2026-09-01Morlong Associates UNQUALIFIED50Elwin Sharvill
1043Wickens Q WaycottAustralia2026-08-04Chapman, Ross E Esq PROPOSAL5Anna Fali
1044Leon L FigeroaAustralia2026-08-16King, Christopher A Esq NEW95Amy Elsner
1045Claire L StensethArgentina2026-08-26Benton, John B Jr RENEWAL6Onyama Limba
1046David P BowleyArgentina2026-08-30Feltz Printing Service NEW90Elwin Sharvill
1047David R WieserRussia2026-08-08Commercial Press RENEWAL15Bernardo Dominic
1048Jones I KolmetzJapan2026-08-25Feltz Printing Service PROPOSAL50Amy Elsner
1049Deepesh H WhobreyBrazil2026-08-12Feltz Printing Service NEW68Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Silvio B ChuiGermanyOnyama Limba NEGOTIATION
Julie M ChuiIndiaOnyama Limba NEGOTIATION
Emily D MacleadRussiaXuxue Feng RENEWAL
Aditya M NestleJapanIvan Magalhaes NEGOTIATION
Juan I ShinkoFranceStephen Shaw UNQUALIFIED
Sinclair K NestleArgentinaIvan Magalhaes UNQUALIFIED
Jeanfrancois H SlusarskiAustraliaAsiya Javayant QUALIFIED
Alejandro V DoeSpainOnyama Limba QUALIFIED
Kaitlin L StensethArgentinaXuxue Feng RENEWAL
Chavez O StensethUnited KingdomAmy Elsner UNQUALIFIED
Aruna Z AlbaresItalyXuxue Feng NEGOTIATION
Alejandro C RulapaughItalyOnyama Limba PROPOSAL
Aruna F MacleadIndiaXuxue Feng QUALIFIED
Greenwood Y NickaArgentinaAnna Fali PROPOSAL
David U WaycottJapanAsiya Javayant NEGOTIATION
Arvin M BowleyIndiaElwin Sharvill NEW
Stacey H KuskoCanadaAsiya Javayant RENEWAL
Salvatore C DarakjySpainAmy Elsner NEW
Adams T CaudyUnited KingdomAsiya Javayant NEGOTIATION
Arvin P RimJapanAmy Elsner PROPOSAL
Johnson L ButtArgentinaIvan Magalhaes UNQUALIFIED
Octavia J RulapaughFranceXuxue Feng NEW
Ashley V KolmetzAustraliaElwin Sharvill PROPOSAL
Jefferson G CampainUnited KingdomIoni Bowcher RENEWAL
Misaki O FerenczSpainXuxue Feng RENEWAL
Silvio A RulapaughAustraliaIoni Bowcher RENEWAL
Jones D KolmetzRussiaStephen Shaw PROPOSAL
Jones Z MaletItalyAnna Fali UNQUALIFIED
Morrow I PerinSpainAmy Elsner NEW
Antonio E FollerItalyOnyama Limba QUALIFIED
Emily T BowleyGermanyAsiya Javayant RENEWAL
Munro S TollnerAustraliaAsiya Javayant RENEWAL
Juan V KolmetzBrazilElwin Sharvill UNQUALIFIED
Rodrigues H RulapaughBrazilElwin Sharvill NEW
Misaki C MaletItalyOnyama Limba QUALIFIED
Costa P ChuiBrazilStephen Shaw NEGOTIATION
Jeanfrancois B WieserGermanyStephen Shaw PROPOSAL
Cody Q GarufiIndiaIoni Bowcher QUALIFIED
Kaitlin L SergiAustraliaStephen Shaw RENEWAL
Octavia J GillianItalyBernardo Dominic PROPOSAL
Octavia N BowleyAustraliaIvan Magalhaes NEGOTIATION
Murillo P OstroskyGermanyAmy Elsner NEGOTIATION
Jeanfrancois O MacleadRussiaBernardo Dominic NEW
Maisha E StockhamIndiaElwin Sharvill UNQUALIFIED
Ricardo Y CampainUnited KingdomXuxue Feng NEGOTIATION
Francesco D WhobreyItalyIvan Magalhaes RENEWAL
Johnson B MorascaArgentinaAnna Fali NEW
Maria K FollerIndiaAnna Fali QUALIFIED
Johnson N FerenczIndiaElwin Sharvill PROPOSAL
Jones F SlusarskiUnited KingdomAsiya Javayant QUALIFIED
Frozen Columns
Name
Misaki T Marrier
David F Ostrosky
Alejandro A Paprocki
Ivar I Rim
Ivar D Nicka
Ashley E Sergi
Chavez Z Iturbide
Rodrigues Z Campain
Darci F Poquette
Clifford F Kolmetz
Smith R Perin
Octavia M Ostrosky
Mujtaba T Poquette
Mayumi Z Briddick
Aika L Amigon
Izzy C Flosi
Misaki B Wieser
Chavez F Malet
Smith S Ferencz
Costa D Malet
David N Amigon
Ricardo G Malet
Silvio M Ruta
Emily O Maclead
Maisha E Albares
Julie R Rulapaugh
Julie Q Dilliard
Kaitlin N Iturbide
Jefferson S Stenseth
Johnson U Dilliard
Ricardo I Doe
Kadeem K Glick
David Q Briddick
Faith B Schemmer
Chavez V Doe
Ashley Z Maclead
Jennifer R Ruta
Aditya N Albares
Jennifer F Figeroa
Johnson H Tollner
Stacey M Iturbide
Morrow C Inouye
Darci G Glick
Darci Y Whobrey
Aika Y Gaucho
Maisha L Briddick
Izzy M Bowley
Sinclair D Malet
Jeanfrancois V Rulapaugh
Maisha H Saylors
IdCountryDate
1000Japan2026-08-14
1001Australia2026-08-24
1002Italy2026-08-21
1003Canada2026-08-09
1004Argentina2026-08-12
1005United Kingdom2026-08-06
1006Canada2026-08-29
1007France2026-08-18
1008Russia2026-08-08
1009Italy2026-08-25
1010France2026-08-15
1011Canada2026-09-01
1012Australia2026-08-09
1013Germany2026-08-09
1014Australia2026-08-07
1015Japan2026-08-09
1016Argentina2026-08-20
1017United Kingdom2026-08-21
1018Spain2026-08-18
1019France2026-09-01
1020United Kingdom2026-08-19
1021Brazil2026-08-24
1022Brazil2026-08-18
1023Brazil2026-08-30
1024Italy2026-08-04
1025Germany2026-08-10
1026Canada2026-08-30
1027Australia2026-08-09
1028Spain2026-08-20
1029India2026-08-19
1030Japan2026-08-10
1031Argentina2026-08-12
1032Spain2026-08-29
1033Russia2026-08-13
1034Germany2026-08-13
1035Japan2026-08-31
1036Argentina2026-08-28
1037Spain2026-08-07
1038Australia2026-08-30
1039Italy2026-08-05
1040France2026-08-29
1041Brazil2026-09-02
1042France2026-08-13
1043India2026-08-24
1044Brazil2026-08-13
1045United Kingdom2026-08-17
1046India2026-08-23
1047Russia2026-08-19
1048United Kingdom2026-09-02
1049India2026-08-15

On-Demand Data

NameIdCountryDate
Arvin O Albares1000Spain2026-08-11
Salvatore E Nicka1001Russia2026-08-28
Francesco B Albares1002Australia2026-08-09
Aika A Rim1003Brazil2026-08-11
Leja Z Foller1004United Kingdom2026-08-04
Leon D Caudy1005Brazil2026-08-28
Maria K Perin1006Germany2026-08-25
Greenwood Z Shinko1007Germany2026-08-19
Jefferson C Malet1008United Kingdom2026-08-18
Wickens Z Caldarera1009Australia2026-08-18
Costa G Tollner1010Japan2026-08-19
Clifford V Dilliard1011Australia2026-09-01
Morrow D Stenseth1012Argentina2026-08-16
Tony R Malet1013Canada2026-08-25
Misaki A Schemmer1014Brazil2026-08-13
Isabel M Sergi1015Brazil2026-09-01
Aika K Nestle1016Australia2026-08-08
Aika S Oldroyd1017Russia2026-08-22
Aika S Rulapaugh1018Japan2026-09-02
Ricardo E Maclead1019United Kingdom2026-08-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin C SlusarskiCanadaXuxue Feng RENEWAL
Misaki G IturbideCanadaAsiya Javayant QUALIFIED
Mayumi T ChuiGermanyIvan Magalhaes QUALIFIED
Misaki C RulapaughBrazilXuxue Feng UNQUALIFIED
Tony C SergiAustraliaIoni Bowcher NEW
Murillo B PoquetteCanadaOnyama Limba PROPOSAL
Wickens K DarakjyArgentinaAmy Elsner NEW
Ashley R RoysterAustraliaOnyama Limba NEW
Antonio N PaprockiItalyIoni Bowcher QUALIFIED
Maisha F NickaCanadaStephen Shaw QUALIFIED
Morrow B WieserBrazilAnna Fali PROPOSAL
David R AlbaresCanadaXuxue Feng QUALIFIED
Faith D MaletSpainAnna Fali NEW
Leja V RulapaughSpainOnyama Limba QUALIFIED
Sinclair W SlusarskiItalyBernardo Dominic NEGOTIATION
Smith P SlusarskiGermanyAmy Elsner NEW
Rodrigues N KuskoArgentinaAsiya Javayant RENEWAL
Ivar G StockhamArgentinaIoni Bowcher PROPOSAL
Emily V SergiGermanyBernardo Dominic UNQUALIFIED
Silvio H BriddickIndiaAmy Elsner NEW
Alejandro N PoquetteBrazilBernardo Dominic NEW
Clifford I SergiBrazilStephen Shaw QUALIFIED
Chavez P DilliardCanadaAsiya Javayant RENEWAL
Deepesh I RutaRussiaXuxue Feng NEGOTIATION
Maria W BologniaItalyAmy Elsner QUALIFIED
Izzy L RoysterBrazilStephen Shaw PROPOSAL
Kadeem F MarrierFranceIoni Bowcher RENEWAL
Leon O GlickCanadaIvan Magalhaes RENEWAL
Clifford P FollerFranceBernardo Dominic QUALIFIED
Izzy D SlusarskiFranceAnna Fali UNQUALIFIED
Claire M CaudyRussiaOnyama Limba UNQUALIFIED
Salvatore U BriddickSpainBernardo Dominic QUALIFIED
Leon U NestleUnited KingdomBernardo Dominic PROPOSAL
Smith W AmigonIndiaStephen Shaw PROPOSAL
Jennifer O DoeAustraliaIoni Bowcher QUALIFIED
James U MaletFranceAmy Elsner UNQUALIFIED
Morrow H RulapaughGermanyXuxue Feng RENEWAL
Izzy V GlickFranceXuxue Feng PROPOSAL
Salvatore X ButtItalyElwin Sharvill UNQUALIFIED
Salvatore U OldroydRussiaXuxue Feng 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>