AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
28.03.20 - 19:10:13
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Domino 8 und frühere Versionen
| |-+  ND7: Entwicklung (Moderatoren: eknori, koehlerbv)
| | |-+  Frage zum RTF-Handling
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Frage zum RTF-Handling  (Gelesen 2083 mal)
Basti*
Junior Mitglied
**
Offline Offline

Beiträge: 87


« am: 05.03.13 - 12:29:32 »

Hallo miteinander!

Ich versuche mich gerade an RTF-Feldern und komme da ins Stolpern. Ich hab schon gelesen, dass die Dinger etwas knifflig sind und ein etwas umständliches Handling erfordern. UIDoc refreshen (=Schließen und neu Öffnen) bevor man was machen kann, usw. Aber so 100%ig verstanden hab ich noch nicht, was da eigentlich wirklich abläuft.

Mein Problem ist der Zugriff auf die RTF-Felder in der QuerySave Methode. Da existieren die Dinger ja noch nicht. Ich hab ein RTF-Feld und will beim Speichern wissen, ob in dem Feld etwas bestimmtes drinn steht.

Was ich bisher habe:

==========================================
Sub Querysave(Source As Notesuidocument, Continue As Variant)

        Dim rtitem As NotesRichTextItem
        Dim doc As NotesDocument
   
        Set doc =  source.document
   
        'Anfangs ist das Feld nicht im Doc vorhanden, daher dann neu anlegen
        'sonst das erste Item nehmen
        If doc.isnewnote Then
             Set rtitem = New NotesRichTextItem(doc, "mynotes")
        Else
             Set rtitem = doc.GetFirstItem( "mynotes" )   
        End If
   
        'prüfe den Text
        If  rtitem.Text = "Blabla" Then
               '... Tuwas ...
        End If

End Sub

==========================================

Das Problem ist, dass der Text des RTFs nie aktuell ist. Wann wird der Wert, den ich im FrontEnd eingebe, per BackEnd verfügbar/aktualisiert?? Erst beim Speichern des Docs oder schon vorher?

Irgendwo hab ich gelesen, dass man das UIdoc schließen muss OHNE zu speichern und neu öffnen soll. Aber a) dann ist der Text auch nicht aktualisiert und b) hab ich noch nicht wirklich verstanden, was da eigentlich passiert.

Hat jemand einen Tipp?

Grüße
Basti
Gespeichert
Basti*
Junior Mitglied
**
Offline Offline

Beiträge: 87


« Antworten #1 am: 05.03.13 - 14:17:40 »

Ich hab die Lösung doch noch selbst gefunden Wink Man sollte die Logik nicht in QuerySave, sondern in PostSave unterbringen. Dann wurde das Doc bereits gespeichert. Damit auch das RTF. Wenn man sich jetzt das doc zieht, darain manipuliert und dann wieder speichert, hat man alles, was man braucht Smiley

Code:

==========================================
Sub Postsave(Source As Notesuidocument)
       Dim rtitem As NotesRichTextItem
       Dim doc As NotesDocument
   
       Set doc =  source.document
       Set rtitem = doc.GetFirstItem( "mynotes" )   
   
        'prüfe den Text
        If  rtitem.Text = "Blabla" Then
               '... Tuwas ...
        End If

        Call doc.save(False,True)

End Sub
==========================================



Gespeichert
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.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: