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
Leja P PerinUnited KingdomBernardo Dominic PROPOSAL
Nicolas R ButtUnited KingdomAmy Elsner RENEWAL
Alejandro L CaudyIndiaOnyama Limba NEW
Smith A NestleArgentinaIoni Bowcher QUALIFIED
Aruna Y NickaFranceAnna Fali NEW
Antonio H FigeroaGermanyIvan Magalhaes RENEWAL
Julie H RutaRussiaStephen Shaw UNQUALIFIED
Isabel N KuskoSpainAnna Fali NEGOTIATION
Adams C FlosiBrazilBernardo Dominic QUALIFIED
James M GauchoJapanAnna Fali RENEWAL
Maria U VenereCanadaIvan Magalhaes QUALIFIED
Deepesh I MaletFranceIvan Magalhaes RENEWAL
Leja O CaldareraBrazilBernardo Dominic PROPOSAL
Juan I PaprockiBrazilElwin Sharvill RENEWAL
Maisha V FerenczRussiaAnna Fali NEW
Nicolas B CaldareraItalyIoni Bowcher QUALIFIED
Chavez R PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Maria U AmigonRussiaOnyama Limba RENEWAL
Silvio O AlbaresCanadaAsiya Javayant RENEWAL
Aruna Y PoquetteCanadaBernardo Dominic NEW
Maisha M OldroydBrazilIoni Bowcher NEW
Darci F SchemmerFranceIvan Magalhaes QUALIFIED
Leja I TollnerJapanStephen Shaw PROPOSAL
Jeanfrancois J GarufiIndiaElwin Sharvill NEGOTIATION
Jennifer M CampainGermanyIvan Magalhaes RENEWAL
Jones S SergiGermanyXuxue Feng NEGOTIATION
Misaki R GauchoCanadaXuxue Feng PROPOSAL
Octavia G MorascaFranceAnna Fali QUALIFIED
Maria P VenereJapanIvan Magalhaes NEGOTIATION
Ashley B SergiFranceBernardo Dominic NEGOTIATION
Juan N BriddickArgentinaXuxue Feng QUALIFIED
Murillo P RoysterGermanyBernardo Dominic PROPOSAL
Chavez J NestleArgentinaStephen Shaw NEGOTIATION
Chavez D NestleGermanyIvan Magalhaes PROPOSAL
Claire X RoysterArgentinaIvan Magalhaes QUALIFIED
Nicolas I CaudyBrazilXuxue Feng RENEWAL
Aika Y SlusarskiArgentinaIoni Bowcher NEW
Costa Y GlickCanadaAnna Fali PROPOSAL
Aruna K RulapaughItalyIoni Bowcher UNQUALIFIED
Ashley J MarrierIndiaStephen Shaw RENEWAL
Smith P StensethItalyStephen Shaw RENEWAL
Mujtaba T IturbideAustraliaIvan Magalhaes NEGOTIATION
Jefferson E VocelkaCanadaIvan Magalhaes UNQUALIFIED
Tony R FollerBrazilAsiya Javayant PROPOSAL
Adams Z IturbideArgentinaElwin Sharvill PROPOSAL
Stacey Z RutaUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas I KolmetzFranceIvan Magalhaes QUALIFIED
Misaki L MacleadArgentinaXuxue Feng NEW
Izzy Z StockhamArgentinaElwin Sharvill QUALIFIED
Rodrigues D MaletSpainElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody M WaycottItalyAsiya Javayant UNQUALIFIED
Francesco N VenereSpainElwin Sharvill NEGOTIATION
Jeanfrancois R CaldareraSpainAsiya Javayant NEW
Munro D MaletUnited KingdomIoni Bowcher NEGOTIATION
Wickens Q RutaSpainAnna Fali UNQUALIFIED
Kaitlin B SergiAustraliaAmy Elsner PROPOSAL
Rodrigues O InouyeRussiaBernardo Dominic NEW
Aika Y RoysterRussiaAsiya Javayant PROPOSAL
Francesco Z PoquetteJapanIoni Bowcher QUALIFIED
Munro C BologniaBrazilAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan H StockhamBrazil2025-07-20Feltz Printing Service RENEWAL48Anna Fali
1001Mayumi X FollerFrance2025-07-23Feiner Bros PROPOSAL26Elwin Sharvill
1002Jefferson D MorascaItaly2025-07-21Chemel, James L Cpa RENEWAL69Elwin Sharvill
1003Jeanfrancois Y AmigonUnited Kingdom2025-07-19Dorl, James J Esq UNQUALIFIED98Ioni Bowcher
1004Sinclair X RoysterGermany2025-07-21Printing Dimensions PROPOSAL21Anna Fali
1005Francesco O PoquetteSpain2025-07-11Buckley Miller Wright UNQUALIFIED74Asiya Javayant
1006Alejandro T VenereAustralia2025-07-03Chemel, James L Cpa RENEWAL15Elwin Sharvill
1007Greenwood H TollnerSpain2025-07-10Printing Dimensions PROPOSAL27Amy Elsner
1008Nicolas P CampainFrance2025-07-01Buckley Miller Wright PROPOSAL72Elwin Sharvill
1009Isabel O TollnerArgentina2025-07-02Buckley Miller Wright NEW10Stephen Shaw
1010Deepesh X FollerJapan2025-07-29Chemel, James L Cpa NEGOTIATION43Onyama Limba
1011Deepesh Y NickaAustralia2025-07-08Feltz Printing Service NEGOTIATION38Ioni Bowcher
1012Aika L StockhamSpain2025-07-12Printing Dimensions UNQUALIFIED69Bernardo Dominic
1013Clifford N WaycottSpain2025-07-09Chemel, James L Cpa NEGOTIATION5Amy Elsner
1014Emily X RimGermany2025-07-19Buckley Miller Wright RENEWAL94Stephen Shaw
1015Leja R GillianGermany2025-07-10Benton, John B Jr UNQUALIFIED11Amy Elsner
1016Alejandro D GarufiCanada2025-07-04Chanay, Jeffrey A Esq NEGOTIATION42Stephen Shaw
1017Ashley J DilliardUnited Kingdom2025-07-26Rangoni Of Florence NEW3Elwin Sharvill
1018Aruna N RimFrance2025-07-01Chemel, James L Cpa RENEWAL27Anna Fali
1019Stacey L ShinkoIndia2025-07-17Commercial Press NEGOTIATION14Onyama Limba
1020Izzy Z GlickCanada2025-07-06Chanay, Jeffrey A Esq PROPOSAL83Xuxue Feng
1021Aika V PerinUnited Kingdom2025-07-16Dorl, James J Esq NEGOTIATION67Ivan Magalhaes
1022Jones S FlosiIndia2025-07-08Chanay, Jeffrey A Esq UNQUALIFIED73Xuxue Feng
1023Kadeem V IturbideBrazil2025-07-15Printing Dimensions NEW74Xuxue Feng
1024Jefferson C SchemmerSpain2025-07-24Commercial Press PROPOSAL91Ioni Bowcher
1025Mayumi D RulapaughItaly2025-07-12Chapman, Ross E Esq PROPOSAL12Amy Elsner
1026Antonio V KolmetzFrance2025-07-30King, Christopher A Esq UNQUALIFIED12Stephen Shaw
1027Salvatore J ButtBrazil2025-07-15Chanay, Jeffrey A Esq QUALIFIED51Ioni Bowcher
1028Octavia A MarrierIndia2025-07-30Rousseaux, Michael Esq QUALIFIED97Asiya Javayant
1029Morrow E NickaFrance2025-07-24Chapman, Ross E Esq QUALIFIED87Elwin Sharvill
1030Leon R FlosiBrazil2025-07-20Commercial Press PROPOSAL57Anna Fali
1031David W StensethArgentina2025-07-03Truhlar And Truhlar Attys NEGOTIATION97Stephen Shaw
1032Maisha O FigeroaCanada2025-07-24Dorl, James J Esq UNQUALIFIED15Xuxue Feng
1033David B StensethGermany2025-07-20Printing Dimensions PROPOSAL87Stephen Shaw
1034Julie Q VocelkaCanada2025-07-13Feltz Printing Service NEGOTIATION30Elwin Sharvill
1035James R ShinkoBrazil2025-07-07Truhlar And Truhlar Attys RENEWAL14Bernardo Dominic
1036Silvio V GauchoAustralia2025-07-14Morlong Associates NEGOTIATION60Onyama Limba
1037Octavia V PerinUnited Kingdom2025-07-24Feiner Bros NEW14Bernardo Dominic
1038Maisha O SaylorsJapan2025-07-07Buckley Miller Wright PROPOSAL95Amy Elsner
1039Faith I NestleBrazil2025-07-10Feiner Bros QUALIFIED30Elwin Sharvill
1040Arvin L FerenczBrazil2025-07-10Commercial Press PROPOSAL79Onyama Limba
1041Munro Z MarrierAustralia2025-07-20King, Christopher A Esq NEGOTIATION81Stephen Shaw
1042Jefferson K MacleadBrazil2025-07-17Chemel, James L Cpa NEGOTIATION88Amy Elsner
1043Alejandro G BowleyItaly2025-07-21Commercial Press QUALIFIED65Asiya Javayant
1044Morrow C MaletItaly2025-07-20Commercial Press UNQUALIFIED78Xuxue Feng
1045Stacey U AlbaresAustralia2025-07-26Commercial Press NEW54Onyama Limba
1046Aika N KuskoJapan2025-07-12King, Christopher A Esq NEW22Amy Elsner
1047Ivar R ButtGermany2025-07-02Feiner Bros NEGOTIATION47Onyama Limba
1048Clifford A OstroskyItaly2025-07-11Rangoni Of Florence QUALIFIED32Bernardo Dominic
1049Maisha S AlbaresIndia2025-07-10Benton, John B Jr RENEWAL1Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Silvio T NickaCanadaIvan Magalhaes NEW
Jennifer M SchemmerBrazilXuxue Feng RENEWAL
Chavez Q InouyeSpainOnyama Limba UNQUALIFIED
Jennifer X SchemmerUnited KingdomStephen Shaw NEW
Sinclair T MorascaUnited KingdomElwin Sharvill RENEWAL
Faith T AmigonIndiaStephen Shaw NEW
Julie Y AmigonFranceElwin Sharvill UNQUALIFIED
Murillo C NickaBrazilAnna Fali RENEWAL
James Z GlickJapanXuxue Feng NEGOTIATION
Mayumi P OstroskyItalyStephen Shaw RENEWAL
Stacey S DilliardArgentinaAmy Elsner NEGOTIATION
Juan S FerenczBrazilIvan Magalhaes QUALIFIED
Ashley H MorascaAustraliaStephen Shaw NEW
Wickens F DoeCanadaStephen Shaw RENEWAL
Chavez V MacleadJapanAmy Elsner UNQUALIFIED
Julie Y RulapaughSpainAsiya Javayant QUALIFIED
Adams Y MaletIndiaIoni Bowcher RENEWAL
Octavia X SchemmerItalyIoni Bowcher NEGOTIATION
Mujtaba V CaudyCanadaOnyama Limba UNQUALIFIED
Rodrigues J FlosiRussiaAsiya Javayant RENEWAL
Jeanfrancois A BowleyIndiaBernardo Dominic PROPOSAL
Salvatore C KuskoAustraliaXuxue Feng PROPOSAL
Morrow X NickaFranceElwin Sharvill PROPOSAL
Chavez K OstroskyFranceAnna Fali NEW
Adams L KolmetzRussiaIvan Magalhaes NEW
Faith S MacleadCanadaAsiya Javayant NEW
Chavez B PerinAustraliaBernardo Dominic PROPOSAL
James Y DarakjyArgentinaAsiya Javayant QUALIFIED
Cody V BowleyGermanyStephen Shaw RENEWAL
Mayumi T WaycottCanadaElwin Sharvill RENEWAL
Leon T SchemmerJapanAsiya Javayant QUALIFIED
Jennifer P AmigonBrazilBernardo Dominic NEGOTIATION
Salvatore K ButtAustraliaOnyama Limba RENEWAL
Francesco F DarakjyFranceIoni Bowcher UNQUALIFIED
Leon J IturbideItalyXuxue Feng NEGOTIATION
Ashley E CampainItalyOnyama Limba NEW
Nicolas T RimIndiaElwin Sharvill PROPOSAL
Alejandro E WaycottItalyStephen Shaw NEGOTIATION
Ashley C DarakjyUnited KingdomAmy Elsner PROPOSAL
Deepesh G BriddickItalyBernardo Dominic PROPOSAL
Wickens D DoeItalyXuxue Feng NEW
Misaki B GillianRussiaIvan Magalhaes UNQUALIFIED
Misaki Y SchemmerBrazilAnna Fali QUALIFIED
Kaitlin H CaldareraAustraliaIvan Magalhaes RENEWAL
Maria N FlosiArgentinaOnyama Limba RENEWAL
Sinclair Y ChuiJapanAsiya Javayant NEGOTIATION
Jefferson C MaletArgentinaIvan Magalhaes NEW
Chavez C KuskoRussiaAsiya Javayant NEGOTIATION
Kaitlin I NestleItalyIvan Magalhaes PROPOSAL
Octavia V SlusarskiSpainElwin Sharvill PROPOSAL
Frozen Columns
Name
Antonio M Schemmer
Maisha I Nicka
James Z Iturbide
Antonio F Royster
Izzy C Glick
Jeanfrancois C Sergi
Isabel H Nestle
Johnson N Malet
Ashley C Albares
Alejandro Y Schemmer
Clifford S Saylors
Aika L Doe
Emily P Stockham
Silvio D Amigon
Sinclair A Briddick
James L Briddick
Deepesh G Malet
Francesco R Malet
Ashley Z Tollner
Costa J Bolognia
Stacey Z Stenseth
Alejandro Z Inouye
Adams W Wieser
Chavez Z Slusarski
Mayumi H Whobrey
Ashley M Figeroa
Emily K Albares
Smith G Iturbide
Tony T Wieser
Francesco X Foller
James I Darakjy
Jones C Morasca
Leon T Inouye
Ashley M Bowley
Costa D Kusko
Aruna X Kusko
Francesco E Malet
Cody P Amigon
Tony Y Malet
Adams W Ferencz
Izzy J Rim
Jefferson A Ruta
David H Perin
Emily E Kolmetz
Emily X Flosi
Leja P Darakjy
Ashley A Saylors
Kaitlin G Glick
Arvin E Bowley
Maria G Gaucho
IdCountryDate
1000United Kingdom2025-07-01
1001Brazil2025-07-18
1002France2025-07-29
1003United Kingdom2025-07-27
1004Canada2025-07-22
1005Germany2025-07-01
1006Australia2025-07-04
1007Italy2025-07-05
1008Russia2025-07-11
1009France2025-07-30
1010Italy2025-07-04
1011Spain2025-07-28
1012Japan2025-07-07
1013Brazil2025-07-15
1014France2025-07-01
1015Spain2025-07-29
1016United Kingdom2025-07-30
1017Japan2025-07-01
1018Argentina2025-07-10
1019Russia2025-07-16
1020Australia2025-07-25
1021Germany2025-07-08
1022Japan2025-07-09
1023Canada2025-07-21
1024Australia2025-07-02
1025Japan2025-07-19
1026Italy2025-07-04
1027Australia2025-07-17
1028United Kingdom2025-07-12
1029Brazil2025-07-19
1030Argentina2025-07-14
1031Russia2025-07-27
1032Australia2025-07-23
1033United Kingdom2025-07-19
1034Australia2025-07-06
1035Spain2025-07-20
1036Japan2025-07-29
1037Australia2025-07-01
1038Germany2025-07-16
1039Germany2025-07-20
1040France2025-07-08
1041Brazil2025-07-02
1042Germany2025-07-27
1043France2025-07-07
1044United Kingdom2025-07-21
1045Italy2025-07-12
1046Argentina2025-07-17
1047Brazil2025-07-03
1048Brazil2025-07-03
1049Russia2025-07-18

On-Demand Data

NameIdCountryDate
Octavia W Campain1000France2025-07-15
David S Royster1001Brazil2025-07-27
Aruna N Glick1002France2025-07-10
James D Bowley1003United Kingdom2025-07-19
Emily P Figeroa1004United Kingdom2025-07-14
Mujtaba N Butt1005Russia2025-07-19
Darci O Waycott1006Australia2025-07-24
Maria V Briddick1007Germany2025-07-09
Mujtaba K Bolognia1008Argentina2025-07-30
Ricardo E Briddick1009Germany2025-07-11
Wickens L Royster1010Argentina2025-07-14
Deepesh K Wieser1011Brazil2025-07-13
Aika Y Royster1012Argentina2025-07-07
Jones E Chui1013United Kingdom2025-07-21
Johnson N Stockham1014Australia2025-07-28
Kadeem W Marrier1015India2025-07-26
Mayumi J Darakjy1016Germany2025-07-20
Greenwood C Darakjy1017Japan2025-07-13
Salvatore X Gillian1018France2025-07-28
Emily C Shinko1019Spain2025-07-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas O GillianBrazilXuxue Feng UNQUALIFIED
Octavia B MarrierIndiaAsiya Javayant RENEWAL
Chavez N ChuiRussiaAmy Elsner UNQUALIFIED
Emily X WaycottGermanyElwin Sharvill UNQUALIFIED
Silvio D NickaGermanyAmy Elsner NEGOTIATION
Smith S MarrierCanadaIvan Magalhaes QUALIFIED
Maisha V CampainUnited KingdomIoni Bowcher PROPOSAL
David I TollnerArgentinaXuxue Feng RENEWAL
Ashley G WaycottCanadaAmy Elsner QUALIFIED
Leja Z MacleadUnited KingdomXuxue Feng RENEWAL
Morrow H MorascaBrazilIoni Bowcher UNQUALIFIED
Murillo O RutaGermanyAnna Fali NEW
Sinclair K FollerCanadaStephen Shaw NEGOTIATION
Leon R NickaIndiaXuxue Feng UNQUALIFIED
Ricardo N GauchoIndiaAsiya Javayant QUALIFIED
Faith X VocelkaRussiaXuxue Feng UNQUALIFIED
Mayumi I NestleCanadaOnyama Limba QUALIFIED
Juan H GillianCanadaXuxue Feng NEGOTIATION
Ricardo X GarufiFranceAmy Elsner NEGOTIATION
Darci S GauchoCanadaIoni Bowcher NEW
Johnson Z ShinkoItalyAmy Elsner RENEWAL
Kadeem G FigeroaIndiaAnna Fali QUALIFIED
Maisha B WhobreyArgentinaAmy Elsner NEW
Misaki O MaletArgentinaStephen Shaw NEW
Ricardo K GarufiItalyBernardo Dominic PROPOSAL
Izzy X MacleadAustraliaAsiya Javayant PROPOSAL
Aditya O MarrierFranceAmy Elsner UNQUALIFIED
Chavez L StockhamCanadaIoni Bowcher UNQUALIFIED
Misaki B CampainJapanBernardo Dominic QUALIFIED
Izzy Y FlosiIndiaAmy Elsner QUALIFIED
Sinclair S AmigonBrazilIvan Magalhaes RENEWAL
Greenwood I FigeroaItalyIoni Bowcher UNQUALIFIED
Ivar H ShinkoCanadaBernardo Dominic RENEWAL
Leja Y DoeCanadaOnyama Limba RENEWAL
Mayumi U FollerIndiaStephen Shaw NEGOTIATION
Mayumi I IturbideSpainIvan Magalhaes PROPOSAL
Jefferson Q VenereSpainIvan Magalhaes QUALIFIED
Octavia T StockhamArgentinaAmy Elsner RENEWAL
Antonio I WhobreyJapanElwin Sharvill RENEWAL
Smith I CaldareraGermanyIoni Bowcher UNQUALIFIED

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