Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Thunder am 09.10.03 - 17:37:21

Titel: Benutzerdefinierte Ansicht öffnen
Beitrag von: Thunder am 09.10.03 - 17:37:21
Ich bins schon wieder.
Kennt jemand eine Möglichkeit, wie man beim starten einer DB eine ihm zugeordnete Ansicht automatisch öffnen lassen kann ?
zB. aus dem Namen @name([CN];@Username)   eine Ansicht öffnen, die genauso heißt, wie der User ?
Titel: Re:Benutzerdefinierte Ansicht öffnen
Beitrag von: Rob Green am 09.10.03 - 17:50:59
hm... im PostOpen Event der Datenbank (!) kann man sowohl mit Formeln wie auch mit Script arbeiten und damit die zu öffnende Ansicht steuern. Wo das System die Infos bekommt, welche View zu öffnen ist, mußt Du vorher überlegen. Du hast es mit @name schon angedeutet. Doch bei 400 Usern müßtest Du 400 Views haben und wenn mich nicht alles täuscht, wird die DB alleine durch den Index für die einzelnen Views etwas fett ...
Titel: Re:Benutzerdefinierte Ansicht öffnen
Beitrag von: Thunder am 09.10.03 - 17:54:26
Ist nur für meine EDV-Abteilung für die ToDo - DB.
Da gibt es nur ca.10 Ansichten. Das wäre nicht das Problem.
Es geht natürlich auch so, aber es wäre natürlich schon schön wenn...
Titel: Re:Benutzerdefinierte Ansicht öffnen
Beitrag von: Rob Green am 09.10.03 - 17:58:07
ist das eine Frage oder eine Feststellung?  ;)

wenn Frage: erstelle eine (1) "personal View at first use"
Select: @username=Feld_mit_Name_des_Zuständigen_Mitarbeiters
(kanonische Schreibweise, sonst @name([cn];@username)

Effekt: 1 Vorlageansicht
10 persönliche Ansichten mit persönlichen Dokumenten

Alternative B: Leserfeld mit Namen des MA und nur 1 öffentliche Ansicht.
Effekt: jeder sieht nur seine Docs

Alternative C: suche nach "single category" im Forum und/oder "embedded view"

Wenn Feststellung, Antwort: ja 8)
Titel: Re:Benutzerdefinierte Ansicht öffnen
Beitrag von: Axel am 09.10.03 - 18:43:51
Hi,

ich hab mal so was gemacht. Den Code habe ich in einen Agenten gepackt und den rufe ich im PostOpen-Event des Datenbank-Scriptes auf.

Hier der Code:

Sub Initialize
   
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim uidb As NotesUIDatabase
   Dim strView As String
   
   Set uidb = workspace.CurrentDatabase
   
   
   'Startansicht festlegen. Kann auch z.B. aus ini-Datei geholt
                'werden.

   strView = "Name der Ansicht"

   If strView <> "" Then
      'Zielrahmen festlegen
                                Call workspace.SetTargetFrame("NotesView")
      Call uidb.OpenView(strView)
   End If  'If strView <> "" Then
   
   
End Sub

Axel