【问题标题】:How to assign an Associative array to a list component in FLEX 4.6如何将关联数组分配给 FLEX 4.6 中的列表组件
【发布时间】:2014-02-19 20:08:53
【问题描述】:

我想在列表中打印关联数组的值。我正在这样做,但我认为 IList 类使用公共索引 [0]..[n] 来打印元素(我不确定)

我的代码(示例):

private var arr = new Array();
private var arrList: new ArrayList(arr);


private function init()
{
  arr["hello"]="world";
  list.dataProvider = arrList; //the component was instanced before
}

我一直在调试,arrList 使用 arr 的元素更新信息,但列表组件不显示任何内容。

有什么建议吗? 谢谢。

【问题讨论】:

  • 你说的是一个对象或字典。如果你让它与一个数组一起工作,那是因为你使用的是它的“ObjectNess”而不是它的“Arrayness”。最好的选择可能是使用 XML 和 XMLListColection。

标签: arrays actionscript-3 apache-flex arraylist associative-array


【解决方案1】:

dataProvider 似乎接受 key:value 对,因为 labeldata 对象条目被推送到与实际 List 镜像的数组中。就个人而言,我更喜欢使用我自己的列表类,所以我不是从List 对象经验说的。请参阅Adobe's documentation for List.dataProvider 了解更多信息。

private var foo:Object = {
    "hello":"world",
    "apple":"pie",
    "orange":"juice"
}

var dpArr:Array = [];
list.dataProvider = dpArr;

for (var key:String in foo) {
    dpArr.addItem({label:key, data:foo[key]});
}

【讨论】:

  • 谢谢!这就是我需要的。我在 flex 中尝试使用 spark 控件,但这些控件不使用 dataProvider,而是使用 mx 控件我可以做到这一点!
猜你喜欢
  • 1970-01-01
  • 2020-12-04
  • 2020-11-16
  • 1970-01-01
  • 2022-01-27
  • 1970-01-01
  • 2022-01-20
  • 2012-05-18
  • 1970-01-01
相关资源
最近更新 更多