Laden...

DataGridView: Referenz (ComboBox) auf anderes Element der eigenen Tabelle verstellt sich

Erstellt von UHM vor 2 Jahren Letzter Beitrag vor 2 Jahren 512 Views
U
UHM Themenstarter:in
22 Beiträge seit 2009
vor 2 Jahren
DataGridView: Referenz (ComboBox) auf anderes Element der eigenen Tabelle verstellt sich

Hallo,

Ich habe ein DataGridView, das mir verschiedene Datensätze anzeigt. Dabei kann in einer Spalte eine Referenz auf eine andere Zeile der in diesem DataGridView mittels einer ComboBox angegeben werden. In der ComboBox wird dabei ein Name dargestellt, der im Datensatz enthalten ist (String).
Nun ist es so, daß die Datensätze in diesen Fällen paarweise vorhanden sind und beide Datensätze des gleichen Paares den gleichen Namen enthalten. Es gibt zwar in einem anderen Datenfeld dann einen Zusatz, durch den die beiden Einträge unterscheidbar sind, aber in der ComboBox kann ich diesen nicht mit anfügen, da zumindest der VS-Designer da nur die Eingabe eines Feldes als DisplayMember erlaubt. In der ComboBox soll man nun eigentlich immer auf den jeweils anderen Datensatz des Paares verweisen. In nicht paarweisen Datensätzen bleibt der Verweis einfach leer.
Ich habe also z.B. folgenden Ziel-Situation:


Name  Zusatz  Verweis
  A      1     A (2)
  A      2     A (1)
  B      1     B (2)
  B      2     B (1)
  C
  D

Nun ist es allerdings so, daß wenn ich einen Verweis einstellen will, meist auch der Verweis des referenzierten Datensatzes auf sich selbst gestellt wird.
Also z.B. ich stelle A1-Verweis auf A2, dann den A2-Verweis auf A1, und wenn ich dann wieder den A1-Verweis anschaue steht dieser auf A1. Man kann dies an der markierten Position in der geöffneten ComboBox erkennen.
Evtl. passiert das nicht sofort beim Einstellen des anderen Verweises, aber spätestens wenn man die ComboBox des Datensatzes wieder aufmacht, bei der geöffneten ComboBox sieht man ja nicht, daß sich etwas ändert.
Was nicht passiert ist, daß A1 auf B1 oder B2 verstellt wird, es bleibt schon immer auf Ax. Bzw. B bleibt immer auf Bx
Das Ganze ist aber nicht Sinn der Sache. Woher kommt das, und gäbe es eine Möglichkeit das abzustellen? Oder ist es nötig den Namen auch eindeutig zu machen, damit der nicht vertauscht wird? Das wäre aber für den Rest des Programmes nicht so toll.

Viele Grüße
UHM