绑定来自datagrid的数据

| 我有一个包含两个数据网格和一个按钮的表单。 Datagrid 1 \“ myStaticDataGrid \”具有我添加的值供用户选择。我希望按钮的click事件将myStaticDataGrid的当前选择发送到第二个数据网格\“ myDataGrid \”。如果我使用文本框和数据网格,则能够完成此操作,但是我找不到合适的语法来从myStaticDataGrid抓取选择数据时遇到麻烦。 这是我尝试使用两种数据网格方法:
<s:Form id=\"myForm\">
//The values from this grid are determined once the button is clicked.
  <s:FormItem id=\"myDataGrid\">
    <s:DataGrid id=\"bdgFormData\">
      <s:typicalItem>
        <s:DataItem formData=\"Description\" xmlData=\"Value\"/>
      </s:typicalItem>
      <s:ArrayCollection id=\"values\"> </s:ArrayCollection>
    </s:DataGrid>
  </s:FormItem>


//The values from this grid are determined at runtime.
<s:FormItem id=\"myStaticDataGrid\">
    <s:DataGrid id=\"userSelects\">
        <s:typicalItem>
            <s:DataItem selects=\"Typical Item\" codes=\"0000\"/>
        </s:typicalItem>

        <s:ArrayCollection id=\"selects\">
            <s:DataItem selects=\"Y\" codes=\"1\"/>
            <s:DataItem selects=\"N\" codes=\"0\"/>
        </s:ArrayCollection>
    </s:DataGrid>
</s:FormItem>

<s:FormItem label=\"Add Selects\">
    <s:Button label=\"Go\" click=\"addData(event)\"/>
</s:FormItem>
我的AS事件发送数据:
protected function addData(event:MouseEvent):void
{

  //Put selected data at the top of the grid.
  items.addItemAt(lstFormData.typicalItem,0)

}
我的问题是在哪里绑定网格数据? 这是我将文本框数据发送到datagrid的方法:
<s:FormItem label=\"myDataUtil\">
  <s:Label text=\"Value\"/>
  <s:TextInput text=\"@{lstFormData.typicalItem.formData}\"/>
</s:FormItem>
    
已邀请:
        不幸的是,我为您准备了此功能,这里我只有flex 3,因此您将必须根据需要进行转换,但是您应该了解它的工作原理。
<?xml version=\"1.0\" encoding=\"utf-8\"?>
  <mx:Application xmlns:mx=\"http://www.adobe.com/2006/mxml\" layout=\"absolute\" creationComplete=\"init()\">
  <mx:Script>
  <![CDATA[
  import mx.collections.ArrayCollection;
  [Bindable]
  public var originalData:ArrayCollection

  [Bindable]
  public var changingData:ArrayCollection;

  public function init( ):void{
    this.changingData = new ArrayCollection( )
    this.originalData = new ArrayCollection( )
    for( var i:int = 0;i<100;i++){
      var obj:Object = new Object( )
      obj.label = \'slot \'+ i;
      obj.value = \'s\'+i;
      originalData.addItem( obj );
    }
  }

  public function onSelect( e:Event ):void{
    this.changingData.addItem(( e.currentTarget as DataGrid).selectedItem )
  }

  ]]> 
  </mx:Script>

<mx:DataGrid id=\"myStaticDataGrid\" dataProvider=\"{originalData}\"  click=\"onSelect(event)\"/>
<mx:DataGrid id=\"bdgFormData\" dataProvider=\"{changingData}\" x=\"240\" y=\"0\"/>

</mx:Application>
这是一个没有绑定数据的示例
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<mx:Application xmlns:mx=\"http://www.adobe.com/2006/mxml\" layout=\"absolute\" >
    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            public function onSelect( e:Event ):void{
                var targetProvider:ArrayCollection = ( bdgFormData.dataProvider as ArrayCollection )
                if( !targetProvider ){
                    targetProvider = new ArrayCollection()
                }
                targetProvider.addItem(( e.currentTarget as DataGrid).selectedItem )
                bdgFormData.dataProvider = targetProvider
            }

    ]]> 
</mx:Script>

<mx:DataGrid id=\"myStaticDataGrid\" click=\"onSelect(event)\" >
    <mx:dataProvider>
        <mx:ArrayCollection >
            <mx:Object label=\"AIR\" />
            <mx:Object label=\"ColdFusion\" />
            <mx:Object label=\"Dreamweaver\" />
            <mx:Object label=\"Flash\" />
            <mx:Object label=\"Flex\" />
            <mx:Object label=\"Photoshop\" />
        </mx:ArrayCollection>
    </mx:dataProvider>
</mx:DataGrid>
<mx:DataGrid id=\"bdgFormData\" x=\"240\" y=\"0\"/>
    

要回复问题请先登录注册