水晶报表中使用了子报表,并用存储过程作为子报表的数据源,水晶报表会自动生成存储过程需要传入的参数,因此,在JAVA代码写入报表参数时也需要传入存储过程的参数。只需以存储过程的参数名为名称,并指定参数子报表名即可。
ParameterField pfield1 = new ParameterField();
ParameterField pfield2 = new ParameterField();
pfield1.setName("STARTYEAR");
pfield1.setReportName("SummaryofDP_a"); //specify the sub report name for setting parameter of store procedure