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
Tony I InouyeArgentinaOnyama Limba NEW
Mayumi E StensethBrazilIoni Bowcher RENEWAL
Antonio M PoquetteItalyXuxue Feng NEGOTIATION
Johnson N OldroydArgentinaIvan Magalhaes NEW
Nicolas C RoysterGermanyBernardo Dominic PROPOSAL
Faith A ButtRussiaAsiya Javayant QUALIFIED
Stacey D BologniaUnited KingdomBernardo Dominic RENEWAL
Salvatore B CaudyGermanyElwin Sharvill NEW
Emily O MorascaBrazilIoni Bowcher RENEWAL
Emily U FerenczIndiaIoni Bowcher NEW
Maria F SlusarskiFranceIoni Bowcher QUALIFIED
David M BowleySpainXuxue Feng NEGOTIATION
Emily O ChuiCanadaIoni Bowcher NEGOTIATION
Aruna J DoeJapanIoni Bowcher NEW
Smith Y NickaFranceXuxue Feng RENEWAL
Kaitlin E RulapaughCanadaXuxue Feng UNQUALIFIED
Claire P SaylorsAustraliaIvan Magalhaes NEW
Smith K GlickGermanyOnyama Limba NEGOTIATION
Izzy E PoquetteAustraliaIoni Bowcher UNQUALIFIED
Leon Y StockhamCanadaIoni Bowcher NEW
Emily M BowleyItalyIvan Magalhaes PROPOSAL
Johnson K WhobreyCanadaStephen Shaw UNQUALIFIED
Faith O PoquetteFranceOnyama Limba PROPOSAL
Sinclair K GauchoBrazilOnyama Limba QUALIFIED
Julie S StensethSpainAmy Elsner QUALIFIED
Morrow M SaylorsCanadaStephen Shaw UNQUALIFIED
Silvio Z GarufiItalyIoni Bowcher NEGOTIATION
Claire G MarrierArgentinaAnna Fali UNQUALIFIED
Nicolas R IturbideIndiaBernardo Dominic NEW
Munro X AlbaresSpainIoni Bowcher PROPOSAL
Juan D RulapaughJapanAmy Elsner QUALIFIED
Nicolas G InouyeGermanyAmy Elsner NEW
Aditya W MaletAustraliaElwin Sharvill NEW
Mujtaba M FigeroaAustraliaStephen Shaw NEGOTIATION
Arvin F MaletGermanyOnyama Limba UNQUALIFIED
Claire L DoeSpainAmy Elsner QUALIFIED
Maria E CampainAustraliaIvan Magalhaes NEW
Juan K DilliardFranceAnna Fali UNQUALIFIED
Clifford X InouyeUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues Y SlusarskiItalyIvan Magalhaes QUALIFIED
Tony X RoysterBrazilBernardo Dominic NEW
Greenwood N PaprockiCanadaAnna Fali NEGOTIATION
Isabel A MorascaFranceIvan Magalhaes NEW
Mayumi O SergiSpainIvan Magalhaes UNQUALIFIED
Ricardo D WhobreyJapanOnyama Limba UNQUALIFIED
Rodrigues F SaylorsFranceIvan Magalhaes PROPOSAL
Emily B FollerArgentinaAsiya Javayant UNQUALIFIED
Octavia Z MaletUnited KingdomElwin Sharvill PROPOSAL
Munro Y NestleBrazilAmy Elsner PROPOSAL
Octavia D IturbideUnited KingdomXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa V SergiBrazilIoni Bowcher QUALIFIED
Ivar K GlickCanadaIoni Bowcher PROPOSAL
Leja P RulapaughArgentinaStephen Shaw NEW
Antonio F PoquetteRussiaIoni Bowcher PROPOSAL
Ashley A ChuiCanadaAsiya Javayant NEGOTIATION
Emily M GlickFranceAmy Elsner RENEWAL
Nicolas C FigeroaArgentinaAsiya Javayant UNQUALIFIED
Stacey U DilliardItalyIvan Magalhaes PROPOSAL
Julie P OstroskyArgentinaXuxue Feng QUALIFIED
Costa R ChuiIndiaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues X GarufiItaly2025-08-19Buckley Miller Wright PROPOSAL95Ioni Bowcher
1001Arvin D NestleRussia2025-08-23Benton, John B Jr QUALIFIED63Ioni Bowcher
1002Morrow Z AlbaresRussia2025-08-24Feltz Printing Service NEW26Onyama Limba
1003Isabel Q OstroskySpain2025-08-09Feiner Bros RENEWAL57Bernardo Dominic
1004Nicolas F MaletIndia2025-08-16Feiner Bros NEGOTIATION64Amy Elsner
1005Jefferson I CaudyItaly2025-07-28Chemel, James L Cpa UNQUALIFIED72Ivan Magalhaes
1006Wickens M StockhamItaly2025-07-30Rousseaux, Michael Esq UNQUALIFIED97Xuxue Feng
1007Maria H GillianArgentina2025-08-04Rousseaux, Michael Esq NEGOTIATION15Onyama Limba
1008Greenwood Z IturbideIndia2025-07-30Feiner Bros RENEWAL80Bernardo Dominic
1009Jennifer K MorascaJapan2025-08-02Feltz Printing Service QUALIFIED80Ioni Bowcher
1010Stacey I IturbideUnited Kingdom2025-08-17Chanay, Jeffrey A Esq QUALIFIED96Amy Elsner
1011Antonio R StensethUnited Kingdom2025-08-02Buckley Miller Wright UNQUALIFIED28Anna Fali
1012Jefferson I RoysterRussia2025-07-31Chapman, Ross E Esq NEW91Ivan Magalhaes
1013Adams N PoquetteBrazil2025-08-07Rousseaux, Michael Esq QUALIFIED38Stephen Shaw
1014Mayumi R IturbideArgentina2025-08-19Feiner Bros NEW13Asiya Javayant
1015Cody M CaudyIndia2025-07-28Dorl, James J Esq QUALIFIED91Xuxue Feng
1016Deepesh N TollnerUnited Kingdom2025-08-06Buckley Miller Wright QUALIFIED77Stephen Shaw
1017Jones H WhobreyItaly2025-08-12Benton, John B Jr QUALIFIED37Asiya Javayant
1018Misaki D MacleadIndia2025-08-23Dorl, James J Esq QUALIFIED44Onyama Limba
1019Emily N NestleCanada2025-07-28Chapman, Ross E Esq UNQUALIFIED59Bernardo Dominic
1020Nicolas P RulapaughRussia2025-08-17King, Christopher A Esq NEW54Amy Elsner
1021Johnson I WhobreyRussia2025-07-30Chemel, James L Cpa UNQUALIFIED99Ivan Magalhaes
1022Morrow G SlusarskiBrazil2025-08-20Feiner Bros UNQUALIFIED61Elwin Sharvill
1023James S CampainAustralia2025-08-09Morlong Associates UNQUALIFIED98Ivan Magalhaes
1024Kadeem K WaycottGermany2025-08-08King, Christopher A Esq PROPOSAL28Bernardo Dominic
1025Aika K OldroydUnited Kingdom2025-08-14Chapman, Ross E Esq QUALIFIED39Stephen Shaw
1026Salvatore P AmigonAustralia2025-08-06Buckley Miller Wright NEW13Bernardo Dominic
1027Maisha C DarakjySpain2025-08-07Feltz Printing Service NEW19Stephen Shaw
1028Sinclair C CaudyBrazil2025-08-10Truhlar And Truhlar Attys RENEWAL78Ioni Bowcher
1029Cody I WhobreyArgentina2025-08-09King, Christopher A Esq NEGOTIATION23Asiya Javayant
1030Wickens O RoysterAustralia2025-08-23Chapman, Ross E Esq NEGOTIATION84Ioni Bowcher
1031Maisha E PoquetteFrance2025-08-06Benton, John B Jr PROPOSAL3Ioni Bowcher
1032Aruna H SaylorsItaly2025-08-18Feltz Printing Service NEW19Bernardo Dominic
1033Darci P FerenczGermany2025-08-14Chanay, Jeffrey A Esq RENEWAL14Bernardo Dominic
1034Leon E GillianBrazil2025-08-25Benton, John B Jr QUALIFIED90Asiya Javayant
1035Cody T NestleItaly2025-08-24Chanay, Jeffrey A Esq QUALIFIED59Asiya Javayant
1036Deepesh Q CaudyCanada2025-08-26Rousseaux, Michael Esq QUALIFIED21Stephen Shaw
1037Mayumi V RoysterAustralia2025-08-14Truhlar And Truhlar Attys UNQUALIFIED34Ivan Magalhaes
1038Sinclair D AlbaresRussia2025-08-05Rousseaux, Michael Esq NEGOTIATION40Anna Fali
1039Silvio V NickaJapan2025-08-10Feltz Printing Service UNQUALIFIED9Asiya Javayant
1040Kadeem P DarakjyJapan2025-08-15King, Christopher A Esq NEGOTIATION94Asiya Javayant
1041Greenwood B StockhamArgentina2025-08-14Benton, John B Jr QUALIFIED1Ioni Bowcher
1042Maria R RutaBrazil2025-08-22Printing Dimensions QUALIFIED80Ivan Magalhaes
1043Ivar F FlosiFrance2025-08-23Truhlar And Truhlar Attys NEW46Asiya Javayant
1044Silvio P DilliardFrance2025-08-07Commercial Press RENEWAL45Amy Elsner
1045Antonio F GarufiFrance2025-08-23Truhlar And Truhlar Attys QUALIFIED94Stephen Shaw
1046Aika N SchemmerArgentina2025-07-28Buckley Miller Wright UNQUALIFIED5Ivan Magalhaes
1047Greenwood M RimArgentina2025-08-01Chapman, Ross E Esq NEW13Anna Fali
1048Nicolas P KolmetzSpain2025-08-05Dorl, James J Esq NEW75Ivan Magalhaes
1049Chavez Z TollnerIndia2025-08-17Feltz Printing Service NEW97Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Mayumi E IturbideCanadaAnna Fali QUALIFIED
Cody U MarrierFranceElwin Sharvill RENEWAL
Clifford F BologniaAustraliaIvan Magalhaes RENEWAL
Faith V IturbideArgentinaStephen Shaw PROPOSAL
Murillo W VocelkaJapanStephen Shaw NEGOTIATION
Murillo V SchemmerUnited KingdomBernardo Dominic RENEWAL
Aruna G PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Leja V DoeSpainXuxue Feng PROPOSAL
Juan V VenereBrazilXuxue Feng QUALIFIED
Cody O KolmetzJapanAmy Elsner UNQUALIFIED
Johnson H PoquetteJapanStephen Shaw RENEWAL
Maisha F OldroydUnited KingdomElwin Sharvill NEGOTIATION
Chavez S CampainRussiaStephen Shaw PROPOSAL
Wickens K MaletRussiaIoni Bowcher UNQUALIFIED
Aika X GillianJapanIoni Bowcher QUALIFIED
Maria Z PaprockiCanadaElwin Sharvill UNQUALIFIED
Faith D RutaCanadaXuxue Feng NEW
Leja Y SaylorsJapanOnyama Limba PROPOSAL
Ivar O GarufiFranceOnyama Limba UNQUALIFIED
Wickens G BologniaGermanyStephen Shaw PROPOSAL
Tony N GarufiFranceBernardo Dominic QUALIFIED
Nicolas Z NestleGermanyIvan Magalhaes PROPOSAL
Jeanfrancois U ShinkoBrazilAmy Elsner PROPOSAL
Smith Q NickaUnited KingdomIoni Bowcher NEGOTIATION
Smith W PerinArgentinaXuxue Feng UNQUALIFIED
Aditya G KolmetzAustraliaIvan Magalhaes NEGOTIATION
Mujtaba M BriddickRussiaElwin Sharvill NEW
Tony C MaletArgentinaAmy Elsner QUALIFIED
Juan F MacleadRussiaIoni Bowcher QUALIFIED
Ashley Z NestleItalyXuxue Feng RENEWAL
Kadeem F FigeroaSpainIoni Bowcher UNQUALIFIED
Maisha D DarakjySpainAnna Fali NEW
Chavez U SchemmerItalyIoni Bowcher QUALIFIED
Smith N AlbaresItalyStephen Shaw RENEWAL
Chavez S RulapaughBrazilAnna Fali UNQUALIFIED
Kaitlin G MorascaIndiaOnyama Limba UNQUALIFIED
Darci A OldroydJapanIoni Bowcher NEGOTIATION
Clifford B AlbaresIndiaStephen Shaw UNQUALIFIED
Aika Y VocelkaSpainAmy Elsner UNQUALIFIED
Clifford Q IturbideAustraliaIoni Bowcher NEW
Ashley Z IturbideGermanyOnyama Limba UNQUALIFIED
Rodrigues T BowleyRussiaIoni Bowcher RENEWAL
Deepesh S VenereFranceElwin Sharvill NEW
Clifford E ShinkoFranceElwin Sharvill PROPOSAL
Deepesh O NickaFranceStephen Shaw NEW
Claire T MaletUnited KingdomStephen Shaw QUALIFIED
Nicolas A OstroskyUnited KingdomElwin Sharvill NEW
Darci P DarakjyBrazilOnyama Limba QUALIFIED
Aditya K GauchoArgentinaOnyama Limba UNQUALIFIED
Aditya W FigeroaJapanElwin Sharvill PROPOSAL
Frozen Columns
Name
Clifford I Marrier
Stacey G Schemmer
Jennifer P Whobrey
Clifford S Shinko
Salvatore B Rim
Stacey P Malet
Francesco Q Shinko
Maisha N Venere
Juan M Whobrey
Kadeem V Paprocki
Smith Z Inouye
Alejandro W Iturbide
Misaki Y Ostrosky
Ashley W Albares
Cody V Caldarera
Mayumi B Ferencz
Darci L Stenseth
Kaitlin M Albares
Johnson Z Dilliard
Ashley Z Morasca
Tony J Shinko
Misaki E Figeroa
Antonio Y Kusko
Mujtaba W Bolognia
Mujtaba H Tollner
Julie I Caldarera
Ricardo Y Caudy
Aruna F Inouye
Cody R Bolognia
Maria P Dilliard
Isabel A Flosi
Francesco Z Garufi
Cody P Stockham
Juan I Maclead
Cody R Rulapaugh
Tony Q Schemmer
Aika W Rim
Leon S Flosi
Francesco B Poquette
Rodrigues V Gillian
Rodrigues H Amigon
Isabel Z Caldarera
Leja W Campain
Costa S Vocelka
Sinclair F Doe
Maisha S Ostrosky
Isabel L Figeroa
Ashley G Briddick
Izzy F Nicka
Ashley B Garufi
IdCountryDate
1000Japan2025-08-05
1001Brazil2025-07-29
1002France2025-08-20
1003Canada2025-08-25
1004Australia2025-08-03
1005Japan2025-08-09
1006India2025-08-09
1007Italy2025-08-06
1008Japan2025-08-14
1009Russia2025-08-25
1010Japan2025-08-18
1011Russia2025-08-25
1012France2025-07-31
1013Japan2025-08-14
1014Argentina2025-08-16
1015Russia2025-08-25
1016Brazil2025-08-15
1017Russia2025-08-09
1018Italy2025-07-28
1019Japan2025-08-24
1020Russia2025-08-14
1021Brazil2025-08-13
1022Brazil2025-07-31
1023United Kingdom2025-08-03
1024Australia2025-08-07
1025Russia2025-08-26
1026Germany2025-07-29
1027Brazil2025-08-04
1028Australia2025-08-26
1029Japan2025-07-31
1030France2025-08-06
1031India2025-08-10
1032United Kingdom2025-08-05
1033France2025-08-12
1034India2025-07-28
1035India2025-08-01
1036Italy2025-08-09
1037Brazil2025-08-01
1038United Kingdom2025-08-18
1039Australia2025-08-03
1040Brazil2025-08-02
1041Italy2025-08-17
1042Russia2025-08-19
1043India2025-08-04
1044India2025-08-09
1045Australia2025-08-19
1046Japan2025-08-11
1047Canada2025-08-07
1048Russia2025-08-08
1049Argentina2025-08-11

