Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: reichi am 16.05.07 - 14:49:55

Titel: Seite neu berechnen
Beitrag von: reichi am 16.05.07 - 14:49:55
Hallo

Ich habe eine Datenbank mit einer Rahmengruppe und zwei Rahmen. Im linken Rahmen befindet sich eine Seite mit einer Gliederung und in der rechten Seite werden verschiedene Views angezeigt. Aus der View heraus öffne ich Dokumente in einem neuen Reiter.

Wenn ich nun dieses Dokument wieder schließe möchte ich gerne, dass die Seite aktualisiert wird, da sich darin ein berechneter Wert befindet.

Bis jetzt hab ich es nur über Datenbank schließen hinbekommen.

mfg

Reichi
Titel: Re: Seite neu berechnen
Beitrag von: Glombi am 16.05.07 - 14:53:16
Das sollte gehen:


@Command( [RefreshFrame]; "DeinFrame");

oder
@SetTargetFrame("DeinFrame");
@Command( [RefreshFrame])

oder

@SetTargetFrame("DeinFrame");
@Command([OpenPage];"Hier eine andere Seite");
@SetTargetFrame("DeinFrame");
@Command([OpenPage];"Hier die richtige Seite");


"Hier eine andere Seite" ist dann eine leere Seite.

Andreas


Titel: Re: Seite neu berechnen
Beitrag von: reichi am 16.05.07 - 15:12:46
Okay.

Es soll automatisch geschehen wenn ich die Maske schließe. D.h. eigentlich müsste ich es im Terminate Event der Maske ausführen. Dort geht aber nur LS.

Oder denke ich falsch?  :-:

mfg Reichi

Titel: Re: Seite neu berechnen
Beitrag von: Glombi am 16.05.07 - 15:29:13
Dann so

Call notesUIWorkspace.SetTargetFrame( "DeinFrame" )
Call notesUIWorkspace.OpenPage( "AndereSeite" )

Call notesUIWorkspace.SetTargetFrame( "DeinFrame" )
Call notesUIWorkspace.OpenPage( "DeineSeite" )
Titel: Re: Seite neu berechnen
Beitrag von: reichi am 22.05.07 - 09:59:20
Hallo

Leider funktioniert es nicht. Anstelle die "alte Rahmengruppe" zu öffnen, öffnet sich immer ein neuer Reiter mit dem entsprechenen Inhalt. Auch das erneute Öffnen der "alten Rahmengruppe" über

Call ws.OpenFrameSet("Borderframe")

funktioniert im Terminate-Event nicht

mfg

Reichi
Titel: Re: Seite neu berechnen
Beitrag von: Glombi am 22.05.07 - 10:20:07
Um den bestehenden Rahmen zu überschreiben, muss zunächst _self (case sensitive) verwendet werden:

Call notesUIWorkspace.SetTargetFrame( "_self" )
Call notesUIWorkspace.SetTargetFrame( "DeinFrame" )
Call notesUIWorkspace.OpenPage( "AndereSeite" )

Call notesUIWorkspace.SetTargetFrame( "_self" )
Call notesUIWorkspace.SetTargetFrame( "DeinFrame" )
Call notesUIWorkspace.OpenPage( "DeineSeite" )


Andreas
Titel: Re: Seite neu berechnen
Beitrag von: reichi am 23.05.07 - 09:24:11
Hallo

Funktioniert leider noch nicht.

Also ich hab mal ne kleine Test-DB gebaut und das Szenario reingebaut. Wenn ich links auf Neu klicke öffnet sich sie Maske und ich gebe irgendwas ein. Beim Drücken auf "Speichern & schließen" soll sich die Maske schließen und der berechnete Wert in der linken Seite aktualisieren.

mfg

Reichi
Titel: Re: Seite neu berechnen
Beitrag von: reichi am 23.05.07 - 09:25:09
Hier die Datei
Titel: Re: Seite neu berechnen
Beitrag von: it898ur am 23.05.07 - 11:43:52
Hallo Reichi,

wenn es nur darum geht beim Schließen einer Maske die darunterliegende Ansicht zu aktualisieren (analog zu F9), um z.B. die Daten einer Ansicht zu aktualisieren, habe ich gute Erfahrung mit folgendem Code im QueryClose der Maske gemacht:

   Dim ws As New NotesUIWorkspace
   Call ws.ViewRefresh

Das Ereignis Terminate ist etwas störisch (zumindest in einigen Notesversionen), wenn es um Refreshaufrufe geht - scheint mit der Zurodnung zu aktuellen Datenbank zusammenzuhängen. Das ereignis QueryClose funktioniert interessanterweise aber auch, obwohl es eigentlich vor dem Schließen bearbeitet werden sollte.

Gruß

André