Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Basti* am 03.07.13 - 14:04:23

Titel: Öffnen von View/Folder im selben Frame?
Beitrag von: Basti* am 03.07.13 - 14:04:23
Hallo zusammen,

ich möchte eine View/Folder per Button öffnen. Die View soll nicht in einem neuen Fenster (Reiter) geöffnet werden, sondern im gerade aktuellen. Kleine Hürden dabei: a) ich habe hier ein Frameset und b) der Name der zu öffnenden View (Folder) wird in dem Button erst berechnet.

Ich gehe derzeit über


   Dim ws As New NotesUIWorkspace
   Dim uidb As NotesUIDatabase
   Set uidb = ws.CurrentDatabase
   Call uidb.OpenView(viewname,"",False)
   ws.ViewRefresh

Dabei wird die Ansicht immer im neuen Fenster (Reiter) geöffnet. Ist das die einzige Möglichkeit, per Script eine View/Folder zu öffnen?

Hat da einer eine Idee?


Grüße
Basti
Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: ascabg am 03.07.13 - 14:07:25
Hallo,

Prinzipiell wuerde ich mal folgendes nachsehen.

1. Ist in dem Frame, in dem sich der Button befindet ein 'Zielframe' gesetzt.
2. Verwendest Du fuer Deine Frames die Standardnamen von Notes?


Andreas
Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: Basti* am 03.07.13 - 14:34:08
Hi Andreas,

zu 1. ja, ich hab als Zielframe den eigenen Framenamen gesetzt.
zu 2. oh, was für Standardnamen? Mein einer Frame heißt "Menu" und der andere "Content". Gibt das Kollisionen?

Grüße
Basti
Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: ascabg am 03.07.13 - 14:43:14
Unter Umstaenden Ja.

Der Standardname fuer den Frame, in dem die View/der Ordner angezeigt werden soll heisst: NotesView
Ist noch eine Dokumentenvorschau dabei, heisst der Standardname fuer diesen: NotesPreview.

Aber noch ein Frage.

Wie berechnest Du denn den Namen der zu oeffnenden Ansicht?


Andreas
Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: Basti* am 03.07.13 - 15:18:17
OK, dann werd ich  an dieser Stelle noch mal probieren, mit den FrameNamen was zu drehen. Vielleicht hilfts ja?!

Der Namen der View (bzw. in dem Fall ist es eigentlich ein Folder) setzt sich zusammen aus dem Usernamen und einem Zusatz. Das ganze heißt dann zb. "Marcus Müller/Suche".

Basti
Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: Tode am 03.07.13 - 15:19:09
ws.SetTargetFrame( "Content" ) vor dem uidb.OpenView sollte reichen...
Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: ascabg am 03.07.13 - 15:22:04
Oder man arbeitet mit @-Formeln.


Andreas
Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: Basti* am 03.07.13 - 15:40:38
@Formel ist gerade etwas blöd, da ich auf verschiedene Script-Functions zurückgreifen muss. Aber ws.SetTargetFrame sieht sehr gut aus :)

Das Merkwürdige: wenn ich (schwachsinniger Weise)

ws.SetTargetFrame("Menu")

aufrufe, gehts super. Bei dem eigentlichen

ws.SetTargetFrame( "Content" )

gibt es die Meldung: "unable to change views in this context."

Was will mir der Autor damit sagen?? Ok, geht nicht. Ist klar. Aber warum und wieso und überhaupt??

Basti



Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: Basti* am 04.07.13 - 10:18:00
Nachtrag:
Der Aufruf von ws.SetTargetFrame(<target>) scheint immer nur für andere (!) Frames zu gelten. In sich selbst eine View zu öffnen, mißlingt mit obiger Fehlermeldung.

Basti


Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: ascabg am 04.07.13 - 10:30:01
Hallo,

Habe ich das jetzt richtig verstanden.

Der Button, mit dem die Ansicht geoeffnet werden soll, befindet sich breits in dem Frame, in dem auch die
entsprechenden Ansicht geoeffnet werden soll?


Andreas
Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: Basti* am 04.07.13 - 10:57:51
Hi Andreas,

ja, das hast Du richtig verstanden :)

Basti
Titel: Re: Öffnen von View/Folder im selben Frame?
Beitrag von: jww am 06.12.13 - 08:55:50
Sowas hatte ich früher mal realisieren wollen, aber mir ist dann immer Notes abgeschmiert (@Formeln).

Was ich mal versuchen würde, wäre in dem Frame die View per Formel einzubinden, die ihren Wert via getField von einem Settings-Dokument bekommt. Den Inhalt setzt Du um und machts einen Refresh
 des Framesets.

Ich glaube, dass es bei mir damals so gefunzt hat.