私は子オブジェクトのコンポジットであるビジネスオブジェクトを持っています。
Visual Studio 2008でデータバインドを使用して、Windowsフォームのコントロールにバインドしています。DataMemberプロパティ[ObjectName]がデータソースで見つかりません
ただし、フォームのInitializeComponentメソッドで上記のエラーが発生しています。
一般的なリストChildListObjectを含むParentObjectというオブジェクトがあるとします。 ParentObjectにはChildオブジェクトもあり、それ自身はChildオブジェクトを持ちます。 (すなわちParentObject.ChildObject.ChildObject)
私はメインのバインディングソース設定:私は、グリッドを追加し、それがソースバインディングだ設定
BindingSource.Datasource = ParentObject
を:
GridBindingSource.Datasource = ParentObject
とするデータメンバーを設定します。
をBindingSourceB.DataMember = "ChildListObject"
ここで、グリッドのデータソースはGridBindingSource:
0123に設定されていますMe.MyDataGridView.DataSource = Me.GridBindingSource
ありParentObjectと私は孤立したプロジェクトでこれをテストしているParentObject.ChildObject
のプロパティにバインドされている他のコントロールもあり、それが正常に動作しますので、私は見つける問題を抱えていますどのような本当のバグは?以前働いていたコードは、すべて突然動作しなくなります。
(私は上記の例では、オブジェクトの名前を使用している場合)私が手にエラーがある:
は、「データメンバープロパティChildObjectは は、データソースで見つけることができない」
それは失敗上:
Me.MyDataGridView.DataSource = Me.GridBindingSource
不思議なことに、私は< System.Diagnostics.DebuggerStepThroughを(削除した場合)>それから失敗したら、それは良いですか?しかし、実行時にはまだ失敗します。
誰かが正しい方向に向けるアイデアはありますか?私が見つけたもっとも近いのは、生成されたデザイナーコードの順序が乱れているということです。動作していたコードは、すべて突然動作しなくなります。
この問題は発生しているようです。エラーが発生した後も私がちょうど続けると、プログラムはうまくいっても問題なく続きます。おそらくVSのバグ。しかし、実行時にエラーは依然として存在します。
この問題の原因は何ですか?どうやってそれをやめるの?
申し訳ありませんが、例が間違っていました。私は編集して修正しました。実際にはオブジェクトの間には存在せず、子オブジェクトの総称リストとして含まれる親オブジェクトだけが存在しました。 グリッドにdatamemberプロパティを設定していませんでした。とにかく助けてくれてありがとう。 – ptutt
OK、私は自分の答えを編集しました。それが役に立つと願っています。 – gcores