Foxtable(狐表)用户栏目专家坐堂 → 复杂报表


  共有8672人关注过本帖树形打印复制链接

主题:复杂报表

美女呀,离线,留言给我吧!
epsunny
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:4 积分:90 威望:0 精华:0 注册:2013/1/29 14:18:00
复杂报表  发帖心情 Post By:2013/1/29 14:21:00 [只看该作者]

请问要在一个报表中包含多个数据表的数据,比如100个,如何用最简单的方法实现呢?可以通过内部函数定义一些文本,然后嵌套调用吗?

 回到顶部
美女呀,离线,留言给我吧!
epsunny
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:4 积分:90 威望:0 精华:0 注册:2013/1/29 14:18:00
  发帖心情 Post By:2013/1/29 14:28:00 [只看该作者]

 

内部函数 report1 的 定义:

 

 

Dim rt As prt.RenderText


rt.Text = "Hello Panyu" '设置文本对象的内容

Return rt

 

 

 

 

报表1 的定义:

 

Dim doc As New PrintDoc '定义一个报表

doc.body.Children.Add(Functions.Execute("report1"))

Doc.Preview() '预览报表

 

 

预览报表1 总是出错,请问什么原因?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/1/29 14:32:00 [只看该作者]

Dim rt As New prt.RenderText

rt.Text = "Hello Panyu" '设置文本对象的内容

Return rt


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/29 14:34:00 [只看该作者]

 因为rt对象在内部函数执行结束之后,就会消失了,你最好把内容写在全局代码那里。

--------------------

 呵呵说错了,内部函数返回了对象,对象存在引用,所以不会消失的。
[此贴子已经被作者于2013-1-29 14:40:23编辑过]

 回到顶部
美女呀,离线,留言给我吧!
epsunny
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:4 积分:90 威望:0 精华:0 注册:2013/1/29 14:18:00
  发帖心情 Post By:2013/1/29 16:11:00 [只看该作者]

 

 

如果要调用一个参数呢? 传入一个参数,在函数内部对其进行设置后然后传出,这样可以吗?(执行出错,说数组的问题)

 

函数:setFontTitle1

 

Dim rt As prt.RenderText = Args(0)

rt = Args(0)
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中
rt.Style.Font = New Font("宋体", Functions.Execute("setFontTitle1"), FontStyle.Bold) '设置字体

Return rt

 

 

调用这个函数的报表:

 

Dim doc As New PrintDoc '定义一个报表


Dim rt2 As New prt.RenderText '定义一个文本对象
rt2.Text = "第二章 前言" '设置文本对象的内容
rt2 = Functions.Execute("setFontTitle1",rt2)
doc.Body.Children.Add(rt2) '将文本对象加入到报表

doc.Preview() '预览

[此贴子已经被作者于2013-1-29 16:13:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/1/29 16:23:00 [只看该作者]

Dim rt As prt.RenderText = Args(0)

rt = Args(0)
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中
rt.Style.Font = New Font("宋体", Functions.Execute("setFontTitle1"), FontStyle.Bold) '设置字体

Return rt

 

 

改为:

 

 

Dim rt As prt.RenderText = Args(0)

rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中
rt.Style.Font = New Font("宋体", 18, FontStyle.Bold) '设置字体


 回到顶部