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

Columns of datatable can be created dynamically using the p:columns component.

Available columns are name, country, date, status and activity.
NAMECOUNTRYDATE
STATUS
ACTIVITY
Izzy GarufiCanada2021-11-22NEGOTIATION18
Francesco ShinkoFrance2021-11-27NEGOTIATION28
Alejandro PerinAustralia2021-11-08PROPOSAL65
Darci PoquetteUnited Kingdom2021-11-29RENEWAL71
Maria MarrierGermany2021-11-15NEW73
Salvatore StockhamAustralia2021-11-17PROPOSAL70
Ivar PaprockiGermany2021-12-06QUALIFIED43
Kaitlin OstroskySpain2021-12-04NEW35
Izzy GarufiIndia2021-11-12NEW59
Isabel BowleyJapan2021-11-10NEGOTIATION37

<div class="card">
    Available columns are <b>name</b>, <b>country</b>, <b>date</b>, <b>status</b> and <b>activity</b>.

    <h:form id="form">
        <div class="p-mt-3 p-mb-5">
            <p:inputText id="template" value="#{dtColumnsView.columnTemplate}" size="50" styleClass="p-mr-2"/>
            <p:commandButton update="customers" action="#{dtColumnsView.updateColumns}" value="Update"
                             process="@parent" icon="pi pi-refresh"
                             oncomplete="PF('customersTable').clearFilters()"/>
        </div>

        <p:dataTable id="customers" var="customer" value="#{dtColumnsView.customers}" widgetVar="customersTable"
                     filteredValue="#{dtColumnsView.filteredCustomers}">

            <p:columns value="#{dtColumnsView.columns}" var="column" headerText="#{column.header}" field="#{column.property}">
                <f:facet name="filter">
                    <p:datePicker selectionMode="range" onchange="PF('customersTable').filter()" rendered="#{column.type eq 'date'}"/>
                    <p:selectOneMenu onchange="PF('customersTable').filter()" rendered="#{column.type eq 'enum'}">
                        <f:selectItem itemValue="#{null}" itemLabel=""/>
                        <f:selectItems value="#{column.klazz.enumConstants}" />
                    </p:selectOneMenu>
                </f:facet>
            </p:columns>

        </p:dataTable>
    </h:form>
</div>

Session expired

Reloading page

Message:
StackTrace: