background image
在报表中给 session 赋值实现报表间参数共享
1. 问题描述
在报表开发工具 FineReport 中,若有几张不同的报表,每张报表都有一个共同的项可
以选择,比如日期时间。我们希望选择了第一张报表的时间之后,其他报表的默认时间都变
为第一张报表选择的时间,此时要如何实现呢?
2. 实现思路
可以利用给 session 赋值来实现。给第一张报表的参数控件增加通过 ajax 的 url 将值传
递给后台的 servlet 的编辑后事件,servlet 获取 ajax 传递的值并将其保存到 session 中,
后面的报表在参数的控件值处通获取 session 值即可。
3. 实现步骤
3.1 Ajax 传值设置
便
版:
%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\Parameter\Par
ameter.cpt
点击
参数界面
,将控件设置未文本框控件,给文本框控件增加编辑后事件,具体的 js 如
下:
1.
var str=
this
.getValue();
//获取当前控件的值
2.
FR.ajax({
3.
url:
"servlet/session?id="
+FR.cjkEncode(str),
//将值传递给 session
这个 servlet 中