0
我的組合框決定列表框中顯示的項目。但是,索引更改後列表框不會更新。列表框不更新組合框索引變化
private void cmbProdType_SelectedIndexChanged(object sender, EventArgs e)
{
String query = "Select * From Product Where ProductType = '"+cmbProdType.SelectedValue+"'";
Prods = db.GetDataTable(query);
dataGridView1.DataSource = Prods;
foreach (DataRow dr in Prods.Rows)
{
ProdName.Add(dr[1].ToString());
PrevCount.Add(int.Parse(dr[2].ToString()));
}
listBox1.DataSource = ProdName;
listBox2.DataSource = PrevCount;
}
datagridview會進行更新,因此它排除了有問題的查詢。
這是Windows窗體?或ASP.NET? – user3185569
它的窗體形式 – Cleaven
首先,使用參數化查詢來防止SQL注入攻擊。然後它就足以設置'listBox1.DataSource = Prods;'然後將'listBox1.DisplayMember'設置爲產品類型的字段名稱,如「Name」。同樣,如果你想使用'listBox1'的'SelectedValue',那麼你需要將'ValueMember'設置爲'ProductType'的字段,就像''Id''一樣。 –