我有一个 DevExpress.XtraGrid。我希望用户编辑其中一列,并在编辑完成后,让网格更新另一列的值。我尝试使用事件 CustomRowCellEdit,但每当我添加该事件时它都会引发错误;无论如何,我不确定如何更改另一个单元格的值。有人可以解释如何做到这一点吗?
所以我有一个像这样的网格:
----------------
| A | B | C |
----------------
| 1 | 50 | 100 |
----------------
| 2 | 20 | 40 |
----------------
| 3 | 10 | 20 |
----------------
假设用户将第 1 行,B 列编辑为 25。在他们进行更改后,我希望第 1 行,C 列是 B 的两倍。所以最终结果低于 B1 是用户输入的值,C1 是根据 B1 中的值计算的。
----------------
| A | B | C |
----------------
| 1 | 25 | 50 |
----------------
| 2 | 20 | 40 |
----------------
| 3 | 10 | 20 |
----------------
我试过这个:
private void myView_CustomRowCellEdit_1(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
{
string newValue = e.CellValue.ToString();
int index = myView.GetDataSourceRowIndex(e.RowHandle);
myView.SetRowCellValue(index, "B", newValue);
}
但我认为“B”没有正确引用该列,并且出现运行时错误并出现空引用异常。