DataTable から特定のレコード(DataRow)を抽出する方法

  DataTable から特定のレコードを抽出するには、「Select()」メソッドを使用します。Select メソッドにより、抽出した DataRow の配列(DataRow[])が返されます。
 Select メソッドの引数は、抽出条件文字列、並べ替え文字列および行状態フィルタ(データのバージョン)があります。これらを組み合わせて指定します。
【使い方】

 (1) DataTable の特定のレコードを、抽出条件の文字列で抽出します。
  // dt は DataTable
  // Column1 の値が 10 以上となる列を抽出する

  DataRow[] rows = dt.Select("Column1 >= '10'");

 (2) DataTable の特定のレコードを、抽出条件の文字列と並べ替えを指定して抽出します。
  // dt は DataTable
  // Column1 の値が 10 以上となる列を抽出する
  // Column2 の値が降順になる順序で抽出する

  DataRow[] rows = dt.Select("Column1 >= '10'", "Column2 DESC");

 (3) DataTable の特定のレコードを、抽出条件の文字列、並べ替えおよび行状態フィルタ(データのバージョン)
    を指定して抽出します。
  // dt は DataTable
  // Column1 の値が 10 以上となる列を抽出する
  // Column2 の値が降順になる順序で抽出する
  // 変更された行のみ抽出する

  DataRow[] rows = dt.Select("Column1 >= '10'", "Column2 DESC", DataViewRowState.ModifiedCurrent);
【注意】
 並べ替え指定がない場合は、抽出されるレコードは、DataTable に追加された順序になります。
【参考】
 抽出条件の文字列の詳細については、DataColumn クラスの Expression プロパティ のトピックを参照してください。
戻る