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
Misaki P VocelkaIndiaIoni Bowcher QUALIFIED
Ricardo B BologniaSpainOnyama Limba NEGOTIATION
David E InouyeSpainBernardo Dominic NEGOTIATION
Rodrigues J NickaSpainAsiya Javayant NEW
Emily A InouyeAustraliaAnna Fali NEW
Izzy V AmigonIndiaXuxue Feng QUALIFIED
Morrow E RutaFranceElwin Sharvill UNQUALIFIED
Silvio H KolmetzAustraliaStephen Shaw QUALIFIED
Leja S NickaArgentinaAmy Elsner NEGOTIATION
Juan P StockhamJapanAmy Elsner RENEWAL
David Z FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Leja P FollerArgentinaOnyama Limba NEGOTIATION
Antonio Z GauchoBrazilAmy Elsner PROPOSAL
Kaitlin I CampainBrazilIvan Magalhaes NEGOTIATION
Leon P VenereAustraliaIoni Bowcher UNQUALIFIED
Ricardo X DarakjyAustraliaElwin Sharvill PROPOSAL
Julie N SchemmerRussiaAmy Elsner NEW
Murillo L ButtRussiaElwin Sharvill PROPOSAL
Antonio N NestleRussiaStephen Shaw NEGOTIATION
Izzy Z PerinGermanyBernardo Dominic NEW
Emily L OstroskyFranceOnyama Limba NEGOTIATION
Francesco R MarrierGermanyIoni Bowcher PROPOSAL
David N OstroskySpainBernardo Dominic PROPOSAL
Morrow U FerenczIndiaAsiya Javayant UNQUALIFIED
Juan S FigeroaIndiaIvan Magalhaes NEW
Faith L WieserFranceAmy Elsner PROPOSAL
Misaki E GlickBrazilIvan Magalhaes UNQUALIFIED
Alejandro O TollnerCanadaXuxue Feng UNQUALIFIED
Stacey C BriddickCanadaAmy Elsner NEW
Wickens H IturbideAustraliaIoni Bowcher PROPOSAL
Munro G IturbideSpainIoni Bowcher UNQUALIFIED
Ivar A ChuiAustraliaIoni Bowcher PROPOSAL
Silvio M CaudyUnited KingdomElwin Sharvill QUALIFIED
Sinclair W SergiUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois S GauchoJapanAmy Elsner PROPOSAL
James P MaletGermanyElwin Sharvill NEW
Silvio F KolmetzAustraliaAnna Fali QUALIFIED
Misaki K RutaUnited KingdomAmy Elsner QUALIFIED
James A OstroskyIndiaAsiya Javayant QUALIFIED
Francesco S PaprockiBrazilIoni Bowcher UNQUALIFIED
Leja N FigeroaUnited KingdomAmy Elsner PROPOSAL
Chavez N WieserUnited KingdomAmy Elsner RENEWAL
Ashley V ButtGermanyElwin Sharvill QUALIFIED
Deepesh A BowleyGermanyElwin Sharvill NEW
Jefferson G PerinBrazilBernardo Dominic PROPOSAL
Murillo B PerinGermanyElwin Sharvill NEW
James F DarakjyBrazilAsiya Javayant QUALIFIED
Julie O ButtBrazilIvan Magalhaes NEGOTIATION
Kadeem Z SlusarskiArgentinaAsiya Javayant PROPOSAL
Costa J StensethJapanOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa U ButtIndiaAnna Fali QUALIFIED
Johnson Y TollnerUnited KingdomAmy Elsner PROPOSAL
Sinclair B FollerItalyIoni Bowcher PROPOSAL
Kadeem H AlbaresAustraliaAsiya Javayant UNQUALIFIED
Francesco H GauchoArgentinaAsiya Javayant QUALIFIED
Leja V ChuiCanadaXuxue Feng NEGOTIATION
Kadeem F NickaAustraliaAnna Fali RENEWAL
Nicolas M IturbideJapanIvan Magalhaes QUALIFIED
Johnson I BriddickIndiaOnyama Limba QUALIFIED
Jefferson G RutaItalyAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily A AlbaresBrazil2025-08-02Printing Dimensions NEW7Elwin Sharvill
1001Jennifer G CaldareraCanada2025-08-20Morlong Associates NEW96Ioni Bowcher
1002Rodrigues H NestleCanada2025-08-01Feltz Printing Service NEW93Onyama Limba
1003Deepesh L NestleArgentina2025-08-23King, Christopher A Esq NEW39Ivan Magalhaes
1004Izzy Y FigeroaBrazil2025-08-06Benton, John B Jr QUALIFIED54Anna Fali
1005Deepesh P NickaSpain2025-08-23Truhlar And Truhlar Attys UNQUALIFIED84Ioni Bowcher
1006Morrow Z SaylorsIndia2025-08-15Dorl, James J Esq UNQUALIFIED1Ivan Magalhaes
1007Johnson Y OstroskyItaly2025-08-09Benton, John B Jr QUALIFIED97Onyama Limba
1008Wickens J SlusarskiCanada2025-08-22Chapman, Ross E Esq NEW62Elwin Sharvill
1009Francesco M RutaCanada2025-08-21Dorl, James J Esq UNQUALIFIED63Xuxue Feng
1010Sinclair X SaylorsJapan2025-08-28Chemel, James L Cpa RENEWAL8Stephen Shaw
1011Johnson P StockhamArgentina2025-08-25Buckley Miller Wright QUALIFIED4Stephen Shaw
1012Tony W NickaFrance2025-08-13Rangoni Of Florence NEW42Amy Elsner
1013Salvatore M VocelkaCanada2025-08-27Chapman, Ross E Esq PROPOSAL47Xuxue Feng
1014Juan Q StockhamGermany2025-08-27Dorl, James J Esq PROPOSAL73Amy Elsner
1015Darci T MarrierRussia2025-07-30Printing Dimensions NEW70Stephen Shaw
1016Kaitlin L OstroskyJapan2025-08-02Dorl, James J Esq RENEWAL92Asiya Javayant
1017Silvio P MorascaIndia2025-08-11Chemel, James L Cpa QUALIFIED12Asiya Javayant
1018Antonio J GarufiCanada2025-08-21King, Christopher A Esq NEW42Ioni Bowcher
1019Octavia W OldroydUnited Kingdom2025-08-18Buckley Miller Wright NEGOTIATION20Amy Elsner
1020Antonio B WieserArgentina2025-08-24Feltz Printing Service NEW5Anna Fali
1021Munro U MaletCanada2025-08-09Chemel, James L Cpa NEW6Onyama Limba
1022Munro A StensethJapan2025-08-27Rangoni Of Florence QUALIFIED78Anna Fali
1023Sinclair C VocelkaJapan2025-08-25Dorl, James J Esq QUALIFIED89Anna Fali
1024Wickens T RoysterAustralia2025-08-04Chemel, James L Cpa NEW65Ivan Magalhaes
1025Cody C NestleIndia2025-08-05Feiner Bros NEW64Ioni Bowcher
1026Sinclair B CaldareraSpain2025-08-17Chanay, Jeffrey A Esq NEW96Elwin Sharvill
1027Smith K FerenczArgentina2025-08-23Printing Dimensions QUALIFIED56Stephen Shaw
1028Ivar E BowleyJapan2025-08-10Feltz Printing Service NEGOTIATION34Bernardo Dominic
1029Emily A PaprockiUnited Kingdom2025-08-17Buckley Miller Wright PROPOSAL34Asiya Javayant
1030Johnson E RoysterBrazil2025-08-06Chemel, James L Cpa UNQUALIFIED76Amy Elsner
1031Chavez Z GlickGermany2025-07-31Dorl, James J Esq QUALIFIED76Asiya Javayant
1032Stacey E WaycottUnited Kingdom2025-08-04Feiner Bros RENEWAL57Xuxue Feng
1033Stacey B PoquetteFrance2025-08-21Buckley Miller Wright RENEWAL96Anna Fali
1034James Q SchemmerBrazil2025-08-02Rangoni Of Florence UNQUALIFIED58Elwin Sharvill
1035Adams I DoeJapan2025-08-03Rangoni Of Florence QUALIFIED12Stephen Shaw
1036Jefferson M NickaItaly2025-08-11Chapman, Ross E Esq UNQUALIFIED81Ioni Bowcher
1037Maisha J OldroydGermany2025-08-25Feiner Bros QUALIFIED60Onyama Limba
1038Rodrigues N BologniaFrance2025-08-24Chapman, Ross E Esq PROPOSAL34Stephen Shaw
1039Leja C SlusarskiAustralia2025-08-06Morlong Associates NEW77Asiya Javayant
1040Leon J FollerUnited Kingdom2025-08-08Dorl, James J Esq NEGOTIATION23Ioni Bowcher
1041Aruna I RutaJapan2025-08-22Buckley Miller Wright PROPOSAL29Xuxue Feng
1042James I NestleArgentina2025-07-30Rangoni Of Florence UNQUALIFIED70Amy Elsner
1043Deepesh X StockhamBrazil2025-08-04Buckley Miller Wright QUALIFIED20Xuxue Feng
1044Mayumi G ShinkoIndia2025-08-27Chanay, Jeffrey A Esq NEW82Amy Elsner
1045Aruna L FlosiRussia2025-08-04Buckley Miller Wright QUALIFIED7Xuxue Feng
1046Ricardo I AlbaresUnited Kingdom2025-08-01Buckley Miller Wright NEGOTIATION74Amy Elsner
1047Francesco D TollnerAustralia2025-08-17Chapman, Ross E Esq RENEWAL98Amy Elsner
1048Maisha M CaudyCanada2025-08-17Commercial Press QUALIFIED66Asiya Javayant
1049Wickens M CaldareraFrance2025-08-22Rousseaux, Michael Esq RENEWAL52Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
James G WieserFranceAsiya Javayant UNQUALIFIED
Ricardo G PaprockiIndiaIoni Bowcher PROPOSAL
Kaitlin S DilliardUnited KingdomBernardo Dominic RENEWAL
Ricardo L RimCanadaAnna Fali NEGOTIATION
Claire D RulapaughCanadaOnyama Limba RENEWAL
Claire L CaudyAustraliaAsiya Javayant NEGOTIATION
Wickens V NestleFranceAnna Fali RENEWAL
Kadeem G IturbideAustraliaBernardo Dominic NEGOTIATION
Costa S DarakjyJapanBernardo Dominic QUALIFIED
Ashley Q RulapaughUnited KingdomIoni Bowcher QUALIFIED
Clifford S ButtFranceXuxue Feng UNQUALIFIED
Ricardo X RulapaughArgentinaAsiya Javayant NEW
James D WhobreyAustraliaElwin Sharvill NEGOTIATION
Leja Q DoeIndiaXuxue Feng UNQUALIFIED
Julie C DoeCanadaIvan Magalhaes PROPOSAL
Greenwood S StockhamAustraliaBernardo Dominic UNQUALIFIED
Ashley Z SergiBrazilIoni Bowcher QUALIFIED
Stacey F GauchoFranceAnna Fali QUALIFIED
James K GarufiSpainBernardo Dominic UNQUALIFIED
Murillo D CaudyIndiaBernardo Dominic PROPOSAL
Sinclair E OstroskyIndiaAmy Elsner RENEWAL
Octavia A BowleyFranceOnyama Limba PROPOSAL
Emily G RutaRussiaAnna Fali NEW
Johnson Y ChuiCanadaAmy Elsner UNQUALIFIED
Alejandro V CaldareraIndiaIoni Bowcher QUALIFIED
Greenwood D CaudyUnited KingdomAnna Fali RENEWAL
Jefferson S BowleySpainIoni Bowcher PROPOSAL
Jennifer T SergiRussiaIvan Magalhaes RENEWAL
Misaki R IturbideSpainOnyama Limba RENEWAL
Kadeem M CaudyItalyIoni Bowcher NEW
Leon C NestleFranceIoni Bowcher RENEWAL
Wickens O SergiCanadaIoni Bowcher QUALIFIED
Nicolas Z CaudyAustraliaAnna Fali RENEWAL
Kadeem L FigeroaUnited KingdomAsiya Javayant RENEWAL
Darci D BriddickItalyAmy Elsner NEW
Silvio K SchemmerSpainStephen Shaw PROPOSAL
Aruna V SchemmerIndiaAmy Elsner QUALIFIED
Arvin R KolmetzIndiaOnyama Limba NEGOTIATION
Rodrigues K StockhamIndiaOnyama Limba QUALIFIED
Izzy O SlusarskiJapanAsiya Javayant QUALIFIED
David U VenereUnited KingdomAmy Elsner UNQUALIFIED
Greenwood S VocelkaSpainOnyama Limba UNQUALIFIED
Octavia R FerenczJapanBernardo Dominic UNQUALIFIED
Misaki Q SchemmerCanadaIvan Magalhaes PROPOSAL
Stacey A CaudySpainAnna Fali UNQUALIFIED
Greenwood R SlusarskiJapanBernardo Dominic PROPOSAL
Nicolas U BriddickGermanyXuxue Feng NEW
Chavez C MorascaSpainOnyama Limba PROPOSAL
Claire V KolmetzAustraliaAmy Elsner PROPOSAL
Murillo J MaletUnited KingdomBernardo Dominic NEGOTIATION
Frozen Columns
Name
Johnson O Poquette
Aditya Z Amigon
Ricardo W Schemmer
Alejandro W Morasca
Isabel U Malet
Ashley C Darakjy
Maisha M Stenseth
Aditya A Oldroyd
Antonio F Caldarera
Tony D Oldroyd
Johnson G Nicka
Costa M Kusko
Stacey W Doe
Adams Y Vocelka
Isabel A Nicka
Julie N Ostrosky
David I Doe
Maria Y Malet
Nicolas Q Kolmetz
Costa D Briddick
Claire V Figeroa
Julie N Saylors
Alejandro H Glick
Ivar S Rim
James W Malet
Leja Q Malet
Claire F Briddick
Mujtaba F Wieser
Leja B Waycott
Cody L Wieser
Mujtaba D Ruta
Greenwood U Oldroyd
Kadeem L Royster
Morrow J Malet
Rodrigues R Vocelka
Greenwood G Waycott
Jefferson F Venere
Antonio S Saylors
Tony N Nicka
Sinclair M Shinko
Ashley F Foller
Cody F Malet
Ashley H Rulapaugh
Rodrigues G Flosi
Mayumi E Butt
Leon A Glick
Smith Z Bolognia
Julie E Malet
Kadeem D Garufi
Sinclair S Inouye
IdCountryDate
1000Brazil2025-08-10
1001Germany2025-08-01
1002Canada2025-08-11
1003France2025-08-18
1004Russia2025-08-20
1005Argentina2025-07-31
1006France2025-08-20
1007Japan2025-07-30
1008United Kingdom2025-08-10
1009France2025-08-02
1010Spain2025-08-05
1011France2025-07-31
1012India2025-08-25
1013Spain2025-08-08
1014Brazil2025-08-15
1015Spain2025-08-28
1016France2025-08-20
1017Italy2025-08-12
1018Argentina2025-08-02
1019Brazil2025-08-11
1020Brazil2025-07-30
1021Germany2025-08-06
1022India2025-07-30
1023Japan2025-08-15
1024Italy2025-08-02
1025Argentina2025-07-30
1026Japan2025-08-18
1027Australia2025-07-31
1028Germany2025-08-01
1029Japan2025-08-25
1030Argentina2025-08-20
1031Brazil2025-07-30
1032Germany2025-07-30
1033Japan2025-08-27
1034Brazil2025-07-30
1035Japan2025-08-06
1036India2025-08-26
1037Canada2025-08-14
1038Japan2025-08-18
1039Australia2025-08-15
1040Japan2025-07-30
1041Japan2025-08-16
1042United Kingdom2025-08-07
1043Brazil2025-08-16
1044Russia2025-08-13
1045Russia2025-08-11
1046Italy2025-07-31
1047Canada2025-08-11
1048Italy2025-08-15
1049Spain2025-08-15

