2016-03-05 37 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 
}