2010-06-16 36 views
1

我有一個字典,我想綁定爲一個mx:ComboBox的dataProvider。例如,當我這樣做:flex詞典dataProvider?

 mydict[somenewkey]= somenewval; 

我想組合框更新其內容。

問題是該詞典似乎不是可綁定的。如果我使用的是數組,我會使用ArrayCollection。但似乎沒有相應的DictionaryCollection或HashCollection。該怎麼辦?

+0

您希望ComboBox以什麼格式顯示字典中的數據?我知道你需要鍵值對,但這不是組合框所期望的。它想要一些類似列表的東西,它可以是ICollectionView,也可以是可以轉換爲Array或XMLList的東西。 也許更好的問題是,爲什麼你需要鍵值對?你是否在其他地方需要它,也許你希望通過將所有數據保存在一個地方來進行優化?或者是因爲某種原因ComboBox以某種方式引用這些對非常重要? – joshtynjala 2010-06-18 21:36:51

回答

1

字典是不適合的列表基於類的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

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

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