C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: BindingSourceのコピーと復元の方法


(過去ログ 61 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■35041 / inTopicNo.1)  BindingSourceのコピーと復元の方法
  
□投稿者/ 元新入社員 (1回)-(2009/04/17(Fri) 16:29:10)

分類:[.NET 全般] 

DataGridViewとBindingSourceを使って親子関係にある2つのテーブルを
操作するプログラムをつくっています。そこでデータの修正を取り消して
ある時点の内容に戻すためにBindingSourceのコピーをとっておきたいのですが、
方法がよくわかりません。下記の CopyToメソッドで可能だと思いましたが
実行時に型不一致エラーでうまくいきませんでした。
何か良い方法をご存知の方がいらっしゃいましたら教えて下さい。宜しくお願いします。

BindingSource.CopyTo メソッド
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.bindingsource.copyto(VS.80).aspx

引用返信 編集キー/
■35042 / inTopicNo.2)  Re[1]: BindingSourceのコピーと復元の方法
□投稿者/ カドルドエグ (78回)-(2009/04/17(Fri) 16:56:20)
No35041 (元新入社員 さん) に返信
どのような流れで処理をしているのかがわからないので
詳しくはいえませんが、文面からだけですと
BindingSourceをコピーする/BindingSourceのコピーメソッドを使うよりも、
BindingSourceのDataSourceとなっているDataTableのコピーを
取って使った方が楽な気がします。
引用返信 編集キー/
■35043 / inTopicNo.3)  Re[1]: BindingSourceのコピーと復元の方法
□投稿者/ 魔界の仮面弁士 (1045回)-(2009/04/17(Fri) 17:19:44)
No35041 (元新入社員 さん) に返信
> DataGridViewとBindingSourceを使って親子関係にある2つのテーブルを
> 操作するプログラムをつくっています。そこでデータの修正を取り消して
> ある時点の内容に戻すためにBindingSourceのコピーをとっておきたいのですが、

データをコピーしておかずとも、行編集の最中ならば CancelEdit メソッドで差し戻せます。

編集した後で差し戻したいなら、バインド元の DataRow あるいは DataTable あるいは DataSet に対して、
RejectChanges メソッドを使えば、編集前の状態にロールバックされます。

行単位では無く、セル単位での巻き戻しが必要であれば、DataRowVersion.Original を指定して
データを取得すれば、編集前の元データを呼び起こすことができるかと。
引用返信 編集キー/
■35050 / inTopicNo.4)  Re[2]: BindingSourceのコピーと復元の方法
□投稿者/ 元新入社員 (2回)-(2009/04/17(Fri) 18:31:00)
カドルドエグさま、魔界の仮面弁士さま
早速のアドバイス感謝いたします。
ちょうどDataTableのコピーを検討し始めたところでした。
また、知らなかったRejectChangesメソッドを教えてもらい
非常にありがたく思います。土日を挟んでしまいますので
すぐには無理ですが、教えて頂いた方法をいくつか試して
みたいと思います。
引用返信 編集キー/
■35135 / inTopicNo.5)  Re[3]: BindingSourceのコピーと復元の方法
□投稿者/ 元新入社員 (3回)-(2009/04/20(Mon) 23:01:15)
魔界の仮面弁士さま、カドルドエグさま

RejectChanges メソッド で希望通りに動作させることができました。
この度はたいへんお世話になりました。今後とも宜しくお願い致します。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -