Skip to main content

GroupField.FieldName Property

Specifies the name of a data field that is used as a criterion for creating a group in a report.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v23.2.dll

NuGet Package: DevExpress.Reporting.Core

Declaration

[DefaultValue("")]
[SRCategory(ReportStringId.CatBehavior)]
public string FieldName { get; set; }

Property Value

Type Default Description
String String.Empty

A String value, specifying the field name in the report data member.

Remarks

The report data source is defined by the XtraReportBase.DataSource and XtraReportBase.DataMember properties.

When the report data source is not defined at design time, you can specify a static value for the FieldName property of a GroupField.

group-field-name-static

Example

View Example: How to group data at runtime

The report created in this example uses the sample Northwind database.

The report is bound to the SQL data source, which retrieves data from the CategoryProducts database view.

This report contains two bands: the Detail band and the Group Header band. The Group Header band includes a group field that specifies that the data is grouped by the CategoryName data field.

Tip

You can handle the XRControl.BeforePrint event to change data grouping before a report is printed or previewed.

using System;
using System.Windows.Forms;
using DevExpress.XtraReports.UI;
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
using DevExpress.XtraReports.Configuration;
// ...

public XtraReport CreateDataGroupingReport() {
    // Create a report.
    XtraReport report = new XtraReport();

    // Create a data source with the specified connection parameters.  
    SQLiteConnectionParameters connectionParameters =
        new SQLiteConnectionParameters() {
                    FileName = "nwind.db",
                    Password = null
        };
    SqlDataSource ds = new SqlDataSource(connectionParameters);   
    CustomSqlQuery query = new CustomSqlQuery();
    query.Name = "customQuery";
    query.Sql = "SELECT * FROM CategoryProducts";
    ds.Queries.Add(query);
    ds.RebuildResultSchema();

    // Assign the data source to the report.
    report.DataSource = ds;
    report.DataMember = "customQuery";

    // Create the Detail band and add it to the report.
    DetailBand detail = new DetailBand { HeightF = 40 };
    report.Bands.Add(detail);

    // Create the Group Header band and add it to the report.
    GroupHeaderBand ghBand = new GroupHeaderBand { HeightF = 40 };
    report.Bands.Add(ghBand);

    // Create a GroupField instance and add it to the Group Header band.
    GroupField groupField = new GroupField("CategoryName");
    ghBand.GroupFields.Add(groupField);

    // Create labels.
    XRLabel labelGroup = new XRLabel { ForeColor = System.Drawing.Color.Blue };
    XRLabel labelDetail = new XRLabel { LocationF = new System.Drawing.PointF(30, 0) };

    // Specify label bindings.
    labelGroup.ExpressionBindings.Add(new ExpressionBinding("BeforePrint", "Text", "[CategoryName]"));
    labelDetail.ExpressionBindings.Add(new ExpressionBinding("BeforePrint", "Text", "[ProductName]"));

    // Add the labels to the report's bands.    
    ghBand.Controls.Add(labelGroup);          
    detail.Controls.Add(labelDetail);

    return report;
}

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the FieldName property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also