Bonjour,
Bon j'ai déjà posté sur les bindings sur PPC, mais là ça commence vraiment à m'énerver
Je m'explique : je suis en train de créer un composant qui hérite de Panel et qui permet de visualiser les champs d'une DataView. En fonction du type des champs, je construit dynamiquement (dans le constructeur de mon composant) un Control adapté (TextBox, CheckBox ou ComboBox).
Je veux ensuite pouvoir naviguer entre les rows de ma DataView. Pour cela, lors de la construction des Control, je leur ajoute un Binding (ça ça marche ) et je veux ensuite avoir un BindingManagerBase pour contrôler tout ça. J'en ajoute donc un avec le code suivant :
Je précise bien que this est la référence à mon composant hérité de Panel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 bmView=this.BindingContext[dView,""];
Je modifie la Position de bmView dans des méthodes de ma classe (NextRecord() et Prevrecord()) qui sont appelées par des boutons sur ma Form de test.
Le problème c'est que tout ça fonctionne parfaitement lorsque je lance mon applide test sous windows mais lorsque je la lance sur l'émulateur PocketPC (2002), les contrôles n'affichent rien et les boutons ne font rien non plus Mais aucune exception n'est lancée, c'est simplement vide.
J'ai fait un bête test pour voir si le BindingContext de mon composant contenait la vue :
Ca m'affiche true sous windows mais false sous l'émulateur, avec le même programme!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MessageBox.Show("BindingContext contient dView : "+base.BindingContext.Contains(dView));
Si quelqu'un comprend pourquoi et peut m'expliquer...
Merci d'avance!
Partager