0

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

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

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

1 回答 1

2

由于 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
}
于 2016-03-09T01:18:33.860 回答