c#中的两个相关组合框从数据库中填充

时间:2013-07-23 16:16:32

标签: c# .net frameworks

我遇到了这个问题:

我有两个combobox通过数据库填充数据集,数据库中有不同的表,第一个有项目,第二个有根据第一个{{1中选择的项目ID显示的品牌}}。

例如,在第一个组合框中选择ID = 1的电视, 第二个是填充了ItemId = 1的Brands,例如Samsung,LG,Ext。

我尝试了两个不同的数据集,但我无法关联WHERE条件。

2 个答案:

答案 0 :(得分:1)

你试过这个吗?

 DataRow[] drSelectedRows = YourDataTable.Select("itemid = "+yourvalue);

 DataView dv = new DataView(YourDataTable);
  dv.RowFilter ="itemid = "+yourvalue;

答案 1 :(得分:0)

假设我有以下两个表:

enter image description here

enter image description here

我会像这样填充第一个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();
}

然而,这假设品牌名称是唯一的。