Databinding Objet et Actualisation propriété du contrôle lié

vincentbost Messages postés 2 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 16 juin 2011 - 16 juin 2011 à 15:54
vincentbost Messages postés 2 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 16 juin 2011 - 16 juin 2011 à 18:09
Bonjour,
Je travaille avec VS 2010 - Cible Framework 4.0
J'ai implémenté la notification de changement de valeurs de propriété au niveau de mon type métier.
La notification fonctionne bien mais les contrôles dont les propriétés sont liées ne sont pas tous correctement actualisés. En fait, la dernière notification reçue par le moteur de binding ne déclenche pas de raffraichissement de la propriété Text de ma boite de texte.
Ce gestionnaire me permet de m'assurer que les notifications sont faites pour toutes les propriétés modifiées
salarie.PropertyChanged += new PropertyChangedEventHandler(salarie_PropertyChanged);
txtMatricule.DataBindings.Add("Text", salarie, "Matricule");
txtNom.DataBindings.Add("Text", salarie, "Nom");
txtPrenom.DataBindings.Add("Text", salarie, "Prenom");
         void salarie_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
           MessageBox.Show(string.Format("la propriété {0} a été modifiée",e.PropertyName));
        }


Avez-vous une solution à ce problème ?

Cordialement
Vincent Bost
Formateur Etudes et Développement Informatique

2 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
16 juin 2011 à 16:53
Hello,

As-tu essayé en utilisant la surcharge suivante :
txtMatricule.DataBindings.Add("Text", salarie, "Matricule", false, DataSourceUpdateMode.OnPropertyChanged);


Normalement, la mise à jour dois se faire... sinon, la solution consiste à utiliser la méthode ReadValue() du Binding... mais sur chaque control :(


Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo
0
vincentbost Messages postés 2 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 16 juin 2011
16 juin 2011 à 18:09
Merci Sébastien,
J'avais déjà réalisé ce test dans deux contextes dont un avec un composant BindingSource. Je souhaite ainsi montrer à mes stagiaires l'intérêt d'avoir un objet d'indirection.
Cela ne fonctionne pas mieux, quel que soit l'événement retenu pour la modification de l'objet (validating ou update). Cette propriété n'a pas d'ailleurs d'effet sur le way objet - source - contrôle.
Je continue les tests demain et te tiens au courant.
Je vais les faire aussi dans une autre version d'IDE (2008/2005)
Merci pour la réponse.
Cordialement
Vincent Bost
Formateur Etudes et Développement Informatique
0
Rejoignez-nous