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
Wickens R SergiBrazilAsiya Javayant QUALIFIED
Clifford J MaletGermanyStephen Shaw RENEWAL
Leon C PaprockiUnited KingdomAsiya Javayant RENEWAL
Deepesh V BriddickRussiaElwin Sharvill NEGOTIATION
Maisha B DilliardUnited KingdomIvan Magalhaes PROPOSAL
Johnson T InouyeSpainOnyama Limba NEW
Emily H OstroskyUnited KingdomAmy Elsner NEW
Emily F VocelkaAustraliaIvan Magalhaes PROPOSAL
Salvatore E WaycottAustraliaIoni Bowcher QUALIFIED
Morrow B SergiJapanXuxue Feng NEW
Smith X StockhamRussiaBernardo Dominic NEW
Ivar U CampainAustraliaBernardo Dominic UNQUALIFIED
Clifford A TollnerRussiaBernardo Dominic PROPOSAL
Mujtaba W NickaBrazilOnyama Limba UNQUALIFIED
Salvatore P SergiAustraliaAmy Elsner NEGOTIATION
James H FollerGermanyElwin Sharvill UNQUALIFIED
Jefferson Z CampainUnited KingdomElwin Sharvill NEGOTIATION
Jefferson C PoquetteItalyAmy Elsner UNQUALIFIED
Ricardo A ButtAustraliaAsiya Javayant UNQUALIFIED
James F BowleyArgentinaXuxue Feng NEW
Julie F BowleyAustraliaOnyama Limba NEGOTIATION
Aruna H MaletAustraliaBernardo Dominic RENEWAL
Octavia L PaprockiFranceBernardo Dominic RENEWAL
Ashley E OstroskyBrazilOnyama Limba NEGOTIATION
Juan T GarufiRussiaStephen Shaw UNQUALIFIED
Deepesh L DarakjyJapanIvan Magalhaes QUALIFIED
Antonio D InouyeGermanyAsiya Javayant QUALIFIED
Julie V OstroskyIndiaOnyama Limba NEGOTIATION
Adams W FlosiUnited KingdomElwin Sharvill RENEWAL
Nicolas W DilliardAustraliaAsiya Javayant PROPOSAL
Kaitlin P SergiRussiaAsiya Javayant NEGOTIATION
Tony X CaldareraBrazilOnyama Limba UNQUALIFIED
Maisha U PoquetteAustraliaAsiya Javayant NEGOTIATION
Tony M PoquetteIndiaAsiya Javayant NEW
Leon V DilliardSpainStephen Shaw NEW
Claire E FerenczUnited KingdomAmy Elsner UNQUALIFIED
Emily C KolmetzGermanyElwin Sharvill UNQUALIFIED
Claire N SergiArgentinaElwin Sharvill NEGOTIATION
Kaitlin S RulapaughItalyXuxue Feng UNQUALIFIED
Murillo B BologniaFranceOnyama Limba PROPOSAL
Morrow A GarufiGermanyAmy Elsner QUALIFIED
David T ChuiItalyOnyama Limba PROPOSAL
Tony N KolmetzArgentinaAmy Elsner UNQUALIFIED
Izzy X GillianIndiaXuxue Feng NEGOTIATION
Arvin M DilliardJapanBernardo Dominic QUALIFIED
Jeanfrancois H WieserUnited KingdomOnyama Limba RENEWAL
Clifford V BowleyAustraliaStephen Shaw NEW
Francesco E PoquetteArgentinaStephen Shaw PROPOSAL
Jennifer B BologniaItalyAnna Fali NEW
Antonio A DilliardBrazilIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro H WaycottJapanAmy Elsner QUALIFIED
Mujtaba I NickaIndiaOnyama Limba RENEWAL
Tony R SaylorsBrazilAmy Elsner NEW
Munro F MarrierCanadaOnyama Limba PROPOSAL
Johnson X WieserCanadaAsiya Javayant QUALIFIED
Adams X BriddickCanadaElwin Sharvill QUALIFIED
Jones V CaudyRussiaAnna Fali UNQUALIFIED
Salvatore E FigeroaIndiaIvan Magalhaes NEGOTIATION
Rodrigues R RulapaughItalyElwin Sharvill NEW
Murillo Z PaprockiItalyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy V ButtRussia2025-11-03Chemel, James L Cpa QUALIFIED90Anna Fali
1001Rodrigues V PoquetteUnited Kingdom2025-10-07Feltz Printing Service UNQUALIFIED43Onyama Limba
1002Silvio S WaycottItaly2025-10-10Dorl, James J Esq UNQUALIFIED84Elwin Sharvill
1003Leon J KuskoIndia2025-10-29King, Christopher A Esq QUALIFIED50Ioni Bowcher
1004Kaitlin Z MorascaSpain2025-10-12Chemel, James L Cpa NEW72Amy Elsner
1005Arvin Z BowleyBrazil2025-10-10Feiner Bros PROPOSAL20Stephen Shaw
1006Leja D MacleadItaly2025-10-30Commercial Press PROPOSAL91Elwin Sharvill
1007Clifford R AlbaresBrazil2025-10-17Buckley Miller Wright RENEWAL89Onyama Limba
1008David N VenereGermany2025-10-25King, Christopher A Esq QUALIFIED63Onyama Limba
1009Mayumi Z MaletSpain2025-11-05Buckley Miller Wright NEGOTIATION39Elwin Sharvill
1010Isabel L RutaBrazil2025-11-03Commercial Press RENEWAL84Ioni Bowcher
1011Greenwood P BologniaCanada2025-11-02Benton, John B Jr PROPOSAL36Onyama Limba
1012Silvio M PoquetteGermany2025-10-24Truhlar And Truhlar Attys QUALIFIED46Asiya Javayant
1013Isabel A ChuiRussia2025-11-03Chemel, James L Cpa NEGOTIATION11Stephen Shaw
1014Aditya B SaylorsSpain2025-10-24Feiner Bros NEW88Ioni Bowcher
1015Jones O OstroskyIndia2025-10-18Morlong Associates PROPOSAL78Onyama Limba
1016Julie C WhobreyUnited Kingdom2025-10-15Commercial Press NEGOTIATION45Anna Fali
1017Jones X SchemmerRussia2025-10-09Chapman, Ross E Esq QUALIFIED69Onyama Limba
1018Misaki D GlickSpain2025-10-28King, Christopher A Esq QUALIFIED60Anna Fali
1019Darci S CaldareraGermany2025-10-12Chemel, James L Cpa UNQUALIFIED77Anna Fali
1020Arvin F MorascaArgentina2025-10-24Truhlar And Truhlar Attys NEGOTIATION74Ioni Bowcher
1021Maria K GillianIndia2025-11-02Truhlar And Truhlar Attys NEGOTIATION74Stephen Shaw
1022Aika C PerinCanada2025-11-03Benton, John B Jr NEW38Bernardo Dominic
1023Kadeem L WieserRussia2025-11-04Rangoni Of Florence NEGOTIATION71Xuxue Feng
1024Claire P BowleyJapan2025-10-15Buckley Miller Wright QUALIFIED90Elwin Sharvill
1025Faith N AmigonFrance2025-10-21Rousseaux, Michael Esq QUALIFIED86Stephen Shaw
1026Morrow P AlbaresCanada2025-10-28Feltz Printing Service NEGOTIATION49Xuxue Feng
1027Tony W MacleadRussia2025-11-03King, Christopher A Esq RENEWAL73Ivan Magalhaes
1028Darci I StensethCanada2025-10-16Chemel, James L Cpa NEW10Bernardo Dominic
1029Juan D MaletBrazil2025-10-08Printing Dimensions NEW17Onyama Limba
1030Ashley Q MaletAustralia2025-10-09Truhlar And Truhlar Attys QUALIFIED63Ioni Bowcher
1031Sinclair Q MarrierSpain2025-10-29Truhlar And Truhlar Attys QUALIFIED91Onyama Limba
1032Izzy M StensethRussia2025-10-27Dorl, James J Esq PROPOSAL42Amy Elsner
1033Rodrigues S TollnerIndia2025-10-11Feltz Printing Service UNQUALIFIED86Ivan Magalhaes
1034Octavia G PoquetteUnited Kingdom2025-10-20Dorl, James J Esq UNQUALIFIED7Ivan Magalhaes
1035Arvin T WaycottJapan2025-10-16Dorl, James J Esq PROPOSAL56Elwin Sharvill
1036David E GillianArgentina2025-10-30Chemel, James L Cpa RENEWAL36Xuxue Feng
1037Johnson B MacleadArgentina2025-10-10Rangoni Of Florence PROPOSAL74Elwin Sharvill
1038Silvio M InouyeIndia2025-10-27Rousseaux, Michael Esq UNQUALIFIED21Ioni Bowcher
1039Munro D FollerCanada2025-10-26Rousseaux, Michael Esq NEW86Stephen Shaw
1040Nicolas Y GarufiRussia2025-11-01Benton, John B Jr QUALIFIED66Ivan Magalhaes
1041Munro R MorascaIndia2025-10-09Rangoni Of Florence QUALIFIED96Stephen Shaw
1042Maisha Y IturbideSpain2025-11-01Feiner Bros NEGOTIATION97Elwin Sharvill
1043Nicolas H MacleadFrance2025-10-08Chanay, Jeffrey A Esq QUALIFIED89Xuxue Feng
1044Francesco U GauchoGermany2025-10-19Benton, John B Jr NEGOTIATION78Asiya Javayant
1045Julie A MorascaRussia2025-10-23King, Christopher A Esq RENEWAL49Ioni Bowcher
1046Izzy D MaletIndia2025-10-17Commercial Press RENEWAL14Stephen Shaw
1047Ashley K WieserJapan2025-10-13Rousseaux, Michael Esq NEGOTIATION21Ioni Bowcher
1048Aditya E ButtJapan2025-10-29Buckley Miller Wright QUALIFIED89Xuxue Feng
1049Jennifer A ShinkoJapan2025-10-29Morlong Associates UNQUALIFIED55Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Emily A PoquetteArgentinaAnna Fali UNQUALIFIED
Salvatore D MarrierRussiaBernardo Dominic QUALIFIED
Clifford L StensethAustraliaElwin Sharvill QUALIFIED
Smith L KuskoAustraliaAnna Fali RENEWAL
Leja A DarakjySpainOnyama Limba QUALIFIED
Antonio Z MarrierSpainAnna Fali QUALIFIED
Ashley G FigeroaIndiaXuxue Feng NEGOTIATION
Costa U PaprockiItalyXuxue Feng QUALIFIED
Aruna Q TollnerRussiaIoni Bowcher QUALIFIED
Aruna L PoquetteUnited KingdomBernardo Dominic RENEWAL
Adams Z OldroydItalyBernardo Dominic NEGOTIATION
Alejandro R FlosiUnited KingdomXuxue Feng NEGOTIATION
Tony H DoeBrazilXuxue Feng RENEWAL
Chavez F PerinFranceAsiya Javayant NEW
Kadeem E StockhamJapanOnyama Limba QUALIFIED
Claire Y SergiGermanyAmy Elsner PROPOSAL
Clifford J TollnerJapanIoni Bowcher RENEWAL
Leja A StockhamGermanyStephen Shaw NEW
Emily M GarufiCanadaAmy Elsner NEW
Leja R MaletCanadaAnna Fali NEW
Mayumi I FigeroaArgentinaAmy Elsner QUALIFIED
Aika Z ChuiItalyAnna Fali RENEWAL
Maisha F PaprockiAustraliaOnyama Limba UNQUALIFIED
Rodrigues C GillianGermanyXuxue Feng PROPOSAL
Jennifer C CampainArgentinaStephen Shaw NEGOTIATION
Ivar Z KolmetzItalyIoni Bowcher NEGOTIATION
Ivar B NestleAustraliaOnyama Limba PROPOSAL
Octavia A IturbideRussiaIoni Bowcher NEW
Kadeem I BowleyUnited KingdomElwin Sharvill PROPOSAL
Tony N WieserIndiaIoni Bowcher QUALIFIED
Salvatore W FerenczItalyOnyama Limba PROPOSAL
Jefferson V FigeroaSpainStephen Shaw UNQUALIFIED
Chavez I StockhamIndiaElwin Sharvill QUALIFIED
Munro B BowleyItalyStephen Shaw NEGOTIATION
David P BologniaFranceElwin Sharvill NEGOTIATION
Arvin D FlosiJapanXuxue Feng RENEWAL
Jones D FollerUnited KingdomStephen Shaw QUALIFIED
Faith Y MorascaFranceElwin Sharvill NEW
Maria M ChuiJapanOnyama Limba QUALIFIED
Clifford C RutaAustraliaAmy Elsner NEW
Leja O StockhamCanadaXuxue Feng NEGOTIATION
Johnson O InouyeFranceAmy Elsner RENEWAL
Murillo N WhobreyRussiaStephen Shaw UNQUALIFIED
Aika O MacleadGermanyIoni Bowcher UNQUALIFIED
Morrow L VocelkaGermanyAsiya Javayant QUALIFIED
Maria M OldroydRussiaStephen Shaw PROPOSAL
Alejandro E SergiJapanAsiya Javayant RENEWAL
Maria M MorascaFranceOnyama Limba RENEWAL
Clifford R FlosiArgentinaXuxue Feng NEW
Ricardo A FigeroaFranceAnna Fali UNQUALIFIED
Frozen Columns
Name
Juan E Stenseth
Jeanfrancois G Royster
Leja Y Marrier
Greenwood F Dilliard
Chavez I Caudy
Morrow J Shinko
Izzy S Caldarera
Ashley O Paprocki
Julie J Morasca
Aditya U Ruta
Aditya E Doe
Salvatore U Ferencz
Julie C Gaucho
Chavez X Rulapaugh
Mujtaba M Gillian
Rodrigues E Sergi
David J Caldarera
Faith A Sergi
Isabel Y Ostrosky
Isabel X Amigon
Morrow E Shinko
Juan I Glick
Smith T Kusko
Misaki D Waycott
Ashley N Oldroyd
Alejandro P Schemmer
Octavia Y Campain
Kaitlin P Rulapaugh
Misaki O Rulapaugh
Munro D Bowley
Munro B Morasca
Jones V Whobrey
Emily I Malet
Alejandro P Gillian
Izzy R Gaucho
Kadeem M Foller
Rodrigues F Oldroyd
Mayumi X Glick
Jefferson M Foller
Jefferson R Chui
Morrow U Inouye
David C Tollner
Morrow P Royster
Adams G Marrier
Clifford H Tollner
Nicolas H Oldroyd
Ricardo M Glick
Adams S Garufi
Misaki H Iturbide
Salvatore O Schemmer
IdCountryDate
1000Italy2025-10-16
1001Australia2025-10-08
1002Italy2025-10-16
1003Spain2025-10-31
1004Japan2025-10-30
1005Canada2025-10-18
1006Brazil2025-10-10
1007Germany2025-11-01
1008Spain2025-11-02
1009Brazil2025-11-02
1010Russia2025-10-16
1011Italy2025-10-10
1012Germany2025-11-02
1013Germany2025-10-28
1014United Kingdom2025-11-01
1015Brazil2025-10-19
1016Australia2025-11-04
1017United Kingdom2025-10-07
1018France2025-11-03
1019France2025-10-29
1020Brazil2025-10-27
1021Australia2025-11-05
1022Argentina2025-11-05
1023Italy2025-10-20
1024Italy2025-10-22
1025France2025-10-18
1026Italy2025-11-05
1027France2025-10-19
1028Russia2025-10-16
1029India2025-10-12
1030Japan2025-10-15
1031United Kingdom2025-10-09
1032Spain2025-10-10
1033Brazil2025-10-31
1034Germany2025-11-04
1035Canada2025-11-03
1036United Kingdom2025-10-09
1037United Kingdom2025-10-08
1038Australia2025-10-25
1039France2025-10-10
1040India2025-10-10
1041Japan2025-11-02
1042France2025-10-20
1043Argentina2025-10-08
1044Brazil2025-10-16
1045Russia2025-10-10
1046Japan2025-11-03
1047Germany2025-10-13
1048Spain2025-10-28
1049Argentina2025-10-31

