DataTableのフィルタについて


江尻  2006-07-05 02:28:54  No: 132208

はじめまして。江尻と申します。
VB.NET 2005で開発しています。

DataTableのフィルタについて質問があります。
たとえばDataTable1で列Aが"1"のものだけDataTable2に取得したい
という場合、どうすればよいのでしょうか?
DataTableにはSELECTというプロパティがあるみたいなんですが、
配列で帰ってくるみたいでDataTable2に格納できません。
よろしくお願いいたします。


特攻隊長まるるう  2006-07-05 02:58:54  No: 132209

直接、別の DataTable に格納するような方法は無いと思います。
DataGrid などに表示するのに必要な場合は DataView を操作
します。
ヘルプ(MSDN)で[DataTable.DefaultView プロパティ]のページに
サンプルコードが載っています。


特攻隊長まるるう  2006-07-05 03:21:21  No: 132210

…あれ?。。。できるのか???
ちょっと検証中。。。


江尻  2006-07-05 03:35:19  No: 132211

特攻隊長まるるうさん、はじめまして。
いろいろと調べていただいてありがとうございます。
私もいろいろと調べていますが、やはりうまいこといきません。
もしわかりましたら、教えてください。


特攻隊長まるるう  2006-07-05 03:48:02  No: 132212

一応、できないこともなさそうなので手順を載せます。
  ・Clone して新しい DataTable を用意します。
  ・NewRow メソッドで新しい DataTable に追加する DataRow を用意します。
  ・Select でフィルタを掛けた DataRow の配列を用意します。
  ・フィルタを掛けた DataRow の配列から NewRow で用意した DataRow へ
 ItemArray プロパティでごっそりデータを移動します。
  ・新しい DataTable に Rows.Add したらできる感じ?


Hongliang  URL  2006-07-05 05:01:42  No: 132213

ImportRow と言うメソッドもあります。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加