6.9.编辑DataGrid数据项

6.9.1. 问题
我想让DataGrid 的某些单元格可被编辑
6.9.2. 解决办法
设置AdvancedDataGrid 或DataGrid 的editable 属性为true
6.9.3. 讨论
这个例子中,AdvancedDataGrid 和DataGrid 控件绑定到同一个dataProvider。两个控件的editable 属性都设置为true。这样就可以编辑每个单元格了。由于两个控件都绑定同一个数据源,当编辑一个表格的单元格时将会改变另一个表格。代码如下:
+展开
-XML
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontalcreationComplete="initApp()">

<mx:HTTPService id="srv"
url="assets/homesforsale.xml"
resultFormat="object"
result="onResult(event)"/>

<mx:AdvancedDataGrid id="gridwidth="100%height="100%"
sortableColumns="falseeditable="true"
dataProvider="{homesForSale}">

<mx:columns>
<mx:AdvancedDataGridColumn headerText="Total No."
dataField="total"/>

<mx:AdvancedDataGridColumn headerText="City"
sortable="falsedataField="city"/>

<mx:AdvancedDataGridColumn headerText="State"
dataField="state"/>

</mx:columns>
</mx:AdvancedDataGrid>
<mx:DataGrid width="100%height="100%editable="true"
dataProvider="{homesForSale}">

<mx:columns>
<mx:DataGridColumn headerText="Total No."
dataField="total"/>

<mx:DataGridColumn headerText="Citysortable="false"
dataField="city"/>

<mx:DataGridColumn headerText="State"
dataField="state"/>

</mx:columns>
</mx:DataGrid>
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
private var homesForSale:ArrayCollection;
private function initApp():void {
this.srv.send();
}
private function onResult(evt:ResultEvent):void {
this.homesForSale = evt.result.data.region;
}

]]>
</mx:Script>
</mx:Application>

加支付宝好友偷能量挖...


评论(0)网络
阅读(91)喜欢(0)flash/flex/fcs/AIR