Lotus 动态表格 LS代码
记录陆君风的一个动态表格代码,列是固定的,行数跟着变量变化。
Set doc=New NotesDocument(db)
doc.form="SRMReport"
doc.Title="By Function"
doc.ReportMonth=YearMonth
Set ritem = New NotesRichTextItem( doc, "ReportTable" )
FunArray=Evaluate({@Unique(@DbColumn( "" ;"" ; "vbyFunctionReport" ; 2 ))})
Call InitialStyles
Call ritem.AppendTable(Ubound(FunArray)+3, 16, , , styles)
Set rtnav = ritem.CreateNavigator
Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL)
Call ritem.BeginInsert(rtnav)
Call ritem.AppendText("Function")
Call ritem.EndInsert
Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
Call ritem.BeginInsert(rtnav)
Call ritem.AppendText("Total HC")
Call ritem.EndInsert
Sub InitialStyles
Set styles(1) = session.CreateRichTextParagraphStyle
styles(1).Alignment = ALIGN_CENTER
styles(1).LeftMargin = 0
styles(1).FirstLineLeftMargin = 0
styles(1).RightMargin = RULER_ONE_CENTIMETER * 2.0
Set styles(2) = session.CreateRichTextParagraphStyle
styles(2).Alignment = ALIGN_CENTER
styles(2).LeftMargin = 0
styles(2).FirstLineLeftMargin = 0
styles(2).RightMargin = RULER_ONE_CENTIMETER * 1.7
Set styles(3) = session.CreateRichTextParagraphStyle
styles(3).Alignment = ALIGN_CENTER
styles(3).LeftMargin = 0
styles(3).FirstLineLeftMargin = 0
styles(3).RightMargin = RULER_ONE_CENTIMETER * 1.7
Set styles(4) = session.CreateRichTextParagraphStyle
styles(4).Alignment = ALIGN_CENTER
styles(4).LeftMargin = 0
styles(4).FirstLineLeftMargin = 0
styles(4).RightMargin = RULER_ONE_CENTIMETER * 1.7
Set styles(5) = session.CreateRichTextParagraphStyle
styles(5).Alignment = ALIGN_CENTER
styles(5).LeftMargin = 0
styles(5).FirstLineLeftMargin = 0
styles(5).RightMargin = RULER_ONE_CENTIMETER * 1.7
Set styles(6) = session.CreateRichTextParagraphStyle
styles(6).Alignment = ALIGN_CENTER
styles(6).LeftMargin = 0
styles(6).FirstLineLeftMargin = 0
styles(6).RightMargin = RULER_ONE_CENTIMETER * 1.7
Set styles(7) = session.CreateRichTextParagraphStyle
styles(7).Alignment = ALIGN_CENTER
styles(7).LeftMargin = 0
styles(7).FirstLineLeftMargin = 0
styles(7).RightMargin = RULER_ONE_CENTIMETER * 1.7
End Sub
Write a comment