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

Rows can be grouped in two ways, using rowGroup component or with groupRow attribute on a column.

Header Row
RepresentativeNameCountryCompanyStatusDate
Amy Elsner
Amy ElsnerCosta Dilliard CanadaKing, Christopher A Esq PROPOSAL10/11/2021
Amy ElsnerSalvatore Stockham FranceFeiner Bros PROPOSAL10/18/2021
Amy ElsnerDarci Poquette United KingdomBuckley Miller Wright RENEWAL10/20/2021
Amy ElsnerMujtaba Nicka FranceChemel, James L Cpa NEW10/04/2021
Total Customers:4
Anna Fali
Anna FaliJennifer Amigon FranceChapman, Ross E Esq PROPOSAL10/19/2021
Anna FaliJuan Wieser FranceRousseaux, Michael Esq NEGOTIATION09/26/2021
Anna FaliMaria Marrier ItalyPrinting Dimensions QUALIFIED10/14/2021
Anna FaliMayumi Kolmetz SpainChapman, Ross E Esq PROPOSAL10/09/2021
Anna FaliOctavia Malet FranceCommercial Press PROPOSAL10/04/2021
Anna FaliAshley Doe BrazilRousseaux, Michael Esq QUALIFIED09/30/2021
Total Customers:6
Asiya Javayant
Asiya JavayantMunro Ferencz United KingdomChapman, Ross E Esq PROPOSAL10/13/2021
Asiya JavayantMurillo Malet IndiaMorlong Associates PROPOSAL09/26/2021
Total Customers:2
Bernardo Dominic
Bernardo DominicAditya Kusko AustraliaBuckley Miller Wright NEGOTIATION10/08/2021
Bernardo DominicAshley Doe FranceChapman, Ross E Esq NEW10/13/2021
Bernardo DominicEmily Whobrey CanadaDorl, James J Esq PROPOSAL10/21/2021
Bernardo DominicSalvatore Stockham JapanMorlong Associates NEW10/14/2021
Bernardo DominicMaisha Rulapaugh AustraliaDorl, James J Esq QUALIFIED10/08/2021
Total Customers:5
Elwin Sharvill
Elwin SharvillMorrow Ruta ItalyPrinting Dimensions QUALIFIED10/13/2021
Elwin SharvillMujtaba Nicka ItalyKing, Christopher A Esq PROPOSAL10/07/2021
Elwin SharvillMurillo Malet IndiaBuckley Miller Wright QUALIFIED10/22/2021
Elwin SharvillSilvio Slusarski SpainChapman, Ross E Esq UNQUALIFIED10/24/2021
Total Customers:4
Ioni Bowcher
Ioni BowcherCody Saylors CanadaCommercial Press NEGOTIATION10/08/2021
Ioni BowcherIvar Paprocki AustraliaDorl, James J Esq QUALIFIED10/21/2021
Ioni BowcherFaith Gillian IndiaMorlong Associates UNQUALIFIED10/14/2021
Ioni BowcherDarci Poquette United KingdomRangoni Of Florence NEW09/29/2021
Ioni BowcherArvin Albares ItalyPrinting Dimensions RENEWAL10/21/2021
Ioni BowcherDeepesh Chui CanadaCommercial Press RENEWAL09/28/2021
Ioni BowcherDeepesh Chui FranceChapman, Ross E Esq UNQUALIFIED10/05/2021
Ioni BowcherMaisha Rulapaugh ItalyChanay, Jeffrey A Esq RENEWAL10/09/2021
Ioni BowcherJennifer Amigon IndiaBenton, John B Jr QUALIFIED10/22/2021
Total Customers:9
Ivan Magalhaes
Ivan MagalhaesCody Saylors ItalyBenton, John B Jr NEW10/16/2021
Ivan MagalhaesAlejandro Perin ItalyFeltz Printing Service UNQUALIFIED09/26/2021
Ivan MagalhaesAshley Doe BrazilMorlong Associates RENEWAL10/24/2021
Ivan MagalhaesJeanfrancois Venere AustraliaChanay, Jeffrey A Esq QUALIFIED10/07/2021
Ivan MagalhaesChavez Briddick ItalyMorlong Associates RENEWAL10/11/2021
Ivan MagalhaesStacey Maclead JapanPrinting Dimensions UNQUALIFIED10/13/2021
Total Customers:6
Onyama Limba
Onyama LimbaAlejandro Perin IndiaFeiner Bros PROPOSAL10/19/2021
Onyama LimbaJohnson Sergi JapanDorl, James J Esq NEGOTIATION10/07/2021
Onyama LimbaAdams Morasca GermanyFeltz Printing Service QUALIFIED10/24/2021
Onyama LimbaMayumi Kolmetz FranceFeiner Bros UNQUALIFIED10/11/2021
Onyama LimbaMunro Ferencz JapanChapman, Ross E Esq NEGOTIATION10/21/2021
Onyama LimbaLeja Caldarera GermanyFeiner Bros UNQUALIFIED09/28/2021
Onyama LimbaArvin Albares JapanChapman, Ross E Esq QUALIFIED10/13/2021
Total Customers:7
Stephen Shaw
Xuxue Feng
Xuxue FengMayumi Kolmetz IndiaChanay, Jeffrey A Esq QUALIFIED10/06/2021
Xuxue FengMayumi Kolmetz SpainRangoni Of Florence RENEWAL10/01/2021
Xuxue FengMaisha Rulapaugh BrazilFeiner Bros QUALIFIED10/09/2021
Total Customers:3
Rowspan
RepresentativeNameCountryCompanyStatusDate
Amy ElsnerCosta Dilliard CanadaKing, Christopher A Esq PROPOSAL10/11/2021
Amy ElsnerSalvatore Stockham FranceFeiner Bros PROPOSAL10/18/2021
Amy ElsnerDarci Poquette United KingdomBuckley Miller Wright RENEWAL10/20/2021
Amy ElsnerMujtaba Nicka FranceChemel, James L Cpa NEW10/04/2021
Anna FaliJennifer Amigon FranceChapman, Ross E Esq PROPOSAL10/19/2021
Anna FaliJuan Wieser FranceRousseaux, Michael Esq NEGOTIATION09/26/2021
Anna FaliMaria Marrier ItalyPrinting Dimensions QUALIFIED10/14/2021
Anna FaliMayumi Kolmetz SpainChapman, Ross E Esq PROPOSAL10/09/2021
Anna FaliOctavia Malet FranceCommercial Press PROPOSAL10/04/2021
Anna FaliAshley Doe BrazilRousseaux, Michael Esq QUALIFIED09/30/2021
Asiya JavayantMunro Ferencz United KingdomChapman, Ross E Esq PROPOSAL10/13/2021
Asiya JavayantMurillo Malet IndiaMorlong Associates PROPOSAL09/26/2021
Bernardo DominicAditya Kusko AustraliaBuckley Miller Wright NEGOTIATION10/08/2021
Bernardo DominicAshley Doe FranceChapman, Ross E Esq NEW10/13/2021
Bernardo DominicEmily Whobrey CanadaDorl, James J Esq PROPOSAL10/21/2021
Bernardo DominicSalvatore Stockham JapanMorlong Associates NEW10/14/2021
Bernardo DominicMaisha Rulapaugh AustraliaDorl, James J Esq QUALIFIED10/08/2021
Elwin SharvillMorrow Ruta ItalyPrinting Dimensions QUALIFIED10/13/2021
Elwin SharvillMujtaba Nicka ItalyKing, Christopher A Esq PROPOSAL10/07/2021
Elwin SharvillMurillo Malet IndiaBuckley Miller Wright QUALIFIED10/22/2021
Elwin SharvillSilvio Slusarski SpainChapman, Ross E Esq UNQUALIFIED10/24/2021
Ioni BowcherCody Saylors CanadaCommercial Press NEGOTIATION10/08/2021
Ioni BowcherIvar Paprocki AustraliaDorl, James J Esq QUALIFIED10/21/2021
Ioni BowcherFaith Gillian IndiaMorlong Associates UNQUALIFIED10/14/2021
Ioni BowcherDarci Poquette United KingdomRangoni Of Florence NEW09/29/2021
Ioni BowcherArvin Albares ItalyPrinting Dimensions RENEWAL10/21/2021
Ioni BowcherDeepesh Chui CanadaCommercial Press RENEWAL09/28/2021
Ioni BowcherDeepesh Chui FranceChapman, Ross E Esq UNQUALIFIED10/05/2021
Ioni BowcherMaisha Rulapaugh ItalyChanay, Jeffrey A Esq RENEWAL10/09/2021
Ioni BowcherJennifer Amigon IndiaBenton, John B Jr QUALIFIED10/22/2021
Ivan MagalhaesCody Saylors ItalyBenton, John B Jr NEW10/16/2021
Ivan MagalhaesAlejandro Perin ItalyFeltz Printing Service UNQUALIFIED09/26/2021
Ivan MagalhaesAshley Doe BrazilMorlong Associates RENEWAL10/24/2021
Ivan MagalhaesJeanfrancois Venere AustraliaChanay, Jeffrey A Esq QUALIFIED10/07/2021
Ivan MagalhaesChavez Briddick ItalyMorlong Associates RENEWAL10/11/2021
Ivan MagalhaesStacey Maclead JapanPrinting Dimensions UNQUALIFIED10/13/2021
Onyama LimbaAlejandro Perin IndiaFeiner Bros PROPOSAL10/19/2021
Onyama LimbaJohnson Sergi JapanDorl, James J Esq NEGOTIATION10/07/2021
Onyama LimbaAdams Morasca GermanyFeltz Printing Service QUALIFIED10/24/2021
Onyama LimbaMayumi Kolmetz FranceFeiner Bros UNQUALIFIED10/11/2021
Onyama LimbaMunro Ferencz JapanChapman, Ross E Esq NEGOTIATION10/21/2021
Onyama LimbaLeja Caldarera GermanyFeiner Bros UNQUALIFIED09/28/2021
Onyama LimbaArvin Albares JapanChapman, Ross E Esq QUALIFIED10/13/2021
Stephen ShawMisaki Royster ArgentinaFeltz Printing Service UNQUALIFIED10/24/2021
Stephen ShawRicardo Gaucho ItalyChapman, Ross E Esq NEW10/20/2021
Stephen ShawWickens Nestle CanadaBuckley Miller Wright QUALIFIED10/18/2021
Stephen ShawDarci Poquette RussiaChapman, Ross E Esq NEGOTIATION09/26/2021
Xuxue FengMayumi Kolmetz IndiaChanay, Jeffrey A Esq QUALIFIED10/06/2021
Xuxue FengMayumi Kolmetz SpainRangoni Of Florence RENEWAL10/01/2021
Xuxue FengMaisha Rulapaugh BrazilFeiner Bros QUALIFIED10/09/2021

