示例说明
很多项目希望页面标题可以获取公共参数值,随着公共参数的变化而变化。
设置方法
1、在资源定制节点下,创建一个页面,并把含有参数的报表放到页面中,把参数设置为公共参数;
2、选中页面,右键选择 编辑宏 进入报表宏界面。
3、在报表宏界面新建客户端模块。
- 刷新参数。在弹出的新建模块对话框中选择对象为page;事件为onParamValueChanged;并把下面宏代码复制到代码区域;
宏类型
类型 | 对象 | 事件 |
ClientSide | page | onParamValueChanged |
宏代码
function main(page, pageContext, param) { var pValue = ""; if (param.name == "开始日期") { pValue = param.value; } else { return; } //var year = pValue.substring(0, 4); //var month = pValue.substring(5, 7); //page.elemPortalHeader.innerText = year + "年" + month + "月"; page.elemPortalHeader.innerHTML = "动态参数值" + pValue; page.elemPortalHeader.parentElement.style.textAlign = "center"; }
- 获取参数值。在弹出的新建模块对话框中选择对象为page;事件为onRenderPage;并把下面宏代码复制到代码区域;
宏类型
类型 | 对象 | 事件 |
ClientSide | page | onRenderPage |
宏代码
function main(page, pageContext) { var params = page.dashletList[0].currentPortlet.getParams(); var pValue = ""; for (var i in params) { var param = params[i]; if (param.name == "开始日期") { pValue = param.value; break; } } //var year = pValue.substring(0, 4); //var month = pValue.substring(5, 7); //page.elemPortalHeader.innerText = year + "年" + month + "月"; page.elemPortalHeader.innerHTML = "动态参数值" + pValue; page.elemPortalHeader.parentElement.style.textAlign = "center"; }
关键对象总结
- 公共参数获取: page.dashletList[0].currentPortlet.params