Locale

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.

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 Grouping

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

Header Row
RepresentativeNameCountryCompanyStatusDate
Amy Elsner
Amy ElsnerAntonio Caudy United KingdomRousseaux, Michael Esq QUALIFIED02/15/2021
Amy ElsnerAdams Morasca IndiaFeltz Printing Service UNQUALIFIED02/05/2021
Amy ElsnerKaitlin Ostrosky GermanyFeiner Bros NEW02/06/2021
Amy ElsnerKaitlin Ostrosky ArgentinaFeiner Bros RENEWAL02/08/2021
Amy ElsnerMaisha Rulapaugh RussiaChapman, Ross E Esq RENEWAL02/26/2021
Total Customers:5
Anna Fali
Anna FaliSalvatore Stockham AustraliaKing, Christopher A Esq NEGOTIATION02/13/2021
Anna FaliMorrow Ruta IndiaDorl, James J Esq NEW02/22/2021
Anna FaliKaitlin Ostrosky IndiaTruhlar And Truhlar Attys PROPOSAL02/11/2021
Total Customers:3
Asiya Javayant
Asiya JavayantWickens Nestle ItalyTruhlar And Truhlar Attys NEW02/15/2021
Asiya JavayantFaith Gillian ItalyTruhlar And Truhlar Attys PROPOSAL02/08/2021
Asiya JavayantIsabel Bowley ArgentinaFeiner Bros UNQUALIFIED02/25/2021
Asiya JavayantLeon Oldroyd ArgentinaRousseaux, Michael Esq PROPOSAL02/28/2021
Asiya JavayantNicolas Iturbide United KingdomKing, Christopher A Esq NEW02/08/2021
Total Customers:5
Bernardo Dominic
Bernardo DominicDarci Poquette United KingdomDorl, James J Esq NEW02/05/2021
Bernardo DominicChavez Briddick ItalyChapman, Ross E Esq NEW02/04/2021
Bernardo DominicIvar Paprocki FranceMorlong Associates UNQUALIFIED02/22/2021
Total Customers:3
Elwin Sharvill
Elwin SharvillDarci Poquette BrazilTruhlar And Truhlar Attys NEW02/19/2021
Elwin SharvillSinclair Waycott IndiaBenton, John B Jr UNQUALIFIED02/22/2021
Elwin SharvillFrancesco Shinko JapanRangoni Of Florence NEW02/22/2021
Elwin SharvillStacey Maclead ItalyChanay, Jeffrey A Esq RENEWAL02/10/2021
Elwin SharvillChavez Briddick ItalyCommercial Press NEW02/24/2021
Total Customers:5
Ioni Bowcher
Ioni BowcherRicardo Gaucho BrazilPrinting Dimensions RENEWAL02/07/2021
Ioni BowcherEmily Whobrey United KingdomFeiner Bros RENEWAL02/09/2021
Ioni BowcherFaith Gillian CanadaFeiner Bros NEW02/09/2021
Ioni BowcherWickens Nestle ItalyFeltz Printing Service QUALIFIED02/11/2021
Ioni BowcherJames Butt FranceKing, Christopher A Esq NEGOTIATION02/08/2021
Ioni BowcherSilvio Slusarski FranceChemel, James L Cpa QUALIFIED02/06/2021
Ioni BowcherJohnson Sergi ItalyRousseaux, Michael Esq UNQUALIFIED03/02/2021
Ioni BowcherJeanfrancois Venere United KingdomChemel, James L Cpa RENEWAL02/23/2021
Ioni BowcherWickens Nestle IndiaCommercial Press UNQUALIFIED02/08/2021
Total Customers:9
Ivan Magalhaes
Ivan MagalhaesTony Foller AustraliaBenton, John B Jr NEGOTIATION02/22/2021
Ivan MagalhaesJeanfrancois Venere AustraliaTruhlar And Truhlar Attys RENEWAL02/06/2021
Ivan MagalhaesChavez Briddick SpainCommercial Press NEGOTIATION02/22/2021
Ivan MagalhaesJohnson Sergi AustraliaDorl, James J Esq RENEWAL02/25/2021
Ivan MagalhaesOctavia Malet GermanyBenton, John B Jr RENEWAL02/03/2021
Total Customers:5
Onyama Limba
Onyama LimbaRodrigues Campain United KingdomDorl, James J Esq UNQUALIFIED03/03/2021
Onyama LimbaJames Butt CanadaPrinting Dimensions PROPOSAL02/23/2021
Onyama LimbaJames Butt ItalyDorl, James J Esq UNQUALIFIED02/22/2021
Onyama LimbaIzzy Garufi IndiaMorlong Associates QUALIFIED02/12/2021
Total Customers:4
Stephen Shaw
Xuxue Feng
Xuxue FengMujtaba Nicka FranceCommercial Press NEGOTIATION02/07/2021
Xuxue FengJulie Stenseth SpainChapman, Ross E Esq NEW02/27/2021
Xuxue FengMorrow Ruta GermanyCommercial Press QUALIFIED02/08/2021
Xuxue FengRodrigues Campain AustraliaRangoni Of Florence NEGOTIATION02/27/2021
Total Customers:4
Rowspan
RepresentativeNameCountryCompanyStatusDate
Amy ElsnerAntonio Caudy United KingdomRousseaux, Michael Esq QUALIFIED02/15/2021
Amy ElsnerAdams Morasca IndiaFeltz Printing Service UNQUALIFIED02/05/2021
Amy ElsnerKaitlin Ostrosky GermanyFeiner Bros NEW02/06/2021
Amy ElsnerKaitlin Ostrosky ArgentinaFeiner Bros RENEWAL02/08/2021
Amy ElsnerMaisha Rulapaugh RussiaChapman, Ross E Esq RENEWAL02/26/2021
Anna FaliSalvatore Stockham AustraliaKing, Christopher A Esq NEGOTIATION02/13/2021
Anna FaliMorrow Ruta IndiaDorl, James J Esq NEW02/22/2021
Anna FaliKaitlin Ostrosky IndiaTruhlar And Truhlar Attys PROPOSAL02/11/2021
Asiya JavayantWickens Nestle ItalyTruhlar And Truhlar Attys NEW02/15/2021
Asiya JavayantFaith Gillian ItalyTruhlar And Truhlar Attys PROPOSAL02/08/2021
Asiya JavayantIsabel Bowley ArgentinaFeiner Bros UNQUALIFIED02/25/2021
Asiya JavayantLeon Oldroyd ArgentinaRousseaux, Michael Esq PROPOSAL02/28/2021
Asiya JavayantNicolas Iturbide United KingdomKing, Christopher A Esq NEW02/08/2021
Bernardo DominicDarci Poquette United KingdomDorl, James J Esq NEW02/05/2021
Bernardo DominicChavez Briddick ItalyChapman, Ross E Esq NEW02/04/2021
Bernardo DominicIvar Paprocki FranceMorlong Associates UNQUALIFIED02/22/2021
Elwin SharvillDarci Poquette BrazilTruhlar And Truhlar Attys NEW02/19/2021
Elwin SharvillSinclair Waycott IndiaBenton, John B Jr UNQUALIFIED02/22/2021
Elwin SharvillFrancesco Shinko JapanRangoni Of Florence NEW02/22/2021
Elwin SharvillStacey Maclead ItalyChanay, Jeffrey A Esq RENEWAL02/10/2021
Elwin SharvillChavez Briddick ItalyCommercial Press NEW02/24/2021
Ioni BowcherRicardo Gaucho BrazilPrinting Dimensions RENEWAL02/07/2021
Ioni BowcherEmily Whobrey United KingdomFeiner Bros RENEWAL02/09/2021
Ioni BowcherFaith Gillian CanadaFeiner Bros NEW02/09/2021
Ioni BowcherWickens Nestle ItalyFeltz Printing Service QUALIFIED02/11/2021
Ioni BowcherJames Butt FranceKing, Christopher A Esq NEGOTIATION02/08/2021
Ioni BowcherSilvio Slusarski FranceChemel, James L Cpa QUALIFIED02/06/2021
Ioni BowcherJohnson Sergi ItalyRousseaux, Michael Esq UNQUALIFIED03/02/2021
Ioni BowcherJeanfrancois Venere United KingdomChemel, James L Cpa RENEWAL02/23/2021
Ioni BowcherWickens Nestle IndiaCommercial Press UNQUALIFIED02/08/2021
Ivan MagalhaesTony Foller AustraliaBenton, John B Jr NEGOTIATION02/22/2021
Ivan MagalhaesJeanfrancois Venere AustraliaTruhlar And Truhlar Attys RENEWAL02/06/2021
Ivan MagalhaesChavez Briddick SpainCommercial Press NEGOTIATION02/22/2021
Ivan MagalhaesJohnson Sergi AustraliaDorl, James J Esq RENEWAL02/25/2021
Ivan MagalhaesOctavia Malet GermanyBenton, John B Jr RENEWAL02/03/2021
Onyama LimbaRodrigues Campain United KingdomDorl, James J Esq UNQUALIFIED03/03/2021
Onyama LimbaJames Butt CanadaPrinting Dimensions PROPOSAL02/23/2021
Onyama LimbaJames Butt ItalyDorl, James J Esq UNQUALIFIED02/22/2021
Onyama LimbaIzzy Garufi IndiaMorlong Associates QUALIFIED02/12/2021
Stephen ShawSmith Glick CanadaKing, Christopher A Esq PROPOSAL02/28/2021
Stephen ShawAdams Morasca AustraliaMorlong Associates QUALIFIED02/15/2021
Stephen ShawDarci Poquette United KingdomDorl, James J Esq NEGOTIATION02/15/2021
Stephen ShawLeon Oldroyd ArgentinaFeltz Printing Service UNQUALIFIED02/06/2021
Stephen ShawMaisha Rulapaugh IndiaFeltz Printing Service QUALIFIED02/04/2021
Stephen ShawIzzy Garufi JapanTruhlar And Truhlar Attys NEGOTIATION02/24/2021
Stephen ShawAika Inouye BrazilFeltz Printing Service UNQUALIFIED02/18/2021
Xuxue FengMujtaba Nicka FranceCommercial Press NEGOTIATION02/07/2021
Xuxue FengJulie Stenseth SpainChapman, Ross E Esq NEW02/27/2021
Xuxue FengMorrow Ruta GermanyCommercial Press QUALIFIED02/08/2021
Xuxue FengRodrigues Campain AustraliaRangoni Of Florence NEGOTIATION02/27/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>