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
Jeanfrancois X GauchoAustraliaXuxue Feng QUALIFIED
Cody Q VocelkaGermanyAsiya Javayant PROPOSAL
Clifford P TollnerSpainIoni Bowcher NEGOTIATION
Claire V KolmetzRussiaStephen Shaw NEGOTIATION
Aruna I NestleJapanAnna Fali QUALIFIED
Isabel F SchemmerSpainXuxue Feng PROPOSAL
Adams B BowleyArgentinaStephen Shaw UNQUALIFIED
Izzy V VenereJapanXuxue Feng NEGOTIATION
Alejandro B DoeArgentinaOnyama Limba NEW
Leon H DarakjyUnited KingdomOnyama Limba NEGOTIATION
Claire M RutaBrazilAnna Fali NEW
Darci D RutaBrazilOnyama Limba UNQUALIFIED
Aditya M IturbideJapanIoni Bowcher UNQUALIFIED
Cody J ShinkoJapanXuxue Feng NEGOTIATION
Wickens K ButtAustraliaAsiya Javayant NEW
Munro R SaylorsFranceBernardo Dominic NEW
Nicolas K CampainRussiaIvan Magalhaes NEW
Emily R GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Leon A PerinIndiaElwin Sharvill NEGOTIATION
Izzy A AlbaresRussiaElwin Sharvill NEW
Alejandro K PaprockiFranceAsiya Javayant QUALIFIED
Izzy C MaletIndiaAnna Fali QUALIFIED
Smith P SergiJapanAsiya Javayant QUALIFIED
Johnson E DarakjyArgentinaOnyama Limba RENEWAL
James F FollerArgentinaAnna Fali PROPOSAL
Claire O VocelkaFranceBernardo Dominic PROPOSAL
Darci U WhobreyRussiaAnna Fali NEW
Jeanfrancois F FollerItalyAsiya Javayant PROPOSAL
Stacey U MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Smith H DilliardItalyXuxue Feng UNQUALIFIED
Emily X IturbideIndiaAsiya Javayant RENEWAL
Juan M CampainAustraliaElwin Sharvill NEGOTIATION
Alejandro F StockhamItalyBernardo Dominic QUALIFIED
Alejandro O FigeroaArgentinaBernardo Dominic NEW
Chavez V SergiAustraliaXuxue Feng QUALIFIED
Aruna T SchemmerRussiaXuxue Feng PROPOSAL
Smith O MaletJapanBernardo Dominic PROPOSAL
Silvio S MarrierSpainAnna Fali RENEWAL
Maria U CaldareraUnited KingdomAsiya Javayant NEW
Clifford O RulapaughSpainAnna Fali UNQUALIFIED
Greenwood H PoquetteCanadaOnyama Limba PROPOSAL
Ashley S DarakjyCanadaElwin Sharvill RENEWAL
Francesco K WhobreyJapanIoni Bowcher NEGOTIATION
Claire C NickaBrazilIvan Magalhaes PROPOSAL
Francesco E FigeroaSpainAmy Elsner UNQUALIFIED
Antonio A FigeroaCanadaOnyama Limba UNQUALIFIED
Emily G ShinkoAustraliaIvan Magalhaes PROPOSAL
Cody F OstroskyIndiaAmy Elsner NEW
Smith Q CampainRussiaBernardo Dominic UNQUALIFIED
Izzy P RutaRussiaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
James L KuskoFranceStephen Shaw QUALIFIED
Darci E OstroskyArgentinaAmy Elsner NEW
Stacey P SlusarskiFranceIoni Bowcher RENEWAL
Leja D KolmetzArgentinaIvan Magalhaes NEGOTIATION
Cody G BriddickSpainAmy Elsner NEW
Murillo N CaldareraRussiaAsiya Javayant NEGOTIATION
David G MacleadJapanAmy Elsner UNQUALIFIED
Jefferson P KolmetzItalyBernardo Dominic PROPOSAL
Morrow H FlosiUnited KingdomIvan Magalhaes UNQUALIFIED
Munro P WhobreyUnited KingdomXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio L VocelkaFrance2025-07-18Truhlar And Truhlar Attys PROPOSAL3Bernardo Dominic
1001Tony N InouyeArgentina2025-07-26Chanay, Jeffrey A Esq QUALIFIED39Ivan Magalhaes
1002Cody N GauchoUnited Kingdom2025-07-29Rangoni Of Florence QUALIFIED33Elwin Sharvill
1003Morrow J MaletGermany2025-07-14King, Christopher A Esq NEGOTIATION42Xuxue Feng
1004Faith E SaylorsUnited Kingdom2025-07-27Feltz Printing Service QUALIFIED87Bernardo Dominic
1005Ashley U InouyeSpain2025-08-01King, Christopher A Esq QUALIFIED80Bernardo Dominic
1006Johnson V TollnerItaly2025-07-19Chapman, Ross E Esq UNQUALIFIED81Ivan Magalhaes
1007Maria C TollnerFrance2025-07-19King, Christopher A Esq RENEWAL99Ivan Magalhaes
1008Maisha O WaycottCanada2025-08-07Morlong Associates PROPOSAL14Elwin Sharvill
1009Aditya T BologniaAustralia2025-07-19Truhlar And Truhlar Attys RENEWAL0Asiya Javayant
1010Adams H FerenczItaly2025-07-29Chapman, Ross E Esq RENEWAL33Asiya Javayant
1011James L BowleyItaly2025-08-03Chanay, Jeffrey A Esq QUALIFIED90Amy Elsner
1012Claire Q NickaFrance2025-07-23King, Christopher A Esq UNQUALIFIED96Amy Elsner
1013Jeanfrancois F WhobreyAustralia2025-07-18Feltz Printing Service NEGOTIATION9Stephen Shaw
1014Izzy C ShinkoArgentina2025-07-25Chapman, Ross E Esq QUALIFIED92Amy Elsner
1015Octavia I MaletSpain2025-07-31Feiner Bros UNQUALIFIED7Xuxue Feng
1016Clifford N GillianAustralia2025-07-25Feiner Bros QUALIFIED37Stephen Shaw
1017Jones M KuskoFrance2025-08-12Commercial Press PROPOSAL12Elwin Sharvill
1018James R PoquetteIndia2025-08-05Commercial Press UNQUALIFIED32Xuxue Feng
1019David O MarrierGermany2025-07-22Benton, John B Jr UNQUALIFIED83Asiya Javayant
1020Tony E RimItaly2025-07-21Rousseaux, Michael Esq RENEWAL74Elwin Sharvill
1021Stacey J PaprockiJapan2025-07-18Truhlar And Truhlar Attys NEW75Onyama Limba
1022Alejandro L WhobreyBrazil2025-08-08Buckley Miller Wright NEW28Bernardo Dominic
1023Aditya Z StockhamJapan2025-07-19Chanay, Jeffrey A Esq QUALIFIED7Xuxue Feng
1024Cody N AlbaresSpain2025-08-11Chapman, Ross E Esq PROPOSAL19Stephen Shaw
1025James I AlbaresIndia2025-08-06Benton, John B Jr UNQUALIFIED0Xuxue Feng
1026Claire P BowleyJapan2025-08-10Dorl, James J Esq RENEWAL48Xuxue Feng
1027Mujtaba P TollnerSpain2025-07-19Chanay, Jeffrey A Esq RENEWAL47Anna Fali
1028Adams W DoeGermany2025-08-09Chapman, Ross E Esq RENEWAL46Anna Fali
1029Adams E GlickArgentina2025-07-24King, Christopher A Esq PROPOSAL63Anna Fali
1030Jeanfrancois Q TollnerUnited Kingdom2025-07-29Rangoni Of Florence QUALIFIED64Ioni Bowcher
1031James P CaldareraCanada2025-07-22Feltz Printing Service QUALIFIED2Ioni Bowcher
1032Mayumi P ChuiGermany2025-07-29Chanay, Jeffrey A Esq NEW5Onyama Limba
1033Ricardo V GillianSpain2025-08-03King, Christopher A Esq PROPOSAL89Onyama Limba
1034Smith T StockhamRussia2025-07-14Chapman, Ross E Esq QUALIFIED89Amy Elsner
1035Julie J MacleadIndia2025-07-29Commercial Press NEGOTIATION36Elwin Sharvill
1036Adams J WhobreyAustralia2025-07-28Chanay, Jeffrey A Esq UNQUALIFIED68Bernardo Dominic
1037Aruna L VenereRussia2025-07-15King, Christopher A Esq RENEWAL49Ivan Magalhaes
1038James U StockhamJapan2025-08-01Feiner Bros NEW80Bernardo Dominic
1039Juan O StensethItaly2025-07-28Buckley Miller Wright PROPOSAL75Elwin Sharvill
1040Julie P SlusarskiBrazil2025-07-26Rousseaux, Michael Esq UNQUALIFIED65Onyama Limba
1041Maisha C GillianFrance2025-07-24Buckley Miller Wright PROPOSAL37Elwin Sharvill
1042Ricardo O KolmetzSpain2025-07-28Morlong Associates NEGOTIATION19Onyama Limba
1043Ivar Q DoeJapan2025-07-25Truhlar And Truhlar Attys NEGOTIATION44Xuxue Feng
1044Mujtaba X VenereCanada2025-07-14Chanay, Jeffrey A Esq NEW11Amy Elsner
1045Jeanfrancois Q SlusarskiBrazil2025-07-17Rousseaux, Michael Esq PROPOSAL86Ioni Bowcher
1046Aika E FlosiJapan2025-07-22Rangoni Of Florence NEGOTIATION57Ioni Bowcher
1047Aditya C PaprockiFrance2025-07-14Truhlar And Truhlar Attys RENEWAL97Onyama Limba
1048Claire T SchemmerJapan2025-07-14Chemel, James L Cpa NEW65Elwin Sharvill
1049David U RimRussia2025-07-28Chemel, James L Cpa PROPOSAL95Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jennifer L OldroydArgentinaIvan Magalhaes UNQUALIFIED
Mayumi P RulapaughArgentinaBernardo Dominic QUALIFIED
Jeanfrancois P MorascaArgentinaElwin Sharvill UNQUALIFIED
Faith R BowleyItalyBernardo Dominic UNQUALIFIED
Maisha Y GlickUnited KingdomAnna Fali RENEWAL
Maisha W FollerRussiaAnna Fali UNQUALIFIED
Darci R CaudyFranceIvan Magalhaes NEGOTIATION
Rodrigues C SlusarskiGermanyElwin Sharvill QUALIFIED
Francesco S GlickRussiaBernardo Dominic NEW
Maria N PerinGermanyAsiya Javayant QUALIFIED
Ricardo L WaycottCanadaOnyama Limba UNQUALIFIED
Francesco E MaletCanadaStephen Shaw NEW
Salvatore S NickaSpainIoni Bowcher NEW
Alejandro R NestleUnited KingdomAmy Elsner PROPOSAL
Mujtaba R WhobreyRussiaIvan Magalhaes NEGOTIATION
James D PaprockiGermanyXuxue Feng QUALIFIED
Smith D RutaRussiaBernardo Dominic NEGOTIATION
Ivar H BowleyArgentinaXuxue Feng RENEWAL
Rodrigues U StockhamBrazilIvan Magalhaes QUALIFIED
Smith U MaletFranceXuxue Feng NEGOTIATION
Misaki D ChuiIndiaElwin Sharvill NEW
Jennifer I MaletFranceBernardo Dominic QUALIFIED
Leon A BowleyFranceAnna Fali RENEWAL
Maria K AlbaresUnited KingdomElwin Sharvill PROPOSAL
Morrow L FerenczIndiaXuxue Feng RENEWAL
Aditya G DoeCanadaAmy Elsner NEW
Kaitlin M MaletRussiaOnyama Limba QUALIFIED
Alejandro G VenereRussiaElwin Sharvill RENEWAL
Jeanfrancois A GarufiAustraliaAnna Fali QUALIFIED
Ivar O NickaCanadaAmy Elsner RENEWAL
Sinclair F DilliardCanadaElwin Sharvill RENEWAL
Aika Y WieserRussiaIoni Bowcher QUALIFIED
Aditya A RoysterBrazilBernardo Dominic UNQUALIFIED
Deepesh K BologniaUnited KingdomXuxue Feng QUALIFIED
Salvatore L AlbaresGermanyBernardo Dominic QUALIFIED
Emily S FlosiIndiaXuxue Feng NEGOTIATION
Wickens D AmigonCanadaBernardo Dominic RENEWAL
Tony Y GillianIndiaXuxue Feng NEW
Ricardo Q ButtFranceIvan Magalhaes NEGOTIATION
Maisha D FollerItalyStephen Shaw PROPOSAL
Maria G FlosiJapanAmy Elsner RENEWAL
Costa R AlbaresItalyIvan Magalhaes QUALIFIED
Munro H SlusarskiCanadaAmy Elsner RENEWAL
Munro K BowleyArgentinaOnyama Limba NEW
Nicolas A FollerFranceStephen Shaw RENEWAL
Tony E KolmetzGermanyStephen Shaw RENEWAL
Aditya E IturbideCanadaXuxue Feng NEGOTIATION
Emily S WieserJapanBernardo Dominic UNQUALIFIED
Deepesh J SaylorsIndiaIvan Magalhaes RENEWAL
Claire N StockhamCanadaOnyama Limba RENEWAL
Frozen Columns
Name
Alejandro S Glick
Maisha R Waycott
Misaki M Garufi
Maisha X Amigon
Juan R Dilliard
Faith M Perin
Aika L Kolmetz
Ashley J Butt
Munro V Rim
Darci P Rulapaugh
Leon H Sergi
Darci W Tollner
Ricardo B Wieser
Darci F Kolmetz
Arvin C Figeroa
Morrow R Iturbide
Munro Z Doe
Maisha C Oldroyd
Maria N Kolmetz
Salvatore F Caldarera
Arvin R Iturbide
Ashley U Maclead
Jennifer X Nicka
Tony W Bowley
Silvio B Slusarski
Kaitlin Q Ferencz
Jennifer M Caldarera
Morrow H Gaucho
Cody A Wieser
Emily F Shinko
Francesco L Rulapaugh
Julie M Flosi
James J Shinko
Wickens D Maclead
Costa V Morasca
Jefferson J Ferencz
Maisha Q Ostrosky
Mujtaba N Nicka
Clifford D Stockham
Smith Z Doe
Stacey H Royster
Cody T Nestle
Ivar U Waycott
Antonio F Shinko
Julie J Albares
Isabel E Caudy
Alejandro P Bolognia
Murillo S Bolognia
Arvin N Stenseth
Tony C Inouye
IdCountryDate
1000Spain2025-08-07
1001Australia2025-07-23
1002Spain2025-07-30
1003Italy2025-08-08
1004India2025-07-26
1005Germany2025-07-31
1006India2025-08-03
1007Australia2025-08-05
1008Australia2025-08-01
1009Spain2025-07-30
1010Italy2025-07-20
1011Japan2025-07-26
1012India2025-07-28
1013Italy2025-07-18
1014Brazil2025-07-19
1015Spain2025-08-01
1016Australia2025-07-16
1017India2025-08-09
1018France2025-07-31
1019Canada2025-08-06
1020Canada2025-07-15
1021Italy2025-07-27
1022United Kingdom2025-07-16
1023Brazil2025-07-26
1024France2025-07-24
1025Italy2025-07-28
1026Russia2025-08-08
1027United Kingdom2025-07-24
1028United Kingdom2025-07-14
1029Russia2025-07-16
1030Spain2025-07-21
1031Spain2025-07-15
1032United Kingdom2025-07-23
1033Italy2025-08-05
1034France2025-08-08
1035Canada2025-07-31
1036Argentina2025-07-21
1037Canada2025-07-19
1038Spain2025-08-10
1039Brazil2025-07-15
1040France2025-08-06
1041Australia2025-07-19
1042Russia2025-07-22
1043Italy2025-07-17
1044Germany2025-08-07
1045Spain2025-08-11
1046India2025-07-24
1047Germany2025-08-12
1048Japan2025-07-30
1049France2025-07-26

