C# 列表框SelectedIndex随access数据库更改
为混乱的代码道歉。。我有下面这个代码,它工作得很好。。它工作,用unqiue值填充列表框C# 列表框SelectedIndex随access数据库更改,c#,ms-access-2007,listboxitem,C#,Ms Access 2007,Listboxitem,为混乱的代码道歉。。我有下面这个代码,它工作得很好。。它工作,用unqiue值填充列表框 void sumload() { cn.Open(); cmd.Connection = cn; cmd.CommandText = "SELECT DISTINCT status FROM changes"; OleDbDataReader reader = cmd.ExecuteReade
void sumload()
{
cn.Open();
cmd.Connection = cn;
cmd.CommandText = "SELECT DISTINCT status FROM changes";
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
lst_summary2.Items.Add(reader["status"].ToString());
}
cn.Close();
}
我希望能够从列表框中选择一个项目,它将调用另一个查询,根据该值填充第二个列表框。我已经使用数据网格使其工作,但似乎无法使其与此工作,有什么想法吗
private void lst_summary2_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedIte = lst_summary2.SelectedItem.ToString();
cn.Open();
cmd.Connection = cn;
cmd.CommandText = "SELECT * FROM changes WHERE status = '" + selectedIte + "'";
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
lst_summary3.Items.Add(reader["changetitle"].ToString());
}
cn.Close();
}
你有什么错误吗?尝试在ExecuteReader上设置断点,检查selectedIte变量的当前值是多少,并查看代码是否进入循环无错误-我尝试在输出所选值之前插入messagebox,在读取器之后插入messagebox,但什么都没有。。即使有断点。。这就好像它无法识别一样。您是否将此事件处理程序链接到lst_summary2的适当事件?如果未调用它,则事件处理程序不会链接到事件。如果SelectedIndexChanged事件链接到此事件句柄,请选中ListBox属性。这正是我所需要的!谢谢:)@damm只是一个旁注,
SelectedIndexChanged
由用户触发,可以通过编程方式触发。您可能希望使用SelectionChangeCommitted
,该选项仅在用户更改组合框中的值时触发