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
Izzy U MaletJapanStephen Shaw NEGOTIATION
Salvatore W VenereArgentinaIvan Magalhaes UNQUALIFIED
Stacey J PaprockiRussiaAsiya Javayant NEW
Aruna L DoeItalyStephen Shaw NEGOTIATION
Munro Z SergiIndiaAsiya Javayant NEW
Clifford E RoysterIndiaIvan Magalhaes RENEWAL
Darci U GillianItalyOnyama Limba PROPOSAL
Claire T VocelkaSpainXuxue Feng PROPOSAL
Sinclair C PaprockiFranceAsiya Javayant NEW
Stacey H ChuiAustraliaElwin Sharvill PROPOSAL
Antonio R FerenczGermanyIvan Magalhaes QUALIFIED
Sinclair B OstroskyItalyXuxue Feng NEGOTIATION
Costa G CaldareraRussiaAmy Elsner NEW
Munro V StensethRussiaAnna Fali UNQUALIFIED
Izzy I OldroydIndiaIvan Magalhaes QUALIFIED
Clifford W NestleIndiaAsiya Javayant UNQUALIFIED
Mayumi T InouyeJapanAmy Elsner PROPOSAL
Silvio W OldroydFranceOnyama Limba RENEWAL
Sinclair N InouyeItalyAnna Fali UNQUALIFIED
Jefferson G FlosiCanadaAnna Fali RENEWAL
Greenwood S BriddickRussiaElwin Sharvill RENEWAL
Isabel U CaudyRussiaElwin Sharvill PROPOSAL
Costa M OstroskyIndiaBernardo Dominic PROPOSAL
Claire B RimSpainAsiya Javayant RENEWAL
Adams K VenereSpainOnyama Limba NEGOTIATION
Nicolas J SchemmerFranceOnyama Limba PROPOSAL
Johnson B MaletCanadaElwin Sharvill NEW
Ivar Y StockhamItalyAmy Elsner RENEWAL
Isabel Q GarufiIndiaBernardo Dominic UNQUALIFIED
Wickens F FollerArgentinaIvan Magalhaes NEW
Ivar J VenereUnited KingdomIoni Bowcher QUALIFIED
Salvatore U WaycottArgentinaAmy Elsner PROPOSAL
Alejandro R DoeSpainBernardo Dominic UNQUALIFIED
Ashley Z KuskoGermanyAsiya Javayant NEW
Leja V OldroydBrazilElwin Sharvill NEGOTIATION
Morrow L ShinkoFranceIoni Bowcher QUALIFIED
Cody D PoquetteArgentinaXuxue Feng QUALIFIED
Johnson L SlusarskiUnited KingdomOnyama Limba UNQUALIFIED
Adams A StockhamSpainAsiya Javayant UNQUALIFIED
Arvin R OstroskyCanadaBernardo Dominic QUALIFIED
Mayumi Y StensethSpainIvan Magalhaes PROPOSAL
Ashley X FerenczCanadaAsiya Javayant RENEWAL
Nicolas J ButtCanadaAnna Fali NEGOTIATION
Nicolas T OstroskyFranceXuxue Feng RENEWAL
Tony L NickaIndiaOnyama Limba NEW
Mujtaba E SlusarskiJapanOnyama Limba NEGOTIATION
Juan O VenereItalyAmy Elsner NEW
Claire P PoquetteGermanyBernardo Dominic NEGOTIATION
Aika W MacleadArgentinaXuxue Feng NEGOTIATION
Cody V PerinCanadaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maisha T FigeroaSpainAmy Elsner NEW
Ivar H WhobreyItalyXuxue Feng NEGOTIATION
Misaki M ButtItalyXuxue Feng QUALIFIED
Tony K NickaRussiaAsiya Javayant UNQUALIFIED
Wickens H PaprockiJapanAnna Fali RENEWAL
Mayumi U FollerItalyAnna Fali QUALIFIED
Emily V VocelkaFranceAnna Fali QUALIFIED
David E MaletArgentinaStephen Shaw UNQUALIFIED
Ricardo X FollerAustraliaAmy Elsner QUALIFIED
Ashley G DoeIndiaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues O MarrierFrance2025-10-01King, Christopher A Esq UNQUALIFIED13Onyama Limba
1001Chavez A MacleadGermany2025-10-05Truhlar And Truhlar Attys UNQUALIFIED53Ioni Bowcher
1002Nicolas F ChuiRussia2025-10-07Feiner Bros UNQUALIFIED85Bernardo Dominic
1003Leon Q OstroskyJapan2025-09-13Dorl, James J Esq NEGOTIATION66Ivan Magalhaes
1004Kadeem M PoquetteJapan2025-10-12Feiner Bros NEGOTIATION76Elwin Sharvill
1005Darci N OldroydUnited Kingdom2025-09-20Chanay, Jeffrey A Esq UNQUALIFIED52Ioni Bowcher
1006Morrow Z AlbaresRussia2025-09-13Feiner Bros NEGOTIATION99Amy Elsner
1007Arvin Q RutaSpain2025-10-04Commercial Press PROPOSAL53Ivan Magalhaes
1008Aditya H CaldareraFrance2025-09-27Chemel, James L Cpa PROPOSAL80Amy Elsner
1009Octavia W BriddickRussia2025-09-20Rangoni Of Florence RENEWAL84Xuxue Feng
1010Tony F FigeroaCanada2025-09-16King, Christopher A Esq RENEWAL73Ivan Magalhaes
1011Adams I DoeJapan2025-09-19Buckley Miller Wright PROPOSAL98Xuxue Feng
1012Aditya S BologniaArgentina2025-09-13Chapman, Ross E Esq RENEWAL99Ioni Bowcher
1013Mujtaba T RoysterItaly2025-09-28Morlong Associates PROPOSAL26Anna Fali
1014Isabel P StensethRussia2025-09-27King, Christopher A Esq QUALIFIED52Anna Fali
1015Silvio I SaylorsBrazil2025-10-01Commercial Press NEW49Stephen Shaw
1016Morrow N RimRussia2025-09-25Chapman, Ross E Esq NEGOTIATION85Anna Fali
1017Faith T DoeCanada2025-09-20Feiner Bros UNQUALIFIED31Asiya Javayant
1018Adams V FerenczUnited Kingdom2025-09-13Printing Dimensions QUALIFIED2Bernardo Dominic
1019Claire N CaldareraUnited Kingdom2025-09-23Buckley Miller Wright PROPOSAL94Bernardo Dominic
1020Alejandro D GillianArgentina2025-10-09Rangoni Of Florence NEW73Elwin Sharvill
1021Mayumi E FerenczGermany2025-09-26Rangoni Of Florence NEW64Ioni Bowcher
1022Mayumi K DarakjySpain2025-09-15Buckley Miller Wright NEW75Ivan Magalhaes
1023Morrow Y CaldareraJapan2025-10-12Chanay, Jeffrey A Esq QUALIFIED55Anna Fali
1024Morrow J CaudyCanada2025-09-21Chapman, Ross E Esq NEW47Stephen Shaw
1025Morrow O SlusarskiItaly2025-09-16Feltz Printing Service NEW34Xuxue Feng
1026Maria Q MacleadSpain2025-09-29King, Christopher A Esq PROPOSAL27Elwin Sharvill
1027Francesco K PerinRussia2025-09-15Feiner Bros UNQUALIFIED57Onyama Limba
1028Greenwood K VenereGermany2025-09-25Commercial Press QUALIFIED33Bernardo Dominic
1029Silvio Q ShinkoJapan2025-09-28Printing Dimensions UNQUALIFIED94Ivan Magalhaes
1030Claire L FlosiJapan2025-10-08Printing Dimensions UNQUALIFIED28Onyama Limba
1031Johnson D BowleyJapan2025-10-02Printing Dimensions PROPOSAL39Stephen Shaw
1032Izzy G FigeroaArgentina2025-09-29Printing Dimensions NEGOTIATION84Amy Elsner
1033Deepesh L DarakjyBrazil2025-09-24Buckley Miller Wright RENEWAL72Amy Elsner
1034Costa I PerinUnited Kingdom2025-09-14Rousseaux, Michael Esq RENEWAL46Stephen Shaw
1035Nicolas G GauchoCanada2025-10-02Feltz Printing Service NEGOTIATION72Ivan Magalhaes
1036Aditya H RimCanada2025-09-23Rousseaux, Michael Esq PROPOSAL34Asiya Javayant
1037Mujtaba U WhobreySpain2025-09-25King, Christopher A Esq QUALIFIED4Amy Elsner
1038Deepesh B RimAustralia2025-09-26Truhlar And Truhlar Attys PROPOSAL76Elwin Sharvill
1039Chavez F GauchoUnited Kingdom2025-10-07Chanay, Jeffrey A Esq RENEWAL52Elwin Sharvill
1040Costa O WieserArgentina2025-10-03Chemel, James L Cpa PROPOSAL51Ioni Bowcher
1041Wickens L WieserCanada2025-10-01Chemel, James L Cpa PROPOSAL57Onyama Limba
1042Stacey A OldroydAustralia2025-09-16Chanay, Jeffrey A Esq NEW14Asiya Javayant
1043Ivar H IturbideSpain2025-09-30Chanay, Jeffrey A Esq PROPOSAL62Ioni Bowcher
1044Aruna T MarrierJapan2025-09-24Commercial Press UNQUALIFIED72Onyama Limba
1045Kadeem B SergiSpain2025-09-13Feiner Bros QUALIFIED6Xuxue Feng
1046Stacey U VocelkaUnited Kingdom2025-10-03Chapman, Ross E Esq UNQUALIFIED74Onyama Limba
1047Smith Z AmigonFrance2025-09-27Rousseaux, Michael Esq RENEWAL13Amy Elsner
1048Jeanfrancois H FollerJapan2025-09-18Feiner Bros QUALIFIED68Anna Fali
1049Deepesh G MarrierUnited Kingdom2025-09-30Morlong Associates NEW80Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley C WaycottGermanyOnyama Limba RENEWAL
Sinclair X RulapaughCanadaAmy Elsner QUALIFIED
Maisha D CaudyJapanXuxue Feng NEGOTIATION
Mujtaba T KuskoRussiaXuxue Feng QUALIFIED
Aditya T BowleyJapanAnna Fali NEW
Tony T CaldareraFranceIoni Bowcher UNQUALIFIED
Maria D SchemmerRussiaIvan Magalhaes QUALIFIED
Faith B BowleyArgentinaStephen Shaw NEW
Wickens X DarakjyArgentinaStephen Shaw PROPOSAL
Smith K WhobreyIndiaAnna Fali PROPOSAL
Octavia B DoeItalyAnna Fali NEW
Sinclair V FlosiJapanAmy Elsner NEGOTIATION
Salvatore R CaldareraSpainAsiya Javayant NEW
Rodrigues L ShinkoArgentinaIoni Bowcher RENEWAL
Silvio O WhobreyItalyAnna Fali RENEWAL
Silvio D CaudyIndiaBernardo Dominic RENEWAL
Wickens O VocelkaBrazilElwin Sharvill NEGOTIATION
Jefferson R MacleadArgentinaIvan Magalhaes NEW
Misaki O IturbideAustraliaStephen Shaw PROPOSAL
Emily H PoquetteUnited KingdomAnna Fali UNQUALIFIED
Kaitlin Z SaylorsRussiaBernardo Dominic NEGOTIATION
Cody R VocelkaSpainIvan Magalhaes QUALIFIED
Antonio F GillianIndiaAmy Elsner PROPOSAL
Isabel B NestleJapanOnyama Limba UNQUALIFIED
Greenwood R MaletUnited KingdomOnyama Limba QUALIFIED
Jefferson X SaylorsRussiaOnyama Limba PROPOSAL
Claire Q BologniaArgentinaAmy Elsner QUALIFIED
Arvin V DilliardIndiaAsiya Javayant UNQUALIFIED
Izzy U SergiAustraliaOnyama Limba RENEWAL
Maria D StensethAustraliaBernardo Dominic UNQUALIFIED
Silvio R DoeArgentinaAmy Elsner QUALIFIED
Rodrigues K GlickUnited KingdomAnna Fali PROPOSAL
Ivar F GillianCanadaIoni Bowcher QUALIFIED
Tony O NickaFranceIoni Bowcher UNQUALIFIED
Munro Y MacleadBrazilOnyama Limba NEW
Claire B SaylorsBrazilElwin Sharvill PROPOSAL
Munro H DoeAustraliaBernardo Dominic PROPOSAL
Aruna P GauchoJapanAnna Fali NEGOTIATION
Aruna K FollerJapanBernardo Dominic RENEWAL
Stacey Q SchemmerIndiaStephen Shaw NEGOTIATION
Mayumi C WieserGermanyAsiya Javayant PROPOSAL
Greenwood I FlosiIndiaBernardo Dominic RENEWAL
Sinclair S RutaJapanElwin Sharvill RENEWAL
Maisha H OldroydBrazilAsiya Javayant NEW
Izzy O BriddickGermanyAnna Fali PROPOSAL
Jones I BologniaRussiaIvan Magalhaes UNQUALIFIED
Izzy E KuskoFranceIvan Magalhaes NEW
Faith U KuskoUnited KingdomIoni Bowcher PROPOSAL
Stacey X GillianCanadaIvan Magalhaes PROPOSAL
Kaitlin S AmigonArgentinaOnyama Limba NEGOTIATION
Frozen Columns
Name
Jennifer X Doe
Leon N Briddick
Tony N Garufi
Kaitlin F Slusarski
Mujtaba C Slusarski
Salvatore F Kolmetz
Stacey L Stenseth
Tony U Stockham
Ashley Q Amigon
Jeanfrancois C Wieser
Izzy M Oldroyd
Rodrigues K Caldarera
James R Poquette
Aruna I Saylors
Tony S Venere
Claire B Figeroa
Sinclair O Darakjy
Isabel K Doe
David G Tollner
Clifford L Briddick
Stacey W Glick
Jennifer C Caudy
Juan V Nestle
Silvio Y Doe
Munro K Inouye
Costa A Bowley
Jennifer V Schemmer
Octavia F Malet
Sinclair B Nestle
Greenwood U Flosi
Nicolas F Malet
Munro P Nicka
Isabel U Wieser
Octavia P Amigon
Ivar U Malet
Munro N Wieser
Maisha R Glick
Jeanfrancois L Marrier
Maria X Kusko
Arvin R Stockham
Aruna M Gaucho
Ashley R Perin
Murillo T Whobrey
Leon P Flosi
Julie A Gaucho
Kadeem I Wieser
Stacey N Foller
Kadeem L Poquette
James Z Foller
Darci G Tollner
IdCountryDate
1000India2025-09-29
1001Brazil2025-09-17
1002France2025-10-05
1003Canada2025-10-06
1004Canada2025-09-16
1005United Kingdom2025-09-18
1006Australia2025-10-01
1007Germany2025-09-17
1008Germany2025-09-13
1009Germany2025-09-14
1010Argentina2025-10-06
1011India2025-09-30
1012United Kingdom2025-09-25
1013Argentina2025-10-02
1014Spain2025-09-21
1015Brazil2025-09-15
1016Japan2025-10-06
1017Brazil2025-09-22
1018Spain2025-10-09
1019France2025-09-16
1020United Kingdom2025-09-20
1021France2025-09-15
1022Italy2025-09-26
1023Canada2025-09-27
1024Germany2025-09-18
1025Canada2025-10-09
1026United Kingdom2025-10-04
1027Italy2025-10-08
1028Canada2025-09-19
1029United Kingdom2025-10-01
1030Brazil2025-09-18
1031United Kingdom2025-09-21
1032Italy2025-10-09
1033Canada2025-09-22
1034Canada2025-09-20
1035India2025-09-28
1036Germany2025-09-27
1037Japan2025-10-04
1038United Kingdom2025-09-29
1039France2025-10-08
1040Japan2025-10-09
1041India2025-10-02
1042Russia2025-09-27
1043India2025-10-02
1044Canada2025-10-05
1045Italy2025-10-01
1046Japan2025-09-15
1047France2025-09-29
1048Brazil2025-09-22
1049Germany2025-09-27

