- PR -

DataGridで値が変更されているかを判断したい

1
投稿者投稿内容
papan
会議室デビュー日: 2004/05/13
投稿数: 2
投稿日時: 2004-10-12 11:29
始めまして。いつも大変参考にさせていただいています。

VB.NETを使用して開発しています。
DataGridにDBのデータを表示し、値が変更されていて行を移動したら
DBに反映させたいのですが、判断する方法がわからないでいます。

データ表示は、以下のものを使用して表示しています。
・OleDbConnection
・OleDataAdapter
・DataSet

DBへの反映は、DataGridのCurrentCellChangedイベントで
行が移動されているか判定し、移動されていれば、DataAdapterの
Updateメソッドを呼び出しています。

しかし上記方法だと、値が変更されず、行を移動しただけでUpdateを行ってしまい
よろしくないなと考えています。
また、行の追加や削除の場合は、Updateメソッドを呼び出さなければならず、
うまい方法を探しています。

よろしくお願いします。

[ メッセージ編集済み 編集者: papan 編集日時 2004-10-12 11:33 ]
えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2004-10-13 15:34
DataSetを使っているのでしたら、DataRow.RowStateプロパティを確認してください。
希望する属性がそこにあると思います。
_________________
えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12
えムナウのプログラミングのページ Blog1 Blog2
papan
会議室デビュー日: 2004/05/13
投稿数: 2
投稿日時: 2004-10-13 16:08
DataRow.RowStateで判断することができました。
CurrentCellChangedイベントの中で

If Not DataSet.Tables(0).Rows(前回行).RowState = DataRowState.Unchanged Then

で判断しました。

えムナウ殿
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)