[英]How do I create a user control with 3 combo boxes and a different data binding for each?
在最終決定問這個問題之前,我已經進行了廣泛的搜索。 我遵循了有關創建使用簡單,復雜和查找數據綁定的用戶控件的MSDN教程。
對於僅使用單個組合框或Gridview的用戶控件,它們非常有用。
現在,我想用三個不同的組合框創建一個用戶控件。 我想將每個綁定到不同的表。 這些表是“名稱”,“類型”和“產品”。
MSDN教程涉及為單個組合框創建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();
}
}
}
現在,您可以看到,代碼中只提到了一個組合框。 我需要具有三個組合框,每個組合框都綁定到如上所述的不同表。
拜托,我把頭撞在牆上。 我不太熟悉用戶控件(盡管我已經在ASP.NET中使用過它們),但似乎是個好主意,因為我將在以下地區的不同地方大量使用這三個組合框。我的應用程序。
您可以簡單地根據需要推斷出您所知道的:
public object DataSource1
{
get{ return comboBox1.DataSource; }
set{ comboBox1.DataSource = value; }
}
public object DataSource2
{
get{ return comboBox2.DataSource; }
set{ comboBox2.DataSource = value; }
}
public object DataSource3
{
get{ return comboBox3.DataSource; }
set{ comboBox3.DataSource = value; }
}
盡管您可能想使用比..1,.. 2,.. 3更好的描述性名稱。
我將創建一個包含三個LookupBox
的UserControl
。 例如:
public partial class MyLookupBoxes : UserControl
{
public LookupBox()
{
// Add the 3 LookupBox to this UserControl using the designer
InitializeComponent();
SetupDataSources();
}
private void SetupDataSources()
{
namesLookupBox1.DataSource = names_data_source_1;
// ...
typesLookupBox2.DataSource = types_data_srouce_2;
// ...
productsLookupBox3.DataSource = products_data_srouce_2;
// ...
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.