On-Demand Data

NameIdCountryDate
Faith A Iturbide1000India2025-10-06
Antonio E Saylors1001Brazil2025-09-24
Tony X Foller1002Canada2025-09-14
Sinclair K Bowley1003Germany2025-10-05
Clifford S Poquette1004Germany2025-09-15
Rodrigues F Figeroa1005Canada2025-09-16
Francesco C Poquette1006Canada2025-10-01
Ivar R Dilliard1007Japan2025-10-10
Nicolas J Vocelka1008Australia2025-09-23
Mujtaba N Chui1009Canada2025-10-12
Mayumi G Inouye1010India2025-10-11
Francesco D Chui1011Russia2025-09-28
Jennifer G Caldarera1012Brazil2025-09-25
Aika P Shinko1013Canada2025-09-22
Cody W Foller1014Canada2025-09-29
Francesco L Ruta1015Canada2025-10-05
Kadeem M Rulapaugh1016Germany2025-10-01
Aika C Flosi1017India2025-09-25
Leja O Slusarski1018Italy2025-10-02
Jones G Ruta1019Italy2025-09-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow U KolmetzIndiaElwin Sharvill PROPOSAL
Salvatore C WaycottArgentinaIoni Bowcher PROPOSAL
Greenwood X KuskoFranceIoni Bowcher RENEWAL
Munro H DarakjyCanadaBernardo Dominic NEW
Francesco J PaprockiSpainOnyama Limba NEW
Greenwood T MarrierIndiaAnna Fali NEW
Leon Q GillianFranceAsiya Javayant UNQUALIFIED
Greenwood Y KuskoCanadaStephen Shaw NEW
Francesco Z WaycottItalyAsiya Javayant UNQUALIFIED
Kadeem Q MorascaSpainAnna Fali PROPOSAL
Nicolas W FollerSpainAmy Elsner UNQUALIFIED
Jones W MaletItalyAmy Elsner QUALIFIED
Jennifer X StockhamGermanyElwin Sharvill QUALIFIED
Francesco O StensethSpainAnna Fali RENEWAL
Nicolas R SaylorsGermanyStephen Shaw NEGOTIATION
Jeanfrancois I SchemmerRussiaIoni Bowcher QUALIFIED
Rodrigues L PaprockiIndiaAsiya Javayant UNQUALIFIED
David A CampainArgentinaIoni Bowcher UNQUALIFIED
Ashley M RoysterGermanyIvan Magalhaes NEGOTIATION
Jeanfrancois N NestleGermanyAnna Fali UNQUALIFIED
David Q MacleadJapanIoni Bowcher QUALIFIED
Francesco I SchemmerArgentinaAsiya Javayant PROPOSAL
Sinclair G FlosiArgentinaIoni Bowcher NEGOTIATION
Adams B BowleyGermanyElwin Sharvill PROPOSAL
Salvatore A AlbaresAustraliaAmy Elsner NEGOTIATION
Kadeem S SaylorsFranceIvan Magalhaes NEGOTIATION
Salvatore Z CaudyFranceOnyama Limba RENEWAL
Jefferson A StensethFranceElwin Sharvill UNQUALIFIED
Smith C OldroydRussiaIvan Magalhaes RENEWAL
Jefferson C TollnerItalyAsiya Javayant PROPOSAL
Jennifer N OldroydUnited KingdomAnna Fali NEGOTIATION
Rodrigues R BologniaUnited KingdomIoni Bowcher RENEWAL
Cody Y NickaUnited KingdomStephen Shaw UNQUALIFIED
Jefferson J ChuiJapanBernardo Dominic RENEWAL
Silvio B KolmetzBrazilBernardo Dominic RENEWAL
Aika A IturbideAustraliaAnna Fali NEW
Morrow W BriddickIndiaAmy Elsner RENEWAL
Murillo A PerinSpainOnyama Limba RENEWAL
Leja J WieserAustraliaAsiya Javayant NEW
Julie C TollnerUnited KingdomOnyama Limba 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>