在 comboBox1_SelectedIndexChanged 的事件里面处理,将 conbobox2 的数据源中的 conbobox1选择的项排除掉。最好是用视图来过滤掉,而不是将数据删除,这样当conbobox1 改变选项的时候,conbobox2的数据源就不必再将之前删除的数据项再添加回来。
问题能描述再清楚点吗?比如你要什么需求,两个控件提取的SQL语句是一样的,来源于同一个表?
s绑定数据源:
DataTable DT = new DataTable();
DT.Columns.Add(new DataColumn("id"));
DT.Columns.Add(new DataColumn("name"));
DataRow row;
for (int i = 0; i < 3; i++)
{
row = DT.NewRow();
row.ItemArray = new object[] { i, i.ToString() + "选项" };
DT.Rows.Add(row);
}
this.comboBox1.DataSource = new DataView(DT);
this.comboBox2.DataSource = new DataView(DT);
控制:
if (this.comboBox1.SelectedIndex > 0)
{
DataView dv = this.comboBox2.DataSource as DataView;
dv.RowFilter = string.Format(" id <> {0}", this.comboBox1.SelectedValue);
}
未经测试。但是思路是这样吧。
同意一楼的方法