润乾官方提供的实现折叠报表需求—解决方案说明及展示(第一部分)
问题背景:
注意!号外!!!!润乾目前官方提供了一种满足折叠报表需求的解决方案,是由润乾产品部出品的,该折叠功能区别之前提供的折叠报表需求的解决方案,更好的满足针对大数据量折叠报表的性能需求。
功能及部署操作:
一、实现功能:
展开下一节点的时候,实现动态从后台数据库中取数;一旦一个节点的下一级节点的数据被取到后,该节点再次的展开和折叠则不会再次请求数据
二、程序用法
1、将样式文件和js文件添加到应用中
将压缩包里js文件夹和style文件夹中文件放到应用中
2、在展现折叠报表页面引入样式文件和js文件
在展现折叠报表的页面引入折叠报表相关的js(压缩包下js文件夹下的所有文件)和css样式(压缩包下style文件夹下)文件,如:
<!– 引入必要的js和css –>
<script type=”text/javascript” src=”js/jquery.js”></script>
<script type=”text/javascript” src=”js/report_tree.js”></script>
<script type=”text/javascript” src=”js/Base64.js”></script>
<link rel=”stylesheet” type=”text/css” href=”style/treeReport/default.css”>
<!– 引入必要的js和css end –>
3、调用js方法
在展现折叠报表页面需要引入初始化折叠报表方法,代码如下:
<script type=”text/javascript”>
//定义等待图片路径
var waitImagePath = “style/treeReport/images/loading.gif”;
// 初始化折叠报表
$(document).ready(function(){
ReportTreeManager.init(‘report1′,’<%=request.getContextPath()%>’,'<%=params.toString()%>’);
});
</script>
4、将折叠报表使用的jar文件puckerReport.jar、json.jar引入到项目中
5、在web.xml文件中添加servlet定义,代码如下
<servlet>
<servlet-name>treeReportServlet</servlet-name>
<servlet-class>com.runqianapp.report.view.TreeReportServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>treeReportServlet</servlet-name>
<url-pattern>/treeReportServlet</url-pattern>
</servlet-mapping>
三、报表制作
该折叠报表有几级折叠,就应该做几张报表,每张报表是一个需要折叠的级
在需要“展开/折叠“的单元格的HTML事件中添加如下代码:“iddata=’”+value()+”‘ piddata=” nextReport=’collapse_report_lv2.raq’”
注意:
1、第一级报表是通过展现折叠报表的jsp页面的报表展现标签引入的
2、除第一级报表外,其他没一级报表都有一个参数名为“parent”的参数,表示上一级
3、最后一级报表没有“展开/折叠“的单元格,则在第一个显示数据的单元格的
4、报表所需的参数在每一级报表中都得使用
HTML事件中添加如下代码:“iddata=’”+value()+”‘ piddata=” “,因为它是最后一级,没有下一级报表
四、展开/折叠图片的使用
这两个图片的定义是在default。css文件中的,代码如下:
td.plus{background-image:url(‘images/plus.png’)}//已折叠图片
td.minus{background-image:url(‘images/minus.png’)}//已展开图片
若需更改此图片可在此处修改即可
五、等待图片的使用
为了方便更改等待图片,等待图片的路径定义在jsp页面上的javascript标签内,代码如下:
var waitImagePath = “style/treeReport/images/loading.gif”;
如需更改等待图片,更改此处代码即可