0

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

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

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

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

例如 :

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

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

4

1 回答 1

0

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

并将您的方法更改为:

void YourMethod(GridCell[] groupOfCells)
{
    foreach (GridCell gridCell in groupOfCells)
    {
        bool validated = <Your validation condition goes here>;
        gridView1.SetRowCellValue(gridCell.RowHandle, "Validated", validated);
    }
}
于 2013-11-07T06:37:42.673 回答