问题背景: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参数的效果。 |
润乾报表通过js清除钻取后url
最新推荐文章于 2018-04-24 14:40:41 发布