XRPivotGridFieldCollection Class
Represents a field collection for the XRPivotGrid control.
Namespace: DevExpress.XtraReports.UI.PivotGrid
Assembly: DevExpress.XtraReports.v24.2.dll
NuGet Package: DevExpress.Reporting.Core
Declaration
Remarks
The XRPivotGridFieldCollection encapsulates a field collection for the XRPivotGrid control. Use the control’s XRPivotGrid.Fields property to access this collection (add, remove or access individual items). A field is represented by the XRPivotGridField class.
Example
The following code generates a cross-tab report by utilizing the XRPivotGrid control.
Before running this code, add all necessary assemblies to the project’s References list (e.g., DevExpress.XtraPivotGrid.v24.2.dll and DevExpress.PivotGrid.v24.2.Core.dll).
Next, add a button (button1) to the application’s form and handle its Click event as follows.
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
using DevExpress.XtraPivotGrid;
using DevExpress.XtraReports.UI;
using DevExpress.XtraReports.UI.PivotGrid;
// ...
private void button1_Click(object sender, EventArgs e) {
// Create a cross-tab report.
XtraReport report = CreateReport();
// Show its Print Preview.
report.ShowPreview();
}
private XtraReport CreateReport() {
// Create a blank report.
XtraReport crossTabReport = new XtraReport();
// Create a detail band and add it to the report.
DetailBand detail = new DetailBand();
crossTabReport.Bands.Add(detail);
// Create a pivot grid and add it to the Detail band.
XRPivotGrid pivotGrid = new XRPivotGrid();
detail.Controls.Add(pivotGrid);
// Create a data source
SQLiteConnectionParameters connectionParameters = new SQLiteConnectionParameters() {
FileName = "nwind.db",
Password = null
};
SqlDataSource ds = new SqlDataSource(connectionParameters);
// Create an SQL query to access the SalesPerson view.
CustomSqlQuery query = new CustomSqlQuery();
query.Name = "SalesPerson";
query.Sql = "SELECT CategoryName, ProductName, Country, [Sales Person], Quantity, [Extended Price] FROM SalesPerson";
ds.Queries.Add(query);
// Bind the pivot grid to data.
pivotGrid.DataSource = ds;
pivotGrid.DataMember = "SalesPerson";
// Generate pivot grid's fields.
XRPivotGridField fieldCategoryName = new XRPivotGridField("CategoryName", PivotArea.RowArea);
XRPivotGridField fieldProductName = new XRPivotGridField("ProductName", PivotArea.RowArea);
XRPivotGridField fieldCountry = new XRPivotGridField("Country", PivotArea.ColumnArea);
XRPivotGridField fieldSalesPerson = new XRPivotGridField("Sales Person", PivotArea.ColumnArea);
XRPivotGridField fieldQuantity = new XRPivotGridField("Quantity", PivotArea.DataArea);
XRPivotGridField fieldExtendedPrice = new XRPivotGridField("Extended Price", PivotArea.DataArea);
// Add these fields to the pivot grid.
pivotGrid.Fields.AddRange(new XRPivotGridField[] {fieldCategoryName, fieldProductName, fieldCountry,
fieldSalesPerson, fieldQuantity, fieldExtendedPrice});
return crossTabReport;
}