The requested page is not available for the requested platform. You are viewing the content for Default platform.

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.v18.2.dll

Declaration

[SRCategory(ReportStringId.CatBehavior)]
[TypeConverter(typeof(FieldNameConverter))]
[XtraSerializableProperty]
public string FieldName { get; set; }
<SRCategory(ReportStringId.CatBehavior)>
<TypeConverter(GetType(FieldNameConverter))>
<XtraSerializableProperty>
Public Property FieldName As String

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

Examples

The report created in this example is bound to the CategoryProducts view of the sample Northwind database (the nwind.mdb file located in the directory, where you installed DevExpress demos).

This report contains two bands: DetailBand and GroupHeaderBand, and the Group Header band groups data by the "CategoryName" data field.

At runtime, data grouping can only be done prior to a report document is being created. To group data just before a report is printed/previewed, use the XRControl.BeforePrint event.

Please make sure to include all necessary assemblies to the References list of your project.

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 required connection parameters.  
    Access97ConnectionParameters connectionParameters =
        new Access97ConnectionParameters("../../nwind.mdb", "", "");
    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 a detail band and add it to the report.
    DetailBand detail = new DetailBand { HeightF = 40 };
    report.Bands.Add(detail);

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

    // Create a group field and assign it to the group header band.
    GroupField groupField = new GroupField("CategoryName");
    ghBand.GroupFields.Add(groupField);

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

    // Specify labels' bindings depending on the report's data binding mode.
    if (Settings.Default.UserDesignerOptions.DataBindingMode == DataBindingMode.Bindings) {
        labelGroup.DataBindings.Add("Text", null, "customQuery.CategoryName");
        labelDetail.DataBindings.Add("Text", null, "customQuery.ProductName");
    } else {
        labelGroup.ExpressionBindings.Add(new ExpressionBinding("BeforePrint", "Text", "[CategoryName]"));
        labelDetail.ExpressionBindings.Add(new ExpressionBinding("BeforePrint", "Text", "[ProductName]"));
    }
    // Add these labels to the report's bands.    
    ghBand.Controls.Add(labelGroup);          
    detail.Controls.Add(labelDetail);

    return report;
}
See Also