Data.DB.TField.FieldKind
Delphi
property FieldKind: TFieldKind read FFieldKind write SetFieldKind default fkData;
C++
__property TFieldKind FieldKind = {read=FFieldKind, write=SetFieldKind, default=0};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | Data.DB.pas Data.DB.hpp |
Data.DB | TField |
説明
フィールドが、データセット内の列、計算フィールド、ルックアップ フィールドのいずれを表すのかを示します。
FieldKind を使用すると、フィールドが、データ フィールド、計算フィールド、ルックアップ フィールド、または集計フィールドのいずれなのかを、判断することができます。FieldKind の値は、プログラムで変更することができますが、慣習としては、FieldKind は、設計時に、フィールド エディタ を使用して Field コンポーネントを作成した際に設定されます。
メモ: ライブ データセットを返すクエリの結果を表示するために、SQL サーバーまたは BDE (Borland Database Engine)によって計算されるフィールドは、FieldKind が
fkInternalCalc
であり、fkCalculated
とはなりません。これは、このフィールド値がデータセット内に格納されるためです。OnCalcFields イベント ハンドラで計算されるが、データセット内に格納される、クライアント データセット内の計算フィールドについても、FieldKind はfkCalculated
ではなく、fkInternalCalc
となります。通常の計算フィールドと異なり、内部的に計算されるフィールドは、フィルタ式でも使用できます。これらは編集できますが、変更内容は破棄されます。編集できないようにするには、ReadOnly プロパティを True にしてください。
メモ: フィールドの FieldKind プロパティは、値が
fkInternalCalc
の場合、フィールド オブジェクトでのみ格納されます。
メモ: たとえば、Data.DB.TAggregateField の場合、FieldKind プロパティは
fkAggregate
に設定されます。