GroupBand Class
The base for the GroupHeaderBand and GroupFooterBand classes that are used to group report data.
Namespace: DevExpress.XtraReports.UI
Assembly: DevExpress.XtraReports.v22.1.dll
Declaration
Remarks
The easiest way to create and arrange groups in a report is to use the Group and Sort Panel.
See the following topics for more details:
Example
The report created in this example uses the Northwind database. The database file nwind.mdb ships with the DevExpress installation (the default path is C:\Users\Public\Public Documents\DevExpress Demos 22.1\Components\Data\nwind.mdb).
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.
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 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;
}