自动生成目录

如果你生成的报表特别长,例如长达200页,也许你喜欢给报表加上目录,就像书籍一样。

RenderToc类型专门用于生成报表目录,该类型有一个AddItem方法,语法为:

AddItem(目录名称,目录指向的对象,目录层级)

下面是一段示例代码,请留意加粗的几行:

Dim doc As New PrintDoc
Dim
toc As New prt.RenderToc
Dim
s As String
Dim
rt As New prt.RenderText
toc
.BreakAfter = Prt.BreakEnum.Page
rt.Text =
"目录"
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
s =
"新华网绵阳5月16日电(记者孙承斌)16日上午,在四川抗震救灾的"

s = s &
"危急时刻,中共中央总书记?国家主席?中央军委主席胡锦涛乘飞机赶往四川"
s = s &
"省地震灾区,慰问灾区干部群众,看望奋战在抗震救灾第一线的部队官兵?公"
s = s &
"安民警和医护人员,指导抗震救灾工作."
doc.Body.Children.Add(rt)

For
n As Integer = 1 to 30
    rt = New prt.RenderText
    rt.Text =
"第" & n & "章"
    doc.Body.Children.Add(rt)
    toc.AddItem(rt.Text, rt,
1)
    For
m As integer = 1 to
10
       
rt = New prt.RenderText
        rt
.Text = s

        doc.Body.Children.Add(rt)
        toc.AddItem(
"第" & m & "节", rt, 2)
   
Next
Next

doc.body.Children.Insert(
1,toc)
doc.Preview()

这是生成的目录:


本页地址:http://www.foxtable.com/webhelp/topics/1566.htm