2013-03-13 129 views
0

我有combobox綁定到數據源。我通過組合框屬性做到了這一點。我也綁定到相同的數據源的文本框。當試圖更改組合框中的項目時,它會更改文本框中的值。但是當我嘗試從組合框中選擇另一項時,它會給出錯誤「 」這會導致集合中的兩個綁定綁定到相同的屬性。 參數名:結合」綁定窗體控件到C#中的sql服務器數據#

這是綁定文本框代碼

 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(); 
    } 

請幫助

回答

0

你應該清楚你的每一次綁定,因爲每次您在您的組合中選擇一個新的項目時間。 Box這個事件將數據源綁定到組合,並且由於它之前已綁定(使用您之前選擇的項目),它會給出錯誤。昨天發生的問題與我完全相同,並且我通過在每次綁定之前清除綁定來解決此問題。

這是我的代碼:

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"); 
    } 
相關問題