2014-11-16 34 views
0

我這是從database.The代碼填充組合框中選擇在組合框中的項目是如下的是的SelectedIndexChanged自動觸發沒有在C#中的Windows應用程序

protected void bindcombobox() 
    { 
     string str = "Data Source=IMMENSE-01\\SQLEXPRESS;Initial Catalog=DesktopAppDB;Integrated Security=True;Pooling=False"; 
     SqlConnection con = new SqlConnection(str); 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("select Id,designation from addStaff", con); 
     SqlDataAdapter da = new SqlDataAdapter(cmd); 
     DataTable dt = new DataTable(); 
     DataSet ds = new DataSet(); 

     da.Fill(ds); 
     da.Fill(dt); 
     cb_selectpost.Items.Clear(); 
     if (dt.Rows.Count > 0) 
     { 

      cb_selectpost.DataSource = dt; 
      cb_selectpost.ValueMember = "Id"; 
      cb_selectpost.DisplayMember = "designation"; 


     } 
     con.Close(); 
     con.Dispose(); 
    } 

我有這個事件,大幹快上選擇項觸發從組合框作爲

private void cb_selectpost_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (cb_selectpost.SelectedValue != null) 
     { 
      string st = cb_selectpost.SelectedValue.ToString(); 
      lblCB.Text = st.ToString(); 
      bindstaff(st); 
     } 
    } 

但問題是,這個事件是自動觸發捉迷藏項目,而不讓我從下拉框中選擇項目。

+1

也許這會幫助你:http://stackoverflow.com/q/3263240/1905949 – ekad

回答

2

您可以訂閱SelectionChangeCommitted事件而不是SelectedIndexChanged事件。或者您可以在數據激活之前取消訂閱SelectedIndexChanged事件,並在數據加載到組合框中後進行訂閱。你可以用多種方式解決這個問題。

相關問題