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