反饋已提交

網絡繁忙

超連結當前頁跳轉後傳回原報表

1. 概述

1.1 应用场景

超链在当前页(当前窗口)打开后,希望点击某个地方可以返回原报表,效果如下图所示:

.

1.2 实现思路

子表设置 JavaScript 超链和传参,返回原报表页面。

2. 示例

2.1 设计子表

1)新建普通报表,新建数据集 ds1 ,SQL 语句为:SELECT * FROM 订单明细 WHERE 订单ID='${ID}'

2)如下图设计表格,数据集中字段拖到对应单元格,其中 F4 单元格写文本「返回主表」,位置为「靠右」。

3)保存报表,重命名为:子表返回.cpt

2.2 设计主表

1)新建普通报表,新建数据集 ds1 ,SQL 语句为:SELECT * FROM 订单 WHERE 订单ID='${ID}'

2)如下图设计报表,将数据集中字段拖到对应单元格中。

3)打开参数面板,将数据集参数ID添加到面板,控件选择下拉框,设置控件默认值10001,并绑定数据字典,如下图所示:

4)右边组件设置栏选中「para」,也就是参数面板,取消勾选「点击查询前不显示报表内容」,这样做的目的是预览时会自动查询默认值数据,页面不会什么数据都没有。

5)保存报表,重命名为:主表跳转.cpt

2.3 主表添加超链

主表选中 A2 单元格,添加一个网络报表类型的超链,链接到「子表返回.cpt」,打开方式选择「当前窗口」,勾选「继承报表的参数」,如下图所示:

注:这里没设置参数是因为主表和子表都有相同的数据集参数 $ID ,所以直接勾选「继承报表的参数」即可。


2.4 子表添加超链

子表选中 F4 单元格,添加一个JavaScript脚本类型的超链,设置一个参数ID,其值为公式=A2,下方填写 JavaScript 代码,如下图所示:

JavaScript 代码如下:

location=encodeURI(encodeURI("?viewlet=主表跳转.cpt&ID="))+ID;

注:代码和参数可以同样适用于点击事件,这样点击控件也能实现该效果。

2.5 效果预览

保存主表和子表,分页预览主表,链接到子表后再返回的效果如 1.1应用场景 中所示。

不支持 App 端和 HTML5 端预览。

3. 模板下载

已完成模板参见:

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\SpecialSubject\HyplinkReport\主表跳转.cpt

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\SpecialSubject\HyplinkReport\子表返回.cpt

点击下载模板:

子表返回.cpt

主表跳轉.cpt

4. 应用拓展

有的时候想回退到主表,但是不希望控件框中仍然是上次查询的参数,希望是默认的参数值。

可以将上面例子中子表的 JavaScript 代码修改下,而且不需要设置参数,如下图所示:

JavaScript 代码如下:

window.location.href="javascript:history.go(-1)";

效果如下图所示:

.


附件列表


主題: 報表專題
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