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
Alejandro N RulapaughItalyElwin Sharvill UNQUALIFIED
Jennifer Q StockhamFranceStephen Shaw RENEWAL
Greenwood V KolmetzCanadaBernardo Dominic PROPOSAL
Claire I IturbideRussiaElwin Sharvill PROPOSAL
Greenwood M CampainItalyAnna Fali NEW
Munro I StockhamBrazilAmy Elsner PROPOSAL
Jennifer T ButtIndiaStephen Shaw RENEWAL
Mayumi D BowleyItalyIoni Bowcher UNQUALIFIED
Murillo I GlickFranceElwin Sharvill RENEWAL
Murillo N RoysterAustraliaIoni Bowcher UNQUALIFIED
Jones R NickaGermanyAsiya Javayant RENEWAL
Misaki F DoeBrazilBernardo Dominic QUALIFIED
Greenwood Q PoquetteSpainAsiya Javayant RENEWAL
Leon B InouyeCanadaBernardo Dominic NEGOTIATION
Maria E KuskoAustraliaBernardo Dominic NEW
Francesco T NestleUnited KingdomElwin Sharvill RENEWAL
Emily D ChuiFranceIvan Magalhaes NEW
Costa P IturbideRussiaStephen Shaw UNQUALIFIED
Misaki L BriddickBrazilAmy Elsner QUALIFIED
Smith K RutaSpainXuxue Feng NEGOTIATION
David U RulapaughAustraliaAnna Fali NEGOTIATION
Wickens P CaldareraSpainAsiya Javayant UNQUALIFIED
Izzy I FollerFranceOnyama Limba RENEWAL
Clifford C DarakjyCanadaAsiya Javayant NEGOTIATION
Juan V WhobreyAustraliaBernardo Dominic NEW
Francesco A CaldareraBrazilIvan Magalhaes PROPOSAL
Mujtaba O GlickSpainAnna Fali NEGOTIATION
Ivar X DilliardBrazilBernardo Dominic PROPOSAL
Darci V ChuiRussiaOnyama Limba RENEWAL
Aditya N KolmetzJapanElwin Sharvill PROPOSAL
Tony X TollnerAustraliaElwin Sharvill UNQUALIFIED
Maisha G RutaAustraliaBernardo Dominic RENEWAL
Johnson C RulapaughAustraliaIoni Bowcher RENEWAL
Leja K BologniaSpainXuxue Feng RENEWAL
Adams D DarakjyBrazilOnyama Limba PROPOSAL
Octavia Z InouyeCanadaIoni Bowcher PROPOSAL
Greenwood H RimCanadaIoni Bowcher NEW
Darci R MaletAustraliaAmy Elsner UNQUALIFIED
Maria G StockhamIndiaAnna Fali NEW
David A RimRussiaIoni Bowcher QUALIFIED
Adams O MorascaJapanBernardo Dominic QUALIFIED
Izzy X MorascaFranceStephen Shaw RENEWAL
Chavez L WieserAustraliaXuxue Feng NEW
Salvatore V PaprockiBrazilOnyama Limba UNQUALIFIED
Clifford H SaylorsGermanyStephen Shaw NEGOTIATION
Claire B NestleSpainStephen Shaw NEW
Juan D AlbaresJapanAmy Elsner RENEWAL
Mayumi W BriddickAustraliaAsiya Javayant NEGOTIATION
Tony W WhobreyGermanyElwin Sharvill RENEWAL
Aika H KolmetzUnited KingdomIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Chavez X MorascaArgentinaStephen Shaw UNQUALIFIED
Rodrigues G ShinkoBrazilAnna Fali NEW
Leon G RulapaughUnited KingdomBernardo Dominic RENEWAL
Munro W SergiAustraliaIoni Bowcher PROPOSAL
Octavia I ChuiGermanyIoni Bowcher NEGOTIATION
Rodrigues F NickaGermanyXuxue Feng NEGOTIATION
Octavia C WieserCanadaAmy Elsner RENEWAL
Maria X FerenczItalyIvan Magalhaes QUALIFIED
Morrow A ButtUnited KingdomIoni Bowcher NEW
Arvin K BowleyAustraliaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio A FollerBrazil2025-08-30Rousseaux, Michael Esq QUALIFIED1Elwin Sharvill
1001Aruna H RutaBrazil2025-09-05Chemel, James L Cpa NEW31Stephen Shaw
1002Murillo V DarakjyGermany2025-09-18Morlong Associates RENEWAL99Anna Fali
1003Kadeem G ChuiAustralia2025-08-28Truhlar And Truhlar Attys NEW91Ioni Bowcher
1004Aika H SergiItaly2025-08-27Feltz Printing Service NEGOTIATION20Xuxue Feng
1005Ashley N MaletFrance2025-08-26Rousseaux, Michael Esq QUALIFIED97Anna Fali
1006Ricardo W FlosiJapan2025-08-22Rousseaux, Michael Esq PROPOSAL83Ioni Bowcher
1007Claire S OldroydFrance2025-09-07Feiner Bros PROPOSAL48Stephen Shaw
1008Claire K InouyeFrance2025-09-09Chanay, Jeffrey A Esq PROPOSAL20Amy Elsner
1009Salvatore E ButtGermany2025-09-11Feltz Printing Service UNQUALIFIED77Ioni Bowcher
1010Aruna I KolmetzGermany2025-08-30Printing Dimensions UNQUALIFIED49Ioni Bowcher
1011Johnson E RutaFrance2025-09-18Feiner Bros PROPOSAL55Ivan Magalhaes
1012Adams Y FlosiRussia2025-09-04Dorl, James J Esq NEGOTIATION81Elwin Sharvill
1013Greenwood C RutaArgentina2025-09-04Truhlar And Truhlar Attys NEW50Anna Fali
1014Francesco F DoeCanada2025-09-01Rangoni Of Florence UNQUALIFIED9Xuxue Feng
1015Darci A StensethBrazil2025-09-17Morlong Associates PROPOSAL82Bernardo Dominic
1016Rodrigues W AmigonAustralia2025-08-24Chapman, Ross E Esq UNQUALIFIED62Bernardo Dominic
1017Aika N AlbaresIndia2025-09-08Printing Dimensions RENEWAL69Ivan Magalhaes
1018Chavez Z MacleadIndia2025-09-10Buckley Miller Wright RENEWAL60Ioni Bowcher
1019Aruna P BologniaBrazil2025-08-24Feiner Bros PROPOSAL4Ivan Magalhaes
1020Jefferson N SchemmerSpain2025-09-20Chanay, Jeffrey A Esq UNQUALIFIED57Stephen Shaw
1021Julie O FlosiFrance2025-09-15Dorl, James J Esq UNQUALIFIED60Bernardo Dominic
1022Mayumi O WieserSpain2025-09-16Chanay, Jeffrey A Esq NEW15Anna Fali
1023Isabel H KolmetzUnited Kingdom2025-09-08Feiner Bros NEGOTIATION35Xuxue Feng
1024Maisha H FollerSpain2025-09-19Commercial Press NEW22Ioni Bowcher
1025Claire T WhobreyJapan2025-08-29Rousseaux, Michael Esq QUALIFIED47Onyama Limba
1026Jones M GillianUnited Kingdom2025-08-31Benton, John B Jr PROPOSAL12Stephen Shaw
1027Jefferson H MorascaArgentina2025-09-18Chapman, Ross E Esq UNQUALIFIED6Elwin Sharvill
1028Antonio X BriddickJapan2025-09-10Truhlar And Truhlar Attys RENEWAL9Xuxue Feng
1029Jennifer W GillianRussia2025-08-22Rousseaux, Michael Esq UNQUALIFIED63Ivan Magalhaes
1030Murillo D WhobreyFrance2025-09-02Rangoni Of Florence RENEWAL83Asiya Javayant
1031Maria Y AmigonItaly2025-09-03Chemel, James L Cpa RENEWAL5Elwin Sharvill
1032Smith Z MarrierItaly2025-09-17Buckley Miller Wright RENEWAL16Ivan Magalhaes
1033Octavia Q RoysterJapan2025-08-24Dorl, James J Esq PROPOSAL22Bernardo Dominic
1034Isabel P SlusarskiGermany2025-08-28Commercial Press NEGOTIATION86Anna Fali
1035Jennifer A DoeCanada2025-09-01Chemel, James L Cpa QUALIFIED0Onyama Limba
1036David W RutaIndia2025-09-12Morlong Associates UNQUALIFIED66Onyama Limba
1037Maria B SaylorsFrance2025-08-31Printing Dimensions UNQUALIFIED54Ioni Bowcher
1038Costa O NestleIndia2025-08-23Chapman, Ross E Esq PROPOSAL83Asiya Javayant
1039Isabel U SchemmerUnited Kingdom2025-09-17Feiner Bros RENEWAL3Amy Elsner
1040Jones H KuskoArgentina2025-09-09Truhlar And Truhlar Attys UNQUALIFIED55Elwin Sharvill
1041Wickens J KuskoArgentina2025-09-02Truhlar And Truhlar Attys RENEWAL40Stephen Shaw
1042Jeanfrancois B WhobreyItaly2025-08-25Benton, John B Jr PROPOSAL21Xuxue Feng
1043Leja O TollnerSpain2025-09-10Benton, John B Jr NEW78Ivan Magalhaes
1044Jeanfrancois K GarufiFrance2025-09-19Rousseaux, Michael Esq QUALIFIED44Stephen Shaw
1045Mujtaba B OstroskyBrazil2025-09-20Printing Dimensions RENEWAL6Bernardo Dominic
1046Aditya L FollerFrance2025-08-22Benton, John B Jr UNQUALIFIED32Xuxue Feng
1047Misaki H BriddickIndia2025-09-06Morlong Associates PROPOSAL71Asiya Javayant
1048Misaki Q SchemmerRussia2025-09-19Printing Dimensions PROPOSAL54Elwin Sharvill
1049Munro N PerinGermany2025-09-15Feiner Bros QUALIFIED4Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mayumi E RutaCanadaStephen Shaw NEW
Emily W OstroskyArgentinaAsiya Javayant NEW
Sinclair Q GauchoCanadaXuxue Feng NEGOTIATION
Antonio R DarakjyBrazilAnna Fali PROPOSAL
Izzy U RutaGermanyAsiya Javayant PROPOSAL
Misaki N MaletIndiaAnna Fali QUALIFIED
Octavia I GauchoJapanOnyama Limba NEGOTIATION
Jefferson H KuskoJapanAsiya Javayant NEW
Sinclair J CaudyArgentinaIvan Magalhaes PROPOSAL
Sinclair N BologniaAustraliaElwin Sharvill PROPOSAL
Octavia T StensethUnited KingdomIvan Magalhaes NEGOTIATION
Aditya L ChuiIndiaIvan Magalhaes UNQUALIFIED
Clifford T SchemmerIndiaIoni Bowcher QUALIFIED
David N RoysterGermanyStephen Shaw RENEWAL
James G CaudyCanadaAmy Elsner UNQUALIFIED
Murillo I WaycottArgentinaOnyama Limba RENEWAL
Izzy T ButtArgentinaElwin Sharvill UNQUALIFIED
Aditya X StockhamAustraliaStephen Shaw UNQUALIFIED
Costa Z BologniaIndiaIvan Magalhaes RENEWAL
Wickens L FlosiJapanIvan Magalhaes PROPOSAL
David I SlusarskiGermanyBernardo Dominic UNQUALIFIED
Tony M WaycottJapanBernardo Dominic QUALIFIED
Clifford Q MacleadJapanOnyama Limba UNQUALIFIED
Ivar C SlusarskiAustraliaAmy Elsner PROPOSAL
Ashley M KolmetzIndiaIvan Magalhaes UNQUALIFIED
Octavia V MaletCanadaElwin Sharvill QUALIFIED
Alejandro H VenereUnited KingdomStephen Shaw NEW
Cody Z CaudyUnited KingdomStephen Shaw PROPOSAL
Salvatore F BologniaAustraliaElwin Sharvill PROPOSAL
Ricardo E FerenczSpainOnyama Limba RENEWAL
James R MacleadBrazilXuxue Feng RENEWAL
Francesco V ChuiGermanyElwin Sharvill NEW
Ricardo T DoeFranceXuxue Feng RENEWAL
Jones K BologniaArgentinaAsiya Javayant RENEWAL
Smith Q SergiFranceBernardo Dominic UNQUALIFIED
Wickens A VenereBrazilAsiya Javayant RENEWAL
Clifford X PoquetteItalyIvan Magalhaes PROPOSAL
Cody T RutaItalyIoni Bowcher QUALIFIED
Aditya V MacleadItalyElwin Sharvill PROPOSAL
Juan Z OstroskyRussiaBernardo Dominic RENEWAL
Francesco F MacleadArgentinaStephen Shaw QUALIFIED
Adams W VenereIndiaStephen Shaw UNQUALIFIED
Antonio K RoysterFranceIvan Magalhaes NEW
Munro B WhobreyFranceStephen Shaw RENEWAL
Alejandro R SergiArgentinaXuxue Feng NEGOTIATION
Leon J DarakjyJapanIoni Bowcher PROPOSAL
Ivar L WaycottIndiaOnyama Limba PROPOSAL
Wickens X DilliardIndiaAmy Elsner QUALIFIED
Ricardo E CaudyRussiaIoni Bowcher NEGOTIATION
Kadeem Y StockhamItalyBernardo Dominic QUALIFIED
Frozen Columns
Name
Kadeem O Caudy
Leon P Caldarera
James Y Royster
Maria Z Shinko
Aruna A Kolmetz
Jennifer C Briddick
Munro C Malet
David X Darakjy
Silvio Y Caldarera
Rodrigues I Malet
Ivar A Nestle
Claire J Perin
Izzy K Foller
Faith Q Iturbide
Francesco A Saylors
Jennifer D Slusarski
Aika E Wieser
Isabel U Bolognia
Claire Y Caudy
Sinclair I Malet
Isabel T Malet
Nicolas W Rulapaugh
Mayumi C Chui
Tony Q Slusarski
Alejandro U Tollner
Salvatore J Ostrosky
Ashley K Foller
Salvatore B Gaucho
Leja Z Gillian
Murillo F Campain
Aruna L Albares
Claire U Amigon
David G Schemmer
David I Venere
Johnson E Shinko
Deepesh J Malet
Jones S Iturbide
Jeanfrancois I Poquette
Ricardo V Flosi
Nicolas L Malet
Greenwood C Flosi
Clifford L Doe
Leon D Iturbide
Greenwood Z Kolmetz
Isabel J Royster
Mujtaba E Paprocki
Cody N Rulapaugh
Smith O Kolmetz
Costa T Inouye
Ashley D Maclead
IdCountryDate
1000Brazil2025-08-31
1001Russia2025-09-19
1002Italy2025-09-09
1003Canada2025-08-26
1004Russia2025-09-10
1005Australia2025-08-27
1006United Kingdom2025-09-01
1007Italy2025-09-18
1008United Kingdom2025-09-17
1009France2025-09-20
1010Brazil2025-09-17
1011Italy2025-08-25
1012Japan2025-09-09
1013Russia2025-09-16
1014United Kingdom2025-09-13
1015Italy2025-09-17
1016Australia2025-08-26
1017Russia2025-08-30
1018Russia2025-09-10
1019India2025-09-19
1020Brazil2025-09-13
1021Spain2025-09-04
1022Brazil2025-08-24
1023India2025-08-29
1024United Kingdom2025-09-18
1025Germany2025-09-18
1026United Kingdom2025-09-18
1027Italy2025-08-25
1028Spain2025-09-07
1029Canada2025-09-11
1030Spain2025-09-20
1031United Kingdom2025-08-22
1032India2025-09-15
1033Spain2025-08-29
1034Spain2025-08-29
1035Canada2025-08-26
1036Spain2025-08-29
1037Italy2025-09-03
1038Germany2025-08-25
1039Australia2025-09-08
1040India2025-09-17
1041Brazil2025-09-04
1042Argentina2025-08-30
1043France2025-09-19
1044Brazil2025-08-27
1045United Kingdom2025-09-20
1046Japan2025-08-29
1047Argentina2025-08-30
1048India2025-09-14
1049Brazil2025-08-23

