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
Wickens X MarrierCanadaOnyama Limba PROPOSAL
James L WaycottSpainElwin Sharvill NEW
Isabel A MaletAustraliaAsiya Javayant PROPOSAL
Sinclair E PaprockiSpainOnyama Limba PROPOSAL
Murillo A AlbaresRussiaStephen Shaw PROPOSAL
Mujtaba V OstroskyFranceIvan Magalhaes PROPOSAL
Murillo H SchemmerUnited KingdomBernardo Dominic QUALIFIED
Salvatore H OldroydBrazilAsiya Javayant NEGOTIATION
Isabel P TollnerIndiaOnyama Limba UNQUALIFIED
Mujtaba C AmigonRussiaBernardo Dominic NEW
Darci R PoquetteRussiaStephen Shaw UNQUALIFIED
Ricardo K GarufiBrazilAmy Elsner RENEWAL
Deepesh B GlickJapanElwin Sharvill QUALIFIED
Nicolas P PaprockiGermanyOnyama Limba RENEWAL
Ivar N SlusarskiRussiaElwin Sharvill PROPOSAL
Salvatore A ButtCanadaAnna Fali NEW
James A IturbideItalyAmy Elsner PROPOSAL
Faith O TollnerUnited KingdomIoni Bowcher RENEWAL
Misaki H DoeGermanyIvan Magalhaes NEGOTIATION
Adams P WieserSpainXuxue Feng QUALIFIED
Smith R SchemmerJapanAmy Elsner PROPOSAL
Jones C MacleadAustraliaIvan Magalhaes NEGOTIATION
Sinclair W AmigonBrazilOnyama Limba UNQUALIFIED
Julie N FerenczSpainIvan Magalhaes UNQUALIFIED
Aruna W AlbaresIndiaAnna Fali RENEWAL
Izzy M BologniaRussiaBernardo Dominic PROPOSAL
Deepesh S SaylorsFranceAmy Elsner NEW
Arvin S RutaGermanyIoni Bowcher NEGOTIATION
Maria N RoysterFranceStephen Shaw QUALIFIED
James Y WhobreyArgentinaAnna Fali PROPOSAL
Jefferson J ButtGermanyOnyama Limba NEW
Juan T SergiBrazilAmy Elsner RENEWAL
Mujtaba Q GlickIndiaStephen Shaw RENEWAL
Jeanfrancois A PoquetteJapanAnna Fali NEW
Julie P RoysterItalyAsiya Javayant UNQUALIFIED
Jones O SlusarskiGermanyAnna Fali PROPOSAL
Stacey W PaprockiItalyAnna Fali PROPOSAL
Alejandro P OldroydUnited KingdomElwin Sharvill NEW
Emily M FollerAustraliaAnna Fali QUALIFIED
Antonio M FlosiBrazilBernardo Dominic PROPOSAL
Francesco X BowleyAustraliaIoni Bowcher QUALIFIED
Aruna L DilliardItalyIvan Magalhaes UNQUALIFIED
Adams R GauchoCanadaXuxue Feng NEW
James W OstroskyGermanyStephen Shaw NEGOTIATION
Rodrigues B FollerRussiaAnna Fali PROPOSAL
Kaitlin V GarufiIndiaOnyama Limba RENEWAL
David W VocelkaGermanyElwin Sharvill PROPOSAL
David Y BriddickRussiaAmy Elsner QUALIFIED
Silvio S BriddickFranceStephen Shaw UNQUALIFIED
Silvio L BologniaAustraliaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ashley N MaletSpainAnna Fali RENEWAL
Nicolas G VocelkaAustraliaXuxue Feng NEW
Morrow Z RimCanadaIvan Magalhaes UNQUALIFIED
Aditya T NestleBrazilAmy Elsner NEGOTIATION
Francesco F DilliardFranceAsiya Javayant NEW
Octavia G InouyeJapanAmy Elsner PROPOSAL
Silvio Y CampainItalyElwin Sharvill PROPOSAL
Wickens E NestleSpainIvan Magalhaes PROPOSAL
Darci K MarrierCanadaElwin Sharvill UNQUALIFIED
Claire I BowleyRussiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson K CaldareraFrance2025-07-15Rousseaux, Michael Esq UNQUALIFIED0Ivan Magalhaes
1001Kadeem U PerinGermany2025-08-03Chanay, Jeffrey A Esq NEW27Ivan Magalhaes
1002Ashley J AlbaresGermany2025-07-24Morlong Associates NEGOTIATION34Stephen Shaw
1003Jennifer F WhobreyJapan2025-07-14Dorl, James J Esq UNQUALIFIED46Anna Fali
1004Claire K IturbideFrance2025-07-31Benton, John B Jr RENEWAL23Onyama Limba
1005Johnson J CaudyUnited Kingdom2025-08-03Rousseaux, Michael Esq QUALIFIED8Bernardo Dominic
1006Mayumi L ChuiCanada2025-07-18Rangoni Of Florence NEW36Amy Elsner
1007Leja U DoeAustralia2025-07-20Feiner Bros RENEWAL33Asiya Javayant
1008Aruna D SlusarskiBrazil2025-07-26Benton, John B Jr NEGOTIATION60Bernardo Dominic
1009Jennifer U GauchoJapan2025-07-24Feltz Printing Service RENEWAL51Elwin Sharvill
1010Wickens Q SchemmerSpain2025-07-18Buckley Miller Wright PROPOSAL86Asiya Javayant
1011Murillo B DilliardCanada2025-07-12Rousseaux, Michael Esq RENEWAL65Amy Elsner
1012Morrow M IturbideJapan2025-07-24Rangoni Of Florence RENEWAL73Ivan Magalhaes
1013Salvatore T StockhamAustralia2025-07-15Rousseaux, Michael Esq UNQUALIFIED8Onyama Limba
1014Aditya T FlosiAustralia2025-07-20Morlong Associates PROPOSAL54Bernardo Dominic
1015Kaitlin Z StockhamUnited Kingdom2025-07-25Dorl, James J Esq NEW71Xuxue Feng
1016Stacey A VenereCanada2025-07-19Dorl, James J Esq RENEWAL58Elwin Sharvill
1017Kaitlin T SergiRussia2025-07-21Dorl, James J Esq NEW9Bernardo Dominic
1018Francesco N MorascaBrazil2025-08-02Chanay, Jeffrey A Esq RENEWAL3Asiya Javayant
1019Jennifer S MarrierGermany2025-07-31Buckley Miller Wright NEW10Bernardo Dominic
1020Kaitlin G GauchoFrance2025-07-29Buckley Miller Wright NEW35Ioni Bowcher
1021Misaki O NickaAustralia2025-07-16Buckley Miller Wright NEW66Asiya Javayant
1022Emily C SchemmerRussia2025-07-23Chanay, Jeffrey A Esq RENEWAL52Anna Fali
1023Chavez T NickaSpain2025-07-24Printing Dimensions PROPOSAL2Anna Fali
1024Ricardo V ChuiCanada2025-07-14Buckley Miller Wright NEGOTIATION74Anna Fali
1025Stacey Z SergiArgentina2025-07-13Chemel, James L Cpa QUALIFIED34Onyama Limba
1026Murillo F WhobreyItaly2025-07-30Chemel, James L Cpa PROPOSAL60Ioni Bowcher
1027Ricardo P MacleadUnited Kingdom2025-07-10King, Christopher A Esq NEW63Amy Elsner
1028Misaki T ButtArgentina2025-07-17Chapman, Ross E Esq QUALIFIED11Stephen Shaw
1029Leon O OstroskyRussia2025-07-28Truhlar And Truhlar Attys NEGOTIATION19Asiya Javayant
1030Cody C WaycottBrazil2025-07-26Printing Dimensions NEGOTIATION12Xuxue Feng
1031Chavez E RoysterCanada2025-07-07Dorl, James J Esq RENEWAL87Xuxue Feng
1032Mujtaba Y DoeIndia2025-07-14Truhlar And Truhlar Attys NEGOTIATION79Ioni Bowcher
1033Sinclair H NestleUnited Kingdom2025-08-02Chemel, James L Cpa NEGOTIATION9Xuxue Feng
1034Rodrigues A FollerAustralia2025-07-18Morlong Associates NEW57Amy Elsner
1035Juan Q RimAustralia2025-07-13Printing Dimensions NEGOTIATION68Onyama Limba
1036Morrow A OstroskyGermany2025-07-24Rangoni Of Florence QUALIFIED42Bernardo Dominic
1037Jeanfrancois K IturbideFrance2025-07-19Printing Dimensions RENEWAL59Elwin Sharvill
1038Mujtaba D CaudyFrance2025-07-08Dorl, James J Esq NEGOTIATION51Amy Elsner
1039Emily A SergiSpain2025-07-15Benton, John B Jr NEW99Asiya Javayant
1040Maria N FlosiGermany2025-07-26Rangoni Of Florence PROPOSAL64Ioni Bowcher
1041David X FollerBrazil2025-07-17Printing Dimensions QUALIFIED49Ivan Magalhaes
1042Darci D PerinBrazil2025-08-01Chapman, Ross E Esq RENEWAL22Elwin Sharvill
1043Ashley M ShinkoJapan2025-07-30Rousseaux, Michael Esq NEGOTIATION12Ioni Bowcher
1044Leon R DoeRussia2025-07-24Rousseaux, Michael Esq NEGOTIATION80Xuxue Feng
1045Ivar H WaycottUnited Kingdom2025-07-16King, Christopher A Esq QUALIFIED23Ioni Bowcher
1046Sinclair T RimUnited Kingdom2025-07-21Commercial Press UNQUALIFIED63Asiya Javayant
1047Silvio O WaycottArgentina2025-07-07Chapman, Ross E Esq RENEWAL98Ioni Bowcher
1048Jefferson J AlbaresArgentina2025-07-26Commercial Press PROPOSAL4Bernardo Dominic
1049Nicolas V OstroskyFrance2025-07-09King, Christopher A Esq RENEWAL22Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Alejandro F SchemmerGermanyIvan Magalhaes UNQUALIFIED
Francesco Q BowleyAustraliaIoni Bowcher QUALIFIED
Jefferson W IturbideRussiaXuxue Feng PROPOSAL
Kaitlin E MaletGermanyXuxue Feng RENEWAL
Sinclair O StockhamIndiaIvan Magalhaes PROPOSAL
Jones W GauchoJapanAsiya Javayant QUALIFIED
Leja X NickaJapanBernardo Dominic RENEWAL
Ricardo Q CaudyFranceXuxue Feng UNQUALIFIED
Sinclair I GlickGermanyStephen Shaw NEW
Leon V FigeroaCanadaBernardo Dominic NEW
Adams C WhobreyRussiaElwin Sharvill QUALIFIED
Deepesh K BowleyAustraliaElwin Sharvill QUALIFIED
Kadeem X MacleadFranceAmy Elsner PROPOSAL
Francesco I DarakjyBrazilIoni Bowcher PROPOSAL
Octavia G CaudyArgentinaOnyama Limba QUALIFIED
Jefferson V WieserGermanyXuxue Feng NEGOTIATION
Aditya I PerinItalyAsiya Javayant UNQUALIFIED
Cody W AmigonRussiaIoni Bowcher QUALIFIED
Faith V NickaFranceAsiya Javayant RENEWAL
Alejandro S GauchoRussiaAnna Fali QUALIFIED
Leja H SlusarskiItalyBernardo Dominic QUALIFIED
Tony C RimIndiaStephen Shaw UNQUALIFIED
Rodrigues O CampainCanadaOnyama Limba NEGOTIATION
Leja U SlusarskiUnited KingdomAnna Fali NEW
David Y MaletArgentinaElwin Sharvill RENEWAL
Sinclair I KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Silvio G OstroskyRussiaElwin Sharvill NEW
Sinclair M IturbideItalyOnyama Limba PROPOSAL
Arvin E NickaRussiaIvan Magalhaes NEGOTIATION
Isabel U FerenczSpainAsiya Javayant PROPOSAL
Jefferson Y GarufiBrazilAmy Elsner UNQUALIFIED
Aruna A PaprockiRussiaAmy Elsner NEW
Antonio L MacleadArgentinaAmy Elsner RENEWAL
Greenwood O PaprockiIndiaAsiya Javayant PROPOSAL
Morrow J ChuiAustraliaElwin Sharvill QUALIFIED
Munro A VenereArgentinaAnna Fali UNQUALIFIED
Chavez J ChuiJapanIvan Magalhaes PROPOSAL
Aika J SergiGermanyStephen Shaw NEGOTIATION
Octavia C BriddickCanadaAmy Elsner NEGOTIATION
Chavez G FerenczJapanXuxue Feng NEW
Silvio S WieserRussiaAsiya Javayant RENEWAL
Mayumi J PoquetteRussiaXuxue Feng UNQUALIFIED
Rodrigues W CaudyArgentinaIoni Bowcher UNQUALIFIED
Smith Q MaletSpainAnna Fali NEGOTIATION
Tony L DoeRussiaAnna Fali NEW
Mayumi G OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Kadeem W GauchoArgentinaIvan Magalhaes UNQUALIFIED
Adams P MarrierIndiaBernardo Dominic RENEWAL
Costa W BriddickRussiaAsiya Javayant NEGOTIATION
Greenwood T GlickRussiaBernardo Dominic PROPOSAL
Frozen Columns
Name
Ivar N Kolmetz
Stacey T Whobrey
Leon N Slusarski
Antonio P Kolmetz
Chavez A Vocelka
Darci G Oldroyd
Munro I Vocelka
Munro X Schemmer
Leon R Rulapaugh
Aruna Q Doe
Aruna M Albares
Chavez E Wieser
Izzy Z Paprocki
Cody J Waycott
Claire V Morasca
Stacey Q Ferencz
Wickens D Malet
Salvatore Q Royster
Faith K Kolmetz
Ashley R Ruta
Aika M Slusarski
Mayumi D Kusko
Ivar A Poquette
Aditya W Caldarera
Adams L Vocelka
James N Kolmetz
Munro R Darakjy
Chavez R Tollner
Alejandro N Sergi
Aruna M Royster
Clifford F Sergi
Morrow F Rim
Costa A Rim
Morrow S Caldarera
Munro H Amigon
Deepesh G Malet
Antonio L Shinko
Costa T Figeroa
Sinclair K Ferencz
Adams E Vocelka
Smith Z Butt
Silvio K Kusko
Arvin Z Albares
Antonio R Garufi
Aditya W Poquette
Ashley U Stockham
Rodrigues K Gaucho
Clifford N Vocelka
Stacey A Bowley
Alejandro A Slusarski
IdCountryDate
1000India2025-08-02
1001Canada2025-07-10
1002France2025-08-03
1003India2025-07-20
1004Spain2025-07-21
1005Germany2025-07-25
1006Italy2025-08-02
1007United Kingdom2025-07-10
1008United Kingdom2025-07-09
1009France2025-08-03
1010Japan2025-07-29
1011Russia2025-07-20
1012Japan2025-07-26
1013Japan2025-07-23
1014Italy2025-07-26
1015Germany2025-07-26
1016Argentina2025-07-14
1017Australia2025-07-07
1018Germany2025-07-16
1019Spain2025-08-02
1020France2025-07-20
1021Japan2025-07-14
1022France2025-08-03
1023India2025-07-17
1024India2025-07-17
1025Spain2025-07-06
1026Italy2025-07-09
1027Australia2025-07-08
1028Canada2025-07-25
1029Japan2025-07-09
1030Germany2025-08-02
1031Japan2025-07-30
1032Australia2025-07-20
1033Argentina2025-07-29
1034Brazil2025-07-22
1035Australia2025-07-15
1036Argentina2025-08-02
1037Brazil2025-07-30
1038Argentina2025-08-01
1039Japan2025-07-08
1040Australia2025-07-26
1041United Kingdom2025-07-24
1042Brazil2025-07-19
1043Australia2025-07-17
1044Spain2025-07-17
1045Brazil2025-07-26
1046Italy2025-07-21
1047Germany2025-08-04
1048Argentina2025-07-26
1049United Kingdom2025-07-13

