Autor Thema: Richtextitem nicht vorhanden  (Gelesen 3920 mal)

TomLudwig

  • Gast
Richtextitem nicht vorhanden
« am: 09.09.04 - 09:27:47 »
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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Richtextitem nicht vorhanden
« Antwort #1 am: 09.09.04 - 09:36:09 »
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.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

TomLudwig

  • Gast
Re:Richtextitem nicht vorhanden
« Antwort #2 am: 09.09.04 - 09:42:04 »
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.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Richtextitem nicht vorhanden
« Antwort #3 am: 09.09.04 - 10:02:33 »
Genauso muss mans machen, neu anlegen und dann das UIDoc refreshen oder neu laden. Dazu muss allerdings das Backend gespeichert werden.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

TomLudwig

  • Gast
Re:Richtextitem nicht vorhanden
« Antwort #4 am: 09.09.04 - 10:22:13 »
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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Richtextitem nicht vorhanden
« Antwort #5 am: 09.09.04 - 10:25:07 »
Reload, nicht refresh, sorry. Irgendwo findet man in der Designer-Hilfe eine genauere Anleitung, wie man RTFelder vom Backend her beeinflusst, solltest Du vielleicht mal dort nachlesen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Richtextitem nicht vorhanden
« Antwort #6 am: 09.09.04 - 10:31:39 »
Das Dokument muss NACH dem Bearbeiten des RTFs im Backend im FrontEnd geöffnet werden. Auch ein Reload bringt nix, wenn das Dok im FrontEnd schon offen ist.

Aber: Warum ist das Feld "rolls" eigentlich ein RTF ?

Bernhard

TomLudwig

  • Gast
Re:Richtextitem nicht vorhanden
« Antwort #7 am: 09.09.04 - 10:33:22 »
weil ich die rollen untereinander aufgelistet haben möchte.

Mit Mehrfachwerten in Textfeldern hab ichs nicht hinbekommen.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Richtextitem nicht vorhanden
« Antwort #8 am: 09.09.04 - 10:35:31 »
Mehrfachwerte im Textfeld zulassen
auf dem zweiten Tab als Trennzeichen für mehrere Werte "Neue Zeile" angeben, dann geht das mit Textfeldern.

Bernhard: mit R6 sollte doch eigentlich der Reload genügen (habs aber selber auch noch nicht getestet), war eine der von IBM hochgehaltenen Neuerungen damals ....
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

TomLudwig

  • Gast
Re:Richtextitem nicht vorhanden
« Antwort #9 am: 09.09.04 - 10:48:49 »
Nach meinem Testen hab ich rausgefunden, dass ich die Werte mit einem Semikolon oder so was trennen muss und dann das Dokument aktualisieren.

Ist das richtig?

Oder kann ich die Werte gleich Zeile für Zeile eingeben?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Richtextitem nicht vorhanden
« Antwort #10 am: 09.09.04 - 10:51:39 »
Jens' Vorschlag setzt voraus, dass die einzelnen Rollen-Namen in ein Array geschrieben und dieses dann dem Feld übergeben wird.
Einfacher ist in diesem Fall sicherlich, einfach Zeilenschaltungen zwischen die einzelnen Rollen-Namen zu setzen.
By the way: Ein Semikolon nützt überhaupt nichts.

Bernhard

TomLudwig

  • Gast
Re:Richtextitem nicht vorhanden
« Antwort #11 am: 09.09.04 - 10:57:02 »
Frage1: Wie setze ich eine Zeilenschaltung zwischen die einzelnen Elemente?
Frage2: Wie übergebe ich ein Array dessen Größe unbekannt ist an ein Feld?

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Richtextitem nicht vorhanden
« Antwort #12 am: 09.09.04 - 10:57:55 »
Array oder mit der Methode AppendToTextList, um die Mehrfachwerte im TextItem einzutragen
« Letzte Änderung: 09.09.04 - 10:59:17 von Semeaphoros »
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

TomLudwig

  • Gast
Re:Richtextitem nicht vorhanden
« Antwort #13 am: 09.09.04 - 10:59:42 »
Endlich funktionierts... danke danke danke...

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Richtextitem nicht vorhanden
« Antwort #14 am: 09.09.04 - 11:01:11 »
Tom: Wie oben beschrieben, ist das eine Frage der Felddefinition im Formular, wie die einzelnen Einträge dargestellt werden. Dort wie bereits erwähnt als Trennung "Zeilenschaltung" (oder so ähnlich) angeben.

Für das Hinzufügen von Werten schaue in der Designerhilfe folgende beiden Methoden mal an, da wird das alles beschrieben:

NotesDocument.ReplaceItemValue

und

NotesItem.AppendToTextList
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz