![](/img/trans.png)
[英]Flex - populate Combobox with arrayCollection with data from javascript
[英]Flex 3 Using an ArrayCollection to Populate Both a Datagrid and a ComboBox
我使用此arrayCollection填充Flex 3 Datagrid。 我還想使用此arrayCollection用Name節點填充comboBox。
在arrayCollection中,我列出了兩次Name。 我在Datagrid中有兩行。
如果將ComboBox的labelfield設置為Name,則Name將在ComboBox菜單中列出兩次。 有沒有一種方法可以使用此arrayCollection並使每個Name在comboBox中僅列出一次?
我總是可以為Name創建另一個循環和數組集合,但是我想知道是否有更好的方法。
var i:uint;
for (i=0; i<myArray.length; i++){
myDGArray = [
{Name: myArray[i].Name, Subject: 'Math:', Pass: myArray[i].math_pass, Fail: myArray[i].math_fail},
{Name: myArray[i].Name, Subject: 'Reading:', Pass: myArray[i].reading_pass, Fail: myArray[i].reading_fail}
]
}
myAC=new ArrayCollection(myDGArray);
謝謝。
-拉克西米
我有點困惑。 根據您的代碼示例,該名稱將在ComboBox中列出兩次,因為相同的名稱在dataProvider中使用了兩次。
您可能希望考慮將dataProvider轉換為兩個單獨的ListCollectionView對象,對每個對象提供不同的過濾,並將每個對象用作單獨的[單獨的dataProviders。
在偽代碼中,這就是我的方法:
public var comboBoxCollection : ListCollectionView = new ListCollectionView(myAC );
public var dataGridCollection : ListCollectionView = new ListCollectionView(myAC );
在comboBoxCollection上應用過濾以過濾出具有重復名稱的條目。 有關文檔中集合過濾的更多信息 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.