I have a strange problem here. I am trying to create a table in a rich text field using lotus script. I put the values of the rows and the columns into variables and the append the table using those values. The number of columns is 18 and the number of rows will change depending on other factors. It works fine with a number of rows up to and including seven but as soon at it hits 8 it gives me an error which I don’t think it makes sense. The message is:
Illegal column width: check left and right margins
It works with the same amout of columns if it is less than 8 rows so column width does not make sense to me.
Does anybody have any ideas on what the problem may be? The display of the table is the heart of my form so I really need to be able to display it. This application is only for the notes client.
I have tried to test with different information and always it does less than eight and on then it gives the error. The following code is the subroutine that handles the creation of the table. Some of the stuff has been declared in the declaration section of the code so that it is global. The information is stored in an array and then put into the table. It should be straight forward but something is wrong.
Dim dspuidoc As NotesUIDocument
Dim rtnav As NotesRichTextNavigator
Dim displaydoc As New NotesDocument(db)
Dim rowcount As Integer
Dim columncount As Integer
displaydoc.form = "DisplayReport"
Dim infobody As New NotesRichTextItem(displaydoc, "ReportBody")
rowCount = Ubound(arrlist)
columnCount = 18
Call infobody.AppendTable(rowCount, columnCount)
Set rtnav = infobody.CreateNavigator
Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL)
'Set rtt = rtnav.GetElement
richStyle.NotesFont = FONT_ROMAN
richStyle.FontSize = 8
Call infobody.AppendStyle(richStyle)
rtpStyle.FirstLineLeftMargin = RULER_ONE_INCH/8
Call infobody.AppendParagraphStyle(rtpStyle)
For iRow% = 1 To rowcount Step 1
If irow% = 1 Then
richStyle.Bold = True
Call infobody.AppendStyle(richStyle)
Else
richStyle.Bold = False
Call infobody.AppendStyle(richStyle)
'Call rtt.AddRow()
End If
For iColumn% = 1 To columncount Step 1
Call infobody.BeginInsert(rtnav)
Call infobody.AppendText(bigarray(irow%-1,icolumn% -1))
Call infobody.EndInsert
Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
Next
Next
Print "Table has been populated on the overtime report"
Call displaydoc.computewithform(True,True)
Set dspuidoc = wks.editdocument(True,displaydoc)