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
Rodrigues M PerinSpainAsiya Javayant PROPOSAL
Arvin O SaylorsFranceBernardo Dominic NEGOTIATION
Leon Q AmigonRussiaOnyama Limba NEGOTIATION
James K StockhamIndiaAnna Fali UNQUALIFIED
Deepesh P WieserItalyXuxue Feng NEGOTIATION
Tony R CampainUnited KingdomAsiya Javayant NEGOTIATION
Julie U MorascaUnited KingdomAsiya Javayant NEW
Darci R MarrierJapanOnyama Limba NEW
Mayumi C ShinkoCanadaElwin Sharvill QUALIFIED
Jeanfrancois R OstroskyUnited KingdomBernardo Dominic QUALIFIED
Juan Y GillianItalyOnyama Limba RENEWAL
Mujtaba W WieserIndiaStephen Shaw NEW
Leja H PerinJapanAmy Elsner UNQUALIFIED
Costa B DoeItalyIvan Magalhaes NEW
Cody S ShinkoAustraliaAnna Fali NEW
Maisha I FigeroaJapanStephen Shaw NEW
Aika M DilliardArgentinaIvan Magalhaes UNQUALIFIED
Morrow D SlusarskiSpainAnna Fali NEW
Leon V AlbaresIndiaXuxue Feng UNQUALIFIED
Aruna I InouyeItalyXuxue Feng PROPOSAL
Munro C OstroskyJapanAmy Elsner NEW
Faith O SergiRussiaAnna Fali NEGOTIATION
Ashley C CaldareraRussiaXuxue Feng PROPOSAL
Claire F SchemmerAustraliaOnyama Limba UNQUALIFIED
Kaitlin Z TollnerGermanyIoni Bowcher NEGOTIATION
Alejandro G MacleadGermanyIoni Bowcher RENEWAL
Misaki C ButtItalyAmy Elsner PROPOSAL
Alejandro T PoquetteBrazilBernardo Dominic PROPOSAL
Octavia F CampainSpainAmy Elsner NEGOTIATION
Antonio B GarufiArgentinaStephen Shaw QUALIFIED
Deepesh E VenereGermanyBernardo Dominic UNQUALIFIED
Ivar G PaprockiJapanElwin Sharvill PROPOSAL
Salvatore N SergiItalyStephen Shaw UNQUALIFIED
Adams P CaudyGermanyBernardo Dominic NEGOTIATION
Leja D NickaSpainAsiya Javayant PROPOSAL
Ashley U GlickUnited KingdomAsiya Javayant RENEWAL
Aika M MaletGermanyOnyama Limba NEW
Jones S SaylorsGermanyAnna Fali PROPOSAL
Tony K TollnerIndiaOnyama Limba NEGOTIATION
Jones M StensethRussiaAmy Elsner RENEWAL
Sinclair C BologniaIndiaOnyama Limba NEGOTIATION
Claire J BowleyBrazilIvan Magalhaes UNQUALIFIED
Tony P VocelkaBrazilOnyama Limba NEGOTIATION
Greenwood U NestleJapanElwin Sharvill NEGOTIATION
Deepesh V RimBrazilXuxue Feng RENEWAL
Antonio T VenereGermanyIvan Magalhaes NEW
Mayumi C ButtUnited KingdomIvan Magalhaes NEGOTIATION
Arvin W IturbideItalyAmy Elsner NEW
Faith R BologniaCanadaBernardo Dominic PROPOSAL
Chavez C WhobreyRussiaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya Z PaprockiFranceOnyama Limba NEGOTIATION
Alejandro U CampainAustraliaIoni Bowcher RENEWAL
Claire R GarufiSpainIvan Magalhaes NEW
Munro I ChuiSpainIoni Bowcher UNQUALIFIED
Darci S WaycottItalyStephen Shaw NEW
Jefferson I MarrierBrazilIvan Magalhaes PROPOSAL
Wickens W KuskoUnited KingdomXuxue Feng UNQUALIFIED
Arvin L WaycottFranceIvan Magalhaes PROPOSAL
Murillo G WhobreyCanadaStephen Shaw NEGOTIATION
Ricardo A ButtBrazilIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon J MarrierArgentina2025-09-12Chemel, James L Cpa NEW24Asiya Javayant
1001Maria Z PoquetteGermany2025-09-25Chapman, Ross E Esq QUALIFIED45Elwin Sharvill
1002David Q BowleyIndia2025-09-23Truhlar And Truhlar Attys RENEWAL92Elwin Sharvill
1003Mayumi A MarrierArgentina2025-09-09King, Christopher A Esq RENEWAL52Anna Fali
1004Jefferson N GarufiUnited Kingdom2025-09-23Commercial Press PROPOSAL72Elwin Sharvill
1005Mujtaba V SaylorsRussia2025-09-17Truhlar And Truhlar Attys UNQUALIFIED65Ioni Bowcher
1006Kadeem I StensethIndia2025-09-26Rousseaux, Michael Esq NEGOTIATION28Onyama Limba
1007Rodrigues P WaycottFrance2025-09-15Benton, John B Jr NEGOTIATION82Xuxue Feng
1008Tony H DoeCanada2025-09-06Chapman, Ross E Esq RENEWAL52Elwin Sharvill
1009Mayumi H WhobreyGermany2025-09-15Dorl, James J Esq NEGOTIATION68Ivan Magalhaes
1010Clifford R KuskoCanada2025-09-16Chanay, Jeffrey A Esq UNQUALIFIED15Stephen Shaw
1011Aditya J RoysterIndia2025-09-15Feiner Bros RENEWAL79Stephen Shaw
1012Mayumi V CampainArgentina2025-09-10Printing Dimensions NEW26Stephen Shaw
1013Kaitlin Z PerinCanada2025-09-23Truhlar And Truhlar Attys RENEWAL91Onyama Limba
1014Smith N NickaIndia2025-09-24King, Christopher A Esq QUALIFIED59Stephen Shaw
1015Smith G WaycottSpain2025-09-28Commercial Press PROPOSAL68Asiya Javayant
1016Mujtaba T IturbideSpain2025-09-12Buckley Miller Wright NEGOTIATION96Anna Fali
1017Jefferson D CampainUnited Kingdom2025-09-25Rangoni Of Florence QUALIFIED6Xuxue Feng
1018Juan Z BriddickRussia2025-09-04King, Christopher A Esq RENEWAL55Asiya Javayant
1019Leon W RutaJapan2025-09-08Feiner Bros PROPOSAL0Anna Fali
1020Leon G NestleBrazil2025-09-21Commercial Press UNQUALIFIED68Onyama Limba
1021Faith F SaylorsAustralia2025-09-12Rangoni Of Florence NEW40Ivan Magalhaes
1022Mayumi Z SaylorsUnited Kingdom2025-09-17Chapman, Ross E Esq UNQUALIFIED91Bernardo Dominic
1023Adams R MaletFrance2025-09-22Printing Dimensions PROPOSAL17Stephen Shaw
1024Smith F MacleadAustralia2025-09-02Morlong Associates RENEWAL90Asiya Javayant
1025Mayumi B BologniaGermany2025-09-23King, Christopher A Esq RENEWAL95Ivan Magalhaes
1026Mujtaba R RulapaughItaly2025-09-10Feltz Printing Service QUALIFIED26Onyama Limba
1027Julie W PoquetteArgentina2025-09-20Chapman, Ross E Esq NEGOTIATION22Amy Elsner
1028Cody B OstroskyCanada2025-09-17Printing Dimensions QUALIFIED32Asiya Javayant
1029David Y AmigonIndia2025-09-18Chapman, Ross E Esq PROPOSAL49Elwin Sharvill
1030Costa P FerenczCanada2025-09-30Chemel, James L Cpa PROPOSAL24Anna Fali
1031Emily P OldroydBrazil2025-09-06Chapman, Ross E Esq RENEWAL14Anna Fali
1032Mujtaba H VocelkaItaly2025-09-26Chemel, James L Cpa UNQUALIFIED12Bernardo Dominic
1033Costa K BriddickArgentina2025-09-04Feltz Printing Service QUALIFIED95Asiya Javayant
1034Aruna Q DarakjyGermany2025-09-25Chapman, Ross E Esq RENEWAL42Ivan Magalhaes
1035Salvatore H CaldareraCanada2025-09-08Morlong Associates RENEWAL19Ivan Magalhaes
1036Chavez G WieserSpain2025-09-30Chemel, James L Cpa UNQUALIFIED53Onyama Limba
1037Antonio S SergiGermany2025-09-15Benton, John B Jr PROPOSAL3Stephen Shaw
1038Francesco N RulapaughCanada2025-09-21Rousseaux, Michael Esq RENEWAL10Elwin Sharvill
1039Juan E CampainAustralia2025-09-26Truhlar And Truhlar Attys RENEWAL45Amy Elsner
1040Darci V NickaCanada2025-09-06Buckley Miller Wright NEW30Anna Fali
1041Kaitlin T DilliardItaly2025-09-04Commercial Press NEW21Ivan Magalhaes
1042Kadeem T SlusarskiItaly2025-09-17Dorl, James J Esq RENEWAL74Anna Fali
1043Mujtaba H CaudyIndia2025-09-28Chapman, Ross E Esq NEGOTIATION66Ivan Magalhaes
1044Maria M MarrierFrance2025-09-29Morlong Associates NEW12Bernardo Dominic
1045Mayumi L VocelkaItaly2025-09-19Buckley Miller Wright NEGOTIATION53Bernardo Dominic
1046Kadeem R RulapaughCanada2025-09-22Feiner Bros QUALIFIED55Elwin Sharvill
1047Mayumi U MaletSpain2025-09-05Feiner Bros QUALIFIED90Xuxue Feng
1048Maria L VocelkaFrance2025-09-29Printing Dimensions QUALIFIED21Stephen Shaw
1049Kaitlin Z MacleadFrance2025-09-18Chapman, Ross E Esq NEGOTIATION41Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Smith I FerenczIndiaAnna Fali QUALIFIED
Izzy Z MacleadSpainBernardo Dominic NEGOTIATION
Murillo V BriddickSpainOnyama Limba RENEWAL
Antonio N IturbideAustraliaAmy Elsner UNQUALIFIED
Faith T FigeroaGermanyOnyama Limba NEGOTIATION
Ricardo Q BowleySpainStephen Shaw NEW
Aika B BriddickBrazilIvan Magalhaes NEW
Costa V SaylorsRussiaElwin Sharvill PROPOSAL
James X CampainUnited KingdomAmy Elsner NEW
Kaitlin X MaletBrazilAnna Fali RENEWAL
Ashley P IturbideCanadaAnna Fali NEGOTIATION
Isabel M SchemmerGermanyAsiya Javayant RENEWAL
Deepesh X VocelkaArgentinaOnyama Limba NEGOTIATION
Claire D FlosiGermanyXuxue Feng NEGOTIATION
Jennifer K RoysterFranceBernardo Dominic QUALIFIED
Jefferson J GlickBrazilXuxue Feng NEW
Aditya W AlbaresItalyBernardo Dominic PROPOSAL
Aika V NestleIndiaAmy Elsner NEGOTIATION
Ivar B DilliardArgentinaStephen Shaw UNQUALIFIED
Juan M GlickItalyElwin Sharvill PROPOSAL
Misaki V NickaRussiaXuxue Feng NEGOTIATION
Aditya E MacleadUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin V GillianArgentinaXuxue Feng UNQUALIFIED
Ashley U PaprockiBrazilAnna Fali RENEWAL
Maisha N PaprockiBrazilXuxue Feng UNQUALIFIED
Misaki Q StockhamIndiaAmy Elsner NEGOTIATION
Emily G KuskoRussiaIoni Bowcher UNQUALIFIED
Mayumi Z RutaJapanIvan Magalhaes UNQUALIFIED
Isabel X PoquetteItalyStephen Shaw QUALIFIED
Mujtaba U GillianItalyIoni Bowcher QUALIFIED
Clifford R PoquetteFranceXuxue Feng PROPOSAL
Costa X NickaRussiaIvan Magalhaes NEGOTIATION
Emily N GlickRussiaBernardo Dominic PROPOSAL
Leja M BowleyBrazilXuxue Feng RENEWAL
Mujtaba R VenereJapanOnyama Limba NEW
Claire Z StockhamSpainBernardo Dominic NEGOTIATION
Munro I AmigonGermanyXuxue Feng QUALIFIED
Aika T MaletUnited KingdomElwin Sharvill UNQUALIFIED
Silvio Y WaycottItalyOnyama Limba RENEWAL
Misaki O VenereRussiaAmy Elsner NEGOTIATION
Deepesh L MaletGermanyElwin Sharvill UNQUALIFIED
Greenwood Z IturbideGermanyIvan Magalhaes PROPOSAL
Adams L KuskoGermanyAnna Fali QUALIFIED
Deepesh V OstroskyItalyIoni Bowcher QUALIFIED
Stacey G FlosiItalyIvan Magalhaes UNQUALIFIED
Morrow G FlosiCanadaAnna Fali UNQUALIFIED
Ivar C GillianFranceBernardo Dominic NEW
Costa A DilliardSpainAsiya Javayant PROPOSAL
James R CaudyUnited KingdomAnna Fali RENEWAL
Johnson Q RutaBrazilAmy Elsner RENEWAL
Frozen Columns
Name
Morrow M Caldarera
Aruna O Shinko
Sinclair G Bolognia
Silvio M Tollner
Aruna J Rulapaugh
Nicolas R Bolognia
Jennifer U Inouye
Jeanfrancois Z Butt
Mayumi Z Whobrey
Emily G Nestle
Tony K Kolmetz
Adams F Garufi
Leja X Figeroa
Ricardo T Inouye
Octavia Q Flosi
Clifford U Figeroa
Cody P Stockham
Octavia C Caldarera
Octavia R Briddick
Leon J Vocelka
Ashley S Vocelka
Chavez Q Doe
Darci S Butt
James X Sergi
Sinclair U Slusarski
Ivar Y Shinko
Adams U Schemmer
Kaitlin K Dilliard
Ashley Z Rulapaugh
Emily S Flosi
Antonio O Doe
Morrow B Kolmetz
Nicolas X Butt
Ricardo W Kolmetz
Wickens Z Oldroyd
Alejandro W Malet
Morrow R Royster
Jones W Glick
Jennifer L Morasca
Greenwood S Figeroa
Jennifer Z Bolognia
Clifford R Garufi
Francesco F Schemmer
Jeanfrancois M Albares
Octavia X Perin
Izzy A Amigon
Costa R Gaucho
Stacey E Amigon
Emily S Bowley
Maisha I Kolmetz
IdCountryDate
1000Spain2025-09-10
1001Argentina2025-09-28
1002Italy2025-09-13
1003Russia2025-09-18
1004Italy2025-09-30
1005Japan2025-09-30
1006Australia2025-09-15
1007Russia2025-09-14
1008Argentina2025-09-11
1009Australia2025-09-26
1010India2025-09-25
1011United Kingdom2025-09-28
1012Australia2025-09-16
1013Australia2025-09-03
1014Spain2025-09-01
1015France2025-09-03
1016Canada2025-09-06
1017Germany2025-09-29
1018Japan2025-09-17
1019Germany2025-09-10
1020Spain2025-09-26
1021Argentina2025-09-07
1022Japan2025-09-19
1023France2025-09-08
1024Russia2025-09-06
1025Spain2025-09-28
1026Argentina2025-09-05
1027Japan2025-09-25
1028Italy2025-09-27
1029Russia2025-09-16
1030Russia2025-09-13
1031Germany2025-09-28
1032Canada2025-09-15
1033Argentina2025-09-11
1034Germany2025-09-20
1035United Kingdom2025-09-06
1036Brazil2025-09-05
1037India2025-09-20
1038Canada2025-09-04
1039India2025-09-23
1040Argentina2025-09-12
1041Italy2025-09-01
1042Japan2025-09-30
1043India2025-09-17
1044France2025-09-10
1045Canada2025-09-04
1046Japan2025-09-14
1047Japan2025-09-05
1048Brazil2025-09-26
1049Italy2025-09-29

