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
Arvin F RoysterIndiaStephen Shaw PROPOSAL
David J NestleRussiaIoni Bowcher UNQUALIFIED
Salvatore I NestleArgentinaStephen Shaw UNQUALIFIED
Faith K InouyeArgentinaAsiya Javayant NEW
Nicolas B MaletItalyElwin Sharvill UNQUALIFIED
Octavia Y RoysterIndiaIvan Magalhaes NEGOTIATION
Aika Q MaletArgentinaXuxue Feng NEGOTIATION
Ivar I FlosiItalyIoni Bowcher PROPOSAL
Jennifer E CaldareraCanadaElwin Sharvill PROPOSAL
David T KuskoUnited KingdomIvan Magalhaes RENEWAL
Ivar O ButtGermanyOnyama Limba UNQUALIFIED
Stacey T MarrierJapanIvan Magalhaes QUALIFIED
Salvatore H OldroydRussiaXuxue Feng QUALIFIED
Johnson M CaudyUnited KingdomElwin Sharvill NEW
Tony O RutaFranceXuxue Feng UNQUALIFIED
Isabel K FerenczGermanyIoni Bowcher RENEWAL
David C CampainFranceIoni Bowcher NEGOTIATION
Darci N StockhamJapanAnna Fali UNQUALIFIED
Stacey H FlosiItalyElwin Sharvill UNQUALIFIED
Chavez B SlusarskiBrazilIoni Bowcher RENEWAL
Aruna R BologniaAustraliaOnyama Limba QUALIFIED
James B VenereRussiaIoni Bowcher QUALIFIED
Kaitlin F RulapaughFranceIoni Bowcher QUALIFIED
Clifford N KolmetzCanadaXuxue Feng PROPOSAL
Costa H MaletFranceOnyama Limba UNQUALIFIED
Antonio H KuskoAustraliaOnyama Limba PROPOSAL
Arvin T VocelkaCanadaAnna Fali UNQUALIFIED
Chavez B VocelkaAustraliaOnyama Limba UNQUALIFIED
Aika N PoquetteArgentinaOnyama Limba NEGOTIATION
Salvatore G DilliardSpainStephen Shaw NEW
Chavez M MorascaUnited KingdomAnna Fali RENEWAL
Julie X BowleyUnited KingdomAnna Fali RENEWAL
Juan M SaylorsItalyXuxue Feng RENEWAL
Nicolas Z WaycottUnited KingdomIvan Magalhaes RENEWAL
Leon T RoysterGermanyAsiya Javayant NEGOTIATION
Maisha J MaletRussiaAsiya Javayant UNQUALIFIED
Juan B SchemmerBrazilElwin Sharvill PROPOSAL
Leja J RutaCanadaIvan Magalhaes NEGOTIATION
Maisha Y MorascaIndiaXuxue Feng NEW
Sinclair P WhobreyFranceAsiya Javayant RENEWAL
Johnson T ShinkoAustraliaIoni Bowcher PROPOSAL
Clifford K InouyeArgentinaAnna Fali QUALIFIED
Maisha J FlosiFranceAsiya Javayant NEW
Rodrigues H KolmetzSpainIoni Bowcher QUALIFIED
Mayumi E RutaGermanyAmy Elsner RENEWAL
Isabel V MarrierIndiaIvan Magalhaes NEW
Tony T ChuiIndiaAnna Fali RENEWAL
Sinclair P RimRussiaAmy Elsner NEW
Johnson O TollnerBrazilOnyama Limba UNQUALIFIED
Jennifer Q MarrierItalyElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Morrow G CampainItalyStephen Shaw QUALIFIED
Greenwood X CampainIndiaStephen Shaw PROPOSAL
Adams H OldroydUnited KingdomAnna Fali PROPOSAL
Arvin U RutaSpainIvan Magalhaes RENEWAL
Rodrigues P WaycottCanadaAsiya Javayant QUALIFIED
Faith C ShinkoJapanBernardo Dominic UNQUALIFIED
Isabel B OldroydIndiaXuxue Feng UNQUALIFIED
Darci Y WieserBrazilOnyama Limba QUALIFIED
Juan P StockhamBrazilXuxue Feng QUALIFIED
Jones B MacleadFranceElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James V MarrierCanada2025-10-06Chapman, Ross E Esq NEGOTIATION88Ioni Bowcher
1001Mujtaba Q SchemmerIndia2025-10-10Chanay, Jeffrey A Esq RENEWAL72Ivan Magalhaes
1002Jones Y CaldareraItaly2025-09-26Feiner Bros NEW6Amy Elsner
1003James P KuskoItaly2025-10-19Rangoni Of Florence QUALIFIED87Ioni Bowcher
1004Mayumi D BowleyIndia2025-09-30Commercial Press NEW55Elwin Sharvill
1005Deepesh U ChuiUnited Kingdom2025-09-24Chanay, Jeffrey A Esq QUALIFIED21Xuxue Feng
1006Jones A StockhamRussia2025-10-17Chanay, Jeffrey A Esq RENEWAL20Amy Elsner
1007Aruna L ChuiCanada2025-10-08Commercial Press PROPOSAL51Bernardo Dominic
1008Clifford D CampainRussia2025-10-01Rousseaux, Michael Esq QUALIFIED0Anna Fali
1009Aditya P RutaUnited Kingdom2025-09-28Chemel, James L Cpa RENEWAL83Amy Elsner
1010Emily F VenereFrance2025-10-07Dorl, James J Esq RENEWAL0Stephen Shaw
1011Mujtaba X MacleadJapan2025-09-21Truhlar And Truhlar Attys UNQUALIFIED2Amy Elsner
1012Leja M NestleUnited Kingdom2025-10-13Buckley Miller Wright RENEWAL18Ioni Bowcher
1013Jeanfrancois F OstroskyFrance2025-09-30Feiner Bros QUALIFIED31Stephen Shaw
1014Aika S WieserRussia2025-10-10Printing Dimensions QUALIFIED36Elwin Sharvill
1015Maria O StensethBrazil2025-09-26Printing Dimensions PROPOSAL33Anna Fali
1016Arvin H MaletFrance2025-10-03Truhlar And Truhlar Attys NEGOTIATION59Amy Elsner
1017Juan V BologniaCanada2025-09-25Morlong Associates RENEWAL1Bernardo Dominic
1018Mujtaba O BologniaUnited Kingdom2025-10-16Benton, John B Jr NEW20Bernardo Dominic
1019Leja C OldroydRussia2025-09-28Feiner Bros QUALIFIED7Ivan Magalhaes
1020Jefferson Y AmigonItaly2025-10-07Dorl, James J Esq QUALIFIED12Bernardo Dominic
1021Chavez H ShinkoIndia2025-10-06Rousseaux, Michael Esq UNQUALIFIED28Amy Elsner
1022Juan E WaycottSpain2025-10-18Morlong Associates NEW50Anna Fali
1023Murillo P DilliardCanada2025-10-07Chanay, Jeffrey A Esq QUALIFIED89Stephen Shaw
1024Maisha C VocelkaJapan2025-09-28King, Christopher A Esq PROPOSAL36Bernardo Dominic
1025Leon J VenereBrazil2025-10-07Truhlar And Truhlar Attys NEGOTIATION83Ioni Bowcher
1026Jones K ChuiJapan2025-10-15Chemel, James L Cpa NEGOTIATION86Amy Elsner
1027Nicolas D MaletArgentina2025-10-04Chapman, Ross E Esq NEGOTIATION97Amy Elsner
1028David L InouyeBrazil2025-09-28Rousseaux, Michael Esq RENEWAL5Amy Elsner
1029Faith B CampainSpain2025-10-16Feltz Printing Service QUALIFIED60Anna Fali
1030Emily K SlusarskiCanada2025-10-04Printing Dimensions QUALIFIED33Asiya Javayant
1031Aruna E CampainAustralia2025-10-16King, Christopher A Esq PROPOSAL17Anna Fali
1032Emily Q SlusarskiCanada2025-10-07Benton, John B Jr RENEWAL58Elwin Sharvill
1033Claire H GarufiIndia2025-10-13Printing Dimensions NEGOTIATION91Ivan Magalhaes
1034Morrow V SergiJapan2025-09-27Benton, John B Jr UNQUALIFIED21Anna Fali
1035Aditya I AmigonItaly2025-10-14King, Christopher A Esq PROPOSAL51Stephen Shaw
1036Aruna N NestleIndia2025-10-18Rangoni Of Florence NEW93Anna Fali
1037Leja F MarrierUnited Kingdom2025-10-16Truhlar And Truhlar Attys QUALIFIED95Anna Fali
1038Misaki O SergiUnited Kingdom2025-10-19Rangoni Of Florence UNQUALIFIED11Anna Fali
1039Morrow Y MacleadIndia2025-10-11Benton, John B Jr PROPOSAL4Bernardo Dominic
1040Julie G StensethAustralia2025-10-08Feiner Bros NEGOTIATION14Stephen Shaw
1041Rodrigues W WhobreyIndia2025-10-10Printing Dimensions QUALIFIED18Asiya Javayant
1042Johnson H DilliardGermany2025-10-04Truhlar And Truhlar Attys NEGOTIATION7Onyama Limba
1043Mayumi D VocelkaGermany2025-09-24Truhlar And Truhlar Attys RENEWAL4Elwin Sharvill
1044Darci H RimBrazil2025-10-01Printing Dimensions UNQUALIFIED93Anna Fali
1045Murillo G GillianRussia2025-09-30Commercial Press PROPOSAL33Elwin Sharvill
1046Deepesh E OstroskyUnited Kingdom2025-10-16Benton, John B Jr RENEWAL12Onyama Limba
1047Aika T IturbideJapan2025-10-12Printing Dimensions NEGOTIATION87Ioni Bowcher
1048Leon C ChuiJapan2025-10-17Rangoni Of Florence UNQUALIFIED84Ioni Bowcher
1049Sinclair V SaylorsCanada2025-09-28Benton, John B Jr NEW26Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Murillo O WhobreyBrazilIoni Bowcher NEW
Arvin M PerinUnited KingdomXuxue Feng NEW
Mujtaba E FlosiBrazilXuxue Feng NEW
Stacey J ChuiFranceElwin Sharvill UNQUALIFIED
Alejandro G NickaArgentinaIvan Magalhaes NEW
Murillo L WieserArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois L NestleSpainAsiya Javayant UNQUALIFIED
Mujtaba T SaylorsFranceBernardo Dominic PROPOSAL
Cody D SlusarskiBrazilIvan Magalhaes NEW
Tony R WhobreyBrazilBernardo Dominic UNQUALIFIED
Ivar U CampainCanadaAnna Fali QUALIFIED
Claire E DarakjyFranceAmy Elsner NEW
Mayumi X IturbideAustraliaAmy Elsner NEGOTIATION
Chavez A IturbideItalyElwin Sharvill NEW
Munro L InouyeCanadaElwin Sharvill UNQUALIFIED
Jennifer C NestleIndiaBernardo Dominic RENEWAL
Francesco I BowleyArgentinaBernardo Dominic QUALIFIED
Nicolas Q VenereArgentinaOnyama Limba NEGOTIATION
Johnson C SchemmerUnited KingdomElwin Sharvill NEW
Johnson P IturbideArgentinaOnyama Limba UNQUALIFIED
Silvio U OstroskyUnited KingdomIvan Magalhaes PROPOSAL
Jennifer O FigeroaSpainIoni Bowcher NEGOTIATION
Jeanfrancois V PerinGermanyIvan Magalhaes NEW
Jones S DarakjyGermanyElwin Sharvill PROPOSAL
Rodrigues W ButtJapanIoni Bowcher RENEWAL
David L KuskoArgentinaBernardo Dominic RENEWAL
Darci A OstroskyBrazilAsiya Javayant PROPOSAL
Leon J TollnerCanadaStephen Shaw UNQUALIFIED
Ivar D FerenczGermanyIoni Bowcher UNQUALIFIED
Francesco J NickaRussiaElwin Sharvill NEW
Kaitlin X PerinSpainIvan Magalhaes UNQUALIFIED
Misaki L InouyeBrazilElwin Sharvill QUALIFIED
Rodrigues T SchemmerItalyIvan Magalhaes RENEWAL
Aditya E ButtFranceAsiya Javayant RENEWAL
Kaitlin Z IturbideFranceElwin Sharvill RENEWAL
Sinclair C KuskoSpainIoni Bowcher NEW
Arvin K VenereGermanyAmy Elsner QUALIFIED
Morrow P MarrierRussiaIoni Bowcher NEW
Aika G OldroydJapanStephen Shaw QUALIFIED
Mujtaba K VenereArgentinaAnna Fali PROPOSAL
Ashley H GarufiUnited KingdomAmy Elsner RENEWAL
Juan S PerinUnited KingdomIoni Bowcher QUALIFIED
Jones S GarufiArgentinaStephen Shaw RENEWAL
Ricardo N WaycottBrazilBernardo Dominic NEW
Jeanfrancois P GarufiAustraliaAsiya Javayant NEGOTIATION
Aditya K BologniaFranceAsiya Javayant RENEWAL
Murillo T RimJapanIvan Magalhaes QUALIFIED
Murillo I GarufiRussiaAsiya Javayant RENEWAL
Julie X GarufiGermanyIvan Magalhaes NEGOTIATION
Claire U VenereCanadaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Aruna Z Oldroyd
Ricardo G Marrier
Sinclair E Whobrey
Julie X Dilliard
Aruna X Oldroyd
Faith E Stockham
Leon T Amigon
Wickens D Perin
Nicolas Z Caldarera
Jones L Nicka
Juan J Iturbide
Misaki V Chui
Johnson G Waycott
Cody P Rim
Francesco I Foller
Jeanfrancois F Malet
Alejandro K Saylors
Maria S Rulapaugh
Alejandro C Nestle
Tony I Tollner
Deepesh T Stenseth
Kaitlin K Vocelka
Izzy N Bowley
Maisha L Venere
Kaitlin K Saylors
Jefferson D Kolmetz
Greenwood T Doe
Octavia V Kusko
Sinclair Q Caldarera
Emily P Nicka
Morrow M Schemmer
Wickens J Glick
Nicolas G Doe
Aruna F Amigon
Jefferson H Kolmetz
Deepesh H Kolmetz
Emily A Darakjy
Maisha J Caldarera
Clifford U Chui
Jennifer D Tollner
Ashley S Sergi
Adams Y Oldroyd
Mujtaba R Perin
Mayumi B Glick
Costa Q Slusarski
Smith O Perin
Silvio D Sergi
Juan Q Perin
Darci V Dilliard
Smith C Nicka
IdCountryDate
1000Japan2025-10-12
1001Argentina2025-10-05
1002Spain2025-09-21
1003Argentina2025-09-28
1004Japan2025-10-07
1005Spain2025-10-10
1006Germany2025-10-03
1007Australia2025-09-28
1008Spain2025-10-05
1009Argentina2025-09-25
1010Italy2025-10-13
1011Spain2025-10-02
1012Russia2025-10-16
1013United Kingdom2025-09-29
1014Argentina2025-10-03
1015Canada2025-09-30
1016France2025-09-22
1017Japan2025-09-28
1018United Kingdom2025-10-17
1019Spain2025-10-13
1020Germany2025-10-04
1021United Kingdom2025-10-10
1022Japan2025-10-13
1023Russia2025-10-20
1024Australia2025-10-15
1025Australia2025-09-25
1026United Kingdom2025-10-13
1027Russia2025-09-23
1028Spain2025-09-26
1029Russia2025-09-28
1030Australia2025-10-08
1031Russia2025-10-10
1032Canada2025-09-27
1033Argentina2025-10-03
1034Spain2025-10-14
1035Brazil2025-10-05
1036Japan2025-10-03
1037Russia2025-09-29
1038Canada2025-10-14
1039Italy2025-10-20
1040Russia2025-09-24
1041Spain2025-10-06
1042Canada2025-10-06
1043Russia2025-10-20
1044Argentina2025-10-03
1045Japan2025-10-18
1046Brazil2025-10-03
1047Australia2025-09-23
1048Italy2025-09-27
1049India2025-10-11

On-Demand Data

NameIdCountryDate
Aika L Morasca1000Brazil2025-09-21
Aditya A Tollner1001Spain2025-10-14
Ashley Z Glick1002Brazil2025-10-05
Aika O Saylors1003Italy2025-09-28
Jones V Waycott1004Japan2025-09-29
Silvio I Amigon1005India2025-09-21
Jefferson E Maclead1006India2025-10-12
Sinclair G Stockham1007Brazil2025-10-05
Morrow V Wieser1008Italy2025-09-25
Juan U Venere1009Canada2025-10-16
Rodrigues F Wieser1010Germany2025-10-19
Alejandro N Caudy1011Italy2025-10-10
Alejandro K Nestle1012Italy2025-09-29
Sinclair K Dilliard1013Russia2025-10-15
Kaitlin E Flosi1014Brazil2025-09-29
Clifford B Schemmer1015Russia2025-10-12
Stacey H Kusko1016France2025-09-24
Nicolas U Ostrosky1017Italy2025-10-02
Misaki C Malet1018Argentina2025-10-08
Faith X Bolognia1019Argentina2025-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith U CaudyBrazilXuxue Feng QUALIFIED
Jeanfrancois S GauchoGermanyAmy Elsner RENEWAL
Julie P FlosiCanadaIvan Magalhaes NEGOTIATION
Darci N PaprockiRussiaIoni Bowcher NEGOTIATION
Stacey G InouyeFranceIoni Bowcher NEW
Ashley X WaycottFranceAmy Elsner RENEWAL
Aruna H AlbaresUnited KingdomAnna Fali QUALIFIED
Clifford N GillianRussiaElwin Sharvill NEGOTIATION
Wickens D CaudyIndiaAmy Elsner NEW
Stacey V DarakjyGermanyIvan Magalhaes NEW
Faith I KolmetzJapanIoni Bowcher PROPOSAL
Claire M MaletGermanyAnna Fali QUALIFIED
Misaki B NickaCanadaIvan Magalhaes UNQUALIFIED
Mayumi I SaylorsBrazilBernardo Dominic PROPOSAL
Costa X ButtItalyIvan Magalhaes QUALIFIED
Stacey Y DoeIndiaAmy Elsner NEGOTIATION
Ivar E AmigonArgentinaAmy Elsner UNQUALIFIED
Jennifer M FerenczRussiaOnyama Limba NEW
Julie A OldroydFranceBernardo Dominic QUALIFIED
Ivar Q DarakjyArgentinaIvan Magalhaes RENEWAL
Maria U FerenczSpainBernardo Dominic QUALIFIED
Mayumi Q PerinItalyAmy Elsner NEW
Cody F PerinArgentinaElwin Sharvill PROPOSAL
Munro M KolmetzGermanyIoni Bowcher RENEWAL
Ashley D GlickGermanyOnyama Limba PROPOSAL
Smith D ShinkoIndiaXuxue Feng RENEWAL
Chavez X StockhamCanadaIoni Bowcher UNQUALIFIED
Tony H CaldareraIndiaIoni Bowcher QUALIFIED
Alejandro B SlusarskiCanadaIoni Bowcher UNQUALIFIED
Chavez H PaprockiIndiaIoni Bowcher RENEWAL
Wickens P DoeCanadaIoni Bowcher NEGOTIATION
Kadeem B OstroskyCanadaIoni Bowcher UNQUALIFIED
Stacey T VenereArgentinaStephen Shaw QUALIFIED
Mujtaba K ChuiGermanyAsiya Javayant PROPOSAL
Octavia A BologniaSpainIvan Magalhaes NEW
Salvatore L FerenczAustraliaIoni Bowcher UNQUALIFIED
Nicolas H DarakjyRussiaElwin Sharvill QUALIFIED
Arvin F KuskoIndiaIoni Bowcher PROPOSAL
Antonio N BriddickIndiaIoni Bowcher NEW
Alejandro A FlosiArgentinaIvan Magalhaes RENEWAL

<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>