Foxtable(狐表)用户栏目专家坐堂 → [求助]专业报表设计代码问题


  共有12893人关注过本帖平板打印复制链接

主题:[求助]专业报表设计代码问题

帅哥哟,离线,有人找我吗?
ssqq
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:117 积分:1003 威望:0 精华:1 注册:2008/12/2 22:51:00
[求助]专业报表设计代码问题  发帖心情 Post By:2009/12/20 2:20:00 [只看该作者]

想打印如下格式的报表

           目录名
分类名
标题
(项目分类 & 内容)段落
如文件所列的数据格式
设计如下代码:
Dim doc As New PrintDoc '定义报表
Dim ra As New prt.RenderArea '定义一个容器
Dim rpar As New prt.RenderParagraph() '定义一个段落
Dim tb as Table = CurrentTable
For r As integer = 0 To tb.Rows.Count -1 '从上而下排版内容
    For c As Integer = 0 To tb.Cols.Count -1 '从左到右排版内容
        If r > 0 AndAlso tb(r,c) <> tb(r - 1,c) AndAlso c = 0 Then
            Dim rt As New prt.RenderText '定义第一列文本
            rt.Text = Chr(13) & tb(r,c) & Chr(13)
            ra.Children.Add(rt)
        ElseIf r > 0 AndAlso tb(r,c) <> tb(r-1,c) AndAlso c = 1 Then
            Dim rt As New prt.RenderText '定义第二列文本
            rt.Text = Chr(13) & tb(r,c) & Chr(13)
            ra.Children.Add(rt)
        ElseIf r > 0 AndAlso tb(r,c) <> tb(r-1,c) AndAlso c = 2 Then
            Dim rt As New prt.RenderText '定义第三列文本
            rt.Text = Chr(13) & tb(r,c) & Chr(13)
            ra.Children.Add(rt)
            ra.Children.Add(rpar)
            Dim rpar As New prt.RenderParagraph() '定义一个段落
        ElseIf  c = 3 Then
            rpar.Content.AddText(tb(r,c),Color.DarkBlue, prt.TextPositionEnum.Superscript)
        ElseIf  c = 4 Then
            rpar.Content.AddText(tb(r,c),Color.Red)
        End If
    Next
Next
doc.Body.Children.Add(ra)
Doc.preview()

但运行报错:

1.由于目录需要居中,所以选用prt.RenderArea容器来装载所有数据
2.由于段落需要首尾衔接,所以选用prt.RenderParagraph()类型
由于一个段落完成后,要重新定义新的段落(RenderParagraph()类型),不知道如何设置.
请大家看看是什么地方出了问题?

 回到顶部