示例说明
在灵活分析的表尾添加more链接,并且覆盖打开目标报表如下图:
设置方法
- 在资源定制中,创建一张灵活分析。
- 选中灵活分析,右键选择 编辑宏 进入报表宏界面。
- 在报表宏界面新建客户端模块。在弹出的新建模块对话框中选择对象为simpleReport、事件为onRender、并把下面宏代码复制到代码区域;
宏类型
类型 | 对象 | 事件 |
ClientSide | simpleReport | onRender |
宏代码
function main(simpleReport, simpleReportContext) { var btnButton = document.createElement("input"); btnButton.type = "button"; btnButton.value = "more"; btnButton.style.border = "none"; btnButton.style.background = "none"; btnButton.style.width = "40px"; btnButton.style.padding = "3px 0 0 0"; btnButton.style.margin = "0"; btnButton.onclick = function() { var targetResId = "I4028813957a114bf014b58970b73015a"; //跳转打开目标的报表ID doClick(simpleReport, simpleReportContext, targetResId); } var objspan = simpleReport.reportTail; //灵活分取父容器 objspan.appendChild(btnButton); simpleReport.reportTail.align = "left"; //表尾居中 } function doClick(meterReport, simpleReportContext, targetResId) { var pageContext = page.getContext(); //跨页跳转需要先获取参数值。 var paramsInfo = new Array(); //设置或收集参数值。 //debugger; //打开新页面 if (domutils.isIOS() || domutils.isAndroid()) showInternalFrame(targetResId, paramsInfo); else { var url = 'openresource.jsp?resid=' + targetResId + '&browserType=ie&showPath=false'; var form = document.getElementById("__openReportURLForm"); if (!form) { var form = document.createElement("FORM"); document.body.appendChild(form); } form.innerHTML = ""; form.style.display = "none"; form.id = "__openReportURLForm"; form.action = url; if (window.parent.name == '') window.parent.name = "URLLinkIFrame"; form.target = "_self"; var params = document.createElement("input"); params.type = "hidden"; params.name = "paramsInfo"; params.id = "params"; params.value = lang.toJSONString(paramsInfo); form.appendChild(params); form.method = 'POST'; form.submit(); } }