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
Johnson J ShinkoCanadaIoni Bowcher PROPOSAL
Leon F FigeroaBrazilStephen Shaw RENEWAL
Isabel X AlbaresGermanyAnna Fali RENEWAL
Darci M GlickSpainAnna Fali UNQUALIFIED
Ivar H OldroydSpainIoni Bowcher UNQUALIFIED
Misaki R CampainItalyAsiya Javayant NEGOTIATION
Deepesh O GauchoBrazilAnna Fali PROPOSAL
Ashley F GarufiAustraliaElwin Sharvill NEW
Deepesh Z AmigonArgentinaElwin Sharvill NEW
Arvin M BologniaBrazilBernardo Dominic UNQUALIFIED
Emily X InouyeFranceAnna Fali PROPOSAL
James A ShinkoIndiaIoni Bowcher RENEWAL
Ricardo I RoysterBrazilBernardo Dominic PROPOSAL
Darci O InouyeArgentinaXuxue Feng PROPOSAL
Maisha U AmigonJapanXuxue Feng NEGOTIATION
Faith E KuskoBrazilXuxue Feng NEW
Jennifer N OldroydJapanOnyama Limba NEW
Salvatore E ButtFranceXuxue Feng PROPOSAL
Alejandro Q FlosiBrazilStephen Shaw PROPOSAL
Clifford G PoquetteBrazilOnyama Limba UNQUALIFIED
Jennifer R CaudyJapanAmy Elsner PROPOSAL
Aditya B OldroydAustraliaStephen Shaw RENEWAL
Kadeem Q NickaItalyOnyama Limba PROPOSAL
Mayumi C GauchoGermanyIvan Magalhaes NEW
Johnson C MorascaFranceAsiya Javayant PROPOSAL
Maria L StockhamUnited KingdomOnyama Limba NEW
Mujtaba Z RutaRussiaOnyama Limba RENEWAL
Rodrigues N SaylorsBrazilIvan Magalhaes RENEWAL
Faith Y AlbaresArgentinaAmy Elsner PROPOSAL
Kadeem H DoeRussiaBernardo Dominic PROPOSAL
Nicolas I FlosiBrazilAsiya Javayant QUALIFIED
Kadeem A SergiCanadaIoni Bowcher NEW
Jones I FigeroaIndiaIoni Bowcher PROPOSAL
Costa N KolmetzAustraliaIoni Bowcher NEGOTIATION
Darci R PerinJapanIvan Magalhaes RENEWAL
Aditya Z StensethFranceAmy Elsner NEGOTIATION
Nicolas B RoysterIndiaElwin Sharvill PROPOSAL
Adams M PaprockiAustraliaAmy Elsner NEGOTIATION
Jones M DilliardJapanXuxue Feng PROPOSAL
Johnson U KolmetzIndiaElwin Sharvill PROPOSAL
Sinclair V BologniaSpainXuxue Feng NEW
Silvio I FlosiAustraliaElwin Sharvill NEGOTIATION
Sinclair N GillianCanadaAnna Fali UNQUALIFIED
Arvin X GlickAustraliaAmy Elsner QUALIFIED
Silvio U GarufiFranceAnna Fali NEGOTIATION
Arvin S SlusarskiBrazilIvan Magalhaes QUALIFIED
Julie E FollerArgentinaOnyama Limba RENEWAL
Jeanfrancois S ShinkoGermanyAmy Elsner NEGOTIATION
Greenwood J GillianBrazilOnyama Limba QUALIFIED
Tony Z RoysterBrazilXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Morrow E FerenczGermanyXuxue Feng NEGOTIATION
Mayumi B SchemmerCanadaElwin Sharvill NEW
Salvatore X MacleadCanadaIoni Bowcher PROPOSAL
James J GlickCanadaXuxue Feng NEGOTIATION
Isabel M BowleyJapanIvan Magalhaes NEGOTIATION
Francesco U NickaCanadaXuxue Feng QUALIFIED
Stacey L DoeBrazilOnyama Limba NEW
Mujtaba P RoysterGermanyAsiya Javayant RENEWAL
Munro S AmigonJapanAmy Elsner PROPOSAL
Maria I GarufiBrazilIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin E GauchoCanada2025-09-20Rangoni Of Florence PROPOSAL56Xuxue Feng
1001Greenwood S BologniaUnited Kingdom2025-09-05Truhlar And Truhlar Attys NEGOTIATION82Bernardo Dominic
1002Izzy M StensethAustralia2025-09-14King, Christopher A Esq QUALIFIED85Elwin Sharvill
1003Emily B FollerBrazil2025-08-30Chapman, Ross E Esq NEGOTIATION28Xuxue Feng
1004Mujtaba U BologniaFrance2025-09-17Chapman, Ross E Esq QUALIFIED76Onyama Limba
1005Aruna X SlusarskiArgentina2025-09-24Benton, John B Jr NEGOTIATION78Ioni Bowcher
1006Ashley V SchemmerSpain2025-09-13Printing Dimensions QUALIFIED88Bernardo Dominic
1007Leon T GauchoGermany2025-09-02Feiner Bros QUALIFIED5Xuxue Feng
1008Isabel W AlbaresCanada2025-08-31Commercial Press UNQUALIFIED22Xuxue Feng
1009Jefferson R RoysterSpain2025-09-27Benton, John B Jr UNQUALIFIED28Elwin Sharvill
1010Arvin B RutaIndia2025-09-19Dorl, James J Esq QUALIFIED33Asiya Javayant
1011Ricardo T PaprockiCanada2025-09-08Chemel, James L Cpa NEGOTIATION68Elwin Sharvill
1012Julie C NickaItaly2025-09-13Rousseaux, Michael Esq RENEWAL24Xuxue Feng
1013Isabel Q MacleadAustralia2025-09-11King, Christopher A Esq PROPOSAL55Ioni Bowcher
1014Mujtaba K DoeBrazil2025-09-15King, Christopher A Esq UNQUALIFIED18Asiya Javayant
1015Kadeem D FollerCanada2025-09-16Chemel, James L Cpa QUALIFIED90Onyama Limba
1016Arvin H VenereArgentina2025-09-17Rousseaux, Michael Esq NEGOTIATION40Anna Fali
1017Ricardo U WieserArgentina2025-09-21Feiner Bros NEGOTIATION16Stephen Shaw
1018Leja F PaprockiIndia2025-09-18Truhlar And Truhlar Attys QUALIFIED78Ivan Magalhaes
1019Juan J ButtArgentina2025-09-05Rangoni Of Florence UNQUALIFIED45Ivan Magalhaes
1020Stacey R CampainItaly2025-08-30Truhlar And Truhlar Attys UNQUALIFIED71Onyama Limba
1021Chavez W CaldareraIndia2025-09-10Dorl, James J Esq RENEWAL9Xuxue Feng
1022Costa N StockhamRussia2025-08-31Morlong Associates PROPOSAL35Elwin Sharvill
1023Leon Q KolmetzItaly2025-09-25Rousseaux, Michael Esq UNQUALIFIED47Stephen Shaw
1024Izzy G CampainIndia2025-09-26Feiner Bros NEGOTIATION0Bernardo Dominic
1025Salvatore F PerinIndia2025-09-16King, Christopher A Esq NEW25Ivan Magalhaes
1026Arvin E TollnerUnited Kingdom2025-09-01Dorl, James J Esq PROPOSAL12Xuxue Feng
1027Kaitlin N StockhamGermany2025-09-06Benton, John B Jr QUALIFIED26Bernardo Dominic
1028Jefferson S WieserJapan2025-08-31Commercial Press UNQUALIFIED69Xuxue Feng
1029Alejandro W VenereRussia2025-08-31King, Christopher A Esq RENEWAL6Ioni Bowcher
1030Stacey A BologniaFrance2025-09-24King, Christopher A Esq RENEWAL79Bernardo Dominic
1031Faith Q MarrierGermany2025-09-26Morlong Associates RENEWAL55Stephen Shaw
1032Chavez S NickaUnited Kingdom2025-08-29Buckley Miller Wright NEW4Bernardo Dominic
1033Francesco J IturbideCanada2025-09-07Rousseaux, Michael Esq RENEWAL19Anna Fali
1034Darci U FigeroaBrazil2025-09-06Printing Dimensions NEGOTIATION66Anna Fali
1035Maria X AmigonBrazil2025-09-21Feltz Printing Service QUALIFIED65Anna Fali
1036Ivar D PaprockiItaly2025-09-26Chapman, Ross E Esq NEGOTIATION97Ioni Bowcher
1037Jefferson W PerinGermany2025-09-24Commercial Press QUALIFIED97Anna Fali
1038Kadeem I RimUnited Kingdom2025-09-22Commercial Press PROPOSAL65Ivan Magalhaes
1039Clifford R ButtUnited Kingdom2025-09-17Truhlar And Truhlar Attys QUALIFIED57Ivan Magalhaes
1040Jones B NickaAustralia2025-09-17Rangoni Of Florence NEW56Bernardo Dominic
1041Murillo M ChuiFrance2025-09-03King, Christopher A Esq QUALIFIED85Elwin Sharvill
1042Kaitlin F MorascaArgentina2025-09-16Rangoni Of Florence NEGOTIATION3Amy Elsner
1043Aditya J RutaFrance2025-09-05Feltz Printing Service RENEWAL45Anna Fali
1044Rodrigues Y AlbaresRussia2025-09-07Dorl, James J Esq UNQUALIFIED53Ivan Magalhaes
1045Alejandro M MaletRussia2025-09-11Benton, John B Jr UNQUALIFIED88Onyama Limba
1046Nicolas D WaycottSpain2025-09-06Buckley Miller Wright QUALIFIED65Ioni Bowcher
1047Alejandro O TollnerRussia2025-09-21King, Christopher A Esq RENEWAL57Xuxue Feng
1048Isabel I OldroydAustralia2025-08-29Chemel, James L Cpa PROPOSAL1Onyama Limba
1049Darci P AlbaresUnited Kingdom2025-09-25Buckley Miller Wright PROPOSAL79Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair T SaylorsUnited KingdomAnna Fali RENEWAL
Murillo X GauchoJapanAnna Fali NEW
Cody V ButtUnited KingdomStephen Shaw NEW
Arvin E SlusarskiRussiaIoni Bowcher UNQUALIFIED
Mayumi U RutaSpainOnyama Limba NEGOTIATION
Julie P GarufiIndiaAmy Elsner UNQUALIFIED
Leja P NestleGermanyAmy Elsner UNQUALIFIED
Kaitlin V RimIndiaBernardo Dominic NEGOTIATION
Darci V AmigonJapanXuxue Feng NEGOTIATION
Adams L FigeroaFranceAmy Elsner PROPOSAL
Izzy F IturbideIndiaBernardo Dominic NEW
Salvatore F SergiCanadaElwin Sharvill QUALIFIED
Antonio G SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Ricardo M PoquetteGermanyStephen Shaw RENEWAL
Johnson N MaletSpainOnyama Limba NEGOTIATION
Clifford M ButtUnited KingdomIoni Bowcher NEW
Salvatore I CaudyUnited KingdomXuxue Feng RENEWAL
Cody P PerinIndiaXuxue Feng NEW
Smith L RimArgentinaIvan Magalhaes QUALIFIED
Isabel S StensethItalyAsiya Javayant NEGOTIATION
Ricardo Y SergiArgentinaIvan Magalhaes NEGOTIATION
Jeanfrancois A RutaCanadaOnyama Limba NEGOTIATION
Emily H SaylorsCanadaElwin Sharvill QUALIFIED
Izzy W MarrierFranceIoni Bowcher PROPOSAL
Mayumi E WieserArgentinaXuxue Feng QUALIFIED
Maisha P StensethJapanIoni Bowcher PROPOSAL
Jeanfrancois H CampainBrazilBernardo Dominic RENEWAL
Munro G GarufiJapanIoni Bowcher NEGOTIATION
Tony T FlosiRussiaXuxue Feng RENEWAL
Aditya W GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Smith J RimArgentinaOnyama Limba NEW
Antonio U RimIndiaBernardo Dominic NEW
Deepesh V VenereBrazilAsiya Javayant UNQUALIFIED
Salvatore N WaycottAustraliaAsiya Javayant QUALIFIED
Rodrigues X MaletBrazilBernardo Dominic UNQUALIFIED
Leon H KolmetzArgentinaBernardo Dominic RENEWAL
David S TollnerJapanXuxue Feng UNQUALIFIED
Aika Z TollnerArgentinaAsiya Javayant NEW
Maisha Y VenereAustraliaElwin Sharvill RENEWAL
Ivar D AmigonIndiaAsiya Javayant NEGOTIATION
Francesco A FigeroaItalyBernardo Dominic QUALIFIED
Jeanfrancois B StensethIndiaIoni Bowcher UNQUALIFIED
Emily R GlickRussiaAsiya Javayant NEW
Arvin A WaycottBrazilElwin Sharvill QUALIFIED
Leja M ChuiArgentinaElwin Sharvill NEGOTIATION
Misaki C MarrierArgentinaOnyama Limba UNQUALIFIED
Alejandro A GarufiSpainAnna Fali QUALIFIED
Kadeem P MorascaRussiaAnna Fali RENEWAL
Juan N GauchoAustraliaStephen Shaw RENEWAL
Clifford V ChuiAustraliaOnyama Limba NEGOTIATION
Frozen Columns
Name
Aruna N Schemmer
Aika N Kolmetz
Alejandro J Flosi
Cody X Gillian
Claire J Stockham
Emily V Rim
Mayumi Z Marrier
Francesco L Caudy
Isabel W Albares
Kaitlin E Garufi
Sinclair G Malet
Antonio Q Ostrosky
Maisha C Malet
Claire R Bowley
James H Slusarski
Morrow A Slusarski
Mujtaba D Rim
David Y Whobrey
Claire W Rulapaugh
Ivar F Albares
Juan E Doe
Misaki G Iturbide
David T Caldarera
Costa S Rulapaugh
Wickens L Paprocki
Kadeem X Whobrey
Misaki V Glick
Ricardo L Bowley
Ivar R Venere
Francesco W Nicka
Murillo P Figeroa
Izzy X Gaucho
Alejandro J Vocelka
Smith H Campain
Claire L Amigon
Leja V Gaucho
Maisha C Garufi
Murillo I Shinko
Faith L Albares
Julie M Kolmetz
Leon J Campain
Stacey N Butt
Aditya C Dilliard
Darci L Vocelka
Aditya K Perin
Mayumi T Garufi
Cody Q Gaucho
Johnson H Ferencz
Misaki O Ruta
Cody X Paprocki
IdCountryDate
1000Spain2025-09-20
1001Italy2025-09-22
1002India2025-09-22
1003Germany2025-09-15
1004Brazil2025-09-03
1005Australia2025-08-31
1006France2025-09-08
1007France2025-09-04
1008Canada2025-09-17
1009Russia2025-09-01
1010Argentina2025-08-29
1011Italy2025-09-26
1012United Kingdom2025-09-14
1013India2025-08-31
1014Italy2025-09-05
1015India2025-09-17
1016Brazil2025-09-22
1017Germany2025-09-06
1018Argentina2025-09-21
1019Spain2025-09-26
1020Australia2025-08-31
1021Australia2025-09-21
1022Japan2025-09-16
1023Japan2025-09-16
1024France2025-09-03
1025Canada2025-09-19
1026Russia2025-09-06
1027Canada2025-09-06
1028Australia2025-09-14
1029Argentina2025-09-27
1030Argentina2025-09-27
1031India2025-09-24
1032Italy2025-09-01
1033Japan2025-09-27
1034Italy2025-09-06
1035France2025-09-22
1036Russia2025-09-12
1037Argentina2025-09-01
1038Japan2025-09-03
1039Australia2025-09-25
1040United Kingdom2025-09-23
1041Russia2025-09-19
1042Germany2025-09-24
1043Italy2025-09-07
1044Australia2025-09-14
1045Spain2025-09-10
1046Australia2025-09-04
1047United Kingdom2025-09-23
1048India2025-09-04
1049Russia2025-08-30

On-Demand Data

NameIdCountryDate
Kaitlin N Bowley1000India2025-09-26
Leja S Garufi1001Brazil2025-09-13
Isabel J Chui1002Spain2025-09-24
Aditya P Garufi1003Russia2025-09-13
Isabel C Albares1004France2025-09-16
Kaitlin T Kusko1005India2025-09-13
Octavia X Glick1006Australia2025-09-22
Tony U Royster1007Japan2025-09-19
Aditya H Poquette1008Brazil2025-09-25
Deepesh P Royster1009France2025-08-29
Morrow B Gaucho1010France2025-09-12
Jones F Kusko1011Spain2025-09-04
Maisha V Figeroa1012Spain2025-09-01
James D Bolognia1013United Kingdom2025-09-11
Isabel I Ferencz1014Japan2025-09-18
Mujtaba N Butt1015Italy2025-09-14
Juan Y Nestle1016India2025-09-14
Costa K Venere1017Canada2025-09-25
Ivar E Stenseth1018United Kingdom2025-09-11
Deepesh I Rulapaugh1019India2025-08-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo F InouyeCanadaBernardo Dominic NEW
Sinclair G RimSpainOnyama Limba UNQUALIFIED
Chavez J SergiArgentinaElwin Sharvill NEW
Murillo L ShinkoJapanXuxue Feng QUALIFIED
Tony P ChuiSpainIoni Bowcher QUALIFIED
Smith C WhobreyJapanXuxue Feng QUALIFIED
Cody M ButtCanadaElwin Sharvill NEW
Kaitlin A RulapaughArgentinaIvan Magalhaes NEGOTIATION
Jefferson D GlickBrazilIvan Magalhaes RENEWAL
James D IturbideSpainElwin Sharvill RENEWAL
Darci S TollnerBrazilBernardo Dominic NEW
Octavia K BriddickIndiaElwin Sharvill UNQUALIFIED
Deepesh P MorascaFranceAsiya Javayant QUALIFIED
Antonio G RulapaughSpainAnna Fali PROPOSAL
Silvio A OstroskyFranceIoni Bowcher QUALIFIED
Kaitlin V StensethFranceIvan Magalhaes RENEWAL
Octavia K ButtAustraliaXuxue Feng RENEWAL
Darci K BowleyGermanyAsiya Javayant RENEWAL
Jennifer K WaycottGermanyIvan Magalhaes QUALIFIED
Faith I DoeSpainIoni Bowcher PROPOSAL
Kadeem J WaycottUnited KingdomXuxue Feng UNQUALIFIED
Emily K PerinSpainAsiya Javayant NEGOTIATION
Clifford V PoquetteGermanyStephen Shaw NEGOTIATION
Darci B MorascaUnited KingdomBernardo Dominic NEGOTIATION
Darci A FlosiArgentinaIvan Magalhaes UNQUALIFIED
Faith K MacleadRussiaIvan Magalhaes PROPOSAL
Maria Q KolmetzAustraliaIoni Bowcher UNQUALIFIED
Rodrigues G MacleadFranceAnna Fali QUALIFIED
Ivar E MaletCanadaAmy Elsner PROPOSAL
Nicolas X BologniaFranceIoni Bowcher QUALIFIED
Jefferson V NickaSpainAnna Fali NEW
Aditya V PaprockiRussiaOnyama Limba UNQUALIFIED
Claire N RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Ivar V SchemmerIndiaElwin Sharvill QUALIFIED
James G NickaRussiaAmy Elsner RENEWAL
Smith P RimCanadaElwin Sharvill QUALIFIED
Aditya Q PaprockiSpainAnna Fali RENEWAL
Aditya D RulapaughItalyIvan Magalhaes PROPOSAL
Maria I GlickAustraliaIoni Bowcher PROPOSAL
Aditya U WaycottGermanyElwin Sharvill 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>