温馨提示
本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。
示例说明
在灵活分析报表中,用户要求部分灵活分析需控制其工具栏上按钮是否显示。此需求无法使用操作权限控制,可以通过书写宏实现。如下图,只保留刷新、导出和打印按钮,其他按钮都隐藏。
设置方法
1、在“资源定制”界面中,创建一张灵活分析报表。
2、选中灵活分析,右键选择 编辑宏 进入报表宏界面。
3、在报表宏界面新建客户端模块,在弹出的新建模块对话框中,选择对象为simpleReport;事件为onRender;并把下面宏代码复制到代码区域。
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | simpleReport | onRender |
说明:V7、V8版本中“个人参数”按钮是延迟加载的,在做按钮隐藏时需要延迟处理,否则按钮还没有完全加载出来就执行了隐藏代码,会导致隐藏失效,隐藏不了的情况,因此需要将隐藏按钮的代码放在setTimeout({ 隐藏个人参数的代码 },10) 块中,其它按钮的隐藏代码也可以放在里面执行,具体代码如下:
宏代码
function main(simpleReport, simpleReportContext) { //debugger; //"none"表示为隐藏,""表示为显示 setTimeout(function() { simpleReport.btnBackward.parentNode.style.display = "none"; //后退 simpleReport.btnForward.parentNode.style.display = "none"; //前进 simpleReport.btnRefresh.parentNode.style.display = ""; //刷新 simpleReport.btnSave.parentNode.style.display = "none"; //保存 simpleReport.btnSaveAs.parentNode.style.display = "none"; //另存为 simpleReport.btnMyFavorite.parentNode.style.display = "none"; //隐藏收藏夹 simpleReport.btnChart.parentNode.style.display = "none"; //图形 simpleReport.btnView.parentNode.style.display = "none"; //视图 simpleReport.btnSelectField.parentNode.style.display = "none"; //添加/删除字段 simpleReport.btnQueryViewSetting.parentNode.style.display = "none"; //报表设置 simpleReport.btnSubtotal.parentNode.style.display = "none"; //分类汇总 simpleReport.btnReportParam.parentNode.style.display = "none"; //参数设置 //simpleReport.btnExcel.parentNode.style.display = "none"; //在Excel中分析 simpleReport.btnExport.parentNode.style.display = ""; //导出 simpleReport.btnPrint.parentNode.style.display = ""; //打印 simpleReport.btnLocate.parentNode.style.display = "none"; //定位业务查询 if(simpleReport.elem_btnSetUserParam){ simpleReport.elem_btnSetUserParam.parentNode.style.display = "none"; //个人参数 } if (simpleReport.elemCreateInsightInQuery) { simpleReport.elemCreateInsightInQuery.parentNode.style.display = "none"; //透视分析 } }, 10) }
关键对象总结
- 设置按钮隐藏:simpleReport.btnBackward.parentNode.style.display = "none";
2 评论
莫会治 发表:
如果产品包含透视分析插件包,那么灵活分析工具栏还会多出一个按钮——“透视分析”。
隐藏该“透视分析”按钮的示例代码如下:
刘俊 发表:
隐藏按钮之间的间隔竖线
simpleReport.elem_space1.parentNode.style.display = "none"; //按钮之间的间隔竖线1
simpleReport.elem_space2.parentNode.style.display = "none"; //按钮之间的间隔竖线2
simpleReport.elem_space3.parentNode.style.display = "none"; //按钮之间的间隔竖线3
simpleReport.elem_space4.parentNode.style.display = "none"; //按钮之间的间隔竖线4