验证网格中的单元格

时间:2013-11-04 19:27:03

标签: c# winforms validation devexpress cell

我正在一个项目中工作,当用户单击一个按钮时,我需要在一个指定列中验证一组单元格。我的验证只能在这个方法中调用,而不是在单元格值改变时,或者别的东西,我再说一遍,我需要只在这个方法内验证单元格,而不是在外面。

事件CustomDrawCell,CellStyleChange,ValidateRows等。他们自动调用自己,这不是我在这个问题上的目的。我需要在需要时调用它,而不是在其他时刻调用。

我尝试使用StyleFormatCondition但是给了我一个问题,因为它对于自己的列不适用于指定的单元格。

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

例如:

if (Math.Abs(cellValue- value1 - value2) > EPSILON)
{
  // paint the background color of the cell
}
else
{
  // remains equal
}

如果有人有想法会有所帮助。

1 个答案:

答案 0 :(得分:0)

例如,您可以向Boolean添加一个类型为GridView.DataSource的额外列,并为其命名 - «已验证»。
然后使用StyleFormatCondition之类的表达式添加到您的专栏[Validated]

将您的方法更改为:

void YourMethod(GridCell[] groupOfCells)
{
    foreach (GridCell gridCell in groupOfCells)
    {
        bool validated = <Your validation condition goes here>;
        gridView1.SetRowCellValue(gridCell.RowHandle, "Validated", validated);
    }
}