在灵活分析报表中,用户要求根据一个参数中的值控制另一个参数是否显示。如示例中,根据报表中的“销售时间”参数中的值来控制 “产品类别”参数是否显示。当“销售时间”参数的值为“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); //显示参数 } } |