如何启用 DevExpress 网格条件格式?

How to enable DevExpress Grid Conditional Formatting?

我有一个 .net、C# Windows Form 项目。我正在使用 DevExpress 19.1。在我的 GridControl 上,当列小于 0 时,我有条件格式。我希望单元格在值小于 0 时突出显示为红色,但它不起作用。我试过使用表达式、条件和值,仅应用于一列,应用于整个角色,但我从来没有让突出显示起作用。有人可以告诉我我做错了什么吗?

规则在代码中的样子如下:

        gridFormatRule3.ApplyToRow = true;
        gridFormatRule3.Column = this.colQuantityLeft;
        gridFormatRule3.ColumnApplyTo = this.colQuantityLeft;
        gridFormatRule3.Name = "Format0";
        formatConditionRuleValue3.Appearance.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))));
        formatConditionRuleValue3.Appearance.Options.UseBackColor = true;
        formatConditionRuleValue3.Condition = DevExpress.XtraEditors.FormatCondition.Less;
        formatConditionRuleValue3.Expression = "[QuantityLeft] < 0";
        formatConditionRuleValue3.Value1 = 0;
        gridFormatRule3.Rule = formatConditionRuleValue3;
        this.gvProducts.FormatRules.Add(gridFormatRule3);

以下是我在设计器中设置规则的方式:

这是您可以看到值小于 0 且背景颜色未更改的输出:

我看到你在网格中只有一行。网格总是有一个焦点行。聚焦行外观比条件外观具有更高的优先级。禁用 GridView.OptionsSelection.EnableAppearanceFocusedCell and GridView.OptionsSelection.EnableAppearanceFocusedRow 属性以删除焦点行外观。

this.gvProducts.OptionsSelection.EnableAppearanceFocusedCell = false;
this.gvProducts.OptionsSelection.EnableAppearanceFocusedRow = false;

或者,将 FormatConditionRuleValue.Appearance.Options.HighPriority 属性 设置为 true

formatConditionRuleValue3.Appearance.Options.HighPriority = true;

AppearanceOptionsEx.HighPriority Property 设为真。