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
Jennifer W KolmetzGermanyElwin Sharvill RENEWAL
Nicolas A StensethAustraliaAsiya Javayant NEW
Jefferson F WaycottArgentinaStephen Shaw PROPOSAL
Greenwood P AmigonArgentinaOnyama Limba RENEWAL
Izzy S GauchoAustraliaAmy Elsner QUALIFIED
Darci G FigeroaItalyStephen Shaw NEGOTIATION
Ashley D AmigonGermanyOnyama Limba NEGOTIATION
Octavia Z RoysterCanadaXuxue Feng NEW
Misaki C MorascaAustraliaElwin Sharvill PROPOSAL
Arvin H PoquetteJapanAsiya Javayant NEW
Maria X FollerItalyBernardo Dominic QUALIFIED
David H InouyeSpainIoni Bowcher QUALIFIED
Faith F SaylorsIndiaAnna Fali UNQUALIFIED
Octavia M FigeroaIndiaAmy Elsner RENEWAL
Mujtaba M OstroskyAustraliaAsiya Javayant NEGOTIATION
Maisha U SlusarskiSpainStephen Shaw NEW
Mayumi Z BologniaAustraliaBernardo Dominic QUALIFIED
Aika N VocelkaGermanyIoni Bowcher PROPOSAL
Emily U SlusarskiArgentinaOnyama Limba NEGOTIATION
David V MacleadJapanAmy Elsner NEW
David H RoysterBrazilAnna Fali NEGOTIATION
Tony F FollerJapanBernardo Dominic NEW
Alejandro Z StockhamFranceIoni Bowcher PROPOSAL
Leon A DarakjyItalyStephen Shaw NEGOTIATION
Nicolas X DarakjyBrazilIvan Magalhaes QUALIFIED
Jennifer F SlusarskiJapanAnna Fali RENEWAL
Ricardo H NestleSpainStephen Shaw RENEWAL
Deepesh I ChuiIndiaStephen Shaw NEGOTIATION
Izzy D StockhamFranceIoni Bowcher QUALIFIED
Julie E RulapaughUnited KingdomStephen Shaw PROPOSAL
Salvatore S MaletBrazilOnyama Limba QUALIFIED
David O PaprockiBrazilOnyama Limba QUALIFIED
Mayumi Q AmigonSpainIvan Magalhaes NEW
Murillo B GlickFranceAmy Elsner RENEWAL
Costa Z SchemmerGermanyOnyama Limba NEGOTIATION
Rodrigues Y GarufiFranceXuxue Feng UNQUALIFIED
Jefferson H BriddickGermanyOnyama Limba UNQUALIFIED
Adams C GarufiArgentinaIoni Bowcher NEGOTIATION
Ashley P GlickUnited KingdomStephen Shaw RENEWAL
Isabel D BologniaFranceAnna Fali RENEWAL
Johnson K KolmetzCanadaBernardo Dominic NEW
Antonio D AlbaresArgentinaIoni Bowcher UNQUALIFIED
Octavia S FollerFranceAmy Elsner PROPOSAL
David D ButtBrazilStephen Shaw NEW
Ricardo H CaudyFranceOnyama Limba QUALIFIED
Kaitlin U StensethRussiaAsiya Javayant RENEWAL
Alejandro O PaprockiCanadaOnyama Limba QUALIFIED
Faith R DoeRussiaIoni Bowcher NEGOTIATION
Francesco W DoeArgentinaXuxue Feng QUALIFIED
Isabel P FlosiSpainElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya B RimCanadaBernardo Dominic NEGOTIATION
Octavia A TollnerJapanOnyama Limba NEGOTIATION
Aditya H WhobreyFranceAsiya Javayant RENEWAL
Leon V CampainGermanyAnna Fali QUALIFIED
Costa P PoquetteCanadaAmy Elsner NEGOTIATION
Maisha U AlbaresItalyOnyama Limba QUALIFIED
Jefferson P PoquetteItalyElwin Sharvill NEW
Nicolas X MaletIndiaXuxue Feng NEW
Aika V VocelkaIndiaOnyama Limba RENEWAL
Greenwood J RulapaughSpainAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi E OldroydBrazil2025-07-19Feiner Bros NEW28Ioni Bowcher
1001Alejandro M CampainCanada2025-07-30Benton, John B Jr QUALIFIED53Elwin Sharvill
1002Ashley H RoysterBrazil2025-07-22Morlong Associates PROPOSAL60Amy Elsner
1003Deepesh I SergiItaly2025-07-22Rangoni Of Florence RENEWAL59Anna Fali
1004Aika X ButtGermany2025-07-22Rousseaux, Michael Esq NEGOTIATION56Elwin Sharvill
1005Claire A FigeroaJapan2025-07-22Chanay, Jeffrey A Esq UNQUALIFIED13Elwin Sharvill
1006Adams M RoysterGermany2025-08-03Rousseaux, Michael Esq QUALIFIED98Ioni Bowcher
1007Faith Z StockhamCanada2025-07-30Rousseaux, Michael Esq RENEWAL67Ioni Bowcher
1008Adams V KolmetzBrazil2025-07-25Truhlar And Truhlar Attys NEW32Elwin Sharvill
1009Emily N MacleadFrance2025-08-11Feltz Printing Service UNQUALIFIED88Onyama Limba
1010Maria G MaletUnited Kingdom2025-08-10King, Christopher A Esq PROPOSAL47Onyama Limba
1011Aditya T IturbideBrazil2025-08-13Rangoni Of Florence PROPOSAL94Asiya Javayant
1012Isabel W StensethUnited Kingdom2025-08-17King, Christopher A Esq NEGOTIATION15Stephen Shaw
1013Kadeem Q StensethIndia2025-07-19Commercial Press PROPOSAL77Stephen Shaw
1014Mujtaba X NickaIndia2025-08-11Buckley Miller Wright RENEWAL63Amy Elsner
1015Izzy L InouyeAustralia2025-08-12Rangoni Of Florence UNQUALIFIED86Asiya Javayant
1016Darci E WhobreyArgentina2025-07-28Commercial Press QUALIFIED59Onyama Limba
1017Ivar Y IturbideGermany2025-07-28Feiner Bros UNQUALIFIED62Asiya Javayant
1018Jennifer K FigeroaIndia2025-08-01Morlong Associates PROPOSAL36Amy Elsner
1019Deepesh A TollnerIndia2025-08-10Chapman, Ross E Esq PROPOSAL69Amy Elsner
1020Nicolas Q GauchoAustralia2025-07-24Feiner Bros UNQUALIFIED93Ivan Magalhaes
1021Johnson D RulapaughUnited Kingdom2025-08-17Buckley Miller Wright NEGOTIATION76Anna Fali
1022Mujtaba M PoquetteItaly2025-07-26Chanay, Jeffrey A Esq RENEWAL3Anna Fali
1023Clifford C RimFrance2025-08-01Morlong Associates PROPOSAL1Asiya Javayant
1024Ricardo J VenereCanada2025-08-09Feltz Printing Service NEGOTIATION41Stephen Shaw
1025Darci B DoeUnited Kingdom2025-08-09Benton, John B Jr QUALIFIED30Ioni Bowcher
1026Tony A MorascaUnited Kingdom2025-08-01King, Christopher A Esq UNQUALIFIED63Ivan Magalhaes
1027Leja O DoeIndia2025-08-13Dorl, James J Esq PROPOSAL24Ivan Magalhaes
1028Smith S GauchoArgentina2025-08-07Printing Dimensions PROPOSAL14Onyama Limba
1029Salvatore Y DoeIndia2025-08-06Chanay, Jeffrey A Esq QUALIFIED90Asiya Javayant
1030Aruna H VocelkaAustralia2025-07-22Chanay, Jeffrey A Esq QUALIFIED11Bernardo Dominic
1031Tony P KuskoGermany2025-08-06Morlong Associates QUALIFIED61Anna Fali
1032Adams S PaprockiIndia2025-07-26Chanay, Jeffrey A Esq RENEWAL65Xuxue Feng
1033Aditya A RutaUnited Kingdom2025-08-14Chanay, Jeffrey A Esq UNQUALIFIED95Anna Fali
1034Arvin N PerinJapan2025-08-16Commercial Press NEGOTIATION58Amy Elsner
1035Jeanfrancois N SergiItaly2025-08-05Rangoni Of Florence PROPOSAL46Ioni Bowcher
1036Deepesh C VocelkaJapan2025-08-05Feiner Bros PROPOSAL39Bernardo Dominic
1037Maisha Y SchemmerCanada2025-08-04Commercial Press NEW15Bernardo Dominic
1038Salvatore K FlosiAustralia2025-08-16King, Christopher A Esq RENEWAL94Elwin Sharvill
1039Aruna A WaycottIndia2025-08-16Feiner Bros NEGOTIATION10Asiya Javayant
1040Tony U CampainIndia2025-08-16Chapman, Ross E Esq RENEWAL19Stephen Shaw
1041James H GillianBrazil2025-08-02Rousseaux, Michael Esq QUALIFIED59Ivan Magalhaes
1042Rodrigues O GillianUnited Kingdom2025-08-03Truhlar And Truhlar Attys RENEWAL14Xuxue Feng
1043Ashley Q ChuiCanada2025-07-23Dorl, James J Esq NEGOTIATION95Ioni Bowcher
1044Munro E KuskoItaly2025-07-22Chemel, James L Cpa NEW62Elwin Sharvill
1045Darci H InouyeGermany2025-07-21Chanay, Jeffrey A Esq QUALIFIED85Ivan Magalhaes
1046Faith R CaudyJapan2025-08-04Feiner Bros PROPOSAL13Asiya Javayant
1047Jones A FerenczJapan2025-08-03Rousseaux, Michael Esq QUALIFIED47Xuxue Feng
1048Isabel N InouyeIndia2025-07-22Chapman, Ross E Esq PROPOSAL94Onyama Limba
1049Francesco Q OstroskyItaly2025-07-21Chapman, Ross E Esq UNQUALIFIED14Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Tony Z SchemmerSpainAsiya Javayant QUALIFIED
Jones F FollerJapanElwin Sharvill RENEWAL
Antonio N KuskoArgentinaXuxue Feng PROPOSAL
Alejandro P VenereUnited KingdomStephen Shaw RENEWAL
Morrow Y VenereUnited KingdomElwin Sharvill PROPOSAL
Maisha H WaycottRussiaOnyama Limba RENEWAL
Isabel E SchemmerArgentinaAsiya Javayant QUALIFIED
Kadeem O StockhamRussiaAmy Elsner UNQUALIFIED
Cody I KuskoJapanAnna Fali NEGOTIATION
Stacey Z SaylorsUnited KingdomElwin Sharvill NEW
Maria E CaudyItalyStephen Shaw PROPOSAL
Costa V BowleyCanadaIvan Magalhaes RENEWAL
Silvio J FlosiRussiaElwin Sharvill PROPOSAL
Adams W RulapaughSpainIoni Bowcher QUALIFIED
Mujtaba T MaletJapanIoni Bowcher NEGOTIATION
Deepesh V WaycottGermanyAnna Fali QUALIFIED
James T DoeArgentinaStephen Shaw NEW
Maisha P NickaCanadaAnna Fali NEW
Octavia W PaprockiCanadaStephen Shaw UNQUALIFIED
Kadeem B CaldareraCanadaOnyama Limba UNQUALIFIED
Maria B GarufiAustraliaXuxue Feng QUALIFIED
Emily Z RulapaughUnited KingdomBernardo Dominic PROPOSAL
Jennifer C FigeroaIndiaStephen Shaw NEGOTIATION
Deepesh Z NickaCanadaAmy Elsner UNQUALIFIED
James A AlbaresBrazilOnyama Limba NEGOTIATION
Jones C BriddickArgentinaBernardo Dominic NEW
Maria X SchemmerCanadaAmy Elsner RENEWAL
Clifford Y BowleyBrazilStephen Shaw QUALIFIED
Jefferson W PaprockiAustraliaStephen Shaw RENEWAL
Alejandro I AlbaresRussiaIvan Magalhaes UNQUALIFIED
James V NestleIndiaBernardo Dominic NEGOTIATION
Izzy X PoquetteJapanBernardo Dominic RENEWAL
Isabel R OldroydFranceElwin Sharvill RENEWAL
Julie J SchemmerRussiaOnyama Limba NEGOTIATION
Rodrigues M SchemmerRussiaStephen Shaw PROPOSAL
Aika E ButtCanadaIvan Magalhaes RENEWAL
Smith U NestleJapanAnna Fali UNQUALIFIED
Clifford K SchemmerAustraliaElwin Sharvill RENEWAL
Costa E CaldareraSpainIoni Bowcher NEGOTIATION
Murillo A AlbaresGermanyStephen Shaw NEGOTIATION
Leja Q PerinCanadaIoni Bowcher QUALIFIED
Faith O KolmetzItalyAsiya Javayant NEW
Misaki W AlbaresCanadaOnyama Limba NEW
Octavia Y MacleadCanadaXuxue Feng NEW
Aika Y SchemmerArgentinaXuxue Feng RENEWAL
Kadeem X MorascaUnited KingdomXuxue Feng RENEWAL
Ivar L AlbaresAustraliaElwin Sharvill QUALIFIED
Smith C DarakjyJapanStephen Shaw NEGOTIATION
Juan K MorascaCanadaStephen Shaw RENEWAL
Deepesh F BriddickCanadaBernardo Dominic RENEWAL
Frozen Columns
Name
Greenwood O Malet
David A Tollner
Ricardo E Whobrey
Adams A Shinko
Jeanfrancois M Briddick
Emily J Iturbide
Jennifer M Ruta
Murillo W Garufi
Kaitlin E Morasca
Mayumi Z Malet
Claire N Inouye
Leon G Schemmer
Leja E Paprocki
Tony P Rim
Sinclair O Ostrosky
Francesco M Chui
Munro A Figeroa
Kaitlin L Dilliard
Tony N Inouye
Jennifer A Poquette
Aditya R Iturbide
Darci D Briddick
Rodrigues O Dilliard
Murillo A Tollner
Deepesh Y Ferencz
Juan S Albares
Salvatore Q Glick
Leja B Perin
Wickens G Darakjy
Juan W Venere
Kadeem P Marrier
Morrow Z Whobrey
Wickens F Sergi
Greenwood O Kusko
Johnson I Schemmer
Leja W Vocelka
Emily B Butt
Cody G Doe
Chavez R Darakjy
James O Bolognia
Aruna C Briddick
Aika J Kusko
Jones Z Ferencz
Smith K Marrier
Rodrigues J Shinko
Arvin N Darakjy
Cody F Whobrey
Nicolas Q Bolognia
Clifford E Poquette
Ashley Z Nestle
IdCountryDate
1000Argentina2025-07-23
1001Italy2025-08-12
1002Canada2025-08-05
1003United Kingdom2025-08-13
1004Russia2025-07-28
1005Japan2025-08-16
1006France2025-08-14
1007Germany2025-07-22
1008India2025-07-23
1009Canada2025-08-07
1010Germany2025-07-22
1011Australia2025-08-02
1012Italy2025-08-14
1013United Kingdom2025-08-04
1014India2025-08-02
1015France2025-07-27
1016Italy2025-08-03
1017Brazil2025-08-14
1018Japan2025-07-24
1019Russia2025-08-06
1020Australia2025-07-24
1021France2025-07-24
1022Spain2025-07-31
1023Brazil2025-08-13
1024Australia2025-07-24
1025Canada2025-08-10
1026Germany2025-08-06
1027Russia2025-08-16
1028Russia2025-08-05
1029Japan2025-08-07
1030Canada2025-07-22
1031Germany2025-08-01
1032France2025-08-16
1033Japan2025-07-29
1034Japan2025-08-13
1035Australia2025-08-08
1036Argentina2025-08-03
1037Spain2025-07-24
1038Spain2025-08-09
1039France2025-08-10
1040Russia2025-08-07
1041Australia2025-07-30
1042Italy2025-08-10
1043Australia2025-08-04
1044Canada2025-08-16
1045Japan2025-08-14
1046France2025-08-13
1047United Kingdom2025-08-09
1048Australia2025-07-28
1049United Kingdom2025-07-28

