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
Costa Y AmigonItalyIoni Bowcher UNQUALIFIED
Smith S StensethItalyElwin Sharvill NEGOTIATION
Kaitlin I NickaGermanyAmy Elsner QUALIFIED
Ivar O BowleySpainElwin Sharvill RENEWAL
Ashley V KolmetzRussiaElwin Sharvill QUALIFIED
Leja C WhobreyGermanyOnyama Limba NEW
Darci E VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow V StensethUnited KingdomXuxue Feng NEGOTIATION
Costa N NestleRussiaElwin Sharvill NEW
Faith R TollnerIndiaAnna Fali NEW
Izzy O InouyeGermanyIoni Bowcher NEGOTIATION
Smith G SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Alejandro V WhobreyAustraliaBernardo Dominic NEGOTIATION
Deepesh L DilliardJapanElwin Sharvill NEW
Jefferson F MacleadCanadaAmy Elsner PROPOSAL
Claire L BologniaCanadaBernardo Dominic QUALIFIED
Stacey O StockhamSpainXuxue Feng QUALIFIED
Jeanfrancois M FlosiArgentinaXuxue Feng NEGOTIATION
Jeanfrancois R StockhamBrazilIvan Magalhaes NEW
Kadeem E FollerUnited KingdomBernardo Dominic UNQUALIFIED
Maisha P BowleyBrazilElwin Sharvill NEGOTIATION
Silvio F PoquetteFranceBernardo Dominic NEGOTIATION
Nicolas H ChuiItalyBernardo Dominic UNQUALIFIED
Julie M PaprockiJapanStephen Shaw UNQUALIFIED
Leon V DarakjyCanadaXuxue Feng UNQUALIFIED
Julie O GlickFranceXuxue Feng QUALIFIED
Cody E FollerCanadaXuxue Feng NEGOTIATION
Alejandro K BriddickFranceElwin Sharvill NEW
Izzy M GlickIndiaStephen Shaw QUALIFIED
Tony N GlickItalyElwin Sharvill PROPOSAL
David X ButtBrazilIvan Magalhaes RENEWAL
Aditya R DoeJapanXuxue Feng NEW
Johnson F StensethFranceIoni Bowcher RENEWAL
Murillo C OldroydCanadaAsiya Javayant QUALIFIED
Rodrigues S TollnerUnited KingdomElwin Sharvill QUALIFIED
Faith T TollnerRussiaAsiya Javayant NEGOTIATION
Maria P NestleArgentinaAmy Elsner NEW
Jefferson U KolmetzFranceStephen Shaw PROPOSAL
James J GarufiIndiaAsiya Javayant NEW
Leja I RulapaughRussiaElwin Sharvill QUALIFIED
Sinclair A BowleyJapanXuxue Feng UNQUALIFIED
Clifford N MaletGermanyAmy Elsner NEW
Clifford Q PoquetteArgentinaAmy Elsner NEW
Greenwood U GarufiUnited KingdomAmy Elsner PROPOSAL
Juan C SergiCanadaIoni Bowcher NEW
Morrow J SergiBrazilAnna Fali PROPOSAL
Isabel U FlosiBrazilIoni Bowcher QUALIFIED
Antonio S FerenczBrazilElwin Sharvill UNQUALIFIED
Mujtaba L GauchoGermanyAnna Fali PROPOSAL
Juan M DoeItalyXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco M RoysterFranceXuxue Feng PROPOSAL
Emily X KuskoGermanyStephen Shaw UNQUALIFIED
Johnson F CaldareraRussiaAsiya Javayant UNQUALIFIED
Kadeem N FerenczFranceOnyama Limba NEGOTIATION
Costa Z RulapaughCanadaIoni Bowcher RENEWAL
Francesco E PaprockiRussiaBernardo Dominic RENEWAL
Ivar H WieserItalyXuxue Feng UNQUALIFIED
Isabel K OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba A DoeJapanBernardo Dominic NEW
Francesco Q VocelkaIndiaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey A InouyeFrance2025-08-05Printing Dimensions QUALIFIED93Ivan Magalhaes
1001Claire N PoquetteAustralia2025-08-17Chemel, James L Cpa UNQUALIFIED53Bernardo Dominic
1002Aditya V BowleyBrazil2025-08-17Chemel, James L Cpa NEW29Ivan Magalhaes
1003Mujtaba J DoeArgentina2025-08-03Feiner Bros NEGOTIATION92Elwin Sharvill
1004Morrow S PaprockiIndia2025-08-14Feiner Bros UNQUALIFIED67Anna Fali
1005Octavia N RulapaughAustralia2025-08-11King, Christopher A Esq UNQUALIFIED50Ivan Magalhaes
1006Tony O SlusarskiCanada2025-07-27Morlong Associates NEW0Asiya Javayant
1007Johnson N DilliardJapan2025-08-14Truhlar And Truhlar Attys NEGOTIATION34Asiya Javayant
1008Costa K SaylorsItaly2025-07-26Feltz Printing Service UNQUALIFIED79Asiya Javayant
1009Salvatore R SlusarskiArgentina2025-08-19Printing Dimensions NEW26Ivan Magalhaes
1010David U AlbaresFrance2025-08-14Chapman, Ross E Esq QUALIFIED70Amy Elsner
1011Salvatore J WaycottUnited Kingdom2025-07-28Chapman, Ross E Esq PROPOSAL49Anna Fali
1012Greenwood F RutaItaly2025-08-17Printing Dimensions NEGOTIATION76Elwin Sharvill
1013Cody V SlusarskiSpain2025-08-16Feltz Printing Service UNQUALIFIED29Ioni Bowcher
1014Isabel E BologniaUnited Kingdom2025-07-29Dorl, James J Esq UNQUALIFIED28Ivan Magalhaes
1015Emily O MacleadJapan2025-08-08King, Christopher A Esq PROPOSAL44Anna Fali
1016Munro A FigeroaFrance2025-08-16Feiner Bros RENEWAL23Xuxue Feng
1017Silvio B WhobreyGermany2025-08-19Morlong Associates NEW52Anna Fali
1018Nicolas V ChuiArgentina2025-08-01Rousseaux, Michael Esq RENEWAL47Elwin Sharvill
1019Stacey Y DoeSpain2025-08-01Feltz Printing Service QUALIFIED60Asiya Javayant
1020Octavia F BologniaAustralia2025-07-31Morlong Associates RENEWAL23Bernardo Dominic
1021Mayumi N DarakjyRussia2025-08-11Chanay, Jeffrey A Esq PROPOSAL55Bernardo Dominic
1022Rodrigues J RulapaughIndia2025-08-10Rousseaux, Michael Esq QUALIFIED45Bernardo Dominic
1023Misaki V MaletSpain2025-08-10Dorl, James J Esq QUALIFIED94Asiya Javayant
1024Nicolas F IturbideSpain2025-08-16Benton, John B Jr QUALIFIED1Amy Elsner
1025Silvio M WieserJapan2025-08-08Chapman, Ross E Esq UNQUALIFIED15Bernardo Dominic
1026Ashley T ButtArgentina2025-08-17Buckley Miller Wright NEW21Amy Elsner
1027Salvatore W ShinkoItaly2025-07-28Rangoni Of Florence QUALIFIED11Onyama Limba
1028Maisha F BologniaArgentina2025-08-13Chemel, James L Cpa UNQUALIFIED52Bernardo Dominic
1029Juan C MaletJapan2025-08-01Feltz Printing Service NEW19Ivan Magalhaes
1030Jones F SergiAustralia2025-08-14Feltz Printing Service RENEWAL67Amy Elsner
1031Wickens J OstroskyJapan2025-08-08Dorl, James J Esq QUALIFIED6Xuxue Feng
1032Adams T RutaGermany2025-08-08Buckley Miller Wright UNQUALIFIED50Anna Fali
1033Antonio U BowleyArgentina2025-07-29Feltz Printing Service PROPOSAL0Ivan Magalhaes
1034Jefferson D KolmetzAustralia2025-08-04King, Christopher A Esq NEW5Onyama Limba
1035Nicolas R NickaGermany2025-08-22Rousseaux, Michael Esq RENEWAL45Elwin Sharvill
1036Costa Y DoeItaly2025-08-11Chemel, James L Cpa NEW98Ioni Bowcher
1037Leja S CampainUnited Kingdom2025-08-02Dorl, James J Esq PROPOSAL54Stephen Shaw
1038Faith Y DoeSpain2025-08-22Benton, John B Jr QUALIFIED13Ioni Bowcher
1039Emily E SergiBrazil2025-08-24Buckley Miller Wright RENEWAL56Asiya Javayant
1040Ricardo J AlbaresIndia2025-08-24Printing Dimensions PROPOSAL51Asiya Javayant
1041Mujtaba S KolmetzFrance2025-07-31Chemel, James L Cpa PROPOSAL8Amy Elsner
1042Smith N VenereArgentina2025-08-19Rousseaux, Michael Esq RENEWAL94Xuxue Feng
1043Johnson K RoysterSpain2025-08-18Rangoni Of Florence NEGOTIATION52Elwin Sharvill
1044Costa I PaprockiGermany2025-08-24Chanay, Jeffrey A Esq UNQUALIFIED73Bernardo Dominic
1045Kaitlin B DoeAustralia2025-08-16Dorl, James J Esq RENEWAL1Onyama Limba
1046Darci Z KolmetzRussia2025-08-23Commercial Press PROPOSAL22Ivan Magalhaes
1047Salvatore V RoysterUnited Kingdom2025-07-28King, Christopher A Esq NEGOTIATION5Ioni Bowcher
1048Jefferson F BologniaGermany2025-08-07Commercial Press UNQUALIFIED47Amy Elsner
1049Misaki A NickaRussia2025-08-11Feiner Bros NEGOTIATION93Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Arvin W FigeroaJapanIvan Magalhaes UNQUALIFIED
Misaki M BriddickSpainElwin Sharvill UNQUALIFIED
Juan V RimGermanyStephen Shaw RENEWAL
Faith N KolmetzAustraliaAsiya Javayant NEW
Johnson T MaletBrazilBernardo Dominic QUALIFIED
Misaki Q PoquetteJapanAmy Elsner UNQUALIFIED
Aruna K GillianBrazilAnna Fali RENEWAL
David B NestleGermanyAnna Fali UNQUALIFIED
Leon P MaletCanadaBernardo Dominic RENEWAL
Nicolas W SaylorsAustraliaIvan Magalhaes NEGOTIATION
Kaitlin D SaylorsIndiaStephen Shaw RENEWAL
Smith O FlosiJapanOnyama Limba NEW
Kadeem J CaldareraGermanyIvan Magalhaes UNQUALIFIED
Mayumi S KuskoAustraliaIvan Magalhaes NEW
Ashley H RimFranceOnyama Limba PROPOSAL
Kaitlin Q MaletAustraliaOnyama Limba PROPOSAL
Kadeem K PerinSpainXuxue Feng RENEWAL
Smith D CaudyFranceElwin Sharvill NEGOTIATION
Deepesh L MaletCanadaIvan Magalhaes UNQUALIFIED
Aruna W GarufiItalyElwin Sharvill PROPOSAL
Murillo G WhobreyBrazilXuxue Feng QUALIFIED
Munro O BowleyRussiaIvan Magalhaes RENEWAL
Jefferson U NestleBrazilIoni Bowcher NEW
Salvatore R KolmetzItalyElwin Sharvill NEGOTIATION
Octavia Q SlusarskiGermanyAmy Elsner QUALIFIED
Aika U MarrierArgentinaIoni Bowcher QUALIFIED
Kadeem C MaletIndiaStephen Shaw RENEWAL
Juan W NestleBrazilXuxue Feng RENEWAL
Isabel L AmigonCanadaAnna Fali PROPOSAL
Arvin C IturbideArgentinaXuxue Feng PROPOSAL
Munro B OstroskyUnited KingdomIvan Magalhaes NEGOTIATION
Leon G AlbaresGermanyOnyama Limba NEW
David Q SergiIndiaAmy Elsner PROPOSAL
Darci A SlusarskiJapanOnyama Limba QUALIFIED
Isabel T FigeroaSpainElwin Sharvill QUALIFIED
Mujtaba E FerenczRussiaXuxue Feng QUALIFIED
David W CaldareraFranceAnna Fali PROPOSAL
Munro K BologniaFranceElwin Sharvill NEGOTIATION
Jones B DarakjyGermanyIvan Magalhaes PROPOSAL
Nicolas T VenereSpainOnyama Limba NEW
Murillo X RimItalyElwin Sharvill NEGOTIATION
David H StensethBrazilIoni Bowcher RENEWAL
Arvin N PoquetteBrazilOnyama Limba PROPOSAL
Greenwood S MaletIndiaIvan Magalhaes NEGOTIATION
Octavia Z InouyeRussiaAmy Elsner UNQUALIFIED
Leon L IturbideItalyXuxue Feng NEGOTIATION
Maria X MorascaGermanyAmy Elsner PROPOSAL
Smith X DarakjyRussiaOnyama Limba NEW
Aika N TollnerIndiaOnyama Limba UNQUALIFIED
Chavez N GillianSpainBernardo Dominic NEW
Frozen Columns
Name
Stacey D Waycott
Cody Q Sergi
Maisha U Ferencz
Salvatore O Perin
Sinclair F Poquette
Aika Y Wieser
Ricardo I Saylors
Aruna A Doe
Cody M Gillian
Aditya R Caldarera
Aditya T Malet
Sinclair M Perin
Faith Z Sergi
Mujtaba S Gaucho
Smith D Malet
Clifford L Doe
Emily Z Dilliard
Ashley S Tollner
Misaki S Malet
Greenwood D Ruta
Alejandro N Campain
Kaitlin P Darakjy
Kaitlin F Caldarera
Clifford I Schemmer
James J Waycott
Leon V Gillian
Aditya C Morasca
Julie B Iturbide
Antonio J Kolmetz
Kaitlin J Albares
Wickens I Kolmetz
Chavez U Flosi
Faith H Schemmer
Leon Q Bowley
Cody T Malet
Jeanfrancois Y Saylors
Izzy V Ruta
Darci A Kusko
Julie T Briddick
Alejandro Z Malet
Octavia R Glick
Juan D Paprocki
Tony C Inouye
Greenwood S Doe
Isabel U Malet
Leja H Butt
Smith D Oldroyd
Johnson L Malet
Leja M Rulapaugh
Nicolas Q Iturbide
IdCountryDate
1000Russia2025-08-20
1001Japan2025-08-12
1002Spain2025-08-04
1003Brazil2025-07-28
1004India2025-08-24
1005Russia2025-08-12
1006Brazil2025-08-16
1007Germany2025-08-07
1008India2025-07-26
1009Argentina2025-07-26
1010Russia2025-08-06
1011Canada2025-08-01
1012United Kingdom2025-08-20
1013Canada2025-07-28
1014Brazil2025-08-14
1015United Kingdom2025-07-31
1016India2025-08-12
1017India2025-07-26
1018Russia2025-08-18
1019Japan2025-08-09
1020Australia2025-07-31
1021Brazil2025-08-13
1022Canada2025-07-27
1023Spain2025-07-26
1024Australia2025-08-08
1025India2025-08-16
1026Brazil2025-07-27
1027Italy2025-08-08
1028Brazil2025-07-30
1029Spain2025-08-10
1030Russia2025-07-30
1031Russia2025-08-20
1032Japan2025-08-08
1033France2025-08-10
1034Argentina2025-08-12
1035France2025-08-24
1036Australia2025-08-24
1037Japan2025-08-23
1038France2025-07-30
1039Italy2025-08-18
1040Germany2025-07-29
1041Australia2025-08-22
1042Russia2025-08-08
1043Japan2025-08-14
1044Spain2025-07-29
1045United Kingdom2025-08-07
1046Russia2025-08-13
1047Japan2025-07-26
1048Canada2025-08-20
1049Australia2025-08-06

