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 ElsnerNicolas Iturbide FranceBenton, John B Jr NEGOTIATION02/04/2021
Amy ElsnerCosta Dilliard FranceChanay, Jeffrey A Esq NEW02/26/2021
Amy ElsnerKadeem Flosi CanadaBenton, John B Jr UNQUALIFIED02/10/2021
Total Customers:3
Anna Fali
Anna FaliJames Butt SpainBuckley Miller Wright PROPOSAL02/20/2021
Anna FaliDarci Poquette ItalyMorlong Associates UNQUALIFIED02/23/2021
Anna FaliSinclair Waycott CanadaDorl, James J Esq PROPOSAL02/04/2021
Anna FaliJennifer Amigon JapanRousseaux, Michael Esq QUALIFIED02/05/2021
Anna FaliTony Foller BrazilFeltz Printing Service PROPOSAL02/26/2021
Anna FaliIzzy Garufi ItalyBenton, John B Jr QUALIFIED02/21/2021
Anna FaliJefferson Schemmer IndiaMorlong Associates PROPOSAL02/20/2021
Anna FaliJeanfrancois Venere CanadaTruhlar And Truhlar Attys UNQUALIFIED02/25/2021
Anna FaliMisaki Royster CanadaKing, Christopher A Esq UNQUALIFIED02/12/2021
Total Customers:9
Asiya Javayant
Asiya JavayantAika Inouye JapanRangoni Of Florence QUALIFIED02/12/2021
Asiya JavayantStacey Maclead IndiaBenton, John B Jr NEGOTIATION02/11/2021
Asiya JavayantMunro Ferencz SpainChanay, Jeffrey A Esq QUALIFIED02/06/2021
Asiya JavayantMaisha Rulapaugh JapanFeltz Printing Service UNQUALIFIED02/25/2021
Asiya JavayantOctavia Malet AustraliaBuckley Miller Wright UNQUALIFIED02/06/2021
Asiya JavayantIvar Paprocki ItalyPrinting Dimensions RENEWAL02/06/2021
Asiya JavayantJames Butt BrazilRangoni Of Florence NEW03/02/2021
Asiya JavayantIzzy Garufi AustraliaChapman, Ross E Esq QUALIFIED03/02/2021
Total Customers:8
Bernardo Dominic
Bernardo DominicJohnson Sergi RussiaTruhlar And Truhlar Attys UNQUALIFIED02/16/2021
Bernardo DominicKaitlin Ostrosky GermanyPrinting Dimensions QUALIFIED02/25/2021
Bernardo DominicArvin Albares United KingdomTruhlar And Truhlar Attys UNQUALIFIED02/24/2021
Bernardo DominicDeepesh Chui RussiaTruhlar And Truhlar Attys NEGOTIATION02/27/2021
Bernardo DominicAshley Doe SpainChapman, Ross E Esq QUALIFIED02/19/2021
Total Customers:5
Elwin Sharvill
Elwin SharvillSilvio Slusarski BrazilFeltz Printing Service QUALIFIED02/16/2021
Elwin SharvillJeanfrancois Venere ItalyBenton, John B Jr QUALIFIED02/03/2021
Total Customers:2
Ioni Bowcher
Ioni BowcherArvin Albares ArgentinaBenton, John B Jr NEW02/12/2021
Ioni BowcherAshley Doe SpainBenton, John B Jr RENEWAL02/15/2021
Ioni BowcherGreenwood Bolognia JapanBenton, John B Jr NEGOTIATION02/03/2021
Ioni BowcherChavez Briddick AustraliaChemel, James L Cpa RENEWAL02/10/2021
Ioni BowcherMaisha Rulapaugh AustraliaBuckley Miller Wright PROPOSAL02/26/2021
Total Customers:5
Ivan Magalhaes
Ivan MagalhaesGreenwood Bolognia FranceRousseaux, Michael Esq PROPOSAL03/01/2021
Ivan MagalhaesAlejandro Perin AustraliaTruhlar And Truhlar Attys NEW02/20/2021
Ivan MagalhaesTony Foller IndiaChemel, James L Cpa NEGOTIATION02/10/2021
Ivan MagalhaesKaitlin Ostrosky SpainDorl, James J Esq UNQUALIFIED02/13/2021
Ivan MagalhaesMorrow Ruta AustraliaBenton, John B Jr RENEWAL02/26/2021
Ivan MagalhaesIzzy Garufi BrazilDorl, James J Esq NEGOTIATION02/07/2021
Ivan MagalhaesAika Inouye FranceBenton, John B Jr QUALIFIED02/21/2021
Total Customers:7
Onyama Limba
Onyama LimbaRicardo Gaucho ItalyChemel, James L Cpa NEW02/04/2021
Onyama LimbaJeanfrancois Venere AustraliaFeiner Bros RENEWAL02/16/2021
Onyama LimbaSinclair Waycott RussiaDorl, James J Esq UNQUALIFIED03/01/2021
Total Customers:3
Stephen Shaw
Xuxue Feng
Xuxue FengCosta Dilliard ItalyRousseaux, Michael Esq NEGOTIATION02/10/2021
Xuxue FengSalvatore Stockham CanadaFeiner Bros PROPOSAL02/14/2021
Xuxue FengMorrow Ruta GermanyPrinting Dimensions NEW02/22/2021
Xuxue FengClaire Tollner ArgentinaMorlong Associates PROPOSAL02/19/2021
Total Customers:4
Rowspan
RepresentativeNameCountryCompanyStatusDate
Amy ElsnerNicolas Iturbide FranceBenton, John B Jr NEGOTIATION02/04/2021
Amy ElsnerCosta Dilliard FranceChanay, Jeffrey A Esq NEW02/26/2021
Amy ElsnerKadeem Flosi CanadaBenton, John B Jr UNQUALIFIED02/10/2021
Anna FaliJames Butt SpainBuckley Miller Wright PROPOSAL02/20/2021
Anna FaliDarci Poquette ItalyMorlong Associates UNQUALIFIED02/23/2021
Anna FaliSinclair Waycott CanadaDorl, James J Esq PROPOSAL02/04/2021
Anna FaliJennifer Amigon JapanRousseaux, Michael Esq QUALIFIED02/05/2021
Anna FaliTony Foller BrazilFeltz Printing Service PROPOSAL02/26/2021
Anna FaliIzzy Garufi ItalyBenton, John B Jr QUALIFIED02/21/2021
Anna FaliJefferson Schemmer IndiaMorlong Associates PROPOSAL02/20/2021
Anna FaliJeanfrancois Venere CanadaTruhlar And Truhlar Attys UNQUALIFIED02/25/2021
Anna FaliMisaki Royster CanadaKing, Christopher A Esq UNQUALIFIED02/12/2021
Asiya JavayantAika Inouye JapanRangoni Of Florence QUALIFIED02/12/2021
Asiya JavayantStacey Maclead IndiaBenton, John B Jr NEGOTIATION02/11/2021
Asiya JavayantMunro Ferencz SpainChanay, Jeffrey A Esq QUALIFIED02/06/2021
Asiya JavayantMaisha Rulapaugh JapanFeltz Printing Service UNQUALIFIED02/25/2021
Asiya JavayantOctavia Malet AustraliaBuckley Miller Wright UNQUALIFIED02/06/2021
Asiya JavayantIvar Paprocki ItalyPrinting Dimensions RENEWAL02/06/2021
Asiya JavayantJames Butt BrazilRangoni Of Florence NEW03/02/2021
Asiya JavayantIzzy Garufi AustraliaChapman, Ross E Esq QUALIFIED03/02/2021
Bernardo DominicJohnson Sergi RussiaTruhlar And Truhlar Attys UNQUALIFIED02/16/2021
Bernardo DominicKaitlin Ostrosky GermanyPrinting Dimensions QUALIFIED02/25/2021
Bernardo DominicArvin Albares United KingdomTruhlar And Truhlar Attys UNQUALIFIED02/24/2021
Bernardo DominicDeepesh Chui RussiaTruhlar And Truhlar Attys NEGOTIATION02/27/2021
Bernardo DominicAshley Doe SpainChapman, Ross E Esq QUALIFIED02/19/2021
Elwin SharvillSilvio Slusarski BrazilFeltz Printing Service QUALIFIED02/16/2021
Elwin SharvillJeanfrancois Venere ItalyBenton, John B Jr QUALIFIED02/03/2021
Ioni BowcherArvin Albares ArgentinaBenton, John B Jr NEW02/12/2021
Ioni BowcherAshley Doe SpainBenton, John B Jr RENEWAL02/15/2021
Ioni BowcherGreenwood Bolognia JapanBenton, John B Jr NEGOTIATION02/03/2021
Ioni BowcherChavez Briddick AustraliaChemel, James L Cpa RENEWAL02/10/2021
Ioni BowcherMaisha Rulapaugh AustraliaBuckley Miller Wright PROPOSAL02/26/2021
Ivan MagalhaesGreenwood Bolognia FranceRousseaux, Michael Esq PROPOSAL03/01/2021
Ivan MagalhaesAlejandro Perin AustraliaTruhlar And Truhlar Attys NEW02/20/2021
Ivan MagalhaesTony Foller IndiaChemel, James L Cpa NEGOTIATION02/10/2021
Ivan MagalhaesKaitlin Ostrosky SpainDorl, James J Esq UNQUALIFIED02/13/2021
Ivan MagalhaesMorrow Ruta AustraliaBenton, John B Jr RENEWAL02/26/2021
Ivan MagalhaesIzzy Garufi BrazilDorl, James J Esq NEGOTIATION02/07/2021
Ivan MagalhaesAika Inouye FranceBenton, John B Jr QUALIFIED02/21/2021
Onyama LimbaRicardo Gaucho ItalyChemel, James L Cpa NEW02/04/2021
Onyama LimbaJeanfrancois Venere AustraliaFeiner Bros RENEWAL02/16/2021
Onyama LimbaSinclair Waycott RussiaDorl, James J Esq UNQUALIFIED03/01/2021
Stephen ShawAshley Doe FranceRousseaux, Michael Esq UNQUALIFIED02/06/2021
Stephen ShawSilvio Slusarski ItalyRousseaux, Michael Esq PROPOSAL02/20/2021
Stephen ShawJeanfrancois Venere GermanyPrinting Dimensions NEW02/12/2021
Stephen ShawCody Saylors SpainDorl, James J Esq NEW02/15/2021
Xuxue FengCosta Dilliard ItalyRousseaux, Michael Esq NEGOTIATION02/10/2021
Xuxue FengSalvatore Stockham CanadaFeiner Bros PROPOSAL02/14/2021
Xuxue FengMorrow Ruta GermanyPrinting Dimensions NEW02/22/2021
Xuxue FengClaire Tollner ArgentinaMorlong Associates PROPOSAL02/19/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>