Business Graphic 组件开发
<o:p> </o:p>
SAP 专门提供了一个IGS(internet graphic server)来处理图形生成
IGS web端访问是http://localhost:40180/ <o:p></o:p>
也可以通过Visual Administrator 来更改,路径是:Root/server01/services/configuration adapter/webdypro/sap.com/tc~wd~dispwda/propertysheet default/IGS<o:p></o:p>
<o:p> </o:p>
它分为两种形式启动:和server 一起启动(嵌入式)、单独启动(sp9以后版本)<o:p></o:p>
<o:p> </o:p>
它包括图形(chart) 和地图(map) 两大类 组件
<o:p> </o:p>
以下例子是 time_stacked 组件开发
<o:p> </o:p>
Context 对应如下
BusinessGraphics : seriesSource ----------- datas.series
SeriesList :pointSource ------------- datas.series.point
SeriesList :label ------------- datas.series.point.name
SeriesList_Point :valueSource ----------- datas.series.point
Values (NumberValue) :value------------ datas.series.point.price (double类型)
TimeValue(TimeValue):value ----------- datas.series.point.timeV(String类型 格式是 yyyyMMdd)
<o:p> </o:p>
生成图形的方法
<o:p> </o:p>
public void buildGraphic( )<o:p></o:p>
{<o:p></o:p>
//@@begin buildGraphic() <o:p></o:p>
SimpleDateFormat sd = new SimpleDateFormat("yyyyMMdd"); <o:p></o:p>
if (!wdContext.nodeDatas().nodeSeries().isEmpty()) {<o:p></o:p>
wdContext.nodeDatas().nodeSeries().invalidate();<o:p></o:p>
} <o:p></o:p>
List datas = new ArrayList(); <o:p></o:p>
ISeriesElement si = null;<o:p></o:p>
IPointElement po; <o:p></o:p>
si = wdContext.createSeriesElement(); <o:p></o:p>
si.setName("test"); <o:p></o:p>
wdContext.nodeDatas().nodeSeries().addElement(si); <o:p></o:p>
for (int j = 0; j < marketprc.size(); j++) {<o:p></o:p>
Dto tab = (Dto) marketprc.get(j); <o:p></o:p>
po = wdContext.createPointElement();<o:p></o:p>
po.setPrice(tab.getHigh_prc());<o:p></o:p>
po.setTimeV(sd.format(tab.getPricedate()));<o:p></o:p>
si.nodePoint().addElement(po); <o:p></o:p>
} <o:p></o:p>
}<o:p></o:p>
<o:p> </o:p>
最后生成效果图<o:p></o:p>