如何使用3个组合框创建用户控件,并为每个组合框创建不同的数据绑定?

时间:2012-05-23 17:54:26

标签: c# data-binding controls combobox

在最终决定提出这个问题之前,我做了一些广泛的搜索。我已经按照MSDN教程创建了使用简单,复杂和查找数据绑定的用户控件。

它们非常适用于仅使用单个Combobox或Gridview的用户控件。

现在我想用三个不同的Combobox创建一个用户控件。我想将每个绑定到不同的表。表格是“名称”,“类型”和“产品”。

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中使用它们了),但是因为我将在不同的地方使用这三个Combobox,这似乎是一个好主意。我的申请。

2 个答案:

答案 0 :(得分:2)

您可以根据需要简单推断您所知道的内容:

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。

更好的描述性名称

答案 1 :(得分:1)

我会创建一个包含三个UserControl的{​​{1}}。例如:

LookupBox