0

ユーザーが行を削除/追加/編集できるようにする ItemsSource として ICollectionView を持つデータグリッドを想定します。問題は、行内のセルの値が特定の値である場合に、ユーザーが行を削除できないようにする方法です。言い換えると:

id   Name    IsSpecial
-----------------------
1    Foo      true
2    Bar      false

ユーザーが Foo の名前を変更できるが、それを削除できないようにしたいと思います。また、ユーザーがその行で IsSpecial を false に変更できないようにしたいと考えています。ただし、IsSpecial が false である他の行の値をユーザーが自由に変更できるようにする

4

1 に答える 1

0

コード ビハインドに問題がない場合、編集を防止するには、CellEditEndingイベントを使用します。設定した場合e.Cancel=true、編集はコミットされません。

もちろん、ユーザーが行を削除するのも止めたいでしょう。したがって、私の提案は、ICollectionView のCurrentChangingイベントを処理し、必要な変更をキャンセルすることです。

于 2012-12-27T04:33:03.477 に答える