Domino 9 und frühere Versionen > ND6: Entwicklung
Richtextitem nicht vorhanden
TomLudwig:
Hallo,
ich habe in meinem Dokument ein Feld "rolls" vom Typ Rich Text.
Ich kann aber nicht darauf zugreifen. Es erscheint auch nicht im Debugger unter Document -> Items.
Was mache ich falsch?
Folgender Code:
Dim uiwork As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Set uidoc = uiwork.CurrentDocument
Set doc = uidoc.Document
Set rtitem = doc.GetFirstItem( "rolls" )
If ( rtitem.Type = RICHTEXT ) Then
Forall r In db.ACL.Roles
Call rtitem.AppendText(r)
Call rtitem.AddNewline(1)
End Forall
End If
Danke, Tom
Semeaphoros:
Ist das Dokument neu?
Ist das Feld noch nie benutzt worden?
Wie ist das Feld im Formular definiert? Editiierbar oder Berechnet oder Berechnet bei Erstellung? Nur die letzte Definition produziert dieses Item auch sofort, alle anderen Einstellungen produzieren das Item erst, wenn es gebraucht wird, deshalb findest Du es noch nicht.
TomLudwig:
Ist ein neues Dokument und das Feld ist noch nie benutzt worden (bearbeitbar)
Aber wie kann ich dann drauf zu greifen?
Mit doc.CreateRichtTextItem komm ich denk ich auch nicht weiter, weil er dann zwar ein RTItem generiert, aber den Text den ich rein schreibe nicht anzeigt. Bzw. das ganze Feld nicht angezeigt wird.
Semeaphoros:
Genauso muss mans machen, neu anlegen und dann das UIDoc refreshen oder neu laden. Dazu muss allerdings das Backend gespeichert werden.
TomLudwig:
Ich hab das RichtTextFeld "rolls" im Dokument schon vorhanden.
Mit folgendem Quellcode wird leider aber immernoch nichts in diesem Feld angezeigt:
Set doc = uidoc.Document
Set rtitem = doc.CreateRichTextItem( "rolls" )
If ( rtitem.Type = RICHTEXT ) Then
Forall r In db.ACL.Roles
Call rtitem.AppendText(r)
Call rtitem.AddNewline(1)
End Forall
End If
Call doc.Save(True,False)
Call uidoc.Refresh(True)
Rollen sind in der dB vorhanden :P
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln