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
Jennifer F VocelkaAustraliaAmy Elsner PROPOSAL
Izzy F TollnerUnited KingdomOnyama Limba QUALIFIED
Jones U GarufiGermanyElwin Sharvill PROPOSAL
Darci F PerinUnited KingdomIvan Magalhaes PROPOSAL
Izzy Y ChuiFranceBernardo Dominic QUALIFIED
Murillo Y SchemmerGermanyIoni Bowcher NEW
Antonio G KuskoArgentinaIvan Magalhaes QUALIFIED
Julie H DarakjyRussiaOnyama Limba RENEWAL
Francesco U ShinkoArgentinaIvan Magalhaes PROPOSAL
Maisha Z PaprockiJapanXuxue Feng UNQUALIFIED
Ashley A OldroydCanadaOnyama Limba NEW
Maisha Q RutaArgentinaAmy Elsner UNQUALIFIED
Greenwood Z ShinkoAustraliaBernardo Dominic RENEWAL
Izzy P RimSpainAsiya Javayant UNQUALIFIED
Darci X ShinkoSpainAmy Elsner NEGOTIATION
Aditya D RutaFranceXuxue Feng RENEWAL
Juan C AlbaresGermanyXuxue Feng UNQUALIFIED
Munro H SaylorsAustraliaAsiya Javayant PROPOSAL
Jennifer W InouyeJapanAmy Elsner UNQUALIFIED
Salvatore N WieserCanadaAnna Fali UNQUALIFIED
Emily D WaycottUnited KingdomStephen Shaw RENEWAL
Nicolas G VenereRussiaIvan Magalhaes RENEWAL
Ivar V DarakjyUnited KingdomBernardo Dominic QUALIFIED
Ricardo E VocelkaUnited KingdomElwin Sharvill UNQUALIFIED
Maisha G ButtJapanAsiya Javayant UNQUALIFIED
Murillo I MorascaSpainOnyama Limba PROPOSAL
Juan P RulapaughUnited KingdomAmy Elsner NEW
Murillo M WhobreyIndiaAmy Elsner QUALIFIED
Jeanfrancois T SchemmerUnited KingdomAmy Elsner NEW
Johnson M SergiFranceAnna Fali RENEWAL
Misaki X FlosiSpainElwin Sharvill UNQUALIFIED
Munro C MorascaAustraliaStephen Shaw QUALIFIED
Arvin N DilliardFranceOnyama Limba UNQUALIFIED
Ivar I WieserSpainBernardo Dominic QUALIFIED
Kaitlin J DilliardBrazilAnna Fali RENEWAL
Darci U FlosiBrazilElwin Sharvill RENEWAL
Darci S CaldareraBrazilAmy Elsner NEGOTIATION
Stacey V IturbideIndiaIoni Bowcher UNQUALIFIED
Mayumi A GlickRussiaAmy Elsner UNQUALIFIED
Sinclair Y WhobreyRussiaIoni Bowcher UNQUALIFIED
Greenwood G CaudyCanadaIoni Bowcher NEGOTIATION
Ricardo P FigeroaUnited KingdomIoni Bowcher NEW
Julie O RimBrazilBernardo Dominic NEGOTIATION
Darci G WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Ashley U DilliardItalyStephen Shaw NEGOTIATION
Cody R TollnerSpainOnyama Limba QUALIFIED
Antonio V BowleyAustraliaIoni Bowcher UNQUALIFIED
Clifford H StensethJapanElwin Sharvill QUALIFIED
Aika Y WaycottIndiaOnyama Limba NEW
Antonio G SaylorsRussiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Francesco I AlbaresCanadaStephen Shaw QUALIFIED
James I DoeArgentinaAsiya Javayant RENEWAL
Ivar I ButtAustraliaAnna Fali RENEWAL
Silvio Q ButtBrazilBernardo Dominic QUALIFIED
Arvin S CaldareraGermanyXuxue Feng QUALIFIED
Costa E PerinFranceElwin Sharvill NEGOTIATION
Julie O StensethUnited KingdomAsiya Javayant RENEWAL
Johnson S PaprockiAustraliaElwin Sharvill RENEWAL
Aditya F IturbideBrazilAnna Fali NEGOTIATION
Izzy O InouyeBrazilXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer Q FlosiCanada2025-09-08Rousseaux, Michael Esq PROPOSAL86Stephen Shaw
1001Claire N KolmetzRussia2025-09-28Commercial Press NEGOTIATION66Onyama Limba
1002Wickens A BowleyRussia2025-09-14Feiner Bros NEW68Elwin Sharvill
1003Antonio I MarrierJapan2025-09-10Benton, John B Jr NEW72Bernardo Dominic
1004Arvin S SaylorsBrazil2025-09-08Dorl, James J Esq PROPOSAL68Amy Elsner
1005Mujtaba W NickaGermany2025-09-15Chanay, Jeffrey A Esq RENEWAL45Onyama Limba
1006Alejandro I IturbideFrance2025-09-27Buckley Miller Wright PROPOSAL58Anna Fali
1007James S SergiArgentina2025-09-19Commercial Press RENEWAL27Asiya Javayant
1008Adams Q StockhamGermany2025-09-09Rangoni Of Florence QUALIFIED89Amy Elsner
1009Emily O SaylorsBrazil2025-09-19Chapman, Ross E Esq NEW6Bernardo Dominic
1010Costa F VocelkaCanada2025-09-29Chapman, Ross E Esq RENEWAL51Amy Elsner
1011Silvio V MarrierSpain2025-09-25Commercial Press NEGOTIATION72Stephen Shaw
1012Murillo B DoeFrance2025-09-26Chapman, Ross E Esq NEGOTIATION29Xuxue Feng
1013Juan Z OstroskyUnited Kingdom2025-09-16Chemel, James L Cpa RENEWAL14Elwin Sharvill
1014Silvio W SlusarskiGermany2025-09-11Feiner Bros RENEWAL28Bernardo Dominic
1015Aditya R StensethRussia2025-09-07Dorl, James J Esq UNQUALIFIED79Bernardo Dominic
1016Sinclair I InouyeBrazil2025-09-10Benton, John B Jr UNQUALIFIED56Onyama Limba
1017Emily P AlbaresFrance2025-09-13Chemel, James L Cpa NEW51Elwin Sharvill
1018Jeanfrancois S FigeroaCanada2025-09-22Chemel, James L Cpa PROPOSAL47Ivan Magalhaes
1019Juan V MaletIndia2025-09-09Rangoni Of Florence RENEWAL23Ioni Bowcher
1020Morrow N VocelkaUnited Kingdom2025-09-19Rousseaux, Michael Esq NEW96Ivan Magalhaes
1021Cody Z BologniaItaly2025-09-26Buckley Miller Wright PROPOSAL67Elwin Sharvill
1022Leja T MorascaIndia2025-09-21Printing Dimensions PROPOSAL23Anna Fali
1023Aruna X GlickCanada2025-09-10Truhlar And Truhlar Attys NEGOTIATION85Amy Elsner
1024Adams F RulapaughItaly2025-09-11Commercial Press NEW30Ivan Magalhaes
1025Juan V WaycottGermany2025-09-07Truhlar And Truhlar Attys UNQUALIFIED90Anna Fali
1026Alejandro N BriddickFrance2025-09-12Truhlar And Truhlar Attys NEW49Ioni Bowcher
1027Mayumi M ButtGermany2025-09-12Printing Dimensions NEGOTIATION77Ioni Bowcher
1028Mayumi L MacleadGermany2025-09-20Rousseaux, Michael Esq RENEWAL38Asiya Javayant
1029Mayumi Q SlusarskiCanada2025-09-13Dorl, James J Esq UNQUALIFIED80Amy Elsner
1030Munro Q VocelkaUnited Kingdom2025-09-09Rousseaux, Michael Esq NEGOTIATION30Onyama Limba
1031Maisha N CaudyArgentina2025-09-08Buckley Miller Wright RENEWAL51Xuxue Feng
1032Misaki P SlusarskiIndia2025-10-02Dorl, James J Esq PROPOSAL9Onyama Limba
1033Leja A GillianSpain2025-09-10Morlong Associates PROPOSAL61Ioni Bowcher
1034Julie J ChuiArgentina2025-09-24Rousseaux, Michael Esq QUALIFIED63Xuxue Feng
1035Darci V PerinItaly2025-09-11Printing Dimensions NEGOTIATION3Asiya Javayant
1036Jeanfrancois W MarrierFrance2025-09-17Chanay, Jeffrey A Esq NEW96Stephen Shaw
1037Ricardo A BologniaCanada2025-09-15Morlong Associates QUALIFIED54Amy Elsner
1038Darci E SchemmerBrazil2025-09-25Feltz Printing Service QUALIFIED89Anna Fali
1039Antonio B WhobreyIndia2025-09-14Buckley Miller Wright NEGOTIATION64Stephen Shaw
1040Stacey A TollnerArgentina2025-10-02Chanay, Jeffrey A Esq NEW62Ivan Magalhaes
1041Silvio L RutaArgentina2025-09-11Commercial Press NEW97Ivan Magalhaes
1042Morrow B AmigonIndia2025-09-28Truhlar And Truhlar Attys RENEWAL61Xuxue Feng
1043Deepesh H MaletRussia2025-09-08Truhlar And Truhlar Attys RENEWAL67Asiya Javayant
1044Morrow L StensethIndia2025-09-09Truhlar And Truhlar Attys NEW69Ivan Magalhaes
1045Ricardo Q OstroskySpain2025-09-06Feltz Printing Service NEGOTIATION28Amy Elsner
1046Isabel H InouyeIndia2025-09-16Buckley Miller Wright RENEWAL30Ivan Magalhaes
1047Misaki G CaldareraCanada2025-10-05Dorl, James J Esq NEGOTIATION68Stephen Shaw
1048Misaki E WaycottJapan2025-09-19Chanay, Jeffrey A Esq UNQUALIFIED97Onyama Limba
1049Salvatore S BologniaArgentina2025-10-02Feltz Printing Service QUALIFIED7Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer V RutaUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey Z FlosiIndiaAmy Elsner RENEWAL
Salvatore X WaycottUnited KingdomAnna Fali NEW
Wickens X DoeSpainIoni Bowcher NEGOTIATION
Morrow T VocelkaSpainIoni Bowcher UNQUALIFIED
Adams B PaprockiJapanAnna Fali NEGOTIATION
Greenwood N WieserSpainAmy Elsner NEGOTIATION
Francesco Y GarufiSpainXuxue Feng NEGOTIATION
Kadeem P MarrierCanadaXuxue Feng RENEWAL
Darci V BowleyArgentinaAmy Elsner QUALIFIED
David Q NickaItalyXuxue Feng RENEWAL
Juan A WhobreyGermanyIoni Bowcher NEW
Tony F OstroskyGermanyElwin Sharvill RENEWAL
Chavez R SergiItalyIvan Magalhaes RENEWAL
Octavia V ChuiIndiaElwin Sharvill PROPOSAL
Maisha Z WhobreyGermanyXuxue Feng NEW
Ashley Z RoysterItalyIoni Bowcher NEW
Alejandro A WhobreyAustraliaIoni Bowcher PROPOSAL
Juan Z MaletItalyAmy Elsner NEGOTIATION
Claire S PaprockiBrazilBernardo Dominic UNQUALIFIED
Smith A PaprockiIndiaAnna Fali QUALIFIED
Wickens R DarakjyArgentinaAsiya Javayant UNQUALIFIED
Mujtaba K InouyeFranceAnna Fali UNQUALIFIED
Leon R FerenczCanadaIoni Bowcher UNQUALIFIED
Sinclair A CaudyJapanElwin Sharvill PROPOSAL
Maria C StensethAustraliaIvan Magalhaes NEW
Johnson K TollnerRussiaOnyama Limba NEW
Kaitlin G ButtItalyOnyama Limba RENEWAL
Wickens G StensethSpainOnyama Limba QUALIFIED
Isabel H DilliardUnited KingdomElwin Sharvill PROPOSAL
Alejandro W MaletArgentinaAsiya Javayant PROPOSAL
Ashley L FlosiArgentinaAsiya Javayant RENEWAL
Arvin F StensethBrazilStephen Shaw RENEWAL
Munro K AlbaresUnited KingdomBernardo Dominic QUALIFIED
Rodrigues N MorascaUnited KingdomAsiya Javayant PROPOSAL
Aditya U GlickJapanOnyama Limba RENEWAL
Juan W ChuiGermanyXuxue Feng RENEWAL
Mayumi P WaycottRussiaXuxue Feng NEGOTIATION
Sinclair U RoysterRussiaIvan Magalhaes NEW
Chavez L IturbideAustraliaElwin Sharvill PROPOSAL
Ivar A ChuiIndiaOnyama Limba PROPOSAL
Jones L BologniaRussiaElwin Sharvill NEW
Maria H WhobreyItalyOnyama Limba NEW
Darci C RutaBrazilStephen Shaw RENEWAL
Julie Q VenereRussiaBernardo Dominic NEGOTIATION
Juan Q CaldareraIndiaXuxue Feng PROPOSAL
Misaki P NestleSpainOnyama Limba PROPOSAL
Ashley U DilliardCanadaIvan Magalhaes RENEWAL
Maisha U CaldareraCanadaIvan Magalhaes NEW
Ivar I MacleadGermanyIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Juan E Foller
Maria C Schemmer
Leon S Kusko
Rodrigues L Caldarera
Octavia O Saylors
Johnson Z Dilliard
Sinclair Y Gaucho
Smith G Ruta
Misaki C Poquette
Kaitlin V Poquette
Emily Q Ferencz
Greenwood B Sergi
Izzy T Caldarera
Jeanfrancois N Whobrey
David H Flosi
Antonio R Dilliard
Kaitlin P Butt
Rodrigues T Caudy
Costa W Malet
Darci I Stockham
Jefferson M Glick
Francesco Q Garufi
Mujtaba G Nicka
Ashley Q Stockham
Smith Q Chui
Octavia X Nicka
Mayumi D Gaucho
Mayumi M Saylors
Arvin O Rulapaugh
Morrow Q Paprocki
Clifford N Whobrey
Aika J Kolmetz
Darci C Waycott
David O Glick
Stacey U Bolognia
Juan K Caldarera
Aruna U Inouye
Kaitlin V Caldarera
Darci F Ruta
Aika A Chui
Murillo D Foller
Tony K Foller
Misaki F Wieser
Morrow X Amigon
Clifford V Slusarski
Cody K Inouye
Antonio S Tollner
Rodrigues N Amigon
Faith B Caldarera
Mayumi Z Flosi
IdCountryDate
1000Japan2025-09-21
1001India2025-09-08
1002Spain2025-09-30
1003Germany2025-09-11
1004France2025-09-29
1005Japan2025-09-23
1006Canada2025-09-13
1007United Kingdom2025-09-09
1008Australia2025-10-04
1009Spain2025-09-06
1010United Kingdom2025-09-14
1011Germany2025-09-15
1012Japan2025-09-18
1013Argentina2025-09-26
1014Italy2025-09-18
1015Spain2025-09-26
1016United Kingdom2025-09-27
1017Russia2025-09-24
1018Canada2025-09-13
1019Australia2025-09-23
1020Japan2025-10-02
1021Italy2025-09-22
1022Australia2025-09-26
1023Canada2025-09-15
1024Spain2025-09-09
1025France2025-09-27
1026India2025-09-29
1027Canada2025-10-03
1028Brazil2025-09-25
1029United Kingdom2025-09-23
1030Argentina2025-10-04
1031Canada2025-09-22
1032Italy2025-09-21
1033France2025-10-04
1034Russia2025-09-19
1035Spain2025-10-02
1036United Kingdom2025-09-14
1037Brazil2025-09-08
1038Argentina2025-10-03
1039Japan2025-09-06
1040Japan2025-10-02
1041Germany2025-09-18
1042Spain2025-09-21
1043Spain2025-09-17
1044France2025-09-11
1045India2025-09-26
1046Australia2025-09-21
1047Italy2025-09-11
1048Germany2025-09-09
1049India2025-09-10

