November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Sinclair E WhobreyJapanElwin Sharvill UNQUALIFIED
Jeanfrancois D FlosiRussiaAnna Fali NEW
David G ShinkoFranceIoni Bowcher PROPOSAL
Wickens L WaycottFranceElwin Sharvill PROPOSAL
Aika N SaylorsArgentinaStephen Shaw NEW
Smith B DoeSpainBernardo Dominic RENEWAL
Jones B InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin S DoeUnited KingdomIvan Magalhaes UNQUALIFIED
Darci X SchemmerFranceAmy Elsner NEGOTIATION
Faith F RoysterArgentinaAsiya Javayant RENEWAL
Deepesh W RoysterCanadaOnyama Limba UNQUALIFIED
Claire Z SlusarskiAustraliaAsiya Javayant NEW
Maria K FollerFranceIvan Magalhaes PROPOSAL
Leja G CaldareraJapanBernardo Dominic QUALIFIED
Chavez C NickaBrazilElwin Sharvill PROPOSAL
Murillo E GillianUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba T KolmetzCanadaAnna Fali QUALIFIED
James F MaletSpainAnna Fali RENEWAL
Emily H NestleCanadaAsiya Javayant PROPOSAL
Julie A CaldareraSpainIoni Bowcher PROPOSAL
Maria S BowleyCanadaIvan Magalhaes NEW
Claire B IturbideItalyAmy Elsner QUALIFIED
Antonio T GlickArgentinaAsiya Javayant NEGOTIATION
Murillo X BriddickArgentinaBernardo Dominic NEW
Maria G KolmetzUnited KingdomAnna Fali QUALIFIED
Antonio G AlbaresRussiaIoni Bowcher RENEWAL
Faith Z BologniaArgentinaElwin Sharvill QUALIFIED
Darci C OstroskyArgentinaAmy Elsner NEGOTIATION
Aika B RoysterGermanyBernardo Dominic PROPOSAL
Mujtaba Y GillianRussiaXuxue Feng QUALIFIED
Faith P FollerUnited KingdomIvan Magalhaes NEW
Jefferson O ShinkoJapanElwin Sharvill PROPOSAL
Faith E DoeJapanElwin Sharvill NEGOTIATION
Costa M SergiIndiaElwin Sharvill PROPOSAL
Jennifer B SaylorsFranceXuxue Feng NEGOTIATION
Jeanfrancois W ButtArgentinaAnna Fali RENEWAL
Jennifer I FollerCanadaBernardo Dominic PROPOSAL
Jennifer I CampainBrazilAsiya Javayant UNQUALIFIED
Francesco D TollnerArgentinaOnyama Limba PROPOSAL
Tony Q DarakjyRussiaElwin Sharvill RENEWAL
Ivar T OldroydIndiaAmy Elsner NEW
Leja F NickaArgentinaOnyama Limba RENEWAL
Ivar R MarrierFranceIvan Magalhaes NEGOTIATION
Aruna M NickaJapanAsiya Javayant PROPOSAL
Ricardo F MaletBrazilElwin Sharvill RENEWAL
Francesco Q SaylorsUnited KingdomBernardo Dominic NEW
Jeanfrancois T MacleadFranceStephen Shaw QUALIFIED
Ivar Z AmigonCanadaAsiya Javayant UNQUALIFIED
Ricardo B CampainIndiaElwin Sharvill NEGOTIATION
Leja D FigeroaSpainOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Arvin X DoeJapanElwin Sharvill RENEWAL
Mayumi E MaletUnited KingdomIoni Bowcher RENEWAL
Silvio B VenereRussiaOnyama Limba PROPOSAL
Kadeem R ButtJapanAnna Fali NEGOTIATION
Wickens H OstroskyBrazilIoni Bowcher RENEWAL
Leja E GauchoRussiaElwin Sharvill RENEWAL
Ricardo R FollerJapanBernardo Dominic NEW
Francesco O WieserBrazilOnyama Limba PROPOSAL
Julie S InouyeFranceXuxue Feng NEGOTIATION
Maria V WhobreyFranceAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo A OldroydJapan2026-10-20Printing Dimensions QUALIFIED47Stephen Shaw
1001Deepesh X SlusarskiCanada2026-10-09Commercial Press PROPOSAL68Asiya Javayant
1002Leon V KuskoUnited Kingdom2026-10-26Morlong Associates QUALIFIED28Onyama Limba
1003Arvin H PaprockiAustralia2026-10-14Commercial Press NEGOTIATION14Ivan Magalhaes
1004Silvio Y BologniaJapan2026-10-18Morlong Associates QUALIFIED53Ivan Magalhaes
1005Leon C FigeroaUnited Kingdom2026-10-03Chapman, Ross E Esq QUALIFIED23Stephen Shaw
1006Nicolas I ChuiIndia2026-10-11Chanay, Jeffrey A Esq PROPOSAL61Amy Elsner
1007Cody Y OldroydJapan2026-10-12Commercial Press NEGOTIATION42Asiya Javayant
1008Maisha B RulapaughBrazil2026-10-20Truhlar And Truhlar Attys NEW90Bernardo Dominic
1009Izzy F MaletUnited Kingdom2026-10-04Printing Dimensions UNQUALIFIED56Onyama Limba
1010Octavia V DoeRussia2026-10-25Morlong Associates NEGOTIATION6Ioni Bowcher
1011Juan Y RimJapan2026-10-23Rangoni Of Florence RENEWAL59Amy Elsner
1012Jennifer K KuskoRussia2026-10-08King, Christopher A Esq NEGOTIATION4Asiya Javayant
1013Julie A SergiIndia2026-10-19Dorl, James J Esq PROPOSAL21Bernardo Dominic
1014Rodrigues B BologniaArgentina2026-10-26Feiner Bros NEW45Asiya Javayant
1015Kaitlin V GarufiArgentina2026-10-30Rousseaux, Michael Esq RENEWAL73Bernardo Dominic
1016Adams K BologniaRussia2026-10-08Chapman, Ross E Esq PROPOSAL35Elwin Sharvill
1017Aika I OstroskyCanada2026-10-10Truhlar And Truhlar Attys NEGOTIATION68Onyama Limba
1018Aika J MaletArgentina2026-10-20Commercial Press PROPOSAL77Asiya Javayant
1019Leon N RimRussia2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED61Bernardo Dominic
1020Wickens K StockhamAustralia2026-10-02Chanay, Jeffrey A Esq NEGOTIATION71Anna Fali
1021Munro F VocelkaJapan2026-10-27Commercial Press UNQUALIFIED11Onyama Limba
1022Jeanfrancois Q MaletFrance2026-10-20Buckley Miller Wright QUALIFIED76Ivan Magalhaes
1023Juan U SergiCanada2026-10-13Feltz Printing Service NEGOTIATION53Elwin Sharvill
1024Morrow W MacleadFrance2026-10-12Feltz Printing Service PROPOSAL47Xuxue Feng
1025Adams F OstroskySpain2026-10-13Benton, John B Jr NEGOTIATION86Onyama Limba
1026Munro L WhobreyItaly2026-10-21Feltz Printing Service RENEWAL4Asiya Javayant
1027Ricardo G NestleBrazil2026-10-21Rousseaux, Michael Esq NEGOTIATION29Ivan Magalhaes
1028Clifford S SlusarskiJapan2026-10-27Chapman, Ross E Esq PROPOSAL37Ivan Magalhaes
1029Aruna K SlusarskiCanada2026-10-02Rangoni Of Florence NEGOTIATION25Bernardo Dominic
1030Greenwood L RulapaughUnited Kingdom2026-10-16Rangoni Of Florence QUALIFIED57Xuxue Feng
1031Darci X SlusarskiBrazil2026-10-05Chemel, James L Cpa NEW61Bernardo Dominic
1032Maria F GillianRussia2026-10-24Benton, John B Jr RENEWAL9Xuxue Feng
1033Isabel L BologniaJapan2026-10-08Commercial Press RENEWAL50Elwin Sharvill
1034Leja A FollerRussia2026-10-31Morlong Associates NEGOTIATION23Ioni Bowcher
1035Murillo U PerinBrazil2026-10-06Truhlar And Truhlar Attys PROPOSAL19Ivan Magalhaes
1036Julie F PaprockiGermany2026-10-08Dorl, James J Esq UNQUALIFIED65Anna Fali
1037Aruna Q GlickGermany2026-10-29Feiner Bros NEGOTIATION15Xuxue Feng
1038Leja O FigeroaUnited Kingdom2026-10-30Chemel, James L Cpa NEGOTIATION71Ioni Bowcher
1039Aruna Z GlickArgentina2026-10-31Dorl, James J Esq QUALIFIED24Amy Elsner
1040Nicolas L SergiFrance2026-10-25Buckley Miller Wright PROPOSAL99Stephen Shaw
1041Morrow Z IturbideItaly2026-10-25King, Christopher A Esq NEW36Ioni Bowcher
1042Kaitlin M AlbaresItaly2026-10-31Chanay, Jeffrey A Esq PROPOSAL85Xuxue Feng
1043Aruna J SchemmerJapan2026-10-27Feiner Bros QUALIFIED77Amy Elsner
1044Mayumi K OstroskyItaly2026-10-29Morlong Associates QUALIFIED98Ivan Magalhaes
1045Izzy O KolmetzItaly2026-10-03Benton, John B Jr UNQUALIFIED84Asiya Javayant
1046Nicolas P ShinkoIndia2026-10-06Chapman, Ross E Esq NEGOTIATION7Anna Fali
1047Nicolas E RutaRussia2026-10-07Feltz Printing Service PROPOSAL49Bernardo Dominic
1048Wickens Z RimJapan2026-10-06Commercial Press NEGOTIATION60Ivan Magalhaes
1049Salvatore W IturbideArgentina2026-10-17Dorl, James J Esq QUALIFIED60Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Salvatore F IturbideRussiaAmy Elsner UNQUALIFIED
Mayumi E CampainBrazilAnna Fali NEGOTIATION
Leja X NestleBrazilStephen Shaw QUALIFIED
Ricardo A NestleAustraliaOnyama Limba NEGOTIATION
Mujtaba P PoquetteItalyAnna Fali UNQUALIFIED
Darci L ChuiAustraliaXuxue Feng NEGOTIATION
Antonio O FigeroaIndiaElwin Sharvill UNQUALIFIED
Clifford O StensethRussiaIoni Bowcher NEW
Darci R FigeroaJapanOnyama Limba PROPOSAL
Claire W ButtRussiaOnyama Limba NEGOTIATION
Darci J GauchoJapanIoni Bowcher NEGOTIATION
Izzy W FigeroaGermanyXuxue Feng UNQUALIFIED
Izzy I RimIndiaStephen Shaw PROPOSAL
Emily G GillianIndiaBernardo Dominic NEW
Jeanfrancois O PaprockiItalyAmy Elsner PROPOSAL
Smith V TollnerItalyStephen Shaw UNQUALIFIED
Chavez Y OstroskyJapanIvan Magalhaes QUALIFIED
Isabel U SergiAustraliaAnna Fali NEGOTIATION
Morrow L InouyeBrazilOnyama Limba RENEWAL
Adams H PerinBrazilIoni Bowcher UNQUALIFIED
Jennifer X RutaCanadaAnna Fali UNQUALIFIED
James O FlosiUnited KingdomAsiya Javayant PROPOSAL
Misaki L RoysterBrazilOnyama Limba NEGOTIATION
Leja F PoquetteJapanBernardo Dominic RENEWAL
Munro I BriddickJapanBernardo Dominic NEGOTIATION
Clifford N MarrierAustraliaOnyama Limba PROPOSAL
Jeanfrancois Q GarufiArgentinaOnyama Limba UNQUALIFIED
Juan N MorascaArgentinaXuxue Feng PROPOSAL
Juan V OldroydGermanyAmy Elsner UNQUALIFIED
Clifford U TollnerJapanXuxue Feng NEW
Sinclair R BowleyItalyIvan Magalhaes NEW
Misaki Z RutaGermanyAsiya Javayant PROPOSAL
Ricardo C NickaArgentinaAnna Fali QUALIFIED
Kaitlin K KolmetzCanadaIvan Magalhaes RENEWAL
Nicolas E ButtRussiaElwin Sharvill PROPOSAL
Mayumi D FerenczItalyAnna Fali NEW
Rodrigues P DarakjyFranceAmy Elsner QUALIFIED
Clifford X VocelkaItalyOnyama Limba RENEWAL
Sinclair T DoeAustraliaElwin Sharvill UNQUALIFIED
Julie P RutaAustraliaOnyama Limba UNQUALIFIED
Jones Z PoquetteCanadaXuxue Feng PROPOSAL
Chavez Q RulapaughIndiaStephen Shaw UNQUALIFIED
Stacey Q NestleSpainBernardo Dominic UNQUALIFIED
Jones I PerinBrazilElwin Sharvill UNQUALIFIED
Sinclair S FigeroaIndiaOnyama Limba PROPOSAL
Ashley D VenereAustraliaAnna Fali RENEWAL
Darci L BowleyBrazilXuxue Feng RENEWAL
Greenwood H StensethFranceIoni Bowcher RENEWAL
Cody V WhobreyArgentinaBernardo Dominic QUALIFIED
Maria M NestleCanadaAsiya Javayant RENEWAL
Frozen Columns
Name
Ivar Z Morasca
Julie B Caudy
Antonio F Saylors
Wickens B Gaucho
Ashley S Bowley
Aika L Vocelka
Maisha P Gillian
Chavez E Butt
Ivar M Nicka
Ricardo S Whobrey
Stacey F Iturbide
Jeanfrancois C Foller
Arvin R Gillian
Munro T Gaucho
James W Kusko
Octavia D Rim
Salvatore K Ruta
Octavia A Rulapaugh
Maisha B Dilliard
David X Morasca
Jennifer T Nestle
Aditya T Bowley
Greenwood Y Paprocki
Costa O Malet
Francesco N Ruta
Aika U Bowley
Nicolas X Nicka
Leja M Dilliard
Maria H Albares
Julie Q Caudy
Aditya F Wieser
Darci H Wieser
Misaki Q Royster
Mayumi X Poquette
Izzy G Whobrey
Maisha Y Kusko
Izzy G Ruta
Julie I Foller
Ashley B Caudy
Jennifer W Maclead
Jones D Foller
Ashley U Poquette
Munro V Nicka
Maria T Wieser
Murillo Q Royster
Darci X Bolognia
Murillo U Vocelka
Wickens R Ferencz
David T Ferencz
Jeanfrancois T Butt
IdCountryDate
1000Argentina2026-10-16
1001Canada2026-10-29
1002Argentina2026-10-03
1003Canada2026-10-06
1004Australia2026-10-02
1005United Kingdom2026-10-24
1006Canada2026-10-29
1007India2026-10-02
1008Japan2026-10-24
1009France2026-10-16
1010Canada2026-10-10
1011Germany2026-10-26
1012Argentina2026-10-25
1013Germany2026-10-20
1014Germany2026-10-28
1015United Kingdom2026-10-28
1016Brazil2026-10-17
1017Canada2026-10-30
1018Italy2026-10-30
1019United Kingdom2026-10-31
1020Canada2026-10-20
1021India2026-10-10
1022Germany2026-10-19
1023Argentina2026-10-27
1024India2026-10-25
1025Australia2026-10-23
1026Italy2026-10-07
1027Russia2026-10-11
1028Argentina2026-10-31
1029Spain2026-10-08
1030India2026-10-30
1031Germany2026-10-05
1032Brazil2026-10-17
1033Russia2026-10-22
1034Australia2026-10-03
1035Germany2026-10-07
1036France2026-10-14
1037United Kingdom2026-10-18
1038Russia2026-10-22
1039Russia2026-10-18
1040United Kingdom2026-10-28
1041Japan2026-10-14
1042Australia2026-10-14
1043United Kingdom2026-10-24
1044United Kingdom2026-10-22
1045United Kingdom2026-10-30
1046Argentina2026-10-25
1047Italy2026-10-15
1048Russia2026-10-18
1049Brazil2026-10-19

