Domino 9 und frühere Versionen > ND6: Entwicklung

Markierten Gliederungseintrag merken.

<< < (2/2)

Axel:

--- Zitat von: hpollok am 20.06.05 - 14:06:11 ---Hallo Axel,

warum musst Du eigentlich wissen, welcher Gliederungseintrag zuletzt gewählt wurde.

Du weisst doch welche Ansicht gerade angezeigt wird.

Kannst Du nicht daraus schließen, welche Ansicht als nächstes dran ist?


GHP

--- Ende Zitat ---

Hi,

wie kann ich in einem Frameset (links eine Maske und rechts die Ansicht) im linken Rahmen innerhalb der Maske abfragen, welche Ansicht rechts angezeigt wird?

Es geht nicht um dir nächste Ansicht, sondern um die "gleiche" Ansicht für einen anderen Standort.

Also z.B.

Gewählt ist StandortA und angezeigt wird ViewAllesStandortA. Nun wird StandortB in der Combobox gewählt und angezeigt werden soll ViewAllesStandortB.

Ich weiß, dass alles klingt reichlich kompliziert, aber ich weiß nicht wie ich es noch einfacher erklären soll.

Axel

Axel:
Ich hab' die Lösung. Leider über eine INI-Variable, aber was solls, man mus nur vernüftig aufräumen.

Die Ansichten haben alle einen Aliasnamen (z.B. vwMainIngDD, vwMainIngEF... , vwFolderIngDD, vwFolderIngEF...)

Die Combobox beinhaltet die Standorte und als Alias werden die "Viewendungen" verwendet, Dresden|IngDD, Erfurt|IngEF usw. Außerdem wurde die Option "Felder aktualisieren bei Schlüsselwortänderung aktualisieren" gesetzt.

Die Gliederungspunkte sind nun vom Typ "Aktion" mit diesen Formeln:

Gliederungspunkt "Übersicht"

--- Code: ---@SetTargetFrame("NotesView");
@Command([OpenView]; "vwMain" + Standort);
@Environment( "VorgangAuswahl"; "1")

--- Ende Code ---

Gliederungspunkt "Arbeitsmappe"

--- Code: ---@SetTargetFrame("NotesView");
@Command([OpenView]; "vwFolder" + Standort);
@Environment( "VorgangAuswahl"; "2")

--- Ende Code ---

Im PostRecalc-Event der Navigator-Maske ist folgendes Script hinterlegt:

--- Code: ---
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim uidb As NotesUIDatabase
Dim strAuswahl As String
Dim strView As String

Set uidb = workspace.CurrentDatabase

strAuswahl = session.GetEnvironmentString("VorgangAuswahl")
Select Case strAuswahl
Case "1"
strView = "vwMain" & Source.Document.Standort(0)
Case "2"
strView = "vwFolder" & Source.Document.Standort(0)
Case Else
strView = "vwMain" & Source.Document.Standort(0)
End Select  'Select Case strAuswahl

Call workspace.SetTargetFrame("NotesView")
Call uidb.OpenView(strView)


--- Ende Code ---

Danke an alle, die sich einen Kopf bei deisen Temparaturen gemacht haben.


Axel

Mandalor:
Wäre eine Lösung über ein Profildoc da nicht sinnvoller? Ini Geschichten sind immer etwas Zeitkritisch.

Driri:
Ganz sicher nicht über ein Profildokument. Die werden gecached und das geht mit ziemlicher Sicherheit in die Hose.

Axel:

--- Zitat von: Mandalor am 20.06.05 - 16:28:39 ---Wäre eine Lösung über ein Profildoc da nicht sinnvoller? Ini Geschichten sind immer etwas Zeitkritisch.

--- Ende Zitat ---

Wieso zeitkritisch? Mir ist bisher noch keine Verzögerung aufgefallen. An Profildokumente habe ich auch zuerst gedacht, aber ich benutze in der Regel meine eigene Profildokumenten-Verwaltung, eben schon aus dem Punkt den Driri angesprochen hat. Allerdings kann ich dir hier nicht einsetzen, da das Schreiben mit @Formeln nicht implementiert ist.

Axel
 

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln