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.1.dll
NuGet Package: DevExpress.Reporting.Core
Declaration
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;
}
}
Related GitHub Examples
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.