Привязка двух коллекций массивов Flex к коллекции Flex одного массива - PullRequest
0 голосов
/ 10 октября 2011

В моем гибком приложении я использую две сетки данных
первая сетка данных предназначена для коллекций элементов, вторая - для банковских реквизитов.

, если я щелкаю одну строку в первой сетке данных (в которой есть коллекции элементов) ...из сетки берется уникальный код (который является первичным ключом).

затем я должен выбрать два или более банков, используя флажки itemrenderer во второй таблице данных (которая содержит банковские реквизиты)

Теперь,

мне нужно связать банковские реквизиты (один или несколько банков) с этим одним первичным ключом в первой таблице данных.в одну коллекцию массивов ... и нужно показать ее в другом новом сетке данных (третьем) ...

какие-либо предложения .....?Заранее благодарен ...

1 Ответ

0 голосов
/ 10 октября 2011

просто попробуйте этот пример, выберите 1 элемент из сетки элементов, затем выберите несколько банков из сетки, затем нажмите кнопку.

<?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>
...