У меня есть поля выбора, которые получают значения из файла XML. Когда программа загружается, она автоматически отображает информацию из первого значения в файле XML. Мне также нужно выделить это значение в поле выбора.Как я могу автоматически выделить поле выбора на основе значения из xml?
Вот как это выглядит, когда она изначально загружена
Поскольку она автоматически загружаются эти образы, я хочу, что тип, выбранный в окне выбора («By Color» -> «Barnwood»)
(код я унаследовал имеет массу файлов, так что я только собираюсь показать код, я думаю, актуален. у меня есть очень ограниченные знания в 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());
}
Да, это здорово. – ketan