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
Ashley R WaycottUnited KingdomOnyama Limba UNQUALIFIED
Ashley H WhobreyAustraliaAmy Elsner UNQUALIFIED
Costa X VenereGermanyElwin Sharvill NEGOTIATION
Johnson Y CaldareraRussiaElwin Sharvill PROPOSAL
Emily T RimCanadaAnna Fali QUALIFIED
Misaki D ShinkoBrazilIvan Magalhaes NEW
Claire C FollerCanadaElwin Sharvill QUALIFIED
Morrow Y NestleUnited KingdomXuxue Feng QUALIFIED
Alejandro W CampainCanadaAmy Elsner QUALIFIED
Munro G DoeItalyXuxue Feng QUALIFIED
Jeanfrancois M NickaUnited KingdomAnna Fali UNQUALIFIED
Faith V GillianFranceAsiya Javayant NEW
Emily S MaletFranceElwin Sharvill UNQUALIFIED
Deepesh V FollerGermanyElwin Sharvill RENEWAL
Ashley L StensethCanadaAsiya Javayant NEW
Munro W WaycottSpainAsiya Javayant RENEWAL
Aika O MaletJapanIoni Bowcher NEW
Julie Z MaletUnited KingdomIvan Magalhaes QUALIFIED
Cody E VenereGermanyAmy Elsner RENEWAL
Greenwood S BowleyBrazilAnna Fali UNQUALIFIED
Wickens B RutaUnited KingdomXuxue Feng UNQUALIFIED
Jennifer W FerenczCanadaBernardo Dominic NEGOTIATION
Emily K FerenczBrazilAmy Elsner PROPOSAL
Jeanfrancois E KolmetzIndiaIvan Magalhaes NEGOTIATION
Leon X BologniaIndiaElwin Sharvill RENEWAL
Mayumi I SergiIndiaXuxue Feng PROPOSAL
Nicolas Q NestleJapanIvan Magalhaes PROPOSAL
Chavez V KuskoBrazilAmy Elsner NEW
Claire Q PoquetteGermanyIoni Bowcher UNQUALIFIED
Jones B RoysterAustraliaAnna Fali QUALIFIED
Julie U IturbideBrazilStephen Shaw NEGOTIATION
Aika Z KolmetzUnited KingdomAnna Fali NEW
Emily E GlickAustraliaXuxue Feng RENEWAL
Mujtaba T StensethBrazilIvan Magalhaes NEGOTIATION
Faith P StockhamAustraliaAmy Elsner RENEWAL
Aditya I BowleyRussiaElwin Sharvill NEW
Jones F WaycottFranceElwin Sharvill NEW
Rodrigues F FollerFranceBernardo Dominic UNQUALIFIED
Kaitlin O BologniaAustraliaIvan Magalhaes RENEWAL
Deepesh U VocelkaGermanyIvan Magalhaes RENEWAL
Wickens G BowleyGermanyStephen Shaw RENEWAL
Ivar R GauchoGermanyAsiya Javayant NEGOTIATION
James Z CampainUnited KingdomBernardo Dominic NEGOTIATION
Murillo A FigeroaArgentinaElwin Sharvill RENEWAL
Tony V NickaGermanyIoni Bowcher RENEWAL
James Z TollnerCanadaOnyama Limba QUALIFIED
Munro L MacleadFranceAnna Fali RENEWAL
Munro K AmigonGermanyAnna Fali NEW
Arvin W FigeroaArgentinaElwin Sharvill PROPOSAL
Aditya I OstroskyBrazilAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire V FerenczBrazilElwin Sharvill NEGOTIATION
Izzy S MorascaItalyAsiya Javayant PROPOSAL
Maria G RimCanadaAmy Elsner UNQUALIFIED
Leon H RulapaughIndiaStephen Shaw UNQUALIFIED
Maisha L GlickUnited KingdomStephen Shaw NEGOTIATION
Murillo U RulapaughFranceAmy Elsner QUALIFIED
Mayumi G SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Deepesh F PoquetteAustraliaElwin Sharvill RENEWAL
Jennifer F WaycottBrazilAsiya Javayant NEGOTIATION
Ricardo C ButtSpainAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily W GillianCanada2025-08-04Feiner Bros UNQUALIFIED13Ioni Bowcher
1001Claire V CaudyGermany2025-07-26Feiner Bros NEW71Bernardo Dominic
1002Faith Z ShinkoJapan2025-07-22Truhlar And Truhlar Attys PROPOSAL83Onyama Limba
1003Deepesh U AmigonUnited Kingdom2025-07-25Feiner Bros NEGOTIATION49Asiya Javayant
1004Deepesh E PerinIndia2025-08-17King, Christopher A Esq QUALIFIED69Anna Fali
1005Maria W AlbaresArgentina2025-08-05Commercial Press QUALIFIED59Amy Elsner
1006James N CampainAustralia2025-08-13Dorl, James J Esq NEGOTIATION88Ioni Bowcher
1007David D MaletRussia2025-08-08Benton, John B Jr RENEWAL67Ivan Magalhaes
1008Francesco K BowleyItaly2025-07-20Truhlar And Truhlar Attys QUALIFIED43Amy Elsner
1009Clifford J GarufiUnited Kingdom2025-07-19Benton, John B Jr RENEWAL97Ioni Bowcher
1010Misaki X KuskoJapan2025-08-04Chemel, James L Cpa QUALIFIED38Elwin Sharvill
1011Nicolas V RulapaughJapan2025-08-12Dorl, James J Esq QUALIFIED95Asiya Javayant
1012Kaitlin P DoeUnited Kingdom2025-07-28Chemel, James L Cpa NEGOTIATION59Bernardo Dominic
1013Aruna J CaldareraIndia2025-08-02Rousseaux, Michael Esq NEW38Xuxue Feng
1014Jennifer T PerinRussia2025-08-06King, Christopher A Esq NEGOTIATION70Asiya Javayant
1015Chavez V KuskoFrance2025-07-24Dorl, James J Esq QUALIFIED80Stephen Shaw
1016Antonio P FlosiIndia2025-07-19Rousseaux, Michael Esq UNQUALIFIED14Amy Elsner
1017Leja N CampainBrazil2025-07-26Morlong Associates UNQUALIFIED12Elwin Sharvill
1018Isabel U IturbideUnited Kingdom2025-08-14Feiner Bros UNQUALIFIED97Bernardo Dominic
1019Maria F VenereItaly2025-08-06Rousseaux, Michael Esq UNQUALIFIED52Onyama Limba
1020Kaitlin E BologniaArgentina2025-07-30Chanay, Jeffrey A Esq QUALIFIED57Onyama Limba
1021Claire I WaycottJapan2025-08-06Chemel, James L Cpa NEGOTIATION80Onyama Limba
1022Maria C FigeroaAustralia2025-07-27Chapman, Ross E Esq NEGOTIATION68Asiya Javayant
1023Mayumi K RutaIndia2025-07-23Truhlar And Truhlar Attys PROPOSAL64Xuxue Feng
1024Francesco G RimAustralia2025-08-03Dorl, James J Esq QUALIFIED47Stephen Shaw
1025Silvio A GauchoArgentina2025-08-04Chapman, Ross E Esq NEGOTIATION23Anna Fali
1026Greenwood I NestleJapan2025-07-22Feiner Bros NEW46Asiya Javayant
1027Nicolas R OstroskyBrazil2025-08-02Rousseaux, Michael Esq PROPOSAL8Elwin Sharvill
1028Isabel Q BowleyFrance2025-08-06Chanay, Jeffrey A Esq NEW19Onyama Limba
1029Clifford T FollerGermany2025-08-16Printing Dimensions RENEWAL42Xuxue Feng
1030Faith R SchemmerCanada2025-08-12Truhlar And Truhlar Attys PROPOSAL20Onyama Limba
1031Mayumi W WhobreyJapan2025-08-13Feiner Bros NEGOTIATION34Amy Elsner
1032Salvatore B RimBrazil2025-08-04Rousseaux, Michael Esq PROPOSAL60Ioni Bowcher
1033Misaki K WaycottRussia2025-08-17Chemel, James L Cpa NEW28Onyama Limba
1034Clifford P InouyeItaly2025-08-03Morlong Associates UNQUALIFIED3Anna Fali
1035Morrow U ChuiAustralia2025-07-21Dorl, James J Esq PROPOSAL90Anna Fali
1036Sinclair Z BowleyFrance2025-07-24Printing Dimensions RENEWAL75Amy Elsner
1037Aditya E MaletFrance2025-07-22Truhlar And Truhlar Attys QUALIFIED30Bernardo Dominic
1038Mujtaba E ShinkoSpain2025-08-03Feltz Printing Service RENEWAL29Asiya Javayant
1039Salvatore O MaletBrazil2025-07-19Truhlar And Truhlar Attys RENEWAL71Elwin Sharvill
1040James U RimArgentina2025-08-04Printing Dimensions UNQUALIFIED3Xuxue Feng
1041Sinclair B KuskoIndia2025-08-17Morlong Associates NEGOTIATION28Asiya Javayant
1042Aika Z WhobreyRussia2025-07-26Benton, John B Jr PROPOSAL91Asiya Javayant
1043Sinclair P OstroskyIndia2025-08-05Rangoni Of Florence NEGOTIATION4Bernardo Dominic
1044Isabel Y NickaCanada2025-07-25Commercial Press RENEWAL11Onyama Limba
1045Darci D TollnerItaly2025-08-13Chanay, Jeffrey A Esq NEW62Ivan Magalhaes
1046David K ShinkoSpain2025-08-12Chapman, Ross E Esq NEGOTIATION65Stephen Shaw
1047Jennifer Y NickaBrazil2025-07-21Buckley Miller Wright PROPOSAL59Ivan Magalhaes
1048Chavez J VenereBrazil2025-08-15Feiner Bros PROPOSAL56Xuxue Feng
1049Munro D ButtIndia2025-08-03Commercial Press UNQUALIFIED93Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maisha R StockhamRussiaBernardo Dominic UNQUALIFIED
Deepesh Y GillianItalyBernardo Dominic NEW
Morrow U RutaIndiaBernardo Dominic UNQUALIFIED
Nicolas F RulapaughBrazilElwin Sharvill PROPOSAL
Misaki B NickaBrazilIoni Bowcher RENEWAL
Stacey A VenereIndiaBernardo Dominic QUALIFIED
Alejandro F FerenczAustraliaIoni Bowcher UNQUALIFIED
Morrow H WhobreyBrazilXuxue Feng QUALIFIED
Mujtaba J FollerGermanyOnyama Limba QUALIFIED
Clifford N MorascaJapanIoni Bowcher NEGOTIATION
Kaitlin M IturbideRussiaElwin Sharvill NEW
Maria Y DilliardFranceAnna Fali PROPOSAL
Aruna A FlosiUnited KingdomBernardo Dominic PROPOSAL
Silvio G SergiCanadaAnna Fali UNQUALIFIED
Leon D WaycottBrazilAsiya Javayant UNQUALIFIED
Costa E IturbideIndiaOnyama Limba PROPOSAL
Stacey W BowleyIndiaElwin Sharvill RENEWAL
Costa F FlosiFranceIvan Magalhaes RENEWAL
Deepesh L ChuiGermanyElwin Sharvill RENEWAL
Aditya Y AlbaresRussiaStephen Shaw NEGOTIATION
Cody W RoysterArgentinaElwin Sharvill RENEWAL
David W MaletItalyAsiya Javayant UNQUALIFIED
Francesco L OstroskyCanadaXuxue Feng PROPOSAL
Julie F DoeUnited KingdomElwin Sharvill NEW
Stacey W FerenczSpainIoni Bowcher NEGOTIATION
Tony N BologniaFranceAsiya Javayant NEGOTIATION
Kaitlin A InouyeUnited KingdomIoni Bowcher NEGOTIATION
Claire N VocelkaBrazilAnna Fali QUALIFIED
Smith T MarrierFranceAsiya Javayant NEGOTIATION
Maria C PaprockiIndiaOnyama Limba PROPOSAL
Aruna B ChuiJapanStephen Shaw QUALIFIED
Jeanfrancois I PerinRussiaAsiya Javayant QUALIFIED
Clifford D GillianIndiaStephen Shaw UNQUALIFIED
Rodrigues E ButtAustraliaIvan Magalhaes QUALIFIED
Arvin Z CaudyCanadaBernardo Dominic QUALIFIED
Cody T SlusarskiGermanyXuxue Feng NEW
Johnson W PaprockiCanadaXuxue Feng UNQUALIFIED
Kaitlin I SergiArgentinaElwin Sharvill QUALIFIED
Kaitlin M RoysterItalyIoni Bowcher RENEWAL
David C SchemmerUnited KingdomAsiya Javayant PROPOSAL
James V RoysterCanadaAmy Elsner NEGOTIATION
Francesco S CaudyIndiaAsiya Javayant NEW
Misaki V OldroydItalyXuxue Feng NEW
Costa S SlusarskiSpainStephen Shaw NEGOTIATION
Clifford A VenereUnited KingdomIoni Bowcher NEW
Jennifer L AmigonSpainAmy Elsner QUALIFIED
Jennifer P FigeroaUnited KingdomStephen Shaw NEW
Arvin M ButtRussiaElwin Sharvill RENEWAL
Deepesh D SchemmerGermanyAsiya Javayant PROPOSAL
Maria Q BriddickIndiaElwin Sharvill NEW
Frozen Columns
Name
Jennifer D Marrier
Misaki C Ruta
Clifford G Stockham
Jeanfrancois C Royster
Johnson M Flosi
Kadeem X Foller
Murillo K Saylors
Jefferson I Flosi
Nicolas M Rulapaugh
Claire E Perin
Maisha O Nicka
Munro U Garufi
Salvatore G Maclead
Morrow K Gaucho
Faith W Royster
Darci F Marrier
Johnson A Morasca
Arvin I Caldarera
David N Briddick
Juan P Oldroyd
Maria Y Whobrey
Faith R Schemmer
Julie W Ruta
Chavez J Vocelka
Jeanfrancois W Dilliard
Nicolas X Butt
Johnson X Ferencz
Smith N Darakjy
Ricardo P Iturbide
Sinclair R Slusarski
Morrow G Royster
Aditya N Poquette
Jefferson Q Inouye
Arvin J Ferencz
Isabel L Gaucho
Aditya O Caudy
Jeanfrancois S Rim
Darci M Wieser
Juan O Doe
Silvio C Maclead
Claire X Oldroyd
Ricardo Y Nestle
Julie V Darakjy
Kaitlin D Bolognia
Sinclair D Malet
Johnson F Dilliard
Smith O Malet
David A Caldarera
Adams B Ostrosky
Johnson P Briddick
IdCountryDate
1000United Kingdom2025-08-11
1001India2025-08-05
1002United Kingdom2025-07-31
1003Canada2025-07-21
1004India2025-08-03
1005Australia2025-08-12
1006Germany2025-07-29
1007United Kingdom2025-07-21
1008Argentina2025-08-06
1009France2025-07-20
1010Germany2025-08-15
1011Germany2025-08-02
1012Italy2025-08-06
1013Japan2025-07-28
1014Italy2025-07-20
1015Spain2025-08-06
1016Germany2025-07-27
1017Germany2025-07-31
1018Canada2025-07-22
1019Russia2025-08-07
1020Argentina2025-08-17
1021India2025-07-31
1022Russia2025-07-25
1023Italy2025-08-16
1024Australia2025-08-17
1025Italy2025-07-27
1026Russia2025-08-07
1027Canada2025-08-13
1028Brazil2025-08-02
1029Spain2025-08-14
1030France2025-08-04
1031Brazil2025-07-30
1032United Kingdom2025-08-01
1033Australia2025-08-04
1034Canada2025-08-12
1035India2025-07-22
1036India2025-08-05
1037Australia2025-07-31
1038United Kingdom2025-08-17
1039United Kingdom2025-08-03
1040Brazil2025-08-02
1041India2025-07-28
1042Canada2025-08-06
1043India2025-07-23
1044Australia2025-08-10
1045Australia2025-08-08
1046India2025-08-16
1047Argentina2025-08-15
1048France2025-08-13
1049United Kingdom2025-08-11