On-Demand Data

NameIdCountryDate
Clifford O Shinko1000Argentina2026-10-25
Mayumi B Bowley1001United Kingdom2026-10-15
Izzy G Ostrosky1002Spain2026-10-26
Izzy D Stockham1003Brazil2026-10-18
Jeanfrancois D Vocelka1004Spain2026-10-19
Mujtaba F Malet1005Russia2026-10-28
Emily E Schemmer1006Japan2026-10-29
Wickens W Nicka1007Japan2026-10-08
Isabel E Albares1008India2026-10-31
Francesco N Ruta1009Australia2026-10-09
Smith U Gaucho1010Germany2026-10-24
Aika H Schemmer1011Spain2026-10-28
Isabel W Iturbide1012Japan2026-10-07
Deepesh U Shinko1013Italy2026-10-22
Costa X Gaucho1014United Kingdom2026-10-28
Smith M Schemmer1015United Kingdom2026-10-02
Kadeem Q Malet1016Australia2026-10-17
James D Caudy1017France2026-10-11
Rodrigues Y Schemmer1018Brazil2026-10-17
Aika A Caudy1019Argentina2026-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh Q GlickUnited KingdomBernardo Dominic PROPOSAL
Aditya V MarrierArgentinaAnna Fali RENEWAL
Jones M InouyeCanadaAsiya Javayant NEW
Chavez K GillianBrazilOnyama Limba NEGOTIATION
Aditya C ChuiJapanOnyama Limba RENEWAL
Johnson E SergiGermanyOnyama Limba PROPOSAL
Johnson Q StockhamAustraliaOnyama Limba RENEWAL
Munro X GauchoAustraliaXuxue Feng NEW
Leja W WhobreySpainStephen Shaw UNQUALIFIED
Stacey P PoquetteBrazilAsiya Javayant PROPOSAL
Sinclair K OldroydGermanyAsiya Javayant NEW
Julie W RimCanadaBernardo Dominic PROPOSAL
Sinclair G WhobreyRussiaIoni Bowcher NEGOTIATION
James F MacleadAustraliaOnyama Limba NEGOTIATION
Alejandro K CampainArgentinaOnyama Limba UNQUALIFIED
Ricardo M TollnerBrazilXuxue Feng QUALIFIED
Salvatore V NickaItalyAsiya Javayant NEW
Jefferson A CampainArgentinaAmy Elsner PROPOSAL
David F AmigonJapanAsiya Javayant QUALIFIED
Leja B TollnerJapanBernardo Dominic QUALIFIED
Stacey D ChuiBrazilXuxue Feng NEGOTIATION
Misaki L CaldareraItalyIvan Magalhaes PROPOSAL
Ivar O BowleyUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois M CaldareraItalyIvan Magalhaes PROPOSAL
Misaki B FlosiFranceAmy Elsner NEW
Nicolas H MacleadBrazilIvan Magalhaes RENEWAL
Claire Z RoysterCanadaStephen Shaw QUALIFIED
Misaki C DilliardUnited KingdomXuxue Feng UNQUALIFIED
Isabel D SchemmerUnited KingdomAmy Elsner RENEWAL
Nicolas S RulapaughUnited KingdomAnna Fali NEW
Clifford E KuskoCanadaElwin Sharvill NEGOTIATION
Aditya Z DilliardBrazilIoni Bowcher QUALIFIED
Jennifer J CaudySpainIoni Bowcher UNQUALIFIED
Smith G KuskoBrazilAsiya Javayant RENEWAL
Ricardo S WhobreySpainStephen Shaw RENEWAL
Smith D DarakjyCanadaAnna Fali NEW
Arvin J MaletIndiaElwin Sharvill QUALIFIED
David B ChuiBrazilOnyama Limba PROPOSAL
Munro M DilliardIndiaIoni Bowcher QUALIFIED
Munro G FlosiRussiaAnna Fali 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>