我正在一个项目中工作,当用户单击一个按钮时,我需要在一个指定列中验证一组单元格。我的验证只能在这个方法中调用,而不是在单元格值改变时,或者别的东西,我再说一遍,我需要只在这个方法内验证单元格,而不是在外面。
事件CustomDrawCell,CellStyleChange,ValidateRows等。他们自动调用自己,这不是我在这个问题上的目的。我需要在需要时调用它,而不是在其他时刻调用。
我尝试使用StyleFormatCondition但是给了我一个问题,因为它对于自己的列不适用于指定的单元格。
我的验证非常简单,我需要恢复单元格值,执行与其他值的比较,然后在比较返回true时绘制单元格的背景颜色。
例如:
if (Math.Abs(cellValue- value1 - value2) > EPSILON)
{
// paint the background color of the cell
}
else
{
// remains equal
}
如果有人有想法会有所帮助。
答案 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);
}
}