FormatConditionRangeSet Class
A format condition used to apply formatting using value ranges and corresponding style settings.
Namespace: DevExpress.DashboardCommon
Assembly: DevExpress.Dashboard.v19.2.Core.dll
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 Formatting button to change the number of ranges, specify new range boundaries and customize icons corresponding to existing ranges.
Note
The complete sample project How to Apply the Icon Ranges Conditional Formatting to Grid Cells is available in the DevExpress Examples repository.
using DevExpress.DashboardCommon;
using DevExpress.DashboardWin;
namespace Grid_IconRangeCondition {
public partial class Form1 : DevExpress.XtraEditors.XtraForm {
public Form1() {
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 Formatting",
};
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;
}
}
}