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
Smith B ChuiIndiaAnna Fali QUALIFIED
Mayumi N WhobreyCanadaAnna Fali QUALIFIED
Jefferson L FigeroaFranceIoni Bowcher QUALIFIED
Ashley N BriddickRussiaElwin Sharvill QUALIFIED
Juan E OldroydCanadaBernardo Dominic QUALIFIED
Isabel R VenereSpainIvan Magalhaes UNQUALIFIED
Greenwood J CaldareraBrazilAnna Fali NEGOTIATION
Izzy P StockhamFranceAnna Fali NEW
Francesco P FlosiAustraliaStephen Shaw RENEWAL
Deepesh M CaldareraFranceElwin Sharvill NEW
Aika P IturbideArgentinaElwin Sharvill UNQUALIFIED
Murillo I MaletItalyIvan Magalhaes RENEWAL
Arvin D KuskoRussiaXuxue Feng RENEWAL
Octavia L KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow E WhobreyFranceAnna Fali PROPOSAL
Munro D ButtBrazilIvan Magalhaes UNQUALIFIED
Jennifer J CaudyFranceAmy Elsner PROPOSAL
Octavia X IturbideJapanOnyama Limba PROPOSAL
Aruna F IturbideFranceOnyama Limba PROPOSAL
Munro T InouyeFranceElwin Sharvill NEGOTIATION
Misaki S WieserRussiaAmy Elsner NEGOTIATION
Ivar D VenereCanadaIvan Magalhaes NEW
Arvin K BowleyUnited KingdomXuxue Feng RENEWAL
Isabel S StensethSpainAnna Fali UNQUALIFIED
Faith B GillianFranceElwin Sharvill PROPOSAL
Deepesh V NestleRussiaIvan Magalhaes UNQUALIFIED
Johnson Q KuskoItalyIoni Bowcher PROPOSAL
Maria O MarrierItalyBernardo Dominic NEW
Isabel C DilliardRussiaStephen Shaw UNQUALIFIED
Adams W BologniaIndiaIvan Magalhaes RENEWAL
Cody M BriddickGermanyAsiya Javayant RENEWAL
Stacey E WhobreyFranceXuxue Feng NEGOTIATION
Munro I OldroydSpainIvan Magalhaes NEGOTIATION
Misaki K PoquetteItalyXuxue Feng PROPOSAL
Smith Z RimArgentinaBernardo Dominic UNQUALIFIED
Alejandro Q AmigonGermanyAnna Fali QUALIFIED
Claire W SlusarskiJapanOnyama Limba QUALIFIED
Adams W PerinUnited KingdomElwin Sharvill UNQUALIFIED
Antonio D NickaSpainBernardo Dominic QUALIFIED
James B DoeGermanyXuxue Feng NEGOTIATION
Aditya W WhobreyArgentinaXuxue Feng NEW
Antonio L MorascaAustraliaOnyama Limba UNQUALIFIED
Francesco Z ButtItalyAnna Fali QUALIFIED
Greenwood I MarrierFranceOnyama Limba NEGOTIATION
Antonio X RoysterAustraliaXuxue Feng PROPOSAL
Leon X SchemmerItalyElwin Sharvill NEGOTIATION
Costa R NestleBrazilBernardo Dominic RENEWAL
Cody F NickaUnited KingdomIoni Bowcher QUALIFIED
Jefferson Q GarufiSpainIoni Bowcher UNQUALIFIED
Murillo P ShinkoSpainBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois Q FlosiArgentinaStephen Shaw PROPOSAL
Sinclair F InouyeBrazilAmy Elsner QUALIFIED
Stacey D CaldareraSpainAsiya Javayant PROPOSAL
Octavia L WaycottCanadaIvan Magalhaes UNQUALIFIED
Ivar Y VenereSpainStephen Shaw PROPOSAL
Greenwood G CampainBrazilAmy Elsner NEW
Jones O SaylorsItalyOnyama Limba QUALIFIED
Ricardo A NickaIndiaIvan Magalhaes PROPOSAL
Smith F ShinkoBrazilIvan Magalhaes RENEWAL
Adams S SergiAustraliaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria F StockhamIndia2025-08-31Feiner Bros UNQUALIFIED17Ivan Magalhaes
1001Kaitlin F SergiBrazil2025-08-31Morlong Associates PROPOSAL86Xuxue Feng
1002Adams V NestleFrance2025-09-17Rangoni Of Florence RENEWAL93Asiya Javayant
1003Aditya K SaylorsCanada2025-08-25Feltz Printing Service NEGOTIATION91Ioni Bowcher
1004Kadeem V FlosiArgentina2025-08-26Commercial Press QUALIFIED26Amy Elsner
1005Nicolas G MorascaBrazil2025-09-19Chapman, Ross E Esq UNQUALIFIED43Xuxue Feng
1006Jennifer O BowleyAustralia2025-09-21King, Christopher A Esq RENEWAL72Asiya Javayant
1007Maria Q DilliardIndia2025-09-03Chanay, Jeffrey A Esq UNQUALIFIED24Amy Elsner
1008Mujtaba J RimFrance2025-09-21King, Christopher A Esq QUALIFIED21Xuxue Feng
1009Cody T AlbaresIndia2025-09-06Dorl, James J Esq UNQUALIFIED69Stephen Shaw
1010Francesco P WieserItaly2025-09-18Morlong Associates UNQUALIFIED77Ivan Magalhaes
1011Ivar J WaycottJapan2025-08-25Rousseaux, Michael Esq UNQUALIFIED87Anna Fali
1012Leon L AlbaresBrazil2025-09-07Chapman, Ross E Esq NEW23Onyama Limba
1013Clifford S RutaGermany2025-09-09Truhlar And Truhlar Attys PROPOSAL54Onyama Limba
1014Greenwood V RulapaughIndia2025-09-01Chanay, Jeffrey A Esq RENEWAL37Onyama Limba
1015Stacey A OldroydSpain2025-08-26Feiner Bros RENEWAL8Ioni Bowcher
1016Francesco K PoquetteItaly2025-08-30Morlong Associates UNQUALIFIED90Xuxue Feng
1017Rodrigues C CampainItaly2025-09-01Feiner Bros RENEWAL0Ioni Bowcher
1018James K FerenczGermany2025-09-04Rangoni Of Florence NEGOTIATION47Xuxue Feng
1019Salvatore M FlosiCanada2025-09-03King, Christopher A Esq PROPOSAL33Ivan Magalhaes
1020Silvio P DilliardCanada2025-09-18Truhlar And Truhlar Attys RENEWAL31Asiya Javayant
1021Francesco D InouyeArgentina2025-09-06Feltz Printing Service NEW41Bernardo Dominic
1022Alejandro A BologniaGermany2025-09-22Rousseaux, Michael Esq NEGOTIATION0Stephen Shaw
1023Murillo A WaycottBrazil2025-09-22Feiner Bros UNQUALIFIED86Stephen Shaw
1024Misaki I InouyeGermany2025-09-04Feiner Bros NEGOTIATION9Ioni Bowcher
1025Salvatore E WaycottJapan2025-09-12Chanay, Jeffrey A Esq UNQUALIFIED7Xuxue Feng
1026Johnson J CampainSpain2025-09-15Printing Dimensions PROPOSAL45Ivan Magalhaes
1027Arvin D BowleyArgentina2025-09-12Commercial Press QUALIFIED9Bernardo Dominic
1028Tony D AlbaresRussia2025-09-12Morlong Associates UNQUALIFIED28Bernardo Dominic
1029Chavez M CampainAustralia2025-09-12Chemel, James L Cpa UNQUALIFIED50Ioni Bowcher
1030Chavez Z PoquetteArgentina2025-09-12Chanay, Jeffrey A Esq UNQUALIFIED47Stephen Shaw
1031Tony D OstroskyRussia2025-09-02Chanay, Jeffrey A Esq UNQUALIFIED74Xuxue Feng
1032Clifford J ButtFrance2025-09-16Morlong Associates NEW4Ioni Bowcher
1033Stacey Z BowleyGermany2025-09-09Feltz Printing Service UNQUALIFIED99Xuxue Feng
1034Costa D SergiItaly2025-08-26Feltz Printing Service PROPOSAL5Bernardo Dominic
1035Isabel T MarrierUnited Kingdom2025-09-20Truhlar And Truhlar Attys UNQUALIFIED34Elwin Sharvill
1036Costa B StockhamJapan2025-09-01Buckley Miller Wright NEGOTIATION45Onyama Limba
1037Aruna A AmigonIndia2025-09-07Rangoni Of Florence UNQUALIFIED50Bernardo Dominic
1038Chavez W ButtAustralia2025-08-25Printing Dimensions UNQUALIFIED42Asiya Javayant
1039Darci J WaycottItaly2025-09-01Feltz Printing Service NEW60Xuxue Feng
1040Jefferson D GauchoJapan2025-09-22King, Christopher A Esq QUALIFIED81Asiya Javayant
1041David W FlosiRussia2025-08-30Feiner Bros NEW66Ioni Bowcher
1042Octavia F VocelkaRussia2025-09-01Rousseaux, Michael Esq NEW90Anna Fali
1043Munro X OstroskyBrazil2025-08-31Chanay, Jeffrey A Esq UNQUALIFIED42Asiya Javayant
1044Morrow C SlusarskiSpain2025-09-09Chapman, Ross E Esq QUALIFIED20Elwin Sharvill
1045Silvio R DoeAustralia2025-08-24Rangoni Of Florence NEGOTIATION1Amy Elsner
1046Costa X FerenczArgentina2025-09-21Commercial Press QUALIFIED76Elwin Sharvill
1047Cody U SaylorsBrazil2025-09-01Chapman, Ross E Esq NEGOTIATION33Anna Fali
1048Aditya M WaycottIndia2025-09-16Buckley Miller Wright PROPOSAL13Asiya Javayant
1049Silvio Q BriddickBrazil2025-08-25Feltz Printing Service NEW7Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Murillo X StensethUnited KingdomIoni Bowcher NEGOTIATION
Chavez A RimJapanXuxue Feng NEW
James H ButtItalyAnna Fali PROPOSAL
Maisha C PerinItalyOnyama Limba UNQUALIFIED
Chavez D MarrierFranceXuxue Feng NEW
Ivar H ButtIndiaAsiya Javayant NEW
Izzy O ButtCanadaBernardo Dominic NEW
Jeanfrancois B NickaCanadaAmy Elsner NEGOTIATION
Emily P AmigonItalyElwin Sharvill RENEWAL
Stacey Z DoeUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois U CampainUnited KingdomStephen Shaw NEW
Alejandro W MaletUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro D PerinJapanXuxue Feng QUALIFIED
Cody Z RulapaughCanadaXuxue Feng NEGOTIATION
Deepesh F VocelkaAustraliaAmy Elsner NEGOTIATION
Maria G MaletFranceIvan Magalhaes NEW
James D SergiBrazilOnyama Limba QUALIFIED
Chavez M BriddickBrazilOnyama Limba QUALIFIED
James C DilliardAustraliaAnna Fali RENEWAL
Silvio F PaprockiSpainOnyama Limba PROPOSAL
Octavia X KolmetzAustraliaAsiya Javayant RENEWAL
Misaki K NickaSpainAmy Elsner NEGOTIATION
Ashley I NestleSpainOnyama Limba NEGOTIATION
Isabel O VenereRussiaAmy Elsner UNQUALIFIED
Silvio U PoquetteRussiaBernardo Dominic NEW
Deepesh K DilliardIndiaAsiya Javayant NEW
Kaitlin L RulapaughSpainElwin Sharvill NEGOTIATION
Ashley D VenereRussiaStephen Shaw NEGOTIATION
Jefferson I BriddickBrazilOnyama Limba QUALIFIED
Alejandro C RutaIndiaStephen Shaw RENEWAL
Stacey E PerinRussiaIoni Bowcher RENEWAL
Adams Z StensethRussiaAsiya Javayant RENEWAL
Jones N MaletSpainAnna Fali PROPOSAL
Johnson X InouyeGermanyAnna Fali NEGOTIATION
Nicolas O InouyeFranceXuxue Feng NEGOTIATION
Aditya G MorascaArgentinaElwin Sharvill NEGOTIATION
Nicolas U AmigonGermanyAsiya Javayant NEW
Antonio I InouyeItalyBernardo Dominic NEW
Kaitlin R AmigonFranceAsiya Javayant NEGOTIATION
Aditya E CaldareraIndiaStephen Shaw RENEWAL
Murillo V MorascaJapanElwin Sharvill QUALIFIED
Johnson A SlusarskiJapanAmy Elsner UNQUALIFIED
Aditya B MaletAustraliaElwin Sharvill QUALIFIED
Jefferson B VenereUnited KingdomElwin Sharvill PROPOSAL
Munro E VocelkaJapanAnna Fali UNQUALIFIED
Chavez R InouyeFranceIvan Magalhaes NEW
Arvin Y FlosiRussiaBernardo Dominic RENEWAL
Jones C FlosiFranceIvan Magalhaes PROPOSAL
Isabel V DoeSpainBernardo Dominic PROPOSAL
Mayumi U NickaCanadaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Clifford T Rulapaugh
Aruna B Doe
Greenwood X Ostrosky
Aika R Caudy
Arvin J Schemmer
Murillo V Morasca
Isabel O Butt
Maisha W Kolmetz
Adams K Ostrosky
Ricardo N Bolognia
David M Whobrey
Ricardo X Bolognia
Izzy K Tollner
Smith K Schemmer
Francesco B Kusko
Jefferson Q Waycott
Mayumi C Caldarera
Cody X Tollner
Johnson X Foller
Chavez R Briddick
Ashley U Ruta
Francesco O Sergi
Cody Z Gillian
Octavia F Kolmetz
Faith M Foller
Deepesh B Sergi
Kaitlin G Ostrosky
Octavia A Wieser
Wickens A Royster
Octavia G Bolognia
Kaitlin E Rim
Antonio B Sergi
Claire L Ferencz
Misaki Q Waycott
Deepesh T Flosi
Adams B Dilliard
Cody R Malet
Munro L Iturbide
Morrow J Whobrey
Stacey Q Rim
Kaitlin W Kolmetz
Darci L Tollner
Ricardo O Inouye
Emily T Malet
Leon V Vocelka
Aika R Iturbide
Jefferson K Butt
Juan E Caudy
Francesco T Bolognia
Kaitlin B Maclead
IdCountryDate
1000United Kingdom2025-09-16
1001Italy2025-09-06
1002Brazil2025-09-01
1003Brazil2025-09-22
1004Canada2025-09-16
1005Brazil2025-09-06
1006Russia2025-09-10
1007France2025-09-10
1008Italy2025-09-17
1009Australia2025-09-19
1010Russia2025-08-25
1011Brazil2025-08-29
1012Japan2025-09-02
1013United Kingdom2025-08-25
1014Australia2025-09-06
1015United Kingdom2025-08-24
1016India2025-09-15
1017India2025-08-25
1018Italy2025-09-08
1019Canada2025-09-14
1020Brazil2025-09-12
1021Canada2025-08-25
1022France2025-08-29
1023Germany2025-08-27
1024Argentina2025-09-06
1025Japan2025-08-27
1026Russia2025-09-14
1027India2025-08-31
1028United Kingdom2025-09-03
1029Russia2025-08-29
1030Canada2025-09-14
1031France2025-08-29
1032Italy2025-08-29
1033Canada2025-09-08
1034Brazil2025-08-30
1035Argentina2025-09-18
1036Italy2025-09-03
1037Japan2025-09-12
1038France2025-09-01
1039France2025-09-16
1040Germany2025-09-15
1041Italy2025-09-14
1042Brazil2025-09-05
1043Japan2025-09-16
1044France2025-09-04
1045Canada2025-09-01
1046Russia2025-09-16
1047India2025-09-14
1048Germany2025-09-05
1049Japan2025-08-26

