2011-03-25 33 views
1

我是flex中的業餘愛好者,並開始了我在flex中的最後一年項目以瞭解它,我卡住了位置,我必須在用戶創建下拉列表的行時按添加更多,例如:像郵件附件中的那些如何將自動遞增的id名稱分配給flex中的按鈕

我想我已經找到一種方法來生成行,我甚至不知道它是否是一個正確的方式,可能有簡單的方法..如此讓我知道 我這是怎麼產生的行:

<mx:states> 
    <mx:State name="newRow"> 
     <mx:AddChild relativeTo="{cityDropdown}"> 
      <s:DropDownList id="newbutton" creationComplete="hotelDropdown_creationCompleteHandler(event)" labelField="Name"> 
       <s:AsyncListView list="{getAllHotelResult.lastResult}"/> 
      </s:DropDownList> 
      </mx:AddChild> 
    </mx:State> 
</mx:states> 
現在

當我產生更多的行下拉列表IDS會衝突,所以我想知道的方式到g enerate IDS,我想我不能甚而調用有一個功能:(

請幫助...截止日期臨近:(

回答

0

我不明白你使用的狀態,但這樣做產生的多動態查看,我選擇使用「事件冒泡」策略,並讓控件沒有ID。

將您的控件封裝到一個組件中,而不是從組件中製作事件氣泡。比在控件的父級上添加監聽器。就這樣。

//in your custom control 
dispatchEvent(new Event("myCustomEvent", true)); 

//in the parent control 
parentComponent.addEventListener("myCustomEvent", myEventHandler); 
1

這恰好是我創造了十分類似的東西最近,但使用組合框,而不是DropDownList的 - 在這裏用戶可以點擊添加更多和新的ComboBox將滑下一個新行(右鍵點擊演示我網站查看源代碼 - 下面的鏈接)。

也許你可以從中得到一些啓發。

要自動增加id名稱,你將不得不做一些AS3編碼。每次創建一個按鈕時,它的名字會變成 「世襲的」 + I(其中i爲一個int每次遞增)

http://bbishop.org/blog/?p=448

enter image description here

相關問題