Domino 9 und frühere Versionen > ND6: Entwicklung

Eingebettete Gliederung aktualisieren

(1/2) > >>

semtex:
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

semtex:
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

--- Ende Code ---

Wie gesagt, ich bin für jede Hilfe dankbar.
Gruß
semtex

MartinG:
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?

koehlerbv:
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

MartinG:
@Bernhard - in der Maildatenbank funktioniert es allerdings, oder verwechsle ich da jetzt etwas? Und dort wird ein Ordner mit @Command([CreateFolder]) erzeugt...

Gruss
Martin

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln