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
Ivar K PerinArgentinaAsiya Javayant QUALIFIED
Faith A RimUnited KingdomIoni Bowcher PROPOSAL
Sinclair W OldroydJapanIvan Magalhaes UNQUALIFIED
Nicolas J GauchoItalyIoni Bowcher RENEWAL
Arvin G InouyeArgentinaOnyama Limba NEW
Ivar X KolmetzItalyStephen Shaw NEW
Clifford N TollnerIndiaStephen Shaw RENEWAL
Ashley S MorascaItalyAmy Elsner UNQUALIFIED
Mayumi D ButtArgentinaAsiya Javayant NEW
Francesco O RutaJapanAnna Fali NEGOTIATION
James N RimCanadaElwin Sharvill PROPOSAL
Ricardo C MorascaUnited KingdomOnyama Limba RENEWAL
Salvatore W ShinkoCanadaXuxue Feng NEW
Rodrigues O GillianCanadaAnna Fali RENEWAL
Kaitlin C WieserJapanElwin Sharvill QUALIFIED
Maisha H GarufiAustraliaOnyama Limba NEGOTIATION
Aruna W OldroydFranceAmy Elsner PROPOSAL
Greenwood L VenereSpainAmy Elsner QUALIFIED
Octavia Z StensethCanadaAnna Fali QUALIFIED
Costa X AlbaresBrazilAnna Fali NEW
Jennifer X MarrierIndiaStephen Shaw NEGOTIATION
Misaki D FerenczAustraliaElwin Sharvill RENEWAL
Johnson D ShinkoJapanXuxue Feng QUALIFIED
Octavia W NestleIndiaBernardo Dominic RENEWAL
Mujtaba W IturbideItalyOnyama Limba PROPOSAL
Jefferson P DoeAustraliaAnna Fali UNQUALIFIED
Chavez T SaylorsJapanIoni Bowcher NEW
Maisha G StockhamSpainAmy Elsner UNQUALIFIED
Arvin G InouyeIndiaIvan Magalhaes NEW
Ashley E ShinkoRussiaStephen Shaw RENEWAL
Julie R KolmetzUnited KingdomAnna Fali RENEWAL
Deepesh J PaprockiGermanyBernardo Dominic NEW
Aika U AlbaresRussiaXuxue Feng UNQUALIFIED
Stacey S SergiArgentinaBernardo Dominic PROPOSAL
James L BowleyItalyStephen Shaw QUALIFIED
Cody G GillianFranceAsiya Javayant QUALIFIED
Murillo K GlickBrazilStephen Shaw UNQUALIFIED
Juan J IturbideIndiaAnna Fali PROPOSAL
Mayumi O OldroydAustraliaAsiya Javayant UNQUALIFIED
Silvio V MarrierBrazilAsiya Javayant UNQUALIFIED
Sinclair L VenereFranceIvan Magalhaes NEW
Deepesh E DoeIndiaOnyama Limba NEW
Antonio Q CaudyItalyElwin Sharvill QUALIFIED
Cody P VocelkaGermanyStephen Shaw NEGOTIATION
Costa B IturbideRussiaIvan Magalhaes NEGOTIATION
Murillo H SlusarskiJapanAsiya Javayant RENEWAL
Ivar K SchemmerFranceOnyama Limba PROPOSAL
Octavia B GauchoUnited KingdomAnna Fali NEW
Emily X IturbideSpainIvan Magalhaes RENEWAL
Jeanfrancois N BologniaJapanBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy Y BriddickIndiaBernardo Dominic PROPOSAL
Mujtaba P StockhamItalyOnyama Limba NEW
Ricardo X MacleadRussiaAsiya Javayant RENEWAL
Mujtaba J SaylorsArgentinaBernardo Dominic NEGOTIATION
Jones T StensethAustraliaStephen Shaw NEGOTIATION
Aditya D RulapaughCanadaStephen Shaw NEW
Cody T MaletGermanyOnyama Limba RENEWAL
Jones Z PaprockiSpainBernardo Dominic QUALIFIED
Kadeem G RutaBrazilAmy Elsner NEGOTIATION
Antonio X SaylorsFranceBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley D TollnerAustralia2025-09-04Printing Dimensions NEGOTIATION65Amy Elsner
1001Jeanfrancois Q PaprockiGermany2025-09-25Chanay, Jeffrey A Esq NEGOTIATION70Ioni Bowcher
1002Clifford Q PoquetteJapan2025-09-06Printing Dimensions NEW46Xuxue Feng
1003Ashley P KolmetzRussia2025-09-08Printing Dimensions NEW99Anna Fali
1004Ivar L MarrierGermany2025-09-26Chapman, Ross E Esq NEGOTIATION6Asiya Javayant
1005James Z RimBrazil2025-09-21Chemel, James L Cpa QUALIFIED5Anna Fali
1006Kaitlin E WhobreyAustralia2025-09-17Feltz Printing Service PROPOSAL86Asiya Javayant
1007Tony A GauchoRussia2025-09-29Rangoni Of Florence PROPOSAL79Bernardo Dominic
1008Julie T VenereArgentina2025-09-23Dorl, James J Esq PROPOSAL44Anna Fali
1009David K GillianIndia2025-09-05Rangoni Of Florence QUALIFIED30Xuxue Feng
1010Darci Z AmigonArgentina2025-09-13Truhlar And Truhlar Attys QUALIFIED85Anna Fali
1011Rodrigues D OstroskyIndia2025-09-03Chanay, Jeffrey A Esq NEW31Ivan Magalhaes
1012Ashley B GlickFrance2025-09-06Chapman, Ross E Esq QUALIFIED48Stephen Shaw
1013Aditya E ButtArgentina2025-09-18Benton, John B Jr RENEWAL66Stephen Shaw
1014Jefferson B GlickUnited Kingdom2025-09-07Dorl, James J Esq RENEWAL61Amy Elsner
1015Juan B WhobreyGermany2025-09-21Chapman, Ross E Esq NEW21Xuxue Feng
1016Francesco A RoysterSpain2025-09-16Rousseaux, Michael Esq QUALIFIED96Stephen Shaw
1017Faith F PoquetteRussia2025-10-02Truhlar And Truhlar Attys NEGOTIATION56Stephen Shaw
1018Emily Z OstroskyItaly2025-09-29Truhlar And Truhlar Attys QUALIFIED60Onyama Limba
1019Leon F SaylorsBrazil2025-09-20King, Christopher A Esq NEW88Amy Elsner
1020Wickens P MaletCanada2025-09-16King, Christopher A Esq PROPOSAL48Asiya Javayant
1021James S CaudyFrance2025-09-25Morlong Associates UNQUALIFIED20Asiya Javayant
1022Kadeem U GlickRussia2025-09-14Truhlar And Truhlar Attys UNQUALIFIED48Anna Fali
1023Silvio I OldroydCanada2025-09-05King, Christopher A Esq NEGOTIATION16Ivan Magalhaes
1024Ivar K NestleItaly2025-09-24Chapman, Ross E Esq QUALIFIED51Bernardo Dominic
1025Ashley F KuskoItaly2025-09-11Chapman, Ross E Esq QUALIFIED7Stephen Shaw
1026Rodrigues O CampainSpain2025-09-23Printing Dimensions NEGOTIATION38Ivan Magalhaes
1027Leon L WhobreyRussia2025-09-27Feiner Bros UNQUALIFIED23Onyama Limba
1028Clifford U StensethGermany2025-09-20Feltz Printing Service NEGOTIATION6Ivan Magalhaes
1029Alejandro H MaletJapan2025-09-13King, Christopher A Esq RENEWAL56Ioni Bowcher
1030Arvin Y AmigonItaly2025-09-10Rangoni Of Florence QUALIFIED53Xuxue Feng
1031Jones Q WhobreyUnited Kingdom2025-09-28Truhlar And Truhlar Attys UNQUALIFIED88Ivan Magalhaes
1032Silvio G RimUnited Kingdom2025-09-27Rousseaux, Michael Esq NEGOTIATION89Stephen Shaw
1033Morrow S CampainFrance2025-09-20Chemel, James L Cpa PROPOSAL11Stephen Shaw
1034Adams O MaletAustralia2025-09-29King, Christopher A Esq RENEWAL12Amy Elsner
1035Aditya W VenereBrazil2025-09-23Truhlar And Truhlar Attys NEW12Xuxue Feng
1036Alejandro B NestleFrance2025-09-14Feltz Printing Service UNQUALIFIED28Amy Elsner
1037Ricardo O BowleyIndia2025-10-02Truhlar And Truhlar Attys RENEWAL68Elwin Sharvill
1038Salvatore J SaylorsSpain2025-09-17Dorl, James J Esq PROPOSAL15Xuxue Feng
1039Kaitlin H SergiGermany2025-09-15Truhlar And Truhlar Attys NEGOTIATION19Ivan Magalhaes
1040Izzy W MorascaItaly2025-09-14Printing Dimensions NEGOTIATION52Stephen Shaw
1041Munro B PoquetteSpain2025-09-08Rangoni Of Florence NEGOTIATION87Ioni Bowcher
1042Francesco Q PoquetteUnited Kingdom2025-09-03Chemel, James L Cpa NEGOTIATION46Anna Fali
1043Emily W CaldareraFrance2025-10-02Feltz Printing Service RENEWAL12Stephen Shaw
1044Aika W BologniaFrance2025-10-01Printing Dimensions QUALIFIED50Onyama Limba
1045Ricardo A ChuiRussia2025-09-27Feltz Printing Service UNQUALIFIED60Xuxue Feng
1046Adams X WaycottAustralia2025-09-26Dorl, James J Esq QUALIFIED8Stephen Shaw
1047Julie O PaprockiBrazil2025-09-25Morlong Associates NEGOTIATION36Onyama Limba
1048Clifford Z GarufiItaly2025-09-27Feltz Printing Service PROPOSAL44Stephen Shaw
1049Maria I BologniaFrance2025-09-24Feiner Bros UNQUALIFIED4Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Arvin M AmigonGermanyOnyama Limba NEGOTIATION
Silvio L MorascaBrazilBernardo Dominic NEW
Antonio E SaylorsItalyAmy Elsner RENEWAL
Octavia A PaprockiAustraliaAmy Elsner RENEWAL
Ashley B FlosiIndiaIvan Magalhaes UNQUALIFIED
Maria G MaletIndiaAsiya Javayant QUALIFIED
Jeanfrancois S FigeroaGermanyBernardo Dominic QUALIFIED
Leon K SergiBrazilElwin Sharvill PROPOSAL
Faith V KolmetzRussiaXuxue Feng QUALIFIED
Leon I BriddickCanadaIvan Magalhaes NEGOTIATION
Claire D AmigonArgentinaElwin Sharvill PROPOSAL
Greenwood H CaldareraRussiaAnna Fali RENEWAL
Mayumi K VenereUnited KingdomIoni Bowcher NEGOTIATION
Johnson C GarufiFranceBernardo Dominic NEW
Darci L MorascaArgentinaAnna Fali UNQUALIFIED
Misaki R RimIndiaAnna Fali RENEWAL
Adams W NestleRussiaIoni Bowcher UNQUALIFIED
Izzy W MaletIndiaXuxue Feng QUALIFIED
Adams Z KolmetzIndiaAmy Elsner NEGOTIATION
Jeanfrancois F MarrierJapanOnyama Limba NEGOTIATION
Claire Q FigeroaCanadaIoni Bowcher RENEWAL
Sinclair K MorascaItalyAsiya Javayant RENEWAL
Francesco R GarufiGermanyXuxue Feng PROPOSAL
Salvatore J KuskoSpainAnna Fali QUALIFIED
Smith G CaudyArgentinaAnna Fali UNQUALIFIED
Juan I InouyeRussiaAsiya Javayant PROPOSAL
Ashley R GillianArgentinaAmy Elsner QUALIFIED
Salvatore T StensethCanadaOnyama Limba NEW
Silvio G MacleadIndiaBernardo Dominic NEW
Murillo U MaletBrazilAsiya Javayant PROPOSAL
Salvatore Q ShinkoArgentinaElwin Sharvill UNQUALIFIED
Aditya H BowleyFranceAmy Elsner RENEWAL
Sinclair G VocelkaIndiaElwin Sharvill RENEWAL
Alejandro K GarufiCanadaIvan Magalhaes NEW
Kaitlin V AlbaresJapanIoni Bowcher PROPOSAL
Juan T RoysterIndiaIvan Magalhaes NEGOTIATION
Jones P CaudyJapanStephen Shaw NEGOTIATION
Chavez B CaudyRussiaIoni Bowcher PROPOSAL
Tony P PoquetteUnited KingdomXuxue Feng NEW
Ashley F KuskoAustraliaXuxue Feng UNQUALIFIED
Faith R GarufiBrazilAsiya Javayant NEW
Jennifer A FlosiFranceOnyama Limba QUALIFIED
Octavia W DilliardFranceIoni Bowcher NEGOTIATION
Alejandro U InouyeAustraliaElwin Sharvill NEW
Silvio U WaycottGermanyIoni Bowcher UNQUALIFIED
Aika C CampainCanadaOnyama Limba NEW
Claire Q FigeroaItalyOnyama Limba NEGOTIATION
David A BologniaUnited KingdomXuxue Feng UNQUALIFIED
Faith L VocelkaRussiaAnna Fali NEGOTIATION
Clifford E MorascaArgentinaAmy Elsner NEW
Frozen Columns
Name
Jefferson C Tollner
James J Nestle
Misaki G Perin
Wickens E Whobrey
Nicolas Y Stenseth
Silvio S Iturbide
Deepesh A Garufi
Chavez M Nestle
James N Malet
Darci K Whobrey
Smith V Nicka
Cody G Waycott
David B Ostrosky
Izzy Q Garufi
Ivar A Doe
Emily Z Perin
Leon D Stockham
Rodrigues E Marrier
Jennifer W Ruta
Alejandro D Venere
Murillo T Morasca
Deepesh M Garufi
Jones G Ruta
Murillo B Sergi
Salvatore W Oldroyd
Stacey O Darakjy
Sinclair J Ostrosky
David T Foller
Emily A Figeroa
Isabel I Stenseth
Misaki I Tollner
Munro Y Waycott
Mujtaba V Inouye
Clifford E Ferencz
Juan J Figeroa
Stacey Y Shinko
Kaitlin F Shinko
Maria D Shinko
Cody X Paprocki
Jefferson Y Nicka
Morrow P Glick
James A Perin
Nicolas T Kolmetz
James L Malet
Antonio I Albares
Cody U Ruta
Clifford Z Butt
Kadeem N Maclead
Greenwood B Ferencz
Misaki K Ostrosky
IdCountryDate
1000Spain2025-09-21
1001Australia2025-09-18
1002Australia2025-09-08
1003France2025-09-18
1004United Kingdom2025-09-14
1005Brazil2025-09-13
1006Japan2025-09-04
1007Russia2025-10-01
1008France2025-09-25
1009Argentina2025-09-29
1010Brazil2025-09-13
1011Brazil2025-09-16
1012Germany2025-09-21
1013Russia2025-09-30
1014Spain2025-09-18
1015Argentina2025-09-16
1016Canada2025-09-28
1017Spain2025-09-26
1018Brazil2025-09-27
1019Argentina2025-09-06
1020Germany2025-09-30
1021Brazil2025-09-23
1022Brazil2025-09-05
1023Japan2025-09-28
1024Australia2025-09-21
1025Spain2025-09-25
1026Japan2025-09-03
1027France2025-09-14
1028Brazil2025-09-19
1029Spain2025-09-24
1030United Kingdom2025-09-25
1031India2025-09-11
1032Brazil2025-09-06
1033Argentina2025-09-15
1034Canada2025-09-26
1035Argentina2025-09-07
1036Argentina2025-09-20
1037Italy2025-09-08
1038Canada2025-09-05
1039Australia2025-09-21
1040Canada2025-09-29
1041Spain2025-09-16
1042Canada2025-09-15
1043Japan2025-09-25
1044Argentina2025-09-23
1045Australia2025-09-23
1046Germany2025-09-03
1047Brazil2025-10-01
1048Spain2025-09-23
1049Germany2025-09-13

