首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

c# comboBox控件绑定表字段问题。如何同时绑定多个comboBox呢,使其下拉列表的内容都是一样的 见详细补充

发布网友 发布时间:2022-04-24 00:09

我来回答

4个回答

热心网友 时间:2023-10-14 22:15

首先定义一个公共的方法
public void BindComBox(ComboBox comBox,DataSet ds)
{
comBox.DataSource=ds.Tables[0].DefaultView;
comBox.DisplayMember = "Type";
comBox.ValueMember = "Type";
}
然后在页面上调用
Page_Load()
{
Maticsoft.BLL.T_Banci banci = new Maticsoft.BLL.T_Banci();
DataSet ds = banci.GetList("");
BindComBox(comBox1,ds);
BindComBox(comBox2,ds);
BindComBox(comBox3,ds);
BindComBox(comBox4,ds);
BindComBox(comBox5,ds);
BindComBox(comBox6,ds);..................................

}

热心网友 时间:2023-10-14 22:15

两种写法,一:每个都要写,例如:
comboBox1.DataSource=ds.Tables[0].DefaultView;
comboBox1.DisplayMember = "Type";
comboBox1.ValueMember = "Type";
comboBox2.DataSource=ds.Tables[0].DefaultView;
comboBox2.DisplayMember = "Type";
comboBox2.ValueMember = "Type";
comboBox3.DataSource=ds.Tables[0].DefaultView;
comboBox3.DisplayMember = "Type";
comboBox3.ValueMember = "Type";
第二种方法是,循环窗体的控件,如果控件类型是combobox,就绑定,例如:
foreach(Control com in this.Controls)
{
if(com.controlType.toString()=="System.windows.form.ComboBox"){
com.DataSource=ds.Tables[0].DefaultView;
com.DisplayMember = "Type";
com.ValueMember = "Type";
}
}

以上代码只是我手写的,你看着写吧

热心网友 时间:2023-10-14 22:16

直接遍历整个 控件集,在控件集中找到 ComboBox的实例
然后给每个ComboBox绑定上相同的数据源。
foreach (Control control in Controls) {
if (control is ComboBox) {
ComboBox comboBox = (ComboBox)control;
comboBox.DataSource = ds.Tables[0].DefaultView;
//其他操作
}
}追问哥们 你这种方法 牵一发而动全身 ,改变任何一个comboBox的值 其余的都会改变。

热心网友 时间:2023-10-14 22:16

comboBox1.DataSource=ds.Tables[0].DefaultView;
comboBox1.DisplayMember = "Type";
comboBox1.ValueMember = "Type";
comboBox2.DataSource=ds.Tables[0].DefaultView;
comboBox2.DisplayMember = "Type";
comboBox2.ValueMember = "Type";
comboBox3.DataSource=ds.Tables[0].DefaultView;
comboBox3.DisplayMember = "Type";
comboBox3.ValueMember = "Type";
comboBox4.DataSource=ds.Tables[0].DefaultView;
comboBox4.DisplayMember = "Type";
comboBox4.ValueMember = "Type";
comboBox5.DataSource=ds.Tables[0].DefaultView;
comboBox5.DisplayMember = "Type";
comboBox5.ValueMember = "Type";
comboBox6.DataSource=ds.Tables[0].DefaultView;
comboBox6.DisplayMember = "Type";
comboBox6.ValueMember = "Type";
comboBox7.DataSource=ds.Tables[0].DefaultView;
comboBox7.DisplayMember = "Type";
comboBox7.ValueMember = "Type";追问哥们 你这个少了个 DataSet ds2 = banci.GetList(""); 每个comboBox都要写这一句。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com