Propriété DataMember [ObjectName] ne peut pas être trouvé sur la source de données

J'ai un objet de gestion, qui est un composé d'objets enfants.
Je suis à l'aide de la liaison de données dans Visual Studio 2008 pour se lier à des contrôles sur un formulaire Windows.

Mais j'obtiens l'erreur ci-dessus dans la méthode InitializeComponent de la forme.

Permet de dire que j'ai un objet appelé ParentObject qui contient une liste générique, ChildListObject. Le ParentObject a aussi Enfant de l'objet, qui a elle-même un objet Enfant. (c'est à dire ParentObject.ChildObject.ChildObject)

J'ai mis la principale source de liaison:

BindingSource.Datasource = ParentObject

- Je ajouter une grille et de l'ensemble de liaison source:

GridBindingSource.Datasource = ParentObject

et définir la DataMember:

BindingSourceB.DataMember = "ChildListObject"

Maintenant, la grille de la source de données est définie à GridBindingSource:

Me.MyDataGridView.DataSource = Me.GridBindingSource

Il y a aussi d'autres contrôles qui sont liés aux propriétés de la ParentObject et la ParentObject.ChildObject

J'ai testé ce isolés projet et il fonctionne très bien, donc j'ai de la difficulté à trouver le bug réel est? Code utilisé pour travailler, est-ce que tous les cas d'arrêt brusque de travail.

L'erreur que je reçois est (si j'utilise les noms des objets dans l'exemple ci-dessus):

"Propriété DataMember ChildObject ne peut pas
être trouvé sur la source de données"

Il échoue sur:

Me.MyDataGridView.DataSource = Me.GridBindingSource

Étrangement, si je supprimer <Système.Diagnostics.DebuggerStepThrough()> et puis quand il échoue juste continuer c'est bien??? Mais il ne parvient toujours pas à l'exécution.

Quelqu'un a une idée qui pourrait me diriger dans la bonne direction? Le plus proche que j'ai trouvé via google peut avoir quelque chose à voir avec l'ordre de génération de code de concepteur obtenir foiré. Du Code du travail, est-ce que tous les cas d'arrêt brusque de travail.


Cette question semble aller et venir. Si je viens de le continuer après l'erreur est déclenchée, le programme continue joyeusement avec pas de problèmes. Probablement un bug dans VS. Mais au moment de l'exécution de l'erreur existe toujours.

Ce qui est à l'origine de ce problème? Comment puis-je empêcher qu'il se produise?

OriginalL'auteur ptutt | 2009-02-26