Bindings

Signaler
Messages postés
117
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2008
-
Messages postés
117
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2008
-
Bonjour à tous,

J'ai binder des zones de mon formulaire, dont un case à cocher, avec une classe. Jusque là tout va bien, j'ai les bonnes valeurs de mon objet dans mes textbox et checkbox.
Lorsque je modifie ma check box, j'appele un méthode de ma classe.
Mon souci est que ma méthode teste la valeur du booléan binder avec ma checkbox et bien que l'état de ma check box est changé, la valeur du booléen n'a pas changé.

Comment faire ?

Merci d'avance

3 réponses

Messages postés
117
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2008

Ce sujet n'inspire personne apparemment
Messages postés
167
Date d'inscription
dimanche 6 février 2005
Statut
Membre
Dernière intervention
13 avril 2007

Faut dire tu ne mets aucun extrait de code...

As tu essayé de débugé avec des bêtes MessageBox.show() avant/pendant/apres la modification de l'état de ta checkbox ?

As-tu prévu une méthode get {} - set{} dans la classe de ton objet ?
Messages postés
117
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
19 janvier 2008

Tu as raison, je vais mettre un peu de code :

cFactureMontantBindingSource.DataSource = _Montant;   Avec _Montant une instance de ma classe cFactureMontant

Quand je dis "binder", je veux dire que dans la propriété DataBindings - CheckState de ma checkbox, j'ai mis : cFactureMontantBindingSource - TemoinProduit

Ensuite dans l'évènement CheckStateChange de ma checkBox :

private
void temoinPrestationCheckBox1_CheckStateChanged(
object sender,
EventArgs e)
{

 _Montant.InitMontantBase
}

public
void InitMontantBase()
{

if (_TemoinPrestation)
   _MontantBase = _MontantPrestation;

if (_TemoinProduit)
   _MontantBase = _MontantProduit;

if (_TemoinProduit && _TemoinPrestation)
   _MontantBase = _MontantPrestation + _MontantProduit;
}
Mais il ne rentre pas dans le if _TemoineProduit car le booléen n'a pas changé de valeur alors que la checkbox à changée (je le vois avec un message box)

Voilà, mais je sais pas si c'est plus clair

Merci