我有2个表,product_items和category。 和2个组合框。我想在选择的类别之后过滤另一个组合框。 抱歉我的英语不好说话:),我试过这个9h,没有解决方案得到:/ 我的代码我写了多少钱。
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("select itemid, itemname, pcatid from produkti_items_tab", TestConnection);
da.Fill(ds, "FillDropDown");
comboBox1.DataSource = ds.Tables["FillDropDown"].DefaultView;
comboBox1.DisplayMember = "itemname";
comboBox1.ValueMember = "itemid";
//============================================
DataSet ddd = new DataSet();
SqlDataAdapter dada = new SqlDataAdapter("select pcatid, pcatname from produkti_cat_tab", TestConnection);
dada.Fill(ddd, "FillDropDownzzz");
comboBox2.DataSource = ddd.Tables["FillDropDownzzz"].DefaultView;
comboBox2.DisplayMember = "pcatname";
comboBox2.ValueMember = "pcatid";
但我不知道我应该写些什么:
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
//how filter :/
}
答案 0 :(得分:1)
不确定,需要测试一下,但是,绑定到第一个组合框的DataView具有RowFilter属性。
将此属性设置为适当的条件应删除不属于当前所选类别的项目
if(comboBox2.SelectedValue != null)
{
DataView dv = comboBox1.DataSource as DataView;
dv.RowFilter = "pcatid = " + comboBox2.SelectedValue.ToString();
}