2009-07-21 2 views
1

Ich habe dies:WinForms Combox - Artikel zu einem Databound-Liste hinzufügen und dann die Einstellung der SelectedItem sein

cmbConnections.DisplayMember = "Name"; 
cmbConnections.ValueMember = "Index"; 
cmbConnections.DataSource = DBConnectionSettings.ConnectionList; 

All Ok!

Jetzt neues Element zur Liste hinzufügen:

DBConnectionSettings.Connection c = new DBConnectionSettings.Connection(); 
c.Name = reply; 
c.Index = DBConnectionSettings.ConnectionList.Count + 1; 
DBConnectionSettings.ConnectionList.Add(c); 

ich nun dieses neue Element in der comboxbox als das ausgewählte Element angezeigt werden soll. Das Setzen des Textes der Combobox schlägt fehl.

Dank

+0

Warum tun Sie Count + 1, dachte ich, Graf 1 Basis zumindest so wäre, wenn alles, was es Count -1 sein würde. –

Antwort

1

Versuchen Sie, eine BindingSource zwischen Datasource und dem ComboBox setzen. Nachdem Sie Ihr neues Element hinzugefügt haben, rufen Sie myBindingSource.ResetBindings (false) auf; und dann werden Sie entweder die Position-Eigenschaft von myBindingSource oder die SelectedValue-Eigenschaft der ComboBox festlegen.

0

Sie haben den ValueMember Ihrer Combobox auf "Index" gesetzt, was bedeutet, dass Sie einen Wert in der Combobox auswählen können, indem Sie ComboBox.SelectedValue auf den Index Ihres Artikels setzen. D.h .:

cmbConnections.SelectedValue = c.Index; 
+0

Das eine Ausnahme auslöst, kann SelectedValue nicht auf 0 festlegen – Jon

Verwandte Themen