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

Windows Forms Discussion :

Empêcher le rafraichissement de contrôles liés à un DataSet


Sujet :

Windows Forms

  1. #1
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut Empêcher le rafraichissement de contrôles liés à un DataSet
    Salut,

    J'ai une application Windows Forms, dont de nombreux contrôles sont liés aux données d'un DataSet, lui-même chargé à partir d'une base Oracle Lite. Lorsque je re-synchronise la base Oracle Lite locale avec le serveur, je recharge le DataSet.

    Le problème est que cela déclenche plein d'évènements non désirés (SelectedIndexChanged, etc...) sur les contrôles liés au dataset, ce qui provoque certains traitements non voulus et ralentit beaucoup le chargement.

    Pour éviter ça, je désactive les évènements et je mets les DataSource des contrôles à null avant le rechargement, et je les remets dans l'état initial une fois le chargement terminé. Ca fonctionne mais c'est pas génial, surtout qu'il faut que je pense à mettre à jour les fonctions qui font ça à chaque fois que j'ajoute de nouveaux contrôles liés au dataset...

    Est-ce quelqu'un connaitrait une meilleure solution ?

    Merci d'avance !

  2. #2
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    451
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 451
    Points : 287
    Points
    287
    Par défaut
    Tu pourrais te créer une classe dérivée de DataSet dans laquelle tu surcharges ou non les methodes, evt... suivant tes besoins.

    Comme ca lors des synchros, tu peux gérer de A à Z le comportement de ton DataSet perso.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Ben j'aimerais mieux éviter ça, vu la complexité du dataset (une centaine de tables)
    Merci quand-même pour la suggestion

  4. #4
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut Dataset
    J imagine que ca doit etre long si tu veux en effet te la creer en classe.

    Par contre tu pourrais tout simplement copier ce dataset...

    Comme ca t aurai un dataset tempon lier a ta form... Le dataset qui se syncronyse avec la base de donnees. Et toi tu syncronise les deux manuelement.

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Tu utilises un bindingsource ? Si oui, suspendbinding et resumebinding ne seraient pas ce que tu cherches par hasard ?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Tu utilises un bindingsource ? Si oui, suspendbinding et resumebinding ne seraient pas ce que tu cherches par hasard ?
    Ah, ça se pourrait bien... merci, je vais regarder ça
    Par contre ça résoud pas complètement le problème, parce que je devrais faire ça sur chaque BindingSource. Mais c'est toujours mieux que ce que je fais maintenant

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Bon, ça semblait une bonne idée, mais malheureusement les BindingSource ne sont pas utilisés partout, certains contrôles sont liés à des DataView...

Discussions similaires

  1. Rafraichissement de contrôle
    Par nazzguhl dans le forum ASP.NET
    Réponses: 3
    Dernier message: 31/08/2008, 01h16
  2. Empêcher la disparition de contrôles
    Par JPDU92 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 27/02/2008, 11h13
  3. Empêcher le rafraichissement du header
    Par freija dans le forum Langage
    Réponses: 1
    Dernier message: 08/02/2007, 11h21
  4. Réponses: 1
    Dernier message: 28/09/2005, 10h01
  5. Comment empêcher la mise à jour d'un contrôle à l'écran ?
    Par JojoLaFripouille dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/09/2003, 13h52

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