Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 是否更改spark数据网格的数据提供程序数据?_Actionscript 3_Flex4 - Fatal编程技术网

Actionscript 3 是否更改spark数据网格的数据提供程序数据?

Actionscript 3 是否更改spark数据网格的数据提供程序数据?,actionscript-3,flex4,Actionscript 3,Flex4,我有一个可编辑属性设置为true的数据网格。当我更改数据时,数据提供程序中的数据不会被修改。如何将更改应用于数据提供程序?我是Flex新手,有人能对此提出建议吗?Hero就是一个例子,我已经测试过了 你可以看到这个医生 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955

我有一个可编辑属性设置为true的数据网格。当我更改数据时,数据提供程序中的数据不会被修改。如何将更改应用于数据提供程序?我是Flex新手,有人能对此提出建议吗?

Hero就是一个例子,我已经测试过了

你可以看到这个医生


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)">

<mx:Script>
    <![CDATA[
        import mx.controls.TextInput;
        import mx.events.DataGridEvent;
        import mx.events.FlexEvent;


        private var list:Array  = [];//source dataProvider

        protected function application1_creationCompleteHandler(event:FlexEvent):void
        {
            list.push({name:"aaaa"}, {name:"bbbb"});

            myDataGrid.dataProvider = list;
        }

        protected function myDataGrid_itemEditEndHandler(event:DataGridEvent):void
        {
            // TODO Auto-generated method stub
            var targetDataGrid:DataGrid = event.target as DataGrid;
            var newData:String = TextInput(targetDataGrid.itemEditorInstance).text;
            var label:String = event.dataField;

            //here according to target data type in list,you may force changing type of newData, like int(newData)
            var indexOfList:int = targetDataGrid.editedItemPosition.rowIndex;
            list[indexOfList][label] = newData;

        }

    ]]>
</mx:Script>

<mx:DataGrid id="myDataGrid" editable="true" itemEditEnd="myDataGrid_itemEditEndHandler(event)">
    <mx:columns>
        <mx:DataGridColumn  dataField="name" headerText="Name" editable="true" />
    </mx:columns>
</mx:DataGrid>