2012-01-10 11 views
1

LightSwitchでは、マスター/詳細画面の詳細セクションに グリッドが表示されます。 "グリッド内のすべての行にボタンがあります。クリックされたボタンの行を見つけるにはどうすればいいですか?

各行の最後の列にボタンが含まれるようにしました。

の背後にあるこのようLightSwitchの表情によって生成されたコード:これらのメソッド内

partial void DoSomething_Execute() 
{ 

} 

partial void DoSomething_CanExecute(ref bool result) 
{ 

} 

、ボタンが押された正確に知るための方法があり

(つまり、ボタンがどの行で)してくださいグリッド内の任意の行のボタンを押すことができるので、答えは.SelectedItem()ではないことに注意してください。

更新:

私は今、私はまだ答えを知っていただきたいと思い ので、もう少し情報をユーザにデータを表示するために異なるアプローチを取っているが:

enter image description here

(その言語では、顧客は英語を話せません)

ボタンの1つをクリックすると、その行の項目はSelectedItem になりますマイケルが言ったように。これにより、_Executedハンドラの問題は解決されますが、まだ では、ボタンがバインドされているアイテムを知る必要がある_CanExecute()ハンドラにロジックを入れることができません。

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

これは、行が選択されると(明らかに)、すべてのボタンを同じ状態に更新するだけです。

解決策があるのでしょうか?

+0

サイドノート:ボタンのアイデアは1回しか使用できないため、ユーザーが問題を閉じる(ボタンを押す)と、有効なグリッドから単に削除されます溶液。後でボタンを画像ボタンに置​​き換えたいと思います。 – TimothyP

答えて

0

デフォルトのLightSwitchデータグリッドの行にあるボタンをクリックすると、その行が "selectedItem"になります。 List Box That Can Be Ordered By The End-User

+0

Can_Executeハンドラでresult =!SelectedItem.IsClosedを指定すると、 (実際のコードではなく).IsClosedプロパティがtrueの行を選択すると、すべてのボタンが無効になります。だから問題は残ります... – TimothyP

+0

もっと説明できますか?私はあなたが「すべてのボタンが無効になっている」ということを理解していません –

+0

ちょっと、質問を更新しました。 – TimothyP

関連する問題