1、在往主表中加入子报表之后,会在parameters中创建一个参数变量为SUBREPORT_DIR,需要做的是修改这个参数的属性,修改default Value Expression的值,
如下图所示:
需要修改为如下图这样:
当然不一样非要用SUBREPORT_DIR这个参数,也可以用自定义的参数,这个参数是需要生成报表的时候设置的。
生成报表设置参数SUBREPORT_DIR是与主报表同一个目录下。
设置方式如下:
Map<String, Object> parameters = new HashMap<String, Object>();
String subreport_dir = context.getRealPath(realPath);//获取去主报表的根路径
parameters.put("SUBREPORT_DIR", subreport_dir+"/");//设置参数
这样的话子报表就能找到了。
2、子报表参数问题
之前我遇到的问题是,子报表要用与主报表一样的参数。
解决方法是:
目前我的主报表参数有fundid,子报表也用到fundid,解决方法是在子报表中也定义一样的参数,一模一样就ok。
以上两个问题完美实现。