On-Demand Data

NameIdCountryDate
Ashley Y Sergi1000Argentina2025-08-08
Cody F Campain1001Argentina2025-08-23
Wickens Q Slusarski1002Japan2025-08-02
Misaki C Perin1003Spain2025-08-15
Aditya R Vocelka1004Argentina2025-08-19
Julie I Caudy1005Russia2025-08-23
Darci F Glick1006Brazil2025-08-04
Adams E Dilliard1007Russia2025-08-16
Maisha I Amigon1008Brazil2025-08-09
Smith S Gaucho1009Canada2025-08-28
Faith U Briddick1010Canada2025-08-24
Salvatore U Ruta1011Argentina2025-08-16
Leja C Royster1012France2025-08-13
Costa T Whobrey1013Russia2025-08-26
Silvio J Poquette1014India2025-08-09
Tony Z Slusarski1015Japan2025-08-20
Adams X Glick1016India2025-08-07
Clifford R Vocelka1017Brazil2025-08-26
Cody J Figeroa1018United Kingdom2025-08-06
Greenwood W Dilliard1019United Kingdom2025-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore Y MaletBrazilAsiya Javayant PROPOSAL
Juan L FollerJapanBernardo Dominic NEGOTIATION
Emily Q ShinkoCanadaBernardo Dominic RENEWAL
Leon V FigeroaFranceAmy Elsner NEGOTIATION
Maria G GillianUnited KingdomElwin Sharvill RENEWAL
James S NestleArgentinaXuxue Feng PROPOSAL
Munro I SlusarskiRussiaBernardo Dominic NEGOTIATION
Jeanfrancois K VocelkaAustraliaIoni Bowcher RENEWAL
Juan M ShinkoRussiaElwin Sharvill UNQUALIFIED
Julie Z DoeCanadaElwin Sharvill QUALIFIED
Costa L BriddickBrazilAnna Fali QUALIFIED
Smith N PoquetteUnited KingdomAnna Fali PROPOSAL
Deepesh I ChuiRussiaAmy Elsner RENEWAL
Costa U GauchoRussiaIoni Bowcher NEW
Aruna N ShinkoArgentinaAsiya Javayant PROPOSAL
Ricardo Y OldroydFranceXuxue Feng QUALIFIED
Cody W WhobreyAustraliaElwin Sharvill NEW
Kaitlin F PaprockiRussiaIvan Magalhaes QUALIFIED
Jefferson O MarrierGermanyBernardo Dominic UNQUALIFIED
James U ShinkoUnited KingdomIoni Bowcher NEGOTIATION
Jones H FlosiRussiaElwin Sharvill UNQUALIFIED
Mujtaba Q RimIndiaIvan Magalhaes NEW
Aruna Y PerinBrazilOnyama Limba UNQUALIFIED
Ricardo I WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Adams R RutaCanadaAnna Fali NEW
Maria T PoquetteItalyAmy Elsner PROPOSAL
Arvin E BowleySpainBernardo Dominic RENEWAL
Jefferson T OstroskyItalyElwin Sharvill NEW
Costa J SchemmerJapanElwin Sharvill RENEWAL
Mayumi X CampainArgentinaIvan Magalhaes RENEWAL
Alejandro R NestleGermanyXuxue Feng UNQUALIFIED
Julie N SaylorsIndiaXuxue Feng NEGOTIATION
Johnson G VocelkaJapanIoni Bowcher RENEWAL
Stacey X TollnerGermanyAnna Fali UNQUALIFIED
Aruna N MacleadJapanStephen Shaw UNQUALIFIED
Izzy F GarufiGermanyXuxue Feng UNQUALIFIED
Jefferson N SergiUnited KingdomAnna Fali UNQUALIFIED
Smith N AmigonFranceOnyama Limba QUALIFIED
Clifford P OstroskyIndiaOnyama Limba PROPOSAL
Aruna C CampainJapanStephen Shaw PROPOSAL

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