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 ElsnerJefferson Schemmer GermanyPrinting Dimensions QUALIFIED03/04/2021
Total Customers:1
Anna Fali
Anna FaliJames Butt SpainFeiner Bros RENEWAL02/26/2021
Anna FaliJennifer Amigon United KingdomChapman, Ross E Esq UNQUALIFIED02/18/2021
Anna FaliCody Saylors RussiaKing, Christopher A Esq RENEWAL03/04/2021
Anna FaliAshley Doe ArgentinaChemel, James L Cpa NEGOTIATION02/04/2021
Anna FaliSalvatore Stockham CanadaRousseaux, Michael Esq PROPOSAL03/01/2021
Anna FaliFaith Gillian CanadaFeltz Printing Service PROPOSAL02/11/2021
Total Customers:6
Asiya Javayant
Asiya JavayantIzzy Garufi United KingdomMorlong Associates PROPOSAL02/05/2021
Asiya JavayantArvin Albares CanadaFeiner Bros NEGOTIATION02/08/2021
Asiya JavayantJames Butt FranceTruhlar And Truhlar Attys QUALIFIED02/05/2021
Asiya JavayantFrancesco Shinko ArgentinaChemel, James L Cpa RENEWAL02/20/2021
Total Customers:4
Bernardo Dominic
Bernardo DominicRicardo Gaucho RussiaTruhlar And Truhlar Attys RENEWAL02/21/2021
Bernardo DominicMaisha Rulapaugh RussiaDorl, James J Esq UNQUALIFIED02/11/2021
Bernardo DominicMurillo Malet BrazilRangoni Of Florence PROPOSAL02/05/2021
Bernardo DominicTony Foller ItalyMorlong Associates RENEWAL02/06/2021
Bernardo DominicRodrigues Campain AustraliaKing, Christopher A Esq UNQUALIFIED02/25/2021
Bernardo DominicDavid Darakjy ArgentinaFeiner Bros RENEWAL02/21/2021
Bernardo DominicMurillo Malet CanadaChanay, Jeffrey A Esq NEGOTIATION02/05/2021
Bernardo DominicJefferson Schemmer ItalyMorlong Associates PROPOSAL02/27/2021
Bernardo DominicAruna Figeroa AustraliaBenton, John B Jr PROPOSAL02/14/2021
Total Customers:9
Elwin Sharvill
Elwin SharvillClaire Tollner ItalyChanay, Jeffrey A Esq NEGOTIATION02/17/2021
Elwin SharvillIsabel Bowley CanadaBuckley Miller Wright QUALIFIED02/23/2021
Elwin SharvillTony Foller SpainChapman, Ross E Esq PROPOSAL02/15/2021
Elwin SharvillFrancesco Shinko United KingdomMorlong Associates NEW02/15/2021
Elwin SharvillMayumi Kolmetz United KingdomChanay, Jeffrey A Esq PROPOSAL03/03/2021
Elwin SharvillSmith Glick SpainFeiner Bros RENEWAL02/13/2021
Elwin SharvillRicardo Gaucho AustraliaChemel, James L Cpa PROPOSAL02/18/2021
Elwin SharvillJeanfrancois Venere GermanyFeltz Printing Service NEGOTIATION02/22/2021
Total Customers:8
Ioni Bowcher
Ioni BowcherJulie Stenseth RussiaChapman, Ross E Esq PROPOSAL02/24/2021
Ioni BowcherMurillo Malet BrazilChemel, James L Cpa NEGOTIATION03/02/2021
Total Customers:2
Ivan Magalhaes
Ivan MagalhaesWickens Nestle FranceKing, Christopher A Esq PROPOSAL02/23/2021
Ivan MagalhaesAruna Figeroa CanadaFeltz Printing Service NEGOTIATION02/05/2021
Total Customers:2
Onyama Limba
Onyama LimbaClaire Tollner SpainCommercial Press QUALIFIED02/03/2021
Total Customers:1
Stephen Shaw
Xuxue Feng
Xuxue FengIzzy Garufi ItalyBuckley Miller Wright PROPOSAL03/02/2021
Xuxue FengCody Saylors BrazilCommercial Press NEGOTIATION02/13/2021
Xuxue FengArvin Albares JapanChemel, James L Cpa NEGOTIATION02/15/2021
Xuxue FengTony Foller GermanyPrinting Dimensions RENEWAL02/13/2021
Xuxue FengAditya Kusko SpainPrinting Dimensions QUALIFIED02/24/2021
Xuxue FengClaire Tollner CanadaTruhlar And Truhlar Attys UNQUALIFIED02/04/2021
Total Customers:6
Rowspan
RepresentativeNameCountryCompanyStatusDate
Amy ElsnerJefferson Schemmer GermanyPrinting Dimensions QUALIFIED03/04/2021
Anna FaliJames Butt SpainFeiner Bros RENEWAL02/26/2021
Anna FaliJennifer Amigon United KingdomChapman, Ross E Esq UNQUALIFIED02/18/2021
Anna FaliCody Saylors RussiaKing, Christopher A Esq RENEWAL03/04/2021
Anna FaliAshley Doe ArgentinaChemel, James L Cpa NEGOTIATION02/04/2021
Anna FaliSalvatore Stockham CanadaRousseaux, Michael Esq PROPOSAL03/01/2021
Anna FaliFaith Gillian CanadaFeltz Printing Service PROPOSAL02/11/2021
Asiya JavayantIzzy Garufi United KingdomMorlong Associates PROPOSAL02/05/2021
Asiya JavayantArvin Albares CanadaFeiner Bros NEGOTIATION02/08/2021
Asiya JavayantJames Butt FranceTruhlar And Truhlar Attys QUALIFIED02/05/2021
Asiya JavayantFrancesco Shinko ArgentinaChemel, James L Cpa RENEWAL02/20/2021
Bernardo DominicRicardo Gaucho RussiaTruhlar And Truhlar Attys RENEWAL02/21/2021
Bernardo DominicMaisha Rulapaugh RussiaDorl, James J Esq UNQUALIFIED02/11/2021
Bernardo DominicMurillo Malet BrazilRangoni Of Florence PROPOSAL02/05/2021
Bernardo DominicTony Foller ItalyMorlong Associates RENEWAL02/06/2021
Bernardo DominicRodrigues Campain AustraliaKing, Christopher A Esq UNQUALIFIED02/25/2021
Bernardo DominicDavid Darakjy ArgentinaFeiner Bros RENEWAL02/21/2021
Bernardo DominicMurillo Malet CanadaChanay, Jeffrey A Esq NEGOTIATION02/05/2021
Bernardo DominicJefferson Schemmer ItalyMorlong Associates PROPOSAL02/27/2021
Bernardo DominicAruna Figeroa AustraliaBenton, John B Jr PROPOSAL02/14/2021
Elwin SharvillClaire Tollner ItalyChanay, Jeffrey A Esq NEGOTIATION02/17/2021
Elwin SharvillIsabel Bowley CanadaBuckley Miller Wright QUALIFIED02/23/2021
Elwin SharvillTony Foller SpainChapman, Ross E Esq PROPOSAL02/15/2021
Elwin SharvillFrancesco Shinko United KingdomMorlong Associates NEW02/15/2021
Elwin SharvillMayumi Kolmetz United KingdomChanay, Jeffrey A Esq PROPOSAL03/03/2021
Elwin SharvillSmith Glick SpainFeiner Bros RENEWAL02/13/2021
Elwin SharvillRicardo Gaucho AustraliaChemel, James L Cpa PROPOSAL02/18/2021
Elwin SharvillJeanfrancois Venere GermanyFeltz Printing Service NEGOTIATION02/22/2021
Ioni BowcherJulie Stenseth RussiaChapman, Ross E Esq PROPOSAL02/24/2021
Ioni BowcherMurillo Malet BrazilChemel, James L Cpa NEGOTIATION03/02/2021
Ivan MagalhaesWickens Nestle FranceKing, Christopher A Esq PROPOSAL02/23/2021
Ivan MagalhaesAruna Figeroa CanadaFeltz Printing Service NEGOTIATION02/05/2021
Onyama LimbaClaire Tollner SpainCommercial Press QUALIFIED02/03/2021
Stephen ShawLeon Oldroyd United KingdomChanay, Jeffrey A Esq UNQUALIFIED02/28/2021
Stephen ShawDeepesh Chui RussiaPrinting Dimensions QUALIFIED02/20/2021
Stephen ShawSinclair Waycott United KingdomDorl, James J Esq UNQUALIFIED02/27/2021
Stephen ShawRicardo Gaucho United KingdomRousseaux, Michael Esq RENEWAL02/11/2021
Stephen ShawMaisha Rulapaugh GermanyFeiner Bros RENEWAL02/06/2021
Stephen ShawLeja Caldarera RussiaChanay, Jeffrey A Esq RENEWAL02/19/2021
Stephen ShawAlejandro Perin SpainTruhlar And Truhlar Attys UNQUALIFIED02/25/2021
Stephen ShawWickens Nestle GermanyFeltz Printing Service UNQUALIFIED03/03/2021
Stephen ShawMaria Marrier CanadaKing, Christopher A Esq NEGOTIATION02/12/2021
Stephen ShawDeepesh Chui ArgentinaRousseaux, Michael Esq UNQUALIFIED02/16/2021
Stephen ShawJeanfrancois Venere United KingdomBuckley Miller Wright UNQUALIFIED02/15/2021
Xuxue FengIzzy Garufi ItalyBuckley Miller Wright PROPOSAL03/02/2021
Xuxue FengCody Saylors BrazilCommercial Press NEGOTIATION02/13/2021
Xuxue FengArvin Albares JapanChemel, James L Cpa NEGOTIATION02/15/2021
Xuxue FengTony Foller GermanyPrinting Dimensions RENEWAL02/13/2021
Xuxue FengAditya Kusko SpainPrinting Dimensions QUALIFIED02/24/2021
Xuxue FengClaire Tollner CanadaTruhlar And Truhlar Attys UNQUALIFIED02/04/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>