注意 |
---|
提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
示例说明
需求:在源灵活分析中传递参数多个值到目标报表文本框参数中。
...
- 在资源定制中,创建一张灵活分析作为跳转源资源。
- 在资源定制中,创建一张灵活分析作为跳转目标资源。注意此灵活分析文本框参数的数据类型需要设置为"其他类型"。
- 选中灵活分析,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为simpleReport;事件为onRenderTable;并把下面宏代码复制到代码区域。
宏类型
类型 | 对象 | 事件 |
ClientSide | simpleReport | onRenderTable |
宏代码
代码块 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
function main(simpleReport, simpleReportContext) { //字段别名:产品目录编号 simpleReport.addColumnLinkByName("CategoryID", me); }; var menuItem = { alias: "11", callback: function(simpleReport, simpleReportContext) { simpleReport.writeParamsToContext(); var paramsInfo = new Array(); //获取产品目录编号参数值 var pObj = simpleReportContext.get("产品目录编号"); var pvalue = pObj.value; var strs = new Array(); strs = pvalue.split(','); for (i = 0; i < strs.length; i++) { strs[i] = '\\\'' + strs[i] + '\\\''; } var newValue = strs.join(','); var paramInfo = createParamInfo("文本框", newValue, newValue); paramsInfo.push(paramInfo); //在新窗口打开资源 var paraminfoStr = '[{"name":"文本框","value":"' + newValue + '","displayValue":"' + newValue + '"}]'; simpleReportContext.openURL("openresource.jsp?resid=I4028818a398ab8b101398adcf71900f4&showtoolbar=true&refresh=true", [{ name: "paramsInfo", value: paraminfoStr }]); } }; var me = menuItem; //创建参数信息 function createParamInfo(name, value, disValue) { var paramInfo = new Object(); paramInfo.name = name; paramInfo.value = value; paramInfo.displayValue = disValue; return paramInfo; }; |
...
- 获取参数对象:simpleReportContext.get("产品目录编号");
- 打开URL:simpleReportContext.openURL();
...