Ich habe ein Problem mit einem Kombinationsfeld Steuerelement. Artikel werden aus der Datenbank abgerufen, aber ich kann sie nicht über SelectedValue Eigenschaft zugreifen.Access datengebundene Kombinationsfeld C#
Ich habe versucht, es nach oben wie diese Einstellung:
DataSet ds = retrieveData(); //I am calling a procedure, it works fine
myComboBox.DataSource = ds;
myComboBox.DisplayMember = "COLUMN1";
myComboBox.ValueMember= "COLUMN2";
Aber es würde nicht funktionieren. Der Text in der Combo-Box war
System.Data.DataViewManagerListItemTypeDescriptor
Also habe ich dieses:
foreach (DataRow dr in ds.Tables[0].Rows)
{
myComboBox.Items.Add(
new { TEXT = dr["COLUMN1"].ToString(),
VALUE = Convert.ToInt32(dr["COLUMN2"].ToString())
});
}
Jetzt funktioniert es. Aber ich muss auf den Index (myComboBox.IndexOf("Text inside")
) statt auf den Wert zugreifen (was der Primärschlüssel ist und daher eindeutig ist). SelectedValue ist immer Null und der SelectedIndex ist ein anonymes Objekt, auf das ich auch nicht zugreifen kann!
Irgendwelche Hilfe?
Es wäre interessant zu wissen, warum die ersten Beispiele nicht funktionieren. Der zweite kann SelectedValue nicht verwenden, da keine DataSource gebunden ist. Siehe auch http://stackoverflow.com/questions/14379183/combobox-selectedvalue-throws-null-reference-exception – Steve
@Steve weil dann der Text in der Box ist: 'System.Data.DataViewManagerListItemTypeDescriptor' – dzenesiz