Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: bikerboy am 24.06.09 - 15:38:39

Titel: RichText und Tabellen
Beitrag von: bikerboy am 24.06.09 - 15:38:39
AHHHHHHHH  ich könnte gerade ins Essen brechen.....


Ich versuche hier gerade per selbst geschriebener Klasse Steuertexte im im RTFeld durch eine Tabelle zu ersetzen.

Hab das die Klasse dazu Etappenweise erstellt. ICh habe ein Funktion mit der Ich Tabellen erstelle und eine Funktion die Steuertexte sucht den Cursor dort hinsetzt und dann die Funktion zum erstellen der Tabelle aufruft.

Wie geht ihr bei sowas vor ?  Was sind so die Fettnäpchen in die man treten kann ?

Titel: Re: RichText und Tabellen
Beitrag von: bikerboy am 24.06.09 - 15:46:08
Hier ein bisschen Code....

rtNavigator gehört zur Klasse und ist in beiden Funktionen verfügbar


Public Function createTable(_
   docInput As NotesUiDocument,_
   FieldName As String,_
   Typ As String,_
   Rows As Integer,_
   Colums As Integer)As NotesRichTextTable

....


   Call Me.rtItem.AppendTable(intRows,intColumns,,2.540 * TWIPS,rtpsStyle)
   
   If Me.rtNavigator Is Nothing Then
      Set Me.rtNavigator = Me.rtItem.Createnavigator
   End If
   
   Me.rtNavigator.GetLastElement(RTELEM_TYPE_TABLE)
   
   Set createTable = Me.rtNavigator.GetElement
      
End Function   ' createTable


Public Function Refresh(docTarget As NotesUIDocument,_
   strFieldName As String,_
   dbProduct As NotesDatabase)
      

...

If Me.rtNavigator.FindFirstString(strTag, RT_FIND_CASEINSENSITIVE) Then
   ' Position ist auf das Steuertag gesetzt
   ' Setzt eine Tabelle ein
   Call Me.rtNavigator.SetPosition(Me.createTable(docTarget,FLDRTITEM,docTarget.Document.GetItemValue("Art")(0), 0, 0))
   ' Füllen der Tabelle
   ' Focus in die erste Zelle setzen
   Me.rtNavigator.FindNextElement(RTELEM_TYPE_TABLECELL)
   Call Me.rtItem.BeginInsert(rtNavigator)
   ' Inhalt einfügen
   Call Me.rtItem.AppendText("Hipp Hipp Hurra")
   ' End der "Eingabe"
   Call Me.rtItem.EndInsert()
   Call Me.rtItem.Update()
End If

...

Call Me.rtItem.Compact()
   
End Function