Привязка двух коллекций массивов Flex к коллекции Flex одного массива
В моем приложении Flex я использую две сетки данных
Первая таблица данных предназначена для сбора предметов, вторая - для банковских реквизитов.
если я щелкну одну строку в первой сетке данных (в которой есть коллекции элементов)... из сетки будет взят уникальный код (который является первичным ключом).
Затем я должен выбрать два или более банков, используя флажки itemrenderer во второй сетке данных (которая имеет банковские реквизиты)
сейчас,,
мне нужно связать банковские реквизиты (один или несколько банков) с этим одним первичным ключом в первой таблице данных. в одну коллекцию массивов... и должны показать ее в другой новой сетке данных (третье)...
какие-либо предложения.....? Заранее благодарен...
1 ответ
Просто попробуйте этот пример, выберите 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>