页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

版本 1 当前 »

示例说明
在仪表盘中,实现页面A跨页跳转到页面B,在在页面B的公共参数后面增加一个返回按钮,实现页面A跨页跳转到页面B可以返回。
如下图,页面A可以跨页跳转到页面B(通过跳转规则实现):

如下图,页面B公共参数后面有返回按钮,点击返回到页面A:

设置方法

  1. 在资源定制中,创建页面A和页面B, 要求使用跳转规则向导实现页面A跨页跳转到页面B,并把页面B的参数设置为公共参数。
  2. 选中页面B,右键选择 编辑宏 进入报表宏界面。
  3. 在报表宏界面新建客户端模块。在弹出的新建模块对话框中选择对象为page;事件为onRenderPage;并把下面宏代码复制到代码区域; 

宏类型

类型

对象

事件

ClientSide

page

onRenderPage

宏代码 (请点击Expand source 查看具体宏代码)

function main(page, pageContext) {
    var paramTableRows = page.paramPanel.layoutTable.rows;
    var row1 = paramTableRows[paramTableRows.length - 1];
    var cell = row1.insertCell( - 1);
    var btn = document.createElement("input");
    btn.value = "返回";
    btn.type = "button";
    btn.className = "button-buttonbar button-buttonbar-noimage";
    cell.appendChild(btn);
    page.elemParamPanel.style.display = "";
    page.addListener(btn, "click", doBack, [page, pageContext]);
}
function doBack() {
    var page = this[0];
    var pageContext = this[1];
    var targetResId = "I000000003ea113db013f60575c603a75";
    //跨页跳转需要先获取参数值。
    var paramsInfo = new Array();
    //设置或收集参数值。
    //debugger;
    //var pObj = simpleReportContext.get("company"); //通过参数名称获取参数对像
    //var pObj = page.getParamValueByName("company"); //通过参数名称获取参数对像
    //if (pObj) {
    // var paramInfo = createParamInfo("company", pObj.value, pObj.displayValue); //填冲参数
    //paramsInfo.push(paramInfo);
    //}
    pageContext.openPageById(targetResId, paramsInfo);
}
//创建参数信息
function createParamInfo(name, value, disValue, mergeType) {
    var paramInfo = new Object();
    paramInfo.name = name;
    paramInfo.value = value;
    paramInfo.displayValue = disValue;
    if (mergeType) paramInfo.groupType = mergeType;
    return paramInfo;
}

关键对象总结

  • 新建button:document.createElement("input")
  • 无标签