DevExpress中文网站 > 最新资讯 > DevExpress表格怎么设置条件格式 DevExpress单元格颜色如何随数值变化
教程中心分类
DevExpress表格怎么设置条件格式 DevExpress单元格颜色如何随数值变化
发布时间:2026/11/06 15:24:19

  库存不足时显示浅红色,销售额越高颜色越深,这类效果可以让业务表格更容易阅读。DevExpress提供条件格式,用于根据数据值改变单元格外观,无需逐个单元格手动设置颜色。不过,不同平台的表格控件在入口和属性名称上存在差别。下面以WinForms中的GridControl及GridView为例,说明阈值变色、连续色阶和颜色不生效的检查方法,设计器中的类名与属性名保留原写法。

  一、DevExpress表格怎么设置条件格式

 

  条件格式需要明确三个对象:用于判断的数据列、判断规则和接受样式的单元格。先建立一条简单规则,再增加颜色区间,排查起来会省事一些。

 

  1、开启运行时条件格式菜单

 

  运行时菜单适合让用户自行添加和修改规则。该入口默认关闭,需要在开发阶段启用。

 

  ①在Visual Studio窗体设计器中选中【GridView】,在【属性】窗口展开【OptionsMenu】。

 

  ②将【ShowConditionalFormattingItem】设为【True】,保存窗体并启动程序。

 

  ③右键单击目标列的列标题,打开【条件格式】菜单,检查是否能够进入【管理规则】。

 

  运行时菜单采用应用程序的本地化语言,未加载中文资源时会显示英文。菜单没有出现时,应检查当前视图的设置,避免把属性改在另一个GridView上。

 

  2、在设计器中建立规则

 

  ①选中【GridView】,在【属性】窗口找到【FormatRules】,点击右侧省略号打开规则集合编辑器。

 

  ②添加一条【GridFormatRule】,将【Column】指定为需要参与判断的数值列。

 

  ③将【ApplyToRow】设为【False】,保持【ColumnApplyTo】为空,检查规则作用列。

 

  ④在【Rule】中选择所需规则类型,完成设置后确认并保存窗体。

 

  默认情况下,规则根据Column指定列的值判断,并应用到该列。ColumnApplyTo用于指定另一列,ApplyToRow则控制是否作用于整行。只想改变金额单元格颜色时,不必启用整行着色。

 

  3、设置超过阈值后的背景色

 

  以金额超过一千时显示浅红色为例,数值比较规则能够直接完成判断。

 

  ①在规则的【Rule】中选择【FormatConditionRuleValue】,将【Condition】设为【Greater】。

 

  ②在【Value1】中输入【1000】,展开【Appearance】,将【BackColor】设为浅红色。

 

  ③检查【Appearance】→【Options】中的【UseBackColor】为【True】,确认规则的【Enabled】为【True】。

 

  ④运行程序,用金额【999】、【1000】和【1001】分别验证颜色。

 

  二、DevExpress单元格颜色如何随数值变化

 

  按数值变色有两种常见做法。固定区间适合表达告警等级,连续色阶适合比较一列数据的高低,业务含义不同,设置方式也不同。

  1、用三条规则表示固定数值区间

 

  ①为示例库存列添加数值规则,将【Condition】设为【Less】,在【Value1】中输入【0】,背景设为浅红色。

 

  ②添加第二条规则,将【Condition】设为【Between】,填写【Value1】为【0】、【Value2】为【10】,背景设为浅黄色。

 

  ③添加第三条规则,将【Condition】设为【Greater】,在【Value1】中输入【10】,背景设为浅绿色。

 

  ④保存后用【-1】、【0】、【10】和【11】检查各区间的边界表现。

 

  Between默认包含两个端点,但项目能够通过相关设置改变这一行为。示例中零和十应落入黄色区间,若结果不同,应核对端点设置。阈值规则按固定标准判断,适合表达欠库存、库存偏低和库存充足等状态。

 

  2、用三色色阶表达连续变化

 

  色阶会在几个基准颜色之间渐变。同样是黄色,可能代表中间水平,并不自动表示业务告警,表头说明或图例应写清含义。

 

  ①为评分列添加规则,将【Rule】设为【FormatConditionRule3ColorScale】,指定【Column】为评分列。

 

  ②将【MinimumType】、【MiddleType】和【MaximumType】均设为【Number】。

 

  ③将【Minimum】设为【0】、【Middle】设为【50】、【Maximum】设为【100】。

 

  ④分别设置【MinimumColor】为浅红色、【MiddleColor】为浅黄色、【MaximumColor】为浅绿色,运行后检查不同评分的渐变。

 

  采用自动基准时,颜色依据数据分布计算。固定零至一百分的评分表,可以明确设置数值基准,便于不同批次保持相同解释。三色色阶会产生连续过渡,不能用它代替“低于六十分全部红色”这样的分段判断。

 

  三、DevExpress条件格式颜色不生效怎么排查

 

  颜色没有出现,可能是数据未满足条件,也可能是规则指向错误或外观被其他逻辑影响。检查时保留一条规则,更容易缩小范围。

 

  1、核对字段、数据类型与提交状态

 

  ①在目标列的【属性】窗口检查【FieldName】,核对它与数据源字段一致。

 

  ②查看绑定字段的数据类型,将用于金额、数量比较的字段确认为【Int32】、【Decimal】等适用数值类型。

 

  ③打开【FormatRules】,核对【Column】、【ColumnApplyTo】及【Enabled】,检查规则是否指向目标视图和列。

 

  ④编辑测试值后提交编辑、离开单元格,再检查颜色;外部修改数据时,核对数据绑定通知或刷新逻辑。

 

  单元格显示“1,200元”,实际字段可能是数值加显示格式,也可能是一整段文本,两者不能直接等同。条件判断应围绕底层数值设置。空值也不宜随意替换成零,否则“尚未填写”可能被误判为真实的零金额。

 

  2、检查规则重叠和其他外观设置

 

  ①在【FormatRules】中暂时禁用其他规则,只保留一条容易满足的数值条件。

 

  ②查看规则顺序与【StopIfTrue】,核对命中当前规则后是否停止处理后续规则。

 

  ③检查代码中的【RowCellStyle】、【RowStyle】及【CustomDrawCell】处理逻辑,排查额外设置背景色的操作。

 

  ④将焦点移到其他行,比较普通、选中及焦点状态下的颜色,再恢复其余规则逐条验证。

 

  同一单元格命中多条规则时,需要明确处理顺序。选中行和焦点单元格也有自己的外观表现,不能仅凭当前选中状态判断规则失效。业务上若要突出告警,颜色之外还可以保留明确的状态文字,避免只靠颜色传递信息。

  总结

 

  DevExpress条件格式把数据判断与表格外观联系起来,能够用于阈值提醒、区间分类和数值分布展示。设置时明确判断列、着色范围与边界含义,比单纯增加颜色更有用。连续色阶和固定告警各有用途,规则数量增加后,也应保留清楚的优先关系。希望这些示例能帮助大家把业务条件准确落到单元格上,让表格在保持整洁的同时更便于阅读。

176 5129 0128