flex词典dataProvider?

问题描述:

我有一个字典,我想绑定为一个mx:ComboBox的dataProvider。例如,当我这样做:flex词典dataProvider?

 mydict[somenewkey]= somenewval; 

我想组合框更新其内容。

问题是该词典似乎不是可绑定的。如果我使用的是数组,我会使用ArrayCollection。但似乎没有相应的DictionaryCollection或HashCollection。该怎么办?

+0

您希望ComboBox以什么格式显示字典中的数据?我知道你需要键值对,但这不是组合框所期望的。它想要一些类似列表的东西,它可以是ICollectionView,也可以是可以转换为Array或XMLList的东西。 也许更好的问题是,为什么你需要键值对?你是否在其他地方需要它,也许你希望通过将所有数据保存在一个地方来进行优化?或者是因为某种原因ComboBox以某种方式引用这些对非常重要? – joshtynjala 2010-06-18 21:36:51

字典是不适合的列表基于类的dataProvider中的相应对象。

我怀疑你的显示问题与数据绑定无关,而是其他问题,比如字典没有长度属性。

我怀疑ComboBox会将您的字典视为单个对象,而不是多个对象的集合。

+0

什么是适合使用的对象? – paleozogt 2010-06-16 21:51:03

+0

我强烈建议使用集合类,但您也可以使用Arrays,XMLList或直接XML。 – JeffryHouser 2010-06-17 02:05:50

+0

问题是这些集合没有key =>值语义。 – paleozogt 2010-06-17 14:58:14

+0

你能详细说明一下吗? – paleozogt 2010-06-16 21:30:32

不是你正在寻找的只是ArrayCollection的setItemAt和getItemIndex方法的组合?

_myAC.setItemAt(somenewval, _myAC.getItemIndex(somenewkey));