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
Misaki D ShinkoFranceAsiya Javayant UNQUALIFIED
Sinclair V MaletJapanAnna Fali UNQUALIFIED
Darci R GillianJapanIoni Bowcher PROPOSAL
Smith B DilliardIndiaAsiya Javayant NEGOTIATION
Francesco O MaletAustraliaElwin Sharvill UNQUALIFIED
James T FigeroaAustraliaAnna Fali UNQUALIFIED
Stacey I FollerFranceIvan Magalhaes UNQUALIFIED
Emily X FlosiCanadaIvan Magalhaes RENEWAL
Chavez X FigeroaArgentinaXuxue Feng NEW
Wickens F WieserJapanBernardo Dominic QUALIFIED
Greenwood Z RoysterRussiaAsiya Javayant NEW
Sinclair N DarakjyAustraliaStephen Shaw NEGOTIATION
Alejandro D GauchoJapanBernardo Dominic PROPOSAL
Deepesh G AmigonItalyElwin Sharvill PROPOSAL
Izzy F RimUnited KingdomIoni Bowcher UNQUALIFIED
Maria R StockhamUnited KingdomOnyama Limba PROPOSAL
Alejandro W NickaBrazilXuxue Feng UNQUALIFIED
Maria D TollnerGermanyBernardo Dominic QUALIFIED
Murillo M SaylorsJapanIoni Bowcher UNQUALIFIED
Francesco A SchemmerFranceAmy Elsner PROPOSAL
Jefferson H KolmetzUnited KingdomIoni Bowcher NEW
Faith X BologniaUnited KingdomBernardo Dominic PROPOSAL
James S FerenczRussiaBernardo Dominic PROPOSAL
Clifford E GauchoArgentinaBernardo Dominic PROPOSAL
James Y PerinSpainIvan Magalhaes NEGOTIATION
Leja I KuskoItalyBernardo Dominic PROPOSAL
Nicolas G MacleadUnited KingdomAmy Elsner RENEWAL
Maria H WaycottGermanyIoni Bowcher UNQUALIFIED
David D PerinItalyBernardo Dominic NEGOTIATION
Jefferson S AmigonSpainBernardo Dominic NEW
Costa V MacleadBrazilIoni Bowcher UNQUALIFIED
Murillo I SchemmerAustraliaBernardo Dominic PROPOSAL
Silvio S ShinkoArgentinaOnyama Limba RENEWAL
Antonio O WieserSpainBernardo Dominic RENEWAL
Tony R KuskoBrazilElwin Sharvill NEGOTIATION
Ricardo F MaletArgentinaAsiya Javayant QUALIFIED
Tony A IturbideItalyXuxue Feng NEGOTIATION
Munro T PerinIndiaAnna Fali PROPOSAL
Aruna M RulapaughGermanyXuxue Feng PROPOSAL
Greenwood D ShinkoGermanyIoni Bowcher NEGOTIATION
Ivar V StockhamArgentinaAnna Fali PROPOSAL
Izzy T WhobreyAustraliaAmy Elsner QUALIFIED
Misaki E RimIndiaOnyama Limba QUALIFIED
Chavez D AmigonIndiaIoni Bowcher UNQUALIFIED
Mayumi I BowleySpainIvan Magalhaes PROPOSAL
Ricardo P IturbideUnited KingdomIoni Bowcher PROPOSAL
Murillo A RutaAustraliaIvan Magalhaes PROPOSAL
Ashley T GarufiRussiaStephen Shaw RENEWAL
Mayumi K CampainAustraliaStephen Shaw NEGOTIATION
Stacey H MaletAustraliaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia R WhobreyAustraliaAsiya Javayant QUALIFIED
Johnson W RutaGermanyAsiya Javayant PROPOSAL
Kaitlin E ChuiGermanyXuxue Feng RENEWAL
Faith F MacleadCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois T RulapaughSpainElwin Sharvill NEW
Jennifer X SergiAustraliaIvan Magalhaes QUALIFIED
Johnson T StockhamBrazilBernardo Dominic RENEWAL
Aruna T DoeCanadaIoni Bowcher UNQUALIFIED
Tony Y ChuiAustraliaIoni Bowcher NEGOTIATION
Johnson F CaldareraIndiaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa N IturbideIndia2025-07-16Dorl, James J Esq UNQUALIFIED32Elwin Sharvill
1001Maria V PoquetteBrazil2025-07-09Feiner Bros UNQUALIFIED21Amy Elsner
1002Murillo A VocelkaFrance2025-07-26Feiner Bros PROPOSAL40Anna Fali
1003Leja W DilliardRussia2025-07-15Morlong Associates NEW23Anna Fali
1004Aruna T NestleGermany2025-07-27Feiner Bros NEW39Xuxue Feng
1005Maisha V FollerRussia2025-07-31Morlong Associates NEW27Stephen Shaw
1006Emily O VenereArgentina2025-07-12Chanay, Jeffrey A Esq QUALIFIED55Amy Elsner
1007Juan P WieserJapan2025-07-11Dorl, James J Esq NEW74Stephen Shaw
1008Rodrigues Q GlickIndia2025-07-23Printing Dimensions PROPOSAL21Onyama Limba
1009Kadeem O GillianAustralia2025-07-16Buckley Miller Wright PROPOSAL89Asiya Javayant
1010Leon Q PaprockiAustralia2025-07-25Rangoni Of Florence NEGOTIATION9Onyama Limba
1011Mayumi U FerenczFrance2025-07-17Rousseaux, Michael Esq QUALIFIED83Onyama Limba
1012Mujtaba W DarakjyRussia2025-07-18Commercial Press UNQUALIFIED92Asiya Javayant
1013Salvatore Y StockhamUnited Kingdom2025-08-04Truhlar And Truhlar Attys NEGOTIATION88Amy Elsner
1014Aruna P OstroskyFrance2025-07-13Rangoni Of Florence NEW88Stephen Shaw
1015Leon A RimJapan2025-07-06Buckley Miller Wright NEGOTIATION5Bernardo Dominic
1016Jeanfrancois Z VocelkaGermany2025-07-24Morlong Associates PROPOSAL43Anna Fali
1017Darci E RutaSpain2025-07-06Feltz Printing Service NEW38Amy Elsner
1018Wickens B DarakjyCanada2025-08-04Feiner Bros NEW94Onyama Limba
1019Cody L ButtItaly2025-07-13Buckley Miller Wright UNQUALIFIED82Ivan Magalhaes
1020Leja C IturbideIndia2025-07-07Chanay, Jeffrey A Esq NEGOTIATION74Ivan Magalhaes
1021Murillo E GarufiGermany2025-07-26Chemel, James L Cpa RENEWAL2Anna Fali
1022Jeanfrancois D DarakjyItaly2025-07-15Benton, John B Jr RENEWAL54Ivan Magalhaes
1023Misaki D SchemmerArgentina2025-07-29King, Christopher A Esq PROPOSAL41Ivan Magalhaes
1024Francesco E DilliardAustralia2025-07-11Feiner Bros QUALIFIED96Onyama Limba
1025Mujtaba S WieserUnited Kingdom2025-07-14Chapman, Ross E Esq UNQUALIFIED59Xuxue Feng
1026Wickens L RutaSpain2025-07-16Dorl, James J Esq QUALIFIED83Stephen Shaw
1027Kadeem J SergiRussia2025-07-15Chemel, James L Cpa NEGOTIATION4Anna Fali
1028James X NickaCanada2025-07-10Feiner Bros QUALIFIED45Bernardo Dominic
1029Smith S CaudyRussia2025-07-11Feltz Printing Service NEW37Ioni Bowcher
1030Claire N TollnerJapan2025-07-09Rousseaux, Michael Esq NEW44Ivan Magalhaes
1031Stacey Z MorascaIndia2025-08-03Rousseaux, Michael Esq PROPOSAL68Asiya Javayant
1032Munro Q NickaIndia2025-07-12Rousseaux, Michael Esq RENEWAL65Ivan Magalhaes
1033Jones G WieserItaly2025-07-28Truhlar And Truhlar Attys RENEWAL81Asiya Javayant
1034Chavez X BriddickFrance2025-07-09Morlong Associates UNQUALIFIED59Stephen Shaw
1035Maisha K GlickIndia2025-07-27Buckley Miller Wright NEW35Stephen Shaw
1036Jefferson K WhobreyIndia2025-07-14Chemel, James L Cpa PROPOSAL77Bernardo Dominic
1037Misaki B StensethBrazil2025-07-07Dorl, James J Esq NEW60Bernardo Dominic
1038Smith I StensethJapan2025-07-10Printing Dimensions NEW11Asiya Javayant
1039Julie D RulapaughArgentina2025-07-20Buckley Miller Wright RENEWAL45Anna Fali
1040Johnson M OldroydGermany2025-07-23Printing Dimensions RENEWAL18Anna Fali
1041Francesco P FlosiItaly2025-07-08Buckley Miller Wright QUALIFIED18Xuxue Feng
1042Aika I GlickRussia2025-07-12Feiner Bros NEW32Ioni Bowcher
1043Mujtaba X StensethFrance2025-08-01Chapman, Ross E Esq QUALIFIED92Bernardo Dominic
1044Maria U ButtSpain2025-07-21Morlong Associates NEGOTIATION35Elwin Sharvill
1045Sinclair H MaletItaly2025-07-17Chanay, Jeffrey A Esq NEW55Amy Elsner
1046Aika Z OstroskyCanada2025-08-01Feiner Bros RENEWAL34Elwin Sharvill
1047Morrow Q InouyeCanada2025-07-06Dorl, James J Esq NEGOTIATION64Elwin Sharvill
1048James C SlusarskiUnited Kingdom2025-07-16Chapman, Ross E Esq QUALIFIED62Elwin Sharvill
1049Misaki C MaletCanada2025-07-18Rousseaux, Michael Esq QUALIFIED96Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Octavia F ShinkoRussiaIoni Bowcher RENEWAL
Costa X TollnerAustraliaIoni Bowcher NEW
Deepesh X OstroskyAustraliaXuxue Feng UNQUALIFIED
Emily J StensethItalyIoni Bowcher QUALIFIED
Chavez B FigeroaUnited KingdomIvan Magalhaes RENEWAL
Clifford O AmigonRussiaStephen Shaw QUALIFIED
Leon G RulapaughSpainXuxue Feng NEGOTIATION
Murillo E CaudyRussiaBernardo Dominic PROPOSAL
Maisha G FlosiAustraliaAnna Fali RENEWAL
Maisha G CaudyArgentinaBernardo Dominic NEGOTIATION
Stacey I MacleadUnited KingdomIoni Bowcher RENEWAL
Claire V GarufiIndiaAsiya Javayant RENEWAL
Aruna B SlusarskiSpainXuxue Feng NEGOTIATION
Antonio L NickaArgentinaXuxue Feng UNQUALIFIED
Greenwood U DoeFranceElwin Sharvill NEW
Smith Q FlosiGermanyBernardo Dominic NEW
Kadeem W ChuiCanadaAmy Elsner QUALIFIED
Maria U ButtGermanyStephen Shaw QUALIFIED
Maria H FerenczArgentinaIoni Bowcher NEGOTIATION
Johnson F DoeRussiaBernardo Dominic RENEWAL
Jennifer W WhobreyIndiaBernardo Dominic PROPOSAL
Cody G FerenczCanadaStephen Shaw NEGOTIATION
Juan G ShinkoBrazilElwin Sharvill RENEWAL
Silvio D FigeroaCanadaIvan Magalhaes NEW
Aditya D RoysterSpainOnyama Limba NEW
Cody I WieserIndiaAnna Fali NEGOTIATION
Smith A PaprockiIndiaAsiya Javayant NEGOTIATION
Chavez A CaudySpainIvan Magalhaes PROPOSAL
Kaitlin C MaletIndiaBernardo Dominic PROPOSAL
Smith E SlusarskiItalyElwin Sharvill NEGOTIATION
Isabel T RimIndiaIoni Bowcher PROPOSAL
Maisha P DilliardUnited KingdomStephen Shaw UNQUALIFIED
Ashley L MaletCanadaIoni Bowcher NEGOTIATION
Ashley H WhobreySpainAnna Fali RENEWAL
Chavez Q CaudyRussiaElwin Sharvill PROPOSAL
Wickens D NestleGermanyOnyama Limba NEGOTIATION
Faith O GarufiArgentinaBernardo Dominic RENEWAL
Ricardo O InouyeBrazilXuxue Feng RENEWAL
Emily C AlbaresBrazilOnyama Limba UNQUALIFIED
Aruna Y KuskoGermanyBernardo Dominic NEGOTIATION
Smith H SergiBrazilOnyama Limba NEGOTIATION
Antonio H FollerUnited KingdomIvan Magalhaes NEGOTIATION
Jones V ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Aditya Y CaldareraFranceBernardo Dominic UNQUALIFIED
Smith Z NestleBrazilAsiya Javayant UNQUALIFIED
Kadeem N RoysterCanadaAsiya Javayant QUALIFIED
Jefferson U AlbaresJapanElwin Sharvill NEW
Munro S NickaAustraliaOnyama Limba PROPOSAL
Cody Q MaletBrazilAnna Fali NEGOTIATION
Deepesh X NickaSpainXuxue Feng NEGOTIATION
Frozen Columns
Name
Leon Y Wieser
Johnson T Amigon
David O Briddick
Greenwood L Rulapaugh
Emily G Nicka
Octavia Q Briddick
Emily Z Briddick
Izzy T Inouye
Costa V Darakjy
Maisha I Wieser
Antonio K Ostrosky
Silvio X Stenseth
Tony Q Kolmetz
Jones T Chui
Antonio W Nicka
Chavez S Briddick
Jennifer M Doe
Murillo O Figeroa
Kadeem J Malet
James W Albares
Juan Y Albares
Darci T Schemmer
Salvatore K Waycott
Maria P Nestle
Antonio R Gaucho
Smith U Caudy
Deepesh L Oldroyd
Mujtaba T Kolmetz
Mayumi M Kolmetz
Salvatore I Slusarski
James G Sergi
Isabel U Darakjy
Jones O Albares
Izzy N Albares
Silvio K Campain
Leon U Schemmer
Johnson S Chui
Maria Z Kolmetz
Sinclair S Maclead
Aditya Q Kolmetz
Jones C Whobrey
Darci R Gillian
Misaki F Bolognia
Juan M Oldroyd
Izzy Q Dilliard
Costa I Perin
Kadeem F Briddick
Julie B Vocelka
Jefferson P Waycott
Antonio Z Albares
IdCountryDate
1000Japan2025-08-03
1001Canada2025-07-09
1002Brazil2025-07-20
1003Italy2025-07-25
1004Canada2025-07-30
1005Germany2025-07-10
1006Argentina2025-07-14
1007Canada2025-07-08
1008Russia2025-07-27
1009Italy2025-07-09
1010Japan2025-07-29
1011Argentina2025-07-13
1012France2025-08-04
1013Canada2025-07-19
1014India2025-07-24
1015Spain2025-08-02
1016India2025-07-21
1017Japan2025-08-03
1018Australia2025-07-12
1019France2025-07-06
1020Italy2025-08-04
1021Russia2025-07-24
1022Australia2025-08-02
1023Canada2025-08-02
1024India2025-07-27
1025Russia2025-07-24
1026Germany2025-07-26
1027Russia2025-07-18
1028France2025-07-21
1029India2025-07-08
1030Russia2025-07-12
1031Spain2025-07-29
1032Brazil2025-07-08
1033Japan2025-07-14
1034Italy2025-07-12
1035Argentina2025-07-17
1036France2025-07-09
1037India2025-07-10
1038Germany2025-07-26
1039Italy2025-07-08
1040Canada2025-07-25
1041United Kingdom2025-07-25
1042Russia2025-07-20
1043Canada2025-07-06
1044Japan2025-07-24
1045Brazil2025-07-19
1046Italy2025-07-06
1047Australia2025-07-26
1048Spain2025-07-06
1049Japan2025-07-15

