DragManager的学习、使用。
示例:
blog.flexexamples.com/wp-content/uploads/DragManager_acceptDragDrop_test/bin/main.html 代码:
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/04/16/removing-items-from-a-flex-datagrid-control-using-the-dragmanager-class/ -->
<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>
分享到:
相关推荐
Flex DataGrid 是 Adobe Flex 中一个重要的组件,用于展示结构化数据。它以表格形式呈现,非常适合用来显示多列数据,并提供了排序、选择、编辑等多种功能。在这个教程中,我们将深入探讨 DataGrid 的基本使用和一些...
### Flex拖拽功能详解 Flex框架提供了一套强大的机制用于实现拖放(drag and drop)功能,这在用户界面设计中极为常见,特别是在构建高度交互性的应用时。本文旨在深入探讨Flex中的拖拽功能,包括其工作原理、关键...
#### 一、Flex拖拽技术概述 Flex的拖拽功能主要由`DragManager`类进行管理。这个类提供了一系列事件和属性来控制拖拽行为。例如,`DragEvent`类定义了与拖拽相关的事件,如`dragStart`、`dragMove`、`dragEnd`等。...
DataGrid是Flex中的一个核心组件,它允许开发者以表格的形式展示数据,适用于数据密集型的应用场景。 一、Flex DataGrid简介 Flex DataGrid组件是一个可滚动的表格,用于显示大量的结构化数据。它提供了诸如排序、...
设置此属性为`true`意味着允许用户拖动DataGrid中的数据行或单元格。这是拖拽功能的基础设置之一。 #### dropEnabled:Boolean `dropEnabled`属性则决定了DataGrid是否接受拖拽操作。如果一个DataGrid的`...
在Flex开发中,DataGrid是一种常用的组件,用于展示表格数据,而Combobox列则可以提供下拉选择功能,增强用户交互。然而,在实际应用中,我们可能会遇到一些问题,比如在DataGrid中嵌入Combobox列,并且允许用户拖动...
标题"flex DataGrid 固定列的位置"正是针对这一需求,描述中提到的程序就是为了解决如何在用户拖动列时保持某一列或某几列位置不变的问题。 在Flex的DataGrid中,我们可以通过设置`columnResizePolicy`属性来控制列...
在Flex3中,你可以创建具有丰富用户界面和交互功能的应用程序,而“flex3一个简单购物车拖拽的例子”是一个演示如何在Flex环境中实现拖放功能的实例。这个例子展示了如何将商品图标或项拖入数据网格(DataGrid)中,...
在实际操作中,我们需要创建一个DragInitiator类,该类将包含拖动数据的元信息,如数据项、源组件等。当用户按下鼠标并移动时,DragManager会自动创建一个DragObject实例,我们可以在其中添加要传递的数据。在目标...
在Flex3中,实现DataGrid与ColumnChart之间的交互功能,如拖拽数据显示图表,是一项常见的需求。这个功能允许用户通过拖拽DataGrid中的数据项,动态地在ColumnChart上创建或更新图表,从而提供更直观的数据可视化...
在实际应用中,我们有时需要在DataGrid的每一行中插入多个复选框(Checkbox),以便用户能够进行多项选择。本实例即展示了如何在Flex DataGrid中实现多列复选框的功能,同时避免了常见的拖动滚动条导致的混乱问题。 ...
在Flex 4.5开发中,拖放(Drag & Drop)功能是一项常用且重要的交互设计技术,它允许用户通过鼠标操作将元素从一个位置移动到另一个位置,这在构建用户界面时大大提升了用户体验。本教程将详细介绍如何在Flex 4.5中...
- 例如,在List控件中选择一项,并按住鼠标按钮移动鼠标几像素后,被选中的组件即成为拖拽发起者。 ##### 2. **拖拽阶段**: - 用户继续按住鼠标按钮移动鼠标,此时Flex会显示一个称为“拖拽代理”(drag proxy)...
TabNavigator是Flex中的容器组件,它允许在一个界面中展示多个视图,每个视图被一个标签页所代表。通过这个例子,学习者可以学习如何创建和配置TabNavigator,包括添加和删除标签页,以及在不同标签页之间导航。 5...
5. 在AS3中,设置拖动行为与AS2有所不同。你需要监听`MouseEvent.MOUSE_DOWN`事件,然后调用`startDrag()`方法。示例代码如下: ```actionscript mc.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); ...
数据绑定是Flex的一项重要特性,它允许UI组件自动更新其显示的数据,而无需显式地调用更新方法。数据绑定支持双向绑定,使得数据和UI之间的同步变得更加容易。 #### 17. 事件对象 Flex中的事件模型基于...
只允许List的某一项可被选中 5.9节.为List的项编辑器添加格式化和验证数据 5.10节.跟踪TileList中所有被选中的子节点 5.11节.使用和显示项渲染器的NULL项 5.12节.为List创建右键菜单 5.13节.自定义List被选中项的...
根据给定文件的信息,我们可以总结出一系列与Flex和ActionScript 3(AS3)相关的知识点。下面的内容将针对每一个问题进行详细的解答。 ### Flex及AS3基础知识 #### 1. AS3语言中,Array里面是不是可以放不同类型?...
Flex会显示一个被称为“拖动代理”的图形,用于表示正在拖拽的数据项。被拖拽的数据项称为“拖拽源”。 - **放下**:当用户释放鼠标按键或将拖拽的项放置在一个有效的目标上时,触发放下操作。此时,应用程序会检查...
通过拖放操作,用户能够选择一个对象(例如`List`控件或Flex中的`Image`控件),并将其拖动至另一个组件(容器)中,最终将该对象添加到目标组件内。 #### 二、关于拖放操作 拖放操作主要包括三个阶段:初始化、...