On-Demand Data

NameIdCountryDate
Maria P Caudy1000Spain2025-08-07
James C Caldarera1001Italy2025-08-07
Ivar Y Darakjy1002Spain2025-07-20
Arvin Z Rim1003Spain2025-08-04
Emily A Maclead1004Australia2025-08-14
Cody G Chui1005Australia2025-07-19
Rodrigues T Waycott1006India2025-07-21
Aditya W Gillian1007Russia2025-07-19
Isabel V Briddick1008Japan2025-07-29
Adams M Kusko1009Australia2025-08-01
Tony Q Rulapaugh1010India2025-07-19
Mayumi T Amigon1011Germany2025-07-19
Salvatore L Caudy1012Spain2025-08-06
David J Marrier1013Germany2025-08-02
Isabel Z Tollner1014Italy2025-07-30
Darci G Dilliard1015United Kingdom2025-07-23
Misaki G Bolognia1016Russia2025-07-26
Adams A Marrier1017Germany2025-08-10
Jefferson N Garufi1018Russia2025-08-05
Isabel L Gaucho1019Russia2025-08-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley K TollnerItalyXuxue Feng NEW
Maisha J PerinSpainIvan Magalhaes RENEWAL
Jennifer G RimBrazilElwin Sharvill RENEWAL
Kadeem V PoquetteFranceElwin Sharvill PROPOSAL
Aruna Z VocelkaAustraliaIvan Magalhaes NEGOTIATION
Jones T MorascaIndiaIvan Magalhaes NEW
Jones B ButtIndiaAnna Fali RENEWAL
Leon X VenereAustraliaAsiya Javayant NEW
Sinclair U GauchoCanadaBernardo Dominic QUALIFIED
Faith G MaletCanadaIoni Bowcher QUALIFIED
Tony G BowleyUnited KingdomStephen Shaw NEGOTIATION
Francesco H VocelkaCanadaIvan Magalhaes QUALIFIED
Munro L WaycottGermanyXuxue Feng NEW
Jones X ButtFranceBernardo Dominic UNQUALIFIED
Maisha M PerinIndiaElwin Sharvill QUALIFIED
Deepesh V GlickSpainAnna Fali QUALIFIED
Claire S FollerRussiaBernardo Dominic NEGOTIATION
Antonio B RoysterArgentinaElwin Sharvill RENEWAL
Sinclair S ChuiFranceOnyama Limba NEW
Adams K GarufiUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues E ButtIndiaIoni Bowcher PROPOSAL
Claire U MaletItalyStephen Shaw RENEWAL
Murillo P InouyeBrazilIvan Magalhaes NEW
Kadeem E TollnerJapanOnyama Limba PROPOSAL
Arvin A DarakjySpainIoni Bowcher PROPOSAL
Silvio Y AmigonFranceElwin Sharvill PROPOSAL
Costa J OldroydBrazilXuxue Feng QUALIFIED
Rodrigues M SlusarskiItalyIvan Magalhaes NEGOTIATION
Johnson N GillianGermanyIoni Bowcher NEW
Misaki G PoquetteCanadaAsiya Javayant UNQUALIFIED
Aika G FigeroaJapanStephen Shaw PROPOSAL
Mujtaba H WaycottBrazilBernardo Dominic NEW
Ricardo G StensethArgentinaAnna Fali UNQUALIFIED
Maria Y StensethBrazilStephen Shaw RENEWAL
Munro W PaprockiCanadaAnna Fali NEW
Claire B BologniaRussiaIvan Magalhaes NEGOTIATION
Leja P DoeBrazilAsiya Javayant UNQUALIFIED
Stacey L FigeroaBrazilIoni Bowcher NEW
James S BologniaBrazilStephen Shaw PROPOSAL
Leja R WhobreyFranceIoni Bowcher QUALIFIED

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