C# DevExpress-在样式格式条件下格式化表达式的字符串

C# DevExpress-在样式格式条件下格式化表达式的字符串,c#,gridview,devexpress,C#,Gridview,Devexpress,我试图在表达式中为样式格式条件设置字符串格式,以便在条件为真时使用某种颜色绘制单元格的背景色。我的条件只有当两个值的减法等于另一个值时才进行比较,我这样执行比较,因为值是两倍的,并且有必要避免精度误差,其中ε为0.001: if(Math.Abs(rvalue-tara-value)>EPSILON) { //做点什么 } 我正在尝试此代码,但不起作用,请如果有人可以这样做,请帮助我。谢谢 var condExpression=newstyleformatcondition(FormatCon

我试图在表达式中为样式格式条件设置字符串格式,以便在条件为真时使用某种颜色绘制单元格的背景色。我的条件只有当两个值的减法等于另一个值时才进行比较,我这样执行比较,因为值是两倍的,并且有必要避免精度误差,其中ε为0.001:

if(Math.Abs(rvalue-tara-value)>EPSILON)
{
//做点什么
}
我正在尝试此代码,但不起作用,请如果有人可以这样做,请帮助我。谢谢

var condExpression=newstyleformatcondition(FormatConditionEnum.Expression);
condExpression.Column=gv_materialaprima.Columns[3];
condExpression.Appearance.BackColor=Color.oranged;
condExpression.Expression=String.Format(“Abs([FieldName]-{0}-{1})>{2}”,
值1、值2、ε);

是否已将格式条件添加到集合中?
以下是对我正确工作的代码片段(请检查与代码的差异):

//只需示例数据
gridControl1.DataSource=新列表{
新的DataObj(){RValue=0.2},
新的DataObj(){RValue=0.21},//!!!橙色
新的DataObj(){RValue=0.201},//!!!橙色
新的DataObj(){RValue=0.2001},
新的DataObj(){RValue=0.20001},
};
gridView1.PopulateColumns();
//...
var condExpression=newstyleformatcondition(FormatConditionEnum.Expression);
condExpression.Column=gridView1.Columns[“右值”];
condExpression.Appearance.BackColor=Color.oranged;
condExpression.Appearance.Options.UseBackColor=true;
condExpression.Expression=String.Format(“Abs([RValue]-{0}-{1})>{2}”,0.1,0.1,EPSILON);
gridView1.FormatConditions.Add(condExpression);
//...
类DataObj{
公共双右值{get;set;}
}

是,我已将格式条件添加到GridView.FormatConditions集合中。问题是列的数据类型为字符串,而表达式不起作用
// just sample data
gridControl1.DataSource = new List<DataObj> { 
    new DataObj() { RValue = 0.2 }, 
    new DataObj() { RValue = 0.21 },  // !!! Orange
    new DataObj() { RValue = 0.201 }, // !!! Orange
    new DataObj() { RValue = 0.2001 },
    new DataObj() { RValue = 0.20001 },  
};
gridView1.PopulateColumns();

//...
var condExpression = new StyleFormatCondition(FormatConditionEnum.Expression);
condExpression.Column = gridView1.Columns["RValue"];
condExpression.Appearance.BackColor = Color.OrangeRed;
condExpression.Appearance.Options.UseBackColor = true;
condExpression.Expression = String.Format("Abs([RValue] - {0} - {1}) > {2}", 0.1, 0.1, EPSILON);
gridView1.FormatConditions.Add(condExpression);

//...
class DataObj {
    public double RValue { get; set; }
}