【小技巧】在Cognos+RS页面嵌入JS功能方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、嵌入 JS 获取用户登录名称
在主页面定义表框架,单独创建一个“HTML 项目” ,嵌入以其中一段程序。 ====================================================================== <div id="tab"> <div id="userDIV"> //在 RS 页面,增加一个“HTML 项目” ,内容如下: JS 代码:
// PDF 导出功能 <script language="javascript"> function getObjectName() { return "oCV" + document. getElementById("cv.id").value; } function expPDF() { var objName = getObjectName(); eval(objName + ".getRV().viewReport(\'PDF\');"); } </script>
7、嵌入 JS 代码获取默认值并自动提交参数
以日期提示框为例,在提示框之后加载一个“HTML 项目”控件,嵌入脚本。
我的博客:http://wengr.blog.163.com/
来自百度文库
====================================================================== <meta HTTP-EQUIV="pragma" CONTENT="no-cache"> <meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <meta HTTP-EQUIV="expires" CONTENT="0"> <script language="javascript"> var form = getFormWarpRequest(); var dropDown = form._oLstChoices_data;//_data 为值提示组件名 for(i=0;dropDown.length>=i;i++) { if(i==dropDown.length){ dropDown.options[i-1].selected=true;//设置最后一个为默认值 } } function init() { promptButtonFinish(); } </script> <body onload=init()> ====================================================================== JS 定义的_data 名称,在值提示 “其他”项属性中,修改“名称”栏,如下图。
2、嵌入 JS 解决多余成员项
如果在同一个页面嵌入多段 JS 程序,以及自定义函数时,表框架只定义一次即可。 ====================================================================== JS 代码: <script language="javascript"> var form = getFormWarpRequest(); var dropDown=form._oLstChoices_data; dropDown.remove(1); // 去掉'--------' //dropDown.remove(0);//去掉参数名称 dropDown.removeAttribute("hasLabel"); //默认值不可选 </script> ====================================================================== JS 定义的_data 名称,在值提示 “其他”项属性中,修改“名称”栏,如下图。
6、嵌入 JS 解决下拉选项框参数名替换
以日期提示框为例,在提示框之后加载一个“HTML 项目”控件,嵌入脚本。 ====================================================================== JS 代码: <script language="javascript"> var f = getFormWarpRequest(); var list = f._oLstChoicesp_data; remove2line(list); canSubmitPrompt(); function remove2line(obj){ if(obj) { obj.remove(1); var add = obj[0]; //alert(aaa.text); add.text='全部'; //obj.remove(0); obj.removeAttribute("hasLabel"); //obj.remove(1); } } </script> ====================================================================== JS 定义的_data 名称,在值提示 “其他”项属性中,修改“名称”栏,如下图。
我的博客:http://wengr.blog.163.com/
<script language="javascript"> var form = getFormWarpRequest(); var dropDown=form._oLstChoices_user; dropDown.remove(1); // 去掉'--------' dropDown.remove(0);//去掉参数名称 dropDown.removeAttribute("hasLabel"); //默认值不可选 </script> </div> </div> ====================================================================== JS 定义的_user 名称,在值提示 “其他”项属性中,修改“名称”栏,如下图。
我的博客:http://wengr.blog.163.com/
<img src="../rv/images/export_PDF.gif" onclick="window.open(); expPDF()" >
======================================================================
我的博客:http://wengr.blog.163.com/
onclick="javascript:print();" class="toolbarButton"/> ======================================================================
4、嵌入 JS 支持打印功能
在指定位置创建一个“HTML 项目”控件,嵌入脚本。 ====================================================================== JS 代码: <input type="button" value="打印" style="padding-left:10px;padding-right:10px;font-size: 10px"
在 Cognos Report Studio 页面开发中嵌入 JS 功能, 实 现不同效果方法集
编者:不倒翁 wengr@163.com
JS 方法引用简述
在 Cognos Report Studio 开发设计页面中,可以友善兼容 HTML、JS 脚本。往往在开发 报表,很少去嵌入 JS 程序片段,自身工具很多功能基本满足报表需要。但事实上,用户在 使用过程中,希望报表需求能与网站网页、企业应用系统页面,功能更多更强大。此时,对 Cognos 工具设计师开发要求更高,更全面的编程技巧。 利用 JS 代码解决 RS 设计报表的问题: 1、 嵌入 JS 代码解决下拉选项框中的“--------------”条目。 2、 嵌入 JS 代码获取用户名称并设置背景,禁用右键弹出菜单不能复制功能。 3、 嵌入 JS 代码具有打印功能 4、 嵌入 JS 代码下载 Excel、Pdf 格式 5、 嵌入 JS 代码解决下拉选项框参数名替换 6、 嵌入 JS 代码获取默认值并自动提交参数 7、 ……等等
我的博客:http://wengr.blog.163.com/
3、嵌入 JS 解决背景限制功能
结合上面的表框架,单独创建一个“HTML 项目”控件,嵌入全部脚本: ====================================================================== JS 代码: <script language="javascript"> //获取用户名称并设置背景 function getvalues(str){ var divdata=document.getElementById(str).getElementsByTagName("option"); for (var i=0;i<divdata.length;i++) { if(divdata[i].selected){ return divdata[i].value; } } } //tab.style.background="url('http://127.1.1.1/images/"+getvalues('userDIV')+".jpg')"; tab.style.background="url('http:// 127.1.1.1:7001/edw-web/images/background/"+getvalues('userDIV')+".jpg')"; //禁止复制 document.oncontextmenu=new Function("event.returnValue=false"); document.onselectstart=new Function("event.returnValue=false"); //获取页面 cv.id 对象值 function getObjectName() { return document.getElementById("cv.id").value; } //禁用右键弹出菜单 function disableRightClick() { var objName = getObjectName(); eval("oCV" + objName + ".bCanUseCognosViewerContextMenu = false;"); } disableRightClick(); </script> ======================================================================
5、嵌入 JS 支持下载功能
在指定位置创建一个“HTML 项目”控件,嵌入脚本。 ====================================================================== JS 代码: <input type="button" value="数据导出" style="padding-left:0px;padding-right:0px;font-size: 10px" onclick="javascript:gCognosViewer.getRV().viewReport('XLWA')" class="toolbarButton"/> ====================================================================== 或者,通过自定义函数,预处理下载图表支持界面方式。 ====================================================================== // Excel 导出功能 <script language="javascript"> function getObjectName() { return "oCV" + document. getElementById("cv.id").value; } function expExcel() { var objName = getObjectName(); eval(objName + ".getRV().viewReport(\'XLWA\');"); } </script> <img src="../rv/images/export_excel.gif" onclick="expExcel()">
#sq(¥account.defaultName)# 匿名方式登录时 注意:学习写法--- #sq(...)#
在创建查询主题是,通过宏函数获取用户信息,创建一个查询项,编辑表达式: #sq($account.personalInfo.userName)# 注意:在 RS 可用组件中找不到自动宏函数,可以通过 FM 工程找到。