将两个Flex数组集合绑定到Flex一个数组集合

时间:2011-10-10 11:56:50

标签: flex arraycollection

在我的flex应用中使用两个datagrid
第一个datgrid用于项目集合 第二是银行详细信息。

如果我在第一个数据网格中单击一行(其中包含项目集合)...将从网格中获取一个唯一的代码(这是主键)。

然后,  我必须在第二个数据网格中使用itemrenderer复选框选择两个或多个银行(具有银行详细信息)

现在,,

我必须将银行详细信息(一个或多个银行)与第一个数据网格中的一个主键绑定。到单个数组集合...并且必须在另一个新的数据网格(第三个)中显示...

任何建议.....? 感谢提前......

1 个答案:

答案 0 :(得分:0)

试试这个例子从itemgrid中选择1项然后从bankgrid中选择多个库然后点击按钮。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" >
<fx:Script>
    <![CDATA[
        import mx.collections.ArrayCollection;
        [Bindable]private var arcitem:ArrayCollection=new ArrayCollection([{Itemid:"i1",itemname:"item1"},
            {Itemid:"i2",itemname:"item2"},{Itemid:"i3",itemname:"item3"}]);
        [Bindable]private var arcBank:ArrayCollection=new ArrayCollection([{Bankid:"b1",bankname:"Bank1"},
            {Bankid:"b2",bankname:"Bank2"},{Bankid:"b3",bankname:"Bank3"}]);
        [Bindable]private var arcFinalList:ArrayCollection=new ArrayCollection();
        private function something():void
        {

            for(var i:int=0;i<dgBank.selectedItems.length;i++){
                var obj:Object=new Object;
                obj.Itemid=dgItem.selectedItem.Itemid;
                obj.Bankid=dgBank.selectedItems[i].Bankid;
                obj.bankname=dgBank.selectedItems[i].bankname;
                arcFinalList.addItem(obj);} 
        }
    ]]>
</fx:Script>
    <mx:DataGrid dataProvider="{arcitem}" id="dgItem"  x="27" y="10" />
    <mx:DataGrid dataProvider="{arcBank}" id="dgBank"  x="322" y="10" allowMultipleSelection="true"/>
    <mx:DataGrid dataProvider="{arcFinalList}" x="641" y="9"/>
    <s:Button label="Click" click="something()" x="397" y="199"/>
</s:Application>