1

product_items と category の 2 つのテーブルがあります。そして2コンボボックス。選択したカテゴリの後に、別のコンボボックスをフィルター処理したい。私の下手な英語で申し訳ありません:)、私はこの9時間試しましたが、解決策はありません:/私のコードはどれだけ書いたか.

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 :/
}
4

1 に答える 1

1

よくわかりませんが、これをテストする必要がありますが、最初のコンボボックスにバインドされた DataView には RowFilter プロパティがあります。
このプロパティを適切な条件に設定すると、現在選択されているカテゴリに属さないアイテムが削除されます

if(comboBox2.SelectedValue != null)
{
    DataView dv = comboBox1.DataSource as DataView;
    dv.RowFilter = "pcatid = " + comboBox2.SelectedValue.ToString();
}
于 2013-03-21T12:47:32.607 に答える