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
Aika Y RutaRussiaElwin Sharvill QUALIFIED
Misaki Q RimArgentinaOnyama Limba NEW
Murillo N PaprockiIndiaIoni Bowcher NEW
Cody K OldroydJapanAnna Fali UNQUALIFIED
Deepesh S NestleAustraliaElwin Sharvill NEGOTIATION
Isabel L ShinkoRussiaStephen Shaw RENEWAL
Claire N FollerIndiaOnyama Limba RENEWAL
Stacey D KolmetzItalyStephen Shaw PROPOSAL
Mujtaba U MacleadIndiaBernardo Dominic NEW
Costa P CaldareraBrazilElwin Sharvill PROPOSAL
Smith W KolmetzIndiaIvan Magalhaes NEW
Aditya Q NestleGermanyXuxue Feng NEW
Ivar J PoquetteFranceAmy Elsner NEGOTIATION
Jeanfrancois A MaletArgentinaXuxue Feng NEGOTIATION
Isabel G PerinAustraliaBernardo Dominic RENEWAL
Silvio P CaudySpainAsiya Javayant PROPOSAL
Octavia I PoquetteFranceElwin Sharvill PROPOSAL
Maria D BriddickCanadaBernardo Dominic NEW
Aruna K SlusarskiArgentinaXuxue Feng NEW
Juan B MaletRussiaAnna Fali NEGOTIATION
Mayumi Z BowleyUnited KingdomAmy Elsner UNQUALIFIED
Octavia S PoquetteSpainAmy Elsner PROPOSAL
Cody Z DilliardIndiaAmy Elsner PROPOSAL
Ashley F OstroskySpainAmy Elsner NEGOTIATION
Leja D FlosiIndiaAmy Elsner RENEWAL
Francesco D BologniaFranceIoni Bowcher NEGOTIATION
Stacey X CaldareraBrazilOnyama Limba NEW
Ashley W MorascaIndiaIoni Bowcher RENEWAL
Isabel Y DoeJapanAsiya Javayant NEW
Sinclair Z PoquetteArgentinaAmy Elsner NEGOTIATION
Emily B RulapaughSpainXuxue Feng PROPOSAL
Claire Y OstroskyJapanStephen Shaw NEW
Maisha Y BowleyArgentinaIoni Bowcher PROPOSAL
Ricardo Z GarufiItalyElwin Sharvill QUALIFIED
Jeanfrancois C GlickIndiaIoni Bowcher QUALIFIED
Julie S SchemmerItalyOnyama Limba RENEWAL
Munro I FlosiUnited KingdomXuxue Feng QUALIFIED
Jones S GillianSpainStephen Shaw QUALIFIED
Ashley D RulapaughIndiaStephen Shaw UNQUALIFIED
Wickens J RutaRussiaAmy Elsner QUALIFIED
Aditya Y CampainGermanyOnyama Limba QUALIFIED
Cody V CaldareraGermanyIvan Magalhaes PROPOSAL
Deepesh W FlosiJapanAmy Elsner UNQUALIFIED
James A IturbideCanadaElwin Sharvill UNQUALIFIED
Aditya N RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Morrow V InouyeItalyStephen Shaw QUALIFIED
Aika A WaycottFranceXuxue Feng UNQUALIFIED
Maisha U FlosiBrazilBernardo Dominic NEGOTIATION
Maria T GauchoAustraliaBernardo Dominic QUALIFIED
Jones J SlusarskiGermanyStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson I BologniaIndiaOnyama Limba UNQUALIFIED
Antonio E GlickGermanyElwin Sharvill UNQUALIFIED
Silvio I VenereJapanStephen Shaw RENEWAL
Leja S WieserBrazilAsiya Javayant RENEWAL
Wickens O CaldareraUnited KingdomAmy Elsner NEW
Antonio G GlickFranceElwin Sharvill NEW
Rodrigues N BriddickGermanyElwin Sharvill NEGOTIATION
Greenwood S RutaCanadaIoni Bowcher PROPOSAL
Izzy A MaletGermanyXuxue Feng RENEWAL
Jennifer D OldroydSpainElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya E InouyeAustralia2025-07-25Chapman, Ross E Esq PROPOSAL45Onyama Limba
1001Arvin O DilliardRussia2025-07-15Truhlar And Truhlar Attys NEW23Ivan Magalhaes
1002Mayumi N SaylorsRussia2025-07-17Chapman, Ross E Esq QUALIFIED66Bernardo Dominic
1003Wickens Y StensethArgentina2025-07-11Rangoni Of Florence NEW79Amy Elsner
1004Adams K WieserFrance2025-07-09Commercial Press RENEWAL30Xuxue Feng
1005Jeanfrancois K GlickRussia2025-07-28King, Christopher A Esq UNQUALIFIED79Bernardo Dominic
1006Adams U CaldareraFrance2025-07-16Rangoni Of Florence NEW84Stephen Shaw
1007Chavez E RoysterUnited Kingdom2025-07-28Benton, John B Jr NEW92Anna Fali
1008Costa E RulapaughGermany2025-07-11Chapman, Ross E Esq UNQUALIFIED71Stephen Shaw
1009Misaki V OldroydUnited Kingdom2025-07-09Rangoni Of Florence NEGOTIATION73Ivan Magalhaes
1010Deepesh Y CaldareraRussia2025-07-25Feltz Printing Service RENEWAL28Elwin Sharvill
1011Silvio L ShinkoGermany2025-07-07Benton, John B Jr RENEWAL31Asiya Javayant
1012Aruna B WaycottCanada2025-07-24Feltz Printing Service UNQUALIFIED26Anna Fali
1013Aruna R AlbaresAustralia2025-07-30Chanay, Jeffrey A Esq NEGOTIATION77Amy Elsner
1014Aruna K RutaGermany2025-07-13Feltz Printing Service PROPOSAL97Xuxue Feng
1015David Y RoysterIndia2025-07-24Chemel, James L Cpa NEGOTIATION17Xuxue Feng
1016Julie E FerenczUnited Kingdom2025-07-11Buckley Miller Wright UNQUALIFIED76Amy Elsner
1017Sinclair R InouyeUnited Kingdom2025-07-22Printing Dimensions PROPOSAL9Xuxue Feng
1018Aika H CaldareraSpain2025-07-14Rangoni Of Florence RENEWAL76Anna Fali
1019Jefferson X VocelkaFrance2025-07-09Dorl, James J Esq NEGOTIATION3Onyama Limba
1020Sinclair F SlusarskiAustralia2025-07-28Dorl, James J Esq RENEWAL2Stephen Shaw
1021James M DarakjyBrazil2025-07-11King, Christopher A Esq RENEWAL52Asiya Javayant
1022Claire Y AmigonRussia2025-07-09Chemel, James L Cpa UNQUALIFIED79Ioni Bowcher
1023Jennifer H NestleCanada2025-07-15Chapman, Ross E Esq NEGOTIATION95Ioni Bowcher
1024Octavia P FlosiGermany2025-07-15Dorl, James J Esq RENEWAL74Ivan Magalhaes
1025Adams P PoquetteIndia2025-07-14Truhlar And Truhlar Attys RENEWAL43Xuxue Feng
1026Jeanfrancois O PoquetteAustralia2025-07-11Benton, John B Jr UNQUALIFIED23Onyama Limba
1027Deepesh X SaylorsJapan2025-07-20Morlong Associates NEGOTIATION64Ivan Magalhaes
1028Antonio Q OldroydItaly2025-07-14Truhlar And Truhlar Attys QUALIFIED6Ivan Magalhaes
1029Leon F PaprockiUnited Kingdom2025-07-24Printing Dimensions QUALIFIED56Asiya Javayant
1030Emily I SaylorsArgentina2025-07-24Feiner Bros NEW70Ioni Bowcher
1031Aditya I StockhamBrazil2025-08-02King, Christopher A Esq PROPOSAL57Xuxue Feng
1032Antonio I AmigonBrazil2025-08-04Truhlar And Truhlar Attys QUALIFIED57Onyama Limba
1033Nicolas G InouyeIndia2025-07-10Feiner Bros NEGOTIATION26Stephen Shaw
1034Deepesh X OldroydUnited Kingdom2025-07-08Benton, John B Jr NEGOTIATION82Ioni Bowcher
1035David E NestleItaly2025-07-25Dorl, James J Esq PROPOSAL93Ioni Bowcher
1036Salvatore I MacleadSpain2025-07-31Printing Dimensions QUALIFIED8Onyama Limba
1037Claire X CaudyBrazil2025-07-13Truhlar And Truhlar Attys PROPOSAL20Asiya Javayant
1038Emily I SchemmerAustralia2025-07-29Chanay, Jeffrey A Esq RENEWAL50Ioni Bowcher
1039Aika M WhobreyFrance2025-07-11Morlong Associates PROPOSAL87Bernardo Dominic
1040Rodrigues A SlusarskiCanada2025-07-19Buckley Miller Wright UNQUALIFIED34Bernardo Dominic
1041Kaitlin X OldroydFrance2025-08-02Commercial Press PROPOSAL91Elwin Sharvill
1042Arvin Y FollerGermany2025-07-28Rangoni Of Florence UNQUALIFIED68Onyama Limba
1043Deepesh L TollnerArgentina2025-07-10Rangoni Of Florence PROPOSAL90Stephen Shaw
1044Kaitlin M WieserItaly2025-07-23Truhlar And Truhlar Attys PROPOSAL10Ioni Bowcher
1045Julie M SaylorsFrance2025-07-12Printing Dimensions NEGOTIATION4Asiya Javayant
1046Faith N MaletUnited Kingdom2025-08-02Feltz Printing Service RENEWAL13Asiya Javayant
1047Munro W PerinArgentina2025-07-07Morlong Associates RENEWAL57Stephen Shaw
1048Rodrigues L GlickCanada2025-07-20Truhlar And Truhlar Attys PROPOSAL84Bernardo Dominic
1049Tony T StockhamIndia2025-07-23Dorl, James J Esq RENEWAL22Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Smith M StensethSpainAmy Elsner UNQUALIFIED
Juan Z PoquetteFranceElwin Sharvill RENEWAL
Claire A OldroydAustraliaBernardo Dominic UNQUALIFIED
Alejandro S BriddickUnited KingdomXuxue Feng PROPOSAL
Ashley S OstroskyJapanOnyama Limba UNQUALIFIED
Aika N DilliardRussiaXuxue Feng NEGOTIATION
Antonio J OldroydIndiaStephen Shaw QUALIFIED
Aruna Y SchemmerFranceOnyama Limba PROPOSAL
Mayumi W ShinkoItalyXuxue Feng PROPOSAL
Jeanfrancois B InouyeCanadaIoni Bowcher RENEWAL
Kadeem V ButtIndiaXuxue Feng NEGOTIATION
James T SergiItalyXuxue Feng PROPOSAL
David T CampainItalyAsiya Javayant UNQUALIFIED
Greenwood I CaudyRussiaAnna Fali UNQUALIFIED
Jones C AmigonFranceOnyama Limba PROPOSAL
Aruna G RulapaughBrazilXuxue Feng RENEWAL
Munro W BriddickGermanyXuxue Feng NEW
Kadeem B PoquetteAustraliaIvan Magalhaes QUALIFIED
Darci R IturbideJapanAnna Fali QUALIFIED
Isabel N DilliardItalyAsiya Javayant NEW
Cody D KuskoIndiaIvan Magalhaes NEW
Sinclair B VocelkaUnited KingdomOnyama Limba RENEWAL
Faith F GarufiGermanyIvan Magalhaes RENEWAL
Ivar O StockhamArgentinaIoni Bowcher UNQUALIFIED
Faith M TollnerIndiaBernardo Dominic QUALIFIED
Salvatore J NickaArgentinaBernardo Dominic UNQUALIFIED
Adams Q SchemmerSpainOnyama Limba QUALIFIED
Antonio S NickaJapanBernardo Dominic PROPOSAL
Wickens S SchemmerGermanyIoni Bowcher PROPOSAL
Aika T RoysterArgentinaElwin Sharvill UNQUALIFIED
Chavez J RutaJapanIvan Magalhaes NEGOTIATION
Aditya M DarakjyBrazilElwin Sharvill RENEWAL
Antonio P GillianArgentinaXuxue Feng PROPOSAL
Rodrigues X DoeJapanOnyama Limba RENEWAL
Greenwood V MaletFranceIoni Bowcher QUALIFIED
Kadeem W ChuiItalyBernardo Dominic NEW
James T StensethSpainXuxue Feng PROPOSAL
Julie U CampainUnited KingdomBernardo Dominic UNQUALIFIED
Ashley T InouyeItalyAsiya Javayant NEGOTIATION
Izzy Z CampainRussiaIoni Bowcher QUALIFIED
Leon U VocelkaAustraliaAsiya Javayant NEW
Octavia C GarufiAustraliaBernardo Dominic UNQUALIFIED
Jennifer E RutaIndiaElwin Sharvill UNQUALIFIED
Claire H OstroskySpainAmy Elsner NEW
Aditya S InouyeIndiaStephen Shaw RENEWAL
Isabel Y MaletSpainXuxue Feng QUALIFIED
Murillo F MaletSpainElwin Sharvill RENEWAL
Francesco R ShinkoGermanyAnna Fali RENEWAL
Julie G KolmetzBrazilElwin Sharvill PROPOSAL
Leon G GarufiSpainElwin Sharvill RENEWAL
Frozen Columns
Name
Murillo Q Caudy
Clifford K Bowley
Jeanfrancois D Stenseth
Juan N Doe
James W Vocelka
Leja J Poquette
Ricardo Q Darakjy
Costa B Foller
Cody J Iturbide
Murillo G Morasca
Mujtaba W Caldarera
Greenwood V Paprocki
James V Morasca
Sinclair Y Malet
Stacey N Sergi
Aditya G Glick
Chavez C Gillian
Murillo G Rim
Cody S Amigon
Mujtaba F Gillian
Murillo G Caudy
Isabel D Perin
Octavia X Saylors
Leja M Ruta
Kaitlin S Inouye
Ashley N Rim
Salvatore Y Poquette
Johnson I Maclead
Deepesh M Saylors
Jeanfrancois F Foller
Antonio Y Caudy
Faith Z Perin
Arvin K Foller
Ashley G Rulapaugh
Maria R Darakjy
Stacey O Royster
Cody E Paprocki
Stacey B Gaucho
Rodrigues I Morasca
Silvio A Figeroa
Aika Q Stockham
Morrow D Saylors
Smith J Venere
Misaki W Maclead
Misaki D Foller
Murillo W Briddick
Emily W Glick
Deepesh N Dilliard
Deepesh B Maclead
Arvin P Glick
IdCountryDate
1000Italy2025-07-08
1001Brazil2025-07-29
1002Spain2025-07-31
1003Italy2025-07-25
1004Spain2025-07-21
1005Italy2025-07-22
1006Australia2025-07-30
1007Germany2025-07-29
1008Australia2025-07-29
1009Japan2025-07-13
1010Italy2025-07-11
1011United Kingdom2025-07-17
1012India2025-08-03
1013Russia2025-07-24
1014France2025-07-23
1015United Kingdom2025-07-13
1016Russia2025-07-16
1017Australia2025-07-12
1018Brazil2025-08-01
1019India2025-08-03
1020Japan2025-07-21
1021United Kingdom2025-07-18
1022France2025-07-16
1023Australia2025-07-10
1024United Kingdom2025-07-22
1025Canada2025-07-17
1026Germany2025-07-31
1027Brazil2025-07-13
1028Spain2025-07-30
1029Argentina2025-07-10
1030Argentina2025-07-09
1031Argentina2025-07-27
1032Italy2025-07-21
1033Canada2025-07-22
1034Australia2025-07-07
1035France2025-08-01
1036Russia2025-07-07
1037France2025-07-07
1038Canada2025-07-15
1039Argentina2025-07-29
1040Japan2025-07-26
1041Australia2025-07-25
1042United Kingdom2025-07-21
1043Brazil2025-07-29
1044France2025-07-13
1045Germany2025-07-13
1046Russia2025-07-16
1047Russia2025-07-12
1048Australia2025-07-24
1049United Kingdom2025-07-22

On-Demand Data

NameIdCountryDate
Nicolas I Vocelka1000Argentina2025-07-28
Ricardo E Campain1001Russia2025-07-25
Morrow G Campain1002India2025-07-22
Morrow X Morasca1003Australia2025-07-23
Salvatore X Rim1004France2025-07-28
Aditya Q Dilliard1005Brazil2025-07-15
Deepesh B Caudy1006Japan2025-07-15
Wickens X Dilliard1007Brazil2025-07-11
Murillo H Nicka1008Italy2025-07-26
Ashley W Ostrosky1009Argentina2025-07-10
Izzy F Oldroyd1010India2025-07-22
Tony S Flosi1011Russia2025-07-10
Clifford Z Campain1012France2025-08-01
Arvin O Nicka1013France2025-08-02
Salvatore W Morasca1014India2025-07-12
Mujtaba U Flosi1015Germany2025-07-17
Kadeem V Schemmer1016United Kingdom2025-07-09
Sinclair P Ostrosky1017Germany2025-08-03
Rodrigues A Perin1018Brazil2025-07-29
Maisha N Malet1019Russia2025-07-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha G GillianCanadaXuxue Feng UNQUALIFIED
Smith T ShinkoBrazilOnyama Limba UNQUALIFIED
Jefferson F MaletSpainOnyama Limba NEGOTIATION
Alejandro F CaudyIndiaAmy Elsner QUALIFIED
Johnson Z NestleGermanyElwin Sharvill NEGOTIATION
Deepesh P CaudyBrazilAsiya Javayant RENEWAL
Claire M StensethBrazilAmy Elsner PROPOSAL
Chavez A StensethRussiaIvan Magalhaes UNQUALIFIED
Izzy B GauchoFranceAnna Fali QUALIFIED
Murillo N GlickSpainXuxue Feng QUALIFIED
Kaitlin Z CaudyFranceIvan Magalhaes RENEWAL
Darci P SaylorsItalyXuxue Feng NEW
Francesco Y KuskoFranceIvan Magalhaes RENEWAL
Isabel C BologniaFranceElwin Sharvill PROPOSAL
Cody L MarrierUnited KingdomAmy Elsner RENEWAL
Aika K ButtAustraliaElwin Sharvill QUALIFIED
Stacey F DoeBrazilAsiya Javayant UNQUALIFIED
Kaitlin N BologniaSpainAnna Fali NEGOTIATION
Greenwood E StensethArgentinaAsiya Javayant NEW
Octavia M CaldareraJapanElwin Sharvill RENEWAL
Ivar O VenereItalyAsiya Javayant RENEWAL
Isabel O CaldareraItalyBernardo Dominic NEW
Claire M GillianJapanAmy Elsner QUALIFIED
Nicolas X FigeroaItalyAmy Elsner QUALIFIED
Tony B ShinkoItalyAnna Fali PROPOSAL
Ashley O NestleJapanAmy Elsner PROPOSAL
Juan I DarakjyBrazilAsiya Javayant QUALIFIED
Johnson D BologniaFranceBernardo Dominic UNQUALIFIED
Silvio L GarufiBrazilIvan Magalhaes PROPOSAL
Chavez N BologniaItalyElwin Sharvill UNQUALIFIED
Salvatore R BologniaBrazilAsiya Javayant RENEWAL
Murillo U WaycottAustraliaIvan Magalhaes PROPOSAL
Octavia I FlosiAustraliaAmy Elsner NEGOTIATION
Misaki K RoysterIndiaElwin Sharvill PROPOSAL
Munro H ButtJapanXuxue Feng PROPOSAL
Kaitlin L RoysterBrazilAmy Elsner NEGOTIATION
Isabel U WhobreyAustraliaAmy Elsner NEGOTIATION
Jefferson B AmigonSpainIvan Magalhaes RENEWAL
Johnson J MacleadRussiaElwin Sharvill QUALIFIED
Faith N BriddickSpainOnyama Limba 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>