Skip to main content

PivotGridFieldSortCondition(PivotGridFieldBase, Object, String) Constructor

Initializes a new instance of the PivotGridFieldSortCondition class.

Namespace: DevExpress.XtraPivotGrid

Assembly: DevExpress.PivotGrid.v23.2.Core.dll

NuGet Packages: DevExpress.PivotGrid.Core, DevExpress.Win.Navigation

Declaration

public PivotGridFieldSortCondition(
    PivotGridFieldBase field,
    object value,
    string olapUniqueName
)

Parameters

Name Type Description
field PivotGridFieldBase

A PivotGridFieldBase descendant that represents the field to which the condition corresponds. This value is assigned to the PivotGridFieldSortCondition.Field property.

value Object

An object that specifies the field value represented by the condition. This value is assigned to the PivotGridFieldSortCondition.Value property.

olapUniqueName String

A String that represents the unique name of the corresponding OLAP member. This value is assigned to the PivotGridFieldSortCondition.OLAPUniqueMemberName property.

Example

The following example demonstrates how to implement sorting by summary in OLAP mode. In this example, values of the Fiscal Year field are sorted by the Australia | Bendigo column summary values.

Sorting by summary in OLAP

Two PivotGridFieldSortCondition objects contain OLAP members that correspond to Australia and Bendigo values. The PivotGridControl.GetFieldValueOLAPMember method obtains these values. Obtained values specify columns by which the Fiscal Year field should be sorted and are stored in the Fiscal Year’s PivotGridFieldSortBySummaryInfo.Conditions collection. OLAP members can be obtained only for visible field values. For this reason, the Australia field value is expanded before initializing OLAP members to obtain the Bendigo member. The PivotGridFieldSortBySummaryInfo.Field property specifies the data field whose summary values should be used to sort values of the Fiscal Year field.

This sample uses the Adventure Works 2008 cube.

View Example

using System;
using System.Windows.Forms;
using DevExpress.XtraPivotGrid;

namespace XtraPivotGrid_OLAPSortBySummary {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e) {
            // Expands the Australia column to be able to retrieve OLAP members 
            // that correspond to the nested columns.
            pivotGridControl1.ExpandValue(true, new object[] { "Australia" });
            // Obtains OLAP members corresponding to the Australia and Bendigo values.
            IOLAPMember countryMember = pivotGridControl1.GetFieldValueOLAPMember(fieldCountry, 0);
            IOLAPMember cityMember = pivotGridControl1.GetFieldValueOLAPMember(fieldCity, 0);
            // Exits if the OLAP members were not obtained successfully.
            if (countryMember == null || cityMember == null)
                return;
            // Locks the pivot grid from updating while the Sort by Summary
            // settings are being customized.
            pivotGridControl1.BeginUpdate();
            try {
                // Specifies a data field whose summary values should be used to sort values
                // of the Fiscal Year field.
                fieldFiscalYear.SortBySummaryInfo.Field = fieldInternetSalesAmount;
                // Specifies a column by which the Fiscal Year field values should be sorted.
                fieldFiscalYear.SortBySummaryInfo.Conditions.Add(
                    new PivotGridFieldSortCondition(fieldCountry, "Australia", countryMember.UniqueName));
                fieldFiscalYear.SortBySummaryInfo.Conditions.Add(
                    new PivotGridFieldSortCondition(fieldCity, "Bendigo", cityMember.UniqueName));
            }
            finally {
                // Unlocks the pivot grid and applies changes.
                pivotGridControl1.EndUpdate();
            }
        }
    }
}
See Also