在LightSwitch中,在主/细节屏幕的详细信息部分, 有一个显示的网格,让我们说"产品"。
我已经做到了这一点,每行的最后一列都包含一个按钮。
lightswitch生成的代码如下所示:
partial void DoSomething_Execute()
{
}
partial void DoSomething_CanExecute(ref bool result)
{
}
在这些方法中,有没有办法找出按下哪个按钮(即哪一行按钮)
请注意,答案不是.SelectedItem(),因为您可以按网格中任何行的按钮而不必先选择该行。
更新:
虽然我现在采用了不同的方法向用户显示数据, 我仍然想知道答案,所以更多信息:
(对不起语言,客户不会说英语)
如果单击其中一个按钮,该行中的项目将成为SelectedItem 就像迈克尔说的那样。这解决了_Executed处理程序的(非)问题,但它仍然存在 不允许我们在_CanExecute()处理程序中放置逻辑,该处理程序需要知道按钮绑定的项目。
partial void DoSomething_CanExecute(ref bool result)
{
result = !SelectedItem.IsClosed;
}
每当选择一行时(显然),这只会将所有按钮更新为相同的状态。
我想知道是否有解决方案?
答案 0 :(得分:0)
当您单击默认LightSwitch数据网格中的一行中的按钮时,该行将成为“selectedItem”。看到: List Box That Can Be Ordered By The End-User