如何在组合框中更改所选项目时更改文本框中的文本
本文关键字:文本 项目 选项 组合 | 更新日期: 2023-09-27 17:51:04
我有一个combobox
cmbCity
和textbox
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
,然后设置ValueMember
和DisplayMember
。在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();
}