Domino 9 und frühere Versionen > ND6: Entwicklung
Eingebettete Gliederung aktualisieren
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