GroupFieldCollection Class
A collection of GroupField objects.
Namespace: DevExpress.XtraReports.UI
Assembly: DevExpress.XtraReports.v22.1.dll
Declaration
Remarks
Methods of the GroupFieldCollection class allow a user to add new items to the collection and provide access to a particular GroupField object in the collection.
Example
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.
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;
}