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
Morrow S WieserCanadaAsiya Javayant UNQUALIFIED
Kaitlin I AmigonAustraliaBernardo Dominic PROPOSAL
Jennifer H BriddickCanadaIvan Magalhaes NEW
Jefferson N BowleyCanadaAnna Fali QUALIFIED
Isabel I DoeFranceOnyama Limba UNQUALIFIED
Mujtaba C ButtItalyElwin Sharvill PROPOSAL
Antonio X SergiUnited KingdomIoni Bowcher QUALIFIED
Sinclair F VenereSpainOnyama Limba PROPOSAL
Darci C DilliardIndiaAsiya Javayant UNQUALIFIED
Mujtaba I MaletRussiaAnna Fali NEW
Chavez X ChuiAustraliaStephen Shaw UNQUALIFIED
Chavez Y InouyeIndiaAmy Elsner RENEWAL
Leja Q CaldareraIndiaBernardo Dominic NEW
Salvatore N KuskoAustraliaIvan Magalhaes UNQUALIFIED
Morrow F WaycottItalyBernardo Dominic NEW
Darci Y VocelkaIndiaAsiya Javayant UNQUALIFIED
Morrow E MacleadAustraliaStephen Shaw QUALIFIED
Tony B SaylorsItalyBernardo Dominic RENEWAL
Isabel K SlusarskiRussiaIvan Magalhaes NEW
Greenwood S FlosiJapanStephen Shaw RENEWAL
Julie G TollnerSpainStephen Shaw NEW
Alejandro Z OldroydItalyElwin Sharvill NEW
Aruna E ShinkoCanadaXuxue Feng QUALIFIED
Clifford B OstroskyAustraliaAnna Fali NEGOTIATION
Arvin Z RutaRussiaAsiya Javayant RENEWAL
Juan T RimSpainStephen Shaw NEW
Munro R FollerArgentinaAsiya Javayant NEGOTIATION
Aditya N CampainItalyXuxue Feng RENEWAL
Leon G FollerSpainIoni Bowcher PROPOSAL
Leon V OstroskyGermanyAmy Elsner RENEWAL
Cody V DilliardRussiaIoni Bowcher UNQUALIFIED
Aruna D CaudyAustraliaAsiya Javayant PROPOSAL
Isabel O CampainArgentinaElwin Sharvill QUALIFIED
Mujtaba A InouyeUnited KingdomBernardo Dominic PROPOSAL
Munro S ChuiCanadaAsiya Javayant PROPOSAL
Kadeem K GlickArgentinaStephen Shaw NEW
Ricardo N BologniaBrazilStephen Shaw NEGOTIATION
Kadeem J DilliardAustraliaAsiya Javayant NEW
Munro C WaycottIndiaXuxue Feng UNQUALIFIED
Jones G GarufiArgentinaIvan Magalhaes NEGOTIATION
Julie X AlbaresItalyAsiya Javayant RENEWAL
Rodrigues I StensethUnited KingdomAsiya Javayant NEW
Sinclair R MarrierJapanAnna Fali NEW
Misaki B BowleyJapanElwin Sharvill NEW
Aika V SaylorsCanadaElwin Sharvill RENEWAL
Octavia A PoquetteCanadaStephen Shaw RENEWAL
Maisha O WieserGermanyStephen Shaw PROPOSAL
Antonio U PerinSpainXuxue Feng UNQUALIFIED
Silvio U BologniaAustraliaAnna Fali NEGOTIATION
Deepesh E WaycottSpainBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro P GarufiGermanyAsiya Javayant QUALIFIED
Clifford Y RimItalyIvan Magalhaes NEW
Adams P DoeFranceIoni Bowcher PROPOSAL
David B SergiIndiaIoni Bowcher PROPOSAL
Octavia C AlbaresRussiaElwin Sharvill NEGOTIATION
Stacey J SchemmerSpainXuxue Feng NEGOTIATION
Aruna I StockhamCanadaStephen Shaw NEGOTIATION
Jeanfrancois Z OldroydUnited KingdomAmy Elsner NEW
Faith T BowleyAustraliaElwin Sharvill NEW
Silvio K FigeroaCanadaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood L MarrierGermany2025-07-20Printing Dimensions NEGOTIATION91Ioni Bowcher
1001Nicolas W MaletSpain2025-08-05Printing Dimensions QUALIFIED72Amy Elsner
1002Arvin W GillianBrazil2025-07-28King, Christopher A Esq UNQUALIFIED62Xuxue Feng
1003Rodrigues X DoeCanada2025-08-10Printing Dimensions NEGOTIATION19Amy Elsner
1004Silvio U ButtJapan2025-08-02Morlong Associates RENEWAL99Ivan Magalhaes
1005Maria A MaletBrazil2025-08-01Feltz Printing Service NEGOTIATION65Bernardo Dominic
1006Murillo U SlusarskiAustralia2025-08-02Dorl, James J Esq RENEWAL6Anna Fali
1007Francesco O CaldareraUnited Kingdom2025-07-22Rousseaux, Michael Esq NEW49Xuxue Feng
1008Francesco H SergiJapan2025-07-29Chapman, Ross E Esq RENEWAL17Elwin Sharvill
1009Rodrigues D VocelkaAustralia2025-08-03Buckley Miller Wright NEW32Xuxue Feng
1010Stacey D MacleadAustralia2025-08-07Chemel, James L Cpa PROPOSAL20Bernardo Dominic
1011Rodrigues Z StockhamJapan2025-07-18Truhlar And Truhlar Attys NEW91Amy Elsner
1012Octavia K IturbideBrazil2025-07-28Rousseaux, Michael Esq UNQUALIFIED44Asiya Javayant
1013Julie L SlusarskiBrazil2025-07-14Morlong Associates QUALIFIED69Onyama Limba
1014Stacey M VenereIndia2025-07-23King, Christopher A Esq UNQUALIFIED94Amy Elsner
1015Jeanfrancois Q RimUnited Kingdom2025-07-29Benton, John B Jr PROPOSAL66Asiya Javayant
1016Murillo M OldroydJapan2025-07-25Dorl, James J Esq PROPOSAL13Onyama Limba
1017Jefferson S GarufiSpain2025-07-16Morlong Associates NEGOTIATION5Anna Fali
1018Juan T PoquetteArgentina2025-08-07Chanay, Jeffrey A Esq RENEWAL15Elwin Sharvill
1019Jefferson Q OldroydGermany2025-08-12Printing Dimensions QUALIFIED33Elwin Sharvill
1020Isabel G FigeroaCanada2025-07-26Rangoni Of Florence NEGOTIATION99Elwin Sharvill
1021Jones I SaylorsCanada2025-08-03King, Christopher A Esq QUALIFIED41Xuxue Feng
1022Aditya H SergiAustralia2025-07-16Rousseaux, Michael Esq NEW80Amy Elsner
1023Wickens Q RoysterAustralia2025-08-05King, Christopher A Esq NEGOTIATION57Stephen Shaw
1024Faith N MaletBrazil2025-07-22Printing Dimensions NEW26Onyama Limba
1025Aditya B GillianItaly2025-07-28Rangoni Of Florence NEGOTIATION75Elwin Sharvill
1026Wickens D MarrierAustralia2025-07-17Truhlar And Truhlar Attys UNQUALIFIED46Stephen Shaw
1027Jones P OstroskyUnited Kingdom2025-07-16Printing Dimensions RENEWAL36Anna Fali
1028Kadeem A PerinItaly2025-07-26Chapman, Ross E Esq QUALIFIED5Elwin Sharvill
1029Leon V FigeroaJapan2025-07-16Rousseaux, Michael Esq NEGOTIATION75Ioni Bowcher
1030Silvio I SergiRussia2025-08-10Buckley Miller Wright NEW99Xuxue Feng
1031Jones O SlusarskiCanada2025-08-05Feltz Printing Service UNQUALIFIED47Xuxue Feng
1032Ashley B CaldareraIndia2025-08-06Feiner Bros QUALIFIED15Anna Fali
1033Isabel V GarufiGermany2025-07-16King, Christopher A Esq NEGOTIATION45Anna Fali
1034Johnson A IturbideGermany2025-07-19Rangoni Of Florence QUALIFIED18Bernardo Dominic
1035Stacey N KuskoSpain2025-07-23Commercial Press NEW91Amy Elsner
1036Octavia H ChuiJapan2025-07-26Morlong Associates PROPOSAL20Ioni Bowcher
1037Maria G NickaBrazil2025-07-20Morlong Associates NEGOTIATION80Bernardo Dominic
1038James C ButtRussia2025-07-30Chemel, James L Cpa NEGOTIATION63Ivan Magalhaes
1039Misaki O CaldareraJapan2025-08-08Truhlar And Truhlar Attys PROPOSAL17Ivan Magalhaes
1040Johnson F CaudyRussia2025-07-20Chemel, James L Cpa RENEWAL80Elwin Sharvill
1041Isabel W BriddickArgentina2025-07-16Printing Dimensions NEGOTIATION9Xuxue Feng
1042Ivar D WieserSpain2025-08-12Morlong Associates NEW89Ioni Bowcher
1043Arvin B AlbaresJapan2025-07-17Feltz Printing Service NEW70Elwin Sharvill
1044Rodrigues S FlosiItaly2025-08-10Benton, John B Jr RENEWAL56Stephen Shaw
1045Rodrigues U CampainCanada2025-07-17Benton, John B Jr NEW31Ivan Magalhaes
1046Leja J MorascaGermany2025-07-21Rousseaux, Michael Esq NEW46Amy Elsner
1047James V RimUnited Kingdom2025-07-23Feltz Printing Service UNQUALIFIED20Anna Fali
1048Emily Y DarakjyAustralia2025-07-15Printing Dimensions NEW41Stephen Shaw
1049Nicolas W MacleadRussia2025-08-08Chanay, Jeffrey A Esq UNQUALIFIED82Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro F SlusarskiRussiaAsiya Javayant QUALIFIED
Jones E FlosiRussiaXuxue Feng PROPOSAL
Nicolas B AmigonFranceIoni Bowcher PROPOSAL
Maisha V FigeroaJapanAnna Fali UNQUALIFIED
Julie N VocelkaAustraliaStephen Shaw NEGOTIATION
Mayumi Q GauchoSpainIoni Bowcher NEW
Leon Q StockhamAustraliaAmy Elsner UNQUALIFIED
Kadeem B DilliardJapanIvan Magalhaes PROPOSAL
Aika G RutaItalyStephen Shaw NEGOTIATION
Greenwood W MacleadBrazilElwin Sharvill NEW
Tony C SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Ivar M AlbaresIndiaIoni Bowcher PROPOSAL
Jefferson N CampainItalyElwin Sharvill UNQUALIFIED
Antonio J FigeroaItalyXuxue Feng QUALIFIED
Murillo O ButtBrazilAmy Elsner PROPOSAL
Munro B MacleadFranceElwin Sharvill NEGOTIATION
Clifford K GauchoRussiaAsiya Javayant NEGOTIATION
Murillo E FerenczGermanyAmy Elsner NEW
Darci X WieserIndiaOnyama Limba NEW
Rodrigues J RutaAustraliaAmy Elsner PROPOSAL
Mujtaba T ButtItalyElwin Sharvill QUALIFIED
Johnson C CaudyUnited KingdomAnna Fali PROPOSAL
Rodrigues P GillianAustraliaOnyama Limba PROPOSAL
Rodrigues V StockhamRussiaAsiya Javayant RENEWAL
Aika Z PaprockiItalyAmy Elsner QUALIFIED
Johnson C OldroydUnited KingdomIoni Bowcher NEGOTIATION
Silvio N GlickSpainOnyama Limba NEW
Clifford G ChuiCanadaAsiya Javayant QUALIFIED
Johnson J MaletArgentinaAsiya Javayant NEGOTIATION
Leja R TollnerBrazilAmy Elsner UNQUALIFIED
Ricardo V MarrierAustraliaIvan Magalhaes PROPOSAL
Antonio H ShinkoItalyIvan Magalhaes PROPOSAL
Salvatore R PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas S AlbaresBrazilAnna Fali NEW
Leon P RulapaughFranceAnna Fali RENEWAL
Munro T DoeCanadaBernardo Dominic QUALIFIED
Tony S PerinArgentinaIvan Magalhaes NEGOTIATION
David L RulapaughArgentinaBernardo Dominic UNQUALIFIED
Leon T GlickCanadaStephen Shaw UNQUALIFIED
Aika L InouyeJapanAsiya Javayant UNQUALIFIED
Misaki C ChuiIndiaAmy Elsner NEW
Faith D FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Aruna L VenereIndiaAmy Elsner RENEWAL
Antonio A RimBrazilAmy Elsner QUALIFIED
Claire S CaldareraFranceElwin Sharvill NEW
Mayumi R MorascaGermanyBernardo Dominic RENEWAL
Ashley P AlbaresBrazilStephen Shaw PROPOSAL
Alejandro P NestleCanadaElwin Sharvill RENEWAL
Darci G InouyeSpainAmy Elsner UNQUALIFIED
Antonio I CampainUnited KingdomAmy Elsner NEGOTIATION
Frozen Columns
Name
Ivar I Malet
Tony O Flosi
Costa Q Schemmer
Cody W Albares
Munro O Foller
Jennifer N Garufi
Chavez C Morasca
Ivar C Glick
Chavez B Albares
Jefferson L Stockham
Ivar F Morasca
Cody I Schemmer
Mujtaba J Nestle
Octavia B Oldroyd
Stacey M Poquette
Stacey K Dilliard
Chavez A Caldarera
Jennifer I Perin
Ricardo R Whobrey
Aika T Saylors
Juan R Maclead
Maria P Iturbide
Aika E Gaucho
Greenwood F Garufi
Claire H Flosi
Kadeem Q Albares
Aruna C Rim
Izzy U Shinko
Chavez S Inouye
Rodrigues L Stenseth
Ashley H Briddick
Alejandro O Stenseth
Greenwood N Slusarski
Mayumi Q Stenseth
Johnson L Butt
Chavez W Oldroyd
Jefferson T Flosi
Wickens Y Gillian
Ricardo S Stenseth
Rodrigues B Poquette
Claire A Caudy
Salvatore C Amigon
Octavia P Paprocki
Juan J Perin
Isabel X Perin
Faith Q Rulapaugh
Murillo L Royster
Isabel K Albares
Chavez Y Rim
Cody E Malet
IdCountryDate
1000United Kingdom2025-08-10
1001Argentina2025-07-20
1002Australia2025-07-16
1003United Kingdom2025-07-22
1004India2025-08-12
1005Germany2025-07-15
1006Brazil2025-08-07
1007Australia2025-07-28
1008France2025-07-18
1009France2025-07-23
1010Russia2025-07-31
1011Germany2025-07-30
1012Australia2025-07-15
1013Australia2025-07-31
1014Brazil2025-08-10
1015Australia2025-08-07
1016Italy2025-08-04
1017Argentina2025-08-09
1018Spain2025-07-21
1019Argentina2025-07-24
1020Spain2025-07-19
1021United Kingdom2025-08-05
1022Germany2025-07-21
1023Canada2025-08-12
1024France2025-07-22
1025Germany2025-07-22
1026Argentina2025-07-21
1027Germany2025-07-22
1028Australia2025-08-10
1029Russia2025-07-18
1030Japan2025-07-24
1031France2025-07-25
1032Japan2025-08-10
1033United Kingdom2025-07-18
1034France2025-07-27
1035Spain2025-07-22
1036Spain2025-08-10
1037Russia2025-07-26
1038Canada2025-07-29
1039Argentina2025-07-28
1040India2025-08-09
1041Germany2025-08-09
1042Japan2025-08-05
1043Canada2025-07-24
1044Australia2025-08-06
1045Brazil2025-07-16
1046France2025-07-14
1047Brazil2025-08-10
1048United Kingdom2025-07-24
1049Canada2025-08-01

