如何在RepositoryLookupEdit_ValueChanged事件中获取Row Id

时间:2016-03-05 11:55:52

标签: c# winforms grid devexpress repositorylookupedit

我的gridcontrol在其中一列中有一个RepositoryLookupEdit。我可以在更改后获取RepositoryLookupEdit的值,但我不知道如何更改哪一行的RepositoryLookupEdit值。我怎样才能获得行ID?

使用下面的代码,我可以获得RepositoryLookupEdit值。

private void repositoryItemLookUpEdit1_EditValueChanged(object sender, EventArgs e)
{
    LookUpEdit edit = sender as LookUpEdit;
    var row = edit.Properties.GetDataSourceRowByKeyValue(edit.EditValue);
}

1 个答案:

答案 0 :(得分:1)

由于repositoryItemLookUpEdit不限于GridControls,因此您无法从此事件获取行句柄。然而,你有其他可能性。

首先,如果用户完成编辑,您可以使用ColumnView.GetFocusedRow()方法获取当前网格行。

如果编辑值通过代码更改,它也会在网格中更改,因此您现在可以使用ColumnView.CellValueChanged事件。

private void repositoryItemLookUpEdit1_EditValueChanged(object sender, EventArgs e)
{
    LookUpEdit edit = sender as LookUpEdit;
    var row = edit.Properties.GetDataSourceRowByKeyValue(edit.EditValue);
    gridRow = gridView.GetFocusedRow() as MyDataRow
}