【发布时间】:2015-02-16 15:34:23
【问题描述】:
我有从 XML 文件中获取值的选择框。当程序加载时,它会自动显示 XML 文件中第一个值的信息。我还需要它在选择框中突出显示该值。
这是它最初加载时的样子
由于它是自动加载这些图像,我希望在选择框中选择该类型(“按颜色”->“巴恩伍德”)
(我继承的代码有很多文件,所以我只展示我认为相关的代码。我对 Flex 的了解非常有限......)
private function onCatReceived(e:ResultEvent):void
{
var cats:Array= new Array();
loadItems(Globals.compRoot+catDataProvider.lastResult.elements("category")[0].catid);
for each(var cat:XML in catDataProvider.lastResult.elements("category"))
{
if (cats[cat.parent.toString()])
{
cats[cat.parent.toString()].addItem(cat);
}
else
{
cats[cat.parent.toString()]= new ArrayCollection();
cats[cat.parent.toString()].addItem(cat);
}
}
for (var ct:String in cats)
{
var cnv:Canvas= new Canvas();
var dataSort:SortField= new SortField("name",true);
var nameSort:Sort= new Sort();
nameSort.fields=[dataSort];
var source:ArrayCollection=cats[ct];
source.sort=nameSort;
source.refresh();
cnv.label=ct;
cnv.horizontalScrollPolicy="off";
cnv.verticalScrollPolicy="off";
var lst:List= new List();
lst.width=166;
lst.height=115;
lst.labelField="name";
lst.styleName="ControllerList";
lst.addEventListener(ListEvent.CHANGE,changeCat);
lst.dataProvider=cats[ct];
Alert.show("ct: " + ct);
cnv.addChild(lst);
acc.addChild(cnv);
}
//Maybe add it here??
//mouldingList.items.selectedIndex = 0;
var cnv:Canvas = acc.getChildAt(0) as Canvas;
var lst:List = cnv.getChildAt(1) as List;
Alert.show(lst.toString());
Alert.show(lst.selectedItem.toString());
}
【问题讨论】:
标签: xml actionscript-3 apache-flex flex3