On-Demand Data

NameIdCountryDate
Munro M Briddick1000Italy2025-09-12
Morrow P Shinko1001Brazil2025-09-11
Ricardo U Morasca1002Japan2025-09-23
Salvatore C Oldroyd1003Russia2025-09-18
Sinclair O Kolmetz1004India2025-10-01
Stacey R Stockham1005Russia2025-09-18
Julie W Maclead1006Argentina2025-09-07
Faith Z Doe1007France2025-09-07
Wickens R Saylors1008Germany2025-09-28
Smith U Perin1009India2025-09-20
Sinclair L Campain1010Italy2025-09-20
Jones O Malet1011Russia2025-09-27
Murillo M Kolmetz1012Australia2025-09-30
Smith W Caudy1013United Kingdom2025-09-16
Morrow L Inouye1014Spain2025-09-12
James O Campain1015Argentina2025-09-03
Leja B Kusko1016Japan2025-09-04
Ivar T Campain1017Canada2025-09-20
Faith P Foller1018Spain2025-09-05
Isabel V Oldroyd1019Brazil2025-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio K RimGermanyXuxue Feng PROPOSAL
Wickens M SchemmerIndiaStephen Shaw UNQUALIFIED
Aika I RimFranceIoni Bowcher NEW
Johnson G ShinkoGermanyBernardo Dominic PROPOSAL
Tony V TollnerAustraliaOnyama Limba NEGOTIATION
Ashley H BowleyBrazilAsiya Javayant RENEWAL
Sinclair J WaycottUnited KingdomAnna Fali QUALIFIED
Aruna X SlusarskiArgentinaIvan Magalhaes NEW
Isabel M DilliardIndiaAmy Elsner PROPOSAL
Ashley W FigeroaAustraliaElwin Sharvill PROPOSAL
Faith I NestleArgentinaIvan Magalhaes QUALIFIED
Maria I RimJapanAsiya Javayant RENEWAL
Chavez Q AmigonJapanAsiya Javayant QUALIFIED
Munro H RimItalyAsiya Javayant PROPOSAL
Antonio X StensethRussiaAnna Fali NEW
Sinclair E WhobreyCanadaAsiya Javayant PROPOSAL
Salvatore G MorascaCanadaOnyama Limba PROPOSAL
Cody U DoeGermanyIvan Magalhaes NEW
Ivar R OstroskyGermanyIvan Magalhaes UNQUALIFIED
Ricardo U StockhamArgentinaAsiya Javayant NEW
Arvin Q MaletSpainIoni Bowcher RENEWAL
James F DoeGermanyBernardo Dominic QUALIFIED
Francesco X BowleyAustraliaAmy Elsner UNQUALIFIED
Claire W AmigonUnited KingdomBernardo Dominic PROPOSAL
Tony R DarakjyCanadaOnyama Limba UNQUALIFIED
Juan X SlusarskiCanadaIoni Bowcher UNQUALIFIED
Ricardo I MorascaRussiaIvan Magalhaes UNQUALIFIED
Nicolas E VenereGermanyStephen Shaw PROPOSAL
Kadeem W MarrierIndiaBernardo Dominic UNQUALIFIED
Johnson W WieserFranceAmy Elsner NEGOTIATION
Clifford S GauchoCanadaBernardo Dominic RENEWAL
Aruna G PoquetteFranceAnna Fali NEW
Cody E ShinkoSpainBernardo Dominic NEGOTIATION
Morrow P AmigonCanadaAmy Elsner NEGOTIATION
Cody A GlickBrazilIvan Magalhaes NEW
Munro H BriddickBrazilAsiya Javayant QUALIFIED
Nicolas F MarrierArgentinaBernardo Dominic NEW
Sinclair K NickaArgentinaAsiya Javayant NEGOTIATION
Cody T FollerRussiaAsiya Javayant QUALIFIED
Octavia A VenereAustraliaElwin Sharvill 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>