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
Emily V FlosiIndiaAnna Fali PROPOSAL
Alejandro W SergiAustraliaOnyama Limba UNQUALIFIED
Aditya Z MaletAustraliaOnyama Limba NEW
Silvio O FlosiFranceElwin Sharvill NEW
Deepesh S WhobreyUnited KingdomXuxue Feng UNQUALIFIED
Octavia E VocelkaItalyAmy Elsner QUALIFIED
Smith S GillianJapanOnyama Limba PROPOSAL
Mujtaba D SergiBrazilBernardo Dominic QUALIFIED
Francesco R SaylorsAustraliaAmy Elsner NEW
Ivar L DarakjyUnited KingdomAsiya Javayant NEW
Leon I SchemmerRussiaOnyama Limba NEGOTIATION
Stacey U ShinkoCanadaElwin Sharvill PROPOSAL
Leon C GauchoCanadaOnyama Limba RENEWAL
Alejandro G IturbideItalyBernardo Dominic NEW
Jennifer B NestleAustraliaIoni Bowcher QUALIFIED
Clifford N InouyeItalyElwin Sharvill RENEWAL
Wickens T NickaGermanyAmy Elsner NEGOTIATION
Maria S RutaGermanyAnna Fali QUALIFIED
Jennifer F OstroskyGermanyElwin Sharvill PROPOSAL
Jones B PerinGermanyOnyama Limba PROPOSAL
Silvio G ButtCanadaElwin Sharvill QUALIFIED
Maria L WhobreyGermanyIvan Magalhaes QUALIFIED
Faith D RulapaughItalyIvan Magalhaes NEW
Emily Y SaylorsBrazilAmy Elsner RENEWAL
Aika G FollerIndiaElwin Sharvill UNQUALIFIED
Isabel Y MacleadIndiaIoni Bowcher QUALIFIED
Faith Y FerenczSpainIvan Magalhaes QUALIFIED
Julie N CaudyItalyOnyama Limba PROPOSAL
Silvio T BologniaArgentinaIoni Bowcher UNQUALIFIED
Smith R BowleyIndiaXuxue Feng UNQUALIFIED
Ricardo I PerinItalyIvan Magalhaes PROPOSAL
Aditya Z MorascaBrazilIoni Bowcher QUALIFIED
Jefferson F DoeItalyStephen Shaw RENEWAL
Darci J ChuiBrazilXuxue Feng QUALIFIED
Munro T GillianAustraliaAmy Elsner NEGOTIATION
David P OldroydArgentinaXuxue Feng RENEWAL
Antonio H CaldareraAustraliaIvan Magalhaes QUALIFIED
Jennifer K OstroskyItalyIvan Magalhaes PROPOSAL
Antonio F MacleadRussiaOnyama Limba PROPOSAL
Salvatore Z WhobreyItalyIvan Magalhaes RENEWAL
Greenwood A RimBrazilIvan Magalhaes NEGOTIATION
Jeanfrancois R NestleIndiaBernardo Dominic NEW
Jones M FlosiArgentinaOnyama Limba RENEWAL
Rodrigues H RutaArgentinaElwin Sharvill UNQUALIFIED
Claire W OldroydArgentinaBernardo Dominic QUALIFIED
Claire I GauchoIndiaBernardo Dominic RENEWAL
Costa U DilliardUnited KingdomAsiya Javayant PROPOSAL
Kaitlin Y StensethRussiaStephen Shaw NEGOTIATION
Adams W MacleadCanadaElwin Sharvill RENEWAL
Greenwood K DoeRussiaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Chavez V FigeroaAustraliaIvan Magalhaes PROPOSAL
Jeanfrancois G GauchoItalyIoni Bowcher NEGOTIATION
Clifford V KuskoRussiaElwin Sharvill PROPOSAL
Jefferson A AlbaresBrazilBernardo Dominic QUALIFIED
Izzy P BologniaAustraliaElwin Sharvill NEW
Faith F DarakjyAustraliaXuxue Feng PROPOSAL
Leja H CampainSpainAsiya Javayant QUALIFIED
Misaki U MaletAustraliaBernardo Dominic NEGOTIATION
Leja V RimIndiaAsiya Javayant NEW
Francesco T FerenczJapanStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar D PoquetteItaly2025-07-28Rousseaux, Michael Esq QUALIFIED21Stephen Shaw
1001Kadeem A KuskoArgentina2025-07-24Feltz Printing Service NEW63Asiya Javayant
1002James E TollnerRussia2025-08-01Chemel, James L Cpa NEW23Elwin Sharvill
1003Misaki L RutaJapan2025-07-15Buckley Miller Wright QUALIFIED60Amy Elsner
1004Izzy O RoysterArgentina2025-07-28Feltz Printing Service UNQUALIFIED93Onyama Limba
1005Ivar A MorascaUnited Kingdom2025-07-21Buckley Miller Wright UNQUALIFIED57Bernardo Dominic
1006Mujtaba P VenereCanada2025-07-17Chapman, Ross E Esq RENEWAL52Xuxue Feng
1007Leon A DilliardAustralia2025-07-24Rousseaux, Michael Esq UNQUALIFIED3Onyama Limba
1008Murillo X FollerAustralia2025-07-22Rousseaux, Michael Esq PROPOSAL54Bernardo Dominic
1009Silvio N FlosiItaly2025-07-26King, Christopher A Esq QUALIFIED61Amy Elsner
1010Isabel V TollnerRussia2025-07-30King, Christopher A Esq NEGOTIATION20Bernardo Dominic
1011Aditya W StensethIndia2025-08-01Rousseaux, Michael Esq QUALIFIED22Anna Fali
1012Leja P PaprockiSpain2025-08-06Rousseaux, Michael Esq QUALIFIED19Asiya Javayant
1013Emily J InouyeIndia2025-08-07Chanay, Jeffrey A Esq PROPOSAL34Asiya Javayant
1014Chavez C CaldareraAustralia2025-07-17Chemel, James L Cpa RENEWAL27Stephen Shaw
1015Chavez N DarakjyRussia2025-08-04Chanay, Jeffrey A Esq NEW0Asiya Javayant
1016Greenwood F AlbaresAustralia2025-08-02Printing Dimensions RENEWAL87Elwin Sharvill
1017Ivar U AlbaresAustralia2025-08-05Dorl, James J Esq RENEWAL89Stephen Shaw
1018Alejandro C FerenczUnited Kingdom2025-08-02Feltz Printing Service NEW80Anna Fali
1019Jeanfrancois U GauchoJapan2025-07-30Feiner Bros UNQUALIFIED96Bernardo Dominic
1020James S StockhamBrazil2025-07-15Feiner Bros QUALIFIED44Amy Elsner
1021Francesco Y MacleadArgentina2025-07-20Rangoni Of Florence NEW57Stephen Shaw
1022Stacey E InouyeAustralia2025-08-08Chapman, Ross E Esq NEW51Bernardo Dominic
1023Maria E GillianJapan2025-07-22Feiner Bros RENEWAL16Amy Elsner
1024Nicolas M NickaUnited Kingdom2025-07-15King, Christopher A Esq NEGOTIATION42Onyama Limba
1025Arvin F MaletSpain2025-08-01Feltz Printing Service PROPOSAL58Ioni Bowcher
1026Ashley A VenereIndia2025-08-11Benton, John B Jr UNQUALIFIED28Bernardo Dominic
1027Octavia M OstroskyCanada2025-07-31Commercial Press QUALIFIED61Asiya Javayant
1028Wickens F GillianCanada2025-08-10Truhlar And Truhlar Attys UNQUALIFIED28Elwin Sharvill
1029Kadeem M VenereGermany2025-08-05Rousseaux, Michael Esq QUALIFIED14Bernardo Dominic
1030Aruna S BriddickFrance2025-07-23Chemel, James L Cpa RENEWAL0Stephen Shaw
1031Adams Z WieserIndia2025-07-28Feiner Bros NEW24Ivan Magalhaes
1032Chavez Q KolmetzCanada2025-07-29Chapman, Ross E Esq NEGOTIATION56Xuxue Feng
1033Julie A FlosiItaly2025-08-09Chemel, James L Cpa NEGOTIATION44Bernardo Dominic
1034Jefferson I RutaArgentina2025-07-30Morlong Associates PROPOSAL4Ivan Magalhaes
1035Juan A TollnerBrazil2025-07-25Rangoni Of Florence QUALIFIED90Ivan Magalhaes
1036David L ShinkoArgentina2025-08-07Chemel, James L Cpa NEW99Bernardo Dominic
1037Murillo J SlusarskiBrazil2025-08-10Printing Dimensions PROPOSAL45Onyama Limba
1038Isabel Z GauchoItaly2025-08-09Commercial Press RENEWAL67Stephen Shaw
1039Jennifer L CaudyRussia2025-08-08Chapman, Ross E Esq PROPOSAL20Ivan Magalhaes
1040Stacey M RoysterAustralia2025-07-19Truhlar And Truhlar Attys NEW59Elwin Sharvill
1041Jones T OstroskyIndia2025-07-27Feiner Bros PROPOSAL2Anna Fali
1042Kaitlin X RoysterRussia2025-08-01Truhlar And Truhlar Attys UNQUALIFIED21Amy Elsner
1043Tony H MorascaArgentina2025-08-08Feltz Printing Service QUALIFIED43Elwin Sharvill
1044Johnson C BologniaFrance2025-07-15King, Christopher A Esq RENEWAL51Bernardo Dominic
1045Isabel V DarakjyBrazil2025-07-21King, Christopher A Esq QUALIFIED43Amy Elsner
1046Isabel K TollnerRussia2025-08-01Commercial Press PROPOSAL16Bernardo Dominic
1047Leon C GillianFrance2025-07-31Feltz Printing Service UNQUALIFIED67Anna Fali
1048Ivar J IturbideCanada2025-07-15Commercial Press NEW96Elwin Sharvill
1049James D MaletItaly2025-08-09Chemel, James L Cpa UNQUALIFIED40Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maisha T DilliardUnited KingdomAsiya Javayant QUALIFIED
Octavia N PaprockiArgentinaOnyama Limba NEGOTIATION
James Z FlosiSpainAmy Elsner PROPOSAL
Octavia R StensethArgentinaAnna Fali RENEWAL
Julie Z SchemmerItalyElwin Sharvill NEGOTIATION
Arvin O WhobreyAustraliaAmy Elsner PROPOSAL
Murillo J DarakjyCanadaAmy Elsner RENEWAL
Johnson M AlbaresRussiaAsiya Javayant NEGOTIATION
Adams L TollnerFranceBernardo Dominic QUALIFIED
Aruna I AmigonFranceXuxue Feng UNQUALIFIED
Mujtaba S MarrierFranceAnna Fali PROPOSAL
Kadeem X FlosiUnited KingdomAsiya Javayant NEGOTIATION
Leon Z CaldareraSpainAmy Elsner UNQUALIFIED
Jones N PoquetteFranceAnna Fali NEW
Julie C KuskoUnited KingdomAmy Elsner NEGOTIATION
Salvatore V PoquetteAustraliaAmy Elsner NEGOTIATION
Kaitlin Q AmigonItalyStephen Shaw NEGOTIATION
Chavez A BologniaArgentinaIvan Magalhaes PROPOSAL
Misaki A BologniaItalyIoni Bowcher NEGOTIATION
Juan C RutaUnited KingdomAnna Fali UNQUALIFIED
Alejandro H SergiFranceAmy Elsner NEGOTIATION
Arvin M AmigonItalyXuxue Feng PROPOSAL
Ivar G CampainArgentinaBernardo Dominic NEGOTIATION
Emily W IturbideJapanXuxue Feng NEGOTIATION
Julie M WieserSpainAmy Elsner QUALIFIED
Cody E GlickArgentinaIoni Bowcher QUALIFIED
Munro X RulapaughRussiaXuxue Feng NEGOTIATION
Emily I WaycottUnited KingdomStephen Shaw NEW
Chavez H MorascaArgentinaIoni Bowcher UNQUALIFIED
Claire Z PerinSpainIoni Bowcher RENEWAL
Jones B FlosiRussiaAsiya Javayant QUALIFIED
Kaitlin T TollnerAustraliaIoni Bowcher RENEWAL
Alejandro D VocelkaRussiaIvan Magalhaes QUALIFIED
Rodrigues U ChuiCanadaIvan Magalhaes RENEWAL
Jeanfrancois X SlusarskiItalyIoni Bowcher QUALIFIED
Ivar S RutaRussiaBernardo Dominic PROPOSAL
Isabel Z NestleAustraliaOnyama Limba QUALIFIED
Aruna K StockhamRussiaIoni Bowcher NEW
Adams M MarrierFranceBernardo Dominic UNQUALIFIED
David E MaletIndiaBernardo Dominic NEGOTIATION
Alejandro G OldroydBrazilXuxue Feng QUALIFIED
Leja P BowleySpainStephen Shaw QUALIFIED
Jefferson A WieserGermanyStephen Shaw NEW
Morrow A StensethItalyOnyama Limba UNQUALIFIED
Clifford P ChuiIndiaBernardo Dominic QUALIFIED
Octavia P ChuiSpainOnyama Limba UNQUALIFIED
Aruna A FollerUnited KingdomOnyama Limba PROPOSAL
Aruna Y OstroskyArgentinaAmy Elsner PROPOSAL
Izzy N WieserBrazilAnna Fali NEGOTIATION
Nicolas B MaletIndiaStephen Shaw RENEWAL
Frozen Columns
Name
Sinclair Q Tollner
Wickens E Waycott
Mujtaba N Iturbide
Faith R Bolognia
Morrow R Nestle
Mayumi P Dilliard
Mujtaba Z Kolmetz
Ashley S Ferencz
Rodrigues D Caudy
Greenwood S Dilliard
Aruna P Bolognia
Aika E Amigon
Kaitlin A Kolmetz
Stacey W Stockham
Aditya I Gaucho
Jefferson V Amigon
Julie P Sergi
Izzy S Flosi
Rodrigues Q Flosi
Darci M Briddick
Alejandro G Bowley
Julie Y Flosi
Jeanfrancois H Gillian
Ricardo F Flosi
Morrow R Ruta
Tony G Garufi
Emily G Inouye
Kaitlin U Royster
Munro D Stockham
Greenwood A Schemmer
Silvio T Inouye
Jennifer W Maclead
Julie A Saylors
Nicolas F Maclead
Maria A Royster
Wickens M Ruta
Silvio I Paprocki
Salvatore V Nicka
Salvatore S Oldroyd
Nicolas E Rim
Chavez D Marrier
Darci Q Ferencz
Cody O Kusko
Mayumi K Vocelka
Octavia Z Chui
Rodrigues P Kolmetz
Claire U Maclead
Isabel Z Gaucho
Stacey L Tollner
Francesco K Marrier
IdCountryDate
1000Germany2025-07-18
1001France2025-07-18
1002Japan2025-08-09
1003Australia2025-07-18
1004Brazil2025-07-28
1005Russia2025-07-19
1006Spain2025-08-03
1007Argentina2025-07-27
1008Canada2025-07-23
1009Italy2025-08-09
1010Germany2025-07-25
1011Spain2025-07-30
1012India2025-08-08
1013Germany2025-07-19
1014Brazil2025-08-04
1015France2025-07-25
1016Russia2025-07-28
1017India2025-08-09
1018Spain2025-08-04
1019Spain2025-07-16
1020Italy2025-07-25
1021Spain2025-07-20
1022India2025-07-19
1023Australia2025-08-07
1024India2025-07-31
1025Spain2025-08-03
1026Italy2025-07-26
1027Russia2025-08-07
1028Canada2025-08-02
1029Brazil2025-08-06
1030United Kingdom2025-08-09
1031Spain2025-08-06
1032United Kingdom2025-07-31
1033Canada2025-07-25
1034Argentina2025-07-19
1035Canada2025-07-21
1036India2025-08-03
1037United Kingdom2025-08-09
1038Germany2025-07-22
1039United Kingdom2025-08-08
1040Spain2025-07-18
1041India2025-08-05
1042Australia2025-07-28
1043Spain2025-08-02
1044United Kingdom2025-07-20
1045Australia2025-07-23
1046United Kingdom2025-07-23
1047India2025-08-05
1048Russia2025-07-29
1049United Kingdom2025-07-26

