簡體   English   中英

Flex 3使用ArrayCollection填充數據網格和組合框

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM