Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Kadeem L AmigonCanadaIoni Bowcher PROPOSAL
Octavia H StockhamGermanyOnyama Limba UNQUALIFIED
Mujtaba M ChuiGermanyOnyama Limba NEW
Mayumi N CaldareraCanadaAnna Fali NEW
Kaitlin R KolmetzRussiaStephen Shaw QUALIFIED
Arvin A SaylorsItalyXuxue Feng NEW
Kaitlin U CaudyGermanyAmy Elsner NEGOTIATION
Leon B WhobreyRussiaAmy Elsner QUALIFIED
Ivar L DarakjySpainAnna Fali QUALIFIED
Clifford Z MarrierGermanyAmy Elsner RENEWAL
Jones M MarrierCanadaAmy Elsner NEW
Stacey B CaudyItalyIvan Magalhaes UNQUALIFIED
Aruna Y MarrierBrazilAsiya Javayant RENEWAL
Maria D TollnerAustraliaAsiya Javayant NEGOTIATION
Izzy B MaletIndiaAnna Fali RENEWAL
Leja R SergiUnited KingdomOnyama Limba NEGOTIATION
Misaki J GarufiCanadaIvan Magalhaes NEGOTIATION
Silvio Y SergiIndiaAnna Fali NEW
James H NickaIndiaIoni Bowcher NEGOTIATION
Darci C NickaSpainIoni Bowcher NEGOTIATION
Aruna N OstroskyItalyXuxue Feng NEW
Aika F RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Octavia J StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Isabel I NickaArgentinaElwin Sharvill PROPOSAL
Maria C WhobreyUnited KingdomIvan Magalhaes PROPOSAL
David C TollnerIndiaBernardo Dominic NEW
Costa T ShinkoFranceOnyama Limba QUALIFIED
Julie X PerinUnited KingdomIoni Bowcher RENEWAL
Clifford U FlosiIndiaXuxue Feng NEW
Smith D SlusarskiArgentinaStephen Shaw RENEWAL
Rodrigues F MacleadUnited KingdomStephen Shaw NEW
Salvatore S MacleadJapanAnna Fali NEGOTIATION
Kadeem F KuskoGermanyOnyama Limba UNQUALIFIED
Murillo G KuskoRussiaAnna Fali NEW
Jefferson F DarakjyCanadaIvan Magalhaes RENEWAL
Ashley X PerinArgentinaAmy Elsner UNQUALIFIED
Francesco O MaletItalyXuxue Feng PROPOSAL
Ashley U NickaSpainBernardo Dominic RENEWAL
Cody J FollerSpainElwin Sharvill NEGOTIATION
Antonio H PoquetteArgentinaIoni Bowcher PROPOSAL
Costa Z ShinkoGermanyIoni Bowcher UNQUALIFIED
Jeanfrancois A PoquetteSpainAnna Fali QUALIFIED
Francesco W AlbaresItalyIvan Magalhaes UNQUALIFIED
Sinclair T SaylorsCanadaAnna Fali UNQUALIFIED
Ivar Q SaylorsGermanyAnna Fali NEGOTIATION
Chavez F VocelkaBrazilIoni Bowcher RENEWAL
Rodrigues O StensethIndiaOnyama Limba UNQUALIFIED
Alejandro L RimBrazilAmy Elsner PROPOSAL
Morrow H ShinkoCanadaAsiya Javayant UNQUALIFIED
Antonio I RoysterSpainAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi U GillianAustraliaIoni Bowcher UNQUALIFIED
Murillo H PerinCanadaAnna Fali UNQUALIFIED
Claire E BowleyArgentinaAsiya Javayant QUALIFIED
Adams U KolmetzGermanyAsiya Javayant QUALIFIED
Tony W WieserIndiaOnyama Limba NEGOTIATION
Murillo N FerenczGermanyElwin Sharvill UNQUALIFIED
Faith A PoquetteItalyIoni Bowcher UNQUALIFIED
Claire P GillianItalyOnyama Limba NEW
Leja U CampainJapanStephen Shaw NEGOTIATION
Kadeem G DarakjyBrazilIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki J MorascaBrazil2025-08-18Chanay, Jeffrey A Esq RENEWAL63Bernardo Dominic
1001Jefferson A StensethCanada2025-08-22Truhlar And Truhlar Attys PROPOSAL63Bernardo Dominic
1002Arvin K CaudyUnited Kingdom2025-08-26Benton, John B Jr NEGOTIATION84Bernardo Dominic
1003Misaki Q CaudyAustralia2025-08-12Printing Dimensions NEGOTIATION79Bernardo Dominic
1004Francesco V DoeSpain2025-08-24Chemel, James L Cpa UNQUALIFIED99Xuxue Feng
1005David J MarrierAustralia2025-07-31Rangoni Of Florence NEGOTIATION60Elwin Sharvill
1006Tony B NestleGermany2025-08-25Truhlar And Truhlar Attys UNQUALIFIED67Bernardo Dominic
1007Alejandro I MaletArgentina2025-08-27Buckley Miller Wright NEGOTIATION33Xuxue Feng
1008Kaitlin J NickaFrance2025-08-16Morlong Associates NEGOTIATION40Elwin Sharvill
1009Aditya P WaycottRussia2025-08-13Feltz Printing Service NEGOTIATION19Xuxue Feng
1010Jeanfrancois J GauchoUnited Kingdom2025-08-02Morlong Associates RENEWAL15Asiya Javayant
1011Salvatore I GillianUnited Kingdom2025-08-25Commercial Press NEW21Onyama Limba
1012Clifford X FlosiJapan2025-08-23Dorl, James J Esq RENEWAL14Elwin Sharvill
1013Alejandro U FlosiAustralia2025-08-05Chapman, Ross E Esq PROPOSAL22Elwin Sharvill
1014Deepesh Y PaprockiAustralia2025-07-29Morlong Associates NEW28Elwin Sharvill
1015Alejandro M MarrierRussia2025-08-10Chemel, James L Cpa UNQUALIFIED52Bernardo Dominic
1016Stacey G BowleyJapan2025-08-17Chemel, James L Cpa NEGOTIATION7Asiya Javayant
1017Jeanfrancois F CaldareraBrazil2025-08-25Chapman, Ross E Esq NEW69Bernardo Dominic
1018Leja L RoysterCanada2025-08-02Rangoni Of Florence RENEWAL30Ioni Bowcher
1019Misaki W MaletGermany2025-08-19Rangoni Of Florence NEW88Stephen Shaw
1020Nicolas M MaletJapan2025-08-25Morlong Associates NEGOTIATION29Xuxue Feng
1021Greenwood Z BologniaAustralia2025-08-02Rangoni Of Florence NEW71Stephen Shaw
1022Mujtaba D MorascaArgentina2025-08-09Rangoni Of Florence NEGOTIATION54Amy Elsner
1023Morrow A SchemmerRussia2025-08-26Chemel, James L Cpa NEW31Stephen Shaw
1024Cody B MorascaItaly2025-08-18Feltz Printing Service NEGOTIATION2Stephen Shaw
1025Maria F TollnerAustralia2025-08-25Chemel, James L Cpa UNQUALIFIED70Stephen Shaw
1026Izzy E BologniaItaly2025-08-21Buckley Miller Wright NEGOTIATION7Stephen Shaw
1027Emily Q RoysterGermany2025-08-16Buckley Miller Wright QUALIFIED43Xuxue Feng
1028Francesco X GillianGermany2025-08-15King, Christopher A Esq RENEWAL25Ivan Magalhaes
1029Leja W SaylorsSpain2025-08-09Dorl, James J Esq NEW30Ioni Bowcher
1030Mujtaba S RoysterArgentina2025-08-03Feltz Printing Service QUALIFIED23Ivan Magalhaes
1031Jones B WieserGermany2025-08-21Feltz Printing Service QUALIFIED43Onyama Limba
1032Leon F GauchoRussia2025-08-23Rousseaux, Michael Esq RENEWAL15Bernardo Dominic
1033Adams N FollerItaly2025-08-24Printing Dimensions NEW43Asiya Javayant
1034Smith A BologniaRussia2025-08-04Commercial Press PROPOSAL29Stephen Shaw
1035Aruna L DoeIndia2025-08-02Dorl, James J Esq RENEWAL18Xuxue Feng
1036Ricardo Q GillianBrazil2025-08-02Chemel, James L Cpa PROPOSAL16Asiya Javayant
1037Isabel J CaudySpain2025-08-01King, Christopher A Esq QUALIFIED29Bernardo Dominic
1038Nicolas L ButtJapan2025-08-12Commercial Press UNQUALIFIED52Bernardo Dominic
1039Maisha I BowleyFrance2025-08-07Rangoni Of Florence QUALIFIED47Ivan Magalhaes
1040Costa H AmigonBrazil2025-08-02Benton, John B Jr QUALIFIED27Onyama Limba
1041Ricardo C FerenczFrance2025-08-09Dorl, James J Esq QUALIFIED70Stephen Shaw
1042Jeanfrancois U WieserCanada2025-08-09Benton, John B Jr NEW76Bernardo Dominic
1043Leja E SchemmerGermany2025-08-09Morlong Associates PROPOSAL72Bernardo Dominic
1044Darci X WhobreyArgentina2025-08-11Benton, John B Jr UNQUALIFIED88Bernardo Dominic
1045Jones T MorascaJapan2025-07-30Feiner Bros UNQUALIFIED86Bernardo Dominic
1046Wickens H RimRussia2025-08-15Morlong Associates PROPOSAL59Stephen Shaw
1047Wickens Y SlusarskiItaly2025-08-26Morlong Associates NEGOTIATION7Amy Elsner
1048Antonio Y SaylorsAustralia2025-08-23Dorl, James J Esq PROPOSAL59Xuxue Feng
1049Jefferson H WhobreyArgentina2025-08-13Dorl, James J Esq NEW98Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Juan R StockhamRussiaAsiya Javayant PROPOSAL
Ricardo L RutaUnited KingdomXuxue Feng NEW
Ricardo H MaletArgentinaIvan Magalhaes PROPOSAL
Francesco M WhobreyBrazilAsiya Javayant PROPOSAL
Sinclair K KuskoJapanAsiya Javayant NEGOTIATION
Tony S MaletFranceElwin Sharvill RENEWAL
Smith N PaprockiJapanStephen Shaw NEW
Rodrigues R WhobreySpainStephen Shaw RENEWAL
Alejandro T GlickCanadaBernardo Dominic RENEWAL
Deepesh N MaletUnited KingdomAsiya Javayant RENEWAL
Aruna J RimArgentinaBernardo Dominic QUALIFIED
Munro L MaletJapanBernardo Dominic UNQUALIFIED
Arvin F AmigonItalyIvan Magalhaes NEW
Mujtaba F FerenczSpainOnyama Limba UNQUALIFIED
Silvio X VenereIndiaElwin Sharvill NEGOTIATION
Wickens M GillianJapanOnyama Limba RENEWAL
Munro L FlosiGermanyElwin Sharvill PROPOSAL
Ricardo R WhobreyAustraliaXuxue Feng RENEWAL
Isabel X BologniaBrazilElwin Sharvill RENEWAL
Maisha Z RoysterAustraliaXuxue Feng NEGOTIATION
Cody U CaldareraBrazilBernardo Dominic PROPOSAL
Murillo L OstroskyJapanBernardo Dominic NEGOTIATION
Nicolas Q GlickJapanIvan Magalhaes NEGOTIATION
Aruna W VocelkaJapanBernardo Dominic RENEWAL
Clifford D GauchoItalyBernardo Dominic QUALIFIED
Jeanfrancois X CaudyUnited KingdomStephen Shaw NEW
Aika O NestleArgentinaOnyama Limba PROPOSAL
Murillo K WhobreySpainAsiya Javayant PROPOSAL
Jefferson Y GarufiCanadaBernardo Dominic UNQUALIFIED
Izzy Q FollerUnited KingdomAnna Fali PROPOSAL
Murillo E VocelkaFranceAnna Fali UNQUALIFIED
Cody H DilliardCanadaXuxue Feng NEGOTIATION
Kaitlin H MaletCanadaAsiya Javayant NEW
Stacey R OldroydUnited KingdomElwin Sharvill RENEWAL
Alejandro D BriddickIndiaIoni Bowcher NEGOTIATION
Jefferson J SergiAustraliaAmy Elsner NEGOTIATION
Jones Y FerenczBrazilBernardo Dominic PROPOSAL
Salvatore B RutaBrazilAmy Elsner UNQUALIFIED
David S NickaArgentinaStephen Shaw QUALIFIED
Ivar T AlbaresFranceOnyama Limba RENEWAL
Claire R RutaAustraliaAnna Fali NEGOTIATION
Mayumi Z MorascaUnited KingdomAsiya Javayant PROPOSAL
Silvio I StockhamSpainElwin Sharvill NEW
Alejandro V WieserRussiaAnna Fali NEGOTIATION
James B CaldareraJapanOnyama Limba QUALIFIED
Antonio J StensethFranceElwin Sharvill NEW
Ashley D CaldareraArgentinaElwin Sharvill PROPOSAL
Sinclair V ChuiIndiaStephen Shaw NEW
Misaki Y WhobreyUnited KingdomElwin Sharvill QUALIFIED
Costa M RutaGermanyStephen Shaw UNQUALIFIED
Frozen Columns
Name
Aika B Bowley
Faith G Briddick
Aika Z Paprocki
Costa U Perin
Kaitlin B Rulapaugh
Kadeem Z Garufi
Clifford Q Paprocki
Leon S Stenseth
Maria H Doe
Maria O Ostrosky
Arvin L Butt
Sinclair K Dilliard
Salvatore N Marrier
Jeanfrancois Z Morasca
Johnson E Oldroyd
Silvio P Caldarera
Francesco N Saylors
Silvio H Rim
Isabel M Morasca
Kadeem H Venere
Darci V Glick
Salvatore T Vocelka
Ivar C Poquette
Mujtaba O Butt
Deepesh X Gaucho
Johnson Z Slusarski
Maria E Maclead
Jefferson P Campain
Adams E Gillian
Nicolas R Slusarski
Maria I Rulapaugh
Munro G Poquette
Salvatore S Sergi
Antonio J Poquette
Adams O Royster
Jefferson Y Sergi
Leon H Paprocki
Nicolas D Maclead
Ashley D Sergi
Adams F Kolmetz
Munro J Inouye
Wickens C Flosi
Jones W Campain
Wickens Y Nestle
Arvin H Briddick
Tony R Malet
Octavia P Stenseth
Darci B Garufi
Johnson M Tollner
Jeanfrancois Y Vocelka
IdCountryDate
1000Australia2025-07-31
1001Germany2025-08-09
1002Argentina2025-08-01
1003Argentina2025-08-12
1004France2025-08-21
1005Italy2025-08-04
1006Italy2025-08-19
1007Australia2025-08-06
1008Australia2025-08-14
1009Russia2025-08-16
1010France2025-08-13
1011Germany2025-08-15
1012Italy2025-08-04
1013India2025-08-07
1014Japan2025-08-23
1015Germany2025-08-13
1016Canada2025-08-23
1017India2025-08-15
1018Brazil2025-08-20
1019India2025-07-29
1020India2025-08-15
1021Canada2025-08-20
1022United Kingdom2025-08-04
1023Spain2025-08-15
1024United Kingdom2025-08-22
1025Italy2025-08-04
1026Australia2025-07-30
1027Australia2025-08-23
1028France2025-08-25
1029Canada2025-08-04
1030Canada2025-08-18
1031Italy2025-08-13
1032France2025-08-12
1033Brazil2025-08-23
1034Germany2025-08-03
1035United Kingdom2025-08-10
1036Australia2025-08-13
1037Italy2025-08-26
1038Germany2025-08-27
1039Russia2025-08-20
1040France2025-08-05
1041Russia2025-08-18
1042United Kingdom2025-08-16
1043India2025-08-14
1044Italy2025-08-04
1045Germany2025-07-29
1046Canada2025-08-25
1047Japan2025-08-04
1048Germany2025-08-27
1049France2025-08-22