On-Demand Data

NameIdCountryDate
Alejandro Y Maclead1000Argentina2025-08-30
Ivar W Doe1001Japan2025-09-20
Nicolas V Paprocki1002Japan2025-09-17
Leja D Maclead1003Canada2025-09-15
Cody I Briddick1004Germany2025-09-17
Smith T Royster1005Brazil2025-09-08
Deepesh A Malet1006Argentina2025-09-14
Wickens D Amigon1007Brazil2025-09-17
Arvin Z Albares1008Italy2025-09-04
Darci L Chui1009Argentina2025-09-17
Maria B Butt1010Argentina2025-09-18
Octavia Q Iturbide1011Spain2025-09-19
Leja I Campain1012Brazil2025-08-25
Aruna C Slusarski1013Argentina2025-08-27
Nicolas O Inouye1014Japan2025-09-06
Maisha B Albares1015France2025-09-07
Ricardo U Ferencz1016Brazil2025-08-23
Aditya A Glick1017Canada2025-09-20
Mayumi D Albares1018Germany2025-09-07
Misaki N Rim1019Russia2025-08-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika H BriddickArgentinaStephen Shaw UNQUALIFIED
Alejandro C VenereArgentinaAnna Fali UNQUALIFIED
Rodrigues H KuskoIndiaXuxue Feng UNQUALIFIED
Alejandro O MacleadCanadaAsiya Javayant PROPOSAL
Juan V AlbaresArgentinaOnyama Limba NEW
Greenwood X NickaUnited KingdomOnyama Limba NEW
Greenwood R PaprockiGermanyAnna Fali QUALIFIED
Adams P MaletFranceIoni Bowcher QUALIFIED
Smith S FlosiBrazilBernardo Dominic UNQUALIFIED
Clifford M OstroskyUnited KingdomOnyama Limba QUALIFIED
Adams Q NickaItalyAnna Fali UNQUALIFIED
Kadeem A TollnerBrazilOnyama Limba NEW
Stacey P CaudyCanadaElwin Sharvill QUALIFIED
Francesco I RulapaughItalyElwin Sharvill UNQUALIFIED
Aika X NickaSpainBernardo Dominic PROPOSAL
Murillo S IturbideUnited KingdomIvan Magalhaes NEW
Leon C NestleRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois T WaycottBrazilAnna Fali QUALIFIED
Morrow L SergiItalyAmy Elsner QUALIFIED
Kadeem S FollerSpainAnna Fali NEGOTIATION
Mayumi P MacleadSpainBernardo Dominic UNQUALIFIED
Maisha T MarrierRussiaBernardo Dominic PROPOSAL
Johnson N SlusarskiBrazilBernardo Dominic PROPOSAL
Ricardo J WhobreyIndiaAnna Fali UNQUALIFIED
Aika U ChuiUnited KingdomXuxue Feng QUALIFIED
Izzy U NestleJapanAnna Fali NEW
Wickens R MaletAustraliaIvan Magalhaes PROPOSAL
Jefferson Z GauchoJapanBernardo Dominic NEW
Stacey D GlickBrazilElwin Sharvill NEW
Izzy J PoquetteSpainOnyama Limba RENEWAL
Nicolas A GillianIndiaAmy Elsner QUALIFIED
Aditya A ChuiRussiaXuxue Feng NEGOTIATION
Faith L WieserArgentinaElwin Sharvill RENEWAL
Emily G NickaGermanyAmy Elsner RENEWAL
Sinclair Y DilliardAustraliaAmy Elsner QUALIFIED
Rodrigues O CaldareraGermanyAnna Fali NEW
Faith S AmigonRussiaIoni Bowcher NEW
Stacey D NestleGermanyIoni Bowcher NEGOTIATION
Murillo G PaprockiJapanAnna Fali QUALIFIED
Maisha Y ChuiArgentinaOnyama 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>