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
Aruna M FollerJapanStephen Shaw NEGOTIATION
Alejandro H SchemmerRussiaXuxue Feng QUALIFIED
Isabel S DilliardUnited KingdomXuxue Feng PROPOSAL
Greenwood Z PaprockiSpainAsiya Javayant QUALIFIED
Leon Q DarakjyAustraliaIoni Bowcher NEGOTIATION
Deepesh W InouyeCanadaIvan Magalhaes NEW
Adams G IturbideGermanyStephen Shaw NEW
Wickens H GlickCanadaBernardo Dominic QUALIFIED
Ricardo C RutaItalyAnna Fali NEGOTIATION
Francesco Z StockhamAustraliaXuxue Feng UNQUALIFIED
Rodrigues U WaycottBrazilAmy Elsner PROPOSAL
Claire E CampainAustraliaStephen Shaw UNQUALIFIED
Ricardo Q AmigonRussiaXuxue Feng PROPOSAL
Jeanfrancois U ShinkoUnited KingdomBernardo Dominic PROPOSAL
Octavia H GillianItalyIvan Magalhaes NEW
Sinclair D RoysterBrazilAmy Elsner PROPOSAL
Leon W MarrierAustraliaStephen Shaw PROPOSAL
Leon J PoquetteRussiaAsiya Javayant QUALIFIED
James S WhobreyIndiaOnyama Limba QUALIFIED
Isabel P DilliardUnited KingdomXuxue Feng RENEWAL
Claire O TollnerJapanIoni Bowcher NEGOTIATION
Leja W OstroskyFranceBernardo Dominic NEGOTIATION
Morrow M AmigonGermanyIvan Magalhaes NEGOTIATION
Kaitlin T WieserJapanIvan Magalhaes NEGOTIATION
Greenwood Q CaldareraArgentinaStephen Shaw UNQUALIFIED
Aditya I VenereCanadaOnyama Limba RENEWAL
Tony O FigeroaItalyAsiya Javayant NEGOTIATION
Kaitlin O BowleyArgentinaElwin Sharvill UNQUALIFIED
Aditya L VenereBrazilAmy Elsner NEW
Stacey R CampainJapanAsiya Javayant QUALIFIED
Misaki Q ButtItalyElwin Sharvill QUALIFIED
Ivar Q MacleadFranceElwin Sharvill RENEWAL
Aika I WhobreyAustraliaAnna Fali PROPOSAL
Deepesh M RutaArgentinaBernardo Dominic NEW
Clifford M OstroskySpainXuxue Feng UNQUALIFIED
Aditya Y SaylorsJapanBernardo Dominic PROPOSAL
Julie O DarakjyCanadaBernardo Dominic RENEWAL
Jefferson F BriddickUnited KingdomAnna Fali PROPOSAL
Antonio C GillianCanadaAsiya Javayant NEGOTIATION
Adams U StockhamAustraliaOnyama Limba UNQUALIFIED
Chavez Q DilliardIndiaElwin Sharvill PROPOSAL
Rodrigues H ShinkoCanadaAsiya Javayant UNQUALIFIED
Wickens D BowleyItalyIvan Magalhaes QUALIFIED
Leon G OldroydArgentinaIvan Magalhaes UNQUALIFIED
Jennifer Z TollnerCanadaAsiya Javayant PROPOSAL
Misaki M DarakjyAustraliaAnna Fali QUALIFIED
Jennifer B TollnerIndiaIoni Bowcher RENEWAL
Salvatore M MacleadItalyBernardo Dominic UNQUALIFIED
Leja T IturbideArgentinaBernardo Dominic RENEWAL
Smith Z DoeGermanyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa H GillianArgentinaAnna Fali PROPOSAL
Aruna H GillianJapanBernardo Dominic RENEWAL
Alejandro F PoquetteUnited KingdomAsiya Javayant QUALIFIED
Faith J ShinkoBrazilElwin Sharvill NEGOTIATION
Adams A GarufiItalyIoni Bowcher RENEWAL
Morrow D MacleadItalyElwin Sharvill RENEWAL
Johnson T WaycottIndiaXuxue Feng NEGOTIATION
Izzy N GlickAustraliaAmy Elsner UNQUALIFIED
Costa G MarrierAustraliaBernardo Dominic QUALIFIED
Ivar H GlickArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja N WhobreyItaly2025-08-04Rousseaux, Michael Esq UNQUALIFIED16Amy Elsner
1001Jefferson R GillianJapan2025-07-31Morlong Associates NEGOTIATION51Stephen Shaw
1002Ivar Z CampainCanada2025-07-16Chanay, Jeffrey A Esq PROPOSAL48Amy Elsner
1003Jennifer I GarufiIndia2025-08-10Rangoni Of Florence RENEWAL21Bernardo Dominic
1004Leon H NickaGermany2025-07-18Commercial Press PROPOSAL11Amy Elsner
1005Johnson K StockhamSpain2025-08-12Dorl, James J Esq QUALIFIED34Asiya Javayant
1006Nicolas H GlickGermany2025-07-21Chemel, James L Cpa NEW58Asiya Javayant
1007Aditya G CaldareraUnited Kingdom2025-08-06Rousseaux, Michael Esq NEGOTIATION84Asiya Javayant
1008Johnson J FlosiUnited Kingdom2025-07-31Morlong Associates RENEWAL29Asiya Javayant
1009Maria N RoysterIndia2025-07-18Rousseaux, Michael Esq NEGOTIATION74Ioni Bowcher
1010Jennifer I RutaGermany2025-07-27Chemel, James L Cpa UNQUALIFIED49Onyama Limba
1011Aditya S AmigonUnited Kingdom2025-07-14Benton, John B Jr PROPOSAL11Ivan Magalhaes
1012Chavez U SaylorsIndia2025-08-02Feiner Bros PROPOSAL77Asiya Javayant
1013Mujtaba D GarufiBrazil2025-07-27Dorl, James J Esq NEGOTIATION56Anna Fali
1014Octavia Z SaylorsGermany2025-07-28Printing Dimensions RENEWAL54Amy Elsner
1015Mujtaba S DarakjyIndia2025-08-12Chanay, Jeffrey A Esq PROPOSAL86Asiya Javayant
1016Jennifer B GlickGermany2025-08-04King, Christopher A Esq NEGOTIATION29Elwin Sharvill
1017Adams Q KuskoIndia2025-07-30Feltz Printing Service PROPOSAL25Anna Fali
1018Smith L VenereJapan2025-07-27Rangoni Of Florence RENEWAL48Asiya Javayant
1019Deepesh X CaudyIndia2025-08-02Feiner Bros RENEWAL88Amy Elsner
1020Morrow U FollerItaly2025-07-31Chapman, Ross E Esq NEW98Stephen Shaw
1021Wickens J KuskoRussia2025-08-07Rousseaux, Michael Esq NEW71Amy Elsner
1022Johnson S AlbaresBrazil2025-08-07Morlong Associates NEGOTIATION87Amy Elsner
1023Kaitlin Q DoeArgentina2025-08-07King, Christopher A Esq RENEWAL97Onyama Limba
1024Ricardo Z RulapaughBrazil2025-08-03Buckley Miller Wright UNQUALIFIED0Anna Fali
1025Jeanfrancois G GauchoGermany2025-07-14Benton, John B Jr PROPOSAL76Onyama Limba
1026Aditya X NickaBrazil2025-07-15Truhlar And Truhlar Attys PROPOSAL47Stephen Shaw
1027Maria A FerenczUnited Kingdom2025-07-19Benton, John B Jr RENEWAL86Onyama Limba
1028Rodrigues J GauchoJapan2025-07-14Feltz Printing Service NEW99Asiya Javayant
1029Adams I RulapaughUnited Kingdom2025-08-09Commercial Press UNQUALIFIED14Asiya Javayant
1030Jefferson N RutaRussia2025-08-03Morlong Associates PROPOSAL80Elwin Sharvill
1031Antonio D DilliardGermany2025-07-26Commercial Press QUALIFIED20Onyama Limba
1032Sinclair V OstroskyArgentina2025-08-12Chemel, James L Cpa PROPOSAL91Amy Elsner
1033Mujtaba P KuskoCanada2025-08-02Truhlar And Truhlar Attys QUALIFIED90Onyama Limba
1034Morrow D CampainUnited Kingdom2025-07-16Feltz Printing Service NEGOTIATION8Anna Fali
1035Cody B IturbideIndia2025-07-26Feltz Printing Service UNQUALIFIED80Stephen Shaw
1036Kadeem D TollnerRussia2025-07-30Feltz Printing Service QUALIFIED43Amy Elsner
1037Jefferson P CaldareraAustralia2025-08-02Feltz Printing Service PROPOSAL76Ioni Bowcher
1038Faith T BologniaIndia2025-08-11Buckley Miller Wright QUALIFIED23Stephen Shaw
1039Mujtaba Z DarakjyRussia2025-07-23Dorl, James J Esq QUALIFIED86Elwin Sharvill
1040Stacey O SergiAustralia2025-07-28Feiner Bros PROPOSAL95Onyama Limba
1041Emily G CaudyFrance2025-07-24Buckley Miller Wright PROPOSAL59Amy Elsner
1042Jones S PaprockiIndia2025-08-08Chemel, James L Cpa NEW55Elwin Sharvill
1043Leja G ButtAustralia2025-08-09Chanay, Jeffrey A Esq NEGOTIATION23Ioni Bowcher
1044Cody N NickaFrance2025-07-16Morlong Associates QUALIFIED85Ioni Bowcher
1045Tony O GauchoBrazil2025-07-23Truhlar And Truhlar Attys QUALIFIED33Amy Elsner
1046David P OldroydRussia2025-07-20Truhlar And Truhlar Attys NEW24Bernardo Dominic
1047Jefferson K GlickCanada2025-08-03Feiner Bros UNQUALIFIED38Stephen Shaw
1048Aika B VocelkaAustralia2025-08-04Rangoni Of Florence QUALIFIED85Xuxue Feng
1049Wickens J VocelkaCanada2025-08-02Truhlar And Truhlar Attys NEGOTIATION34Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aruna V MaletUnited KingdomBernardo Dominic NEGOTIATION
Cody A OstroskyIndiaIvan Magalhaes QUALIFIED
Aruna I WieserGermanyXuxue Feng PROPOSAL
Isabel E GauchoJapanOnyama Limba QUALIFIED
Jennifer W StensethArgentinaOnyama Limba NEW
Julie A OstroskyRussiaAmy Elsner NEGOTIATION
Cody G RutaBrazilAnna Fali RENEWAL
Emily O RimAustraliaStephen Shaw NEW
Greenwood Y ShinkoCanadaIoni Bowcher RENEWAL
Rodrigues F BologniaArgentinaBernardo Dominic NEGOTIATION
Leon V DarakjyJapanIvan Magalhaes RENEWAL
Francesco J NickaRussiaOnyama Limba NEW
Deepesh J SlusarskiUnited KingdomAsiya Javayant QUALIFIED
Ivar K TollnerIndiaIvan Magalhaes NEGOTIATION
Misaki A OstroskyItalyAmy Elsner PROPOSAL
Ivar F InouyeArgentinaIoni Bowcher RENEWAL
James E GillianCanadaOnyama Limba QUALIFIED
Ricardo A ButtSpainAmy Elsner NEW
James Q RulapaughCanadaOnyama Limba RENEWAL
Izzy U FlosiAustraliaAsiya Javayant RENEWAL
Antonio V MarrierArgentinaElwin Sharvill NEW
Octavia J WhobreyRussiaElwin Sharvill NEGOTIATION
Jennifer W PoquetteCanadaAnna Fali RENEWAL
Munro T RimCanadaElwin Sharvill NEW
Cody F SlusarskiBrazilStephen Shaw QUALIFIED
Deepesh N VenereFranceStephen Shaw NEW
Costa L KuskoGermanyOnyama Limba UNQUALIFIED
Mujtaba Z MorascaItalyAmy Elsner RENEWAL
Chavez K OldroydArgentinaOnyama Limba QUALIFIED
Ashley D GlickSpainStephen Shaw RENEWAL
Jones L MorascaBrazilXuxue Feng QUALIFIED
Costa N ShinkoFranceIvan Magalhaes NEW
Nicolas Y ChuiBrazilIvan Magalhaes PROPOSAL
Salvatore D FerenczFranceXuxue Feng NEW
Isabel V FollerUnited KingdomIoni Bowcher NEW
Silvio M MaletGermanyXuxue Feng RENEWAL
Jeanfrancois J NestleItalyAnna Fali UNQUALIFIED
Kaitlin E WieserArgentinaAnna Fali QUALIFIED
Cody H IturbideItalyIvan Magalhaes PROPOSAL
Claire Q CampainBrazilBernardo Dominic NEGOTIATION
Antonio Y CampainCanadaAnna Fali NEW
Ricardo D BowleyGermanyStephen Shaw UNQUALIFIED
Darci Z MaletItalyAsiya Javayant UNQUALIFIED
Leja X AmigonIndiaOnyama Limba RENEWAL
Salvatore Q FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Claire H CaudyRussiaAsiya Javayant NEW
Murillo L KolmetzItalyXuxue Feng RENEWAL
Kaitlin V SergiFranceIoni Bowcher PROPOSAL
Misaki P FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Aditya L VenereRussiaIvan Magalhaes NEW
Frozen Columns
Name
Mayumi S Dilliard
Murillo X Slusarski
Munro X Sergi
James P Ruta
Aditya O Rim
Morrow A Nicka
Juan Z Ruta
Mujtaba M Doe
Jones U Shinko
Antonio M Briddick
Salvatore Y Bolognia
Clifford M Gaucho
Alejandro T Rim
Arvin G Poquette
Jeanfrancois M Rulapaugh
Wickens U Ruta
Smith Q Royster
Stacey V Wieser
Jefferson I Malet
Leon F Sergi
Isabel D Foller
Isabel E Vocelka
Kaitlin Y Vocelka
Ivar G Iturbide
Smith H Glick
Jefferson A Iturbide
Ivar I Campain
Leja S Oldroyd
Deepesh U Foller
Greenwood U Glick
Mujtaba X Gaucho
Antonio H Garufi
Alejandro Y Glick
Leon R Campain
Mayumi C Schemmer
Clifford B Glick
Jefferson M Bowley
Maria N Nestle
Stacey I Malet
Jennifer U Waycott
Jeanfrancois Q Campain
Maria S Briddick
Costa X Chui
Emily X Caudy
Morrow U Ruta
Mujtaba X Malet
Maisha I Briddick
Morrow B Amigon
Aruna M Malet
Johnson B Wieser
IdCountryDate
1000Brazil2025-08-08
1001Japan2025-08-08
1002Russia2025-07-29
1003Canada2025-07-24
1004Russia2025-07-14
1005Germany2025-08-05
1006Brazil2025-07-29
1007France2025-07-16
1008Russia2025-08-09
1009Japan2025-07-20
1010Brazil2025-08-06
1011France2025-07-20
1012India2025-08-12
1013France2025-07-16
1014France2025-07-27
1015Argentina2025-08-04
1016United Kingdom2025-07-21
1017Brazil2025-07-17
1018Brazil2025-07-14
1019Russia2025-07-15
1020Germany2025-07-17
1021Russia2025-07-18
1022Argentina2025-07-22
1023Japan2025-07-31
1024France2025-07-23
1025France2025-07-25
1026Brazil2025-08-03
1027France2025-07-23
1028Germany2025-07-18
1029Russia2025-08-03
1030Canada2025-07-27
1031Japan2025-07-20
1032Italy2025-08-06
1033Brazil2025-08-10
1034Germany2025-08-12
1035Canada2025-07-31
1036Spain2025-07-25
1037Germany2025-08-10
1038Japan2025-07-30
1039Brazil2025-07-21
1040Argentina2025-07-22
1041Russia2025-08-03
1042Germany2025-07-31
1043France2025-08-08
1044Brazil2025-07-15
1045United Kingdom2025-08-02
1046Germany2025-08-02
1047Argentina2025-07-16
1048Canada2025-07-14
1049France2025-08-01

