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

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

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

Re[2]: フィルタをかけたDataTableを別のDataTableへ


(過去ログ 31 を表示中)

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

■14929 / inTopicNo.1)  フィルタをかけたDataTableを別のDataTableへ
  
□投稿者/ 武田 (1回)-(2008/02/28(Thu) 19:57:56)
武田 さんの Web サイト

分類:[C#] 

2005での開発です。

フィルターをかけたDataSetを、別のDataSetにコピーしたいのですが、
どうすればよろしいでしょうか?

DataTable dtB = new DataTable();

dtA.Select("AA = 1");←これはDBから取得したDataTable

dtAには、フィルタ後も複数行データが入ってます。
この複数行あるデータを、dtBにコピーしたいです。

できればループせずにまとめてコピーしたいです。

よろしくお願いします。
引用返信 編集キー/
■14931 / inTopicNo.2)  Re[1]: フィルタをかけたDataTableを別のDataTableへ
□投稿者/ 魔界の仮面弁士 (669回)-(2008/02/28(Thu) 20:06:59)
No14929 (武田 さん) に返信
> フィルターをかけたDataSetを、別のDataSetにコピーしたいのですが、
> どうすればよろしいでしょうか?

『DataView.ToTable メソッド』を使ってみては如何でしょう。
http://www.microsoft.com/japan/msdn/net/adonet/datasetenhance.aspx
http://msdn2.microsoft.com/ja-jp/library/a8ycds2f%28VS.80%29.aspx
引用返信 編集キー/
■14932 / inTopicNo.3)  Re[1]: フィルタをかけたDataTableを別のDataTableへ
□投稿者/ Hongliang (248回)-(2008/02/28(Thu) 20:07:56)
2008/02/28(Thu) 20:13:28 編集(投稿者)

DataTable.Select は条件に合った DataRow の配列を返すだけで、元の DataTable は変更されませんよ。
で、DataRow の配列からなら、DataTable.Clone で同じ構造を持つ DataTable を作ってそれに一つずつ DataTable.ImportRow してく、かな。

[追記]
魔界の仮面弁士さんの仰るように、DataView.RowFilter と併用してやった方が楽ですね。
// DataView.Find のせいで Sort やってなかったら RowFilter も使えないようなイメージ持ってた。
引用返信 編集キー/
■14936 / inTopicNo.4)  Re[2]: フィルタをかけたDataTableを別のDataTableへ
□投稿者/ 武田 (2回)-(2008/02/28(Thu) 21:32:32)
武田 さんの Web サイト
ありがとうございます。

DataView.ToTableをつかせていただきます。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -