将图标集格式应用于列

发布于:2024-11-03 ⋅ 阅读:(57) ⋅ 点赞:(0)

Goto Appearance and Conditional Formatting 外观和条件格式

将图标集格式应用于列

此示例说明了如何在设计时使用 Grid Designer 和在代码中将图标集格式应用于 GridControl 中的 Satisfaction 列。

在这里插入图片描述
图标集格式允许您将列单元格值分类为多个范围,为每个范围分配一个图标,并根据单元格值在单元格中显示特定图标。在此示例中,预定义的图标集用于分别显示小值(从 0% 到 33%)、中间值(从 33% 到 67%)和大值(大于 67%)的空、半填充和填充星形图标。

要在设计时创建新的格式规则,请从网格设计器中调用格式规则集合编辑器。还可以通过单击 ColumnView.FormatRules 属性的省略号按钮,从 Properties 网格中访问它。

调用 Grid Designer 并切换到 Style Format Rules 页面(在 Appearance 类别中)。

在这里插入图片描述

单击 Add 按钮 GridDesignerAddButton 以创建新的格式规则(GridControl 中的格式规则由 GridFormatRule 对象封装)。

选择 Format using icons 规则类型。格式规则的 FormatRuleBase.Rule 属性将设置为新的 FormatConditionRuleIconSet 对象。

在这里插入图片描述

将 GridFormatRule.Column 属性设置为 Satisfaction 列。此列提供要根据格式设置规则进行测试的值。

在这里插入图片描述
默认情况下,此属性还指定要应用格式设置的列。如果需要,您可以通过设置 GridFormatRule.ColumnApplyTo 属性将格式应用于其他列。

使用 FormatConditionRuleIconSet.IconSet 属性选择一个预定义的图标集。您可以在 Properties 选项卡或 Rule 选项卡。的 Rule 选项卡允许您查看所选图标集的预览。在此示例中,选择了 Ratings: Stars3 图标集。

在这里插入图片描述
选择此预定义图标集(或任何其他预定义图标集)时,FormatConditionIconSetIcon 对象将添加到 IconSet.Icons 集合中。它们通过 PredefinedName 属性引用某些预定义的图标。您可以使用 PredefinedName 属性将特定图标更改为另一个预定义图标,或使用 Icon 属性更改为自定义图标。

在这里插入图片描述
此外,阈值、比较运算符和值类型会根据所选图标集自动设置。您可以使用 FormatConditionIconSetIcon.Value、FormatConditionIconSetIcon.ValueComparison 和 FormatConditionIconSet.ValueType 属性将这些选项更改为自定义值。

运行应用程序。下图说明了结果。

在这里插入图片描述

以下代码等效于上面显示的设计时操作。

/*
 * 将图标集格式应用于列
 */
GridFormatRule gridFormatRule1 = new GridFormatRule();
FormatConditionRuleIconSet formatConditionRuleIconSet = new FormatConditionRuleIconSet();
FormatConditionIconSet iconSet = formatConditionRuleIconSet.IconSet = new FormatConditionIconSet();
FormatConditionIconSetIcon icon1 = new FormatConditionIconSetIcon();
FormatConditionIconSetIcon icon2 = new FormatConditionIconSetIcon();
FormatConditionIconSetIcon icon3 = new FormatConditionIconSetIcon();

//Choose predefined icons.
icon1.PredefinedName = "Stars3_1.png";
icon2.PredefinedName = "Stars3_2.png";
icon3.PredefinedName = "Stars3_3.png";

//Specify the type of threshold values.
iconSet.ValueType = FormatConditionValueType.Percent;

//Define ranges to which icons are applied by setting threshold values.
icon1.Value = 67; // target range: 67% <= value
icon1.ValueComparison = FormatConditionComparisonType.GreaterOrEqual;
icon2.Value = 33; // target range: 33% <= value < 67%
icon2.ValueComparison = FormatConditionComparisonType.GreaterOrEqual;
icon3.Value = 0; // target range: 0% <= value < 33%
icon3.ValueComparison = FormatConditionComparisonType.GreaterOrEqual;

//Add icons to the icon set.
iconSet.Icons.Add(icon1);
iconSet.Icons.Add(icon2);
iconSet.Icons.Add(icon3);

//Specify the rule type.
gridFormatRule1.Rule = formatConditionRuleIconSet;
//Specify the column to which formatting is applied.
gridFormatRule1.Column = gridView1.Columns["charge_total"];
//Add the formatting rule to the GridView.
gridView1.FormatRules.Add(gridFormatRule1);