On-Demand Data

NameIdCountryDate
Claire Y Rulapaugh1000Australia2025-07-17
Maisha S Nicka1001Canada2025-07-17
Claire K Bolognia1002United Kingdom2025-07-22
Morrow T Malet1003Canada2025-08-01
Jeanfrancois Q Bolognia1004Italy2025-08-05
Claire J Malet1005France2025-08-10
Leon I Vocelka1006Japan2025-08-07
David N Shinko1007Japan2025-07-24
Ricardo H Garufi1008Italy2025-07-18
Arvin E Rulapaugh1009Russia2025-08-09
Murillo A Figeroa1010Australia2025-07-24
Kadeem I Slusarski1011India2025-08-11
Alejandro X Bolognia1012Germany2025-08-04
Silvio B Royster1013Italy2025-08-06
Leon E Figeroa1014Argentina2025-07-21
Chavez G Royster1015Spain2025-07-17
Leon W Gillian1016Canada2025-07-22
Silvio L Venere1017India2025-08-03
Tony N Doe1018Argentina2025-07-20
Darci E Wieser1019Japan2025-07-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Q SergiAustraliaAmy Elsner PROPOSAL
Francesco I RoysterIndiaOnyama Limba NEGOTIATION
Jones A FollerRussiaAsiya Javayant NEW
Antonio A WaycottSpainStephen Shaw QUALIFIED
Clifford V BowleyIndiaAnna Fali PROPOSAL
Stacey L DoeAustraliaBernardo Dominic UNQUALIFIED
Munro U ChuiArgentinaBernardo Dominic NEGOTIATION
Maisha R SergiRussiaOnyama Limba NEGOTIATION
Ivar L WhobreyFranceElwin Sharvill QUALIFIED
Mayumi G StensethJapanAsiya Javayant NEW
Antonio V OldroydArgentinaAmy Elsner NEW
Munro B KuskoBrazilAsiya Javayant UNQUALIFIED
Morrow D SchemmerGermanyAsiya Javayant PROPOSAL
Mayumi U MorascaSpainXuxue Feng UNQUALIFIED
Tony Q PaprockiIndiaXuxue Feng RENEWAL
Salvatore Y FollerSpainStephen Shaw QUALIFIED
Jones U WhobreyIndiaXuxue Feng UNQUALIFIED
Costa Y NickaSpainIoni Bowcher PROPOSAL
Jeanfrancois Q GillianItalyIvan Magalhaes RENEWAL
Wickens V CampainJapanIvan Magalhaes RENEWAL
Isabel L WhobreyRussiaIoni Bowcher NEGOTIATION
Wickens N WieserSpainAsiya Javayant NEW
Nicolas U MaletAustraliaAmy Elsner NEW
Murillo Q VenereIndiaAsiya Javayant RENEWAL
Mujtaba X SlusarskiCanadaOnyama Limba NEW
Adams J GlickGermanyStephen Shaw NEGOTIATION
Munro R BriddickSpainBernardo Dominic NEGOTIATION
Darci M FollerFranceElwin Sharvill RENEWAL
Francesco C NestleRussiaAsiya Javayant NEW
Silvio T StensethGermanyAsiya Javayant PROPOSAL
Ashley O StockhamRussiaStephen Shaw NEW
Sinclair H InouyeIndiaAsiya Javayant NEW
Aruna U FlosiItalyOnyama Limba NEGOTIATION
Kadeem R WieserGermanyAsiya Javayant QUALIFIED
Rodrigues T IturbideSpainOnyama Limba PROPOSAL
Ivar X GauchoGermanyIoni Bowcher NEW
Deepesh K OstroskyJapanIoni Bowcher NEW
Jennifer I SergiCanadaIvan Magalhaes UNQUALIFIED
Octavia U MaletSpainBernardo Dominic QUALIFIED
Johnson L NickaRussiaAsiya Javayant RENEWAL

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