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
Isabel V MorascaArgentinaBernardo Dominic NEGOTIATION
Jones T GarufiSpainBernardo Dominic RENEWAL
Nicolas F FigeroaAustraliaOnyama Limba UNQUALIFIED
Ashley K RoysterFranceIvan Magalhaes NEW
Chavez B ChuiArgentinaStephen Shaw NEGOTIATION
Johnson H SchemmerRussiaBernardo Dominic PROPOSAL
Claire Y WieserItalyXuxue Feng QUALIFIED
Salvatore N DilliardSpainStephen Shaw PROPOSAL
Jennifer P NickaJapanXuxue Feng PROPOSAL
Alejandro L BologniaJapanElwin Sharvill PROPOSAL
Francesco A PaprockiIndiaAmy Elsner PROPOSAL
Sinclair R GauchoBrazilIvan Magalhaes QUALIFIED
Adams D WaycottUnited KingdomAmy Elsner PROPOSAL
Izzy J CaudyFranceXuxue Feng NEW
Salvatore U ChuiItalyIvan Magalhaes QUALIFIED
Sinclair W PerinAustraliaStephen Shaw RENEWAL
Stacey D DarakjyGermanyXuxue Feng PROPOSAL
Kadeem C CaldareraAustraliaStephen Shaw PROPOSAL
Francesco Q NickaFranceAnna Fali NEGOTIATION
Faith J MaletFranceIoni Bowcher UNQUALIFIED
Faith U IturbideJapanIvan Magalhaes PROPOSAL
Ivar J InouyeAustraliaXuxue Feng NEW
Alejandro E WieserCanadaBernardo Dominic NEW
Julie V FerenczJapanAmy Elsner NEW
Emily X BriddickItalyIoni Bowcher RENEWAL
Deepesh U IturbideAustraliaIvan Magalhaes QUALIFIED
Francesco M FollerArgentinaXuxue Feng RENEWAL
Ashley E CaudyJapanXuxue Feng RENEWAL
Nicolas K KuskoBrazilElwin Sharvill PROPOSAL
Morrow C GlickBrazilAsiya Javayant UNQUALIFIED
Kadeem E ChuiUnited KingdomOnyama Limba UNQUALIFIED
Antonio M VocelkaGermanyAmy Elsner PROPOSAL
Wickens B GlickArgentinaStephen Shaw UNQUALIFIED
Costa O WhobreyCanadaStephen Shaw UNQUALIFIED
Darci X NestleAustraliaIvan Magalhaes QUALIFIED
Silvio K PaprockiCanadaIvan Magalhaes RENEWAL
Cody Y MaletAustraliaAsiya Javayant QUALIFIED
Juan K RoysterRussiaIoni Bowcher NEW
Misaki Q KolmetzFranceIoni Bowcher QUALIFIED
Jones I NickaSpainXuxue Feng NEW
Mayumi D GillianRussiaStephen Shaw PROPOSAL
Leja A StockhamCanadaOnyama Limba RENEWAL
Alejandro D RoysterJapanBernardo Dominic PROPOSAL
Greenwood U MacleadBrazilOnyama Limba NEGOTIATION
Aruna Z PerinAustraliaAnna Fali NEW
Leja J SlusarskiGermanyIvan Magalhaes RENEWAL
Mujtaba T KolmetzIndiaIvan Magalhaes NEGOTIATION
Maria W CampainAustraliaAnna Fali RENEWAL
Isabel W AmigonBrazilAnna Fali UNQUALIFIED
Greenwood K GillianFranceStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio E SaylorsRussiaStephen Shaw NEGOTIATION
Alejandro K GarufiArgentinaElwin Sharvill NEGOTIATION
Aruna O GarufiFranceXuxue Feng QUALIFIED
Aruna D InouyeAustraliaBernardo Dominic UNQUALIFIED
Adams U CaudySpainOnyama Limba PROPOSAL
Kadeem D NickaSpainBernardo Dominic QUALIFIED
Clifford K DoeAustraliaStephen Shaw NEGOTIATION
Costa F VocelkaGermanyAnna Fali QUALIFIED
Silvio P WhobreySpainIoni Bowcher RENEWAL
David M GlickItalyElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily A BriddickSpain2026-09-04Benton, John B Jr UNQUALIFIED14Ioni Bowcher
1001Ivar T StockhamUnited Kingdom2026-08-25Buckley Miller Wright UNQUALIFIED89Xuxue Feng
1002Munro W DarakjyBrazil2026-09-20Truhlar And Truhlar Attys QUALIFIED48Anna Fali
1003Cody J BologniaCanada2026-09-07Chemel, James L Cpa RENEWAL49Stephen Shaw
1004Leon V ShinkoSpain2026-09-15Feiner Bros RENEWAL90Stephen Shaw
1005Alejandro G MaletRussia2026-08-27Benton, John B Jr NEW97Amy Elsner
1006Aika C PerinArgentina2026-08-24Buckley Miller Wright QUALIFIED78Xuxue Feng
1007Aditya T WieserAustralia2026-09-09Chemel, James L Cpa NEW21Onyama Limba
1008Jones X RimItaly2026-09-08Chanay, Jeffrey A Esq RENEWAL44Bernardo Dominic
1009Chavez T FerenczArgentina2026-09-21Printing Dimensions RENEWAL5Stephen Shaw
1010Darci R IturbideSpain2026-08-27Benton, John B Jr UNQUALIFIED84Elwin Sharvill
1011Juan Y StensethAustralia2026-08-23Truhlar And Truhlar Attys RENEWAL4Bernardo Dominic
1012Greenwood G WaycottAustralia2026-08-25King, Christopher A Esq QUALIFIED24Onyama Limba
1013Mayumi Q PerinUnited Kingdom2026-08-24Feiner Bros QUALIFIED32Ioni Bowcher
1014Darci B PoquetteItaly2026-09-06Morlong Associates RENEWAL67Onyama Limba
1015Aika R NickaUnited Kingdom2026-09-21Benton, John B Jr UNQUALIFIED19Anna Fali
1016Ricardo L GauchoAustralia2026-09-09Morlong Associates RENEWAL12Xuxue Feng
1017David A KolmetzIndia2026-09-21Truhlar And Truhlar Attys NEGOTIATION30Bernardo Dominic
1018Deepesh O RutaJapan2026-09-11Benton, John B Jr RENEWAL16Bernardo Dominic
1019Jennifer T PerinUnited Kingdom2026-08-28Feiner Bros RENEWAL14Ivan Magalhaes
1020Wickens P GauchoUnited Kingdom2026-08-27Chapman, Ross E Esq NEGOTIATION91Amy Elsner
1021Costa N BowleyBrazil2026-09-06Commercial Press RENEWAL10Ivan Magalhaes
1022Francesco E AlbaresArgentina2026-09-09Feiner Bros NEGOTIATION15Onyama Limba
1023Smith V GauchoUnited Kingdom2026-09-04Feltz Printing Service PROPOSAL84Elwin Sharvill
1024Mujtaba P RoysterArgentina2026-08-26Morlong Associates PROPOSAL25Anna Fali
1025Smith F ShinkoUnited Kingdom2026-09-10Chapman, Ross E Esq UNQUALIFIED17Stephen Shaw
1026Smith V BologniaIndia2026-09-11Rousseaux, Michael Esq UNQUALIFIED10Onyama Limba
1027Kaitlin L AlbaresFrance2026-09-20Truhlar And Truhlar Attys PROPOSAL62Anna Fali
1028Octavia R SaylorsBrazil2026-09-12Benton, John B Jr RENEWAL61Onyama Limba
1029Leon C GauchoSpain2026-09-20Feltz Printing Service UNQUALIFIED8Elwin Sharvill
1030Emily M FlosiJapan2026-09-21Printing Dimensions UNQUALIFIED87Amy Elsner
1031Nicolas G GillianArgentina2026-09-16Morlong Associates QUALIFIED79Bernardo Dominic
1032Clifford V AlbaresCanada2026-08-26Benton, John B Jr NEW57Stephen Shaw
1033Ashley M InouyeSpain2026-08-24King, Christopher A Esq NEGOTIATION60Elwin Sharvill
1034Greenwood L NestleSpain2026-09-10Chanay, Jeffrey A Esq NEW26Ivan Magalhaes
1035Ricardo W DoeAustralia2026-09-18Morlong Associates NEW4Anna Fali
1036Aruna X WieserFrance2026-09-08Buckley Miller Wright UNQUALIFIED20Elwin Sharvill
1037Jennifer P TollnerSpain2026-08-26Rousseaux, Michael Esq PROPOSAL52Stephen Shaw
1038Johnson Q AlbaresSpain2026-09-06Commercial Press NEW47Ivan Magalhaes
1039Deepesh S StensethArgentina2026-08-30Buckley Miller Wright QUALIFIED75Bernardo Dominic
1040Octavia C AlbaresIndia2026-09-14Buckley Miller Wright UNQUALIFIED11Asiya Javayant
1041Nicolas G DoeJapan2026-09-12Chemel, James L Cpa RENEWAL15Asiya Javayant
1042Silvio B InouyeIndia2026-09-12Commercial Press UNQUALIFIED11Elwin Sharvill
1043Salvatore T DarakjyGermany2026-08-31Feiner Bros UNQUALIFIED39Anna Fali
1044Kaitlin W TollnerUnited Kingdom2026-09-15Rousseaux, Michael Esq RENEWAL73Elwin Sharvill
1045Rodrigues S CaudyFrance2026-08-23Rangoni Of Florence RENEWAL59Elwin Sharvill
1046Deepesh M StensethFrance2026-09-21Chapman, Ross E Esq PROPOSAL75Stephen Shaw
1047Darci H MorascaJapan2026-08-26Feltz Printing Service NEW76Elwin Sharvill
1048Leja V NestleFrance2026-08-28Rangoni Of Florence QUALIFIED15Stephen Shaw
1049Juan Z BriddickJapan2026-09-14Printing Dimensions RENEWAL55Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Adams S OstroskyIndiaAmy Elsner UNQUALIFIED
Chavez K WieserBrazilIoni Bowcher QUALIFIED
Johnson Z AmigonFranceIoni Bowcher RENEWAL
Julie M MacleadGermanyIoni Bowcher UNQUALIFIED
Ricardo N FollerCanadaBernardo Dominic PROPOSAL
Maisha N CaudyItalyXuxue Feng QUALIFIED
Chavez B OstroskyGermanyElwin Sharvill UNQUALIFIED
Nicolas B RutaRussiaAnna Fali QUALIFIED
Costa X CampainSpainAnna Fali NEGOTIATION
Aika H FigeroaAustraliaIoni Bowcher NEW
Julie D WhobreyIndiaOnyama Limba RENEWAL
Jeanfrancois X ButtJapanAsiya Javayant UNQUALIFIED
David T RulapaughUnited KingdomXuxue Feng PROPOSAL
Johnson D OstroskyRussiaStephen Shaw UNQUALIFIED
Darci N ButtAustraliaOnyama Limba UNQUALIFIED
Juan X VenereIndiaAsiya Javayant NEGOTIATION
Mujtaba J BowleyAustraliaXuxue Feng NEW
Smith B SlusarskiArgentinaStephen Shaw UNQUALIFIED
Ivar F SergiArgentinaIoni Bowcher RENEWAL
Faith A KolmetzCanadaXuxue Feng RENEWAL
Murillo Z NestleIndiaIoni Bowcher RENEWAL
Chavez Q BologniaFranceAmy Elsner QUALIFIED
David C OldroydArgentinaIvan Magalhaes QUALIFIED
Arvin A WieserRussiaIvan Magalhaes QUALIFIED
Aruna J RulapaughGermanyElwin Sharvill NEW
Jones M GillianCanadaBernardo Dominic PROPOSAL
Ricardo R PaprockiRussiaAnna Fali PROPOSAL
Wickens L NickaAustraliaElwin Sharvill UNQUALIFIED
Isabel P RulapaughCanadaAnna Fali PROPOSAL
Francesco T WhobreyAustraliaBernardo Dominic NEW
Emily K NestleGermanyStephen Shaw RENEWAL
Aika N NickaAustraliaAsiya Javayant UNQUALIFIED
Rodrigues Y GauchoSpainElwin Sharvill PROPOSAL
David H MarrierJapanIoni Bowcher UNQUALIFIED
David V FlosiFranceAsiya Javayant QUALIFIED
Isabel D ButtAustraliaAsiya Javayant PROPOSAL
Costa S PoquetteItalyAsiya Javayant NEW
Arvin E VenereJapanIoni Bowcher NEW
Izzy Y AmigonRussiaAmy Elsner PROPOSAL
Stacey D MorascaUnited KingdomAsiya Javayant NEW
Wickens J FollerSpainIvan Magalhaes NEW
Francesco W BowleyRussiaAnna Fali QUALIFIED
David F NickaAustraliaIoni Bowcher QUALIFIED
Emily Q CampainSpainAsiya Javayant UNQUALIFIED
Kadeem U FlosiAustraliaBernardo Dominic RENEWAL
Silvio Y SaylorsGermanyAnna Fali PROPOSAL
Chavez U SchemmerCanadaBernardo Dominic QUALIFIED
Morrow Q StockhamAustraliaOnyama Limba QUALIFIED
Misaki Q DilliardFranceBernardo Dominic QUALIFIED
Cody V RulapaughBrazilXuxue Feng PROPOSAL
Frozen Columns
Name
Munro N Royster
Mayumi U Slusarski
Sinclair O Gillian
Jennifer D Venere
Faith C Maclead
Darci S Kolmetz
Darci M Wieser
Izzy X Royster
Emily P Foller
Munro Q Glick
Jefferson M Venere
Kadeem C Inouye
Aruna D Nestle
Julie U Sergi
Alejandro U Shinko
Clifford R Maclead
Jones W Bolognia
James A Whobrey
Jones I Kusko
Octavia V Paprocki
Kaitlin V Slusarski
Munro P Vocelka
Mujtaba W Briddick
Cody S Vocelka
Jones U Darakjy
Ivar L Waycott
Greenwood B Amigon
James Q Sergi
Leja N Nestle
Costa A Royster
Munro I Bowley
Greenwood W Tollner
Kaitlin X Ostrosky
Munro X Gillian
Misaki X Waycott
Murillo A Nestle
Claire M Foller
Salvatore N Campain
Emily W Campain
Jennifer U Doe
Morrow F Campain
Mayumi Y Ruta
Leja X Ruta
Isabel O Venere
Antonio S Ferencz
Johnson J Ostrosky
Adams P Bolognia
Wickens B Garufi
Chavez O Dilliard
Adams D Campain
IdCountryDate
1000India2026-09-04
1001Japan2026-08-31
1002United Kingdom2026-09-12
1003Brazil2026-09-13
1004Russia2026-08-23
1005Argentina2026-09-20
1006Canada2026-08-28
1007India2026-09-04
1008Argentina2026-08-28
1009Italy2026-08-28
1010Japan2026-09-09
1011Spain2026-09-12
1012Brazil2026-08-31
1013Japan2026-09-01
1014Spain2026-09-16
1015India2026-09-19
1016Argentina2026-09-06
1017France2026-08-29
1018Italy2026-09-20
1019India2026-09-10
1020Spain2026-09-15
1021Italy2026-09-21
1022Russia2026-09-01
1023Brazil2026-08-23
1024United Kingdom2026-08-30
1025Japan2026-09-02
1026Spain2026-08-25
1027Germany2026-08-30
1028Australia2026-09-17
1029Russia2026-09-07
1030United Kingdom2026-09-06
1031Argentina2026-08-25
1032Canada2026-09-04
1033Australia2026-09-04
1034India2026-09-16
1035Japan2026-09-18
1036France2026-09-17
1037Japan2026-08-28
1038Spain2026-09-21
1039Germany2026-08-24
1040Australia2026-08-31
1041United Kingdom2026-08-26
1042Germany2026-09-13
1043United Kingdom2026-09-21
1044Brazil2026-09-06
1045Japan2026-08-29
1046Brazil2026-09-02
1047Russia2026-08-28
1048Argentina2026-09-08
1049India2026-09-01

