【发布时间】:2012-02-23 14:53:50
【问题描述】:
我有一个 AdvancedDataGrid,其可编辑参数为“true”。我的问题是,在成功拖放后,正在编辑该项目,我不希望这种情况发生。
我试图用这个创建一个自定义的 advancedDataGrid:
override protected function dragCompleteHandler(event:DragEvent):void{
trace("call dragCompleteHandler");
super.dragCompleteHandler(event);
clearAllSelection();
selectedItem = null;
}
但它不起作用,我只是不知道是否必须使用 preventDefault 或其他方式停止事件。我还查看了 Adobe AdvancedDataGrid 代码,似乎在 dragcomplete 事件之后没有发送任何内容...
如何在拖放后停止这个烦人的编辑(或焦点)?
编辑 27/02/2012
解决方法是在构造函数(或组件的init函数)中监听DRAG_START和DRAG_COMPLETE事件:
addEventListener(DragEvent.DRAG_START,itemDragStartHandler);
addEventListener(DragEvent.DRAG_COMPLETE,itemDragCompleteHandler);
和:
protected function itemDragStartHandler(event:DragEvent):void
{
editable = "false";
}
protected function itemDragCompleteHandler(event:DragEvent):void
{
editable = "true";
}
【问题讨论】:
标签: apache-flex drag-and-drop advanceddatagrid