
2、蓝色为第二步,$P{classIds}根据{}大括号里面的名字去取值,这时候他的值是1。
Map parameters = new HashMap()
parameters.put("classIds", 1)
JasperPrint jasperPrint = JasperFillManager.fillReport(report,parameters, conn)
2、jrxml文件内容
<subDataset name="SubDataset3">
<parameter name="classId" isForPrompting="true" class="java.lang.Integer"/>
<queryString>
外部必须要有一个结果集,这一点,我的理解是JasperReport的容错处理。
<![CDATA[select a.name course_name,b.name course_type_name,c.marks,d.name as school_name,e.name as classname
from t_course a,t_course_type b,t_marks c,t_schoolmates d ,t_class e
where c.student_id=d.id and c.course_id=a.id and a.type_id= b.id and d.class_id=$P{classId}]]>
</queryString>
</subDataset>
<field name="classname" class="java.lang.String"/>
<field name="course_type_name" class="java.lang.String"/>
<field name="marks" class="java.lang.Integer"/>
--------------------------------------------------------------
<field name="school_name" class="java.lang.String"/>
<field name="course_name" class="java.lang.String"/>
<parameter name="classIds" class="java.lang.Integer"/>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)