プロが教える店舗&オフィスのセキュリティ対策術

VB2005でWindowsアプリを開発しています。

同じDataTableの内容を二つのDataGridViewに表示し、
変更前、変更後というように変更箇所がわかるようにしたいです。
そして、更新ボタンが押下されたら、DataGridViewの変更箇所をDataTableに反映させて、データ(XMLファイル)を更新する、ということをしたいのです。

デフォルトの状態では、DataGridViewを変更したら、DataTableが更新されるため、両方のDataGridViewが同じ表示になってしまいます。
ですので、DataGridViewを変更されても、DataTableには反映させないようにしたいのですが、可能でしょうか?

よろしくお願いいたします。

A 回答 (1件)

DataTableのCopyメソッドを利用してはいかがでしょうか?


または、DataGridViewへの値は自前(?)で設定するという手もあります。(DataGridView1.Columns.Add,DataGridView1.Rows.Add)

あと、Copyしてなければ、DataTableの変更箇所は、GetChangesメソッド、または、DataRowのRowStateプロパティでわかると思います。
なので、片方のDataGridViewだけDataSourceはCopyで済ませたほうが、楽なのかもしれません。

※GetChangesメソッドまたは、RowStateを利用する場合は、DataTableのAcceptChangesメソッドあたりをHelpで読んでみてください。
    • good
    • 0
この回答へのお礼

やはり、即反映されてしまうものなのですね。
片方はcopyを使う方法でやっていくことにします。
ありがとうございました!

お礼日時:2006/11/07 19:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!