2009-05-29 9 views
0

J'ai un formulaire avec 30 champs de données - principalement des contrôles TextBox affichant des données de chaîne, mais il y a 3 listes déroulantes liste déroulante et une zone de texte utilisée pour afficher une date/heure. J'utilise une BindingSource pour lier ces champs à un objet de données personnalisé dérivé de BindingList <>. En fonction du contenu des données de la source de données, un champ spécifique ne peut tout simplement pas se lier, ce qui signifie que les données de la source de données ne sont pas déplacées vers le contrôle. Le contrôle qui échoue est une simple liaison textbox.text/string.Échec de la liaison de données

Je peux effectuer une requête spécifique qui, dans chaque instance, entraînera l'échec de la liaison de ce champ spécifique. J'ai d'autres requêtes qui peuvent être effectuées qui produisent un ensemble de données où les liaisons fonctionnent parfaitement.

Ma question est - ce qui provoque l'échec de la liaison de données? L'échec d'un autre champ lié empêchera-t-il toutes les autres liaisons de se déclencher?

+0

À quoi ressemble la requête défaillante? À quoi ressemble la requête de passage? Pouvez-vous poster des échantillons? Il devrait y avoir une différence identifiable entre les deux. –

+0

@Robert - La requête n'est pas ce qui échoue. C'est la liaison qui échoue. Lorsque je débogue dans le code au moment où les liaisons se déclenchent, je peux VOIR des données dans la propriété (c'est un champ LAST NAME) de l'objet courant dans la collection/BindingSource. Il n'est simplement pas déplacé de l'objet de données vers le contrôle de l'interface utilisateur. Il n'y a rien d'inhabituel à propos de cette donnée - c'est un nom affichable en 4 caractères. Je ne reçois également aucune exception de liaison ou erreur de liaison. J'obtiens un BindingComplete réussi sur chaque champ, mais les données ne sont tout simplement pas dans le contrôle. Je perds mes cheveux. :( – ScottTx

Répondre

0

J'ai résolu ce problème en écrivant ma propre infrastructure de liaison. Cela m'a donné un contrôle plus explicite sur le moment où les liaisons ont été déclenchées et ce qui s'est passé en conséquence.

0

Voici quelques petites choses que vous pouvez vérifier

  • Y at-il un décalage dans la taille du champ de données et le champ dans l'interface utilisateur
  • Y a-t-il des caractères spéciaux dans les données
  • est-ce le code qui lie les champs ne sont pas exécuté dans certaines circonstances
  • y at-il un code qui déblaie la liaison
Questions connexes