FireDAC.Comp.DataSet.TFDMasterDataLink.DisableDelayedScroll
Delphi
procedure DisableDelayedScroll;
C++
void __fastcall DisableDelayedScroll(void);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | FireDAC.Comp.DataSet.pas FireDAC.Comp.DataSet.hpp |
FireDAC.Comp.DataSet | TFDMasterDataLink |
説明
詳細データセットの遅延更新を無効にします。
詳細データセットの MasterLink プロパティの DisableDelayedScroll メソッドを呼び出すと、詳細データセットの遅延更新が無効になり、代わりに即時更新を使用します。このメソッドの効果があるのは、遅延更新が有効な場合だけです。
このメソッドがアプリケーション コードで便利なのは、マスタ データセットを順々に確認し、データセット レコードの詳細を読み取る必要がある場合です。また、詳細データセットには、値として、TFDDataSet オブジェクトがあります。FetchOptions.DetailDelay プロパティの値は、0 より大きいです。これにより、ユーザーがマスタ データセットを GUI でスクロールしている間に、詳細データセットの遅延更新とコードの同期更新を結合できます。
詳細データセットの遅延更新を再び有効にするには、EnableDelayedScroll メソッドを使用します。DisableDelayedScroll/EnableDelayedScroll メソッドの呼び出しは、ペアで使用する必要があり、ネスト構造を利用できます。FireDAC ではカウンタを使用して、DisableDelayedScroll/EnableDelayedScroll のネスト構造の呼び出しを追跡します。DisableDelayedScroll メソッドの最上位の呼び出しは、同期していない場合に、詳細データセットとマスタ データセットを同期します。
詳細データセットとマスタ データセットを一度同期するには、Synchronize メソッドを使用します。
例
qDetail.MasterLink.DisableDelayedScroll;
try
qMaster.First;
while not qMaster.Eof do begin
if qMaster.Fields[i].AsInteger = 100 then begin
// read qDetail dataset - it is synchronized with qMaster
end;
qMaster.Next;
end;
finally
qDetail.MasterLink.EnableDelayedScroll;
end;