У меня есть бизнес-объект, состоящий из дочерних объектов.
Я использую привязку данных в Visual Studio 2008 для привязки к элементам управления в форме Windows.
Но я получаю указанную выше ошибку в методе InitializeComponent формы.
Допустим, у меня есть объект с именем ParentObject, который содержит общий список ChildListObject. ParentObject также имеет дочерний объект, который сам имеет дочерний объект. (т.е. ParentObject.ChildObject.ChildObject)
Я установил основной источник привязки:
BindingSource.Datasource = ParentObject
Я добавляю сетку и устанавливаю источник привязки:
GridBindingSource.Datasource = ParentObject
и установите для DataMember значение:
BindingSourceB.DataMember = "ChildListObject"
Теперь источник данных сетки установлен на GridBindingSource:
Me.MyDataGridView.DataSource = Me.GridBindingSource
Существуют также другие элементы управления, привязанные к свойствам ParentObject и ParentObject.ChildObject.
Я протестировал это в изолированном проекте, и он отлично работает, поэтому мне трудно понять, в чем настоящая ошибка? Код, который работал раньше, внезапно перестанет работать.
Я получаю ошибку (если я использую имена объектов в приведенном выше примере):
«Свойство DataMember ChildObject не может быть найдено в источнике данных»
Это не удается:
Me.MyDataGridView.DataSource = Me.GridBindingSource
Как ни странно, если я удалю ‹System.Diagnostics.DebuggerStepThrough()›, а затем, когда произойдет сбой, просто продолжите, все в порядке??? Но он все еще терпит неудачу во время выполнения.
У кого-нибудь есть идеи, которые могли бы указать мне в правильном направлении? Самое близкое, что я нашел через поиск в Google, это может иметь какое-то отношение к порядку сгенерированного кода дизайнера, который испортился. Код, который работал, внезапно перестанет работать.
Эта проблема, кажется, приходит и уходит. Если я просто продолжу после возникновения ошибки, программа успешно продолжит работу без проблем. Возможно ошибка в VS. Но во время выполнения ошибка все еще существует.
Что вызывает эту проблему? Как мне остановить это?