オブジェクト フィールドの利用
オブジェクト項目とは,ほかの単純なデータ型の混合した項目です。これには,ADT(抽象データ型)項目,配列項目,データセット項目,および参照項目があります。これらの項目型は,子項目やほかのデータセットを含むことも,参照することもあります。
ADT 項目および配列項目は,子項目を持つ項目です。ADT 項目の子項目は,スカラー型またはオブジェクト型です(つまり任意のほかの項目型)。子項目の型は相互に違っていてもかまいません。配列項目は,同じ型の子項目の配列です。
データセット項目および参照項目は,ほかのデータセットにアクセスする項目です。データセット項目はネストされた(詳細)データセットへのアクセスを提供し,参照項目はほかの静的オブジェクト(ADT)へのポインタ(参照)を格納します。
オブジェクト項目コンポーネントの種類 :
コンポーネント名 | 用途 |
---|---|
TADTField |
ADT(抽象データ型)項目を表す |
TArrayField |
配列項目を表す |
TDataSetField |
ネストされたデータセットへの参照を含む項目を表す |
TReferenceField |
ADT へのポインタである REF 項目を表す |
項目エディタを使ってオブジェクト項目を含むデータセットに項目を追加すると,型の正しい静的オブジェクト項目が自動的に作成されます。静的オブジェクト項目をデータセットに追加すると,自動的にデータセットの ObjectView プロパティが True に設定されます。その場合,構成要素の子項目が独立した別の項目であるかのように,項目は平面的ではなく階層的に格納されます。
次のプロパティはすべてのオブジェクト項目に共通し,子項目およびデータセットを処理する機能を提供します。
共通するオブジェクト項目の下位項目プロパティ :
プロパティ | 用途 |
---|---|
Fields |
オブジェクト項目に属する子項目を含む |
ObjectType |
オブジェクト項目を分類する |
FieldCount |
オブジェクト項目に属す下位項目の数 |
FieldValues |
子項目値へのアクセスを提供する |
ADT 項目および配列項目を表示する
ADT 項目と配列項目は,どちらもデータベース対応コントロールを通して表示できる子項目を含みます。
1 つの項目値を表す Vcl.DBCtrls.TDBEdit などデータベース対応コントロールは,子項目値を編集不能のカンマ区切り文字列で表示します。さらに,コントロールの DataField プロパティにオブジェクト項目自身ではなく子項目を設定すると,子項目はほかの通常のデータ項目と同様に表示や編集ができます。
Vcl.DBGrids.TDBGrid コントロールが ADT 項目と配列項目のデータを表示する方法は,データセットの ObjectView プロパティの値によって変わります。ObjectView が False の場合,各子項目は 1 つの列の中に表示されます。ObjectView が True の場合,ADT 項目または配列項目は列のタイトルバー内の矢印をクリックすることによって,拡大したり,折りたたんだりできます。項目が拡大されると,各子項目はそれ自身の列とタイトルバーの中に表示されます。ADT または配列が折りたたまれると,その子項目を含む編集不能なカンマ区切りの文字列の 1 列だけ表示されます。
以下のトピックでは,オブジェクト項目のそれぞれの種類について説明しています。