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
Juan Y GauchoSpainStephen Shaw NEGOTIATION
Maisha Y ShinkoUnited KingdomIvan Magalhaes QUALIFIED
James T ShinkoCanadaAsiya Javayant NEGOTIATION
Tony E OldroydJapanStephen Shaw NEGOTIATION
Ashley K FigeroaFranceAnna Fali NEGOTIATION
David J WhobreyCanadaOnyama Limba NEGOTIATION
Isabel V MarrierArgentinaAnna Fali NEGOTIATION
Clifford R RulapaughBrazilOnyama Limba RENEWAL
Mujtaba N WieserRussiaOnyama Limba PROPOSAL
Nicolas P FlosiFranceAsiya Javayant RENEWAL
Silvio P MorascaIndiaBernardo Dominic UNQUALIFIED
Francesco R GillianCanadaElwin Sharvill QUALIFIED
Kadeem A BriddickBrazilAnna Fali RENEWAL
Antonio W KuskoBrazilOnyama Limba QUALIFIED
Tony M BriddickFranceAmy Elsner UNQUALIFIED
Ricardo Z ButtArgentinaStephen Shaw RENEWAL
Cody K FlosiFranceAnna Fali UNQUALIFIED
Johnson O FollerGermanyElwin Sharvill NEW
Aika N OldroydItalyAsiya Javayant NEGOTIATION
Maria J OstroskyArgentinaIvan Magalhaes NEGOTIATION
Deepesh F OstroskyCanadaOnyama Limba PROPOSAL
Greenwood N VenereUnited KingdomIoni Bowcher UNQUALIFIED
Maisha R FigeroaFranceBernardo Dominic RENEWAL
Ashley L RulapaughJapanOnyama Limba UNQUALIFIED
Jeanfrancois F VenereItalyOnyama Limba RENEWAL
Nicolas U MacleadAustraliaBernardo Dominic NEW
Juan W RutaBrazilBernardo Dominic PROPOSAL
Wickens I DoeItalyStephen Shaw UNQUALIFIED
Ashley D PaprockiAustraliaElwin Sharvill PROPOSAL
James N PerinGermanyAmy Elsner NEGOTIATION
David Y StensethIndiaElwin Sharvill PROPOSAL
Ashley F IturbideSpainIoni Bowcher PROPOSAL
Nicolas N StensethUnited KingdomIvan Magalhaes NEW
Isabel M WaycottFranceBernardo Dominic QUALIFIED
Mujtaba T StockhamGermanyAmy Elsner UNQUALIFIED
Wickens B BriddickIndiaStephen Shaw NEW
Clifford N DoeGermanyBernardo Dominic PROPOSAL
Tony A StensethItalyAnna Fali RENEWAL
Ivar T ChuiCanadaOnyama Limba RENEWAL
Ricardo F DilliardGermanyOnyama Limba PROPOSAL
Alejandro M RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues V StensethGermanyIvan Magalhaes NEGOTIATION
Aika Q PoquetteSpainAsiya Javayant NEW
Antonio J KuskoAustraliaXuxue Feng NEGOTIATION
Ivar Z BriddickJapanIvan Magalhaes RENEWAL
Claire G FlosiItalyAmy Elsner QUALIFIED
Faith L StockhamUnited KingdomElwin Sharvill QUALIFIED
Mayumi C AmigonUnited KingdomBernardo Dominic QUALIFIED
Mayumi M FerenczItalyIoni Bowcher QUALIFIED
Silvio R AlbaresCanadaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois L DilliardIndiaStephen Shaw RENEWAL
Johnson M AlbaresRussiaBernardo Dominic QUALIFIED
Mayumi H CampainBrazilAnna Fali UNQUALIFIED
Smith T BowleyArgentinaIvan Magalhaes NEGOTIATION
Ashley R MaletJapanAnna Fali RENEWAL
Leja G PaprockiSpainAsiya Javayant UNQUALIFIED
Morrow E GlickCanadaXuxue Feng PROPOSAL
Smith W VocelkaGermanyElwin Sharvill UNQUALIFIED
Rodrigues N WhobreyItalyAsiya Javayant RENEWAL
Morrow J FerenczArgentinaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro I WieserGermany2025-08-04Feiner Bros QUALIFIED28Elwin Sharvill
1001Smith J VenereItaly2025-08-03Rangoni Of Florence UNQUALIFIED91Elwin Sharvill
1002Deepesh Y StockhamFrance2025-08-26Feltz Printing Service UNQUALIFIED83Bernardo Dominic
1003Julie K KuskoSpain2025-08-26Buckley Miller Wright NEW51Asiya Javayant
1004Jeanfrancois T GarufiItaly2025-08-23Rousseaux, Michael Esq NEW33Asiya Javayant
1005Johnson U WieserSpain2025-08-20King, Christopher A Esq QUALIFIED30Ioni Bowcher
1006Clifford O AlbaresUnited Kingdom2025-08-22King, Christopher A Esq PROPOSAL47Xuxue Feng
1007Johnson E ButtIndia2025-08-06Printing Dimensions NEGOTIATION67Elwin Sharvill
1008Leon E ChuiSpain2025-07-31Chapman, Ross E Esq UNQUALIFIED64Anna Fali
1009Smith D BologniaItaly2025-08-28Printing Dimensions NEW35Onyama Limba
1010Antonio V ChuiRussia2025-08-20King, Christopher A Esq UNQUALIFIED0Anna Fali
1011Francesco G OldroydFrance2025-08-01Feiner Bros PROPOSAL24Ivan Magalhaes
1012Smith Y DoeRussia2025-08-22Feiner Bros QUALIFIED90Stephen Shaw
1013Julie I VocelkaFrance2025-08-07King, Christopher A Esq PROPOSAL90Bernardo Dominic
1014Deepesh N PaprockiGermany2025-08-12Dorl, James J Esq RENEWAL27Ioni Bowcher
1015Claire H NestleBrazil2025-08-13Morlong Associates NEGOTIATION14Ioni Bowcher
1016Ivar B RulapaughJapan2025-08-11Chanay, Jeffrey A Esq NEGOTIATION76Bernardo Dominic
1017James B StockhamGermany2025-08-14Chemel, James L Cpa NEGOTIATION23Asiya Javayant
1018Jones I ChuiRussia2025-08-11Printing Dimensions NEGOTIATION87Bernardo Dominic
1019Jennifer H GarufiItaly2025-08-06Feltz Printing Service NEW17Asiya Javayant
1020Nicolas X FollerCanada2025-08-16Chapman, Ross E Esq NEGOTIATION22Anna Fali
1021Aditya X IturbideBrazil2025-08-05Dorl, James J Esq UNQUALIFIED84Ioni Bowcher
1022Ricardo F DarakjyFrance2025-07-31Chemel, James L Cpa PROPOSAL15Bernardo Dominic
1023Rodrigues E ShinkoFrance2025-08-01Dorl, James J Esq RENEWAL51Xuxue Feng
1024Aruna E NickaRussia2025-08-08Commercial Press RENEWAL37Amy Elsner
1025Johnson M SergiSpain2025-08-20Benton, John B Jr PROPOSAL38Onyama Limba
1026Mayumi K MaletBrazil2025-08-23Benton, John B Jr UNQUALIFIED12Amy Elsner
1027Juan Y WhobreyIndia2025-08-15King, Christopher A Esq UNQUALIFIED82Ioni Bowcher
1028Darci Q MorascaSpain2025-08-15Morlong Associates NEGOTIATION31Anna Fali
1029Murillo M ChuiUnited Kingdom2025-08-10Truhlar And Truhlar Attys PROPOSAL30Onyama Limba
1030Smith W VenereAustralia2025-08-07King, Christopher A Esq NEGOTIATION40Anna Fali
1031Greenwood S MaletRussia2025-08-25Feltz Printing Service RENEWAL57Ioni Bowcher
1032Adams U PaprockiItaly2025-08-01King, Christopher A Esq PROPOSAL75Ioni Bowcher
1033Greenwood N FigeroaUnited Kingdom2025-08-05Buckley Miller Wright NEGOTIATION94Elwin Sharvill
1034Maria I DoeBrazil2025-08-26King, Christopher A Esq RENEWAL31Ioni Bowcher
1035Aditya W StensethJapan2025-08-28Chanay, Jeffrey A Esq RENEWAL57Elwin Sharvill
1036Johnson C GauchoCanada2025-08-28Chapman, Ross E Esq NEGOTIATION60Xuxue Feng
1037Juan C GillianBrazil2025-08-14Printing Dimensions RENEWAL73Onyama Limba
1038Emily L OldroydUnited Kingdom2025-08-20Buckley Miller Wright PROPOSAL84Elwin Sharvill
1039Silvio M VenereIndia2025-08-04Benton, John B Jr NEGOTIATION90Xuxue Feng
1040Francesco S NestleIndia2025-08-28Feltz Printing Service NEW39Amy Elsner
1041Jefferson C MorascaAustralia2025-08-13Printing Dimensions PROPOSAL31Stephen Shaw
1042Juan M BowleyItaly2025-08-28Chemel, James L Cpa QUALIFIED60Amy Elsner
1043Tony D NestleArgentina2025-08-04Commercial Press NEW44Anna Fali
1044Jefferson C InouyeIndia2025-08-08Chapman, Ross E Esq UNQUALIFIED63Asiya Javayant
1045Clifford G SlusarskiSpain2025-08-25Feltz Printing Service NEGOTIATION32Amy Elsner
1046Julie C RimAustralia2025-08-29Feltz Printing Service QUALIFIED62Onyama Limba
1047Faith T WaycottFrance2025-08-28Dorl, James J Esq UNQUALIFIED73Xuxue Feng
1048Maisha Y MaletIndia2025-07-31Feiner Bros NEW15Stephen Shaw
1049Jefferson M BowleySpain2025-08-13Commercial Press UNQUALIFIED5Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Alejandro X MaletItalyBernardo Dominic RENEWAL
Morrow S DoeSpainAmy Elsner UNQUALIFIED
Aika F SergiJapanAmy Elsner PROPOSAL
Stacey T KolmetzArgentinaAmy Elsner RENEWAL
Smith W BowleyBrazilAnna Fali NEGOTIATION
David B ButtAustraliaIvan Magalhaes NEW
Arvin V WaycottSpainXuxue Feng PROPOSAL
Emily L PaprockiSpainElwin Sharvill QUALIFIED
Isabel Z OldroydFranceElwin Sharvill NEW
Sinclair L MaletSpainElwin Sharvill UNQUALIFIED
Deepesh F CampainItalyAsiya Javayant RENEWAL
Nicolas L WieserItalyStephen Shaw UNQUALIFIED
Morrow E SchemmerSpainElwin Sharvill NEGOTIATION
Juan C DilliardRussiaIoni Bowcher NEGOTIATION
Juan A BologniaFranceXuxue Feng RENEWAL
Maria G RimCanadaOnyama Limba NEGOTIATION
Claire K RulapaughRussiaAmy Elsner PROPOSAL
Johnson A NestleJapanStephen Shaw PROPOSAL
Greenwood B FlosiSpainBernardo Dominic RENEWAL
Mayumi K SchemmerCanadaIvan Magalhaes RENEWAL
Antonio H RulapaughIndiaStephen Shaw RENEWAL
James C ChuiRussiaAmy Elsner NEW
Aditya K WhobreyCanadaOnyama Limba NEW
Wickens M VocelkaItalyXuxue Feng PROPOSAL
Smith G FollerRussiaElwin Sharvill UNQUALIFIED
Maria W OldroydGermanyOnyama Limba NEGOTIATION
Nicolas I MaletIndiaBernardo Dominic RENEWAL
Claire D GillianSpainIoni Bowcher NEGOTIATION
Jennifer Y SlusarskiItalyIoni Bowcher RENEWAL
James G AlbaresArgentinaStephen Shaw NEGOTIATION
Mayumi M FlosiFranceXuxue Feng QUALIFIED
Kadeem L StensethItalyIoni Bowcher UNQUALIFIED
Greenwood L BowleyArgentinaAsiya Javayant PROPOSAL
Adams P WhobreyBrazilAnna Fali UNQUALIFIED
Ricardo T StensethSpainElwin Sharvill RENEWAL
Wickens W FlosiBrazilIoni Bowcher NEW
Mayumi Z ChuiRussiaStephen Shaw NEGOTIATION
Morrow H PerinIndiaAnna Fali RENEWAL
Murillo R MaletBrazilAmy Elsner RENEWAL
Aruna Z MacleadFranceIoni Bowcher NEGOTIATION
Juan N BologniaJapanAnna Fali NEGOTIATION
Arvin D InouyeSpainIoni Bowcher RENEWAL
Sinclair M SlusarskiItalyAsiya Javayant UNQUALIFIED
Jeanfrancois M MaletFranceOnyama Limba NEGOTIATION
Claire D ButtGermanyAmy Elsner NEW
Cody W BologniaArgentinaStephen Shaw QUALIFIED
Smith F SergiFranceIvan Magalhaes UNQUALIFIED
Maisha V DilliardAustraliaAmy Elsner NEW
Kaitlin T FigeroaFranceStephen Shaw PROPOSAL
Morrow C WhobreyCanadaAsiya Javayant RENEWAL
Frozen Columns
Name
Jones K Figeroa
Mayumi S Foller
Deepesh Q Doe
Maisha V Waycott
Maria T Bowley
Octavia Y Gaucho
Deepesh W Figeroa
Tony Z Venere
Wickens R Butt
Arvin M Bolognia
Kadeem X Glick
Ashley W Vocelka
Rodrigues S Rim
Stacey O Ruta
Octavia N Inouye
Chavez E Royster
Julie L Morasca
David N Venere
Jefferson A Dilliard
Sinclair B Sergi
Ashley D Maclead
Aditya N Garufi
Emily I Stenseth
Wickens C Rim
Wickens Y Figeroa
Rodrigues M Slusarski
Munro B Bowley
Faith G Glick
Aika Z Waycott
Juan H Malet
Mayumi X Maclead
Rodrigues M Caudy
Julie D Caldarera
Munro H Kolmetz
Stacey N Albares
Faith Z Gillian
Aditya Y Bolognia
Kadeem T Perin
Salvatore U Rulapaugh
Francesco N Wieser
Misaki Q Flosi
Adams D Garufi
Kadeem U Waycott
Julie X Gillian
Wickens D Foller
Jennifer X Foller
Emily V Dilliard
Smith X Dilliard
Julie C Marrier
Francesco I Dilliard
IdCountryDate
1000Spain2025-08-16
1001Russia2025-08-17
1002Germany2025-08-10
1003France2025-08-27
1004Canada2025-08-25
1005Australia2025-08-09
1006Germany2025-08-03
1007Russia2025-08-01
1008Japan2025-08-15
1009Germany2025-08-08
1010United Kingdom2025-08-07
1011Russia2025-08-06
1012Australia2025-08-27
1013Russia2025-08-26
1014Spain2025-08-24
1015Japan2025-08-20
1016Brazil2025-08-10
1017Spain2025-08-09
1018United Kingdom2025-08-14
1019Canada2025-08-19
1020Spain2025-08-25
1021Brazil2025-08-16
1022Australia2025-07-31
1023Canada2025-08-03
1024France2025-08-08
1025Germany2025-08-11
1026Germany2025-08-14
1027France2025-08-21
1028Italy2025-08-27
1029France2025-08-05
1030India2025-08-29
1031Russia2025-08-14
1032Spain2025-08-17
1033Germany2025-08-07
1034Brazil2025-08-28
1035Russia2025-08-24
1036United Kingdom2025-08-20
1037United Kingdom2025-08-08
1038Canada2025-08-26
1039France2025-08-13
1040Canada2025-08-13
1041Japan2025-08-24
1042Argentina2025-08-23
1043India2025-08-02
1044Spain2025-08-12
1045Germany2025-08-15
1046India2025-08-28
1047Spain2025-08-19
1048Italy2025-08-07
1049Italy2025-08-09

