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 ElsnerMaria Marrier JapanChanay, Jeffrey A Esq QUALIFIED02/25/2021
Amy ElsnerJames Butt AustraliaDorl, James J Esq RENEWAL02/21/2021
Amy ElsnerJones Vocelka SpainTruhlar And Truhlar Attys UNQUALIFIED02/12/2021
Amy ElsnerIzzy Garufi CanadaFeltz Printing Service RENEWAL02/23/2021
Amy ElsnerJuan Wieser United KingdomTruhlar And Truhlar Attys NEW01/31/2021
Total Customers:5
Anna Fali
Anna FaliDeepesh Chui AustraliaRangoni Of Florence UNQUALIFIED02/08/2021
Anna FaliGreenwood Bolognia JapanRousseaux, Michael Esq NEW02/24/2021
Anna FaliClaire Tollner IndiaRangoni Of Florence NEW02/08/2021
Anna FaliLeon Oldroyd RussiaChanay, Jeffrey A Esq PROPOSAL02/08/2021
Total Customers:4
Asiya Javayant
Asiya JavayantKaitlin Ostrosky IndiaDorl, James J Esq NEW01/31/2021
Asiya JavayantDarci Poquette CanadaKing, Christopher A Esq UNQUALIFIED02/27/2021
Asiya JavayantJohnson Sergi United KingdomTruhlar And Truhlar Attys NEGOTIATION02/17/2021
Asiya JavayantDavid Darakjy RussiaTruhlar And Truhlar Attys UNQUALIFIED02/26/2021
Asiya JavayantWickens Nestle United KingdomBenton, John B Jr NEGOTIATION02/02/2021
Total Customers:5
Bernardo Dominic
Bernardo DominicWickens Nestle GermanyRangoni Of Florence PROPOSAL02/04/2021
Bernardo DominicLeon Oldroyd JapanChemel, James L Cpa PROPOSAL02/20/2021
Bernardo DominicChavez Briddick SpainMorlong Associates NEW02/04/2021
Total Customers:3
Elwin Sharvill
Elwin SharvillKadeem Flosi GermanyBenton, John B Jr QUALIFIED02/24/2021
Elwin SharvillFaith Gillian RussiaRousseaux, Michael Esq NEW02/11/2021
Elwin SharvillJennifer Amigon ItalyBuckley Miller Wright QUALIFIED02/26/2021
Elwin SharvillDarci Poquette BrazilBuckley Miller Wright NEGOTIATION02/11/2021
Total Customers:4
Ioni Bowcher
Ioni BowcherWickens Nestle ItalyDorl, James J Esq RENEWAL02/06/2021
Ioni BowcherStacey Maclead RussiaRangoni Of Florence RENEWAL02/16/2021
Ioni BowcherDavid Darakjy BrazilRousseaux, Michael Esq UNQUALIFIED02/15/2021
Ioni BowcherClifford Rim ItalyCommercial Press UNQUALIFIED02/04/2021
Ioni BowcherLeja Caldarera CanadaPrinting Dimensions NEW02/13/2021
Ioni BowcherJuan Wieser ItalyChanay, Jeffrey A Esq QUALIFIED02/12/2021
Total Customers:6
Ivan Magalhaes
Ivan MagalhaesKadeem Flosi BrazilFeltz Printing Service PROPOSAL02/18/2021
Ivan MagalhaesArvin Albares AustraliaFeltz Printing Service NEW02/24/2021
Ivan MagalhaesDavid Darakjy CanadaDorl, James J Esq RENEWAL02/18/2021
Ivan MagalhaesStacey Maclead RussiaMorlong Associates QUALIFIED02/11/2021
Ivan MagalhaesJones Vocelka FranceRousseaux, Michael Esq RENEWAL02/17/2021
Total Customers:5
Onyama Limba
Onyama LimbaLeja Caldarera FrancePrinting Dimensions UNQUALIFIED02/05/2021
Onyama LimbaArvin Albares United KingdomPrinting Dimensions RENEWAL02/27/2021
Onyama LimbaDeepesh Chui GermanyPrinting Dimensions PROPOSAL02/20/2021
Onyama LimbaLeja Caldarera JapanFeiner Bros PROPOSAL02/25/2021
Onyama LimbaChavez Briddick JapanFeiner Bros RENEWAL02/23/2021
Onyama LimbaMunro Ferencz IndiaDorl, James J Esq NEW02/26/2021
Onyama LimbaJones Vocelka AustraliaPrinting Dimensions PROPOSAL02/19/2021
Onyama LimbaChavez Briddick ItalyRousseaux, Michael Esq QUALIFIED02/04/2021
Total Customers:8
Stephen Shaw
Xuxue Feng
Xuxue FengIsabel Bowley CanadaChanay, Jeffrey A Esq NEGOTIATION02/01/2021
Xuxue FengArvin Albares SpainBenton, John B Jr PROPOSAL02/09/2021
Xuxue FengFaith Gillian SpainKing, Christopher A Esq PROPOSAL02/10/2021
Xuxue FengJohnson Sergi JapanCommercial Press UNQUALIFIED02/18/2021
Total Customers:4
Rowspan
RepresentativeNameCountryCompanyStatusDate
Amy ElsnerMaria Marrier JapanChanay, Jeffrey A Esq QUALIFIED02/25/2021
Amy ElsnerJames Butt AustraliaDorl, James J Esq RENEWAL02/21/2021
Amy ElsnerJones Vocelka SpainTruhlar And Truhlar Attys UNQUALIFIED02/12/2021
Amy ElsnerIzzy Garufi CanadaFeltz Printing Service RENEWAL02/23/2021
Amy ElsnerJuan Wieser United KingdomTruhlar And Truhlar Attys NEW01/31/2021
Anna FaliDeepesh Chui AustraliaRangoni Of Florence UNQUALIFIED02/08/2021
Anna FaliGreenwood Bolognia JapanRousseaux, Michael Esq NEW02/24/2021
Anna FaliClaire Tollner IndiaRangoni Of Florence NEW02/08/2021
Anna FaliLeon Oldroyd RussiaChanay, Jeffrey A Esq PROPOSAL02/08/2021
Asiya JavayantKaitlin Ostrosky IndiaDorl, James J Esq NEW01/31/2021
Asiya JavayantDarci Poquette CanadaKing, Christopher A Esq UNQUALIFIED02/27/2021
Asiya JavayantJohnson Sergi United KingdomTruhlar And Truhlar Attys NEGOTIATION02/17/2021
Asiya JavayantDavid Darakjy RussiaTruhlar And Truhlar Attys UNQUALIFIED02/26/2021
Asiya JavayantWickens Nestle United KingdomBenton, John B Jr NEGOTIATION02/02/2021
Bernardo DominicWickens Nestle GermanyRangoni Of Florence PROPOSAL02/04/2021
Bernardo DominicLeon Oldroyd JapanChemel, James L Cpa PROPOSAL02/20/2021
Bernardo DominicChavez Briddick SpainMorlong Associates NEW02/04/2021
Elwin SharvillKadeem Flosi GermanyBenton, John B Jr QUALIFIED02/24/2021
Elwin SharvillFaith Gillian RussiaRousseaux, Michael Esq NEW02/11/2021
Elwin SharvillJennifer Amigon ItalyBuckley Miller Wright QUALIFIED02/26/2021
Elwin SharvillDarci Poquette BrazilBuckley Miller Wright NEGOTIATION02/11/2021
Ioni BowcherWickens Nestle ItalyDorl, James J Esq RENEWAL02/06/2021
Ioni BowcherStacey Maclead RussiaRangoni Of Florence RENEWAL02/16/2021
Ioni BowcherDavid Darakjy BrazilRousseaux, Michael Esq UNQUALIFIED02/15/2021
Ioni BowcherClifford Rim ItalyCommercial Press UNQUALIFIED02/04/2021
Ioni BowcherLeja Caldarera CanadaPrinting Dimensions NEW02/13/2021
Ioni BowcherJuan Wieser ItalyChanay, Jeffrey A Esq QUALIFIED02/12/2021
Ivan MagalhaesKadeem Flosi BrazilFeltz Printing Service PROPOSAL02/18/2021
Ivan MagalhaesArvin Albares AustraliaFeltz Printing Service NEW02/24/2021
Ivan MagalhaesDavid Darakjy CanadaDorl, James J Esq RENEWAL02/18/2021
Ivan MagalhaesStacey Maclead RussiaMorlong Associates QUALIFIED02/11/2021
Ivan MagalhaesJones Vocelka FranceRousseaux, Michael Esq RENEWAL02/17/2021
Onyama LimbaLeja Caldarera FrancePrinting Dimensions UNQUALIFIED02/05/2021
Onyama LimbaArvin Albares United KingdomPrinting Dimensions RENEWAL02/27/2021
Onyama LimbaDeepesh Chui GermanyPrinting Dimensions PROPOSAL02/20/2021
Onyama LimbaLeja Caldarera JapanFeiner Bros PROPOSAL02/25/2021
Onyama LimbaChavez Briddick JapanFeiner Bros RENEWAL02/23/2021
Onyama LimbaMunro Ferencz IndiaDorl, James J Esq NEW02/26/2021
Onyama LimbaJones Vocelka AustraliaPrinting Dimensions PROPOSAL02/19/2021
Onyama LimbaChavez Briddick ItalyRousseaux, Michael Esq QUALIFIED02/04/2021
Stephen ShawJulie Stenseth ItalyFeltz Printing Service QUALIFIED02/12/2021
Stephen ShawClaire Tollner RussiaRangoni Of Florence QUALIFIED02/04/2021
Stephen ShawRodrigues Campain FrancePrinting Dimensions PROPOSAL01/31/2021
Stephen ShawJennifer Amigon ItalyFeltz Printing Service NEW02/17/2021
Stephen ShawTony Foller ItalyBuckley Miller Wright PROPOSAL02/05/2021
Stephen ShawDarci Poquette United KingdomRousseaux, Michael Esq QUALIFIED02/25/2021
Xuxue FengIsabel Bowley CanadaChanay, Jeffrey A Esq NEGOTIATION02/01/2021
Xuxue FengArvin Albares SpainBenton, John B Jr PROPOSAL02/09/2021
Xuxue FengFaith Gillian SpainKing, Christopher A Esq PROPOSAL02/10/2021
Xuxue FengJohnson Sergi JapanCommercial Press UNQUALIFIED02/18/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>