IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

TDBGrid en master-detail [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    février 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : février 2009
    Messages : 34
    Points : 55
    Points
    55
    Par défaut TDBGrid en master-detail
    Bonjour,

    J'ai 2 TDBGrid en master-detail. Je souhaite savoir 2 choses :

    1- Où faut-il mettre le code de rafraîchissement de la table détail? Actuellement, je l'ai mis dans l’événement OnDataChange du composant TDataSource de la table master. Est ce qu'il y'a mieux?
    2- Quand je parcours rapidement la grille master (bouton flèche bas active en continu ou usage molette souris), l'affichage ralentit car il faut rafraîchir la grille détail continuellement. Est ce qu'on peut imaginer de désactiver les requêtes détail et les réactiver une fois le parcours fini? Si oui, comment faire ou alors une idée, un lien, un piste?

    Merci à tous pour votre aide et assistance.
    Salim.

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    avril 2002
    Messages
    1 782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2002
    Messages : 1 782
    Points : 5 907
    Points
    5 907
    Par défaut
    Bonjour,
    Citation Envoyé par larsal007 Voir le message
    1- Où faut-il mettre le code de rafraîchissement de la table détail? Actuellement, je l'ai mis dans l’événement OnDataChange du composant TDataSource de la table master. Est ce qu'il y'a mieux?
    C'est pour moi, l'endroit adéquat, mais comme vous l'avez remarqué, chaque changement sur l'ensemble de données maitre déclenche une réactualisation de l'ensemble de données détails...

    Citation Envoyé par larsal007 Voir le message
    2- Quand je parcours rapidement la grille master (bouton flèche bas active en continu ou usage molette souris), l'affichage ralentit car il faut rafraîchir la grille détail continuellement. Est ce qu'on peut imaginer de désactiver les requêtes détail et les réactiver une fois le parcours fini? Si oui, comment faire ou alors une idée, un lien, un piste?
    Voici une solution : utilisez un TTimer qui va être initialisé dans le code de l'événement OnDataChange, voire réinitialisé s'il y a plusieurs passages.
    Ce timer peut avoir un délai d'activation d'un quart à une demi seconde.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.DataSourceMaitreDataChange(Sender: TObject; Field: TField);
    begin
      // Désactiver l'ensemble de données source (optionnel)
      // Cela vide l'ensemble détails tant que l'on se déplace...
      DataSourceDetails.DataSet.Active := False;
      // Réinitialiser le Timer
      Timer1.Enabled := False;
      Timer1.Enabled := True;
    end;
    L’événement OnTimer activera la mise à jour de l'ensemble de données détails...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      // Désactiver le Timer
      Timer1.Enabled :=  False;
      // Réaliser les opérations de resynchronisation de l'ensemble de données détails
      // ...
     
    end;
    Philippe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. UI Master-Detail et multiselect: la règle ?
    Par GoustiFruit dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/03/2008, 15h24
  2. Réponses: 6
    Dernier message: 26/10/2007, 12h04
  3. [Tomahawk] [dataTable] Master detail
    Par infonini dans le forum JSF
    Réponses: 3
    Dernier message: 06/09/2007, 12h42
  4. master detail -dbLookupComboBox
    Par atb dans le forum Bases de données
    Réponses: 1
    Dernier message: 10/04/2007, 19h23
  5. [Forms] Debugger/Pb canevas-relation Master/detail
    Par lafouine dans le forum Forms
    Réponses: 16
    Dernier message: 12/08/2005, 19h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo