Domino 9 und frühere Versionen > ND6: Entwicklung
NotesRichText
BEamer:
Hallo Forum,
ich habe folgendes Problem:
Ein Button soll mir aus einen anderen Dokument ein paar Inforamtionen holen. So weit so gut. Nun aber das Problem. In dem Document exestiert ein Richtextfeld, welches mit diesen Daten und einen DokLink auf das eben ausgelesene Dokument gefüllt werden soll.
Laut der NotesHilfe auch kein Problem. Mach ich es also und siehe da, das Feld zeigt nichts an. Nach genauen schauen mit dem Debugger, sehe ich auch nur, dass es eigentlich laufen sollte.
Ich schaue mir die Inhalte des Dokumentes an (ALT+Enter) und sehe 2Richtextfelder. Eines enthält Daten, das andere nicht. Ok, denke ich mir, speichere mal ab und schaue dann nocheinmal nach, aber das Ergebnis ist ein leeres Feld und das Zweite ist auch nicht mehr da.
Kann mir vielleicht hierzu jemand helfen???
Mit freundlichen Gruss
Björn
qu1cke:
Du willst also in ein UIDoc Daten aus einem anderen Doc holen und Doclink auf doc2 in UIDoc einfügen? Oder aus der Ansicht heraus - ach neee, ist ja ein Buhtong im Spiel.
Vielleicht magst Du ja mal den Code posten.. :)
BEamer:
hier ein kleiner Ausschnitt, vielleicht hilft es ja:
Dim UIWorkspace As New NotesUIWorkspace
Dim UIDoc As NotesUIDocument
Dim rtitem As NotesRichTextItem
Set UIDoc = UIWorkspace.CurrentDocument
Set doc = UID.Document
Set rtitem = doc.GetFirstItem ( "Produkte" )
'... holen der Informationen...
'...speichern der Informationen in das RTFeld
If rtitem.Type = RICHTEXT Then
Call rtitem.AppendText _
( "Book is 64 pages, full color." )
' Call newrtitem.Update
End If
Des weiteren, in einer Maske ist ein Feld (dieses RTF) und daneben ein Button, welcher in dieses Feld Informationen eintragen soll. Wie gesagt, die Informationen kommen ja auch, sie werden nur nicht eingetragen. Wenn das mit den DockLink in einen normalen Feld ginge, wäre das kein Problem.
Grüsse Björn
qu1cke:
Hhhm, ich hatte das auch schon einmal ähnlich probiert. Die Notes-Hilfe sagt ja auch aus, daß Änderungen von RTF in einem UIDoc nicht sofort übernommen werden, sondern erst nach Speichern des uidoc.document und Schließen plus erneutem Öffnen des uidoc. Du Darst natürlich das Backend-Doc nicht mit dem uidoc wieder überschreiben. ("Willst Du speichern???" => NEIN) oder saveoptions = "0"
Das funktioniert dann auch:
Sub Click(Source As Button)
Dim UIWorkspace As New NotesUIWorkspace
Dim UIDoc As NotesUIDocument
Dim rtitem As NotesRichTextItem
Set UIDoc = UIWorkspace.CurrentDocument
Set doc = UIDoc.Document
Set rtitem = doc.GetFirstItem ( "Produkte" )
'... holen der Informationen...
'...speichern der Informationen in das RTFeld
If rtitem.Type = RICHTEXT Then
Call rtitem.AppendText _
( "Book is 64 pages, full color." )
End If
Call rtitem.update
Call doc.save(True,False)
End Sub
Grüße
René
Manfred Dillmann:
Hallo BEamer!
>>Set UIDoc = UIWorkspace.CurrentDocument
>>Set doc = UID.Document
Sollte die 2. Zeile nicht:
Set doc = UIDoc.Document
heissen?
Mit "Option Declare" oder "Option Explizit" wäre das nicht passiert.
Gruss
Manfred
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln