FireDAC.Comp.DataSet.TFDMasterDataLink.DisableDelayedScroll
Delphi
procedure DisableDelayedScroll;
C++
void __fastcall DisableDelayedScroll();
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
procedure function |
public | FireDAC.Comp.DataSet.pas FireDAC.Comp.DataSet.hpp |
FireDAC.Comp.DataSet | TFDMasterDataLink |
Description
Désactive l'actualisation différée de l'ensemble de données détail.
Appelez la méthode DisableDelayedScroll de la propriété MasterLink de l'ensemble de données détail pour désactiver l'actualisation différée de l'ensemble de données détail et utiliser à la place l'actualisation immédiate. La méthode a un effet seulement si l'actualisation différée est en vigueur.
La méthode est utile dans le code d'une application, qui nécessite de parcourir l'ensemble de données maître et aussi de lire les enregistrements de l'ensemble de données détail. De plus, l'ensemble de données détail a un objet TFDDataSet comme valeur. La valeur de la propriété FetchOptions.DetailDelay est > 0. Cela permet de combiner l'actualisation différée de l'ensemble de données détail, pendant que l'utilisateur défile dans l'ensemble de données maître dans l'interface utilisateur graphique, et l'actualisation synchronisée dans le code.
Pour réactiver l'actualisation différée de l'ensemble de données détail, utilisez la méthode EnableDelayedScroll. Les appels de la méthode DisableDelayedScroll / EnableDelayedScroll doivent s'effectuer par paires et ils peuvent être imbriqués. FireDAC utilise le compteur pour suivre les appels imbriqués de DisableDelayedScroll / EnableDelayedScroll. L'appel le plus haut de la méthode DisableDelayedScroll synchronise l'ensemble de données détail avec l'ensemble de données maître, s'ils sont désynchronisés.
Pour synchroniser l'ensemble de données détail avec l'ensemble de données maître une fois, utilisez la méthode Synchronize.
Exemple
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;