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
Murillo F CaldareraSpainOnyama Limba NEGOTIATION
Clifford U GillianAustraliaIvan Magalhaes NEGOTIATION
Mayumi M OldroydItalyIvan Magalhaes UNQUALIFIED
Sinclair O FollerJapanAmy Elsner PROPOSAL
Munro H GillianItalyAsiya Javayant UNQUALIFIED
Aditya M CampainBrazilAsiya Javayant PROPOSAL
Antonio C AlbaresArgentinaBernardo Dominic NEW
Emily T MarrierCanadaIoni Bowcher NEW
Maisha P GauchoFranceIvan Magalhaes NEW
Costa C GauchoBrazilElwin Sharvill PROPOSAL
Leon Y NestleItalyIoni Bowcher NEGOTIATION
Isabel A MaletItalyOnyama Limba PROPOSAL
Izzy N IturbideCanadaIoni Bowcher NEGOTIATION
Tony B FerenczBrazilXuxue Feng NEGOTIATION
Maisha P MaletArgentinaAnna Fali QUALIFIED
Misaki B NestleArgentinaAnna Fali RENEWAL
Deepesh E KolmetzUnited KingdomStephen Shaw NEGOTIATION
Morrow T FlosiFranceOnyama Limba PROPOSAL
Jefferson Q StockhamIndiaBernardo Dominic NEGOTIATION
Leja G KuskoFranceStephen Shaw PROPOSAL
Kaitlin U MorascaRussiaXuxue Feng UNQUALIFIED
James Z CaudyRussiaAsiya Javayant RENEWAL
Sinclair M ShinkoSpainXuxue Feng NEGOTIATION
Emily N WaycottGermanyAsiya Javayant NEW
James M MorascaCanadaXuxue Feng QUALIFIED
Faith L MacleadGermanyAmy Elsner NEW
Chavez P NestleCanadaBernardo Dominic PROPOSAL
Cody Z BologniaBrazilOnyama Limba QUALIFIED
Mujtaba I BowleyFranceXuxue Feng NEGOTIATION
Tony A RulapaughAustraliaIoni Bowcher NEGOTIATION
Kaitlin K VenereBrazilIvan Magalhaes RENEWAL
Isabel Y MaletCanadaAmy Elsner NEW
Darci C FigeroaIndiaAmy Elsner QUALIFIED
Deepesh L MacleadJapanBernardo Dominic UNQUALIFIED
Misaki T MaletGermanyAnna Fali PROPOSAL
Maria S StockhamRussiaXuxue Feng QUALIFIED
Maisha D RoysterArgentinaXuxue Feng QUALIFIED
Kadeem Q ChuiSpainAnna Fali NEGOTIATION
Sinclair B VocelkaUnited KingdomAmy Elsner QUALIFIED
Murillo H SlusarskiJapanIvan Magalhaes QUALIFIED
Misaki F FigeroaSpainAsiya Javayant PROPOSAL
Antonio I AmigonAustraliaStephen Shaw NEW
Wickens D BologniaJapanElwin Sharvill PROPOSAL
Francesco C RimFranceOnyama Limba QUALIFIED
Jeanfrancois I MarrierFranceAnna Fali NEW
Silvio Y KolmetzUnited KingdomAnna Fali QUALIFIED
Deepesh F ChuiArgentinaAsiya Javayant QUALIFIED
Jeanfrancois X NickaAustraliaXuxue Feng NEGOTIATION
Greenwood A RulapaughFranceIvan Magalhaes RENEWAL
Clifford A WieserIndiaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford G SaylorsGermanyIoni Bowcher NEW
Faith T BologniaIndiaElwin Sharvill UNQUALIFIED
Aruna Q KuskoCanadaOnyama Limba UNQUALIFIED
Johnson W MacleadItalyAnna Fali PROPOSAL
Kaitlin F MaletRussiaIoni Bowcher RENEWAL
Johnson N MaletSpainAnna Fali QUALIFIED
Francesco X ButtItalyAsiya Javayant PROPOSAL
Wickens Z VocelkaGermanyAnna Fali NEW
Ivar P FerenczRussiaAnna Fali QUALIFIED
Ashley R StockhamFranceAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar N PoquetteRussia2025-09-22Chapman, Ross E Esq RENEWAL56Onyama Limba
1001Murillo T KolmetzArgentina2025-09-29Buckley Miller Wright NEGOTIATION15Anna Fali
1002Jeanfrancois V WaycottItaly2025-10-06Rousseaux, Michael Esq PROPOSAL28Xuxue Feng
1003Julie Y GauchoRussia2025-09-20Rangoni Of Florence UNQUALIFIED4Anna Fali
1004Costa D CampainCanada2025-10-01King, Christopher A Esq PROPOSAL67Elwin Sharvill
1005Clifford A MaletJapan2025-10-04Truhlar And Truhlar Attys RENEWAL0Anna Fali
1006Aruna D FerenczCanada2025-10-05Morlong Associates RENEWAL23Elwin Sharvill
1007Claire Y ShinkoSpain2025-09-27Morlong Associates RENEWAL69Elwin Sharvill
1008Aika H CampainBrazil2025-09-14Printing Dimensions UNQUALIFIED24Anna Fali
1009Wickens O StensethBrazil2025-10-05Buckley Miller Wright NEW14Stephen Shaw
1010Jennifer M SchemmerGermany2025-10-08Morlong Associates RENEWAL2Onyama Limba
1011Mayumi O GauchoIndia2025-09-15Chemel, James L Cpa NEW40Bernardo Dominic
1012Sinclair E StockhamFrance2025-10-08Feltz Printing Service NEW48Ivan Magalhaes
1013Octavia C SchemmerAustralia2025-10-11Printing Dimensions QUALIFIED8Onyama Limba
1014Francesco N AmigonAustralia2025-10-03Printing Dimensions PROPOSAL50Elwin Sharvill
1015Jennifer J RulapaughArgentina2025-10-05Dorl, James J Esq RENEWAL96Onyama Limba
1016Mujtaba T InouyeGermany2025-09-19Benton, John B Jr NEGOTIATION54Asiya Javayant
1017Leon X GillianBrazil2025-10-10Buckley Miller Wright NEW59Stephen Shaw
1018Nicolas Y FigeroaUnited Kingdom2025-09-21Chanay, Jeffrey A Esq PROPOSAL78Bernardo Dominic
1019Mujtaba S PaprockiJapan2025-09-26Buckley Miller Wright RENEWAL24Onyama Limba
1020Francesco M MaletRussia2025-10-06Rousseaux, Michael Esq RENEWAL0Xuxue Feng
1021Leon F SaylorsIndia2025-09-19Chapman, Ross E Esq PROPOSAL32Elwin Sharvill
1022Juan T PaprockiAustralia2025-09-20Buckley Miller Wright PROPOSAL71Onyama Limba
1023Maria T IturbideCanada2025-10-09Commercial Press NEW69Ioni Bowcher
1024Adams C AmigonSpain2025-09-17Rousseaux, Michael Esq NEGOTIATION3Anna Fali
1025Misaki C TollnerCanada2025-10-07Buckley Miller Wright UNQUALIFIED20Elwin Sharvill
1026Ivar A SchemmerArgentina2025-09-17Benton, John B Jr QUALIFIED28Xuxue Feng
1027Rodrigues U MaletUnited Kingdom2025-09-13Morlong Associates QUALIFIED46Asiya Javayant
1028Jones J WieserBrazil2025-09-27Printing Dimensions NEW98Ivan Magalhaes
1029Jeanfrancois K OstroskyRussia2025-09-15Chemel, James L Cpa QUALIFIED72Asiya Javayant
1030Clifford M CampainUnited Kingdom2025-09-13Rangoni Of Florence UNQUALIFIED24Bernardo Dominic
1031Jefferson F PoquetteArgentina2025-10-03Benton, John B Jr UNQUALIFIED42Xuxue Feng
1032Stacey G GillianItaly2025-09-23Benton, John B Jr UNQUALIFIED64Ioni Bowcher
1033Greenwood Q BowleyRussia2025-10-05Chapman, Ross E Esq UNQUALIFIED63Onyama Limba
1034Isabel L MacleadIndia2025-09-18Chanay, Jeffrey A Esq NEW70Amy Elsner
1035Ricardo D PaprockiAustralia2025-10-05Feiner Bros RENEWAL49Ioni Bowcher
1036Izzy J IturbideUnited Kingdom2025-10-09Benton, John B Jr QUALIFIED8Onyama Limba
1037Arvin W StockhamFrance2025-09-26Benton, John B Jr RENEWAL78Ioni Bowcher
1038Leon V SergiSpain2025-10-03Commercial Press PROPOSAL22Onyama Limba
1039Aditya Z ShinkoCanada2025-10-06Buckley Miller Wright RENEWAL75Elwin Sharvill
1040Smith K OstroskyCanada2025-09-27Truhlar And Truhlar Attys NEW7Amy Elsner
1041David N RutaIndia2025-09-25Printing Dimensions RENEWAL92Asiya Javayant
1042Munro S OstroskyAustralia2025-09-16Rangoni Of Florence NEGOTIATION6Ioni Bowcher
1043Izzy I PaprockiUnited Kingdom2025-10-07Feiner Bros RENEWAL87Elwin Sharvill
1044Julie V AlbaresArgentina2025-09-20Feiner Bros PROPOSAL94Bernardo Dominic
1045Misaki D MorascaAustralia2025-09-21Rousseaux, Michael Esq PROPOSAL35Amy Elsner
1046Clifford K VenereItaly2025-09-27Printing Dimensions NEW77Amy Elsner
1047Aruna J BologniaItaly2025-09-17King, Christopher A Esq UNQUALIFIED98Ioni Bowcher
1048Aruna M RimRussia2025-09-16Truhlar And Truhlar Attys QUALIFIED6Ivan Magalhaes
1049Leja Z MarrierUnited Kingdom2025-10-10Dorl, James J Esq QUALIFIED60Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Faith N TollnerJapanXuxue Feng NEGOTIATION
Wickens M MorascaItalyElwin Sharvill QUALIFIED
Kaitlin L OldroydItalyIoni Bowcher UNQUALIFIED
Emily R CaudyAustraliaOnyama Limba UNQUALIFIED
Darci N PoquetteItalyAsiya Javayant UNQUALIFIED
Salvatore L MarrierBrazilOnyama Limba PROPOSAL
Jennifer F GillianFranceAmy Elsner UNQUALIFIED
Antonio N VocelkaRussiaElwin Sharvill NEGOTIATION
Clifford H GauchoArgentinaStephen Shaw NEW
Aditya C PoquetteBrazilStephen Shaw PROPOSAL
Costa A FerenczArgentinaAsiya Javayant PROPOSAL
Johnson D ShinkoUnited KingdomStephen Shaw RENEWAL
Tony Z FlosiJapanAmy Elsner QUALIFIED
Ashley C FollerBrazilStephen Shaw QUALIFIED
Nicolas K GauchoAustraliaOnyama Limba QUALIFIED
Rodrigues A BologniaFranceIvan Magalhaes QUALIFIED
Aika H MorascaAustraliaAnna Fali UNQUALIFIED
Kadeem B SergiFranceElwin Sharvill NEGOTIATION
Maria M WaycottItalyOnyama Limba PROPOSAL
Jennifer Z WieserCanadaAnna Fali QUALIFIED
Kaitlin T ShinkoAustraliaAnna Fali NEW
Antonio C OstroskyArgentinaIoni Bowcher RENEWAL
Ashley J BologniaArgentinaAmy Elsner UNQUALIFIED
Leja S DoeRussiaElwin Sharvill RENEWAL
James R InouyeJapanAmy Elsner NEW
Maisha B BologniaIndiaOnyama Limba NEW
Salvatore O WieserArgentinaXuxue Feng NEW
Claire C GarufiGermanyOnyama Limba QUALIFIED
James V PoquetteGermanyAnna Fali RENEWAL
Clifford P FerenczGermanyStephen Shaw UNQUALIFIED
Kadeem T InouyeJapanOnyama Limba NEW
Aruna J MarrierSpainAnna Fali UNQUALIFIED
Aruna X WhobreyArgentinaXuxue Feng RENEWAL
Juan M AmigonJapanXuxue Feng NEGOTIATION
Chavez V WhobreyCanadaIoni Bowcher NEGOTIATION
James P SlusarskiItalyAmy Elsner NEW
Silvio M FigeroaRussiaIvan Magalhaes NEGOTIATION
Jeanfrancois C WaycottBrazilAmy Elsner QUALIFIED
Chavez M VocelkaJapanBernardo Dominic PROPOSAL
Claire F MarrierFranceOnyama Limba QUALIFIED
Munro J DilliardUnited KingdomIvan Magalhaes PROPOSAL
Nicolas Y KuskoItalyIoni Bowcher QUALIFIED
Jefferson Z PaprockiBrazilAnna Fali RENEWAL
Cody T FigeroaUnited KingdomIoni Bowcher NEGOTIATION
David N PerinArgentinaIoni Bowcher QUALIFIED
Misaki B RoysterRussiaAsiya Javayant PROPOSAL
Octavia M SergiIndiaAnna Fali NEGOTIATION
Murillo D SergiUnited KingdomIoni Bowcher QUALIFIED
Rodrigues H NickaItalyIoni Bowcher NEW
Julie I FigeroaArgentinaStephen Shaw PROPOSAL
Frozen Columns
Name
Deepesh I Sergi
Jefferson K Vocelka
Wickens E Iturbide
Mujtaba V Rulapaugh
Misaki L Bolognia
Johnson F Kusko
Antonio C Foller
Jefferson N Morasca
Emily D Waycott
Mayumi P Bowley
Jones K Iturbide
Claire T Tollner
Murillo J Flosi
Julie V Vocelka
Wickens L Dilliard
Rodrigues D Poquette
Wickens Z Royster
Murillo S Rim
Smith O Gaucho
Clifford E Kolmetz
Salvatore Q Venere
Jennifer N Iturbide
Isabel S Ostrosky
Ricardo L Butt
James T Darakjy
Isabel R Campain
Aditya E Perin
Silvio E Oldroyd
Morrow W Bolognia
Maria Z Poquette
Leon Y Caudy
Ashley Z Rim
Johnson N Poquette
Darci P Oldroyd
Antonio F Malet
Claire S Waycott
Aruna X Foller
Ricardo E Waycott
Alejandro L Slusarski
Aditya A Maclead
Chavez L Gaucho
Adams D Ferencz
Leon K Slusarski
Wickens D Venere
Tony F Briddick
Morrow N Saylors
Tony K Paprocki
Izzy J Albares
Morrow H Marrier
Mujtaba P Malet
IdCountryDate
1000Italy2025-09-12
1001Brazil2025-09-30
1002Italy2025-09-28
1003Russia2025-09-20
1004Italy2025-09-24
1005Japan2025-10-08
1006Italy2025-10-01
1007Germany2025-10-09
1008Italy2025-09-30
1009Japan2025-09-14
1010Russia2025-09-26
1011Australia2025-09-23
1012France2025-09-15
1013Brazil2025-10-09
1014Spain2025-09-18
1015Russia2025-09-29
1016Australia2025-09-27
1017Spain2025-09-24
1018Brazil2025-09-26
1019Brazil2025-10-07
1020Japan2025-10-06
1021Germany2025-09-20
1022United Kingdom2025-10-05
1023Russia2025-09-12
1024Brazil2025-09-30
1025France2025-09-20
1026Italy2025-09-16
1027India2025-10-11
1028Japan2025-09-14
1029India2025-10-11
1030Germany2025-10-03
1031Italy2025-09-13
1032Argentina2025-09-23
1033Italy2025-09-19
1034Brazil2025-09-24
1035Japan2025-09-24
1036Germany2025-09-14
1037India2025-10-09
1038Japan2025-10-06
1039United Kingdom2025-09-21
1040Italy2025-09-16
1041Japan2025-09-23
1042Australia2025-09-22
1043India2025-10-06
1044France2025-09-21
1045Argentina2025-10-05
1046Canada2025-10-08
1047Russia2025-10-07
1048United Kingdom2025-09-16
1049Brazil2025-09-18

