如何在 RepositoryLookupEdit_ValueChanged 事件中获取行 ID
How to get Row Id in RepositoryLookupEdit_ValueChanged event
我的网格控件在其中一列中有 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);
}
由于 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
}
我的网格控件在其中一列中有 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);
}
由于 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
}