使用IList作为dataProvider的DropDownList中的空白条目

时间:2011-01-22 18:55:43

标签: flex actionscript-3 flex4

我正在动态创建一个IList,用作Flex中DropDownList的数据提供者。

代码正确地创建了IList,我可以很好地访问里面的数据。

但是,当我为DropDownList设置dataprovider时,它只显示列表中每个项目的空白条目。

所以,如果我的IList中有30个项目,我的下拉列表中会有30个空白点。

这是我正在使用的代码。

categoryXML = new XML(loader.data);

for each(var category in categoryXML.category) {
    categoryArr.addItem(category.name);
}

categoryList = categoryArr;
cats2.dataProvider = categoryList;

是什么导致这个?我似乎无法通过谷歌找到任何东西。

1 个答案:

答案 0 :(得分:0)

如果不查看实际数据,很难说清楚。但是,看起来你正在创建一个字符串数组。我不知道Spark列表如何处理简单值。

您可以尝试这样的事情:

for each(var category in categoryXML.category) {
    var newObject : Object = new Object();
    newObject.label = category.name;
    categoryArr.addItem(newObject.);
}

但是,如果category.name是一个复杂的XML对象,那么您可能需要创建一个labelFunction。像这样:

public myLabelFunction(item:Object):String{
  return item.valueToDisplay;
}

并将其设置在列表中:

myList.labelFunction = myLabelFunction;