子报表-Web报表设计器
目录

子报表

子报表的介绍

在实际应用中,常常可以看到某个报表中间包含了一片或者多片单元格,这些单元格片段和报表往往有一个共同的关注对象,但是同时各自又有一个独立的主题,片与片之间往往没有任何关联。我们把这样的报表称为主子报表或者复合报表,有着共同主题的单元格片段称为子报表,而复合报表本身称为主报表。子报表按照引入方式不同分为:嵌入式子报表和引入式子报表。两种类型子报表的具体区别如下:

嵌入式子报表

嵌入式子报表的特点是在单元格中嵌入子报表,形成格中嵌表的模式,子报表和母报表的格线可以不对齐,子表间格线也可不对齐,子报表在展现、导出和打印时为图片。

嵌入式的子报表扩展后,是个独立的报表,因此子表源格一直保留着,母报表可以通过eval函数访问子报表的值。eval函数的使用方法参见:eval函数说明

引入式子报表

引入式子报表的特点是母报表单元格根据子报表的行数列数,双向同时扩展,子报表有几行几列,母报表中就扩展出几行几列,子报表占用母报表的空白行列,格线严格对齐,引入式子报表在展现、导出和打印时为表格。

引入式的子报表扩展后,和母报表形成了一个统一的二维矩形单元格,因此子报表的源格不保留,此时母报表不能访问子报表的值。

子报表的使用

要为某个报表插入子报表时,选中要添加子报表的单元格,通过菜单工具栏上的【插入】-【子报表】,弹出子报表添加界面。如下图所示:

名称

默认为subReport1,subReport2...依次递增,同一个主报表中子报表的名称不允许重复,用户可以使用默认名称,也可以手动修改为合适的名称。

引入方式

引入方式为嵌入式和引入式两种,嵌入式子报表与引入式子报表的区别参见:子报表介绍 。

路径类型与路径

路径类型分为资源列表、相对路径、绝对路径和URL。在选择路径类型,可以按照对应路径类型设置子报表的路径。

主报表中获取嵌入式子报表的值

可以在主报表中使用eval函数获取到嵌入式子报表单元格的值,具体使用说明: 参见:eval函数说明

子报表的参数定义

参数定义是将主表和子表数据进行关联的桥梁,通过参数定义可以在子报表中获取到主报表单元格、参数或表达式运算后的结果值。

定义方法:

1.序号:自动生成参数序号,无需填写或修改

2.参数:子报表的参数名称。例如:arg1

3.对应值表达式:任意能够正常解析的润乾表达式

例如:

将主报表A1单元格的值传递给子报表的参数arg1,表达式为:=A1

将主报表的参数area传递给子报表的参数arg1,表达式为: =@area