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
Jefferson V SlusarskiSpainXuxue Feng PROPOSAL
Maisha K TollnerGermanyStephen Shaw RENEWAL
Maisha F ButtBrazilIvan Magalhaes PROPOSAL
Francesco L StensethSpainIvan Magalhaes QUALIFIED
Izzy G CampainGermanyXuxue Feng NEGOTIATION
Ricardo Y FollerUnited KingdomAmy Elsner PROPOSAL
Kaitlin J StockhamRussiaElwin Sharvill NEW
Stacey C FigeroaSpainAnna Fali RENEWAL
Jones I GillianUnited KingdomStephen Shaw UNQUALIFIED
Sinclair P GarufiArgentinaBernardo Dominic RENEWAL
Smith B BriddickFranceIoni Bowcher NEW
Johnson J RoysterUnited KingdomBernardo Dominic PROPOSAL
Greenwood V AlbaresAustraliaElwin Sharvill NEGOTIATION
James X MaletSpainBernardo Dominic QUALIFIED
Aika Q WieserFranceElwin Sharvill UNQUALIFIED
Mujtaba A FerenczGermanyBernardo Dominic PROPOSAL
Rodrigues W MaletSpainStephen Shaw UNQUALIFIED
Antonio P MarrierItalyElwin Sharvill QUALIFIED
Claire J GlickItalyIoni Bowcher UNQUALIFIED
Stacey G PoquetteItalyBernardo Dominic PROPOSAL
Leja M DarakjyUnited KingdomAmy Elsner PROPOSAL
Aruna Q WieserArgentinaXuxue Feng NEW
Leon I AlbaresFranceIoni Bowcher UNQUALIFIED
Mujtaba T RimBrazilIvan Magalhaes QUALIFIED
Costa Y InouyeUnited KingdomXuxue Feng RENEWAL
Adams T CampainGermanyAsiya Javayant NEGOTIATION
Clifford K FlosiFranceElwin Sharvill UNQUALIFIED
Alejandro O DilliardUnited KingdomStephen Shaw NEW
Julie G ShinkoCanadaAnna Fali NEGOTIATION
Aditya F FlosiUnited KingdomXuxue Feng PROPOSAL
Ivar U PoquetteJapanAsiya Javayant PROPOSAL
Emily E MaletAustraliaBernardo Dominic QUALIFIED
Adams O CaudyCanadaBernardo Dominic QUALIFIED
David J PerinRussiaElwin Sharvill RENEWAL
Juan A VenereJapanAsiya Javayant PROPOSAL
Chavez O WaycottArgentinaIvan Magalhaes PROPOSAL
Deepesh P ChuiFranceAnna Fali QUALIFIED
Izzy F TollnerGermanyBernardo Dominic UNQUALIFIED
Faith Z TollnerSpainStephen Shaw UNQUALIFIED
Jefferson J BologniaUnited KingdomXuxue Feng QUALIFIED
Emily N PerinGermanyAmy Elsner NEGOTIATION
Costa X FerenczCanadaBernardo Dominic RENEWAL
Munro N TollnerAustraliaAsiya Javayant UNQUALIFIED
Isabel N FigeroaIndiaAnna Fali UNQUALIFIED
Isabel Z RoysterSpainElwin Sharvill QUALIFIED
Ashley M MorascaSpainBernardo Dominic NEGOTIATION
Munro P KuskoUnited KingdomElwin Sharvill NEW
Jones X FollerCanadaStephen Shaw NEGOTIATION
Sinclair O CampainAustraliaOnyama Limba NEW
Johnson F PerinArgentinaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leon K CampainItalyIoni Bowcher RENEWAL
Aika O IturbideArgentinaAsiya Javayant QUALIFIED
Cody H BologniaArgentinaIvan Magalhaes QUALIFIED
Nicolas I NickaIndiaIoni Bowcher NEGOTIATION
Kadeem F VocelkaArgentinaOnyama Limba NEGOTIATION
Maria S MarrierBrazilIoni Bowcher UNQUALIFIED
Smith G StensethBrazilIoni Bowcher QUALIFIED
Aika J StensethJapanStephen Shaw PROPOSAL
Julie J SergiAustraliaAnna Fali UNQUALIFIED
Leon C ChuiAustraliaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan C SchemmerFrance2025-08-03Rousseaux, Michael Esq NEGOTIATION75Amy Elsner
1001Maisha F NestleItaly2025-08-07Morlong Associates QUALIFIED81Asiya Javayant
1002Arvin L BowleyGermany2025-08-04Chemel, James L Cpa RENEWAL97Bernardo Dominic
1003Costa B FigeroaRussia2025-08-26Dorl, James J Esq NEW35Onyama Limba
1004David E MarrierAustralia2025-08-07Rousseaux, Michael Esq NEW79Stephen Shaw
1005Aruna O WieserGermany2025-08-05Rousseaux, Michael Esq PROPOSAL51Xuxue Feng
1006Cody S ButtBrazil2025-08-27Morlong Associates PROPOSAL32Amy Elsner
1007Deepesh F FlosiItaly2025-08-24Printing Dimensions NEW45Bernardo Dominic
1008Arvin E InouyeRussia2025-08-14Commercial Press UNQUALIFIED54Anna Fali
1009Alejandro S TollnerRussia2025-08-23Chemel, James L Cpa UNQUALIFIED33Onyama Limba
1010Jennifer M IturbideJapan2025-08-03Dorl, James J Esq PROPOSAL90Ivan Magalhaes
1011James F MaletItaly2025-08-15Chanay, Jeffrey A Esq NEW27Ivan Magalhaes
1012Mayumi U FigeroaAustralia2025-08-13Chemel, James L Cpa NEW10Asiya Javayant
1013Maria O PaprockiSpain2025-08-21Rangoni Of Florence QUALIFIED77Amy Elsner
1014Clifford P ShinkoRussia2025-08-28Buckley Miller Wright PROPOSAL39Ivan Magalhaes
1015James L StensethUnited Kingdom2025-08-09Buckley Miller Wright QUALIFIED99Ioni Bowcher
1016Deepesh X AmigonArgentina2025-08-25Commercial Press UNQUALIFIED39Onyama Limba
1017Isabel R ChuiUnited Kingdom2025-08-15Rousseaux, Michael Esq NEGOTIATION2Ioni Bowcher
1018Costa J MacleadIndia2025-08-13Benton, John B Jr NEGOTIATION66Stephen Shaw
1019Leon N KuskoArgentina2025-08-17Morlong Associates QUALIFIED94Asiya Javayant
1020Maisha V ChuiIndia2025-08-24Chemel, James L Cpa QUALIFIED11Onyama Limba
1021Silvio X AmigonItaly2025-08-19Commercial Press QUALIFIED1Xuxue Feng
1022Sinclair E ShinkoIndia2025-08-28Printing Dimensions PROPOSAL47Anna Fali
1023Alejandro O OstroskyAustralia2025-08-17Truhlar And Truhlar Attys PROPOSAL24Ivan Magalhaes
1024Arvin Q VenereBrazil2025-08-16Truhlar And Truhlar Attys NEW82Anna Fali
1025Chavez O NickaRussia2025-08-25Feltz Printing Service NEGOTIATION57Stephen Shaw
1026Leja G FollerArgentina2025-08-22Commercial Press NEGOTIATION85Ioni Bowcher
1027Claire B InouyeFrance2025-08-28Rousseaux, Michael Esq QUALIFIED62Bernardo Dominic
1028Chavez Z InouyeItaly2025-08-25Feiner Bros PROPOSAL73Ioni Bowcher
1029Aditya I SaylorsSpain2025-08-13Chanay, Jeffrey A Esq UNQUALIFIED1Ivan Magalhaes
1030Murillo X CaldareraUnited Kingdom2025-08-08Truhlar And Truhlar Attys RENEWAL10Amy Elsner
1031Izzy T RoysterArgentina2025-08-04Dorl, James J Esq RENEWAL0Elwin Sharvill
1032Claire C TollnerUnited Kingdom2025-08-06Rousseaux, Michael Esq PROPOSAL32Ioni Bowcher
1033Octavia K KuskoJapan2025-08-22Rangoni Of Florence NEGOTIATION51Ivan Magalhaes
1034Mujtaba L CaudyJapan2025-08-06Chanay, Jeffrey A Esq QUALIFIED20Elwin Sharvill
1035Maisha T IturbideIndia2025-08-04Chemel, James L Cpa RENEWAL9Xuxue Feng
1036Octavia R CampainUnited Kingdom2025-07-30Benton, John B Jr NEGOTIATION72Anna Fali
1037David L FigeroaSpain2025-08-25Morlong Associates NEW36Asiya Javayant
1038Maria H MacleadArgentina2025-08-17Chemel, James L Cpa PROPOSAL40Bernardo Dominic
1039Isabel E GauchoGermany2025-07-30Benton, John B Jr UNQUALIFIED32Onyama Limba
1040Johnson Y AlbaresFrance2025-08-05King, Christopher A Esq PROPOSAL0Onyama Limba
1041Johnson E GauchoSpain2025-08-14Printing Dimensions UNQUALIFIED91Ioni Bowcher
1042Adams Y PerinIndia2025-08-26Morlong Associates NEGOTIATION31Bernardo Dominic
1043Leon K OldroydFrance2025-08-20Rousseaux, Michael Esq QUALIFIED7Bernardo Dominic
1044David Z OstroskyIndia2025-08-02Rousseaux, Michael Esq PROPOSAL19Asiya Javayant
1045Francesco S OldroydCanada2025-08-24Rangoni Of Florence RENEWAL74Xuxue Feng
1046Ricardo S SchemmerArgentina2025-08-27Commercial Press NEGOTIATION9Stephen Shaw
1047Kadeem K FollerUnited Kingdom2025-08-24Rangoni Of Florence NEW76Elwin Sharvill
1048Antonio O FigeroaUnited Kingdom2025-08-15Truhlar And Truhlar Attys NEW95Bernardo Dominic
1049Juan Q NickaItaly2025-08-17Chemel, James L Cpa QUALIFIED28Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Emily I WaycottIndiaBernardo Dominic UNQUALIFIED
Mayumi Y FigeroaCanadaStephen Shaw NEW
Deepesh F MorascaRussiaBernardo Dominic NEW
James L StensethGermanyIoni Bowcher QUALIFIED
Adams A OldroydIndiaAsiya Javayant RENEWAL
Murillo K ChuiArgentinaElwin Sharvill UNQUALIFIED
Chavez T FigeroaGermanyAnna Fali PROPOSAL
Maisha O IturbideBrazilBernardo Dominic RENEWAL
Adams R SergiJapanElwin Sharvill PROPOSAL
Jefferson D AmigonItalyElwin Sharvill RENEWAL
Stacey H RoysterSpainStephen Shaw NEGOTIATION
Adams M CaldareraItalyXuxue Feng UNQUALIFIED
Rodrigues R StockhamRussiaOnyama Limba NEW
Wickens D WhobreyBrazilAsiya Javayant PROPOSAL
Wickens Z IturbideFranceIoni Bowcher QUALIFIED
Izzy B FigeroaFranceElwin Sharvill RENEWAL
Adams C NestleFranceAmy Elsner RENEWAL
Wickens Y PaprockiCanadaAnna Fali NEW
Aika Z RimIndiaStephen Shaw QUALIFIED
Chavez C WaycottCanadaAsiya Javayant NEW
Izzy B MacleadItalyAmy Elsner NEW
Leja Y AmigonAustraliaAsiya Javayant NEGOTIATION
Ricardo X GauchoFranceAmy Elsner RENEWAL
Greenwood T RimGermanyXuxue Feng NEGOTIATION
Isabel E SchemmerIndiaAnna Fali NEW
David Z DilliardRussiaAmy Elsner RENEWAL
Leon F RoysterSpainBernardo Dominic PROPOSAL
Isabel F MaletJapanOnyama Limba PROPOSAL
Aika K BriddickAustraliaStephen Shaw NEGOTIATION
Clifford B PaprockiRussiaOnyama Limba NEGOTIATION
Leja B MacleadJapanAsiya Javayant UNQUALIFIED
Izzy I WaycottRussiaElwin Sharvill NEW
Mujtaba L MacleadGermanyIoni Bowcher QUALIFIED
Tony A NestleBrazilXuxue Feng UNQUALIFIED
Leja B InouyeArgentinaStephen Shaw NEW
Aika C TollnerCanadaElwin Sharvill NEGOTIATION
Chavez V SlusarskiCanadaAsiya Javayant UNQUALIFIED
Tony O RulapaughIndiaAmy Elsner NEGOTIATION
Nicolas H InouyeAustraliaIvan Magalhaes NEW
Kadeem X MorascaArgentinaXuxue Feng NEW
Leon B GillianCanadaAmy Elsner UNQUALIFIED
Aika U DilliardRussiaIvan Magalhaes NEGOTIATION
Juan C DarakjyIndiaAsiya Javayant PROPOSAL
Jeanfrancois U ChuiItalyAmy Elsner PROPOSAL
Jones D SaylorsBrazilAmy Elsner RENEWAL
Ashley D ShinkoBrazilStephen Shaw PROPOSAL
Francesco I VenereFranceAmy Elsner QUALIFIED
Mujtaba Z RimBrazilAnna Fali RENEWAL
Claire F InouyeUnited KingdomIoni Bowcher RENEWAL
David I AmigonUnited KingdomElwin Sharvill QUALIFIED
Frozen Columns
Name
Smith Y Ostrosky
Murillo J Wieser
Jeanfrancois T Schemmer
Juan C Malet
Ivar Z Chui
Misaki K Shinko
Deepesh B Nicka
James A Waycott
Francesco N Waycott
Sinclair T Rim
Silvio X Iturbide
Mayumi M Dilliard
Sinclair A Paprocki
Nicolas A Nestle
Maisha R Darakjy
Morrow E Maclead
Clifford X Ostrosky
Mujtaba R Caudy
Faith U Albares
Misaki L Ostrosky
Munro L Rim
Francesco O Kusko
Jefferson E Nicka
Maisha X Doe
Faith F Perin
Sinclair R Bolognia
Kadeem G Royster
Tony N Caudy
Aditya I Garufi
Izzy K Briddick
Antonio X Figeroa
Cody S Bolognia
Morrow P Sergi
Misaki H Garufi
Isabel C Gillian
Jeanfrancois B Ferencz
Morrow L Figeroa
Salvatore N Royster
Leja Z Inouye
Salvatore T Amigon
Maria X Amigon
Costa G Stockham
Morrow M Gaucho
Adams G Ferencz
Kaitlin Z Doe
Julie P Iturbide
Ivar B Dilliard
Munro M Paprocki
Emily Z Foller
Faith T Morasca
IdCountryDate
1000Argentina2025-08-05
1001Russia2025-08-17
1002Spain2025-08-05
1003Italy2025-08-09
1004Argentina2025-08-01
1005Australia2025-08-03
1006Canada2025-08-22
1007Australia2025-08-20
1008Brazil2025-08-25
1009France2025-08-04
1010Argentina2025-08-24
1011Canada2025-08-22
1012India2025-08-23
1013Spain2025-08-07
1014Italy2025-08-09
1015Australia2025-08-04
1016Russia2025-08-08
1017Argentina2025-08-17
1018France2025-08-14
1019Germany2025-07-30
1020Germany2025-07-31
1021India2025-08-13
1022Germany2025-08-06
1023Argentina2025-08-19
1024Canada2025-07-30
1025Brazil2025-08-21
1026Argentina2025-08-09
1027Spain2025-08-26
1028Canada2025-08-25
1029Australia2025-08-21
1030Italy2025-08-05
1031United Kingdom2025-08-22
1032Russia2025-08-13
1033Brazil2025-08-11
1034Brazil2025-08-14
1035India2025-08-19
1036Canada2025-08-27
1037Spain2025-08-02
1038Russia2025-08-18
1039Spain2025-08-22
1040Canada2025-08-27
1041Canada2025-07-30
1042Australia2025-08-21
1043Australia2025-08-03
1044Brazil2025-08-02
1045Spain2025-08-05
1046Spain2025-08-05
1047United Kingdom2025-08-04
1048India2025-08-02
1049Spain2025-08-22

