示例说明
需求:在源灵活分析中传递参数多个值到目标报表文本框参数中。


设置方法
- 在资源定制中,创建一张灵活分析作为跳转源资源。

- 在资源定制中,创建一张灵活分析作为跳转目标资源。注意此灵活分析文本框参数的数据类型需要设置为"其他类型"。

- 选中灵活分析,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建客户端模块,在弹出的新建模块对话框中选择对象为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();