On-Demand Data

NameIdCountryDate
Stacey X Figeroa1000Argentina2025-07-21
Wickens Q Ruta1001Russia2025-07-22
Johnson U Whobrey1002France2025-07-20
Tony Q Albares1003Argentina2025-08-13
Jones B Stenseth1004Spain2025-08-01
Francesco U Morasca1005Italy2025-07-27
Sinclair H Saylors1006United Kingdom2025-08-11
Munro I Butt1007Japan2025-08-14
Greenwood Q Poquette1008Japan2025-07-26
Smith C Saylors1009France2025-08-11
Isabel A Inouye1010Japan2025-08-09
Smith N Foller1011Spain2025-07-25
Misaki A Darakjy1012France2025-08-11
Smith L Stockham1013France2025-08-01
Alejandro F Vocelka1014Spain2025-08-06
Ivar O Rim1015France2025-08-12
James N Campain1016India2025-08-08
Misaki K Shinko1017Spain2025-08-12
Wickens O Rim1018Australia2025-08-02
Ivar D Perin1019Brazil2025-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley Y NickaSpainStephen Shaw UNQUALIFIED
Antonio F SaylorsAustraliaElwin Sharvill NEGOTIATION
Aruna B GarufiCanadaOnyama Limba NEW
Mujtaba Q DilliardCanadaBernardo Dominic RENEWAL
James O KolmetzSpainAnna Fali NEGOTIATION
James J RoysterBrazilXuxue Feng PROPOSAL
Nicolas M InouyeBrazilAnna Fali PROPOSAL
Faith K CampainSpainAmy Elsner UNQUALIFIED
Misaki C PerinFranceIvan Magalhaes RENEWAL
Adams G PaprockiRussiaAsiya Javayant UNQUALIFIED
Aditya V ButtFranceStephen Shaw NEGOTIATION
Chavez J VocelkaIndiaAsiya Javayant PROPOSAL
Octavia Y RutaUnited KingdomAmy Elsner NEGOTIATION
Johnson U WaycottSpainAmy Elsner NEGOTIATION
Mujtaba V CaudyJapanIvan Magalhaes NEW
Chavez G SlusarskiIndiaXuxue Feng UNQUALIFIED
Stacey C DarakjyItalyIoni Bowcher NEGOTIATION
Aika L MaletRussiaIoni Bowcher RENEWAL
Jefferson C PoquetteAustraliaXuxue Feng NEW
Salvatore F OldroydUnited KingdomAmy Elsner NEW
Deepesh K StensethRussiaAnna Fali NEGOTIATION
Leja D GlickAustraliaOnyama Limba QUALIFIED
Rodrigues S FlosiUnited KingdomBernardo Dominic PROPOSAL
Kaitlin R SchemmerAustraliaAsiya Javayant NEGOTIATION
Costa W CaudyIndiaOnyama Limba QUALIFIED
Greenwood F BowleyGermanyAnna Fali QUALIFIED
Jeanfrancois N InouyeUnited KingdomAsiya Javayant RENEWAL
Alejandro O MaletRussiaOnyama Limba UNQUALIFIED
Alejandro K BriddickArgentinaXuxue Feng QUALIFIED
Aika M WhobreyArgentinaIoni Bowcher RENEWAL
Murillo T RoysterUnited KingdomElwin Sharvill NEW
Jones S ShinkoUnited KingdomXuxue Feng NEGOTIATION
Stacey D WhobreySpainElwin Sharvill RENEWAL
Claire O VocelkaJapanAsiya Javayant PROPOSAL
Aditya I PaprockiCanadaStephen Shaw NEW
Antonio L DilliardSpainXuxue Feng QUALIFIED
Kaitlin M BriddickUnited KingdomAnna Fali PROPOSAL
Leon P BologniaAustraliaAnna Fali NEGOTIATION
Misaki D RutaArgentinaStephen Shaw QUALIFIED
Ashley O AmigonCanadaStephen 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>