On-Demand Data

NameIdCountryDate
Faith Q Nicka1000Australia2025-08-05
Juan I Paprocki1001Russia2025-08-15
Julie N Inouye1002Canada2025-08-17
Sinclair P Rulapaugh1003Australia2025-08-25
Misaki M Oldroyd1004Japan2025-08-08
Clifford B Briddick1005United Kingdom2025-08-04
Jennifer U Stockham1006Russia2025-08-15
Aika M Foller1007France2025-08-07
Wickens Z Ruta1008Argentina2025-08-15
Greenwood U Wieser1009Russia2025-08-16
Adams O Dilliard1010India2025-08-23
Jeanfrancois P Rim1011Argentina2025-08-27
Morrow G Malet1012Japan2025-08-28
Faith U Waycott1013Russia2025-08-25
Isabel B Wieser1014India2025-08-01
Johnson Y Marrier1015United Kingdom2025-08-07
Maisha W Bolognia1016Argentina2025-08-19
Juan S Wieser1017Italy2025-08-24
David L Malet1018Canada2025-08-26
Sinclair N Marrier1019Italy2025-08-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois T CaldareraGermanyStephen Shaw NEW
Smith Q NickaAustraliaOnyama Limba UNQUALIFIED
Alejandro B PoquetteJapanOnyama Limba NEGOTIATION
Jeanfrancois Z TollnerItalyAsiya Javayant NEGOTIATION
Kaitlin M PerinItalyXuxue Feng QUALIFIED
Wickens C VocelkaBrazilAsiya Javayant NEGOTIATION
Ashley S ShinkoItalyAmy Elsner RENEWAL
Francesco J PaprockiRussiaIvan Magalhaes QUALIFIED
Claire A MarrierUnited KingdomIoni Bowcher RENEWAL
Octavia O MarrierGermanyBernardo Dominic NEGOTIATION
Mayumi T CaldareraJapanOnyama Limba PROPOSAL
Stacey A NickaSpainAmy Elsner QUALIFIED
Mayumi B WaycottItalyOnyama Limba QUALIFIED
Ricardo E InouyeFranceAsiya Javayant RENEWAL
Jones V SlusarskiRussiaStephen Shaw PROPOSAL
Misaki W DarakjyFranceXuxue Feng UNQUALIFIED
Murillo I PaprockiAustraliaOnyama Limba NEW
Aditya D SlusarskiArgentinaIoni Bowcher NEGOTIATION
Munro U RoysterJapanBernardo Dominic RENEWAL
Adams L OstroskyGermanyElwin Sharvill UNQUALIFIED
Munro Z SlusarskiIndiaStephen Shaw UNQUALIFIED
Alejandro F NestleSpainAsiya Javayant QUALIFIED
Tony R RulapaughBrazilBernardo Dominic PROPOSAL
Jeanfrancois P DilliardSpainStephen Shaw RENEWAL
Darci C KolmetzAustraliaAnna Fali NEGOTIATION
Juan D OldroydAustraliaIvan Magalhaes RENEWAL
Izzy X DilliardGermanyAnna Fali QUALIFIED
Johnson J WaycottUnited KingdomXuxue Feng NEW
Arvin Z DarakjyAustraliaElwin Sharvill RENEWAL
Izzy L GlickCanadaIoni Bowcher NEW
Mujtaba Q MarrierRussiaAsiya Javayant NEGOTIATION
Aditya U StockhamArgentinaAnna Fali NEGOTIATION
Aditya L CaudyItalyElwin Sharvill QUALIFIED
Adams P PerinGermanyStephen Shaw UNQUALIFIED
Ashley O BowleyRussiaBernardo Dominic NEGOTIATION
Sinclair W CampainBrazilStephen Shaw NEW
Faith A AmigonItalyAmy Elsner NEGOTIATION
Smith A RulapaughJapanIvan Magalhaes RENEWAL
Silvio B RoysterArgentinaIoni Bowcher RENEWAL
Jefferson Q StockhamArgentinaOnyama Limba 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>