On-Demand Data

NameIdCountryDate
Isabel G Stenseth1000Argentina2025-10-09
Murillo Q Rulapaugh1001Brazil2025-10-08
Murillo X Wieser1002Germany2025-10-06
Tony A Doe1003Australia2025-09-19
Julie V Gaucho1004India2025-09-18
Isabel J Malet1005United Kingdom2025-10-07
Claire R Rim1006Germany2025-09-20
Adams E Kusko1007Brazil2025-09-16
Mujtaba V Sergi1008Italy2025-10-07
Munro B Chui1009Russia2025-09-20
Antonio N Gillian1010Italy2025-10-08
Clifford Y Saylors1011Japan2025-09-14
Leon M Amigon1012Germany2025-09-17
James R Ostrosky1013Germany2025-09-16
Stacey K Schemmer1014Australia2025-09-14
Silvio W Stenseth1015Argentina2025-10-05
Misaki R Glick1016Japan2025-09-27
Darci F Ruta1017Germany2025-09-20
Kaitlin O Iturbide1018Germany2025-09-17
Faith W Stockham1019Germany2025-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James B DarakjyFranceElwin Sharvill RENEWAL
Francesco C SlusarskiArgentinaAmy Elsner RENEWAL
Darci C RimBrazilAmy Elsner QUALIFIED
Cody E VocelkaJapanIvan Magalhaes NEGOTIATION
Faith D ButtFranceAsiya Javayant UNQUALIFIED
Wickens Z IturbideJapanAmy Elsner PROPOSAL
Mayumi Z FollerJapanElwin Sharvill RENEWAL
Chavez L AlbaresGermanyOnyama Limba PROPOSAL
Ashley P SaylorsGermanyIoni Bowcher QUALIFIED
Ivar D CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Morrow S IturbideUnited KingdomAmy Elsner NEGOTIATION
Claire K NickaUnited KingdomBernardo Dominic NEGOTIATION
Jones O OstroskySpainBernardo Dominic UNQUALIFIED
Sinclair B GauchoArgentinaXuxue Feng UNQUALIFIED
Darci B PoquetteCanadaXuxue Feng NEW
Maria D BriddickRussiaStephen Shaw QUALIFIED
Kadeem R SaylorsIndiaAsiya Javayant UNQUALIFIED
Johnson H DarakjyIndiaElwin Sharvill NEGOTIATION
Deepesh P VenereBrazilAnna Fali NEW
James H MaletFranceStephen Shaw PROPOSAL
Leja T KolmetzGermanyBernardo Dominic UNQUALIFIED
Silvio L WieserAustraliaXuxue Feng NEW
Leja B WaycottBrazilIoni Bowcher RENEWAL
Nicolas Z ChuiRussiaIvan Magalhaes PROPOSAL
Mayumi Y GlickJapanXuxue Feng PROPOSAL
Aruna G SlusarskiIndiaElwin Sharvill UNQUALIFIED
Kaitlin U AmigonFranceXuxue Feng UNQUALIFIED
Antonio R RulapaughBrazilStephen Shaw QUALIFIED
Munro V OldroydBrazilXuxue Feng RENEWAL
Silvio U FerenczCanadaElwin Sharvill QUALIFIED
Johnson I RutaCanadaElwin Sharvill PROPOSAL
James V VenereSpainAsiya Javayant PROPOSAL
Smith Z MarrierGermanyElwin Sharvill NEW
Munro U BowleyBrazilAmy Elsner RENEWAL
Nicolas H GillianGermanyBernardo Dominic UNQUALIFIED
Ashley F FerenczItalyXuxue Feng NEGOTIATION
Faith W GarufiUnited KingdomIvan Magalhaes QUALIFIED
Nicolas S CaudyArgentinaBernardo Dominic NEGOTIATION
Kaitlin A BologniaGermanyOnyama Limba RENEWAL
Claire R MorascaBrazilBernardo Dominic 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>