DataView

LINQとDataTableは非常に相性が良く、一緒に使われることが多いため、ここで簡単に整理しておきます。

コンストラクタ

  1. DataView()
    DataView クラスの新しいインスタンスを初期化します。
  2. DataView(DataTable)
    DataTableからDataViewを作成します。Tableプロパティが設定されます。
  3. DataView(DataTable, String, String, DataViewRowState)
    指定された DataTable、RowFilter、Sort、および DataViewRowState を使用して、DataView クラスの新しいインスタンスを初期化します。

プロパティ(抜粋)

  • AllowDelete
    削除が許可されているかどうかを示す値を設定または取得します。
  • AllowEdit
    更新が許可されるかどうかを示す値を取得または設定します。
  • AllowNew
    AddNew() メソッドを使用して新しい行を追加できるかどうかを示す値を取得または設定します。
  • ApplyDefaultSort
    既定の並べ替えを使用するかどうかを示す値を取得または設定します。 既定の並べ替えは、PrimaryKey で指定されているとおり、すべての主キーで “昇順” です。
  • Count
    RowFilter と RowStateFilter が適用された後に、DataView 内のレコード数を取得します。
  • Item[Int32]
    指定したテーブルからデータの行を取得します。
  • RowFilter
    DataView の中で表示する行のフィルター処理に使用する式を取得または設定します。
  • RowStateFilter
    DataView で使用される行の状態のフィルターを取得または設定します。
  • Sort
    1 つ以上の並べ替え列、および DataView の並べ替え順序を取得または設定します。
  • Table
    ソース DataTable を取得または設定します。

 

メソッド(抜粋)

  • AddNew()
    DataView に新しい行を追加します。
  • Delete(Int32)
    指定したインデックスの行を削除します。
  • Find(Object) / Find(Object[])
    指定された並べ替えキーの値で DataView 内の行を検索します。
  • FindRows(Object) / FindRows(Object[])
    列が指定した並べ替えキーの値と一致する DataRowView オブジェクトの配列を返します。
  • ToTable(複数のオーバーロードがあります)
    既存のDataView の行に基づく新しい DataTable を作成して返します。

 

Find

Sortプロパティに設定されているキーで検索し、一致した最初の行Indexを返却します。一致する行がない場合は-1を返却します。

FindRows

Sortプロパティに設定されているキーで検索し、一致したすべてのDataRowの配列を返却します。一致する行がない場合は空の配列を返却します。(Nothingでないことに注意!)

ToTable

4つのオーバーロードがあります。重複列フラグ=Trueを指定することにより重複する列を1行にまとめます。また抽出列名を指定することによりテーブルの一部の列だけを抽出することができます。

  • 引数なし
  • テーブル名
  • 重複除去フラグ + 抽出列名の配列
  • テーブル名 + 重複除去フラグ + 抽出列名の配列

 

参考

DataView

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です