FormatConditionAverage Class
A format condition used to apply formatting according to the average value.
Namespace: DevExpress.DashboardCommon
Assembly: DevExpress.Dashboard.v19.2.Core.dll
Declaration
Remarks
To create a format condition to apply formatting to values compared to the average, do the following.
- Specify the comparison logic by setting the FormatConditionAverage.AverageType property.
- Specify the required style settings applied to target elements using the FormatConditionStyleBase.StyleSettings property. You can change the color of dashboard item elements, font settings (AppearanceSettings) or add predefined icons (IconSettings).
Assign the resulting FormatConditionAverage object to the DashboardItemFormatRule.Condition property.
Example
The Top-Bottom (FormatConditionTopBottom) format conditions allow you to highlight a specific number of topmost/bottommost values. This example shows how to apply conditional formatting to the specified number of top/bottom values. The number of values can be specified as an absolute value or a percentage of all values.
The Average format condition (FormatConditionAverage
) is used to highlight values above or below an average value.
Note
The complete sample project How to Apply the Top-Bottom/Average Conditional Formatting to Grid Cells is available in the DevExpress Examples repository.
using DevExpress.DashboardCommon;
using System.Drawing;
namespace Grid_TopAverageCondition {
public partial class Form1 : DevExpress.XtraEditors.XtraForm {
public Form1() {
InitializeComponent();
Dashboard dashboard = new Dashboard(); dashboard.LoadFromXml(@"..\..\Data\Dashboard.xml");
dashboardViewer1.Dashboard = dashboard;
GridDashboardItem grid = (GridDashboardItem)dashboard.Items["gridDashboardItem1"];
GridDimensionColumn salesPerson = (GridDimensionColumn)grid.Columns[0];
GridMeasureColumn extendedPrice = (GridMeasureColumn)grid.Columns[1];
GridItemFormatRule topRule = new GridItemFormatRule(extendedPrice, salesPerson);
FormatConditionTopBottom topCondition = new FormatConditionTopBottom();
topCondition.TopBottom = DashboardFormatConditionTopBottomType.Top;
topCondition.RankType = DashboardFormatConditionValueType.Number;
topCondition.Rank = 3;
topCondition.StyleSettings = new IconSettings(FormatConditionIconType.IndicatorGreenCheck);
topRule.Condition = topCondition;
GridItemFormatRule bottomRule = new GridItemFormatRule(extendedPrice, salesPerson);
FormatConditionTopBottom bottomCondition = new FormatConditionTopBottom();
bottomCondition.TopBottom = DashboardFormatConditionTopBottomType.Bottom;
bottomCondition.RankType = DashboardFormatConditionValueType.Percent;
bottomCondition.Rank = 40;
bottomCondition.StyleSettings = new IconSettings(FormatConditionIconType.IndicatorRedFlag);
bottomRule.Condition = bottomCondition;
GridItemFormatRule aboveAverageRule = new GridItemFormatRule(extendedPrice);
FormatConditionAverage aboveAverageCondition = new FormatConditionAverage();
aboveAverageCondition.AverageType = DashboardFormatConditionAboveBelowType.Above;
aboveAverageCondition.StyleSettings =
new AppearanceSettings(Color.Green, FontStyle.Underline);
aboveAverageRule.Condition = aboveAverageCondition;
GridItemFormatRule belowAverageRule = new GridItemFormatRule(extendedPrice);
FormatConditionAverage belowAverageCondition = new FormatConditionAverage();
belowAverageCondition.AverageType = DashboardFormatConditionAboveBelowType.Below;
belowAverageCondition.StyleSettings =
new AppearanceSettings(Color.Orange, FontStyle.Underline);
belowAverageRule.Condition = belowAverageCondition;
grid.FormatRules.AddRange(topRule, bottomRule, aboveAverageRule, belowAverageRule);
}
}
}