在最終決定問這個問題之前,我已經做了大量的搜索。我遵循MSDN教程創建使用簡單,複雜和查找數據綁定的用戶控件。如何用3個組合框創建一個用戶控件,併爲每個控件創建一個不同的數據綁定?
- Walkthrough: Creating a User Control that Supports Simple Data Binding
- Walkthrough: Creating a User Control that Supports Complex Data Binding
- Walkthrough: Creating a User Control that Supports Lookup Data Binding
而且他們工作的偉大......對於只使用單個組合框或GridView的用戶控件。
現在我想創建一個用戶控件與三個不同的組合框。我想將每個綁定到不同的表。這些表格是「名稱」,「類型」和「產品」。
MSDN教程涉及到爲單個Combobox創建DataBindingProperties,但不顯示如何爲包含多個用戶控件的用戶控件執行相同操作。
using System.Windows.Forms;
namespace CS
{
[System.ComponentModel.LookupBindingProperties(
"DataSource", "DisplayMember", "ValueMember", "LookupMember")]
public partial class LookupBox : UserControl
{
public object DataSource
{
get{ return comboBox1.DataSource; }
set{ comboBox1.DataSource = value; }
}
public string DisplayMember
{
get{ return comboBox1.DisplayMember; }
set{ comboBox1.DisplayMember = value; }
}
public string ValueMember
{
get{ return comboBox1.ValueMember; }
set{ comboBox1.ValueMember = value; }
}
public string LookupMember
{
get{ return comboBox1.SelectedValue.ToString(); }
set{ comboBox1.SelectedValue = value; }
}
public LookupBox()
{
InitializeComponent();
}
}
}
現在,您可以看到,代碼中只提到了一個Combobox。我需要有三個組合框,每個綁定到上面提到的不同的表。
拜託,我把頭撞在牆上。我對用戶控件不太熟悉(儘管我已經在ASP.NET中使用過它們),但是看起來好像是一個好主意,因爲我打算在不同的地方使用這三個組合框,我的應用程序。
其實,這正是我計劃要做的。這三個LookupBoxes將成爲單個用戶控件的一部分(稱爲'Description'),並且THAT用戶控件將被添加到其他幾個用戶控件中。所以它基本上是一個用戶控件,在另一個用戶控件的內部。謝謝您的回答。你對我的代碼有意義,但我很好奇下一個用戶控件的代碼(它將包含這個代碼)看起來像什麼。我的意思是,如果我有三個嵌套控件,每次都必須深入三個層次嗎? –