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

Dynamisches Java Applet

<< < (5/9) > >>

CLI_Andreas_Schmidt:
Jupp. Das Beispiel habe ich jetzt in Notes zum laufen gebracht.

Jetzt muss ich nur noch meine Diskussions-Ansicht dazu bringen, mir die Hauptdokumente mit dem Tag --> folderheader anzuzeigen und die Anwortdokumente mit dem Tag Foldinglist.

CLI_Andreas_Schmidt:
So hier mal einen Zwischenstand. ich habe meine Ansicht für die Hauptordner modifiziert und diese werden auch  wie im obigen Beispiel angezeigt. (s. Anhang).

Hier der Code:

database := @Subset(@DbName; -1);
var:=@Name([CN];@ServerName);
baseUrl := "http://" + var + "/" + database;

a_area:= "<li id=\"foldheader\"><a href=\"" + baseUrl + "/content/" + @Text(@DocumentUniqueID) +  "?opendocument\">" + a_area + "</li>";
a_area

Die Ansicht ist jetzt in eine Page eingebettet und wird eingeschlossen von den Attributen: <ul>Ansicht</ul> zeigt jetzt richtig an:

Problem:
Die Antworten werden jetzt auch in <li>-Attributen eingeschlossen, jedes für sich. Aber alle Antworten zusammen müssen wieder in ein <ul>Antwortdokumente</ul>

???

Ich hoffe ihr konntet mich soweit verstehen.

Gruss

Andreas

Wie kann ich jetzt die Antworten in

CLI_Andreas_Schmidt:
Ich habe mal einen anderen Ansatz. Der Code ist bezogen auf den Link von Axel.

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)
      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>}      
      Set responseCC = v.getchild(response)
      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


Dieses Beispiel ist noch nicht in einer Schleife. ??? Ich komme jetzt gerade bis zum ersten Antwortdokument des Hauptdokuments und im zweiten Schritt vom ersten Antwortdokument zum Antwort auf Antwort (Kommentar) Dokument.

Vielleicht könnte jemand meinen Code erweitern.

Gruss

Andreas

Marinero Atlántico:
kannst du vielleicht die .nsf ein bischen abspecken und die entscheidenden Teile da drin lassen und hier posten. So ist das ein bischen schwierig.
Es gibt noch relativ wilde Möglichkeiten mit so Dingen wie @DocNumber und @DocSiblings.

Aufgabe:
Finde das erste und letzte Dokument einer Kategorie: Dort muss es nämlich <ul><li>Wert</li> bzw.  <li>Wert</li></ul> statt <li>Wert</li> heissen.

Normalerweise kann man mit den Rückgaben von @DocNumber und @DocSiblings nicht soviel anfangen, da es nicht weiterverarbeitbarer "special text" ist. Mit JavaScript geht das aber.
Du musst dann die Spaltenformel irgendwie in der Art aufbauen:

--- Code: ---["<script>" +
"wertNachLetztemPunkt = someJavaScriptStringHandling(" + @DocNumber + ")" +
"if(wertNachLetztemPunkt== "1") {document.write(\"<ul>\")}" +
"documentWrite(<li>" + wert + "</li>)" +
"if(wertNamLetztemPunkt == " + @docSiblings + ") document.write(\"</ul>\") </script>"

--- Ende Code ---
Das könnte so gehen.
Vielleicht finde ich Zeit, dass noch an einem Mini-Beispiel durchzuziehen.

Gruß Axel
 
 

Marinero Atlántico:
Andreas,

probier das attachment mal aus. Ansicht docs dieser Datenbank im Web anzeigen lassen und wenn das so richtig ist in deine Datenbank das script rüberkopieren und ggbfls ein wenig anpassen.

Hier ist Spaltenformel:

--- Code: ---nl:= @NewLine;

"[<script>" + nl +
"// DocNumber as String " + nl +
"var val = \"" + @DocNumber + "\";" + nl +
"// find last number." + nl +
"var elemente = val.split(\".\");" + nl +
"// assign lastNumber to variable " + nl +
"var sLastNumber=elemente[elemente.length - 1];" + nl +
"// assign variable sCountSiblings " + nl +
"var sCountSiblings=\"" + @DocSiblings + "\";" + nl +
"// if its first document, open <ul> tag" + nl +
"if (sLastNumber == \"1\") document.write (\"<ul>\");" + nl +
"//write content of field inside <li>-tag" + nl +
"document.write(\"<li>" + name + "</li>\")" + nl +
"// if its last document in category, close </ul>-tag" + nl +
"if(sLastNumber == sCountSiblings) document.write(\"</ul>\");" + nl +
"</script>]"

--- Ende Code ---

Kommentare in Script verbessert.

Das ist mein alter Trick des Programmiersprachen-Chainings.
Du schreibst serverseitig mit Formelsprache in der Spaltenformel dynamisch JavaScript.
Dieses JavaScript schreibt clientseitig html.
Und so kann man specialText weiterverarbeiten.
 

Gruß Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln