如何在组合框中更改所选项目时更改文本框中的文本

本文关键字:文本 项目 选项 组合 | 更新日期: 2023-09-27 17:51:04

我有一个combobox cmbCitytextbox txtReference。在表单加载时,组合框从数据库中检索我设法做到的城市。我希望文本框更改引用号。存储在数据库与选择的城市在组合框的变化,我需要帮助。我使用的是visual studio 2012和SSMS 2012

如何在组合框中更改所选项目时更改文本框中的文本

使用SelectedIndexChanged事件:

private void cmbCity_SelectedIndexChanged(object sender, EventArgs e)
{
        SqlConnection con = new SqlConnection(@"Data Source=YourSERVER;Initial Catalog=YourDataBaseName;User ID=DBUserName;Password=DBPassword");
        SqlCommand com = new SqlCommand("select top 1 * from yourTable where someCondition=true",con);
        SqlDataAdapter adp = new SqlDataAdapter(com);
        DataTable dt = new DataTable();
        adp.Fill(dt);
        txtReference.Text = dt.Rows[0]["refrence_no"].ToString();
}

在每次选择时都查询数据库并不是一个明智的主意-但是我沿着你问的问题走了下去。

在表单加载中,您可以将DataTable附加到combobox.datasource,然后设置ValueMemberDisplayMember。在combobox selectedindexchange事件之后,您将管理ValueMember。代码是这样的:

private void Form1_Load(object sender, EventArgs e)
    {
        SqlConnection sql = new SqlConnection("connString");
        SqlCommand cmd = new SqlCommand("SELECT * FROM myTable;",sql);
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        adp.Fill(dt);
        cmbCity.DataSource = dt;
        cmbCity.DisplayMember = "cityname";
        cmbCity.ValueMember = "refrence_no";
        txtReferenceNo.Text = cmbCity.SelectedItem.ToString();
    }
    private void cmbCity_SelectedIndexChanged(object sender, EventArgs e)
    {
        txtReferenceNo.Text = cmbCity.SelectedItem.ToString();
    }