以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  专业报表的自动目录生成功能介绍.  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=2630)

--  作者:狐狸爸爸
--  发布时间:2009/4/29 8:18:00
--  专业报表的自动目录生成功能介绍.
自动生成目录 

 

如果你生成的报表特别长,例如长达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()


这是生成的目录:


此主题相关图片如下:1028.gif
按此在新窗口浏览图片
[此贴子已经被作者于2009-4-29 8:21:28编辑过]

--  作者:kylin
--  发布时间:2009/4/29 8:26:00
--  
是个好东西,顶一下,虽然可能用不到。
--  作者:yangming
--  发布时间:2009/4/29 8:34:00
--  

我需要,我顶!呵呵


--  作者:smileboy
--  发布时间:2009/4/29 8:38:00
--