当多个ComboBox绑定同一个数据源后,只要更改其中一个的选择项时,其它的ComboBox也跟着改变了
将这个“数据源”做成两个副本,即两个数据源,然后再分别绑定到combobox就可以了。
private DataTable _DataSource;
/// <summary>
/// 下拉框数据源
/// </summary>
public DataTable DataSource
{
get { return _DataSource.Copy(); }//副本
set
{
_DataSource = value;
this.risComboBox1.DataSource = _DataSource;
}
}
public DataTable ItemListToDataTable(List<Item> item)
{
DataTable dt = new DataTable();
DataColumn dcKey = new DataColumn(“Key”);
DataColumn dcValue = new DataColumn(“Value”);
dt.Columns.Add(dcKey);
dt.Columns.Add(dcValue);
DataRow dr = null;
foreach (Item i in item)
{
dr = dt.NewRow();
dr[0] = i.Key;
dr[1] = i.Value;
dt.Rows.Add(dr);
}
return dt;
}