我有一個業務對象,它是子對象的組合。
我在Visual Studio 2008中使用數據綁定綁定到Windows窗體上的控件。在DataSource上找不到DataMember屬性[ObjectName]
但是我在窗體的InitializeComponent方法中出現上述錯誤。
可以說我有一個名爲ParentObject的對象,它包含一個通用列表ChildListObject。 ParentObject也有Child對象,它本身有一個Child對象。 (即ParentObject.ChildObject.ChildObject)
我設置主綁定源:
BindingSource.Datasource = ParentObject
我添加了一個網格,設置它的綁定源:
GridBindingSource.Datasource = ParentObject
,並設置DataMember設置爲:
BindingSourceB.DataMember = "ChildListObject"
現在,網格的數據源被設置爲GridBindingSource:
Me.MyDataGridView.DataSource = Me.GridBindingSource
也有綁定到ParentObject和ParentObject.ChildObject
我已經在一個孤立的項目測試了這個屬性其他控件和它工作得很好,所以我無法找出什麼真正的錯誤是?曾經工作的代碼,會突然停止工作。
我得到的錯誤是(如果我使用的對象在上述例子中的名稱):
它失敗「成員屬性ChildObject不能 可以在數據源中發現」於:
Me.MyDataGridView.DataSource = Me.GridBindingSource
奇怪的是,如果我刪除< System.Diagnostics.DebuggerStepThrough()>,然後當它失敗只是繼續它很好?但它在運行時仍然失敗。
有沒有人有任何想法可以指出我在正確的方向?我通過google找到的最接近的地方是它可能與生成的設計器代碼的順序有關。正在工作的代碼將會突然停止工作。
這個問題似乎來來去去。如果在錯誤發生後我才繼續,程序會繼續順利地繼續運行。可能是VS中的一個錯誤。但在運行時,錯誤仍然存在。
是什麼導致了這個問題?我如何阻止它發生?
對不起,這個例子是輕微的錯誤。我已編輯和修復。實際上在對象之間沒有,只是一個包含子對象的通用列表的父對象。 我沒有在網格上設置datamember屬性。不過謝謝你的幫助。 – ptutt 2009-02-26 02:06:58