FireDAC.Comp.DataSet.TFDMasterDataLink.DisableDelayedScroll

De RAD Studio API Documentation
Aller à : navigation, rechercher

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;

Voir aussi