Datagridview Wertübergabe

Arijane

Mitglied
Hallo !
Ich verzweifel mal wieder und hoffe inständig auf Eure Hilfe !

Ich habe ein Datagridview welches Daten aus einer Datenbank darstellt und alle 2 sec aktualisiert wird. Wenn sich nun der Wert in einer Zelle ändert, soll ein selbst erstelltes Steuerelement aktualisiert werden.
Die databindings habe ich mir auch schon angeschaut, das ist für meine Zwecke nicht so gut glaube ich.

Jede Zeile steht für ein anderes Steuerelement. Wenn sich der Wert der Spalte X ändert, soll das Steuerelement mit dem Namen aus Spalte Y aktualisiert werden.

Das ganze sollte nach Möglichkeit relativ ressourcenschonend realisiert werden.
Hat jemand Ideen

Grüße
Arijane
 
Hi

Abonnier das CellValueChanged-Event.
In diesem schickst du den neuen Wert an das entsprechende Control.

Sinnvoll wäre dann, wenn du das Mapping zwischen Spalte (oder Zeile) und Zielcontrol cachest (in einem Dictionary z.B.)
 
Danke Nico,

mit dem cellvaluechanged-Ereignis bin ich gerade am rumtüfteln.
Die Wertübergabe an das Steuerelement ist eigentliich die logischste Lösung. Manchmal sieht man den Wald vor lauter Bäumen nicht.

Mit einem Deiner Sätze kann ich leider nicht viel anfangen. Was genau bedeutet das: "Sinnvoll wäre dann, wenn du das Mapping zwischen Spalte (oder Zeile) und Zielcontrol cachest (in einem Dictionary z.B.)"

was meinst Du mit "Mapping" ?

Derzeit versuche ich die Zeile der geänderten Zelle herauszufinden, und der Name des Steuerelements steht dann ja in genau dieser Zeile in Spalte Y. Und da brauche ich dann ja nur noch den Wert übergeben...(es hört sich alles so einfach an:) )

Danke nochmal !
 
Derzeit versuche ich die Zeile der geänderten Zelle herauszufinden, und der Name des Steuerelements steht dann ja in genau dieser Zeile in Spalte Y. Und da brauche ich dann ja nur noch den Wert übergeben...(es hört sich alles so einfach an:) )

Danke nochmal !
Oder so. Den Index der Row kriegst du über die EventArgs geliefert.

Ich hatte dabei an ein Dictionary gedacht, bei dem der Key der Row-Index ist und als Value eine Referenz auf dein Control.
C#:
Dictionary<int, MyUserControl> mapping = new Dictionary<int, MyUserControl>();
 
Zurück