为子报表添加统计信息
内容与上例基本相同,但在子报表中添加一些统计信息,最后结果如下图所示:
程序部分
首先,我修改一下ProvinceBean的定义,添加一个只读属性cityCount,如下代码中的阴影部分所示:
package lld.test.ireport;
import java.util.ArrayList;
public class ProvinceBean
{
private String provinceName;
private ArrayList<CityBean> cities;
public int getCityCount()
{
if(this.cities != null)
return this.cities.size();
else
return 0;
}
public String getProvinceName()
{
return provinceName;
}
public void setProvinceName(String provinceName)
{
this.provinceName = provinceName;
}
public ArrayList<CityBean> getCities()
{
return cities;
}
public void setCities(ArrayList<CityBean> cities)
{
this.cities = cities;
}
}
其余代码不作修改
报表部分
在主报表的“Java Bean Data Source”中,引入新添加的cityCount字段。
在主报表的子报表控件上,打开其属性窗口,添加“CITY_COUNT”参数,如下图所示:
打开子报表,添加参数“CITY_COUNT”(添加参数的方式为在左下角“Document structure”工具窗口的Parameters节点添加),如下图所示:
然后,修改子报表设计,添加summay栏(可通过右右键),如下图所示:
OK,本例至此完成。