Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung - XPages => Thema gestartet von: buzzy666 am 09.01.13 - 14:09:42

Titel: Problem mit der Render-Reihenfolge
Beitrag von: buzzy666 am 09.01.13 - 14:09:42
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
Titel: Re: Problem mit der Render-Reihenfolge
Beitrag von: Sven Hasselbach am 09.01.13 - 14:44:54
Ich tippe jetzt mal ebenfalls auf ein Timing-Problem.

Warum benutzt Du keine Scoped Variable?
Titel: Re: Problem mit der Render-Reihenfolge
Beitrag von: Jan Grünklee am 09.01.13 - 14:57:07
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
Titel: Re: Problem mit der Render-Reihenfolge
Beitrag von: buzzy666 am 10.01.13 - 09:20:56
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
Titel: Re: Problem mit der Render-Reihenfolge
Beitrag von: Jan Grünklee am 10.01.13 - 09:49:15
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>

Gruss Jan
Titel: Re: Problem mit der Render-Reihenfolge
Beitrag von: buzzy666 am 10.01.13 - 10:27:53
Versuch ich mal, danke an Euch beide!

Grüße,
Buzzy
Titel: Re: Problem mit der Render-Reihenfolge
Beitrag von: Sven Hasselbach am 11.01.13 - 16:57:40
Zitat
Dazu müsste ich aber ein (Partial) Update triggern oder?
Nein,müsstest Du nicht. Einfach den Wert in eine gescopte Variable schreiben und in der rendered Eigenschaft des CustomControls auswerten.
Titel: Re: Problem mit der Render-Reihenfolge
Beitrag von: buzzy666 am 17.01.13 - 11:07:25
Okidoki, danke!