Domino 9 und frühere Versionen > ND7: Entwicklung

queryrecalc & fieldsettext

(1/2) > >>

Green:
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

m3:
Du willst den Feldinhalt im Backend setzen. ;)

Green:
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.

m3:
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:

--- Zitat ---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.
--- Ende Zitat ---

koehlerbv:
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

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln