2016-03-05 19 views
0

我有一个在其中一列具有RepositoryLookupEdit的gridcontrol。我可以在更改后获取RepositoryLookupEdit的值,但是我不知道如何获取哪一行的RepositoryLookupEdit值发生更改。我如何获得行ID?如何在RepositoryLookupEdit_ValueChanged事件中获取行标识

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

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

回答

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 
}