Skip to main content

XRPivotGridField Class

Represents a field within the XRPivotGrid control.

Namespace: DevExpress.XtraReports.UI.PivotGrid

Assembly: DevExpress.XtraReports.v24.1.dll

NuGet Package: DevExpress.Reporting.Core

Declaration

public class XRPivotGridField :
    PivotGridFieldBase,
    IPivotGridDataContainer,
    IPivotGridDataContainerCore

Remarks

This class is inherited from the PivotGridField class, and replicates all its functionality. The main purpose of this class is to hide the PivotGridField.Appearance property, because the field’s appearance should be specified using the XRPivotGrid.Appearance or XRControl.Styles property of an XRPivotGrid control.

For more information on using pivot grid fields, refer to the PivotGridField class description.

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.1.dll and DevExpress.PivotGrid.v24.1.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;
}
See Also