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.

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 ElsnerMunro Ferencz ItalyChemel, James L Cpa NEGOTIATION03/29/2021
Amy ElsnerMaria Marrier RussiaKing, Christopher A Esq NEGOTIATION03/27/2021
Amy ElsnerMunro Ferencz FranceChanay, Jeffrey A Esq NEW03/30/2021
Amy ElsnerMaria Marrier IndiaChanay, Jeffrey A Esq NEGOTIATION03/26/2021
Amy ElsnerKaitlin Ostrosky GermanyFeltz Printing Service UNQUALIFIED04/07/2021
Total Customers:5
Anna Fali
Anna FaliAshley Doe SpainCommercial Press NEW04/07/2021
Anna FaliMunro Ferencz BrazilRousseaux, Michael Esq UNQUALIFIED04/13/2021
Anna FaliJones Vocelka FranceChanay, Jeffrey A Esq RENEWAL03/19/2021
Total Customers:3
Asiya Javayant
Asiya JavayantCosta Dilliard ArgentinaTruhlar And Truhlar Attys RENEWAL04/02/2021
Total Customers:1
Bernardo Dominic
Bernardo DominicSilvio Slusarski JapanKing, Christopher A Esq NEGOTIATION03/27/2021
Bernardo DominicRicardo Gaucho RussiaBenton, John B Jr NEW04/08/2021
Bernardo DominicCody Saylors ItalyTruhlar And Truhlar Attys UNQUALIFIED03/28/2021
Bernardo DominicCody Saylors SpainFeltz Printing Service QUALIFIED04/05/2021
Bernardo DominicJennifer Amigon RussiaBenton, John B Jr NEW03/29/2021
Bernardo DominicCody Saylors SpainDorl, James J Esq QUALIFIED04/13/2021
Total Customers:6
Elwin Sharvill
Elwin SharvillAlejandro Perin FranceRangoni Of Florence QUALIFIED03/21/2021
Elwin SharvillDarci Poquette FranceRousseaux, Michael Esq NEGOTIATION04/13/2021
Elwin SharvillAditya Kusko United KingdomBenton, John B Jr RENEWAL03/26/2021
Elwin SharvillAlejandro Perin United KingdomBuckley Miller Wright QUALIFIED04/09/2021
Elwin SharvillClifford Rim GermanyDorl, James J Esq NEW03/16/2021
Elwin SharvillJefferson Schemmer AustraliaCommercial Press RENEWAL03/23/2021
Elwin SharvillMaria Marrier JapanRousseaux, Michael Esq UNQUALIFIED04/02/2021
Total Customers:7
Ioni Bowcher
Ioni BowcherAruna Figeroa United KingdomTruhlar And Truhlar Attys UNQUALIFIED04/08/2021
Ioni BowcherFaith Gillian ArgentinaTruhlar And Truhlar Attys QUALIFIED04/05/2021
Ioni BowcherAntonio Caudy JapanBuckley Miller Wright PROPOSAL04/06/2021
Total Customers:3
Ivan Magalhaes
Ivan MagalhaesAlejandro Perin CanadaFeiner Bros RENEWAL04/06/2021
Ivan MagalhaesJohnson Sergi RussiaBenton, John B Jr QUALIFIED03/27/2021
Ivan MagalhaesAshley Doe RussiaTruhlar And Truhlar Attys NEGOTIATION03/25/2021
Total Customers:3
Onyama Limba
Onyama LimbaCosta Dilliard AustraliaChanay, Jeffrey A Esq UNQUALIFIED03/24/2021
Onyama LimbaEmily Whobrey IndiaRangoni Of Florence QUALIFIED03/19/2021
Onyama LimbaNicolas Iturbide JapanDorl, James J Esq NEW04/04/2021
Onyama LimbaGreenwood Bolognia JapanBenton, John B Jr QUALIFIED04/01/2021
Onyama LimbaClaire Tollner FranceRousseaux, Michael Esq UNQUALIFIED04/13/2021
Onyama LimbaJulie Stenseth IndiaChanay, Jeffrey A Esq NEGOTIATION04/08/2021
Onyama LimbaMujtaba Nicka SpainPrinting Dimensions UNQUALIFIED04/04/2021
Onyama LimbaAika Inouye SpainCommercial Press NEGOTIATION04/03/2021
Onyama LimbaMaisha Rulapaugh FranceFeltz Printing Service UNQUALIFIED03/23/2021
Onyama LimbaGreenwood Bolognia GermanyCommercial Press QUALIFIED04/07/2021
Total Customers:10
Stephen Shaw
Xuxue Feng
Xuxue FengKadeem Flosi FranceBuckley Miller Wright UNQUALIFIED03/23/2021
Xuxue FengKadeem Flosi FranceDorl, James J Esq QUALIFIED03/27/2021
Xuxue FengAlejandro Perin BrazilChapman, Ross E Esq UNQUALIFIED04/07/2021
Total Customers:3
Rowspan
RepresentativeNameCountryCompanyStatusDate
Amy ElsnerMunro Ferencz ItalyChemel, James L Cpa NEGOTIATION03/29/2021
Amy ElsnerMaria Marrier RussiaKing, Christopher A Esq NEGOTIATION03/27/2021
Amy ElsnerMunro Ferencz FranceChanay, Jeffrey A Esq NEW03/30/2021
Amy ElsnerMaria Marrier IndiaChanay, Jeffrey A Esq NEGOTIATION03/26/2021
Amy ElsnerKaitlin Ostrosky GermanyFeltz Printing Service UNQUALIFIED04/07/2021
Anna FaliAshley Doe SpainCommercial Press NEW04/07/2021
Anna FaliMunro Ferencz BrazilRousseaux, Michael Esq UNQUALIFIED04/13/2021
Anna FaliJones Vocelka FranceChanay, Jeffrey A Esq RENEWAL03/19/2021
Asiya JavayantCosta Dilliard ArgentinaTruhlar And Truhlar Attys RENEWAL04/02/2021
Bernardo DominicSilvio Slusarski JapanKing, Christopher A Esq NEGOTIATION03/27/2021
Bernardo DominicRicardo Gaucho RussiaBenton, John B Jr NEW04/08/2021
Bernardo DominicCody Saylors ItalyTruhlar And Truhlar Attys UNQUALIFIED03/28/2021
Bernardo DominicCody Saylors SpainFeltz Printing Service QUALIFIED04/05/2021
Bernardo DominicJennifer Amigon RussiaBenton, John B Jr NEW03/29/2021
Bernardo DominicCody Saylors SpainDorl, James J Esq QUALIFIED04/13/2021
Elwin SharvillAlejandro Perin FranceRangoni Of Florence QUALIFIED03/21/2021
Elwin SharvillDarci Poquette FranceRousseaux, Michael Esq NEGOTIATION04/13/2021
Elwin SharvillAditya Kusko United KingdomBenton, John B Jr RENEWAL03/26/2021
Elwin SharvillAlejandro Perin United KingdomBuckley Miller Wright QUALIFIED04/09/2021
Elwin SharvillClifford Rim GermanyDorl, James J Esq NEW03/16/2021
Elwin SharvillJefferson Schemmer AustraliaCommercial Press RENEWAL03/23/2021
Elwin SharvillMaria Marrier JapanRousseaux, Michael Esq UNQUALIFIED04/02/2021
Ioni BowcherAruna Figeroa United KingdomTruhlar And Truhlar Attys UNQUALIFIED04/08/2021
Ioni BowcherFaith Gillian ArgentinaTruhlar And Truhlar Attys QUALIFIED04/05/2021
Ioni BowcherAntonio Caudy JapanBuckley Miller Wright PROPOSAL04/06/2021
Ivan MagalhaesAlejandro Perin CanadaFeiner Bros RENEWAL04/06/2021
Ivan MagalhaesJohnson Sergi RussiaBenton, John B Jr QUALIFIED03/27/2021
Ivan MagalhaesAshley Doe RussiaTruhlar And Truhlar Attys NEGOTIATION03/25/2021
Onyama LimbaCosta Dilliard AustraliaChanay, Jeffrey A Esq UNQUALIFIED03/24/2021
Onyama LimbaEmily Whobrey IndiaRangoni Of Florence QUALIFIED03/19/2021
Onyama LimbaNicolas Iturbide JapanDorl, James J Esq NEW04/04/2021
Onyama LimbaGreenwood Bolognia JapanBenton, John B Jr QUALIFIED04/01/2021
Onyama LimbaClaire Tollner FranceRousseaux, Michael Esq UNQUALIFIED04/13/2021
Onyama LimbaJulie Stenseth IndiaChanay, Jeffrey A Esq NEGOTIATION04/08/2021
Onyama LimbaMujtaba Nicka SpainPrinting Dimensions UNQUALIFIED04/04/2021
Onyama LimbaAika Inouye SpainCommercial Press NEGOTIATION04/03/2021
Onyama LimbaMaisha Rulapaugh FranceFeltz Printing Service UNQUALIFIED03/23/2021
Onyama LimbaGreenwood Bolognia GermanyCommercial Press QUALIFIED04/07/2021
Stephen ShawFaith Gillian CanadaBuckley Miller Wright UNQUALIFIED03/22/2021
Stephen ShawAlejandro Perin SpainPrinting Dimensions PROPOSAL04/09/2021
Stephen ShawAntonio Caudy CanadaRousseaux, Michael Esq NEGOTIATION03/27/2021
Stephen ShawDarci Poquette ItalyPrinting Dimensions UNQUALIFIED03/31/2021
Stephen ShawMayumi Kolmetz RussiaTruhlar And Truhlar Attys UNQUALIFIED03/20/2021
Stephen ShawSilvio Slusarski AustraliaTruhlar And Truhlar Attys QUALIFIED03/18/2021
Stephen ShawCosta Dilliard RussiaFeltz Printing Service NEW04/02/2021
Stephen ShawSalvatore Stockham ArgentinaBenton, John B Jr NEW03/29/2021
Stephen ShawGreenwood Bolognia SpainRousseaux, Michael Esq QUALIFIED04/04/2021
Xuxue FengKadeem Flosi FranceBuckley Miller Wright UNQUALIFIED03/23/2021
Xuxue FengKadeem Flosi FranceDorl, James J Esq QUALIFIED03/27/2021
Xuxue FengAlejandro Perin BrazilChapman, Ross E Esq UNQUALIFIED04/07/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>