在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底下的manNameType轉換

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:

ROACH 發表在 痞客邦 PIXNET 留言(0) 人氣()