Ich habe 2 Comboboxen, die beide die gleiche Datenquelle verwenden. Immer wenn ich eine der Comboboxen ändere, ändert sich die andere auf genau den gleichen Wert.Binding Comboboxes in C# -Fensterformen
Es scheint, dass ich Databinding verwenden muss, um dieses Problem zu lösen.
Ich habe viele Dinge ausprobiert, aber nichts scheint zu funktionieren. Meine Comboboxen heißen comboBox1 und comboBox2. Unten ist der Quellcode, den ich benutze, um Combobox2 unabhängig von ComboBox1 zu machen. Jede Hilfe würde sehr geschätzt werden.
BindingSource bs = new BindingSource(this.claimTypeBindingSource, null);
BindingContext bc = new BindingContext();
comboBox2.BindingContext = bc;
comboBox2.DataSource = bs.DataSource;
comboBox2.DisplayMember = "ClaimType";
EDIT ich jetzt gerade habe die Datasource-Zuweisungen outof comboBox1 genommen und unter Verwendung von Code zugeordnet - der Code sieht nun wie folgt.
private void Form1_Activated(object sender, EventArgs e)
{
BindingSource bs1 = new BindingSource(this.claimTypeBindingSource, null);
BindingContext bc1 = new BindingContext();
comboBox1.BindingContext = bc1;
comboBox1.DataSource = bs1.DataSource;
comboBox1.DisplayMember = "ClaimType";
BindingSource bs2 = new BindingSource(this.claimTypeBindingSource, null);
BindingContext bc2 = new BindingContext();
comboBox2.BindingContext = bc2;
comboBox2.DataSource = bs2.DataSource;
comboBox2.DisplayMember = "ClaimType";
}
Dies hat das Problem nicht behoben. Wenn ich 1 ComboBox ändere, ändert sich auch die andere.
Können Sie mehr Code bereitstellen - zum Beispiel, wie Sie dieselben Eigenschaften für die erste ComboBox festlegen? –
In diesem Beispiel habe ich gerade 2 ComboBoxes aus der Toolbox auf den Formular-Designer gezogen und den obigen Code zu den Methoden hinzugefügt. In Combobox1 habe ich eine Datenquelle und DisplayMember über die Eigenschaften und ComboBox 2 ist mit dem obigen Code zugewiesen. – David
Ich habe gerade meinen Code geändert - leider hat das nicht geholfen. – David