- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
fastreport 初级教程之嵌套报表
嵌套报表
有时一些复杂的报表结构中,需要报表的特殊位置显示特殊的数据。通过
FastReport的Band可以创建这些报表。创建子报表可以使用 “子报表组件”
。
插入这种组件后 ,就会在设计器中添加一个新的页面 ,它连接着这个子报表
组件。镶嵌式报表就像一系列的多页报表系统。唯一不同的就是嵌套报表显示在
基础报表中特殊的位置 ,而不是在他的后面。当输出报表时 ,当FastReport系
统遇到 “SubReport”组件,FastReport引擎,输出关联的设计页,然后输出
报表的其他部分。
还可以在子报表窗面上添加子报表,增加嵌套层数。
注意:可以增加嵌套报表,但最多有6层数据。
5.2、设计子报表
你可以在同一 Band上放置两个或更多的 “SubReport”组件。
这样允许报表设计中,输出数据可以有不同的长度,不同的宽度,不同的高
度。
如你所见 ,报表在输出全部子报表后 ,生成报表结构。子报表也可以使用各
种对齐方法属性。
5.3、子报表中的限制
既然子表是主报表的一部分,他又不能在包含以下Band:
“ReportTitle/ReportFooter”、“PageTitle/PageFooter/PageBackground,”
和 “ColumnTitle/ColumnFooter.”。把这些Band是可以放在主表单上 ,但是
报表系统是不能对其进行处理。同理,嵌套表的选项设置一样不被理会 ,因为报
表输出的时候,主要用到的是主表单的选项。
不能把组件放在 “subreport”组件的下面。
当显示子报表的数据时 ,报表系统将用子报表的内容覆盖 “subReport”组
件下面的位置。打印可能会出现以下情况:
如果要在subreport下面显示数据,可以使用child-band。
在需要多个子报表的情况,这种方法一样适用,
5.4、PrintOnParent选项
“subreport”组件又一个属性 “printonparent”属性 ,根据情况有需要。
默认属性为fals 。
通常子表显示在主表的band上,父Band不依赖于子 Band。不进行拉伸。如
果 “printonparent”属性设为tru ,则打印输出报表的子报表到主报表的包含
有 “subreport”组件的band上。你可以使Band可以随内容进行拉伸。
同为比较常用的报表工具,FineReport对嵌套类报表的解决方案与
FastReport有所不同,由于工具本身的差异化,在实现报表嵌套功能时,
FineReport的步骤更为简单。FineReport是用主子报表来实现嵌套功能,具体
如下:
嵌入式主子表
1 描述
嵌入式主子报表特点是在单元格中嵌入独立的报表模板,嵌入的模板称为子
报表,嵌入子报表后的整体称为主报表。
各子报表间格式可以不对齐,子表与主表的格式也可以不对齐,子报表能够
获取主表中的值。如下图员工销售一览表:
2 示例
2.1制作主报表
如下图设计主表:
添加参数
在主表中定义一个报表参数,参数名为销售员,通过参数查询某一个销售员
的个人信息及订单信息。
使用默认的参数界面,销售员参数控件选择下拉框,实际值为雇员表中的雇
员ID ,显示值为对应的姓名。具体可查看参数定义与参数面板制作章节。
2.2添加不同参数的子报表
子报表sub_1.cpt说明
子 报 表
1 :%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Ma
sterReport\sub_1.cpt。
该子表中通过参数“ID”查询出对应销售员的个人信息。SQL语句为 :SELECT
* FROM 雇员 where 雇员ID =${ID} ,表样为:
在主表中插入子表1
右击主表B3单元格 ,单元格元素插入子报表 ,弹出编辑子报表对话框 ,选
择子表1所在路径;
添加参数ID(子表中的参数名称) ,值使用公式$销售员 ,将主表的销售员参数
值传递给子表1的ID参数,如下图设置:
2.3添加相同参数的子报表
子报表sub_2.cpt说明
子
文档评论(0)