On-Demand Data

NameIdCountryDate
Costa P Gillian1000India2025-09-13
Smith V Amigon1001Germany2025-09-17
Morrow G Caldarera1002Italy2025-09-08
Leja J Glick1003Germany2025-09-06
Silvio W Glick1004Italy2025-09-06
Murillo Y Malet1005Russia2025-10-05
Kadeem S Morasca1006France2025-09-17
Stacey G Stenseth1007Argentina2025-09-17
Antonio L Royster1008Australia2025-09-08
David M Figeroa1009Russia2025-09-23
Sinclair V Paprocki1010Australia2025-10-05
Murillo C Rim1011United Kingdom2025-09-20
Deepesh O Rulapaugh1012Germany2025-09-23
Alejandro N Darakjy1013Australia2025-09-20
Misaki Z Ferencz1014Italy2025-09-30
Maria P Venere1015Australia2025-09-13
Mayumi V Waycott1016United Kingdom2025-09-26
Stacey R Poquette1017Canada2025-09-17
Leja L Inouye1018Canada2025-09-27
Maria T Glick1019Canada2025-09-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin P NestleSpainAsiya Javayant NEGOTIATION
Isabel L MarrierArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois E DoeJapanBernardo Dominic NEW
Francesco N GauchoAustraliaAnna Fali RENEWAL
Sinclair D GlickRussiaBernardo Dominic NEW
Cody F SchemmerArgentinaAnna Fali PROPOSAL
James F RimFranceAnna Fali NEGOTIATION
Izzy C CaudyBrazilAmy Elsner NEGOTIATION
Arvin L VenereUnited KingdomIvan Magalhaes NEGOTIATION
Antonio J VenereAustraliaStephen Shaw QUALIFIED
Jeanfrancois V PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Maisha B DarakjyIndiaIvan Magalhaes NEGOTIATION
Chavez Q VenereSpainOnyama Limba NEW
Leon Y StensethIndiaIoni Bowcher QUALIFIED
Emily C CaldareraCanadaBernardo Dominic PROPOSAL
Johnson T RulapaughItalyOnyama Limba RENEWAL
Adams E KuskoFranceAmy Elsner UNQUALIFIED
Ricardo R MarrierJapanIvan Magalhaes UNQUALIFIED
Morrow I BologniaRussiaIvan Magalhaes QUALIFIED
Jefferson V InouyeSpainAmy Elsner NEGOTIATION
Mujtaba R AmigonItalyStephen Shaw PROPOSAL
Leon F AlbaresBrazilAsiya Javayant NEW
Maisha O TollnerArgentinaOnyama Limba PROPOSAL
Kaitlin S ButtCanadaAmy Elsner PROPOSAL
Faith O VenereJapanAnna Fali RENEWAL
Munro D DilliardUnited KingdomOnyama Limba QUALIFIED
Sinclair P ShinkoJapanIvan Magalhaes PROPOSAL
Maria J AmigonSpainIoni Bowcher UNQUALIFIED
Jones N OldroydCanadaOnyama Limba QUALIFIED
Salvatore T MaletJapanStephen Shaw RENEWAL
Salvatore O GarufiAustraliaStephen Shaw PROPOSAL
Jefferson I TollnerAustraliaAmy Elsner NEGOTIATION
Silvio G PoquetteAustraliaOnyama Limba RENEWAL
Leja F KolmetzArgentinaBernardo Dominic RENEWAL
Emily Y NestleBrazilStephen Shaw PROPOSAL
Sinclair M OldroydCanadaStephen Shaw NEGOTIATION
Stacey B FigeroaCanadaStephen Shaw NEGOTIATION
Faith E BologniaArgentinaXuxue Feng PROPOSAL
Jones J BowleyIndiaOnyama Limba QUALIFIED
Aditya F StensethRussiaIoni Bowcher NEW

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