2014-02-14 38 views
0

使用查詢我已經將數據庫中的兩列值調用到一列中。點現在我想選擇一個值表單組合框,並將一個列值放入文本框。獲取組合框的值到文本框

例如

兩個列值從數據庫到下面

10001海德爾<組合框------當我選擇該索引i只想海德爾要觀看到文本框中

10002法赫德

10003 aitazaz

我已經用於來回調用兩個colums值的代碼段m數據庫是:

public void account() 
     { 
      con.Open(); 
      cmd.Connection = con; 
      cmd.CommandText = "SELECT acc_no, acc_name FROM accounts_record"; 
      MySqlDataAdapter adpt = new MySqlDataAdapter(cmd); 
      DataSet ds = new DataSet(); 
      adpt.Fill(ds); 

      for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
      { 
       cbacc.Items.Add(ds.Tables[0].Rows[i][0] + " " + ds.Tables[0].Rows[i][1]); 
      } 

      con.Close(); 
     } 
+1

爲了避免保持連接打開我建議for循環移動連接關閉 – TGH

回答

1

您應該分別將值和文本添加到組合框中。 下面是一個例子ComboBox: Adding Text and Value to an Item (no Binding Source)

如果必須在文本中顯示標識,則必須在將所選文本放入文本框之前進行一些解析。

+0

例子中的「10001」發出後可能不是一個id 。如果你檢查select語句,那麼列名是「acc_no」,這可能意味着帳號,因此商業實體 – samar

0

如果你能得到組合框的選擇更改的2值文本,然後你可以用空間分割它(」「)字符,並採取第二串並把它放在文本框中。

例如

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     string[] splitedStr = comboBox1.SelectedText.Split(' '); 
     textBox1.Text = splitedStr[1]; 
    } 
+0

的財產可以請給我一個例子嗎? –

+0

請檢查我的更新回答 – samar

+0

如果這個答案對您有用,那麼請標記爲答案和/或upvote。 :) – samar

0

您應該使用的代碼如下

private void Form1_Load(object sender, EventArgs e) 
    { 
      string conString = "Data Source=\\SQLEXPRESS;Initial Catalog=Test;Integrated     Security=True"; 
      SqlConnection con = new SqlConnection(conString); 
      SqlCommand cmd = new SqlCommand(); 
      con.Open(); 
      cmd.Connection = con; 
      cmd.CommandText = "SELECT acc_no +'-' + acc_name as AccNoWithName , acc_no as ActNo FROM accounts_record"; 
      SqlDataAdapter adpt = new SqlDataAdapter(cmd); 
      DataSet dsn = new DataSet(); 
      adpt.Fill(dsn); 
      con.Close(); 

      comboBox1.DisplayMember = "AccNoWithName"; 
      comboBox1.ValueMember = "ActNo"; 
      comboBox1.DataSource = dsn.Tables[0]; 
    } 


private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
      textBox1.Text = comboBox1.SelectedValue.ToString(); 
} 
+0

我很樂意爲您提供幫助,但是您可以讓我知道您在做什麼或想要在我向您提供的代碼之間做什麼。 –

+0

我得到的文本框,組合框「System.Data.DataViewManagerListItemTypeDescriptor」這個數據 –

+0

這樣做的主要目的是,我想從在下拉列表兩個字段中的數據,當我從組合框中單擊該項目我想只有acc_name對acc_num @keshavdas –