Data.DB.TDataSet.OnCalcFields
Delphi
property OnCalcFields: TDataSetNotifyEvent read FOnCalcFields write FOnCalcFields;
C++
__property TDataSetNotifyEvent OnCalcFields = {read=FOnCalcFields, write=FOnCalcFields};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | public | Data.DB.pas Data.DB.hpp |
Data.DB | TDataSet |
説明
アプリケーションが、計算フィールドを再計算する際に発生します。
OnCalcFields イベント ハンドラを記述すると、アプリケーションが計算フィールドを再計算する際に、特定のアクションを実行させることができます。 計算フィールドは、その値を、データセット内の 1 つ以上のフィールドから継承し、場合によっては追加処理も施す、フィールドです。
OnCalcFields は、次の場合に発生します:
- データセットが開いたとき。
- データセットが dsEdit 状態になったとき。
- レコードがデータベースから取得されたとき。
AutoCalcFields プロパティが True の場合、OnCalcFields は次の場合も発生します:
- あるビジュアル コントロールから別のコントロールへ、または、データ対応グリッド コントロール内のある列から別の列へ、フォーカスが移動して、レコードに変更が行われたとき。
メモ: AutoCalcFields プロパティが True の場合、OnCalcFields イベント ハンドラは、データセット(または、「マスタ-詳細」関係の一部である場合には、リンクされたデータセット)を変更するべきではありません。このようは変更は、OnCalcField イベントを再度発生させ、無限再帰処理に陥ってしまいます。
アプリケーションがユーザーにデータの変更を許可した場合、OnCalcFields は頻繁に発生します。OnCalcFields が発生する頻度を抑えるには、AutoCalcFields を False に設定します。
警告: データセットが「マスタ-詳細」関係のマスタ テーブルである場合、OnCalcFields は、詳細セットがマスタ テーブルと同期化される前に発生します。
OnCalcFields は、Data.DB.TDataSetNotifyEvent 型のイベント ハンドラです。