我有一個字典,我想綁定爲一個mx:ComboBox的dataProvider。例如,當我這樣做:flex詞典dataProvider?
mydict[somenewkey]= somenewval;
我想組合框更新其內容。
問題是該詞典似乎不是可綁定的。如果我使用的是數組,我會使用ArrayCollection。但似乎沒有相應的DictionaryCollection或HashCollection。該怎麼辦?
我有一個字典,我想綁定爲一個mx:ComboBox的dataProvider。例如,當我這樣做:flex詞典dataProvider?
mydict[somenewkey]= somenewval;
我想組合框更新其內容。
問題是該詞典似乎不是可綁定的。如果我使用的是數組,我會使用ArrayCollection。但似乎沒有相應的DictionaryCollection或HashCollection。該怎麼辦?
字典是不適合的列表基於類的dataProvider中的相應對象。
我懷疑你的顯示問題與數據綁定無關,而是其他問題,比如字典沒有長度屬性。
我懷疑ComboBox會將您的字典視爲單個對象,而不是多個對象的集合。
什麼是適合使用的對象? – paleozogt 2010-06-16 21:51:03
我強烈建議使用集合類,但您也可以使用Arrays,XMLList或直接XML。 – JeffryHouser 2010-06-17 02:05:50
問題是這些集合沒有key =>值語義。 – paleozogt 2010-06-17 14:58:14
你能詳細說明一下嗎? – paleozogt 2010-06-16 21:30:32
不是你正在尋找的只是ArrayCollection的setItemAt和getItemIndex方法的組合?
_myAC.setItemAt(somenewval, _myAC.getItemIndex(somenewkey));
您希望ComboBox以什麼格式顯示字典中的數據?我知道你需要鍵值對,但這不是組合框所期望的。它想要一些類似列表的東西,它可以是ICollectionView,也可以是可以轉換爲Array或XMLList的東西。 也許更好的問題是,爲什麼你需要鍵值對?你是否在其他地方需要它,也許你希望通過將所有數據保存在一個地方來進行優化?或者是因爲某種原因ComboBox以某種方式引用這些對非常重要? – joshtynjala 2010-06-18 21:36:51