如何为winform中的列表控件Combobox,ListBox控件绑定数据
1个回答
2016-12-18 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517183
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
combobox.DataBindings.Add("要绑定控件的属性如下拉框的SelectedValue\Text", 数据源如dataset1, "导航路径如Table1.ListID");
但是,DataBindings只能绑定一个字段,而绑定多个字段时典型的如列表控件Combobox、ListBox控件,需要键值对,这时就需要指定DataSource(实现IList接口就行),然后指定ValueMember、DisplayMember 。
所以,如果是下拉列表,你只想绑定一个字段,用DataBindings可以,想绑定两个字段
用combobox.DataSource = 数据源;
combobox.DisplayMember = 对应显示字段名;
combobox.ValueMember = 对应存储字段名;
object val = combobox.SelectedValue;
string txt = combobox.Text;
SelectedIndex、SelectedItem表示选中了哪项目,也可以设置combobox.SelectedIndex = 0 或
直接设置 combobox.SelectedValue = "一个已存在的值";或 combobox.Text = "一个已存在的文本";
如果是绑定的,一定要设置的是一个在绑定在已存在的项。
例如有一个部门表的DataTable,部门ID是一个字段,用于唯一标识一个部门ID,部门名称是另一个字段,用于唯一标识ID对应的部门名称
绑定如下:
this.ComboBox1.DataSource = 部门表; //只要实现了IList接口就可以
this.ComboBox1.DisplayMember="部门名称";//显示中文,方便用户选择 对应WebForm的DataTextField
this.ComboBox1.ValueMember="部门ID"; //绑定与选择对应的另一个值
需要着重说明的时,如果你有一个类Item如有两个属性:A、B,同时你做了ItemCollection类用来表示多个Item,绑定时:
this.ComboBox1.DataSource = myItemCollection;
this.ComboBox1.DisplayMember="A";
this.ComboBox1.ValueMember="B";
如果数据不是从数据库中读取出来,而是从集合中绑定。 本例中仅列出Dictionary这个类。
代码:
Dictionary<int, string> mydiction = new Dictionary<int, string>();
mydiction.Add(2, "张三");
this.listBox1.DataSource = new BindingSource(mydiction, null);
this.listBox1.DisplayMember = "Value";
this.listBox1.ValueMember = "Key";
但是,DataBindings只能绑定一个字段,而绑定多个字段时典型的如列表控件Combobox、ListBox控件,需要键值对,这时就需要指定DataSource(实现IList接口就行),然后指定ValueMember、DisplayMember 。
所以,如果是下拉列表,你只想绑定一个字段,用DataBindings可以,想绑定两个字段
用combobox.DataSource = 数据源;
combobox.DisplayMember = 对应显示字段名;
combobox.ValueMember = 对应存储字段名;
object val = combobox.SelectedValue;
string txt = combobox.Text;
SelectedIndex、SelectedItem表示选中了哪项目,也可以设置combobox.SelectedIndex = 0 或
直接设置 combobox.SelectedValue = "一个已存在的值";或 combobox.Text = "一个已存在的文本";
如果是绑定的,一定要设置的是一个在绑定在已存在的项。
例如有一个部门表的DataTable,部门ID是一个字段,用于唯一标识一个部门ID,部门名称是另一个字段,用于唯一标识ID对应的部门名称
绑定如下:
this.ComboBox1.DataSource = 部门表; //只要实现了IList接口就可以
this.ComboBox1.DisplayMember="部门名称";//显示中文,方便用户选择 对应WebForm的DataTextField
this.ComboBox1.ValueMember="部门ID"; //绑定与选择对应的另一个值
需要着重说明的时,如果你有一个类Item如有两个属性:A、B,同时你做了ItemCollection类用来表示多个Item,绑定时:
this.ComboBox1.DataSource = myItemCollection;
this.ComboBox1.DisplayMember="A";
this.ComboBox1.ValueMember="B";
如果数据不是从数据库中读取出来,而是从集合中绑定。 本例中仅列出Dictionary这个类。
代码:
Dictionary<int, string> mydiction = new Dictionary<int, string>();
mydiction.Add(2, "张三");
this.listBox1.DataSource = new BindingSource(mydiction, null);
this.listBox1.DisplayMember = "Value";
this.listBox1.ValueMember = "Key";
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询