Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Ronny am 05.03.15 - 13:54:49

Titel: Tabelle im RTF
Beitrag von: Ronny am 05.03.15 - 13:54:49
Hallo,
ich habe eine Tabelle in einem RTF, welche ich dynamisch fülle. Jetzt möchte ich, wenn gewisse Faktoren eintreten, in der zuletzt angelegten Zeile noch Daten ergänzen. Leider fehlt mir hier die Idee, wie ich von dem letzten Feld zwei Felder zurückspringen kann, also wie ich den Merker in der Tabelle setze, um dann wieder diesen zu verwenden. Wer kann mir da helfen?
Titel: Re: Tabelle im RTF
Beitrag von: Tode am 05.03.15 - 13:57:31
NotesRichtextNavigator.FindNthElement( RTELEM_TYPE_TABLECELL, aktuellePos - 2 ) und aktuellePos musst Du halt selbst "hochzählen" bzw. ermitteln...
Titel: Re: Tabelle im RTF
Beitrag von: Ronny am 05.03.15 - 14:19:30
Hier die Lösung:

http://atnotes.de/index.php/topic,35590.0.html

Titel: Re: Tabelle im RTF
Beitrag von: Ronny am 05.03.15 - 14:57:01
kann ich den Text in der Tabellenspalte zentrieren
Titel: Re: Tabelle im RTF
Beitrag von: Tode am 05.03.15 - 15:55:44
Ja, kannst Du: Du musst ein NotesRichtextparagraphstyle- Objekt erstellen, dieses zentrieren, und diesen NotesRichtextParagraphStyle dann der Zelle zuweisen, bevor Du den Text reinwirfst
Titel: Re: Tabelle im RTF
Beitrag von: Ronny am 05.03.15 - 17:17:07
Leider wird es nicht zentriert ausgegeben...

Dim rtpStyle As NotesRichTextParagraphStyle
Set rtpStyle = session.CreateRichTextParagraphStyle

Sub ausgabe(rtnavtab,rtt,rtnav,rtitem,doc,note,anzahl,rtpStyle)
...

   rtpStyle.Alignment = ALIGN_CENTER
   Call rtitem.AppendParagraphStyle(rtpStyle)
   Call rtitem.BeginInsert(rtnav)
   If titel><db_neu.title Or anzahl=1 Then
      Call rtitem.AppendDocLink( db_neu, "Datenbank - "+db_neu.title)
   End If
   Call rtitem.EndInsert   
   rtpStyle.Alignment = ALIGN_LEFT
   Call rtitem.AppendParagraphStyle(rtpStyle)
Titel: Re: Tabelle im RTF
Beitrag von: TRO am 05.03.15 - 17:32:58

   Call rtitem.AppendParagraphStyle(rtpStyle)
   Call rtitem.BeginInsert(rtnav)

Vertausch mal die beiden Zeilen.


hth

Thomas
Titel: Re: Tabelle im RTF
Beitrag von: Ronny am 05.03.15 - 17:38:58
Method is not available
Titel: Re: Tabelle im RTF
Beitrag von: Tode am 05.03.15 - 18:11:04
Sorry, aber aus diesem zusammengeschnipselten Code kann man nur erkennen, dass Du äusserst unsauber programmierst (8 Parameter für eine einzelne Sub, und nicht ein einziger mit dem richtigen Typ deklariert)...

Aber was man nicht erkennt:
Wie positionierst Du den virtuellen "Cursor" deines Richtextitems in die Zelle, die Du zentriert formatieren willst?
Wie wird die Tabelle definiert?

u.U. musst Du beim erstellen der Tabelle schon die ParagraphenStyles mitgeben (ist ein optionaler Parameter), weil Du das im Nachhinein nicht mehr ändern kannst...
Titel: Re: Tabelle im RTF
Beitrag von: Ronny am 06.03.15 - 15:58:02
positioniert wird mittels:

 Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
Titel: Re: Tabelle im RTF
Beitrag von: Tode am 06.03.15 - 16:29:32
Tja, habes grade mal ausprobiert: das geht wohl scheinbar wirklich nicht im Nachhinein. Dann musst Du es so machen, dass Du ein Array von Paragraphstyles erstellt, in dem Du die eine Spalte zentrierst, die zentriert sein sollst, und diese Styles beim erstellen der table zuweist...
Titel: Re: Tabelle im RTF
Beitrag von: Ronny am 06.03.15 - 17:03:41
die Tabelle erstelle ich mit:

Call rtitem.appendtable(1,5)
   Set rtnav = rtitem.CreateNavigator
   Set rtnavtab = rtitem.CreateNavigator
   Call rtnav.FindfirstElement(RTELEM_TYPE_TABLE)

und jetzt stehe ich auf dem Schlauch, wie das funktionieren soll  :(
Titel: Re: Tabelle im RTF
Beitrag von: Tode am 06.03.15 - 17:08:18
Letzter Tipp: Schau Dir die Designer- Hilfe zum Befehl "appendtable" und dort den optionalen Parameter "rtpsStyleArray" an. Da steht alles drin...
Titel: Re: Tabelle im RTF
Beitrag von: Ronny am 06.03.15 - 17:10:26
habs auch gerade gefunden, bin grade dabei  :)
Titel: Re: Tabelle im RTF
Beitrag von: Ronny am 06.03.15 - 20:36:07
Danke, hat geklappt!