组合框选中索引已更改所有组合框已更改

时间:2011-04-10 09:54:16

标签: c# winforms

我的表单中有两个组合框。我已将这两个数据库与不同的数据库表绑定,但具有相同的显示成员,并且重复了一些数据。当我更改第一个组合框的索引时,第二个组合框索引也发生了变化。

如何清除此问题。请任何人给我解决方案

由于

//dt1---> a b c d
//dt2---> x c a y
 cmb_STable.SelectedIndex = -1;
            cmb_STable.DisplayMember = "tablename";
            cmb_STable.DataSource = dt1;
 cmb_mTable.SelectedIndex = -1;
            cmb_mTable.DisplayMember = "tablename";
            cmb_mTable.DataSource = dt2;

//如果cmb_mTable_SelectedIndexChanged带有     ,cmb_sTable也改为

2 个答案:

答案 0 :(得分:2)

在黑暗中拍摄:

我假设您正在使用ADO.Net来对数据块进行数据绑定。根据API,您将在后台拥有一个bindingsource或CurrencyManager,它具有数据绑定列表的副本和指向当前项的指针。

我的猜测是你已经通过相同的CurrencyManager / BindingSource将这两个列表绑定到这个数据源,并在一个控件上移动它将它移到另一个控件上。

您需要添加新的BindingSource或currencymanager来阻止此行为。

答案 1 :(得分:1)

您的代码仍未显示所有内容。

看起来两个盒子的SelectedValue都有一个Databinding。如果它们绑定到同一个项目(复制粘贴?),那么这就解释了您的问题。