获得组合框的值到文本框

时间:2014-02-14 05:02:57

标签: c# winforms combobox textbox

使用查询我已将数据库中的两列值调用为一列。现在我要选择一个值形式的组合框并将一个列值放入文本框中。

e.g

从数据库到下面的组合框的两个列值

10001 haider< ------当我选择这个索引时我只想在文本框中查看haider

10002 fahad

10003 aitazaz

我用来从数据库调用两个colums值的片段是:

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

4 个答案:

答案 0 :(得分:1)

您应该分别将值和文本添加到组合框中。 这是一个例子ComboBox: Adding Text and Value to an Item (no Binding Source)

如果你必须在文本中显示id,你必须在将所选文本放入文本框之前进行一些解析。

答案 1 :(得分:0)

如果您能够在选择更改时获得组合框的2值文本,则可以使用空格(“”)字符将其拆分,并将第二个字符串放入文本框中。

例如

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

答案 2 :(得分:0)

使用组合框的ComboBox.SelectedIndexChanged事件相应地填充文本框。使用http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectedindexchanged(v=vs.110).aspx

答案 3 :(得分: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();
 }
相关问题