0

我有绑定到数据源的组合框。我通过组合框属性做到了这一点。我还将文本框绑定到相同的数据源。当尝试更改组合框中的项目时,它会更改文本框中的值。但是当我尝试从组合框中选择另一个项目时,它会给出错误“”这会导致集合中的两个绑定绑定到同一个属性。参数名称:绑定"

这是绑定文本框的代码

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
        con.Open();
        SqlDataAdapter da = new SqlDataAdapter("select * from ProductMaster", con);
        DataSet ds = new DataSet();
        da.Fill(ds, "ProductMaster");

        textBox5.DataBindings.Add("text", ds, "ProductMaster.Rate");

        label17.DataBindings.Add("text", ds, "ProductMaster.VAT");
        con.Close();
    }

请帮忙

4

1 回答 1

0

您应该每次清除您的绑定。因为每次您在组合框中选择一个新项目时,此事件都会将数据源绑定到组合,并且由于它之前已绑定(与您之前选择的项目),它会给出错误。昨天完全相同的问题发生在我身上,我通过每次在新绑定之前清除绑定来解决。

这是我的代码:

 private void cmb_aye_SelectedIndexChanged(object sender, EventArgs e)
    {
      OleDbDataAdapter da_select = new OleDbDataAdapter(string.Format("SELECT * FROM quran WHERE (sure={0} and aye={1})", cmb_sure.SelectedItem.ToString(), cmb_aye.SelectedItem.ToString()), objConnection);
      DataTable dt = new DataTable();
      dt.Clear();
      da_select.Fill(dt);
      txt_tarjome.DataBindings.Clear();
      txt_tarjome.DataBindings.Add("Text", dt, "tarjome");
      txt_matn_aye.DataBindings.Clear();
      txt_matn_aye.DataBindings.Add("Text", dt, "baerab");
    }
于 2013-09-25T04:56:57.463 回答