我在 XtraGrid 中有 2 列正在使用。当 Column1 的值发生变化时,我想执行一些逻辑并可能更改 Column2 的值并禁用 Column2。您可以在下面看到我的代码,但我有 3 个问题:
- 我的 CustomRowCellEdit 函数似乎在后台不停地运行。
- Column2 上的 SetRowValue 似乎并没有真正发生,除非我点击远离该行;我需要在更改 Column1 后立即进行更改。
- 如何在我的 IF 块内禁用?
我已将以下事件添加到网格中:
this._myGridView.CustomRowCellEdit +=
new DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventHandler(
this.myGridView_CustomRowCellEdit);
这是事件:
private void myGridView_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
{
if (e.Column.FieldName == "Column1" && e.RowHandle >= 0)
{
GridView gv = sender as GridView;
string value1 = gv.GetRowCellValue(e.RowHandle, gv.Columns["Column1"]).ToString();
if (value1 == "something")
{
gv.SetRowCellValue(e.RowHandle, gv.Columns["Column2"], someOtherValue);
// I'd like to disable Column2 in this IF logic.
}
}
}