开发者

Flex 3 Using an ArrayCollection to Populate Both a Datagrid and a ComboBox

开发者 https://www.devze.com 2023-01-10 23:16 出处:网络
I use this arrayCollection to populate a Flex 3 Datagrid. I\'d also like to use this arrayCollection to populate a comboBox with the Name node.

I use this arrayCollection to populate a Flex 3 Datagrid. I'd also like to use this arrayCollection to populate a comboBox with the Name node.

In the arrayCollection, I've got the Name listed twice. I've got two rows in the Datagrid.

If I set the ComboBox's labelfield to Name, then the Name will be listed twice in the ComboBox menu. Is there a way to use this arrayCollection and have each Name listed only once in the comboBox?

I can always make another loop and array collection for the Name, but 开发者_StackOverflow社区I was wondering if there were a better way.

    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);

Thank you.

-Laxmidi


I'm a bit confused. Based on your code sample, the name will be listed twice in the ComboBox because the same name is used twice in your dataProvider.

You may want o consider converting your dataProvider to two separate ListCollectionView objects, provide different filtering on each object and use those each as se[separate dataProviders.

In psuedo code this is how I'd do it:

public var comboBoxCollection : ListCollectionView = new ListCollectionView(myAC );
public var dataGridCollection : ListCollectionView = new ListCollectionView(myAC );

The apply filtering on the comboBoxCollection to filter out entries with duplicate names. More info on collection filtering in the docs.

0

精彩评论

暂无评论...
验证码 换一张
取 消