我有两个组合框数据绑定到相同的字符串列表:
cbo1.DataSource = niches_list.LIST_niches;
cbo1.DisplayMember = "LIST_niches";
cbo2.DataSource = niches_list.LIST_niches;
cbo2.DisplayMember = "LIST_niches";
它都加载得很好,但当我更改cbo1的选定项时,cbo2也会更改所选内容;相反,如果更改cbo2的选定项,则cbo1的选定项将更改为相同的索引。为什么会这样呢?有解决办法吗?
发布于 2014-07-11 12:13:12
使用BindingSource来保持两个组合框的货币管理不同
BindingSource bs = new BindingSource();
bs.DataSource = niches_list.LIST_niches
cbo1.DisplayMember = "LIST_niches";
cbo1.DataSource = bs;
BindingSource bs2 = new BindingSource();
bs2.DataSource = niches_list.LIST_niches;
cbo2.DisplayMember = "LIST_niches";
cbo2.DataSource = bs2;
BindingSource
对象具有许多功能,如类文档链接中所解释的那样。在您的例子中,重要的是currency management
,这意味着它代表其客户端( combobox)处理底层数据源上的当前位置。BindingSource.Current属性在两个实例之间是不同的,这是将所选的两个组合框分隔开的关键。
https://stackoverflow.com/questions/24697403
复制相似问题