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
Julie Z GarufiAustraliaStephen Shaw PROPOSAL
Chavez Z DarakjyJapanStephen Shaw NEGOTIATION
Maria Z VenereSpainOnyama Limba RENEWAL
David D ChuiFranceAmy Elsner RENEWAL
Misaki U DilliardArgentinaAnna Fali QUALIFIED
Alejandro K KuskoSpainOnyama Limba QUALIFIED
Adams K MaletBrazilAnna Fali RENEWAL
Claire C IturbideUnited KingdomStephen Shaw NEW
James R RoysterRussiaAsiya Javayant UNQUALIFIED
Jones A DarakjyBrazilAsiya Javayant QUALIFIED
Salvatore R CaudyFranceIoni Bowcher PROPOSAL
Ricardo B RutaIndiaAsiya Javayant PROPOSAL
Jones W RutaFranceStephen Shaw NEGOTIATION
Aditya J MorascaJapanAsiya Javayant UNQUALIFIED
Alejandro I GillianSpainStephen Shaw UNQUALIFIED
Greenwood V DarakjyAustraliaElwin Sharvill PROPOSAL
Clifford F NestleItalyAnna Fali NEGOTIATION
Nicolas X MacleadSpainAsiya Javayant NEW
Stacey H AmigonBrazilElwin Sharvill NEGOTIATION
Emily A StockhamArgentinaIoni Bowcher PROPOSAL
Jennifer H StockhamSpainBernardo Dominic NEGOTIATION
Cody D SlusarskiRussiaXuxue Feng NEW
Murillo N MacleadGermanyOnyama Limba PROPOSAL
James R RimCanadaElwin Sharvill NEW
Johnson H RimJapanOnyama Limba UNQUALIFIED
Julie F RutaArgentinaAmy Elsner QUALIFIED
Maisha T ShinkoJapanElwin Sharvill QUALIFIED
Mayumi A BologniaArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois W ButtBrazilStephen Shaw NEW
Misaki W VenereItalyElwin Sharvill QUALIFIED
Claire N ShinkoCanadaElwin Sharvill UNQUALIFIED
Jefferson S StockhamBrazilAsiya Javayant NEGOTIATION
Ashley L RoysterAustraliaAnna Fali RENEWAL
Sinclair S DarakjyBrazilStephen Shaw PROPOSAL
Sinclair S CampainJapanAmy Elsner QUALIFIED
Aruna B InouyeIndiaXuxue Feng QUALIFIED
Johnson U GarufiItalyIoni Bowcher NEGOTIATION
Munro N WhobreyIndiaXuxue Feng RENEWAL
Izzy H CaudyIndiaBernardo Dominic QUALIFIED
Leja H ChuiAustraliaElwin Sharvill UNQUALIFIED
Greenwood C BologniaFranceAnna Fali UNQUALIFIED
Mayumi X SaylorsIndiaXuxue Feng UNQUALIFIED
Silvio Y VocelkaJapanAmy Elsner NEGOTIATION
Jefferson U RimArgentinaAsiya Javayant PROPOSAL
Leja D FollerSpainElwin Sharvill QUALIFIED
Leon T GauchoFranceAnna Fali QUALIFIED
Arvin S CaldareraBrazilIvan Magalhaes NEW
Kaitlin E SchemmerIndiaIvan Magalhaes NEGOTIATION
Tony H FerenczJapanIvan Magalhaes NEGOTIATION
Emily V BriddickIndiaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Maisha Y InouyeCanadaBernardo Dominic PROPOSAL
Juan A PaprockiArgentinaStephen Shaw RENEWAL
Munro Z FerenczBrazilElwin Sharvill QUALIFIED
Johnson U BologniaFranceIoni Bowcher NEW
Munro Y GillianAustraliaXuxue Feng RENEWAL
Ricardo F GarufiJapanOnyama Limba QUALIFIED
Misaki P AmigonCanadaAnna Fali QUALIFIED
Ricardo C PoquetteGermanyAnna Fali NEGOTIATION
Arvin J TollnerFranceAnna Fali NEW
Maria L VocelkaJapanAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio U GlickSpain2025-07-27Feiner Bros UNQUALIFIED44Asiya Javayant
1001Kaitlin R OstroskySpain2025-07-12Truhlar And Truhlar Attys PROPOSAL9Onyama Limba
1002Francesco R StockhamBrazil2025-07-23Printing Dimensions UNQUALIFIED29Anna Fali
1003Jeanfrancois H GlickGermany2025-07-27Morlong Associates UNQUALIFIED30Bernardo Dominic
1004Aika P MorascaSpain2025-07-13Chanay, Jeffrey A Esq UNQUALIFIED97Asiya Javayant
1005Stacey R AlbaresIndia2025-08-04King, Christopher A Esq NEGOTIATION17Xuxue Feng
1006Isabel Y BowleyFrance2025-07-21Commercial Press QUALIFIED32Xuxue Feng
1007Octavia Q SchemmerSpain2025-08-02Dorl, James J Esq QUALIFIED3Amy Elsner
1008Kadeem I NickaUnited Kingdom2025-07-31Chanay, Jeffrey A Esq UNQUALIFIED18Anna Fali
1009Adams J KolmetzArgentina2025-08-03King, Christopher A Esq RENEWAL99Stephen Shaw
1010Salvatore G AmigonFrance2025-07-31Commercial Press QUALIFIED16Elwin Sharvill
1011Costa G VocelkaBrazil2025-07-06Commercial Press RENEWAL82Stephen Shaw
1012Johnson T WieserJapan2025-07-16Buckley Miller Wright PROPOSAL27Stephen Shaw
1013Jones M AlbaresUnited Kingdom2025-08-01Rangoni Of Florence UNQUALIFIED32Onyama Limba
1014Faith F SchemmerSpain2025-07-17Feltz Printing Service QUALIFIED64Xuxue Feng
1015Jefferson J BriddickCanada2025-07-10Benton, John B Jr NEGOTIATION32Onyama Limba
1016Kaitlin V VocelkaGermany2025-07-27Benton, John B Jr RENEWAL73Anna Fali
1017Rodrigues V MacleadUnited Kingdom2025-07-08Truhlar And Truhlar Attys PROPOSAL82Bernardo Dominic
1018Ivar X BologniaUnited Kingdom2025-07-26Commercial Press UNQUALIFIED2Bernardo Dominic
1019Leja Z BriddickJapan2025-07-19Feiner Bros NEGOTIATION16Asiya Javayant
1020Octavia C CampainUnited Kingdom2025-07-17Truhlar And Truhlar Attys QUALIFIED13Ivan Magalhaes
1021Alejandro M FerenczRussia2025-07-06Chanay, Jeffrey A Esq RENEWAL7Onyama Limba
1022Arvin N SaylorsCanada2025-08-02Feltz Printing Service RENEWAL45Bernardo Dominic
1023Aruna O DoeAustralia2025-08-04Printing Dimensions NEGOTIATION64Asiya Javayant
1024Aditya Q GarufiCanada2025-07-26Dorl, James J Esq NEW5Bernardo Dominic
1025Rodrigues M RimCanada2025-07-30Chanay, Jeffrey A Esq QUALIFIED26Onyama Limba
1026Salvatore R AmigonSpain2025-07-27Chapman, Ross E Esq RENEWAL32Stephen Shaw
1027Ivar M GillianFrance2025-07-15Feiner Bros QUALIFIED92Anna Fali
1028Salvatore S ButtSpain2025-07-14Chapman, Ross E Esq NEW0Asiya Javayant
1029Faith Z NestleArgentina2025-07-15Chemel, James L Cpa NEW7Stephen Shaw
1030Julie Q KolmetzJapan2025-07-27King, Christopher A Esq RENEWAL91Onyama Limba
1031Ivar Q FollerGermany2025-07-07Chemel, James L Cpa PROPOSAL66Anna Fali
1032Cody V VocelkaArgentina2025-07-10Dorl, James J Esq NEW54Bernardo Dominic
1033Sinclair R SaylorsGermany2025-07-21Rousseaux, Michael Esq NEGOTIATION53Amy Elsner
1034Julie H ButtIndia2025-07-11Commercial Press PROPOSAL82Xuxue Feng
1035James I GillianJapan2025-07-20Printing Dimensions NEGOTIATION62Anna Fali
1036Emily X WaycottArgentina2025-07-06Chemel, James L Cpa NEW70Stephen Shaw
1037Smith Y MacleadFrance2025-07-29Rangoni Of Florence NEW40Ioni Bowcher
1038Smith K SchemmerAustralia2025-07-18Benton, John B Jr UNQUALIFIED0Anna Fali
1039Jeanfrancois M CaldareraGermany2025-07-10Rousseaux, Michael Esq QUALIFIED63Ioni Bowcher
1040Octavia W SergiSpain2025-07-13Morlong Associates NEW79Asiya Javayant
1041Alejandro H MacleadAustralia2025-07-27Rousseaux, Michael Esq PROPOSAL16Anna Fali
1042Stacey C RulapaughJapan2025-07-13Buckley Miller Wright UNQUALIFIED32Onyama Limba
1043Murillo Q GauchoSpain2025-08-01Chapman, Ross E Esq UNQUALIFIED62Onyama Limba
1044Smith Z OldroydCanada2025-07-31Feltz Printing Service UNQUALIFIED30Amy Elsner
1045Clifford T MaletSpain2025-07-19Rousseaux, Michael Esq RENEWAL19Ivan Magalhaes
1046Smith S VocelkaAustralia2025-07-13Feiner Bros NEW29Bernardo Dominic
1047James D BowleyBrazil2025-07-20Buckley Miller Wright NEW57Stephen Shaw
1048Maisha Q DilliardCanada2025-07-24Dorl, James J Esq UNQUALIFIED83Elwin Sharvill
1049Maisha E MaletIndia2025-07-14Buckley Miller Wright PROPOSAL63Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh U OldroydArgentinaIoni Bowcher RENEWAL
Nicolas Z KuskoAustraliaIvan Magalhaes NEGOTIATION
Francesco D SaylorsAustraliaXuxue Feng PROPOSAL
Francesco S InouyeCanadaElwin Sharvill NEW
Jeanfrancois C FlosiBrazilElwin Sharvill NEGOTIATION
Morrow W BologniaJapanIoni Bowcher PROPOSAL
Stacey Z ButtItalyXuxue Feng NEGOTIATION
Jennifer U SaylorsAustraliaElwin Sharvill QUALIFIED
Kaitlin Y CampainJapanAsiya Javayant RENEWAL
Izzy D SlusarskiBrazilXuxue Feng NEW
Darci C NickaSpainBernardo Dominic UNQUALIFIED
Ashley X GarufiBrazilAsiya Javayant PROPOSAL
Jones H KuskoItalyAnna Fali NEGOTIATION
Deepesh E StensethUnited KingdomIvan Magalhaes UNQUALIFIED
Cody E MaletBrazilBernardo Dominic PROPOSAL
Juan X RulapaughItalyStephen Shaw NEGOTIATION
Aditya F MarrierFranceBernardo Dominic NEW
Stacey B ButtFranceXuxue Feng PROPOSAL
Wickens Q MorascaBrazilBernardo Dominic QUALIFIED
Arvin M WaycottCanadaAnna Fali UNQUALIFIED
Arvin M FlosiItalyBernardo Dominic UNQUALIFIED
Ashley N VocelkaSpainAmy Elsner UNQUALIFIED
Maisha P RoysterBrazilXuxue Feng PROPOSAL
Julie A StensethBrazilElwin Sharvill NEGOTIATION
Johnson J StensethAustraliaAsiya Javayant NEGOTIATION
Mayumi I RoysterArgentinaIvan Magalhaes QUALIFIED
Maria B SaylorsBrazilAsiya Javayant RENEWAL
Kadeem H AlbaresGermanyElwin Sharvill UNQUALIFIED
Izzy N AmigonItalyAsiya Javayant NEGOTIATION
Tony X GarufiJapanAsiya Javayant RENEWAL
Misaki P GarufiBrazilOnyama Limba RENEWAL
Darci O DilliardAustraliaElwin Sharvill UNQUALIFIED
Salvatore H PaprockiBrazilAsiya Javayant NEGOTIATION
Costa U VenereUnited KingdomAnna Fali PROPOSAL
Leja K GlickJapanIvan Magalhaes NEW
Silvio R PaprockiArgentinaAmy Elsner UNQUALIFIED
Leja O PoquetteAustraliaBernardo Dominic UNQUALIFIED
Misaki M WaycottGermanyIoni Bowcher NEW
Isabel E OldroydItalyBernardo Dominic NEW
Deepesh U MorascaAustraliaStephen Shaw QUALIFIED
David K DarakjyBrazilAmy Elsner NEW
Ricardo L InouyeAustraliaAsiya Javayant RENEWAL
Juan O StensethBrazilBernardo Dominic QUALIFIED
Aruna M PoquetteAustraliaBernardo Dominic NEGOTIATION
Juan T BowleyGermanyAsiya Javayant PROPOSAL
Rodrigues I PaprockiJapanElwin Sharvill NEGOTIATION
Silvio A KolmetzIndiaAnna Fali PROPOSAL
Silvio L RimBrazilBernardo Dominic NEGOTIATION
Octavia M PerinFranceAmy Elsner RENEWAL
Silvio V WieserJapanOnyama Limba QUALIFIED
Frozen Columns
Name
Murillo O Oldroyd
Claire V Flosi
Greenwood Y Doe
Claire Y Albares
Maria X Darakjy
Silvio K Ostrosky
Clifford O Bowley
Francesco I Darakjy
Clifford P Poquette
Jefferson Q Tollner
Izzy E Schemmer
Aditya O Tollner
Maria V Waycott
Darci C Vocelka
Morrow B Malet
Arvin V Dilliard
Izzy Y Nicka
Maisha K Venere
Leja V Kusko
Deepesh R Rulapaugh
Clifford Z Gillian
Cody Q Oldroyd
James O Albares
Stacey V Rim
James B Albares
Kaitlin H Stenseth
Silvio Q Oldroyd
Antonio L Venere
Greenwood W Maclead
Cody H Perin
Ricardo C Figeroa
Costa B Gaucho
Jennifer E Sergi
Maria F Shinko
Jeanfrancois W Caldarera
Ashley I Kusko
Morrow X Whobrey
Claire W Perin
Clifford M Schemmer
Sinclair E Gillian
Ivar R Darakjy
Morrow N Paprocki
Emily A Foller
Chavez F Oldroyd
Misaki F Nicka
Kaitlin T Saylors
Rodrigues S Marrier
Mayumi H Chui
Aditya X Glick
Deepesh S Kusko
IdCountryDate
1000France2025-07-07
1001India2025-08-02
1002Argentina2025-07-19
1003Australia2025-07-13
1004Canada2025-08-03
1005Brazil2025-07-19
1006United Kingdom2025-07-08
1007France2025-07-23
1008United Kingdom2025-07-13
1009Spain2025-07-25
1010Canada2025-07-20
1011India2025-07-23
1012Australia2025-07-13
1013Canada2025-08-03
1014Canada2025-07-06
1015Italy2025-07-26
1016Brazil2025-07-29
1017France2025-08-04
1018Russia2025-07-21
1019France2025-07-09
1020Canada2025-07-14
1021France2025-07-19
1022Russia2025-07-21
1023Australia2025-07-16
1024Argentina2025-07-19
1025Germany2025-07-19
1026Canada2025-07-15
1027United Kingdom2025-07-20
1028Argentina2025-07-23
1029India2025-07-07
1030India2025-08-04
1031Argentina2025-07-21
1032Argentina2025-07-13
1033India2025-07-27
1034Russia2025-07-10
1035Germany2025-07-06
1036Argentina2025-07-27
1037United Kingdom2025-07-27
1038Germany2025-08-03
1039Australia2025-07-06
1040United Kingdom2025-07-28
1041Italy2025-07-21
1042Canada2025-07-07
1043Brazil2025-07-31
1044France2025-07-18
1045Japan2025-07-16
1046India2025-08-02
1047United Kingdom2025-07-07
1048France2025-07-11
1049Spain2025-07-06

