6.8.启动DataGrid拖拽功能
6.8.1. 问题
我想启动DataGrid 数据项拖动功能,以便用户能拖动它们到其他表格上。
6.8.2. 解决办法
设置源DataGrid 的dragEnabled 为true,和目标DataGrid 的dropEnabled 属性为true。
6.8.3. 讨论
要启动基于列表的控件比如DataGrid 的拖拽功能,最简单的方法就是设置相应的属性为true,因为Flex 框架将负责所有相关的底层工作。例如,下面的例子设置AdvancedDataGrid的dragEnabled 属性为true,意思就是支持该控件的数据项能被拖动到控件之外的地方。而DataGrid 的dropEnabled 属性设置为true,表示该控件可接受被拖进来的数据项。另外一个属性即dragMoveEnabled 将影响拖动效果。
对于非列表型控件或需自定义拖拽操作的,Flex 3 框架为此提供了DragManager,它将在第十章, "拖拽操作" 中介绍。
我想启动DataGrid 数据项拖动功能,以便用户能拖动它们到其他表格上。
6.8.2. 解决办法
设置源DataGrid 的dragEnabled 为true,和目标DataGrid 的dropEnabled 属性为true。
6.8.3. 讨论
要启动基于列表的控件比如DataGrid 的拖拽功能,最简单的方法就是设置相应的属性为true,因为Flex 框架将负责所有相关的底层工作。例如,下面的例子设置AdvancedDataGrid的dragEnabled 属性为true,意思就是支持该控件的数据项能被拖动到控件之外的地方。而DataGrid 的dropEnabled 属性设置为true,表示该控件可接受被拖进来的数据项。另外一个属性即dragMoveEnabled 将影响拖动效果。
对于非列表型控件或需自定义拖拽操作的,Flex 3 框架为此提供了DragManager,它将在第十章, "拖拽操作" 中介绍。
+展开
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal" creationComplete="initApp()">
<mx:HTTPService id="srv" url="assets/homesforsale.xml"
resultFormat="object" result="onResult(event)"/>
<mx:AdvancedDataGrid id="grid" width="100%" height="100%"
sortableColumns="false"
dragEnabled="true"
dataProvider="{homesForSale}">
<mx:columns>
<mx:AdvancedDataGridColumn headerText="Total No."
dataField="total"/>
<mx:AdvancedDataGridColumn headerText="City"
sortable="false" dataField="city"/>
<mx:AdvancedDataGridColumn headerText="State"
dataField="state"/>
</mx:columns>
</mx:AdvancedDataGrid>
<mx:DataGrid width="100%" height="100%"
dropEnabled="true">
<mx:columns>
<mx:DataGridColumn headerText="Total No."
dataField="total"/>
<mx:DataGridColumn headerText="City" sortable="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>
layout="horizontal" creationComplete="initApp()">
<mx:HTTPService id="srv" url="assets/homesforsale.xml"
resultFormat="object" result="onResult(event)"/>
<mx:AdvancedDataGrid id="grid" width="100%" height="100%"
sortableColumns="false"
dragEnabled="true"
dataProvider="{homesForSale}">
<mx:columns>
<mx:AdvancedDataGridColumn headerText="Total No."
dataField="total"/>
<mx:AdvancedDataGridColumn headerText="City"
sortable="false" dataField="city"/>
<mx:AdvancedDataGridColumn headerText="State"
dataField="state"/>
</mx:columns>
</mx:AdvancedDataGrid>
<mx:DataGrid width="100%" height="100%"
dropEnabled="true">
<mx:columns>
<mx:DataGridColumn headerText="Total No."
dataField="total"/>
<mx:DataGridColumn headerText="City" sortable="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>
加支付宝好友偷能量挖...