обновить проблему каскадного выпадающего списка C # - PullRequest
0 голосов
/ 11 августа 2011

У меня простой вопрос, у меня есть форма, которая содержит два связанных поля со списком, но у меня проблема с обновлением второго выпадающего содержимого

это код

  private void DiaryForm_Load(object sender, EventArgs e)
    {
       // TODO: This line of code loads data into the 'expensesDataSet.Item' table. You can move, or remove it, as needed.
      //  this.itemTableAdapter.Fill(this.expensesDataSet.Item);
        using (OleDbConnection con = dbconn.dbconnection())
        {
            ds1 = new ExpensesDataSet();

            string sql = "SELECT * From DiaryView";

            da = new System.Data.OleDb.OleDbDataAdapter(sql, con);
            da.Fill(ds1, "DiaryView");
            NavigateRecords();
            MaxRows = ds1.Tables["DiaryView"].Rows.Count;

            //fill category combobox
           string sqlcat = "SELECT * From Category";

           catda = new System.Data.OleDb.OleDbDataAdapter(sqlcat, con);
           catda.Fill(ds1, "Category");
           catda.Update(ds1, "Category");
           comboBox2.DataSource=ds1.Tables["Category"];
           comboBox2.DisplayMember = "cat_name";
           comboBox2.ValueMember="cat_id";

           //comboBox1.Enabled = false;

        }


    }

 private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
        using (OleDbConnection con = dbconn.dbconnection())
            {
                if (comboBox2.Items.Count > 0)
                {

                    {
                        string cat = comboBox2.SelectedValue.ToString();
                        comboBox1.Enabled = true;
                        int catid = int.Parse(comboBox2.SelectedValue.ToString());
                        string sqlitem = "SELECT * From Item where cat_id = " + catid;
                        catda = new System.Data.OleDb.OleDbDataAdapter(sqlitem, con);

                        this.itemBindingSource.EndEdit();


                        catda.Fill(ds1, "Item");
                        catda.Update(ds1, "Item");
                        comboBox1.DataSource = ds1.Tables["Item"];
                        comboBox1.DisplayMember = "item_name";
                        comboBox1.ValueMember = "item_id";


                    }
                }
            }

    }

есть дватаблицы: категория (cat_id, cat_name) item (item_id, item_name, cat_id)

что я могу сделать ??Пожалуйста, помогите:)

1 Ответ

0 голосов
/ 15 августа 2011

Если вы хотите очистить комбинированный список, просто выполните:

combobox1.Items.Clear();

Это так просто.

...