Flex中利用DragManager类将DataGrid中的项目移除的例子

本文介绍了一个使用Adobe Flex创建的数据网格拖放删除功能示例。通过此示例,可以学习如何实现从数据网格中拖动项目到指定图标进行删除操作的功能。代码中包含了必要的事件监听器和数据集合配置。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">

<mx:Script>
<![CDATA[
import mx.core.IUIComponent;
import mx.events.DragEvent;
import mx.managers.DragManager;

private function image_dragEnter(evt:DragEvent):void {
var obj:IUIComponent = IUIComponent(evt.currentTarget);
DragManager.acceptDragDrop(obj);
}

private function image_dragDrop(evt:DragEvent):void {
var item:Object = dataGrid.selectedItem;
var idx:int = arrColl.getItemIndex(item);
arrColl.removeItemAt(idx);
}
]]>
</mx:Script>

<mx:ArrayCollection id="arrColl">
<mx:source>
<mx:Array>
<mx:Object c1="r1.c1" c2="r1.c2" c3="r1.c3" c4="r1.c4"/>
<mx:Object c1="r2.c1" c2="r2.c2" c3="r2.c3" c4="r2.c4"/>
<mx:Object c1="r3.c1" c2="r3.c2" c3="r3.c3" c4="r3.c4"/>
<mx:Object c1="r4.c1" c2="r4.c2" c3="r4.c3" c4="r4.c4"/>
<mx:Object c1="r5.c1" c2="r5.c2" c3="r5.c3" c4="r5.c4"/>
<mx:Object c1="r6.c1" c2="r6.c2" c3="r6.c3" c4="r6.c4"/>
<mx:Object c1="r7.c1" c2="r7.c2" c3="r7.c3" c4="r7.c4"/>
<mx:Object c1="r8.c1" c2="r8.c2" c3="r8.c3" c4="r8.c4"/>
<mx:Object c1="r9.c1" c2="r9.c2" c3="r9.c3" c4="r9.c4"/>
</mx:Array>
</mx:source>
</mx:ArrayCollection>

<mx:Panel title="Drag DataGrid item over the trash icon to remove item"
styleName="opaquePanel">
<mx:DataGrid id="dataGrid"
dataProvider="{arrColl}"
dragEnabled="true"
width="400"
rowCount="6"
verticalScrollPolicy="on">
<mx:columns>
<mx:DataGridColumn dataField="c1"
headerText="Column 1" />
<mx:DataGridColumn dataField="c2"
headerText="Column 2" />
<mx:DataGridColumn dataField="c3"
headerText="Column 3" />
<mx:DataGridColumn dataField="c4"
headerText="Column 4" />
</mx:columns>
</mx:DataGrid>

<mx:ControlBar horizontalAlign="right">
<mx:Image id="image"
source="@Embed('assets/iconUninstall.png')"
dragDrop="image_dragDrop(event);"
dragEnter="image_dragEnter(event);" />
</mx:ControlBar>
</mx:Panel>

</mx:Application>

本文转自:http://blog.minidx.com/2008/04/17/724.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值