On-Demand Data

NameIdCountryDate
Juan W Sergi1000Japan2025-09-23
Morrow Y Rulapaugh1001France2025-09-06
Aruna R Butt1002Argentina2025-09-12
Maria B Briddick1003Italy2025-09-29
Ashley Z Caudy1004Australia2025-09-20
Smith P Gillian1005Brazil2025-09-12
Tony G Briddick1006Canada2025-09-13
Octavia M Malet1007Canada2025-09-17
Ashley Z Waycott1008Japan2025-09-22
Emily O Dilliard1009United Kingdom2025-09-22
Wickens A Rulapaugh1010Italy2025-09-14
Adams P Stockham1011Spain2025-09-09
Emily N Caudy1012India2025-09-29
Stacey O Gillian1013Italy2025-09-06
Cody M Nestle1014Argentina2025-09-10
Maisha Y Bowley1015Russia2025-09-11
Rodrigues G Bowley1016France2025-09-03
Jennifer H Stenseth1017Spain2025-09-30
Alejandro C Ferencz1018Spain2025-09-29
Cody I Malet1019Russia2025-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika U AmigonItalyIvan Magalhaes NEGOTIATION
Deepesh Y BowleyGermanyBernardo Dominic QUALIFIED
Faith S MaletCanadaElwin Sharvill NEGOTIATION
Rodrigues W IturbideJapanAnna Fali NEGOTIATION
Smith P GillianItalyElwin Sharvill UNQUALIFIED
Nicolas U SchemmerArgentinaAsiya Javayant NEW
Rodrigues A NestleGermanyElwin Sharvill NEW
Aditya E SaylorsCanadaOnyama Limba UNQUALIFIED
Cody E StensethArgentinaBernardo Dominic NEW
Greenwood X StockhamSpainXuxue Feng NEW
Kadeem L FerenczBrazilXuxue Feng NEGOTIATION
Rodrigues H BriddickRussiaAmy Elsner NEGOTIATION
Deepesh G PerinFranceElwin Sharvill UNQUALIFIED
Silvio A RutaItalyAnna Fali NEW
Silvio D MaletAustraliaBernardo Dominic QUALIFIED
Chavez M FlosiCanadaOnyama Limba PROPOSAL
Chavez F FigeroaGermanyIoni Bowcher QUALIFIED
Johnson F PoquetteBrazilElwin Sharvill UNQUALIFIED
Mujtaba Q MaletArgentinaIoni Bowcher NEGOTIATION
David C MaletJapanStephen Shaw NEGOTIATION
Leon T SergiAustraliaIoni Bowcher RENEWAL
Smith A WhobreyIndiaStephen Shaw UNQUALIFIED
Wickens N StensethAustraliaAsiya Javayant PROPOSAL
Tony M BriddickCanadaAnna Fali NEGOTIATION
Ricardo L BologniaFranceIvan Magalhaes QUALIFIED
Nicolas B AmigonUnited KingdomAsiya Javayant RENEWAL
Maria I VenereAustraliaIvan Magalhaes NEW
Kadeem U SchemmerGermanyElwin Sharvill UNQUALIFIED
Mujtaba T FollerJapanAmy Elsner NEGOTIATION
Mayumi I TollnerAustraliaOnyama Limba NEGOTIATION
Darci C SergiItalyStephen Shaw NEGOTIATION
Jennifer S SlusarskiCanadaIoni Bowcher PROPOSAL
Sinclair W MorascaFranceAnna Fali UNQUALIFIED
Kaitlin F AmigonGermanyBernardo Dominic UNQUALIFIED
Salvatore T RoysterAustraliaOnyama Limba PROPOSAL
Misaki Q PaprockiJapanIoni Bowcher QUALIFIED
Wickens I ButtAustraliaAmy Elsner PROPOSAL
Greenwood D BologniaArgentinaStephen Shaw PROPOSAL
Morrow Z VocelkaBrazilStephen Shaw QUALIFIED
Mayumi C GauchoArgentinaAnna Fali NEGOTIATION

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