On-Demand Data

NameIdCountryDate
Johnson B Morasca1000Australia2025-07-17
Kadeem C Tollner1001Italy2025-07-27
Maisha B Bowley1002Italy2025-07-15
Johnson G Inouye1003Italy2025-07-18
Greenwood A Kusko1004United Kingdom2025-07-29
Adams N Malet1005Argentina2025-07-23
Leja N Figeroa1006Australia2025-07-09
Maria N Saylors1007Canada2025-07-24
Aika Q Glick1008Germany2025-07-18
Maisha K Ostrosky1009Japan2025-07-29
Isabel Q Perin1010Russia2025-08-04
Nicolas K Glick1011Germany2025-08-02
Alejandro I Glick1012Japan2025-08-04
Faith M Stockham1013Canada2025-07-10
Kaitlin S Caldarera1014Canada2025-07-06
Greenwood Z Slusarski1015Argentina2025-07-16
Jennifer N Ruta1016France2025-08-01
Kadeem A Ruta1017Canada2025-07-15
Arvin W Vocelka1018Australia2025-07-19
Costa R Butt1019Brazil2025-07-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika W RutaGermanyOnyama Limba RENEWAL
Antonio F AmigonAustraliaAmy Elsner NEGOTIATION
Antonio M RulapaughItalyElwin Sharvill PROPOSAL
Maisha R DarakjyAustraliaBernardo Dominic QUALIFIED
Maisha L ButtIndiaStephen Shaw NEGOTIATION
Morrow V VenereRussiaAnna Fali PROPOSAL
James T SlusarskiGermanyElwin Sharvill UNQUALIFIED
Octavia Z StensethArgentinaAsiya Javayant NEGOTIATION
Aika W KuskoJapanIvan Magalhaes NEGOTIATION
Aditya P OstroskyUnited KingdomIoni Bowcher QUALIFIED
Morrow Y VenereAustraliaBernardo Dominic UNQUALIFIED
Costa P CampainArgentinaStephen Shaw PROPOSAL
Chavez Q VenereItalyXuxue Feng QUALIFIED
Francesco I ChuiIndiaElwin Sharvill NEW
Jones N SlusarskiArgentinaAmy Elsner NEW
Jeanfrancois K GlickRussiaAmy Elsner NEW
Leja G MacleadItalyIvan Magalhaes QUALIFIED
Tony A VenereJapanAsiya Javayant NEGOTIATION
Smith F CaudyGermanyElwin Sharvill NEGOTIATION
Murillo W InouyeFranceAmy Elsner NEGOTIATION
Chavez R SchemmerArgentinaIoni Bowcher PROPOSAL
Jefferson Q RimSpainAsiya Javayant NEW
Cody C ButtBrazilIoni Bowcher RENEWAL
Rodrigues O FerenczIndiaOnyama Limba NEW
Octavia Z ChuiCanadaStephen Shaw RENEWAL
Stacey O SchemmerJapanXuxue Feng PROPOSAL
Greenwood E FollerBrazilStephen Shaw NEGOTIATION
Claire D FigeroaFranceAmy Elsner QUALIFIED
Isabel K SergiIndiaStephen Shaw NEGOTIATION
Stacey K MorascaGermanyIoni Bowcher PROPOSAL
Alejandro U MaletIndiaAmy Elsner PROPOSAL
Leja X FlosiGermanyOnyama Limba NEW
Mayumi R MarrierFranceAsiya Javayant QUALIFIED
Smith L IturbideIndiaStephen Shaw RENEWAL
Antonio R NestleBrazilBernardo Dominic NEGOTIATION
Misaki O VenereCanadaElwin Sharvill NEGOTIATION
Mayumi P MarrierItalyStephen Shaw NEGOTIATION
Arvin N MacleadJapanBernardo Dominic RENEWAL
Maisha P GauchoItalyIvan Magalhaes RENEWAL
Mujtaba G MacleadGermanyElwin Sharvill 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>