On-Demand Data

NameIdCountryDate
Maisha T Slusarski1000Russia2025-08-23
Juan E Albares1001France2025-08-16
Arvin H Rulapaugh1002Brazil2025-08-18
Octavia Z Rulapaugh1003Germany2025-08-27
Munro T Rulapaugh1004Canada2025-08-16
Deepesh B Dilliard1005India2025-08-24
Alejandro W Maclead1006Spain2025-08-27
Sinclair G Ruta1007Brazil2025-08-02
Aika P Figeroa1008Russia2025-08-05
Salvatore J Malet1009United Kingdom2025-08-07
Octavia V Glick1010Spain2025-08-15
Johnson D Briddick1011Brazil2025-08-24
Rodrigues Z Campain1012India2025-07-30
Morrow C Waycott1013France2025-08-20
Tony E Butt1014United Kingdom2025-08-09
Jeanfrancois B Doe1015Italy2025-08-20
Mujtaba Y Kusko1016India2025-08-07
Francesco I Slusarski1017India2025-08-10
Emily X Marrier1018Germany2025-08-27
Darci C Glick1019Spain2025-08-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily E StockhamAustraliaStephen Shaw QUALIFIED
Octavia J SlusarskiGermanyAnna Fali UNQUALIFIED
Maisha C KuskoAustraliaIvan Magalhaes QUALIFIED
Morrow K MaletJapanIvan Magalhaes PROPOSAL
Cody B VenereFranceAnna Fali QUALIFIED
Aditya H FigeroaItalyIoni Bowcher NEW
Octavia F CaudyBrazilIoni Bowcher NEGOTIATION
Smith K CampainGermanyAmy Elsner NEW
David P BriddickArgentinaElwin Sharvill NEW
Ivar X RulapaughBrazilXuxue Feng QUALIFIED
Stacey R KolmetzUnited KingdomBernardo Dominic PROPOSAL
Sinclair J ShinkoJapanAsiya Javayant PROPOSAL
Jeanfrancois Y BologniaIndiaOnyama Limba NEW
Francesco Z InouyeItalyOnyama Limba RENEWAL
James F IturbideRussiaOnyama Limba NEW
Jennifer C ChuiAustraliaIoni Bowcher NEW
Munro D SaylorsFranceAnna Fali RENEWAL
Aruna V FollerItalyAsiya Javayant UNQUALIFIED
Juan U MarrierCanadaIoni Bowcher UNQUALIFIED
Darci Q MacleadAustraliaAnna Fali RENEWAL
Leja N MaletJapanIvan Magalhaes NEW
Mujtaba X InouyeAustraliaStephen Shaw QUALIFIED
Stacey V MaletCanadaAnna Fali NEW
Misaki R MaletGermanyAmy Elsner QUALIFIED
Maria P SchemmerJapanElwin Sharvill PROPOSAL
Deepesh F NickaRussiaOnyama Limba NEW
Aditya W GillianJapanAnna Fali QUALIFIED
Kadeem K FollerGermanyBernardo Dominic UNQUALIFIED
Ivar O SlusarskiIndiaIvan Magalhaes PROPOSAL
Octavia Z BologniaArgentinaElwin Sharvill NEGOTIATION
Murillo E StockhamAustraliaBernardo Dominic QUALIFIED
Jones F MacleadUnited KingdomAnna Fali QUALIFIED
Ashley Y CaudyAustraliaAnna Fali PROPOSAL
Kaitlin D GlickAustraliaOnyama Limba PROPOSAL
Stacey E DoeIndiaAsiya Javayant QUALIFIED
Deepesh C FollerCanadaAsiya Javayant RENEWAL
Mujtaba C BriddickIndiaElwin Sharvill PROPOSAL
Adams B CaldareraRussiaBernardo Dominic QUALIFIED
Alejandro U AmigonUnited KingdomAsiya Javayant NEGOTIATION
Juan M VocelkaIndiaIoni Bowcher UNQUALIFIED

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