Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: semtex am 17.05.04 - 12:08:14

Titel: Eingebettete Gliederung aktualisieren
Beitrag von: semtex am 17.05.04 - 12:08:14
Hallo,

ich hoffe Ihr könnt mir helfen. SItze schon 'ne ganze Zeit an einem sch... Problem. Und zwar:

Meine Notes-Anwendung ist in einem Frameset aufgebaut.
Im linken Frame ist die Navigation-Seite, in der u.A. eine Liste mit Ordner angezeigt wird. Diese Liste ist eine eingebettete Gliederung.
Der User hat in der Anwendung die Möglichkeit Ordner zu erstellen. Diese neuen Ordner müssen dann in der eingebetteten Gliederung erscheinen.

Das Erzeugen des Ordners und das Hinzufügen zur Gliederung ist kein Problem. Lediglich das Aktualisieren der eingebetteten Gliederung funktioniert nicht. Erst wenn ic die Datenbank komplett schließe und neu öffne wird das Ganze aktualisiert.

Hat jemand eine Idee? Oder gibt es was besseres als eingebette Gliederungen? Mit einem Navigator hab ich's nämlich leider auch nicht hingekriegt...

Vielen Dank für jede Anregung!

Gruß
semtex

Titel: Re:Eingebettete Gliederung aktualisieren
Beitrag von: semtex am 17.05.04 - 14:37:44
Ic hab hier mal noch den Quellcode, mit dem ich den Ordner erzeuge und den Gliederungseintrag erstelle.
Im letzten Teil wird dann die Navigationsseite ("navi") im linken Frame ("left") neu geladen, was ja wie beschrieben nicht so funktioniert wie's soll.

Code
Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim uidb As NotesUIDatabase
   Dim session As New NotesSession
   Dim uidoc As NotesUIDocument   
   Dim outline As NotesOutline
   Dim entryA As NotesOutlineEntry
   Dim entryB As NotesOutlineEntry
   Dim macro, pre_macro, post_macro As String   
   Set db = session.CurrentDatabase   
   Set uidb = workspace.CurrentDatabase
   Set uidoc = workspace.CurrentDocument
   'Dokument speichern
   Call uidoc.Save()
   'Ordner erzeugen
   folderName = uidoc.FieldGetText("NBAktion_Name")
   Call db.EnableFolder(folderName)
   pre_macro = |@UpdateViewDesign("|
   post_macro = |"   ;"Vorlage")|   
   macro = (pre_macro & folderName & post_macro)   
   Evaluate(macro)
   'In Gliederung eintragen
   Set outline = db.GetOutline("ordner")
   Set entryA = outline.GetLast()
   Set entryB = outline.Createentry(folderName,entryA,1)
   Call entryB.SetNamedElement(db,folderName,OUTLINE_CLASS_FOLDER)
   entryB.FrameText = "main"
   entryB.ImagesText ="blind.gif"
   Call outline.save()
   'Ansicht und Navi laden
   Call workspace.SetTargetFrame("left")
   Call workspace.openPage("navi")
   Call workspace.ReloadWindow( )
End Sub

Wie gesagt, ich bin für jede Hilfe dankbar.
Gruß
semtex
Titel: Re:Eingebettete Gliederung aktualisieren
Beitrag von: MartinG am 17.05.04 - 16:36:34
Wenn Du ganz easy über eine Formelbefehl @Command([CreateFolder]) einen Ordner erzeugst, funktioniert dann die Aktualisierung?

Gruss
Martin

PS: Kommt eigentlich der Name SEMTEX von der Band Semtex aus Ulm?
Titel: Re:Eingebettete Gliederung aktualisieren
Beitrag von: koehlerbv am 17.05.04 - 22:12:58
semtex ... da gibt es doch auch diesen tschechischen Kunststoff-Sprengstoff  ;D

@semtex: Die Outline wird beim Öffnen der DB an deren Properties gebunden. AFAIK passiert das wirklich immer nur genau in diesem Moment, ein nachträgliches Ändern wird also bei einer offenen DB nicht erkannt. Ich würde mich da aber gerne irren ...

Bernhard
Titel: Re:Eingebettete Gliederung aktualisieren
Beitrag von: MartinG am 18.05.04 - 11:53:52
@Bernhard - in der Maildatenbank funktioniert es allerdings, oder verwechsle ich da jetzt etwas? Und dort wird ein Ordner mit @Command([CreateFolder]) erzeugt...

Gruss
Martin
Titel: Re:Eingebettete Gliederung aktualisieren
Beitrag von: koehlerbv am 18.05.04 - 12:01:40
... und dann unter "Andere Ordner" angezeigt ? Ich habe das momentan auch nicht im Kopf ...
Titel: Re:Eingebettete Gliederung aktualisieren
Beitrag von: MartinG am 18.05.04 - 12:06:36
So wie ich das sehe ja...  - es gibt ja nur Andere Ordner und private Ordner...

Die Gliederung heisst NotesMailOutline...

Gruss
Martin
Titel: Re:Eingebettete Gliederung aktualisieren
Beitrag von: semtex am 18.05.04 - 15:54:38
Hey,

vielen Dank erstmal für Eure Antworten.
Fettes Lob an das Forum hier, ich kenne keines bei dem so schnell so gute Resonanz kommt!!

Ich werde mir die Maildatenbank mal genauer anschauen. Ich weiss zwar noch nicht, ob das das ist was ich genau brauche, aber die Idee ist schon mal super. Werde mich auf jeden Fall noch mal melden ob's geklappt hat.

Gruß
semtex

P.S.: Zu meinen Nickname: semtex hat nix mit der Ulmer Band zu tun (auch wenn ich schon zufällig beim Surfen über deren Homepage "gestolpert" bin).
Die Idee zum Namen leitet sich tatsächlich von dem Platiksprengstoff ab. Was aber nicht bedeutet, dass ich pyromanisch veranlagt wäre oder irgendwelche Terror-Idioten unterstütze. Hört sich (meiner Meinung nach) nur gut an, aber über Geschmack lässt sich bekanntermaßen ja nicht streiten....  ;)
Titel: Re:Eingebettete Gliederung aktualisieren
Beitrag von: koehlerbv am 18.05.04 - 16:02:13
Naja, mit Semtex kann man ja durchaus praktische Sachen machen: Bäume fällen oder gefallene Bäume zerlegen, Raumschiff-Sektionen trennen (ob die Sojus-Konstrukteure Semtex verwenden, weiss ich nicht, aber die Geräte-, Kommando- und die Orbitalsektion werden wie seit den ersten Tagen nach wie vor vor dem Wiedereintritt in die Atmosphäre auseinandergesprengt) oder -wie mir ein erfahrener Pioniersoldat vor langer Zeit versicherte - sogar Bierflaschen aufmachen (wenn Dosierung und Positionierung stimmen).

Egal - nur auf die NSA musst Du mit dem Nickname aufpassen: Echolon hört alles, und Semtex ist bestimmt ein Keyword  ;D
Wenn Du Dich nicht mehr melden kannst, wissen wir jedenfalls Bescheid  ;D

Bernhard