On-Demand Data

NameIdCountryDate
Arvin O Doe1000Brazil2025-08-08
Alejandro Q Foller1001Italy2025-08-12
Adams V Vocelka1002Australia2025-08-23
Antonio U Shinko1003Canada2025-08-04
Faith C Figeroa1004Spain2025-08-10
Ashley R Stockham1005Russia2025-07-27
Ashley E Shinko1006Russia2025-08-24
Arvin C Kolmetz1007Germany2025-07-31
Salvatore J Venere1008Australia2025-08-08
Tony K Tollner1009United Kingdom2025-08-06
Faith O Perin1010Australia2025-08-11
Nicolas S Foller1011Japan2025-08-23
Darci H Waycott1012Russia2025-08-07
Mayumi G Briddick1013Australia2025-08-03
Kaitlin P Paprocki1014Argentina2025-07-28
Rodrigues G Bowley1015Italy2025-08-15
Chavez I Ostrosky1016Argentina2025-07-27
Maria D Campain1017Brazil2025-08-23
Morrow E Bolognia1018Spain2025-08-12
Izzy Y Kolmetz1019Russia2025-08-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba H DarakjyItalyOnyama Limba RENEWAL
Aditya J GauchoJapanIvan Magalhaes UNQUALIFIED
Wickens P WhobreyUnited KingdomXuxue Feng UNQUALIFIED
Juan V OldroydBrazilAmy Elsner UNQUALIFIED
Darci X ShinkoCanadaXuxue Feng PROPOSAL
Jones I BriddickFranceXuxue Feng NEGOTIATION
Octavia S FollerIndiaBernardo Dominic RENEWAL
Isabel Y VenereGermanyAmy Elsner UNQUALIFIED
David O OstroskyGermanyStephen Shaw NEW
Morrow S CaudyUnited KingdomBernardo Dominic RENEWAL
Johnson P AlbaresRussiaAmy Elsner UNQUALIFIED
Faith N TollnerUnited KingdomIvan Magalhaes RENEWAL
Izzy W WieserIndiaBernardo Dominic NEGOTIATION
Ashley P NickaFranceIoni Bowcher RENEWAL
Deepesh F GarufiFranceIoni Bowcher UNQUALIFIED
Claire A OldroydIndiaAsiya Javayant UNQUALIFIED
Alejandro C MaletBrazilStephen Shaw UNQUALIFIED
Smith W SaylorsRussiaElwin Sharvill UNQUALIFIED
Izzy K BowleyBrazilIvan Magalhaes RENEWAL
Arvin X PaprockiFranceIvan Magalhaes NEW
Julie Q SaylorsArgentinaElwin Sharvill RENEWAL
Ashley Q RimIndiaIvan Magalhaes NEGOTIATION
Aditya S OldroydArgentinaIvan Magalhaes RENEWAL
Leon O RutaSpainBernardo Dominic NEW
Deepesh L KolmetzCanadaOnyama Limba NEGOTIATION
Maria B BologniaRussiaOnyama Limba PROPOSAL
Silvio K MacleadItalyOnyama Limba PROPOSAL
Mujtaba E CaldareraItalyAsiya Javayant RENEWAL
Murillo I BowleyCanadaBernardo Dominic NEGOTIATION
Greenwood F IturbideAustraliaStephen Shaw NEW
Claire C WieserIndiaAsiya Javayant UNQUALIFIED
Johnson J BologniaArgentinaElwin Sharvill PROPOSAL
Adams G BologniaUnited KingdomOnyama Limba PROPOSAL
Arvin S WhobreyItalyXuxue Feng QUALIFIED
James Y IturbideArgentinaAnna Fali QUALIFIED
Isabel P WhobreyIndiaIoni Bowcher QUALIFIED
Julie Q FerenczItalyXuxue Feng NEW
Jones V ButtSpainElwin Sharvill NEGOTIATION
Smith Z StensethArgentinaIoni Bowcher NEGOTIATION
Isabel V DoeJapanXuxue Feng 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>