润乾报表通过js清除钻取后url

问题背景:

1、 从一张报表钻取到带有参数模板的报表

2、 url中传递的参数作为目标报表的默认查询条件

 

问题出现了,当清除表单内容进行查询的时候,发现默认的查询条件仍然存在。这是因为保存在url中的参数一直存在,这样每次点击查询重新加载报表的时候参数模板都会获取到url中传递的参数。这样的结果我们显然不愿意看到。

接下来我们就使用一种重写url的办法解决这个问题

 

解决步骤:

1、 连接demo数据源,制做三张报表,一张钻取用(testlink.raq),一张参数模板(testparam_arg.raq),一张主表(testparam.raq)。

2、 发布报表testlink.raq的jsp——testlink.jsp的主要代码

<report:html name=”report1″ reportFileName=”testlink.raq”

funcBarLocation=”top”

exceptionPage=”/reportJsp/myError2.jsp”

/>

发布参数模板和主表的jsp——testparam.jsp的主要代码

<report:param name=”form1″ paramFileName=”testparam_arg.raq”

needSubmit=”yes”

/>

 

<report:html name=”report1″ reportFileName=”testparam.raq”

funcBarLocation=”top”

params=”<%=param.toString()%>”

exceptionPage=”/reportJsp/myError2.jsp”

/>

 

<script language=”JavaScript” type=”text/javascript”>

function updateUrl(){

var oldurl = document.form1.resultPage.value

var newurl = ‘/jsp/testparam.jsp’;

document.form1.resultPage.value = newurl;

}

</script>

<script language=”JavaScript” for=”window” event=”onload” >

updateUrl()

</script>

3、首先访问testlink.jsp,当点击进入下一页面的时候,我们发现初次加载的时候参数传递过来了,当清楚查询条件后查询,所有的记录都可以查出来,说明清楚参数成功。

总结:

此种方法的关键在于上面代码中的updateUrl() JS函数,通过对document.form1.resultPage.value重新赋值,便达到了清楚url参数的效果。

热门文章