On-Demand Data

NameIdCountryDate
Morrow S Shinko1000France2025-07-29
Murillo M Ferencz1001Germany2025-08-06
Ivar Q Nicka1002Australia2025-08-22
Nicolas H Whobrey1003Germany2025-08-10
Emily L Ruta1004France2025-08-16
Cody Y Garufi1005Japan2025-08-16
Johnson M Ferencz1006Germany2025-08-25
Isabel F Poquette1007Argentina2025-08-22
Johnson L Waycott1008United Kingdom2025-08-20
Aditya M Ostrosky1009Russia2025-08-02
Francesco U Perin1010Brazil2025-08-10
Greenwood L Gaucho1011France2025-08-09
Claire M Darakjy1012Italy2025-08-05
Emily C Kolmetz1013Russia2025-08-03
Aika T Whobrey1014India2025-08-23
Alejandro Z Poquette1015Spain2025-08-23
Costa O Sergi1016India2025-08-20
Murillo V Royster1017Brazil2025-08-26
Clifford W Poquette1018Italy2025-08-01
Arvin H Royster1019Argentina2025-08-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy A NestleCanadaStephen Shaw QUALIFIED
Jennifer K KolmetzItalyXuxue Feng QUALIFIED
Juan Y WaycottGermanyElwin Sharvill RENEWAL
Adams M RimSpainAmy Elsner NEGOTIATION
Costa H GlickGermanyXuxue Feng RENEWAL
Maria G NickaCanadaIoni Bowcher PROPOSAL
Johnson W CaudyCanadaOnyama Limba PROPOSAL
Leja B CaudyAustraliaAnna Fali PROPOSAL
Jefferson J RoysterJapanAmy Elsner UNQUALIFIED
Ivar F FerenczArgentinaStephen Shaw NEGOTIATION
Chavez H ButtJapanIvan Magalhaes NEW
Smith P PerinAustraliaBernardo Dominic QUALIFIED
Jeanfrancois H KuskoRussiaXuxue Feng NEW
Costa H CampainCanadaElwin Sharvill UNQUALIFIED
Cody S BowleyAustraliaXuxue Feng RENEWAL
Maria T ButtFranceAmy Elsner PROPOSAL
Silvio P AmigonBrazilAsiya Javayant QUALIFIED
Jennifer I RulapaughItalyAnna Fali RENEWAL
Tony G TollnerJapanXuxue Feng UNQUALIFIED
David Q RulapaughIndiaAmy Elsner QUALIFIED
Jeanfrancois P DarakjyFranceIvan Magalhaes PROPOSAL
Maisha Q CampainAustraliaAmy Elsner RENEWAL
Tony B PerinBrazilAmy Elsner QUALIFIED
Smith C MaletSpainStephen Shaw QUALIFIED
Julie C BowleyArgentinaElwin Sharvill RENEWAL
Murillo Q RoysterCanadaAnna Fali QUALIFIED
Antonio B KolmetzCanadaOnyama Limba RENEWAL
Aika Y IturbideCanadaAnna Fali RENEWAL
Aika U StensethIndiaIoni Bowcher NEGOTIATION
Arvin V InouyeGermanyBernardo Dominic RENEWAL
Darci C PerinIndiaAsiya Javayant PROPOSAL
Chavez B GauchoArgentinaElwin Sharvill RENEWAL
James X ShinkoCanadaIvan Magalhaes PROPOSAL
Cody E BowleyFranceAmy Elsner QUALIFIED
Morrow P SaylorsArgentinaStephen Shaw UNQUALIFIED
Juan S IturbideItalyIvan Magalhaes PROPOSAL
Maria A DoeRussiaStephen Shaw RENEWAL
Nicolas R PerinBrazilXuxue Feng UNQUALIFIED
Sinclair Y SergiArgentinaAsiya Javayant QUALIFIED
Maisha L WieserFranceXuxue Feng 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>