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

C# Discussion :

Détection de modifications de champs bindés


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Par défaut Détection de modifications de champs bindés
    Bonjour,

    J'ai créer des classes (du style OrderHeader et OrderItem) implémentant INotifyPropertyChanged. J'ai lié ses classes à des bindingSources.
    Je peux modifier la valeur d'une propriété de ces classes de deux manières différentes:
    - Via contrôle (TextBox ou Cell d'une datagridview)
    - Mais aussi via programmation, je modifie un champs qui entraine la modification d'un autre.

    Comment puis-je savoir que j'ai modifié un champs de mes Classes?

    Car pour l'instant, j'utilie l'évènement BindingSource.BindingComplete et je test sur e.BindingCompleteContex == DataSourceUpdate. Là je détecte le changement que si je modifie le champs via un contrôle.

    Et si je test sur e.BindingCompleteContex == ControlUpdate, Là je détecte le changement via programmation. Mais cet évènement déclenche aussi lors que je passe d'un record à un autre. Ce qui m'embête fortement car je ne sais pas si un champs à réellement été modifié.

    Connaissez-vous la meilleur manière de procéder?

    Merci

  2. #2
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Citation Envoyé par Polarisdg Voir le message
    Comment puis-je savoir que j'ai modifié un champs de mes Classes?
    Hello,

    tu pourrais simplement t'abonner à l'événement PropertyChanged de tes objets métier. Le bindingsource émet probablement un event quand sa source change, mais je sais pas si son eventargs contient toutes les infos nécessaires.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Par défaut
    En faite il faut s'abonner à l'évènement List_Changed du BindingSource et tester e.ListChangedType == ListChangedType.ItemChanged

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/06/2006, 18h56
  2. Code si modification sur champ dans formulaire
    Par guiguikawa dans le forum IHM
    Réponses: 1
    Dernier message: 14/06/2006, 15h31
  3. Modification de champ différent selon contrainte
    Par leloup84 dans le forum Requêtes
    Réponses: 11
    Dernier message: 14/03/2006, 14h49
  4. [HTML][INPUT FILE]Empécher la modification du champ
    Par jothi35 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 06/10/2005, 15h14
  5. [HTML][CSS] modification dans champs de texte
    Par java_fun dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 21/09/2005, 14h12

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