2010-04-01 177 views
0

我想將一個ComboBox添加到DataGrid中。到目前爲止,我發現這樣做的唯一方法是這樣的:如何將組合框添加到DataGrid?

<mx:DataGridColumn headerText="Header" dataField="src" > 
<mx:itemRenderer> 
<mx:Component> 
<mx:ComboBox dataProvider="{data.srcChoices}" /> 
</mx:Component>            
</mx:itemRenderer> 
</mx:DataGridColumn> 

問題是ComboBox的初始值設置不正確。如果我硬編碼的選擇,那麼初始值設置正確。我無法硬編碼選擇。任何想法我應該做什麼?

回答

1

你可能想的初始值基於從一個變量被設置值對象,而不是一個幻數。要做到這一點,你必須做這樣的事情:

selectedIndex="{(outerDocument as WorkHist).findItemIndexOccupation(data.Occupation)}" dataProvider="{outerDocument.occData}" 

其中WorkHist是畫布,或DG是生活在任何組件

public function findItemIndexOccupation(data:String):int { 
    for (var i:int = 0; i < occData.length; i++) { 
     if (occData.getItemAt(i).POSITION == data) { 
      return i; 
     } 
    } 
    return -1; 
} 
+0

謝謝你,完美的作品。 – 2010-04-01 14:06:35

1

1)您可以將內容添加到組合框,並將「selectedItem」值設置爲任何適當的索引。

<mx:ComboBox dataProvider="{data.srcChoices}" selectedindex="2" /> 

2)你可以給你的組合框的ID,然後在腳本中選擇具有ID.selectedIndex項目

ID.selectedIndex = 2;