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

VB.NET Discussion :

Control Databinding update issue


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Automaticien Programmeur
    Inscrit en
    Septembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Automaticien Programmeur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 10
    Par défaut Control Databinding update issue
    Bonjour à tous,

    Je réalise actuellement une application vb.net avec une class de communication (Ethernet) et des control utilisateurs fais par mes soins que l'on peut ajouter dynamiquement au Winform.

    Ces UserControl sont liés par DataBinding a la class de comunication :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TmpGridResultsList.DataBindings.Add(New Binding("OpSpindlesResults", OpClient, "OpSpindlesResults", True, DataSourceUpdateMode.OnPropertyChanged))
    Ma class de communication :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Implements INotifyPropertyChanged
    Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
    La classe de communication à de multiples propriétés qui peuvent être bindés pas différents user controls.

    Chaque fois que la valeur d'une propriété change j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("OpSpindlesResults"))
    RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("ArMid0061"))
    Mon problème est le suivant, dès qu'une des propriétés change, les control users sont updatés, même si la propriété ne les concernes pas.
    Le binding est bien fait sur une propriété, mais la mise à jours est faite indépendamment de la propriété mise à jours.

    Si vous avez une idée, ou si je ne suis pas assez clair, laissez moi un message.

    Merci par avance.

    Eddie

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    Je serai tenté de dire que ce n'est pas un bug mais une "feature".

    En effet partant du principe que "mieux vaut une mise à jour de contrôle de trop que de pas assez", certains contrôles écoutent les notifications au niveau de l'objet (la propriété n'est utilisé que pour savoir ce qui faut lire/écrire). Néanmoins ce n'est pas une généralité, certains contrôles vérifient réellement le nom de la propriété pour la mise à jour.

    C'est pour ça que le code lié à la mise à jour de l'affichage des contrôles (et événement de formatage de donnée + dessin) doit être suffisamment rapide pour que l'utilisateur ne voit pas un ralentissement à cause de ces mises à jour "à vide".

    En gros si la mise à jour de l'affichage du contrôle nécessite un calcul lourd/lent (accès BD ou ressource distante), faut mieux chercher à optimiser ce calcul plutôt qu'à minimiser le nombre de notification de mise à jour.

Discussions similaires

  1. Réponses: 9
    Dernier message: 25/02/2007, 13h46
  2. UPDATE issue d'une comparaison de tables
    Par JulienCEA dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/01/2007, 17h11
  3. Réponses: 7
    Dernier message: 17/10/2006, 16h32
  4. Réponses: 10
    Dernier message: 18/08/2006, 12h14
  5. [MFC] updater un control sans les updater tous
    Par zzorglub dans le forum MFC
    Réponses: 4
    Dernier message: 14/02/2006, 17h06

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