On-Demand Data

NameIdCountryDate
Tony H Ferencz1000Argentina2025-07-19
Alejandro Q Vocelka1001United Kingdom2025-07-27
Greenwood I Saylors1002Brazil2025-07-18
Morrow X Caldarera1003France2025-07-21
Cody T Foller1004Spain2025-07-20
Mujtaba P Perin1005Australia2025-07-30
Alejandro T Sergi1006Canada2025-07-18
Antonio P Inouye1007Brazil2025-07-21
Maisha Q Caldarera1008Australia2025-08-01
Juan C Inouye1009United Kingdom2025-07-16
Kaitlin J Ruta1010Argentina2025-07-28
Claire I Malet1011France2025-07-24
Ashley E Shinko1012Japan2025-07-08
Sinclair O Schemmer1013Italy2025-07-19
Murillo K Oldroyd1014Canada2025-07-13
Johnson C Albares1015Brazil2025-07-08
Izzy Y Ostrosky1016France2025-08-01
Greenwood G Flosi1017Argentina2025-08-02
Leon B Ferencz1018United Kingdom2025-07-10
Deepesh Y Gaucho1019Argentina2025-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio S CaudySpainElwin Sharvill PROPOSAL
Darci X CaudyCanadaStephen Shaw PROPOSAL
Stacey L KuskoRussiaAmy Elsner RENEWAL
Julie Y VocelkaSpainBernardo Dominic QUALIFIED
Smith R SaylorsArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois L VenereJapanBernardo Dominic PROPOSAL
Mujtaba Q SchemmerAustraliaAmy Elsner QUALIFIED
Jeanfrancois O SchemmerItalyBernardo Dominic RENEWAL
Cody H ButtJapanBernardo Dominic UNQUALIFIED
Isabel X BriddickUnited KingdomAsiya Javayant RENEWAL
Ricardo W StensethJapanAsiya Javayant NEW
Maria W PerinIndiaAmy Elsner PROPOSAL
Munro T KuskoIndiaAnna Fali PROPOSAL
Ricardo X RulapaughItalyAmy Elsner NEW
Wickens I NestleJapanIvan Magalhaes UNQUALIFIED
Adams K MarrierFranceStephen Shaw NEGOTIATION
Mujtaba T SchemmerBrazilAsiya Javayant NEGOTIATION
Morrow G ShinkoFranceIvan Magalhaes PROPOSAL
Jones N RoysterArgentinaXuxue Feng NEW
Julie B BowleyBrazilIvan Magalhaes NEW
Cody S FigeroaArgentinaAsiya Javayant QUALIFIED
Smith V AlbaresUnited KingdomElwin Sharvill NEW
Rodrigues D ButtCanadaIvan Magalhaes PROPOSAL
Arvin X DoeCanadaOnyama Limba RENEWAL
Arvin E ShinkoCanadaIoni Bowcher NEGOTIATION
Cody C AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues P SlusarskiFranceOnyama Limba UNQUALIFIED
Juan F VenereItalyIvan Magalhaes PROPOSAL
Aruna Z GlickFranceAmy Elsner QUALIFIED
Kadeem X VenereBrazilXuxue Feng NEGOTIATION
Maisha C FigeroaCanadaXuxue Feng NEW
Stacey Z StensethSpainOnyama Limba QUALIFIED
Maria Z NickaBrazilBernardo Dominic NEGOTIATION
Adams U KolmetzFranceElwin Sharvill UNQUALIFIED
Rodrigues E CampainArgentinaIvan Magalhaes UNQUALIFIED
Leon B AlbaresSpainIvan Magalhaes QUALIFIED
Rodrigues Y KolmetzGermanyStephen Shaw NEW
Maria D KolmetzItalyOnyama Limba PROPOSAL
Ashley I MarrierIndiaOnyama Limba PROPOSAL
Morrow S PaprockiFranceIoni Bowcher RENEWAL

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