<div class="card">
    <h5 class="first">Header Row</h5>
    <h:form>
        <p:dataTable var="customer" value="#{dtRowGroupView.customers}" sortBy="#{customer.representative.name}">
            <p:headerRow field="representative.name"
                         expandable="true" 
                         expanded="#{customer.representative.name != 'Stephen Shaw'}">
                
                <p:column colspan="6">
                    <div class="p-d-inline-flex p-ai-center" style="vertical-align: middle">
                        <p:graphicImage name="images/avatar/#{customer.representative.image}" library="demo" width="32" style="vertical-align: middle"/>
                        <h:outputText styleClass="p-ml-2" value="#{customer.representative.name}"/>
                    </div>
                </p:column>
            </p:headerRow>

            <p:column headerText="Representative">
                <h:outputText value="#{customer.representative.name}" />
            </p:column>

            <p:column headerText="Name">
                <h:outputText value="#{customer.name}" />
            </p:column>

            <p:column headerText="Country">
                <span class="flag flag-#{customer.country.code}" style="width: 30px; height: 20px"/>
                <h:outputText style="vertical-align: middle; margin-left: .5rem" value="#{customer.country}"/>
            </p:column>

            <p:column headerText="Company">
                <h:outputText value="#{customer.company}" />
            </p:column>

            <p:column headerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>

            <p:column headerText="Date">
                <h:outputText value="#{customer.date}">
                    <f:convertDateTime pattern="MM/dd/yyyy" type="localDate"/>
                </h:outputText>
            </p:column>

            <p:summaryRow>
                <p:column colspan="5" style="text-align:right">
                    <h:outputText value="Total Customers:"/>
                </p:column>
                <p:column>
                    <h:outputText value="#{dtRowGroupView.getTotalCount(customer.representative.name)}"/>
                </p:column>
            </p:summaryRow>
        </p:dataTable>
    </h:form>
</div>

<div class="card">
    <h5>Rowspan</h5>
    <h:form>
        <p:dataTable var="customer" value="#{dtRowGroupView.customers}">
            <p:column  headerText="Representative" groupRow="true">
                <p:graphicImage name="images/avatar/#{customer.representative.image}" library="demo"
                                width="32" style="vertical-align: middle"/>
                <h:outputText style="vertical-align: middle; margin-left: .5rem"
                              value="#{customer.representative.name}"/>
            </p:column>

            <p:column headerText="Name">
                <h:outputText value="#{customer.name}" />
            </p:column>

            <p:column headerText="Country">
                <span class="flag flag-#{customer.country.code}" style="width: 30px; height: 20px"/>
                <h:outputText style="vertical-align: middle; margin-left: .5rem" value="#{customer.country}"/>
            </p:column>

            <p:column headerText="Company">
                <h:outputText value="#{customer.company}" />
            </p:column>

            <p:column headerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>

            <p:column headerText="Date">
                <h:outputText value="#{customer.date}">
                    <f:convertDateTime pattern="MM/dd/yyyy" type="localDate"/>
                </h:outputText>
            </p:column>
        </p:dataTable>
    </h:form>
</div>

Session expired

Reloading page

Message:
StackTrace: