我想将一个ComboBox添加到DataGrid。到目前为止,我发现这样做的唯一方法就是这样:
<mx:DataGridColumn headerText="Header" dataField="src" >
<mx:itemRenderer>
<mx:Component>
<mx:ComboBox dataProvider="{data.srcChoices}" />
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
问题是未正确设置ComboBox的初始值。如果我对选项进行硬编码,则初始值设置正确。我不能硬编码选择。知道我应该做什么吗?
答案 0 :(得分:1)
1)您可以向组合框添加内容,并将“selectedItem”值设置为适当的索引。
<mx:ComboBox dataProvider="{data.srcChoices}" selectedindex="2" />
2)你可以给你的组合框一个ID,然后在脚本中选择ID.selectedIndex的项目
ID.selectedIndex = 2;
答案 1 :(得分:1)
您可能希望根据值对象中的变量设置初始值,而不是幻数。要做到这一点,你必须做这样的事情:
selectedIndex="{(outerDocument as WorkHist).findItemIndexOccupation(data.Occupation)}" dataProvider="{outerDocument.occData}"
其中WorkHist是Canvas,或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;
}