On-Demand Data

NameIdCountryDate
Ricardo C Schemmer1000Japan2025-07-30
Octavia L Malet1001Italy2025-07-24
Emily X Garufi1002Spain2025-07-17
Mayumi J Garufi1003Spain2025-07-07
Aditya Q Chui1004Argentina2025-07-19
Ashley C Campain1005France2025-07-22
Faith D Maclead1006Brazil2025-07-19
Darci G Ostrosky1007Argentina2025-07-28
Arvin V Figeroa1008Brazil2025-07-21
James G Stockham1009Spain2025-08-03
Munro U Bolognia1010France2025-07-19
Julie C Venere1011Argentina2025-08-01
Costa Y Poquette1012Canada2025-07-20
Deepesh D Morasca1013United Kingdom2025-07-27
Antonio L Shinko1014India2025-08-01
Kaitlin H Malet1015France2025-07-22
Antonio W Oldroyd1016Russia2025-07-10
Julie F Slusarski1017Italy2025-07-09
Deepesh A Whobrey1018Japan2025-07-23
Ricardo V Iturbide1019France2025-07-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James J NickaIndiaAmy Elsner PROPOSAL
Greenwood I ChuiGermanyAnna Fali UNQUALIFIED
Arvin F AmigonFranceElwin Sharvill UNQUALIFIED
Faith M RoysterUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues Y SergiRussiaAsiya Javayant NEGOTIATION
Smith L SchemmerUnited KingdomIoni Bowcher NEW
Murillo M ButtGermanyIoni Bowcher PROPOSAL
Maria H RimIndiaXuxue Feng PROPOSAL
Kadeem V GauchoBrazilOnyama Limba NEGOTIATION
Mayumi J GauchoUnited KingdomIvan Magalhaes PROPOSAL
David N VocelkaAustraliaXuxue Feng RENEWAL
Ashley A PoquetteFranceBernardo Dominic RENEWAL
James H RoysterGermanyAnna Fali RENEWAL
Emily L InouyeRussiaAsiya Javayant RENEWAL
Ashley R DarakjyCanadaIoni Bowcher PROPOSAL
Alejandro I TollnerBrazilElwin Sharvill NEW
Misaki J MorascaFranceAsiya Javayant RENEWAL
Clifford W KolmetzIndiaXuxue Feng QUALIFIED
Maisha I SchemmerCanadaIoni Bowcher NEW
Jennifer H RutaIndiaIvan Magalhaes PROPOSAL
Maisha L DilliardSpainBernardo Dominic QUALIFIED
Johnson A SchemmerBrazilXuxue Feng RENEWAL
Izzy C KuskoItalyAsiya Javayant UNQUALIFIED
Rodrigues C CaldareraGermanyElwin Sharvill UNQUALIFIED
Antonio T PoquetteRussiaXuxue Feng NEGOTIATION
Claire E CampainSpainBernardo Dominic NEGOTIATION
Octavia Q SchemmerItalyBernardo Dominic UNQUALIFIED
Munro U GarufiArgentinaXuxue Feng NEGOTIATION
Adams T TollnerIndiaOnyama Limba NEW
Adams I MacleadCanadaIoni Bowcher UNQUALIFIED
Ricardo M VenereJapanIvan Magalhaes QUALIFIED
Aruna Y FigeroaUnited KingdomIoni Bowcher NEGOTIATION
Chavez G IturbideBrazilIvan Magalhaes QUALIFIED
Kaitlin D GauchoCanadaAnna Fali PROPOSAL
Cody F PoquetteGermanyOnyama Limba PROPOSAL
Nicolas S BologniaItalyOnyama Limba PROPOSAL
Costa F DoeUnited KingdomIvan Magalhaes RENEWAL
Mayumi W NestleIndiaStephen Shaw NEGOTIATION
Clifford J OldroydItalyXuxue Feng QUALIFIED
Francesco U AlbaresFranceElwin Sharvill 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>