On-Demand Data

NameIdCountryDate
Maisha B Marrier1000India2025-08-07
Chavez Q Darakjy1001Brazil2025-07-31
Silvio W Poquette1002Italy2025-08-11
Faith S Whobrey1003Russia2025-07-20
Chavez V Kusko1004Russia2025-08-11
Juan J Malet1005Japan2025-07-14
Greenwood G Briddick1006Canada2025-07-19
Cody T Caldarera1007India2025-07-21
Izzy J Stenseth1008Australia2025-08-10
Jeanfrancois D Ferencz1009Italy2025-07-28
Silvio X Schemmer1010Canada2025-08-07
Deepesh O Figeroa1011Brazil2025-08-04
Alejandro M Malet1012Australia2025-07-20
Deepesh B Doe1013Germany2025-07-17
Chavez W Figeroa1014Italy2025-07-19
Munro Y Dilliard1015Italy2025-08-11
Juan E Saylors1016Japan2025-07-27
Aika S Foller1017Russia2025-07-30
Rodrigues G Nicka1018Canada2025-07-31
Jennifer T Butt1019Russia2025-07-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily C PerinArgentinaAnna Fali RENEWAL
Tony H CampainFranceAsiya Javayant RENEWAL
Murillo U RoysterSpainBernardo Dominic NEW
Arvin Z GlickSpainAnna Fali NEGOTIATION
Alejandro Q AlbaresBrazilStephen Shaw UNQUALIFIED
Costa B IturbideIndiaStephen Shaw PROPOSAL
Juan J WieserFranceBernardo Dominic NEGOTIATION
Jones H MacleadFranceIoni Bowcher UNQUALIFIED
Clifford T GillianGermanyAnna Fali UNQUALIFIED
Deepesh I DilliardAustraliaBernardo Dominic NEGOTIATION
Aruna O ShinkoGermanyElwin Sharvill NEW
Arvin V VenereGermanyBernardo Dominic NEGOTIATION
Kaitlin E GillianFranceOnyama Limba NEW
Claire G BowleyUnited KingdomElwin Sharvill QUALIFIED
Ashley K SchemmerSpainXuxue Feng NEGOTIATION
Salvatore D DoeFranceAsiya Javayant PROPOSAL
Izzy H GillianItalyAsiya Javayant NEGOTIATION
Rodrigues U ChuiFranceAnna Fali NEW
Misaki V InouyeFranceXuxue Feng UNQUALIFIED
Juan S GauchoAustraliaXuxue Feng NEW
Smith U RutaCanadaBernardo Dominic NEGOTIATION
Arvin S SaylorsJapanBernardo Dominic PROPOSAL
Maria H NickaUnited KingdomElwin Sharvill RENEWAL
Clifford Y WhobreySpainBernardo Dominic NEGOTIATION
Maria M OldroydArgentinaIvan Magalhaes RENEWAL
Adams T WhobreySpainAmy Elsner UNQUALIFIED
Aika O MaletAustraliaStephen Shaw UNQUALIFIED
Octavia A CaldareraRussiaStephen Shaw RENEWAL
Misaki P BowleyRussiaXuxue Feng NEGOTIATION
Mujtaba J FerenczJapanAnna Fali NEGOTIATION
Sinclair L SchemmerCanadaBernardo Dominic NEW
Tony U RulapaughSpainAsiya Javayant RENEWAL
Jeanfrancois O NestleCanadaAnna Fali PROPOSAL
Misaki I VenereFranceAnna Fali RENEWAL
Julie Q GauchoAustraliaXuxue Feng PROPOSAL
Silvio N MarrierBrazilElwin Sharvill PROPOSAL
Aika F PerinGermanyAsiya Javayant UNQUALIFIED
Faith T FollerArgentinaAnna Fali RENEWAL
Smith Q CaldareraRussiaIoni Bowcher RENEWAL
Jefferson U SergiArgentinaIoni Bowcher 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>