Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino
Dynamisches Java Applet
CLI_Andreas_Schmidt:
Dieses Script für die Ansichtsspalte ist grundsätzlich super. Es weist jedoch die gleichen Fehler auf wie mein Ansatz.
1. Sobald es ein Antwort auf Antwort Dokument gibt, wird dieses in der Navigation nicht mehr der zweiten Stufe untergliedert. Das Heißt es steht auch in der Höhe der Antwort und wird nicht eingeklappt. (wie bei meiner Lösung) Ich konnte es mit <li> und </ul> erreichen, das beim Klick auf den Hauptpunkt alle gleichzeitig aufgehen. Finde ich jedoch schlecht, aber es läuft soso.
2. In dieser Spalten-Lösung, die ich eigentlich sehr genial finde, gibt es bei den leeren Einträgen (Also nur Hauptdokumente ohne Antworten) beim Klick eine Fehlermeldung. "Style ist NULL oder kein Objekt---> Das Style ist eigentlich da somit kann es nur das Objekt sein."
3. Die Verlinkung zu den Dokumenten ist noch nicht funktionsfähig. Die Antworten verweisen ebenfalls auf das Hauptdokument.
Ich kann nur hoffen, das Du es schaffst, ich blicke bei den ganzen möglichen Ansätzen kaum noch durch. Leider kann ich die Datenbank nicht posten.
Gruss
Andreas.
PS: HIIIIILFE
CLI_Andreas_Schmidt:
Hi an alle. Als ich verzweifelte habe ich mir gedacht einen Agenten zu schreiben, der die Dokumente rausprintend. Der Code steht unten. Was kann der Code ? Auf Basis des Beispiels (Link von Axel) wird jetzt eine Navigation aufgebaut und die Dokumente werden verlinkt. Gut. Was geht noch nicht ?
1. Mein Beispiel kann bisher nur eine Antwort generieren und ein Kommentar erstellen. --- weil ---- getChild kann nur eine Antwort (die erste Antwort) holen. Ein Schleife durch die Antworten habe ich noch nicht gefunden.
----> Eine Lösung hierfür wäre schon mal super.
2. Bei meinem Beispiel sind alle Einträge aufgeklappt. (viel zu hoch) und nimmt sehr viel Platz weg. --> Komisch auch, das selbst die Einträge ohne Antworten (nur Hauptdokument) sich auch aufklappen lassen. ???
----> Ein Lösung hierfür wären sehr klasse
3. Ich glaube das Lösungssciript, welches in den JSHeader kopiert wird ist so nicht in der Lage einen reinen Baum anzuzeigen. Ab der zweiten Ebene wird eine leere Zwischenebene benutzt. Siehe Beispiel hier. http://www.dynamicdrive.com/dynamicindex1/navigate1.htm
Wenn Ihr genau hinsieht, dann ist der dritte Eintrag ein leerer Ordner und macht wiederholt wieder die Struktur.
Ich persönlich finde Axels Ansatz in der Ansichtspalte am besten nur wird vielleicht auch hier der JS-code nicht ausreichen.
Help-----
------------------------------------------
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim v As Notesview
Dim doc As NotesDocument
Dim stringvarend As String
Dim navdoc As NotesDocument
Dim response As NotesDocument
Dim responseCC As NotesDocument
Dim area As String
Dim konfview As NotesView
Dim konfdoc As NotesDocument
Dim col As NotesDocumentCollection
Dim i As Integer
Set db = s.CurrentDatabase
Set v = db.GetView("content")
Set doc = v.GetFirstDocument
Set konfview = db.GetView("konfnav")
Set konfdoc = konfview.GetFirstDocument
If Not (konfdoc Is Nothing) Then
Call konfdoc.Remove(True)
End If
While Not (doc Is Nothing)
If doc.form(0)="area" Then
stringvar = stringvar + {<li id="foldheader"><a href="http://spsrv1/igusIntranet80_b.nsf/content/} & doc.uniqueid(0) & {?Opendocument" target="content">} & doc.a_area(0) & {</a></li>}
Set response = v.getchild(doc)
If Not (response Is Nothing) Then
stringvar = stringvar + {<ul id="foldinglist"><li><a href="http://spsrv1/igusIntranet80_b.nsf/content/} & response.uniqueid(0) & {?Opendocument" target="content">} & response.CSubject(0) & {</a></li>}
Else
stringvar = stringvar + {</ul>}
Goto weiter
End If
Set responseCC = v.getchild(response)
If Not (responseCC Is Nothing) Then
stringvar = stringvar + {<ul id="foldinglist"><li><a href="http://spsrv1/igusIntranet80_b.nsf/content/} & responseCC.uniqueid(0) & {?Opendocument" target="content">} & responseCC.CCSubject(0) & {</a></li></ul>}
End If
Else
stringvar = stringvar + {</ul>}
End If
weiter:
stringvarend = stringvarend + stringvar
stringvar=""
Set doc = v.GetNextDocument(doc)
Wend
Set navdoc = db.CreateDocument
navdoc.form = "konfnav"
navdoc.label = stringvarend
Call navdoc.save(True,True)
End Sub
Marinero Atlántico:
@Andreas: Kannst du nicht die relevanten Teile in eine lauffähige kleine Mini-Anwendung packen. So ist das einfach mission imposible.
Für Resonses gibt es in Script:
--- Code: ---NotesDocumentCollection col = doc.responses
--- Ende Code ---
Problem dabei ist, dass die Collection unsortiert ist.
Besser ist eigentlich eine dynamische View-Formelsprachenlösung. Das scheint hier aber nicht trivial zu sein.
Gruß Axel
CLI_Andreas_Schmidt:
Ich versuche es.
CLI_Andreas_Schmidt:
Hallo an Euch,
ich habe es jetzt soweit hinbekommen, dass alle Dokumente (bis zu 3. Ebenen) ausgedruckt werden und als Link in der Navigation angezeigt werden.
Guckt Ihr unten:
Jetzt muss ich nur noch die Navigation Ein- und Aufklappen drumlegen. Vielleicht geht ja auch der Ansatz. <SPAN></SPAN>
Was meint Ihr ? Kann jemand helfen ?
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim v As Notesview
Dim doc As NotesDocument
Dim stringvarend As String
Dim navdoc As NotesDocument
Dim response As NotesDocument
Dim response2 As NotesDocument
Dim area As String
Dim konfview As NotesView
Dim konfdoc As NotesDocument
Dim col As NotesDocumentCollection
Dim i As Integer
i = 1
Set db = s.CurrentDatabase
Set v = db.GetView("content")
Set doc = v.GetFirstDocument
Set konfview = db.GetView("konfnav")
Set konfdoc = konfview.GetFirstDocument
If Not (konfdoc Is Nothing) Then
Call konfdoc.Remove(True)
End If
While Not (doc Is Nothing)
If doc.form(0)="area" Then
' Schreibt den ersten Link mit dem Subject aus dem Hauptdokument
stringvar = stringvar + {<h3><a href="http://spsrv1/igusIntranet80_b.nsf/content/} & doc.uniqueid(0) & {?Opendocument" target="content" onMouseOver="return toggleMenu('menu} & i & {')">} & doc.a_area(0) & {</a></h3>}
' Das erste Antwortdokument zum Hauptdokument laden
Set response = v.getchild(doc)
While Not ( response Is Nothing )
stringvar = stringvar + {<a href="http://spsrv1/igusIntranet80_b.nsf/content/} & response.uniqueid(0) & {?Opendocument" target="content">} & response.CSubject(0) & {</a><br>}
Set response2 = v.getchild(response)
While Not ( response2 Is Nothing )
stringvar = stringvar + {<a href="http://spsrv1/igusIntranet80_b.nsf/content/} & response2.uniqueid(0) & {?Opendocument" target="content">} & response2.CCSubject(0) & {</a><br>}
Set response2 = v.GetNextSibling( response2 )
Wend
Set response = v.GetNextSibling( response )
Wend
End If
weiter:
stringvarend = stringvarend + stringvar
stringvar=""
i = i + 1
Set doc = v.GetNextDocument(doc)
Wend
Set navdoc = db.CreateDocument
navdoc.form = "konfnav"
navdoc.label = stringvarend
Call navdoc.save(True,True)
End Sub
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln