网格中的每一行都有一个按钮,如何找到单击按钮的行

时间:2012-01-10 17:15:32

标签: visual-studio-lightswitch

在LightSwitch中,在主/细节屏幕的详细信息部分, 有一个显示的网格,让我们说"产品"。

我已经做到了这一点,每行的最后一列都包含一个按钮。

lightswitch生成的代码如下所示:

partial void DoSomething_Execute()
{

}

partial void DoSomething_CanExecute(ref bool result)
{

}

在这些方法中,有没有办法找出按下哪个按钮(即哪一行按钮)

请注意,答案不是.SelectedItem(),因为您可以按网格中任何行的按钮而不必先选择该行。

更新:

虽然我现在采用了不同的方法向用户显示数据, 我仍然想知道答案,所以更多信息:

enter image description here

(对不起语言,客户不会说英语)

如果单击其中一个按钮,该行中的项目将成为SelectedItem 就像迈克尔说的那样。这解决了_Executed处理程序的(非)问题,但它仍然存在 不允许我们在_CanExecute()处理程序中放置逻辑,该处理程序需要知道按钮绑定的项目。

partial void DoSomething_CanExecute(ref bool result)
{
    result = !SelectedItem.IsClosed;
}

每当选择一行时(显然),这只会将所有按钮更新为相同的状态。

我想知道是否有解决方案?

1 个答案:

答案 0 :(得分:0)

当您单击默认LightSwitch数据网格中的一行中的按钮时,该行将成为“selectedItem”。看到: List Box That Can Be Ordered By The End-User