给固定报表自定义toolbar控件

浏览: 2189

一般而言,可以在URL里使用cv.toolbar=false,但如此一来则所有的toolbar都消失了;同时也可以修改后台system.xml文件添加隐藏元素,但会将牵涉到所有报表。于是就产生了给某些报表自定义toolbar控件,昨天研究出来的方法是,直接重写js即可实现:

优点:
①、根据某些特殊报表的需求,自定义保留或去除toolbar里的某些按钮功能;

②、不会牵涉其它报表
实现方法:
1、打开Report Studio加入HTML控件
2、查看页面原始代码后,复制工具栏的JS代码到HTML

oCV_NS_.rvMainWnd.setToolbar({"namespace":"_NS_","divId":"CVToolbar_NS_","style":"toolbar","S":[...<略>...]});
oCV_NS_.rvMainWnd.init();
oCVSC_NS_.attachObserver(oCV_NS_.rvMainWnd);

3、去除你想要的工具按钮相应的脚本,比如 ‘保留版本’、‘追溯’和‘运行’ 等按钮

Clipboard Image.png

删除相关的JS代码,如下

Clipboard Image.png


对于setToolbar函数后面的内容里,去除一下内容的JS代码:

{"I":{"N":"keepThisVersion","E":"保留此版本","C":"/cognos8/rv/images/action_keep_report.gif","M":{"id":"keepThisVersionoCV_NS_","Y":"dropDown","IS":[{"I":{"N":"emailReport","E":"电子邮件报表","C":"/cognos8/rv/images/action_send_report.gif","A":"oCV_NS_.getRV().SendReport(false);"}},{"I":{"N":"saveReport","E":"保存报表","C":"/cognos8/rv/images/action_save_report_output.gif","A":"oCV_NS_.getRV().SaveReport(false);"}},{"I":{"N":"saveAsReportView","E":"另存为报表视图","C":"/cognos8/rv/images/action_save_report_view.gif","A":"oCV_NS_.getRV().SaveAsReportView(false);"}}]}}},{"P":{"Y":"vertical_line"}},{"P":{"Y":"vertical_line"}},{"B":{"N":"runReport","A":"oCV_NS_.getRV().RunReport();","O":"运行","C":"/cognos8/rv/images/action_run.gif"}},{"P":{"Y":"vertical_line"}},{"B":{"N":"drillDown","A":"oCV_NS_.getDrillMgr().rvDrillDown();","O":"向下追溯","C":"/cognos8/rv/images/action_drill_down.gif","D":"true"}},{"B":{"N":"drillUp","A":"oCV_NS_.getDrillMgr().rvDrillUp();","O":"向上追溯","C":"/cognos8/rv/images/action_drill_up.gif","D":"true"}},{"B":{"N":"goto","A":"oCV_NS_.getDrillMgr().launchGoToPage(null, true);","O":"转到","C":"/cognos8/rv/images/action_go_to.gif","M":{"id":"gotooCV_NS_","Y":"dropDown","A":"oCV_NS_.getDrillMgr().getDrillThroughParameters();"}}},{"P":{"Y":"vertical_line"}},

4、将剩下的代码复制到HTML,在connection里运行,即可得到相应的结果

Clipboard Image.png

  是不是很简单?若您想把 RS编辑按钮、导出按钮、添加此报表按钮菜单去除,那么现在用这个方法也来做一遍吧,可别把代码删错了哦!

推荐 0
本文由 贝克汉姆 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册