AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
25.05.12 - 20:07:00
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 8
| |-+  ND8: Entwicklung (Moderatoren: Axel, Thomas Schulte, koehlerbv)
| | |-+  RichText mehrere Doclinks anhängen
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: RichText mehrere Doclinks anhängen  (Gelesen 428 mal)
Heiko
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 22


I love YaBB 1G - SP1!


« am: 01.09.10 - 14:24:54 »

Hallo zusammen,

ich möchte in ein RichText-Feld mehrere Doclinks einfügen.
Hab mir das wie folgt gedacht (Codeschnipsel):

Code:
If rtitem Is Nothing Then
   Set rtItem = New NotesRichtextitem(backdoc, "ADUserLnk" )
Else
   Set rtitem = backdoc.GetFirstItem("ADUserLnk")
End If
Call rtitem.AppendDocLink( doc, db.title)

Der Docklink wird jedoch jedes mal überschrieben, wenn der Button das zweite mal gedrückt wird. Sprich, mein Else-Zweig zieht gar nicht.

Freue mich über jede Hilfe.

Heiko
Gespeichert

Viele Grüße
Heiko
Peter Klett
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1356



« Antworten #1 am: 01.09.10 - 14:50:25 »

Hast Du mal versucht, rtitem global zu definieren?
Gespeichert
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19053



« Antworten #2 am: 01.09.10 - 15:05:56 »

Das globale Definieren wird nichts nützen. Ich vermute, dass das ganze im Frontend passiert und nach dem DocLink-Anhängen nicht gespeichert wird. Damit bleibt aus dem Frontend das RTI leer, so dass immer der erste Zweig durchlaufen wird.

Das nur so als Tipp ins Blaue. Heiko kann dazu mehr sagen.

Bernhard
Gespeichert
Peter Klett
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1356



« Antworten #3 am: 01.09.10 - 15:14:43 »

naja, uidoc und backdoc müssten dann sicher auch global definiert werden, damit die nicht mit Betätigen der Schaltfläche neu initialisiert werden.

Da Heiko schreibt, dass der Link immer wieder überschrieben wird, scheint es zumindest beim ersten Klick zu funktionieren, dass das Richtextitem im Frontend (also sichtbar) verändert wird.
Gespeichert
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19053



« Antworten #4 am: 01.09.10 - 15:16:36 »

Ich sag ja: Nicht verzagen, Heiko fragen!  Grin

Hilsen til Norge,
Bernhard

Gespeichert
Heiko
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 22


I love YaBB 1G - SP1!


« Antworten #5 am: 01.09.10 - 16:58:16 »

@Bernhard
Richtig vermutet, der Button ist natürlich im Frontend  Smiley

Speichern und wieder öffnen mache ich. Muss ich ja, damit die Geschichte überhaupt funktioniert.

@Peter
Das globale Definieren hat leider nicht geholfen.
Wenn ich jetzt den Code poste und mich somit als "Cosmosianer" oute muss ich natürlich die Gelegenheit nutzen, und dem "Erfinder ein herzliches Hallo" sagen Wink wie der Zufall so spielt...

Code:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument   
Set uidoc = ws.currentdocument
Dim s As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim backdoc As NotesDocument
Dim rtitem As NotesRichTextItem
Set db = s.CurrentDatabase
Set backdoc = uidoc.document
Set col = ws.PickListCollection(1,True,"YK000700S700","Cosmos\\Auftrag\\personal.nsf","0. UVB\alle\nach Dokumentart","Personalaufträge","Wählen Sie ein Dokument")

If col.Count = 0 Then
Msgbox ("Sie haben kein Dokument ausgewählt")
Exit Sub
End If

Set doc = col.getfirstdocument

If rtitem Is Nothing Then
Set rtItem = New NotesRichtextitem(backdoc, "vb_ADUserLnk_3" )
Else
Set rtitem = backdoc.GetFirstItem("vb_ADUserLnk_1")
End If

Call rtitem.AppendDocLink( doc, db.title)

REM Das aktuelle Dokument schließen und wieder öffnen...
Call ReOpen(backdoc)

End Sub


Heiko
Gespeichert

Viele Grüße
Heiko
Peter Klett
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1356



« Antworten #6 am: 01.09.10 - 20:01:37 »

ja, die Welt ist klein ...

M.E. fehlt das Initialisieren des rtitem

Set rtitem = backdoc.GetFirstItem("vb_ADUserLnk_1")   
If rtitem Is Nothing Then
   Set rtItem = New NotesRichtextitem(backdoc, "vb_ADUserLnk_3" ) (-> wieso 3? Müsste 1 sein!)
End If



Gespeichert
Heiko
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 22


I love YaBB 1G - SP1!


« Antworten #7 am: 02.09.10 - 09:47:01 »

That's it!

   Set rtItem = New NotesRichtextitem(backdoc, "vb_ADUserLnk_3" ) (-> wieso 3? Müsste 1 sein)
natürlich _1 - kam vom vielen hin und her kopieren.

Vielen Dank und schönen Tag
Heiko
Gespeichert

Viele Grüße
Heiko
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: Tinte / Toner günstig