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>