反饋已提交
網絡繁忙
通过主表超级链接钻取到子报表中,希望子报表中有个“返回上一页”,当主表中有参数时,点击“返回上一页”能够使用之前使用的参数进行查询数据,且不需要再次点击查询按钮,如下图所示:
「子报表」需要使用 JavaScript 实现并定义参数,返回主报表的方法有两种:
方法一:添加「超级链接>JavaScript 脚本」。
方法二:在参数界面添加控件点击事件,设置 JavaScript 代码。
新建普通报表,新建数据库查询 ds1,SQL 查询语句为:SELECT * FROM 订单。
1)A1~G1 单元格输入标题,A2~G2 单元格拖入对应字段并设置扩展方向为「纵向扩展」,A2 单元格数据设置为「列表」。
2)设置 B2 单元格属性的形态为「数据字典」,选择 FRDemo 中的「客户」表,设置其实际值为「列序号 1」,显示值为「列序号 2」。
表格样式如下图所示:
点击菜单栏「模板>模板参数」,添加一个参数,修改名字为「orderID」,默认值为字符串「10001」。如下图所示:
给「订单 ID」所在单元格增加一个过滤条件,选中单元格点击「单元格元素」,编辑过滤条件为:订单ID 等于参数 $orderID,步骤如下图所示:
1)将参数 orderID 添加到参数界面,将「orderID:」控件值设为「订单编号:」。选择参数控件类型为「下拉框控件」,设置「数据字典」为实际值和显示值为 ds1 中的「订单 ID」,如下图所示:
2)取消勾选参数界面属性的「点击查询前不显示报表内容」,如下图所示:
在制作好子报表之后,选中 A2 单元格,选择「超级链接>网络报表」,选择子报表所在路径,设置链接打开于「当前窗口」,参数传递方式为「GET」,取消勾选「展示参数界面」,添加参数「ID」,值为公式「$$$」。步骤如下图所示:
注1:「展示参数界面」是对子报表的设置,勾选则子报表参数界面显示,取消勾选则子报表的参数界面不显示。
注2:ID 为子报表的模板参数。
新建普通报表,新建数据库查询 ds1,SQL 查询语句为:SELECT * FROM 订单明细。
A2~F2 单元格输入标题,A3~F3 单元格拖入对应字段并设置扩展方向为「纵向扩展」,设计表格样式如下图所示:
点击菜单栏「模板>模板参数」,添加一个参数,修改名字为「ID」,默认值为字符串「10001」。如下图所示:
给「订单 ID」所在单元格增加一个过滤条件,具体设置如下图所示:
在某个空白单元格中填入文本「返回上一页」,选择「超级链接>JavaScript 脚本」,添加参数「orderID」,值为公式「A3」,输入 JavaScript 代码,步骤如下图所示:
JavaScript 代码如下:
location=encodeURI(encodeURI("?viewlet=doc/SpecialSubject/HyplinkReport/钻取并返回主报表.cpt&orderID="))+orderID;
在参数界面直接拖入「按钮控件」,设置控件值为字符串「返回上一页」,添加点击事件,参数设置以及 JavaScript 代码同方法一一致,如下图所示:
注1:设置了参数界面需要取消勾选参数界面属性的「点击查询前不显示报表内容」。
注2:使用方法二时,由于控件在参数界面,需要在主报表「超级链接>网络报表」设置界面勾选上「展示参数界面」。
分别保存主报表和子报表,「分页预览」主报表,方法一效果同 1.1 节预期效果一致。
方法二效果如下图所示:
注:不支持移动端和集成环境下使用。
已完成模板可参见:
主报表:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\钻取并返回主报表.cpt
子报表:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\钻取并返回子报表.cpt
点击下载模板:
钻取并返回主报表.cpt
钻取并返回子报表.cpt
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