On-Demand Data

NameIdCountryDate
Greenwood K Figeroa1000Argentina2025-08-15
Stacey L Bowley1001France2025-08-19
Maria Y Ferencz1002United Kingdom2025-08-15
Stacey D Royster1003India2025-08-09
Faith Y Kolmetz1004Russia2025-07-28
Leja L Foller1005Australia2025-08-20
Jones V Flosi1006Australia2025-08-06
Costa A Tollner1007Brazil2025-08-17
Aditya O Campain1008Italy2025-07-31
Murillo C Morasca1009Japan2025-08-07
Munro D Inouye1010United Kingdom2025-08-08
Jeanfrancois W Caudy1011Argentina2025-08-23
Jeanfrancois M Bolognia1012Brazil2025-08-15
James T Amigon1013Japan2025-08-17
Ricardo H Flosi1014Italy2025-08-01
Wickens E Kusko1015Japan2025-08-04
Chavez A Garufi1016France2025-08-23
Leja O Foller1017Argentina2025-08-11
Izzy G Poquette1018India2025-07-29
David A Marrier1019Spain2025-08-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy C SergiItalyAsiya Javayant NEW
Misaki T StensethAustraliaBernardo Dominic UNQUALIFIED
Munro D ChuiSpainIoni Bowcher PROPOSAL
Faith X ShinkoAustraliaIvan Magalhaes QUALIFIED
Octavia I MaletIndiaElwin Sharvill PROPOSAL
Morrow Y AlbaresRussiaAsiya Javayant NEGOTIATION
Arvin U DarakjyIndiaAsiya Javayant QUALIFIED
Jennifer B GarufiItalyOnyama Limba RENEWAL
James E TollnerJapanElwin Sharvill UNQUALIFIED
Darci E DilliardBrazilStephen Shaw QUALIFIED
David W DoeFranceAsiya Javayant RENEWAL
Chavez D WieserAustraliaIvan Magalhaes QUALIFIED
Izzy I FlosiGermanyBernardo Dominic PROPOSAL
Leon L BowleyIndiaAsiya Javayant QUALIFIED
Munro G ChuiGermanyElwin Sharvill NEGOTIATION
Kadeem C TollnerCanadaStephen Shaw NEW
Antonio B FlosiBrazilIoni Bowcher NEW
Francesco V GarufiRussiaAnna Fali PROPOSAL
Wickens I GauchoCanadaXuxue Feng UNQUALIFIED
Salvatore V BowleyAustraliaBernardo Dominic QUALIFIED
Jennifer S NickaArgentinaStephen Shaw UNQUALIFIED
Smith Y RimArgentinaAnna Fali NEGOTIATION
Tony I FigeroaSpainBernardo Dominic QUALIFIED
Salvatore U InouyeFranceElwin Sharvill UNQUALIFIED
Tony Y StensethIndiaAnna Fali PROPOSAL
Julie B RutaBrazilIvan Magalhaes NEGOTIATION
Izzy Z PoquetteJapanIvan Magalhaes RENEWAL
Smith N PoquetteItalyElwin Sharvill UNQUALIFIED
Darci W PerinBrazilAmy Elsner RENEWAL
Jeanfrancois M VenereJapanOnyama Limba QUALIFIED
Leja J SaylorsIndiaIoni Bowcher RENEWAL
Ashley Q WaycottUnited KingdomStephen Shaw QUALIFIED
Leon O OstroskyAustraliaIoni Bowcher QUALIFIED
Kadeem P MaletGermanyIoni Bowcher QUALIFIED
Salvatore M MaletArgentinaOnyama Limba NEW
Isabel Q KuskoUnited KingdomAmy Elsner RENEWAL
Salvatore M VocelkaGermanyIoni Bowcher NEGOTIATION
Adams E FollerCanadaAnna Fali UNQUALIFIED
Leon G VenereAustraliaOnyama Limba UNQUALIFIED
Mujtaba G RoysterIndiaElwin Sharvill 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>