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.v23.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;
}
}
See Also