Skip to main content

XRPivotGrid.CustomRowHeight Event

Enables you to specify a custom row height (e.g., to hide some rows based on specific criteria).

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v24.2.dll

NuGet Package: DevExpress.Reporting.Core

Declaration

public event EventHandler<PivotCustomRowHeightEventArgs> CustomRowHeight

Event Data

The CustomRowHeight event's data class is PivotCustomRowHeightEventArgs. The following properties provide information specific to this event:

Property Description
ColumnCount Gets the number of columns in the pivot grid.
CustomTotal Gets the custom total that corresponds to the currently processed column/row header. Inherited from PivotFieldValueEventArgsBase<T>.
DataField Gets the data field that specifies the processed value. Inherited from PivotFieldValueEventArgsBase<T>.
Field Gets the field being processed. Inherited from PivotFieldEventArgsBase<T>.
FieldIndex Gets the field position among the visible fields within the header area. Inherited from PivotFieldValueEventArgsBase<T>.
IsCollapsed Gets whether the processed field value is collapsed. Inherited from PivotFieldValueEventArgsBase<T>.
IsColumn Gets whether the field is displayed within the Column Header Area. Inherited from PivotFieldValueEventArgsBase<T>.
IsOthersValue Gets or sets whether the current header corresponds to the “Others” row/column. Inherited from PivotFieldValueEventArgsBase<T>.
Item For internal use. Inherited from PivotFieldValueEventArgsBase<T>.
MaxIndex Gets the maximum row index (for row fields) or column index (for column fields) that corresponds to the processed field value. Inherited from PivotFieldValueEventArgsBase<T>.
MinIndex Gets the minimum row index (for row fields) or column index (for column fields) that corresponds to the processed field value. Inherited from PivotFieldValueEventArgsBase<T>.
RowHeight Specifies the height of the current row.
RowIndex Gets the visual index of the row that contains the processed cell.
Value Gets the column field or row field value that corresponds to the currently processed column/row header. Inherited from PivotFieldValueEventArgsBase<T>.
ValueType Gets the type of the currently processed header of a column or a row. Inherited from PivotFieldValueEventArgsBase<T>.

The event data class exposes the following methods:

Method Description
ChangeExpandedState() Changes the expanded state of the field value currently being processed. Inherited from PivotFieldValueEventArgsBase<T>.
CreateDrillDownDataSource() Returns data records that are used to calculate a summary value for the specified cell. Inherited from PivotFieldValueEventArgsBase<T>.
CreateDrillDownDataSource(List<String>) Returns data records that are used to calculate a summary value for the specified cell. Inherited from PivotFieldValueEventArgsBase<T>.
CreateDrillDownDataSource(Int32, List<String>) Returns data records used to calculate a summary value for the specified cell in OLAP and server mode. Inherited from PivotFieldValueEventArgsBase<T>.
CreateDrillDownDataSource(Int32) Returns data records that are used to calculate a summary value for the specified cell. Inherited from PivotFieldValueEventArgsBase<T>.
CreateOLAPDrillDownDataSource(Int32, List<String>) Obsolete. In OLAP mode, returns a list of records used to calculate a summary value for the specified cell. Inherited from PivotFieldValueEventArgsBase<T>.
CreateServerModeDrillDownDataSource(Int32, List<String>) Obsolete. In server mode, returns a list of records used to calculate a summary value for the specified cell. Inherited from PivotFieldValueEventArgsBase<T>.
GetCellValue(Int32, Int32) Returns a value displayed in the specified cell. Inherited from PivotFieldValueEventArgsBase<T>.
GetFieldValue(T, Int32) Returns the specified column or row field value for the cell, addressed by its zero-based index in the Data Area. Inherited from PivotFieldValueEventArgsBase<T>.
GetHigherLevelFields() Returns the parent field for the field value currently being processed. Inherited from PivotFieldValueEventArgsBase<T>.
GetHigherLevelFieldValue(T) Returns the value of a specific parent field corresponding to the field value currently being processed. Inherited from PivotFieldValueEventArgsBase<T>.
GetRowCellValue(Int32) Returns a cell value calculated for the specified column field value, against the specified data field.

Example

The following code illustrates how to automatically adjust the row height to fit the XRPivotGrid content, by handling the XRPivotGrid.CustomRowHeight event.

using System;
using DevExpress.XtraReports.UI.PivotGrid;
// ...

private Graphics gr = Graphics.FromHwnd(IntPtr.Zero);

private void xrPivotGrid1_CustomRowHeight(object sender, PivotCustomRowHeightEventArgs e) {
    e.RowHeight = 0;
    for (int i = 0; i <= e.ColumnCount - 1; i++) {
        var rowCellValue = e.GetRowCellValue(i);
        if (rowCellValue == null)
            continue;
        string value = rowCellValue.ToString();
        SizeF size = gr.MeasureString(value, e.DataField.Appearance.Cell.Font, e.DataField.Width);
        int height = Convert.ToInt32(size.Height + 0.5);
        e.RowHeight = e.RowHeight > height ? e.RowHeight : height;
    }
}

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the CustomRowHeight event.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also