Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

Dynamisches Java Applet

<< < (6/9) > >>

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