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
Greenwood C MaletFranceXuxue Feng PROPOSAL
Antonio K SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Aruna D OstroskyAustraliaIoni Bowcher PROPOSAL
Emily Y KolmetzItalyAsiya Javayant QUALIFIED
Emily E CaldareraGermanyXuxue Feng UNQUALIFIED
Nicolas V DilliardJapanIoni Bowcher PROPOSAL
Johnson Z PerinArgentinaAmy Elsner PROPOSAL
Murillo S BriddickFranceIoni Bowcher QUALIFIED
Maria I BowleyBrazilAsiya Javayant QUALIFIED
Kadeem L NestleUnited KingdomXuxue Feng NEW
Izzy K AlbaresRussiaIvan Magalhaes NEGOTIATION
Alejandro R MorascaItalyXuxue Feng NEGOTIATION
Salvatore K ShinkoBrazilBernardo Dominic NEGOTIATION
Arvin N SchemmerArgentinaIvan Magalhaes QUALIFIED
Isabel T WaycottAustraliaElwin Sharvill UNQUALIFIED
Morrow Q OstroskyCanadaIvan Magalhaes UNQUALIFIED
Faith Z CaldareraFranceAsiya Javayant PROPOSAL
Murillo M StensethItalyAsiya Javayant RENEWAL
Wickens A ShinkoBrazilOnyama Limba QUALIFIED
Deepesh T StockhamUnited KingdomIvan Magalhaes QUALIFIED
Maria W FerenczCanadaIoni Bowcher RENEWAL
Kaitlin J PerinAustraliaOnyama Limba UNQUALIFIED
Jefferson R GauchoAustraliaXuxue Feng UNQUALIFIED
Nicolas F BologniaFranceBernardo Dominic NEGOTIATION
Francesco E SlusarskiSpainElwin Sharvill RENEWAL
Deepesh C DilliardIndiaStephen Shaw NEW
Cody J RimJapanXuxue Feng NEGOTIATION
Julie R VenereFranceElwin Sharvill QUALIFIED
Rodrigues Y DarakjyCanadaElwin Sharvill UNQUALIFIED
Jones J SergiSpainIvan Magalhaes PROPOSAL
Stacey Y CaldareraItalyAmy Elsner RENEWAL
Jones V KuskoIndiaIoni Bowcher QUALIFIED
Jefferson E DarakjyUnited KingdomAnna Fali RENEWAL
James D PoquetteBrazilBernardo Dominic NEGOTIATION
Arvin B MarrierBrazilIvan Magalhaes PROPOSAL
Aditya C VenereRussiaElwin Sharvill PROPOSAL
Aruna J PerinJapanXuxue Feng QUALIFIED
Maisha W MarrierRussiaIvan Magalhaes UNQUALIFIED
Morrow J CaudyRussiaAsiya Javayant NEW
Maisha F MarrierSpainAmy Elsner NEGOTIATION
Maisha Y OstroskyGermanyAnna Fali QUALIFIED
Jennifer H FollerSpainBernardo Dominic RENEWAL
Emily B MaletJapanElwin Sharvill RENEWAL
Costa I MacleadUnited KingdomAsiya Javayant NEW
Misaki U ChuiFranceElwin Sharvill UNQUALIFIED
Johnson V MaletRussiaAsiya Javayant UNQUALIFIED
Mujtaba M ChuiSpainElwin Sharvill NEW
Emily G CaudyUnited KingdomStephen Shaw NEW
Leon L MacleadSpainAnna Fali NEGOTIATION
Maria R BriddickCanadaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Francesco U NestleItalyIvan Magalhaes QUALIFIED
Mayumi X DoeFranceIoni Bowcher NEW
Nicolas I DoeGermanyBernardo Dominic PROPOSAL
Misaki C ChuiJapanAnna Fali NEW
Jones V BriddickCanadaElwin Sharvill UNQUALIFIED
Claire O MarrierSpainElwin Sharvill PROPOSAL
Izzy C AmigonUnited KingdomIoni Bowcher RENEWAL
Arvin A SaylorsGermanyStephen Shaw RENEWAL
Alejandro M RutaRussiaIoni Bowcher QUALIFIED
Costa W GlickUnited KingdomXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody V MacleadBrazil2025-10-03Morlong Associates UNQUALIFIED64Bernardo Dominic
1001Ricardo N GillianArgentina2025-10-05Printing Dimensions PROPOSAL14Bernardo Dominic
1002Octavia U ShinkoCanada2025-10-03Rangoni Of Florence NEGOTIATION74Stephen Shaw
1003Emily F MacleadUnited Kingdom2025-10-07Truhlar And Truhlar Attys QUALIFIED15Stephen Shaw
1004Ivar O SchemmerFrance2025-09-27Rangoni Of Florence UNQUALIFIED91Amy Elsner
1005Smith D CaldareraJapan2025-10-13Rangoni Of Florence UNQUALIFIED89Ioni Bowcher
1006Sinclair W InouyeIndia2025-09-18Chemel, James L Cpa UNQUALIFIED67Xuxue Feng
1007Sinclair W SlusarskiSpain2025-10-09Rousseaux, Michael Esq QUALIFIED33Bernardo Dominic
1008Leja C GarufiGermany2025-10-06Rangoni Of Florence NEGOTIATION95Elwin Sharvill
1009Salvatore B InouyeAustralia2025-09-20Chapman, Ross E Esq QUALIFIED16Ioni Bowcher
1010Mayumi A DoeJapan2025-10-01Chapman, Ross E Esq PROPOSAL50Bernardo Dominic
1011Claire A BologniaRussia2025-10-08Rousseaux, Michael Esq NEGOTIATION39Bernardo Dominic
1012Murillo V WieserIndia2025-10-15Buckley Miller Wright QUALIFIED97Amy Elsner
1013Murillo Z SlusarskiJapan2025-10-10Morlong Associates UNQUALIFIED55Anna Fali
1014Ricardo U DarakjyItaly2025-10-02Morlong Associates RENEWAL26Elwin Sharvill
1015Jones S BriddickGermany2025-09-22Morlong Associates UNQUALIFIED32Asiya Javayant
1016Antonio U ButtRussia2025-10-10Buckley Miller Wright NEGOTIATION26Anna Fali
1017Mujtaba L WhobreyJapan2025-10-13Printing Dimensions QUALIFIED31Anna Fali
1018Kaitlin B RoysterIndia2025-09-26Morlong Associates NEGOTIATION95Xuxue Feng
1019Darci F KolmetzJapan2025-09-20Dorl, James J Esq UNQUALIFIED72Onyama Limba
1020Octavia L MacleadGermany2025-09-18King, Christopher A Esq NEGOTIATION65Stephen Shaw
1021James T RutaFrance2025-10-01Commercial Press UNQUALIFIED49Onyama Limba
1022Jeanfrancois B OldroydUnited Kingdom2025-09-23Printing Dimensions RENEWAL12Amy Elsner
1023Clifford J SchemmerAustralia2025-10-08Rangoni Of Florence RENEWAL67Elwin Sharvill
1024Wickens H FerenczArgentina2025-10-13King, Christopher A Esq RENEWAL5Anna Fali
1025Mayumi S PaprockiRussia2025-10-15Commercial Press NEW27Amy Elsner
1026Costa V GlickSpain2025-10-06Chapman, Ross E Esq PROPOSAL76Ioni Bowcher
1027Smith T FollerJapan2025-10-03Printing Dimensions UNQUALIFIED13Elwin Sharvill
1028Johnson D FigeroaItaly2025-10-14Feiner Bros RENEWAL18Elwin Sharvill
1029Emily B BologniaUnited Kingdom2025-09-20Chanay, Jeffrey A Esq UNQUALIFIED18Anna Fali
1030Ricardo Q ShinkoItaly2025-09-28Feiner Bros NEW46Onyama Limba
1031Mujtaba U BowleyIndia2025-09-22Feltz Printing Service QUALIFIED50Ioni Bowcher
1032Isabel V OstroskyFrance2025-09-24Buckley Miller Wright RENEWAL4Asiya Javayant
1033Deepesh B StensethFrance2025-10-14Feiner Bros NEW47Ivan Magalhaes
1034Costa W PaprockiGermany2025-09-25Dorl, James J Esq RENEWAL13Onyama Limba
1035Leja E StensethIndia2025-10-02Chemel, James L Cpa NEW11Ivan Magalhaes
1036Rodrigues K DoeItaly2025-10-16Benton, John B Jr UNQUALIFIED95Elwin Sharvill
1037Aditya H DoeJapan2025-09-18King, Christopher A Esq NEW24Bernardo Dominic
1038Stacey M GauchoIndia2025-10-01Chanay, Jeffrey A Esq NEW17Xuxue Feng
1039Ivar T DilliardSpain2025-09-19Benton, John B Jr RENEWAL24Asiya Javayant
1040Isabel K OldroydJapan2025-09-24Chanay, Jeffrey A Esq NEW68Amy Elsner
1041Wickens R PerinSpain2025-10-03Rousseaux, Michael Esq NEW57Amy Elsner
1042Jefferson M MaletArgentina2025-10-12Truhlar And Truhlar Attys NEW18Anna Fali
1043Ivar O MarrierUnited Kingdom2025-10-08Benton, John B Jr QUALIFIED60Xuxue Feng
1044Francesco K MacleadCanada2025-10-13Chanay, Jeffrey A Esq UNQUALIFIED43Ivan Magalhaes
1045Octavia P RulapaughIndia2025-10-14Morlong Associates QUALIFIED91Anna Fali
1046Adams O DilliardRussia2025-10-06Buckley Miller Wright RENEWAL17Ivan Magalhaes
1047Jefferson E FerenczGermany2025-09-28Chapman, Ross E Esq NEW12Onyama Limba
1048Stacey E RimFrance2025-10-06Chapman, Ross E Esq PROPOSAL38Xuxue Feng
1049Silvio F GarufiFrance2025-09-30Rousseaux, Michael Esq NEGOTIATION31Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aika P SaylorsBrazilXuxue Feng PROPOSAL
Rodrigues G WieserJapanAnna Fali NEGOTIATION
Chavez U GarufiSpainOnyama Limba UNQUALIFIED
Smith P StensethArgentinaOnyama Limba UNQUALIFIED
Kaitlin C DoeJapanAsiya Javayant UNQUALIFIED
Salvatore G VocelkaIndiaOnyama Limba UNQUALIFIED
Murillo T NickaBrazilElwin Sharvill PROPOSAL
Aika O AmigonSpainIoni Bowcher NEW
Mujtaba I CampainGermanyAmy Elsner UNQUALIFIED
Darci B MacleadFranceIoni Bowcher QUALIFIED
David G MaletRussiaAnna Fali QUALIFIED
Maria A RimGermanyOnyama Limba NEW
Juan P MaletBrazilOnyama Limba UNQUALIFIED
Aditya S BriddickSpainElwin Sharvill PROPOSAL
Sinclair B FerenczCanadaAmy Elsner NEGOTIATION
Munro L RimGermanyElwin Sharvill PROPOSAL
Rodrigues W ShinkoBrazilOnyama Limba RENEWAL
Maisha U AlbaresFranceBernardo Dominic NEGOTIATION
Munro P BowleyRussiaIoni Bowcher RENEWAL
Faith B MorascaFranceBernardo Dominic QUALIFIED
Claire R DilliardSpainAsiya Javayant PROPOSAL
Alejandro T NickaIndiaOnyama Limba UNQUALIFIED
Jennifer B FollerUnited KingdomIoni Bowcher NEW
Darci J FlosiBrazilAnna Fali QUALIFIED
Clifford W WhobreyBrazilOnyama Limba QUALIFIED
Emily Y StensethUnited KingdomAnna Fali NEGOTIATION
Darci Z MaletGermanyBernardo Dominic NEW
Ricardo D OldroydIndiaAsiya Javayant NEGOTIATION
Leon L ButtBrazilBernardo Dominic PROPOSAL
Morrow I MacleadUnited KingdomIoni Bowcher NEGOTIATION
Sinclair J SlusarskiAustraliaElwin Sharvill QUALIFIED
Costa T CaudyAustraliaElwin Sharvill QUALIFIED
Stacey X ChuiIndiaElwin Sharvill NEGOTIATION
Jefferson M MaletItalyAnna Fali NEW
Cody L BowleyJapanIvan Magalhaes UNQUALIFIED
Maisha N SergiAustraliaElwin Sharvill NEGOTIATION
Ricardo B PoquetteItalyAnna Fali UNQUALIFIED
Misaki D NickaArgentinaXuxue Feng RENEWAL
Sinclair X CaldareraBrazilIoni Bowcher NEGOTIATION
Jennifer E WhobreyCanadaAmy Elsner NEW
Francesco D NickaIndiaElwin Sharvill UNQUALIFIED
Salvatore V CaldareraAustraliaAnna Fali QUALIFIED
Munro W CaudySpainBernardo Dominic RENEWAL
Jones O RulapaughUnited KingdomElwin Sharvill PROPOSAL
Kaitlin S PaprockiBrazilXuxue Feng QUALIFIED
Costa Y BologniaItalyOnyama Limba UNQUALIFIED
Darci A FerenczCanadaAmy Elsner QUALIFIED
Ivar K MaletUnited KingdomBernardo Dominic NEGOTIATION
Misaki W FigeroaCanadaBernardo Dominic UNQUALIFIED
Aditya W FlosiAustraliaAnna Fali NEGOTIATION
Frozen Columns
Name
Juan D Foller
Rodrigues V Schemmer
Leja O Malet
Kadeem Y Tollner
Chavez A Gillian
Juan K Stockham
Octavia K Briddick
Darci F Sergi
Murillo O Doe
Francesco N Marrier
Ivar Q Briddick
Ivar B Campain
Julie X Kusko
Johnson G Malet
Adams Y Poquette
Julie V Wieser
Chavez N Slusarski
Costa A Marrier
Arvin Y Royster
Sinclair Z Kusko
Mujtaba M Paprocki
Salvatore I Inouye
Ivar D Butt
Antonio J Oldroyd
Maisha H Amigon
Juan F Amigon
Maria T Kolmetz
Jones V Doe
David G Caldarera
Faith E Vocelka
Kaitlin Y Tollner
Jones K Figeroa
Isabel B Doe
Kadeem P Bolognia
Francesco G Ostrosky
Antonio H Kusko
Munro L Whobrey
Deepesh D Stenseth
Rodrigues A Ostrosky
Jones E Albares
Tony Q Maclead
Mujtaba J Chui
Cody E Caudy
James X Figeroa
Silvio B Malet
Sinclair O Rim
Alejandro K Kusko
Deepesh A Saylors
Costa H Morasca
Morrow L Malet
IdCountryDate
1000India2025-09-22
1001Brazil2025-09-21
1002United Kingdom2025-10-10
1003Argentina2025-09-30
1004France2025-10-07
1005Spain2025-10-05
1006Australia2025-09-26
1007United Kingdom2025-10-05
1008Russia2025-10-10
1009Australia2025-09-30
1010Argentina2025-10-16
1011Japan2025-10-16
1012Spain2025-10-15
1013Italy2025-10-15
1014France2025-09-29
1015Russia2025-09-27
1016Australia2025-10-15
1017Italy2025-09-29
1018Argentina2025-09-29
1019United Kingdom2025-10-03
1020Spain2025-09-26
1021Spain2025-10-14
1022Australia2025-10-12
1023India2025-09-21
1024India2025-09-18
1025United Kingdom2025-09-21
1026United Kingdom2025-09-27
1027Australia2025-09-28
1028Argentina2025-10-04
1029India2025-09-30
1030France2025-10-05
1031India2025-10-04
1032Italy2025-10-05
1033Canada2025-09-18
1034Russia2025-10-14
1035Germany2025-10-03
1036United Kingdom2025-10-15
1037United Kingdom2025-09-24
1038United Kingdom2025-10-16
1039Germany2025-10-14
1040Canada2025-09-26
1041Australia2025-09-19
1042Canada2025-10-06
1043Spain2025-10-07
1044Japan2025-09-27
1045France2025-10-04
1046France2025-09-22
1047Japan2025-10-11
1048Italy2025-09-22
1049Italy2025-10-16

On-Demand Data

NameIdCountryDate
Nicolas J Morasca1000Brazil2025-09-18
Octavia B Malet1001Brazil2025-10-17
David F Whobrey1002Canada2025-10-15
Jeanfrancois L Malet1003Russia2025-09-22
Rodrigues P Bowley1004United Kingdom2025-09-26
Faith O Maclead1005Germany2025-10-07
Smith G Vocelka1006Italy2025-10-04
Smith W Butt1007United Kingdom2025-10-13
Munro P Garufi1008Italy2025-09-27
Aika M Dilliard1009Brazil2025-10-01
Isabel N Saylors1010Argentina2025-09-21
Juan O Darakjy1011France2025-10-14
Salvatore A Sergi1012Canada2025-10-10
Misaki H Butt1013Russia2025-09-30
Maisha R Ferencz1014France2025-09-18
Darci D Kusko1015United Kingdom2025-10-11
Mujtaba W Shinko1016Argentina2025-10-01
Francesco N Shinko1017Japan2025-09-30
Johnson D Rim1018Canada2025-09-27
Deepesh X Vocelka1019Argentina2025-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki K SchemmerAustraliaOnyama Limba UNQUALIFIED
Nicolas L RutaBrazilIvan Magalhaes QUALIFIED
Leon Z PoquetteCanadaStephen Shaw UNQUALIFIED
Darci N WaycottArgentinaStephen Shaw UNQUALIFIED
Kadeem P DilliardBrazilIvan Magalhaes NEW
Deepesh I FlosiBrazilElwin Sharvill UNQUALIFIED
James K FigeroaAustraliaAnna Fali NEGOTIATION
Murillo J CaudyAustraliaAmy Elsner PROPOSAL
Antonio S RimGermanyAsiya Javayant QUALIFIED
Juan H MaletAustraliaOnyama Limba PROPOSAL
Clifford W StensethIndiaElwin Sharvill NEW
Murillo G ChuiRussiaAsiya Javayant NEGOTIATION
Maria Y OstroskySpainElwin Sharvill NEGOTIATION
David U ChuiUnited KingdomOnyama Limba PROPOSAL
Aika Y MaletBrazilAmy Elsner PROPOSAL
James S SaylorsAustraliaElwin Sharvill QUALIFIED
Munro L GillianSpainAsiya Javayant UNQUALIFIED
Clifford N FigeroaGermanyBernardo Dominic UNQUALIFIED
Faith G WhobreyArgentinaStephen Shaw NEGOTIATION
Murillo P ButtJapanBernardo Dominic UNQUALIFIED
Tony J WieserRussiaXuxue Feng PROPOSAL
Juan O SaylorsIndiaIoni Bowcher NEGOTIATION
Adams F GarufiCanadaIvan Magalhaes RENEWAL
Morrow W StensethSpainXuxue Feng QUALIFIED
Leja N SergiRussiaAmy Elsner NEGOTIATION
Murillo V BologniaCanadaIvan Magalhaes RENEWAL
Darci O ChuiGermanyAsiya Javayant NEGOTIATION
Johnson D FlosiSpainStephen Shaw NEGOTIATION
Misaki U RimRussiaAmy Elsner RENEWAL
Maisha Z SaylorsSpainXuxue Feng RENEWAL
James J ShinkoSpainAsiya Javayant PROPOSAL
Faith P FlosiUnited KingdomAsiya Javayant NEGOTIATION
Murillo O RulapaughFranceIoni Bowcher UNQUALIFIED
Salvatore B StensethCanadaElwin Sharvill RENEWAL
Leja E MacleadArgentinaStephen Shaw PROPOSAL
Wickens U MarrierAustraliaAsiya Javayant NEGOTIATION
Jefferson Z DoeGermanyIvan Magalhaes QUALIFIED
Mujtaba V CaudyUnited KingdomStephen Shaw PROPOSAL
Aika A DoeGermanyOnyama Limba UNQUALIFIED
Clifford U MorascaJapanOnyama Limba QUALIFIED

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