FormatConditionRangeSet Class
A format condition used to apply formatting using value ranges and corresponding style settings.
Namespace: DevExpress.DashboardCommon
Assembly: DevExpress.Dashboard.v24.1.Core.dll
NuGet Package: DevExpress.Dashboard.Core
Declaration
Remarks
Range conditions allow you to apply formatting using a predefined set of value ranges and corresponding style settings. You can use a predefined set of colors/icons to apply formatting or use custom ranges and corresponding icons/colors.
- To use a predefined set of colors/icons, pass the required FormatConditionRangeSetPredefinedType enumeration value to the FormatConditionRangeSet constructor or call the corresponding FormatConditionRangeSet.Generate method overload.
To use a predefined set of colors/icons and custom range boundaries, do the following.
- Pass the required FormatConditionRangeSetPredefinedType enumeration value to the FormatConditionRangeSet constructor or call the corresponding FormatConditionRangeSet.Generate method overload.
- Specify the type of range boundaries using the FormatConditionRangeBase.ValueType property and assign the required boundary values using the FormatConditionRangeBase.SetValues property.
- If necessary, change the comparison logic using the FormatConditionRangeBase.SetValueComparison property.
To use custom range boundaries and the required style specified for each range, do the following.
- Specify whether an absolute or percent scale is used to define range boundaries using the FormatConditionRangeBase.ValueType property.
- Create the required number of RangeInfo objects that are the ranges containing boundary values (the RangeInfo.Value property), a comparison logic (RangeInfo.ValueComparison) and style setting applied to range values (RangeInfo.StyleSettings).
- Add initialized RangeInfo objects to the FormatConditionRangeBase.RangeSet collection.
Assign the resulting FormatConditionRangeSet object to the DashboardItemFormatRule.Condition property.
Example
Range conditions (FormatConditionRangeSet
) allow you to use predefined or custom sets of icons/colors to apply conditional formatting to different ranges of values.
This example shows how to apply conditional formatting to Grid cells using a predefined set of icons. Click the Update Format Rule button to change the number of ranges, specify new range boundaries and customize icons corresponding to existing ranges.
using DevExpress.DashboardCommon;
using DevExpress.DashboardWin;
using DevExpress.XtraEditors;
namespace Grid_FormatRules {
public partial class IconRangeConditionForm : XtraForm {
public IconRangeConditionForm() {
InitializeComponent();
dashboardViewer1.CustomizeDashboardTitle += DashboardViewer1_CustomizeDashboardTitle;
Dashboard dashboard = new Dashboard(); dashboard.LoadFromXml(@"..\..\Data\Dashboard.xml");
dashboardViewer1.Dashboard = dashboard;
GridDashboardItem grid = (GridDashboardItem)dashboard.Items["gridDashboardItem1"];
GridMeasureColumn extendedPrice = (GridMeasureColumn)grid.Columns[1];
GridItemFormatRule rangeRule = new GridItemFormatRule(extendedPrice);
FormatConditionRangeSet rangeCondition =
new FormatConditionRangeSet(FormatConditionRangeSetPredefinedType.PositiveNegative3);
rangeRule.Condition = rangeCondition;
grid.FormatRules.AddRange(rangeRule);
}
private void DashboardViewer1_CustomizeDashboardTitle(object sender, CustomizeDashboardTitleEventArgs e)
{
DashboardToolbarItem itemUpdate = new DashboardToolbarItem((args) => UpdateFormatting()) {
Caption = "Update Format Rule",
};
e.Items.Add(itemUpdate);
}
private void UpdateFormatting() {
GridDashboardItem grid =
(GridDashboardItem)dashboardViewer1.Dashboard.Items["gridDashboardItem1"];
GridItemFormatRule rangeRule = grid.FormatRules[0];
FormatConditionRangeSet rangeCondition = (FormatConditionRangeSet)rangeRule.Condition;
RangeInfo range3 = rangeCondition.RangeSet[2];
range3.Value = 50;
range3.StyleSettings =
new IconSettings(FormatConditionIconType.DirectionalYellowUpInclineArrow);
RangeInfo range4 = new RangeInfo();
range4.Value = 75;
range4.StyleSettings =
new IconSettings(FormatConditionIconType.IndicatorCircledGreenCheck);
rangeCondition.RangeSet.Add(range4);
rangeRule.Condition = rangeCondition;
}
}
}