C# 验证网格中的单元格

C# 验证网格中的单元格,c#,winforms,validation,devexpress,cell,C#,Winforms,Validation,Devexpress,Cell,我在一个项目中工作,当用户单击一个按钮时,我需要验证指定列中的一组单元格。我的验证只能在该方法内部调用,而不是在单元格值更改时调用,或者其他情况下,我重复一遍,我只需要在该方法内部而不是外部验证单元格 事件CustomDrawCell、CellStyleChange、ValidateRows等。它们自动调用自己,这不是我解决这个问题的目的。我需要在需要的时候打电话,而不是在其他时候 我尝试使用StyleFormatCondition,但遇到了问题,因为它只适用于列本身,而不适用于指定的单元格 我

我在一个项目中工作,当用户单击一个按钮时,我需要验证指定列中的一组单元格。我的验证只能在该方法内部调用,而不是在单元格值更改时调用,或者其他情况下,我重复一遍,我只需要在该方法内部而不是外部验证单元格

事件CustomDrawCell、CellStyleChange、ValidateRows等。它们自动调用自己,这不是我解决这个问题的目的。我需要在需要的时候打电话,而不是在其他时候

我尝试使用StyleFormatCondition,但遇到了问题,因为它只适用于列本身,而不适用于指定的单元格

我的验证非常简单,我需要恢复单元格值,执行与其他值的比较,然后在比较返回true时绘制单元格的背景色

例如:

if(Math.Abs(cellValue-value1-value2)>EPSILON)
{
//绘制单元格的背景色
}
其他的
{
//保持平等
}

如果有人有一些想法会很有帮助

例如,您可以在
GridView.DataSource
中添加一个类型为
Boolean
的额外列,并为其命名为«Validated»。
然后使用类似于
[Validated]

的表达式添加到列
StyleFormatCondition

并将您的方法更改为:

void YourMethod(GridCell[] groupOfCells)
{
    foreach (GridCell gridCell in groupOfCells)
    {
        bool validated = <Your validation condition goes here>;
        gridView1.SetRowCellValue(gridCell.RowHandle, "Validated", validated);
    }
}
void YourMethod(GridCell[]groupOfCells)
{
foreach(GridCell GridCell在单元格组中)
{
布尔验证=;
gridView1.SetRowCellValue(gridCell.RowHandle,“已验证”,已验证);
}
}