如何格式化BIRT图表中的提示

在BIRT的图表中,提示(tooltip)是一个复杂对象,是不能被格式化的,而只有数字或是日期对象才可能被格式化.

但如果在一个X轴是区域,Y轴是销售额的图表中,用户希望每个数据点(data point,我们这里是饼图,那数据点就是一个切片)有如下提示:"XX的销售额占全国XX%",该怎么做呢?

 

我们这里可以借助一些间接的方法和脚本来获得支持.

思路是这样的: 图表中的提示可以选择默认值或是输入值.默认值就是什么也不输,提示会和数据点的显示一样;输入的表达式则会被解析执行得到当前值.这里我们选用默认值.

然后格式化数据点.BIRT对数据点的格式化功能支持很多,我们可以充分利用它来间接格式化提示.

这样提示和数据点都会一样显示出"XX的销售额占全国XX%".通常数据点标签显示的区域不够大,所以我们这里选择关闭数据点标签,最后预览得到如下结果

这样提示就完成了格式化.但如果用户不要空白的数据点,还希望里面有标签,比如就想显示当前区域所占比例,这该怎么办呢?

由于数据点的标签在设计时(design time)已经有了对应的值,并被显示在了提示里,我们只能在运行时(runtime)去修改它,这就需要用的BIRT中的脚本功能.

如果不会用脚本,这里可以简单提一下

第一步切换到Script页面,第二步双击要写脚本的对象,这里是NewChart,然后选中方法名,我们这里改的是数据点标签,那么选择beforeDrawDataPointLabel,会自动在编辑器里生成一个空方法.这样我们在方法里输入具体的业务逻辑.如果你对BIRT里API不熟悉,这并不要紧,会有代码帮助(code assistance)支持.

这样我们就在运行时修改了数据点标签的值,使得它显示销售额所占的比例.最后再预览一下,是不是期望的结果呢?

关于BIRT图表的功能,还有很多.它是个开源项目,已经被运用在很多免费或是商业的软件产品里.如果自己想应用,并获得足够的技术支持,不妨去http://www.actuatechina.com/看看.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值