On-Demand Data

NameIdCountryDate
Ivar B Caldarera1000Italy2025-07-28
Munro Q Ostrosky1001Brazil2025-07-17
Jefferson X Schemmer1002Canada2025-07-19
Ashley Q Bowley1003India2025-08-02
Aruna B Schemmer1004Spain2025-07-26
Jeanfrancois F Caudy1005Argentina2025-08-04
Jefferson L Marrier1006Argentina2025-07-19
Francesco O Inouye1007Brazil2025-07-22
Greenwood P Foller1008Germany2025-08-11
Arvin Q Briddick1009India2025-08-08
Leon Q Marrier1010Argentina2025-08-09
Emily O Amigon1011France2025-07-28
Julie X Maclead1012France2025-08-02
Maria D Royster1013Germany2025-08-09
David J Ostrosky1014Spain2025-07-28
Maisha R Schemmer1015Brazil2025-07-24
Cody G Ruta1016United Kingdom2025-07-18
Mujtaba R Marrier1017United Kingdom2025-07-22
Murillo X Butt1018Brazil2025-07-20
Adams S Butt1019India2025-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow J PoquetteIndiaStephen Shaw RENEWAL
Chavez Y CampainBrazilIoni Bowcher NEW
Leon P DoeUnited KingdomIvan Magalhaes NEW
Ricardo H WaycottJapanXuxue Feng NEGOTIATION
Kaitlin F VenereCanadaXuxue Feng UNQUALIFIED
Ashley F FerenczRussiaAsiya Javayant RENEWAL
Silvio V OldroydSpainXuxue Feng NEW
Salvatore O RimCanadaAsiya Javayant UNQUALIFIED
Greenwood H AmigonFranceElwin Sharvill UNQUALIFIED
James E FerenczAustraliaIvan Magalhaes QUALIFIED
Maisha V CaldareraJapanStephen Shaw NEGOTIATION
Murillo A InouyeGermanyAmy Elsner NEW
Jennifer B WaycottAustraliaIvan Magalhaes RENEWAL
Izzy Y WieserCanadaXuxue Feng PROPOSAL
Claire A DarakjyBrazilXuxue Feng NEGOTIATION
Mujtaba R InouyeUnited KingdomIoni Bowcher QUALIFIED
Rodrigues S MaletFranceBernardo Dominic QUALIFIED
Jones K DoeItalyElwin Sharvill PROPOSAL
Octavia B FigeroaJapanBernardo Dominic RENEWAL
Clifford X SergiArgentinaStephen Shaw UNQUALIFIED
Kadeem O StensethAustraliaAsiya Javayant QUALIFIED
Smith W WaycottUnited KingdomXuxue Feng QUALIFIED
Wickens O DoeArgentinaStephen Shaw PROPOSAL
Jones T OstroskySpainAmy Elsner NEGOTIATION
Johnson B RimGermanyAsiya Javayant NEW
Clifford Z GarufiIndiaStephen Shaw PROPOSAL
Adams F PaprockiAustraliaBernardo Dominic PROPOSAL
Deepesh U PerinSpainOnyama Limba RENEWAL
Morrow G GarufiIndiaAsiya Javayant QUALIFIED
Murillo M AmigonFranceAsiya Javayant QUALIFIED
Jones S RulapaughAustraliaOnyama Limba UNQUALIFIED
Adams D InouyeBrazilAnna Fali UNQUALIFIED
Aruna P SaylorsArgentinaOnyama Limba NEGOTIATION
Chavez A RimAustraliaAnna Fali QUALIFIED
Jefferson B StockhamFranceOnyama Limba UNQUALIFIED
Adams H AmigonRussiaAnna Fali QUALIFIED
Nicolas B AlbaresFranceXuxue Feng NEW
Greenwood H PaprockiIndiaAmy Elsner NEGOTIATION
Mujtaba P AlbaresJapanIoni Bowcher NEW
Jefferson S WieserFranceAsiya Javayant NEW

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