我有以下的C#Windows窗體(.NET 4.0)的情況應用:數據綁定到一個自定義的控制
我有一個數據源設置爲自定義類的對象的集合的BindingSource。
該類的大多數屬性都可以用文本框或複選框表示,因爲它們是字符串或數字或布爾值。 但是,有一個屬性稱爲Ratings,它是另一個自定義對象,必須由我開發的自定義控件來表示。
我綁定了一個datagridview到綁定源,顯然dgview正確顯示數字,字符串和布爾值。但是在同一個表單上,我也有一個我開發的自定義控件的實例,所以我想現在要做的就是將自定義控件綁定到與datagridview使用的綁定源相同的綁定源,並綁定到名爲Ratings的特定數據庫。但我對如何開始沒有絲毫的線索。我懷疑我必須實現一些在我的控件上實現DataSource和DataMember的接口,但不知道從哪裏開始。所以基本上我想要的是每次通過在datagridview中選擇另一行來更改所選項目時,相應的Ratings屬性在自定義控件中表示。
現在,我想實現的是工作,但我每個DataGridView中的OnSelectedRowChanged事件被燒成時間刷新我的自定義控制,以及相關聯的選擇項的評級屬性自定義的控制做到這一點endresult。
但我想知道如果我可以完全通過.NET中的數據綁定機制。
感謝您的回覆!
馬修
PS:以進一步澄清,因爲似乎它不以純文本,以便清楚:
表示我作爲數據源使用的BindingSource的對象僞代碼是:
public class Car
{
private string number;
private string name;
...
private Ratings ratings;
public string Number
{
get { return this.number; }
set { this.number = value; }
}
public string Name
{
get { return this.name; }
set { this.name = value; }
}
...
public Ratings Ratings
{
get { return this.ratings; }
set { this.ratings = value; }
}
}
所以我想從綁定源的所有字符串和數字屬性綁定到datagridview,但我需要將屬性綁定到自定義控件。
不,如果不明確,不好意思。這不是DataGridView中我想要的特殊列。我有一個完全獨立的自定義控件,我用它來表示Ratings屬性。與DataGridView無關。基本上我希望對象的所有屬性綁定到DataGridView(現在就是這種情況),但需要綁定到自定義控件的Ratings屬性除外。 – tjeuten 2010-09-13 12:30:47
我在我的問題中發佈了一些代碼,希望能夠更加清楚 – tjeuten 2010-09-13 12:39:31
因此,您有一個明細表單,您希望顯示評分,並希望網格視圖的當前項目在此自定義控件中顯示其評分。 – Timores 2010-09-13 12:48:22