繁体   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