0
Meine Combobox bestimmt, welche Elemente in der Listbox angezeigt werden. Das Listenfeld wird jedoch nicht aktualisiert, wenn der Index geändert wird.ListBox aktualisiert sich nicht bei der Indexänderung der Combobox
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;
}
Das datagridview aktualisiert, so dass es die Abfrage ausschließt, die fehlerhaft ist.
Ist dieses Fenster Formen nennen? oder ASP.NET? – user3185569
Es ist Windows-Formulare – Cleaven
Verwenden Sie zuerst parametrisierte Abfragen, um SQL-Injection-Angriffe zu verhindern. Dann ist es ausreichend, 'listBox1.DataSource = Prods;' zu setzen und dann 'listBox1.DisplayMember' auf einen Feldnamen des Produkttyps wie' 'Name'' zu setzen. Auch wenn Sie 'SelectedValue' von' listBox1' verwenden wollen, müssen Sie 'ValueMember' auf ein Feld von' ProductType' wie '" Id "' setzen. –