( 图8)
第二步:选择isapi筛选器,进行添加,如图9。
(图9)
第三步:选择筛选器,如图10。
(图10)
3. 把解压出来的DemoServer该名为ReportServer放到% BPMES for net\\Web\\目录下。
4. 在% BPMES for net\\Web\\ ReportServer\\webapps\\report目录下手动创建ReportEmitter.jsp,代码如下:
<%@ page language=\
pageEncoding=\basePath =
request.getScheme()+\rt()+path+\
5. 由于你所连接的是sql数据库,在% BPMES for net\\Web\\
ReportServer\\webapps\\report\\WEB-INF\\resources目下的config.xml配置文件中添加一个数据源,如图11。
(图11)
6. 修改% BPMES for net\\Web\\ ReportServer\\conf\\server.xml添加一个外部数据源(代码如图12,数据源具体配置根据你所添加的决定)并且在BPMES for net\\Web\\DemoServer\\lib
中添加所连数据库的驱动包
(图12)
7. 修改% BPMES for net\\Web\\js\\ BBForm.js。
7.1在js中定义2个变量
var ReportIframe=null; var NetReportAddress = null; 7.2替换toReportSearch()方法;
function toReportSearch() {
var btnObj = this;
if (arguments.length > 0) { btnObj = arguments[0]; }
var REPORTNAME = getProperty(btnObj, \ if (REPORTNAME) {
var ReportUrl = \
var ReportCtl = document.getElementById(REPORTNAME); var ReportName = getProperty(ReportCtl, \ var ReportAction=ReportUrl + ReportName+\ if(ReportName.indexOf(\ { var pfix = \ if(PageEx != \ pfix = getNetReportAddress() ; } ReportUrl = pfix + \ ReportAction = pfix + \ }
var ReportAu=''; if(typeof(ReportIframe.contentWindow.bios_doSubmit)==\ { var ReportArr=new Array([\false&xlsbtn1=false&pdfbtn=false&docbtn=false\ for (var ii = 0; ii < ReportPru.length; ii++) { var IsReportAu=ReportPru[ii][1]; if(IsReportAu==0) { ReportAu+=ReportArr[ii][1]; } } } //判断打印、导出等权限 ReportAction = ReportAction+ReportAu; var ReportParames=\ ReportParames=GetReportParames(); var pageForm = document.forms(0); pageForm.action = ReportAction;
pageForm.target = ReportCtl.name; if(ReportParames!=\ pageForm.params.value = ReportParames; pageForm.submit(); } }
7.3然后在BBonload()方法中的最后加入
var Iframes=document.getElementsByTagName(\ var IframeSize=Iframes.length; for(var i=0;i if(ReportIframe!=null) { //判断报表权限 var ReportPru = ReportRole(); var ReportUrl=\ if(typeof(ReportIframe.contentWindow.bios_doSubmit)==\ { var ReportArr=new Array([\false&xlsbtn1=false&pdfbtn=false&docbtn=false\ for (var ii = 0; ii < ReportPru.length; ii++) { var IsReportAu=ReportPru[ii][1]; if(IsReportAu==0) { ReportUrl+=ReportArr[ii][1]; } } ReportIframe.src=ReportIframe.src+ReportUrl; } var IframeInput=ReportIframe.contentWindow.document.getElementsByTagName(\ var InputSize=IframeInput.length; for(var j=0;j { var InputObj=IframeInput[j]; if(InputObj.getAttribute(\InputObj.getAttribute(\ { InputObj.style.display=\ } } } 7.4并加入以下方法。 function getNetReportAddress() { if(NetReportAddress != null) { return NetReportAddress; } else { try { var tmpObj; if (document.all) { tmpObj = new ActiveXObject(\.3.0\ } else { tmpObj = new XMLHttpRequest(); } tmpObj.open('post', '../report/ReportEmitter.jsp', false); tmpObj.send(null); NetReportAddress = tmpObj.responseText; } catch (e) { NetReportAddress = null; } return NetReportAddress; } } //用于获取表单上的查询条件 //并设置Form的Parames function GetReportParames() { var returnVal=\ //对应div层中的Text认为为查询参数 //Text对象的ID为对应的参数名 var ReportArr=document.getElementsByTagName(\ var ReportObjSize=ReportArr.length; for(var i=0;i ||