How to: Apply Conditional Formatting to Grid Cells using the Icon Ranges Format Condition
- 2 minutes to read
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. Use the Update Formatting button to change the number of ranges, specify new range boundaries and customize icons corresponding to existing ranges.
Note
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-apply-conditional-formatting-to-grid-cells-using-the-icon-ranges-format-condition-t259991.
using DevExpress.DashboardCommon;
namespace Grid_IconRangeCondition {
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"];
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 button1_Click(object sender, System.EventArgs e) {
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;
}
}
}
See Also