リレーション関係にあるDataTableを参照する方法

  親子のリレーション関係にある DataTable で、リレーション先の列の値を参照表示するには、DataColumn の「Expression」プロパティを使用し、パラメータに Parent または Child と列名を指定してリレーション先の列値を参照します。
  同一 DataSet 内に複数の DataTable が設定され、合わせてリレーションの設定がされている場合、DataColumn の「Expression」プロパティを使用して行います。また、計算式の一部として設定することも可能です。

(1) リレーション先が1つの場合
   ・Parent または Child に続けて"."ピリオド、列名を指定します。
       Parent.ColumnName1   親 DataTable の列名(ColumnName1)の列値を参照します。
       Child.ColumnName2    子 DataTable の列名(ColumnName2)の列値を参照します。

(2) リレーション先が複数指定されている場合
   ・Parent または Child に続けてリレーション名、"."ピリオド、列名を指定します。
       Parent(RelationName1).ColumnName1
                      RelationName1 で連結する親 DataTable の列名(ColumnName1)の列値を参照します。
       Child(RelationName2).ColumnName2
                      RelationName1 で連結する子 DataTable の列名(ColumnName2)の列値を参照します。
【サンプル C#】

DataTable にリレーション先の列値の参照を設定するサンプル
  //データ取得時
  //リレーションの設定
  ds.Relations.Add("リレーション名", 親DataColumnオブジェクト, 子DataColumnオブジェクト);


  //データ登録時
 //dt       DataTable

  //参照表示列を追加(親:単独リレーション)
  dt.Columns.Add("追加列名親",typeof(System.String),"Parent.参照列名");
  //参照表示列を追加(親)
  dt.Columns.Add("追加列名親",typeof(System.String),"Parent(リレーション名).参照列名");

  //参照表示列を追加(子:単独リレーション)
  dt.Columns.Add("追加列名子",typeof(System.String),"Child.参照列名");
  //参照表示列を追加(子)
  dt.Columns.Add("追加列名子",typeof(System.String),"Child(リレーション名).参照列名");
戻る