选择的索引更改是自动触发的,而无需在 c# Windows 应用程序的组合框中选择项目
本文关键字:选择 Windows 组合 项目 应用程序 索引 | 更新日期: 2023-09-27 18:30:40
我有一个从数据库填充的组合框。代码如下
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);
}
}
但问题是此事件是在运行项目时自动触发的,而不允许我从组合框中选择项目。
您可以订阅 SelectionChangeCommit 事件,而不是 SelectedIndexChanged 事件。 或者,您可以在数据加载
之前取消订阅 SelectedIndexChanged 事件,并在数据加载到组合框后订阅它。您可以通过多种方式解决此问题。