On-Demand Data

NameIdCountryDate
Francesco P Garufi1000United Kingdom2026-08-28
Costa P Shinko1001Brazil2026-09-21
Ricardo Q Iturbide1002Italy2026-09-09
Faith A Whobrey1003Japan2026-09-12
Rodrigues F Nestle1004India2026-08-28
Kaitlin B Chui1005United Kingdom2026-09-14
Izzy X Butt1006Spain2026-08-31
Jennifer L Butt1007Argentina2026-09-06
Mayumi U Ostrosky1008Spain2026-09-01
Munro B Amigon1009Japan2026-09-13
Octavia W Dilliard1010Germany2026-09-06
Costa R Inouye1011Brazil2026-09-10
Jennifer D Ruta1012France2026-09-07
Arvin C Saylors1013Spain2026-09-21
Aditya S Schemmer1014Russia2026-08-25
Ricardo B Royster1015Brazil2026-09-10
Jennifer S Foller1016United Kingdom2026-08-27
Arvin C Caldarera1017Russia2026-09-15
Clifford P Venere1018Italy2026-08-29
Aruna X Inouye1019United Kingdom2026-08-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci A SchemmerGermanyAsiya Javayant RENEWAL
Jefferson N PoquetteCanadaOnyama Limba UNQUALIFIED
Julie H TollnerFranceStephen Shaw QUALIFIED
Murillo Y GlickUnited KingdomXuxue Feng UNQUALIFIED
Claire K NickaJapanAnna Fali UNQUALIFIED
Chavez P WieserRussiaStephen Shaw NEW
Chavez A CaldareraJapanElwin Sharvill PROPOSAL
Tony B MarrierIndiaAmy Elsner NEGOTIATION
Tony H WhobreyCanadaAnna Fali PROPOSAL
Deepesh J RimIndiaStephen Shaw QUALIFIED
Kaitlin T PoquetteUnited KingdomXuxue Feng NEGOTIATION
Aruna Q ChuiCanadaBernardo Dominic QUALIFIED
Julie K ShinkoGermanyIvan Magalhaes NEW
Ivar I GauchoUnited KingdomOnyama Limba UNQUALIFIED
Leon E CampainJapanIvan Magalhaes UNQUALIFIED
Leon F PoquetteBrazilXuxue Feng PROPOSAL
Jefferson K WhobreyGermanyBernardo Dominic PROPOSAL
David C MacleadBrazilIoni Bowcher PROPOSAL
Adams H FlosiArgentinaIoni Bowcher QUALIFIED
Cody Y SlusarskiItalyIoni Bowcher NEW
Aika N ButtAustraliaOnyama Limba PROPOSAL
Clifford E KuskoRussiaElwin Sharvill NEGOTIATION
Kadeem J MacleadItalyBernardo Dominic UNQUALIFIED
Antonio R SlusarskiAustraliaXuxue Feng PROPOSAL
Octavia V FollerSpainAnna Fali NEW
Adams E FigeroaJapanAmy Elsner NEGOTIATION
Leon W SlusarskiUnited KingdomIvan Magalhaes RENEWAL
Juan Y GarufiBrazilStephen Shaw NEGOTIATION
Ricardo U StensethGermanyXuxue Feng QUALIFIED
Maisha B GarufiAustraliaStephen Shaw NEGOTIATION
Silvio M PoquetteRussiaStephen Shaw NEW
Smith F FerenczSpainStephen Shaw NEW
Johnson N RoysterCanadaBernardo Dominic PROPOSAL
Juan G DarakjyCanadaOnyama Limba NEW
Juan Z ShinkoItalyOnyama Limba NEGOTIATION
Darci N KuskoJapanBernardo Dominic QUALIFIED
Julie E PerinArgentinaXuxue Feng RENEWAL
Arvin F ShinkoGermanyIoni Bowcher QUALIFIED
Deepesh R KolmetzRussiaAnna Fali NEGOTIATION
Aditya T FerenczUnited KingdomAmy Elsner PROPOSAL

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