示例说明
在灵活分析报表中,用户要求根据一个参数中的值控制另一个参数是否显示。如示例中,根据报表中的“销售时间”参数中的值来控制 “产品类别”参数是否显示。当“销售时间”参数的值为“2013”时不显示“产品类别”参数;当“销售时间”参数的值为“2014”时显示“产品类别”参数;并报表初始化的时候默认不显示“产品类别”参数。
当“销售时间”参数的值为“2013”时不显示“产品类别”参数,如下图:
当“销售时间”参数的值为“2014”时显示“产品类别”参数,如下图:
设置方法
1、在“资源定制”界面中,创建一张灵活分析报表。
2、选中灵活分析,右键选择 编辑宏 进入报表宏界面。
3、在报表宏界面新建客户端模块,在弹出的新建模块对话框中,选择对象为simpleReport;事件为onRender;并把下面宏代码复制到代码区域。 目的是报表初始化的时候不显示“产品类别”参数。
4、在报表宏界面新建客户端模块,在弹出的新建模块对话框中,选择对象为simpleReport;事件为onParamValueChanged;并把下面宏代码复制到代码区域。目的是当参数发生改变时是否显示 “产品类别”参数。
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | simpleReport | onRender |
宏代码
function main(simpleReport, simpleReportContext) { simpleReport.paramPanelObj.setParamDisplayStyle({ name: "产品类别" }, false); //隐藏参数 // simpleReport.setParamDisplayStyle("产品类别", false); //隐藏参数 }
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | simpleReport | onParamValueChanged |
宏代码
function main(simpleReport, simpleReportContext) { // debugger; var param = simpleReport.getCurrentParamValue("销售时间"); //获取参数值 if (param == '2013') { //参数值为1997时 simpleReport.paramPanelObj.setParamDisplayStyle({ name: "产品类别" }, false); //隐藏参数 // simpleReport.setParamDisplayStyle("产品类别", false); //隐藏参数 } else { simpleReport.paramPanelObj.setParamDisplayStyle({ name: "产品类别" }, true); //显示参数 // simpleReport.setParamDisplayStyle("产品类别", true); //显示参数 } }
关键对象总结
- 设置参数是否显示:simpleReport.paramPanelObj.setParamDisplayStyle({name:paramName}, display);