站内搜索

返回   安讯中国 > 安讯产品 > 百灵报表(BIRT)
注册
忘记密码?
论坛帮助 日历事件 搜索 今日新帖 标记版面已读

回复
 
LinkBack 主题工具 搜索本主题 显示模式
  #1 (permalink)  
旧 2008-9-5, 10:01 AM
Junior Member
 
注册日期: 2008-7-23
帖子: 4
存款: 120
默认 如何动态修改Meter图的region的start value和end value?

我现在做的Meter图要求划分区域的开始值和结束值是由外部传入的,请问如何实现?用script能做到吗?
回复时引用此帖
  #2 (permalink)  
旧 2008-9-5, 03:14 PM
Moderator
 
注册日期: 2008-5-30
帖子: 79
存款: 865
默认

可以在beforeDrawSeries方法中加入一些script:
try
{
region = DialRegionImpl.create( );
region.setFill( ColorDefinitionImpl.GREEN( ) );
region.setStartValue( NumberDataElementImpl.create( 0 ) );
region.setEndValue( NumberDataElementImpl.create( 80 ) );
series.getDial( ).getDialRegions( ).add( region );
}
catch(e)
{}

将startValue和EndValue设置成你想要的值,另外要将几个package import进来:

org.eclipse.birt.chart.model.component.impl
org.eclipse.birt.chart.model.attribute.impl
org.eclipse.birt.chart.model.data.impl
回复时引用此帖
  #3 (permalink)  
旧 2008-9-5, 04:01 PM
Junior Member
 
注册日期: 2008-7-23
帖子: 4
存款: 120
默认 多谢!我试试看

多谢!我试试看。。。。。
回复时引用此帖
  #4 (permalink)  
旧 2008-9-8, 10:15 AM
Junior Member
 
注册日期: 2008-7-23
帖子: 4
存款: 120
默认

你好,我在
function beforeDrawSeries( series, isr, icsc )
{
try
{
region = DialRegionImpl.create();
region.setFill(ColorDefinitionImpl.GREEN( ));
region.setStartValue(NumberDataElementImpl.create(0));
region.setEndValue(NumberDataElementImpl.create(params["valueB"].value));
series.getDial().getDialRegions().add(region);
取外面传入的参数,但是取不到值,为什么?
回复时引用此帖
  #5 (permalink)  
旧 2008-9-27, 10:58 AM
Junior Member
 
注册日期: 2008-8-19
帖子: 20
存款: 160
默认

Try this:
function beforeDrawSeries( series, isr, icsc )
{
importPackage(Packages.org.eclipse.birt.chart.model.component.impl)
importPackage(Packages.org.eclipse.birt.chart.model.attribute.impl)
importPackage(Packages.org.eclipse.birt.chart.model.data.impl)
try{
EndValue=icsc.getExternalContext().getScriptable().getParameterValue("EndValue");
region = DialRegionImpl.create( );
region.setFill( ColorDefinitionImpl.GREEN( ) );
region.setStartValue( NumberDataElementImpl.create( 0 ) );
region.setEndValue(NumberDataElementImpl.create(EndValue));
series.getDial( ).getDialRegions( ).add( region );
}
catch(e){}
}
__________________
不怕万人阻挡,只怕自己投降
回复时引用此帖
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

论坛启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用


服务条款 | 隐私政策
安讯中国 上海浦东新区浦东南路1271号华融大厦21层2101室
电话:(+86)21-58826388   发送邮件联系我们  沪ICP备06010344号
Actuate Corporation © 2008
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios

Content Relevant URLs by vBSEO 3.1.0