Verbinden zweier ComboBoxen

16/09/2009 - 10:58 von Adam Loch | Report spam
Hallo NG,

möchte zwei ComboBoxen - eine mit Nummern und eine zweite mit den
dazugehörigen Namen (sollten alph. sortiert gelistet werden) - so verknüpfen,
daß bei der Auswahl einer Nummer in der zweiten ComboBox der Name angezeigt
wird , bzw. umgekehrt, wenn ein Name ausgewàhlt wird, soll in der ersten
comboBox die Nummer angezeigt werden.

Folgender Code bringt nicht das gewünschte Ergebnis:

With cmbBNr
.DisplayMember = "BLZ"
.ValueMember = "ID"
.DataBindings.Add("Text", dt, "ID")
.DataSource = dt
.SelectedIndex = -1
End With


With cmbBBez
.DisplayMember = "Bankname"
.ValueMember = "ID"
.DataBindings.Add("Text", dt, "ID")
'.Sorted = True 'funktioniert nicht
.DataSource = dt
.SelectedIndex = -1
End With


MfG
 

Lesen sie die antworten

#1 Elmar Boye
16/09/2009 - 11:57 | Warnen spam
Hallo Adam,

Adam Loch schrieb:
möchte zwei ComboBoxen - eine mit Nummern und eine zweite mit den
dazugehörigen Namen (sollten alph. sortiert gelistet werden) - so verknüpfen,
daß bei der Auswahl einer Nummer in der zweiten ComboBox der Name angezeigt
wird , bzw. umgekehrt, wenn ein Name ausgewàhlt wird, soll in der ersten
comboBox die Nummer angezeigt werden.



Wenn an eine Datenquelle gebunden wird, so bestimmt diese die Sortierung
und die Sorted Eigenschaft ist nicht mehr funktionstüchtig.

Da bei eine sortierte Sicht, in dem Du entweder dt.DefaultView.Sort
festlegst, hier auf "Bankname". Oder eine DataView erstellst:
Dim sortedView As New DataView(dt, "", "Bankname ASC", DataViewRowState.CurrentRows)

Was Du damit nicht erreichen kannst, ist das unterschiedlich sortiert wird,
also einmal nach Nummer und einmal nach Name. Denn automatisch synchronisiert
werden die beiden ComboBoxen nur, solange sie an die gleiche Datenquelle gebunden sind.

Für zwei unterschiedliche Sortierungen brauchst Du zwei Datenquellen(DataView)
Und die Synchronitàt muß manuell über das SelectedIndex/ValueChanged
Ereignis hergestellt werden.

Gruß Elmar

Ähnliche fragen