报表与页面一起传递参数给报表
2010-08-22 11:12
239 查看
快逸报表中参数模板的使用可以大大提高报表设计人员设计报表的效率,而且可以直接使用报表自带的jsp对整个报表进行展示,在使用中,客户会有这样的需求,就是不但使用报表自带的参数模板,还需要在系统中得到相应的参数传递给报表进行计算,这样就有很多客户遇到了相应的问题,比如说在报表得不到系统传过来的参数,或者从系统传过来的参数只保存一次,就无法再继续查询了等等,下面就用例子说明一下这样的报表应该如何制作。
实现思路:将页面参数在jsp中接收后,拼到params中,通过params传递给报表,然后在参数表单里得到相应的参数,并且在param标签里使用hiddenParams得到隐藏的参数,这样就可以实现报表的从参数模板和页面得到参数进行查询。
以如下需求为例,每一条记录都有添加这条记录的人员,而每个人员都只能浏览自己录入的记录。人员在登录时记录下了id。
数据库中表结构如下:
设计报表的数据集:
_select* FROM testhong1 WHERE (testhong1.nianfen =? or ? is null )and testhong1.pid = ?
其中年份这个参数是从参数模板传递过来的,人员id这个参数是从页面传递过来的。
设计报表:
添加参数并设计参数模板:
用固定的jsp发布报表,修改showreport.jsp
将showreport.jsp重命名为chanliang.jsp,
修改<report:html name=”report1″ reportFileName=”<%=report%>” 为 reportFileName=”chanliang.raq”
修改<report:param name=”form1″ paramFileName=”<%=paramFile%>” 为 paramFileName=”chanliang_arg.raq”
并在 report:param标签中 添加 hiddenParams=”<%=param.toString()%>”
即可,将报表放到应用的jsp目录访问,url里拼接pid这个参数作为传递过来的人员id,
http://127.0.0.1:6001/demo/jsp/chanliang.jsp?pid=1111
由于年份没有传递固定的参数,所以展示如下图:
当输入一个年份时,就能按照这个人和年份进行查询了。
经过如上步骤就成功实现了这一功能。这个功能还可以理解为一种权限的控制,即当此pid为登陆中的session则这个人只能访问自己的信息,无法浏览其他人的信息。
实现思路:将页面参数在jsp中接收后,拼到params中,通过params传递给报表,然后在参数表单里得到相应的参数,并且在param标签里使用hiddenParams得到隐藏的参数,这样就可以实现报表的从参数模板和页面得到参数进行查询。
以如下需求为例,每一条记录都有添加这条记录的人员,而每个人员都只能浏览自己录入的记录。人员在登录时记录下了id。
数据库中表结构如下:
设计报表的数据集:
_select* FROM testhong1 WHERE (testhong1.nianfen =? or ? is null )and testhong1.pid = ?
其中年份这个参数是从参数模板传递过来的,人员id这个参数是从页面传递过来的。
设计报表:
添加参数并设计参数模板:
用固定的jsp发布报表,修改showreport.jsp
将showreport.jsp重命名为chanliang.jsp,
修改<report:html name=”report1″ reportFileName=”<%=report%>” 为 reportFileName=”chanliang.raq”
修改<report:param name=”form1″ paramFileName=”<%=paramFile%>” 为 paramFileName=”chanliang_arg.raq”
并在 report:param标签中 添加 hiddenParams=”<%=param.toString()%>”
即可,将报表放到应用的jsp目录访问,url里拼接pid这个参数作为传递过来的人员id,
http://127.0.0.1:6001/demo/jsp/chanliang.jsp?pid=1111
由于年份没有传递固定的参数,所以展示如下图:
当输入一个年份时,就能按照这个人和年份进行查询了。
经过如上步骤就成功实现了这一功能。这个功能还可以理解为一种权限的控制,即当此pid为登陆中的session则这个人只能访问自己的信息,无法浏览其他人的信息。
相关文章推荐
- Web报表页面如何传递中文参数
- 用%25代替%,解决通过页面向报表中传递参数中包含百分号的问题
- Web报表页面如何传递中文参数
- Web报表页面如何传递中文参数
- 润乾报表 - 在页面间传递、接收和使用参数
- 皕杰报表在JSP页面中如何传递参数和变量
- 【传递参数】html页面之间也可以传递参数
- pushlet 传递页面request参数
- SpringMvc的使用注意事项(接收jsp页面传递过来的参数)
- Silverlight - Xaml 和 asp.net 页面之间跳转及参数传递
- 使用layer 弹出对话框 子父页面相互参数传递 父页面获取子页面参数实例
- 在jsp页面间传递参数
- HTML页面跳转及参数传递问题
- JS实现网页开窗刷新 GeT传递参数成功 远程打开页面失败的解决方法
- .net页面间的参数传递简单实例
- jsp通过URL向页面传递中文参数乱码问题
- 不同页面间参数的传递
- 静态HTML页面传递参数的方法 (表单)
- PHP页面间参数传递的四种方式
- 金蝶EAS,打开新页面,传递参数,KDTable表格数据填充