示例说明
在一个电子表格报表内,有多个Sheet页,有时候用户希望点击某个Sheet中的对应单元格,可以跳转到另一个Sheet 页。对于这样的需求通过电子表格的跳转规则向导生成宏代码,然后再手动调整即可。
实例效果如下:
设置方法
- 在电子表格报表上新建“跳转规则向导”。
- 在向导的“第二步:目标资源参数设置”界面上,选择“目标资源”为原报表,同时将“在新窗口打开”选择去掉。
- 然后修改生成的“客户端模块”宏代码,将最后的几行代码替换掉。
宏代码
将向导自动生成的宏代码:
代码块 | ||||
---|---|---|---|---|
| ||||
//@smartbi.openOtherPage:"I402880e601728d228d2240cf01728d6c50d80240" openURL("openresource.jsp?resid=I402880e601728d228d2240cf01728d6c50d80240&showtoolbar=true&refresh=true", [{ name: "paramsInfo", value: lang.toJSONString(paramsInfo) }]); |
替换为如下代码:
代码块 | ||||
---|---|---|---|---|
| ||||
var report = spreadsheetReport; if (paramsInfo.length > 0) report.setParamsInfo(paramsInfo); report.doRefresh(true);setTimeout(function() { setTimeout(function() {report.changeSheet(1); report.changeSheetdoRefresh(1true); }, 300); } |
注意 |
---|
替换宏代码后若无法正常刷新数据,可以在report 如无法正常刷新数据,需在宏代码如下图位置中再加上一句report.refreshing=false;该语句需在report.changeSheet(1) 代码后面加上report;与report.doRefresh(true); 这句代码尝试解决,另在页面设置中设置为切换参数不自动刷新(如下图)之间(如下图) |
关键对象总结
- report.doRefresh(true):让报表自动刷新。
- report.changeSheet(1):把报表切换到对应的Sheet页。
资源下载
资源: migrate.xml