Domino 9 und frühere Versionen > ND8: Entwicklung - XPages
Problem mit der Render-Reihenfolge
buzzy666:
Hi zusammen,
ich habe eine XPage, die enthält zwei CCs: A und B. (A ist in der ersten Spalte einer Tabelle, B in der zweiten).
A enthält wiederum zwei CCs: A1 und A2.
A2 macht auf dem afterPageLoad einen SSJS-Aufruf, von wo aus die CC B auf setRendered(true) gesetzt werden soll.
Zur Laufzeit krieg ich dann den Fehler: 'getComponent()' is null - vermutlich weil die CC B noch nicht gerendered wurde, oder?
Bisher war das kein Problem, weil der SSJS-Aufruf nur auf Knopfdruck getriggert wurde - jetzt soll der Aufruf aber automatisch erfolgen.
Hat jemand nen Tip, wie ich das am besten bewerkstellige?
Grüße,
Buzzy
Sven Hasselbach:
Ich tippe jetzt mal ebenfalls auf ein Timing-Problem.
Warum benutzt Du keine Scoped Variable?
Jan Grünklee:
Hi,
da Du das Rendering jetzt nicht mehr auf Knopfdruck machst, kannst Du doch einfach Deine gewünschte Bedingung in die rendered Eigenschaft Deiner CC B packen. Heißt, Du lässt nicht mehr A2 das Rendering von B machen, sondern B entscheidet anhand Deiner Vorgaben, ob es angezeigt wird oder nicht.
Gruss Jan
buzzy666:
Moing,
hm, stimmt - ich könnte im afterPageLoad eine ScopedVar setzen und selbige in der "B" abfragen. Dazu müsste ich aber ein (Partial) Update triggern oder? Wie mache ich das denn, weil im afterPageLoad sind die "Server-Options" mit den Update-Optionen disabled...
Grüße,
Buzzy
Jan Grünklee:
Ich denke zwar, dass es etwas kompliziert ist was Du da machen willst, weil Du eine Seite lädst und nachdem Du diese geladen hast, nochmal eine Anfrage abschicken willst, nur um etwas ein- bzw. auszublenden.
Aber wenn Du nach dem die Seite geladen ist nochmal einen Partial Refresh triggern willst, dann kannst Du das über den onClientLoad Event machen
--- Code: ---<xp:eventHandler event="onClientLoad" submit="true" refreshMode="partial" refreshId="yourId"></xp:eventHandler>
--- Ende Code ---
Gruss Jan
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln