none
DataRowのRowStateが更新されない RRS feed

  • 質問

  • お世話になります。

    WPFアプリケーションでDataGridにDataTableをバインディングして作成しています。

    DataRowのRowStateで行の変更を判定しているんですが、

    セルの値を変更しただけではRowStateが変わらず、行を変更して初めてRowStateが変わります。

    セルの値を変更しただけでRowStateを変える方法はありますでしょうか?

    更新ボタンを用意しているんでセルの値を変更して、行を変更せずに更新ボタンをクリックしても変更されたものとして判定したいんですが。

    2010年11月16日 1:36

回答

  • セル値を変更したとき、ではないですが、ボタン押下時に次を実行することで対処できないでしょうか?

    dataGrid1.CommitEdit(DataGridEditingUnit.Row, true);

    ただ、私のところではこれを書かなくても、Button のクリック時に、たぶん DataGrid からフォーカスがなくなった時点で、RowState は変わりました。
    Windows フォームだと this.Validate()(this はフォーム)を行う場面だと思いますが、WPF にはなさそうですね。

    • 回答としてマーク yty0918 2010年11月16日 6:34
    2010年11月16日 4:39

すべての返信

  • セル値を変更したとき、ではないですが、ボタン押下時に次を実行することで対処できないでしょうか?

    dataGrid1.CommitEdit(DataGridEditingUnit.Row, true);

    ただ、私のところではこれを書かなくても、Button のクリック時に、たぶん DataGrid からフォーカスがなくなった時点で、RowState は変わりました。
    Windows フォームだと this.Validate()(this はフォーム)を行う場面だと思いますが、WPF にはなさそうですね。

    • 回答としてマーク yty0918 2010年11月16日 6:34
    2010年11月16日 4:39
  • TH01さん、回答ありがとうございます。

    TH01さんの方法で対処することにしました。

    更新ボタンクリック時にRowStateを判定できればいいのでこれで問題ないと思います。

    ありがとうございました。

    2010年11月16日 6:34