Locale

Change the locale of the datepicker, schedule and client side validation messages.

Input Style

Free Themes

Built-in component themes created by the PrimeFaces Theme Designer.

PrimeOne Design

Saga Saga
Vela Vela
Arya Arya

Premium Themes

Premium themes are only available exclusively for PrimeFaces Theme Designer subscribers and therefore not included in PrimeFaces core.

Bootstrap light blue and dark blue themes are also included in PrimeFaces 10.x builds for Elite subscribers.

bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple

Legacy Free Themes

Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink
Nova Nova
Nova Nova Alt
Nova Nova Accent

PREMIUM TEMPLATES

Create awesome applications in no time using the premium templates and impress your users.

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 InouyeAustraliaXuxue Feng RENEWAL
Stacey MacleadSpainElwin Sharvill RENEWAL
Murillo MaletAustraliaIvan Magalhaes UNQUALIFIED
Aruna FigeroaJapanElwin Sharvill UNQUALIFIED
Leon OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Aika InouyeBrazilBernardo Dominic RENEWAL
Salvatore StockhamAustraliaElwin Sharvill RENEWAL
Nicolas IturbideFranceAnna Fali QUALIFIED
Clifford RimUnited KingdomIvan Magalhaes RENEWAL
Costa DilliardRussiaAsiya Javayant NEGOTIATION
Jones VocelkaIndiaAmy Elsner NEGOTIATION
Cody SaylorsArgentinaOnyama Limba NEGOTIATION
Jeanfrancois VenereItalyXuxue Feng UNQUALIFIED
Adams MorascaBrazilBernardo Dominic NEW
Claire TollnerIndiaBernardo Dominic RENEWAL
Emily WhobreyCanadaElwin Sharvill NEW
Deepesh ChuiSpainElwin Sharvill PROPOSAL
Kadeem FlosiJapanBernardo Dominic QUALIFIED
Darci PoquetteSpainIoni Bowcher NEW
Francesco ShinkoRussiaAnna Fali NEGOTIATION
Octavia MaletRussiaElwin Sharvill UNQUALIFIED
Johnson SergiAustraliaAnna Fali NEW
Ricardo GauchoArgentinaIoni Bowcher NEGOTIATION
Isabel BowleyAustraliaIoni Bowcher UNQUALIFIED
Jennifer AmigonGermanyStephen Shaw UNQUALIFIED
James ButtGermanyAsiya Javayant NEW
Arvin AlbaresIndiaXuxue Feng PROPOSAL
Jones VocelkaArgentinaStephen Shaw PROPOSAL
Izzy GarufiAustraliaIoni Bowcher NEGOTIATION
Nicolas IturbideCanadaBernardo Dominic QUALIFIED
Sinclair WaycottFranceOnyama Limba UNQUALIFIED
Clifford RimUnited KingdomElwin Sharvill NEGOTIATION
Murillo MaletRussiaAmy Elsner NEGOTIATION
Salvatore StockhamUnited KingdomIvan Magalhaes NEW
Sinclair WaycottRussiaAsiya Javayant NEGOTIATION
Jeanfrancois VenereGermanyElwin Sharvill NEGOTIATION
Ashley DoeAustraliaElwin Sharvill NEGOTIATION
Salvatore StockhamCanadaAnna Fali UNQUALIFIED
Mujtaba NickaGermanyStephen Shaw QUALIFIED
Aditya KuskoRussiaElwin Sharvill NEGOTIATION
Ricardo GauchoIndiaOnyama Limba QUALIFIED
Ricardo GauchoSpainOnyama Limba RENEWAL
Jeanfrancois VenereUnited KingdomBernardo Dominic NEGOTIATION
Francesco ShinkoArgentinaAnna Fali UNQUALIFIED
Leja CaldareraGermanyBernardo Dominic NEW
Antonio CaudyCanadaIoni Bowcher RENEWAL
Ricardo GauchoArgentinaAmy Elsner UNQUALIFIED
Francesco ShinkoIndiaIvan Magalhaes QUALIFIED
Maisha RulapaughRussiaXuxue Feng NEGOTIATION
Ashley DoeJapanElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Antonio CaudyUnited KingdomBernardo Dominic PROPOSAL
Aditya KuskoRussiaAnna Fali NEGOTIATION
Smith GlickGermanyElwin Sharvill UNQUALIFIED
Ashley DoeAustraliaBernardo Dominic NEGOTIATION
Ricardo GauchoGermanyElwin Sharvill NEGOTIATION
Francesco ShinkoBrazilElwin Sharvill UNQUALIFIED
Jennifer AmigonCanadaXuxue Feng UNQUALIFIED
Wickens NestleBrazilOnyama Limba RENEWAL
Aditya KuskoArgentinaOnyama Limba RENEWAL
Costa DilliardFranceBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David DarakjyIndia2021-10-02Chanay, Jeffrey A Esq PROPOSAL49Xuxue Feng
1001Johnson SergiFrance2021-10-01Rousseaux, Michael Esq PROPOSAL47Stephen Shaw
1002Octavia MaletIndia2021-10-15Feiner Bros QUALIFIED37Amy Elsner
1003Alejandro PerinJapan2021-10-10Feltz Printing Service NEW62Xuxue Feng
1004David DarakjyAustralia2021-10-19Printing Dimensions PROPOSAL24Ioni Bowcher
1005Cody SaylorsIndia2021-10-18Chapman, Ross E Esq NEGOTIATION0Ivan Magalhaes
1006Tony FollerBrazil2021-10-13Rangoni Of Florence NEGOTIATION67Xuxue Feng
1007Izzy GarufiItaly2021-10-18Buckley Miller Wright PROPOSAL86Elwin Sharvill
1008Clifford RimFrance2021-10-09Chemel, James L Cpa RENEWAL70Ioni Bowcher
1009Octavia MaletBrazil2021-10-01Morlong Associates UNQUALIFIED39Elwin Sharvill
1010Adams MorascaFrance2021-09-25Benton, John B Jr NEGOTIATION20Ioni Bowcher
1011Emily WhobreyItaly2021-10-15Buckley Miller Wright QUALIFIED56Ivan Magalhaes
1012Jones VocelkaSpain2021-10-21Benton, John B Jr QUALIFIED58Xuxue Feng
1013Wickens NestleCanada2021-10-05Benton, John B Jr NEGOTIATION32Onyama Limba
1014Sinclair WaycottGermany2021-10-18Chemel, James L Cpa NEGOTIATION13Elwin Sharvill
1015Jones VocelkaIndia2021-10-20Printing Dimensions NEGOTIATION79Stephen Shaw
1016Isabel BowleyBrazil2021-10-15Truhlar And Truhlar Attys NEW49Asiya Javayant
1017Arvin AlbaresBrazil2021-10-09Chemel, James L Cpa NEGOTIATION59Amy Elsner
1018Izzy GarufiItaly2021-10-16Chanay, Jeffrey A Esq NEGOTIATION99Asiya Javayant
1019Johnson SergiRussia2021-10-08Chapman, Ross E Esq PROPOSAL8Elwin Sharvill
1020Silvio SlusarskiCanada2021-10-20Benton, John B Jr UNQUALIFIED73Ioni Bowcher
1021Julie StensethArgentina2021-10-18Benton, John B Jr NEW96Onyama Limba
1022Izzy GarufiItaly2021-09-26Chapman, Ross E Esq QUALIFIED10Asiya Javayant
1023Izzy GarufiAustralia2021-10-05Rousseaux, Michael Esq RENEWAL35Stephen Shaw
1024Francesco ShinkoSpain2021-10-04Truhlar And Truhlar Attys PROPOSAL62Ivan Magalhaes
1025James ButtBrazil2021-10-15Truhlar And Truhlar Attys NEGOTIATION26Asiya Javayant
1026Alejandro PerinUnited Kingdom2021-10-11Rangoni Of Florence QUALIFIED3Asiya Javayant
1027Aditya KuskoArgentina2021-10-05Dorl, James J Esq PROPOSAL66Amy Elsner
1028Greenwood BologniaSpain2021-10-06Buckley Miller Wright PROPOSAL79Ivan Magalhaes
1029Julie StensethIndia2021-09-27King, Christopher A Esq UNQUALIFIED12Bernardo Dominic
1030Ivar PaprockiUnited Kingdom2021-10-09King, Christopher A Esq QUALIFIED85Amy Elsner
1031Nicolas IturbideJapan2021-10-10Benton, John B Jr PROPOSAL74Ioni Bowcher
1032Claire TollnerSpain2021-10-06Chanay, Jeffrey A Esq RENEWAL76Amy Elsner
1033Morrow RutaArgentina2021-10-15Truhlar And Truhlar Attys PROPOSAL51Stephen Shaw
1034Nicolas IturbideUnited Kingdom2021-10-19Dorl, James J Esq RENEWAL76Xuxue Feng
1035Maisha RulapaughGermany2021-10-01Chapman, Ross E Esq NEGOTIATION11Stephen Shaw
1036Jones VocelkaIndia2021-10-09Dorl, James J Esq NEW13Anna Fali
1037Aditya KuskoIndia2021-10-18Benton, John B Jr NEGOTIATION61Stephen Shaw
1038Maisha RulapaughArgentina2021-10-03Benton, John B Jr QUALIFIED43Bernardo Dominic
1039James ButtCanada2021-09-29Morlong Associates UNQUALIFIED45Ivan Magalhaes
1040Leja CaldareraIndia2021-09-25Chanay, Jeffrey A Esq NEGOTIATION22Bernardo Dominic
1041Clifford RimBrazil2021-09-24Rousseaux, Michael Esq UNQUALIFIED85Bernardo Dominic
1042Smith GlickAustralia2021-10-22Morlong Associates NEGOTIATION46Ivan Magalhaes
1043Chavez BriddickIndia2021-10-06Rousseaux, Michael Esq NEGOTIATION31Amy Elsner
1044Greenwood BologniaItaly2021-09-24Commercial Press NEW6Ioni Bowcher
1045Johnson SergiBrazil2021-10-17Printing Dimensions QUALIFIED89Onyama Limba
1046Ashley DoeCanada2021-10-03King, Christopher A Esq NEGOTIATION85Anna Fali
1047Leja CaldareraItaly2021-09-30Buckley Miller Wright UNQUALIFIED59Amy Elsner
1048Arvin AlbaresAustralia2021-09-24Morlong Associates UNQUALIFIED84Stephen Shaw
1049Costa DilliardGermany2021-10-01Buckley Miller Wright NEGOTIATION44Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Munro FerenczIndiaElwin Sharvill QUALIFIED
Morrow RutaJapanAnna Fali UNQUALIFIED
Misaki RoysterBrazilElwin Sharvill QUALIFIED
Aruna FigeroaUnited KingdomIvan Magalhaes NEGOTIATION
Cody SaylorsRussiaOnyama Limba PROPOSAL
Mayumi KolmetzJapanXuxue Feng UNQUALIFIED
Silvio SlusarskiFranceAsiya Javayant NEW
Misaki RoysterGermanyElwin Sharvill RENEWAL
Munro FerenczJapanAnna Fali UNQUALIFIED
Deepesh ChuiBrazilElwin Sharvill QUALIFIED
Izzy GarufiIndiaStephen Shaw QUALIFIED
Antonio CaudyRussiaIoni Bowcher QUALIFIED
Antonio CaudySpainStephen Shaw NEW
Silvio SlusarskiBrazilXuxue Feng QUALIFIED
Darci PoquetteUnited KingdomIvan Magalhaes PROPOSAL
James ButtItalyIvan Magalhaes RENEWAL
Stacey MacleadUnited KingdomAnna Fali RENEWAL
Smith GlickUnited KingdomElwin Sharvill PROPOSAL
Juan WieserUnited KingdomIoni Bowcher QUALIFIED
Maisha RulapaughArgentinaIvan Magalhaes PROPOSAL
Clifford RimBrazilAmy Elsner UNQUALIFIED
Emily WhobreyGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois VenereBrazilIvan Magalhaes RENEWAL
Mujtaba NickaAustraliaAsiya Javayant NEW
Mayumi KolmetzRussiaXuxue Feng NEGOTIATION
Leja CaldareraItalyXuxue Feng UNQUALIFIED
Jeanfrancois VenereItalyOnyama Limba NEW
Aditya KuskoArgentinaXuxue Feng UNQUALIFIED
Arvin AlbaresIndiaBernardo Dominic NEGOTIATION
Jennifer AmigonRussiaElwin Sharvill PROPOSAL
Francesco ShinkoIndiaElwin Sharvill UNQUALIFIED
Isabel BowleyBrazilIvan Magalhaes NEGOTIATION
Claire TollnerRussiaAnna Fali QUALIFIED
Alejandro PerinRussiaElwin Sharvill UNQUALIFIED
Salvatore StockhamJapanXuxue Feng NEGOTIATION
Silvio SlusarskiGermanyStephen Shaw QUALIFIED
Deepesh ChuiUnited KingdomAnna Fali PROPOSAL
Tony FollerSpainBernardo Dominic NEW
Alejandro PerinItalyIoni Bowcher PROPOSAL
Silvio SlusarskiCanadaXuxue Feng UNQUALIFIED
Jefferson SchemmerBrazilIvan Magalhaes NEW
Smith GlickSpainOnyama Limba RENEWAL
Claire TollnerArgentinaAmy Elsner QUALIFIED
Ivar PaprockiItalyStephen Shaw NEGOTIATION
Jones VocelkaAustraliaOnyama Limba NEW
Emily WhobreyFranceStephen Shaw QUALIFIED
Izzy GarufiJapanAmy Elsner NEW
Sinclair WaycottArgentinaStephen Shaw NEGOTIATION
Murillo MaletAustraliaAmy Elsner QUALIFIED
Izzy GarufiFranceAmy Elsner NEGOTIATION
Frozen Columns
Name
Antonio Caudy
Jones Vocelka
Chavez Briddick
Juan Wieser
Sinclair Waycott
James Butt
Mayumi Kolmetz
Claire Tollner
Jennifer Amigon
Aruna Figeroa
James Butt
Octavia Malet
Salvatore Stockham
Kaitlin Ostrosky
Isabel Bowley
Leon Oldroyd
Johnson Sergi
Isabel Bowley
Smith Glick
Leon Oldroyd
Murillo Malet
Leon Oldroyd
Salvatore Stockham
Mujtaba Nicka
Murillo Malet
Sinclair Waycott
Jeanfrancois Venere
Jones Vocelka
Francesco Shinko
Jeanfrancois Venere
Antonio Caudy
Aika Inouye
Misaki Royster
Jefferson Schemmer
Chavez Briddick
Costa Dilliard
Julie Stenseth
Misaki Royster
Alejandro Perin
Sinclair Waycott
Deepesh Chui
Morrow Ruta
Silvio Slusarski
Greenwood Bolognia
Nicolas Iturbide
Nicolas Iturbide
Smith Glick
Isabel Bowley
Alejandro Perin
Jennifer Amigon
IdCountryDate
1000Australia2021-10-11
1001France2021-10-20
1002Canada2021-10-06
1003United Kingdom2021-10-03
1004Germany2021-10-16
1005Australia2021-09-29
1006Brazil2021-10-06
1007Russia2021-09-27
1008Brazil2021-10-11
1009United Kingdom2021-10-02
1010Russia2021-10-11
1011Australia2021-09-29
1012France2021-09-30
1013Canada2021-10-15
1014Italy2021-10-17
1015Canada2021-10-04
1016Canada2021-10-16
1017Canada2021-10-03
1018United Kingdom2021-10-14
1019France2021-10-16
1020Spain2021-10-09
1021Argentina2021-10-10
1022Japan2021-10-12
1023Spain2021-10-15
1024Germany2021-10-17
1025Russia2021-10-10
1026Russia2021-10-20
1027Italy2021-09-26
1028India2021-10-12
1029Brazil2021-10-06
1030Argentina2021-10-20
1031United Kingdom2021-10-14
1032Germany2021-10-05
1033Spain2021-10-17
1034Spain2021-09-29
1035Brazil2021-10-08
1036Italy2021-10-07
1037Australia2021-09-26
1038United Kingdom2021-10-21
1039Australia2021-10-08
1040United Kingdom2021-10-22
1041Australia2021-10-04
1042Australia2021-10-22
1043Canada2021-10-09
1044India2021-10-08
1045Canada2021-10-16
1046Italy2021-10-16
1047Brazil2021-10-17
1048United Kingdom2021-10-10
1049Canada2021-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
No records found.

<style type="text/css">
    .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">
            <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>

Session expired

Reloading page

Message:
StackTrace: