Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Green am 07.11.06 - 16:31:27
-
hallo
wenn ich im event queryrecalc versuche ein feld zu setzen, wird es nach ende des events wieder gelöscht. hier ein beispiel zum nachvollziehen:
Sub Queryrecalc(Source As Notesuidocument, Continue As Variant)
Source.FieldSetText("Test","Text")
print "Queryrecalc: " + Source.FieldGetText("Test")
End Sub
Sub Postrecalc(Source As Notesuidocument)
print "Postrecalc: " + Source.FieldGetText("Test")
End Sub
ist das ein bug? kann man das umgehen?
green
-
Du willst den Feldinhalt im Backend setzen. ;)
-
nein, ich will ihn nur im frontend setzen. es klappt wenn ich Source.FieldSetText("Test","Text") im postrecalc event aufrufe, nur will ich es vor dem refreshen setzen.
-
Doch, Du willst den Wert im Backend-Dokument setzten, sonst klappts nicht. Du musst natürlich nicht, aber wenn Du das Problem lösen willst ...
Siehe auch die Designer-Hilfe:
Refreshing the current document updates its representation in memory, as well as visually on the workspace, to reflect the changes that have been made to the back-end document.
-
Würde man Felder im QueryRecalc im Frontend setzen, könnte man sich auch selbst übel ein Bein stellen: Hat das Feld die Eigenschaft (oder gar die ganze Maske), bei Feldänderung alle anderen Felder neu berechnen zu lassen, würde man die nette Meldung bekommen "Versuch, verschachtelte Maskenereignisse auszuführen". Dann würde man nämlich aus dem xRecalc selbiges triggern.
Ein weiterer Grund, Martin "m3"s Ausführungen zu folgen.
Bernhard
-
jep hat funktioniert. ich hab zuerst nur gedacht m3 hat mich falsch verstanden. ich wusste nicht, dass es im frontend angezeigt wird wenn man es backend im queryrecalc event setzt.
green