- PR -

VB2005 DataGridView 明細編集方法について

投稿者投稿内容
うた
常連さん
会議室デビュー日: 2006/04/08
投稿数: 23
投稿日時: 2006-06-01 17:39
 R・田中一郎さん、返信ありがとうございます。

 ご指摘頂いた方法を調査して試してみます。

 ありがとうございました
こばさん
大ベテラン
会議室デビュー日: 2004/03/17
投稿数: 147
投稿日時: 2006-06-01 18:39
 透過でDB更新かからないと思いましたが、あれ、違ったっけ??

 手元のソースでは、FormClosing イベントで
TableAdapter.Update(BindingSource.DataSource)
をやってますよ

 これを書かなかったら、フォームの右上×で全ての編集操作がRollbackされましたが。

 少々規模の大きなシステムであれば、ぜひともストアドをコールするようにしてあげてください。
 TableAdapter に定義するだけで、とても簡単に利用できますよ。
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-06-02 09:16
引用:

こばさんさんの書き込み (2006-06-01 18:39) より:
 透過でDB更新かからないと思いましたが、あれ、違ったっけ??


透過では更新されないですね。説明不足でした。
実際には、データセットとデータベース間のデータの読み書きは、TableAdapter を介して行われます。
初期状態から、DataGridView からデータソースを設定すると、この辺りは自動的にコードが生成されます。

引用:

こばさんさんの書き込み (2006-06-01 18:39) より:
 手元のソースでは、FormClosing イベントで
TableAdapter.Update(BindingSource.DataSource)


僕は、セルの編集が終了した時点で Update() させてます。
ただエクセルっぽい動作なら、ウィザードが生成した初期状態で保存ボタンが付いてくると思います。

あ、それと複数のテーブルを結合した場合は、結合のやり方によっては、Update() できない場合もあるようになので、この辺りも注意した方が良いです。
うた
常連さん
会議室デビュー日: 2006/04/08
投稿数: 23
投稿日時: 2006-06-02 17:00
 こばさん、R・田中一郎さん、返信ありがとうございます。

 最悪の場合、DeleteしてInsertしかないかな?と考えていたので、非常に助かりました。まだ知識が浅い為、勉強しながら調査を進めて行きたいと思います。

 本当に助かりました。

ありがとうございました

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