FireDAC.Stan.Option.TFDFetchOptions.DetailDelay
Delphi
property DetailDelay: Integer read GetDetailDelay write SetDetailDelay stored IsDDS default 0;
C++
__property int DetailDelay = {read=GetDetailDelay, write=SetDetailDelay, stored=IsDDS, default=0};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | FireDAC.Stan.Option.pas FireDAC.Stan.Option.hpp |
FireDAC.Stan.Option | TFDFetchOptions |
説明
マスタ データセットのスクロールから詳細データセットの更新までの遅延を制御します。
DetailDelay プロパティの値はミリ秒単位の時間に設定します。
マスタ データセットがスクロールされてから DetailDelay ミリ秒後に、詳細データセットが更新されます。その遅延時間にマスタ データセットの別のスクロールが発生すると、遅延はその時点から再び開始されます。
これは最初、マスタ/詳細関係で役に立ちます。この関係では、詳細データセットでデータベースに対して SQL コマンドを実行して詳細レコードのクエリを行う必要があります。そして、マスタ データセットが GUI にアタッチされ、そこでユーザーがレコードをスクロールできます。ユーザーがナビゲーション ボタンを押したままにすると、マスタ データセットのスクロールが速くなりますが、このプロパティを使用すると、マスタ データセットのスクロールが終わるまで詳細データセットの更新を先送りすることができます。
FireDAC では、マスタ データセットをスクロールしているのがユーザーなのかアプリケーション コードなのかを識別できません。そのため、現在のマスタ データセット レコードに対応するレコードが詳細データセットに必ず含まれているようにプログラムをコーディングしなければなりません。
それには、次のいずれかを行います。
- DetailDelay を 0 に設定し Synchronize メソッドを呼び出すことで、遅延更新を常に無効にする。
- Synchronize メソッドを呼び出すことで、一時的に同期させる。