データセット フィールドでの作業

提供: RAD Studio
移動先: 案内検索

フィールド コンポーネントでの作業:インデックス への移動

データセット項目は,ネストされたデータセット内に格納されたデータへのアクセスを提供します。NestedDataSet プロパティは,ネストされたデータセットを参照します。これでネストされたデータセットの中のデータは,ネストされたデータセットの項目オブジェクトを通してアクセスできます。

データセット項目の表示

TDBGrid コントロールを使用すると,データセット項目に格納されているデータを表示できます。Vcl.DBGrids.TDBGrid コントロールでは,データセット項目が文字列「(DataSet)」とともにデータセット列の各セルに表示され,実行時には省略記号ボタンがその右側に表示されます。省略記号をクリックすると,現在レコードのデータセット項目に対応するデータセットを表示するグリッドを持つ新しいフォームが表示されます。またこのフォームは,DB グリッドの ShowPopupEditor メソッドを使用して,プログラミングによって表示できます。たとえば,グリッドの中の 7 番めの列がデータセット項目を表す場合,次のコードによって現在のレコードのその項目に対応するデータセットが表示されます。



 DBGrid1.ShowPopupEditor(DBGrid1.Columns[7]);



 DBGrid1->ShowPopupEditor(DBGrid1->Columns->Items[7], -1, -1);



ネストされたデータセット内のデータにアクセスする

データセット項目は通常,データベース対応コントロールに直接結合されていません。むしろ,ネストされたデータセットは単なるデータセットであり,格納されているデータは TDataSet の下位項目を通して取得します。使用するデータセットの種類は,親データセット(データセット項目を所有するデータセット)によって決まります。たとえば,BDE 対応データセットの場合は TNestedTable 使ってデータセット項目のデータを表し,クライアントデータセットの場合は別のクライアントデータセットを使用します。

データセット項目内のデータにアクセスするには,

  1. 親データセットで項目エディタを呼び出して,持続的 Data.DB.TDataSetField オブジェクトを作成します。
  2. データセット項目内の値を表すためデータセットを作成します。このデータセットの型は,親データセットに対応したものでなければなりません。
  3. 手順 2 で作成されたデータセットの DataSetField プロパティを,手順 1 で作成された持続的データセット項目に設定します。

現在レコードにネストされたデータセット項目に値がある場合,詳細データセットコンポーネントはネストされたデータとともにレコードを含みます。それ以外の場合は,ネストされたデータセットは空になります。

ネストされたデータセットにレコードを挿入する前に,対応するレコードをマスターテーブル内に登録しなければなりません。挿入されたレコードが登録されていない場合,ネストされたデータセットが登録する前に自動的に登録されます。

関連項目