页面树结构
转至元数据结尾
转至元数据起始

温馨提示

本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。

示例说明

在灵活分析报表中,用户要求部分灵活分析需控制其工具栏上按钮是否显示。此需求无法使用操作权限控制,可以通过书写宏实现。如下图,只保留刷新、导出和打印按钮,其他按钮都隐藏。


设置方法

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 评论

  1. 莫会治 发表:

    如果产品包含透视分析插件包,那么灵活分析工具栏还会多出一个按钮——“透视分析”。

    隐藏该“透视分析”按钮的示例代码如下:

    if (simpleReport.elemCreateInsightInQuery) {
    	simpleReport.elemCreateInsightInQuery.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