类说明
统计图在报表中充当着重要的角色,通过统计图可以更直观的查看、分析数据。快逸在设计器中可以对统计图的各项属性进行定义;同样,通过API接口也可以对统计图进行具体的设计,即 GraphProperty。
图 3.2. 统计图各组成对象关系
对于已经存于ReportDefine中的统计图定义,如想取得GraphProperty对其进行修改等操作,首先需要得到该统计图所在单元格的INormalCell对象,然后调用getGraphProperty方法获取统计图属性定义对象。如在设计器中的B4单元格(第四行、第二列位置)设置了统计图的定义,在程序中用如下方式获取统计图属性定义对象:
… … ReportDefine rd = (ReportDefine)ois.readObject(); INormalCell igraphCell = rd.getCell(4,(short) 2); GraphProperty gproperty = igraphCell.getGraphProperty();
取得统计图的属性定义对象,就可以对这个统计图作任何的修改,如动态改变统计图类型、动态取得或设置分类及系列的表达式等。
//动态设置统计图类型
gproperty.setType(GraphTypes.GT_COL); //取统计图的分类及系列
GraphCategory[] gCate = gproperty.getCategories();//取分类
for(int i = 0; i<gCate.length;i ++){
String category = gCate[i].getCategory();//取分类表达式
System.out.println(category);//这里输出类似‘="购买量"’的表达式
//根据分类取它对应的系列对象
GraphSery[] sery = gCate[i].getSeries();
for(int j = 0; j<sery.length; j ++ ){
System.out.println("系列名称"+sery[j].getName());
System.out.println("系列表达式"+sery[j].getExp());
} }
以上主要示例了统计图属性定义的获取,增加或修改与与上类似,使用各对象的set方法。