0
我有一個可編輯屬性設置爲true的數據網格。當我更改數據時,數據提供者中的數據不會被修改。我如何將更改應用於數據提供者?我是Flex的新手,任何人都可以對此提出建議?更改火花數據網格的數據提供者數據?
我有一個可編輯屬性設置爲true的數據網格。當我更改數據時,數據提供者中的數據不會被修改。我如何將更改應用於數據提供者?我是Flex的新手,任何人都可以對此提出建議?更改火花數據網格的數據提供者數據?
英雄是一個例子,我測試了它。
,你可以看到這個文檔http://livedocs.adobe.com/flex/3/html/help.html?content=celleditor_8.html
<?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>