在html語法中如果想做動態下拉只要很簡單的語法
<select name='sname' size=1>
<option value='01'>小明</option>
<option value='02'>小黃</option>
</select>
在Web Dynpro就要做以下的動作
先在中間的Component Controller 建立 Context
先新增一個Node 這邊先定義mangList 再新增一個Attribute取名mangName
node跟attribute名稱自訂~
Collection Cardinality 為1.n 然後拖曳線到View
然後在View拉一個下拉控制項出來叫做DropDownBykey
然後Selectedkey指定到剛設定的node下
然後在這個View的下面init那邊做動態塞值
publicvoid wdDoInit()
{
//==將剛新增的mangList底下的manName做Type轉換
ISimpleTypeModifiable name = wdThis.wdGetgTCompController().wdGetAPI()
.getContext().getModifiableTypeOf("mangList.mangName");
IModifiableSimpleValueSet nameValues = name.getSVServices().getModifiableSimpleValueSet();
nameValues.put("01", "小明");
nameValues.put("02", "小黃");
}
當然在Component Controller那邊塞也可以
比方
ISimpleTypeModifiable name = wdThis.wdGetAPI().getContext().getModifiableTypeOf("mangList.mangName");
IModifiableSimpleValueSet nameValue = name.getSVServices().getModifiableSimpleValueSet();
nameValues.put("01", "小明");
nameValues.put("02", "小黃");
如此就會有下拉選單的
取得選中的『說明欄』
IWDAttributeInfo nameVsets = wdThis.wdGetOgTreeCompController().wdGetContext().nodeMangList().getNodeInfo().getAttribute("mangName");
IModifiableSimpleValueSet valueSel = nameVsets.getModifiableSimpleType().getSVServices().getModifiableSimpleValueSet();
String clidSel = valueSel.getText(this.wdContext.currentMangListElement().getMangName());
取得選中的『值』
String clidSel = this.wdContext.currentMangListElement().getMangName();
如果您看到這篇代表你也是SAP的戰友,大家一起交個朋友吧
MSN:
留言列表