Hallo,
die Werte im Grid kann man über den "DataController" auslesen und ändern:
Delphi-Quellcode:
...
MyGridView.DataController.Values[Zeilennummer,MeineSpalte.Index] := 4711 ;
...
Die aktuelle angezeigten Werten werden mit "ViewData" bearbeitet. Der
Unterschied ist notwendig, da evtl. Filter gesetzt sind.
MyGridView.ViewData.Records[Zeilennummer].Values[MeineSpalte.Index] := 4711 ;
Ggf. ist es besser den abhängigen Wert via "BeforePost" im DataSet
zu setzen. Dabei ist aber zu beachten, dass im "EditValueChanged" kein "Post"
direkt abgesetzt werden kann. Das Grid immer noch den Fokus und bekommt
dann schon wieder die Aufforderung Daten neu anzuzeigen.
In diesem Fall muss der Umweg über die Message gegangen werden.
Leider etwas umständlich.
...
Application.OnMessage := ApplicationMessage ;
...