On-Demand Data

NameIdCountryDate
James C Kolmetz1000Italy2025-07-21
David R Ostrosky1001Russia2025-07-15
Aditya U Saylors1002Russia2025-07-19
Munro H Inouye1003France2025-07-17
Jefferson I Nestle1004Japan2025-08-12
Rodrigues P Albares1005Argentina2025-07-31
James Q Stenseth1006Germany2025-08-08
Aruna L Kusko1007Spain2025-08-07
Maria Y Bolognia1008France2025-07-24
Morrow M Stenseth1009Australia2025-07-31
Ivar I Paprocki1010Japan2025-07-17
Darci P Nicka1011India2025-07-19
Aika W Doe1012Italy2025-07-27
Sinclair W Bolognia1013Canada2025-07-18
Mujtaba K Briddick1014Germany2025-08-12
Faith T Flosi1015Canada2025-08-03
Misaki O Perin1016Brazil2025-08-04
Costa F Ruta1017Spain2025-07-31
Tony G Inouye1018Italy2025-07-15
Chavez Y Morasca1019Canada2025-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith F CampainJapanOnyama Limba NEGOTIATION
Aditya T RoysterJapanOnyama Limba NEGOTIATION
Jennifer Q DilliardBrazilAmy Elsner NEGOTIATION
Jeanfrancois T DilliardFranceBernardo Dominic RENEWAL
Kaitlin K AlbaresUnited KingdomElwin Sharvill QUALIFIED
Faith D CaldareraCanadaIvan Magalhaes QUALIFIED
Faith E MarrierAustraliaAsiya Javayant NEW
Mujtaba Y FlosiFranceXuxue Feng NEGOTIATION
Jeanfrancois T PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Tony F RulapaughCanadaElwin Sharvill PROPOSAL
Alejandro Q SchemmerJapanIvan Magalhaes UNQUALIFIED
Nicolas V ButtJapanElwin Sharvill UNQUALIFIED
Ivar E BriddickItalyBernardo Dominic NEGOTIATION
Alejandro I PaprockiRussiaIoni Bowcher QUALIFIED
Ivar V DarakjyJapanXuxue Feng UNQUALIFIED
Johnson I VenereRussiaStephen Shaw NEW
Costa W BowleyRussiaOnyama Limba PROPOSAL
David N RoysterRussiaElwin Sharvill QUALIFIED
Julie J VenereUnited KingdomAsiya Javayant UNQUALIFIED
Jones O StensethItalyElwin Sharvill PROPOSAL
Wickens H GauchoItalyOnyama Limba RENEWAL
Sinclair G MacleadFranceAnna Fali QUALIFIED
Ricardo E PaprockiIndiaAsiya Javayant UNQUALIFIED
Octavia M FlosiIndiaBernardo Dominic RENEWAL
Aika L RimAustraliaIvan Magalhaes NEGOTIATION
Izzy H KuskoRussiaIoni Bowcher PROPOSAL
Nicolas U InouyeUnited KingdomIoni Bowcher PROPOSAL
Silvio P StensethIndiaElwin Sharvill PROPOSAL
Kaitlin R GauchoRussiaOnyama Limba NEW
Ashley B MorascaRussiaOnyama Limba RENEWAL
Aditya Z PerinBrazilElwin Sharvill NEGOTIATION
Darci X MacleadUnited KingdomAmy Elsner NEW
Tony P MaletCanadaIoni Bowcher QUALIFIED
Wickens I MorascaUnited KingdomOnyama Limba NEW
Jefferson F RimUnited KingdomAmy Elsner QUALIFIED
Johnson G SchemmerBrazilElwin Sharvill RENEWAL
Jones U FlosiSpainStephen Shaw UNQUALIFIED
James B PoquetteBrazilAnna Fali NEGOTIATION
Mujtaba B GillianGermanyIvan Magalhaes RENEWAL
Izzy S MorascaJapanIvan Magalhaes NEGOTIATION

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