On-Demand Data

NameIdCountryDate
Octavia U Glick1000France2025-10-30
Izzy C Nicka1001Argentina2025-10-26
Salvatore U Gillian1002France2025-10-19
Mujtaba C Stockham1003Japan2025-10-23
Wickens G Venere1004India2025-10-21
Ashley J Waycott1005Argentina2025-10-22
Emily Z Darakjy1006Germany2025-10-13
Aika X Waycott1007Germany2025-10-31
Silvio K Nestle1008India2025-10-27
Wickens I Malet1009France2025-10-16
Kaitlin O Dilliard1010United Kingdom2025-10-16
Stacey L Tollner1011Russia2025-10-31
Smith F Maclead1012Russia2025-10-27
Ivar O Caldarera1013Germany2025-10-31
Maisha V Stockham1014United Kingdom2025-10-09
Aruna P Rulapaugh1015India2025-10-20
Leja I Bolognia1016Canada2025-10-30
Cody K Wieser1017Canada2025-10-16
Nicolas Q Nestle1018Argentina2025-10-16
Ivar X Wieser1019Russia2025-10-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro T IturbideArgentinaStephen Shaw UNQUALIFIED
Aditya A DarakjySpainIoni Bowcher UNQUALIFIED
Johnson X OldroydJapanAnna Fali NEGOTIATION
Costa Z NestleJapanStephen Shaw UNQUALIFIED
Misaki F KolmetzItalyAnna Fali PROPOSAL
James L CaudyIndiaIvan Magalhaes UNQUALIFIED
Greenwood W AmigonGermanyBernardo Dominic NEGOTIATION
Misaki I FlosiUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi K StensethSpainElwin Sharvill RENEWAL
Ricardo P BriddickSpainIvan Magalhaes QUALIFIED
Aruna I MarrierArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois C SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Nicolas H ButtCanadaStephen Shaw NEW
Isabel N SergiGermanyXuxue Feng RENEWAL
Cody K VocelkaCanadaStephen Shaw QUALIFIED
Maria E MarrierIndiaElwin Sharvill UNQUALIFIED
Stacey Z IturbideRussiaElwin Sharvill NEGOTIATION
Arvin C MacleadUnited KingdomIoni Bowcher NEW
Julie S NickaArgentinaAmy Elsner NEW
Leon W GarufiJapanOnyama Limba PROPOSAL
Alejandro B SlusarskiBrazilElwin Sharvill QUALIFIED
Jefferson E ChuiFranceBernardo Dominic NEGOTIATION
Maria G ButtFranceStephen Shaw PROPOSAL
Wickens M AmigonJapanAmy Elsner UNQUALIFIED
Morrow N BowleyIndiaAnna Fali UNQUALIFIED
Kaitlin L PaprockiAustraliaAmy Elsner QUALIFIED
Ashley B InouyeSpainBernardo Dominic NEW
Leon Z MarrierSpainXuxue Feng NEGOTIATION
Ricardo K WieserArgentinaIoni Bowcher PROPOSAL
Cody D VenereSpainXuxue Feng NEW
Morrow O VenereJapanAsiya Javayant NEW
Faith R InouyeBrazilAnna Fali RENEWAL
Deepesh I BriddickAustraliaAnna Fali NEGOTIATION
Adams Z GauchoIndiaBernardo Dominic NEGOTIATION
Tony R AmigonRussiaBernardo Dominic RENEWAL
Ricardo L WieserItalyIvan Magalhaes PROPOSAL
Antonio A IturbideSpainBernardo Dominic RENEWAL
Clifford M NickaSpainElwin Sharvill UNQUALIFIED
Murillo A CaldareraRussiaElwin Sharvill NEW
Ivar G NestleFranceAsiya Javayant UNQUALIFIED

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