我遇到了这个问题:
我有两个combobox
通过数据库填充数据集,数据库中有不同的表,第一个有项目,第二个有根据第一个{{1中选择的项目ID显示的品牌}}。
例如,在第一个组合框中选择ID = 1的电视, 第二个是填充了ItemId = 1的Brands,例如Samsung,LG,Ext。
我尝试了两个不同的数据集,但我无法关联WHERE条件。
答案 0 :(得分:1)
你试过这个吗?
DataRow[] drSelectedRows = YourDataTable.Select("itemid = "+yourvalue);
或
DataView dv = new DataView(YourDataTable);
dv.RowFilter ="itemid = "+yourvalue;
答案 1 :(得分:0)
假设我有以下两个表:
我会像这样填充第一个ComboBox:
comboBox1.DataSource = db.BRAND.Select(c => c.NAME).ToList();
然后我将实现以下事件处理程序:
private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
Dictionary<string, int> d = db.BRAND.ToDictionary(c => c.NAME, c => c.ID);
comboBox2.DataSource = (from c in db.ITEM
where c.BRAND_ID == d[comboBox1.Text]
select c.NAME).ToList();
}
然而,这假设品牌名称是唯一的。