我正在尝试根据我的RadContextMenu中当前选定的行更改RadGridView上的项目(编辑:OrderList)。如果当前行中的数据绑定项目具有正确的属性值,则希望启用该项目。

问题是,当我直接右键单击一行以打开RadContextmenu时,CurrentRow尚未更新,因此在旧行中调用DropDownOpened
如果我单击鼠标左键或双击鼠标右键,则效果很好。

下面是一些代码:

OrderMenu.DropDownOpened += OrderMenu_DropDownOpened;


和方法

private void OrderMenu_DropDownOpened(object sender, EventArgs e)
{
    GoToParentOrderBtn.Enabled = GetSelectedOrder()?.ParentOrderId != null;
}

private OrderViewModel GetSelectedOrder()
{
    return (OrderViewModel)OrderList.CurrentRow.DataBoundItem;
}

最佳答案

使用dataGridView.EndEdit();此函数在正在编辑的当前单元格上提交并结束编辑操作。

更多信息here

关于c# - 在RadGridView.CurrentRow更改之前调用RadContextMenu.DropDownOpened,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32651355/

10-10 10:37