关于利用birt API进行报表开发中遇到的问题!
希望熟悉birt api的大侠多帮忙.
这个问题是在我开发一个barchart中遇到的,主要是在对x,y等维度进行function操作的时候出现的问题.
我们的一个项目用到了birt,但是只是用他的api来生成客户自定义的report文件.在其中.我用到了对row["abc"]进行表达式运算的功能.举个简单的例子row["abc"]+1000 .希望在barchart图中显示该数据时,为原先值再增加1000.
代码如下:
BarSeries bs = (BarSeries) BarSeriesImpl.create();
qryDial = QueryImpl.create("row[\"abc\"]+1000 ");
bs.getDataDefinition().add(qryDial);
然后再将我定义的bs加入到SeriesDefinition中.
我的数据是用的scriptDataSet和ScriptDataSource来组成的.
其中定义了"row['abc'] = node['abc']",用来取数据.
但是在保存report文件后,编辑其源文件:
<DataDefinition>
<Definition>row["abc"]</Definition>
</DataDefinition>
与我期望的
<DataDefinition>
<Definition>row["abc"]+1000</Definition>
</DataDefinition>
完全不一样.感觉很诧异!
不知道造成这样的原因是什么?
而且如果我将row["abc"]+1000 写成一个错误的任意字符串xyzrow["abc"]+1000.
则
<DataDefinition>
<Definition>xyzqrow["abc"]+1000</Definition>
</DataDefinition>
是显示正确的!郁闷郁闷!
请个位大侠帮帮忙!!!!!!!!!!