注意 | ||
---|---|---|
| ||
本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
示例说明
smartbi中的报表资源是可以重复利用,在很多情况下同一张报表资源会在不同的页面中使用,但是在不同的页面中的同一张报表会需求看的数据不同,则这时需要实现同一张报表资源在不同的页面中初始化参数的默认值不同。例如:以在仪表盘不同的页面中同一张报表的公共参数设置不同的默认值。
...
3、在报表宏界面新建客户端模块。在弹出的新建模块对话框中选择对象为page;事件为onRenderPage;并把下面宏代码复制到代码区域;
宏类型
类型 | 对象 | 事件 |
ClientSide | page | onRenderPage |
宏代码
代码块 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
function main(page, pageContext) { var targetResId = "I2c949eaf1a942102011a955a682c0159"; //获取报表资源 var newReport = false; //找到对应的dashlet对象,并刷新它。 var dashlet = page.findDashletByReportId(targetResId); var portlet = dashlet.currentPortlet; //设置页面公共参数的静态值 var pObj = { name: "产品名称参数", //参数名称 value: "苹果汁", //参数的真实值 displayValue: "苹果汁" //参数的显示值 } if (pObj) { portlet.fillParamValueFromObj("产品名称参数", pObj); } //设置参数值到报表对象 portlet.commitParamValue(); portlet.refreshData(); } |
...
- 案例资源:migrate_设置静态参数案例.xml
...