On-Demand Data

NameIdCountryDate
Costa Q Malet1000France2025-09-14
Nicolas W Nestle1001Argentina2025-08-29
Chavez R Rulapaugh1002Canada2025-09-07
Kadeem F Garufi1003Japan2025-09-17
Faith H Stenseth1004Brazil2025-09-20
Wickens F Royster1005Italy2025-09-12
Munro R Rulapaugh1006Spain2025-09-18
Maisha C Maclead1007Russia2025-09-13
Nicolas L Amigon1008France2025-09-11
Juan M Shinko1009India2025-09-21
Alejandro K Perin1010Russia2025-09-05
David Y Rim1011India2025-09-14
Ivar E Waycott1012United Kingdom2025-09-16
Smith N Briddick1013Brazil2025-09-13
Ashley A Wieser1014Argentina2025-09-12
Aika B Venere1015India2025-09-19
Kadeem G Oldroyd1016Brazil2025-09-22
Clifford R Poquette1017Brazil2025-09-03
Aditya A Marrier1018Australia2025-09-21
Stacey F Glick1019United Kingdom2025-09-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh M VocelkaJapanOnyama Limba NEW
Leon A ShinkoArgentinaOnyama Limba QUALIFIED
Jennifer X ShinkoAustraliaIvan Magalhaes UNQUALIFIED
Salvatore E NickaFranceAmy Elsner PROPOSAL
Ivar D AmigonIndiaIoni Bowcher NEGOTIATION
Emily E ShinkoJapanOnyama Limba NEW
Tony X CampainItalyAnna Fali UNQUALIFIED
Munro L FerenczCanadaOnyama Limba QUALIFIED
Ivar U TollnerItalyAsiya Javayant QUALIFIED
Greenwood B GillianAustraliaIvan Magalhaes PROPOSAL
Jefferson I WieserFranceElwin Sharvill UNQUALIFIED
Cody A CaudyArgentinaStephen Shaw QUALIFIED
Isabel K ChuiIndiaIoni Bowcher UNQUALIFIED
Mayumi Z IturbideJapanIvan Magalhaes NEGOTIATION
Aditya Z GillianArgentinaStephen Shaw UNQUALIFIED
Aditya F WieserArgentinaXuxue Feng RENEWAL
Aditya K CaldareraItalyBernardo Dominic NEGOTIATION
Aditya J BologniaBrazilIoni Bowcher NEW
Jefferson W DilliardBrazilStephen Shaw NEGOTIATION
Salvatore U ShinkoBrazilAmy Elsner UNQUALIFIED
Ricardo J PoquetteGermanyBernardo Dominic UNQUALIFIED
Aruna W ShinkoIndiaBernardo Dominic UNQUALIFIED
Wickens F RutaItalyAnna Fali QUALIFIED
Ashley J PerinUnited KingdomAmy Elsner QUALIFIED
Izzy U SlusarskiUnited KingdomIoni Bowcher NEW
Morrow M GillianJapanIoni Bowcher QUALIFIED
Arvin T DarakjySpainBernardo Dominic NEW
Munro Z AlbaresAustraliaBernardo Dominic NEGOTIATION
Clifford L NestleJapanStephen Shaw PROPOSAL
Octavia W GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Jones G SaylorsArgentinaBernardo Dominic PROPOSAL
Kaitlin A WaycottAustraliaIvan Magalhaes UNQUALIFIED
Leon B ButtArgentinaAnna Fali PROPOSAL
Leon A DoeRussiaXuxue Feng UNQUALIFIED
Chavez C SchemmerAustraliaBernardo Dominic RENEWAL
Octavia L KuskoBrazilBernardo Dominic NEGOTIATION
Isabel G WaycottItalyStephen Shaw NEGOTIATION
Misaki F FlosiArgentinaStephen Shaw PROPOSAL
Isabel U RutaFranceStephen Shaw UNQUALIFIED
Maria H PerinGermanyAsiya Javayant 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>