醒着☆☆

H5 Laya Native Game

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

《下面实例仅适用flex的组件 flashBuilder自行研究吧》

从DataGrid1 里 拖拽里面某条记录 到 DataGrid2里
dg1 数据提供方
dg2 数据接受方

dg1提供方只需设置 dragEnabled="true"//可以拖拽
dg2接受方设置
  dropEnabled="true"//是否可以将拖动的项目放到此控件上
  dragMoveEnabled="true"//拖放过程中是否剪切数据 而不是copy数据
  dragDrop="onDrop(event)"//用户在放置目标上释放鼠标时由放置目标分派

主要是处理释放鼠标事件dragDrop

private function onDrop(e:DragEvent):void
{
    //获取拖拽接收对象
var dropTarget:DataGrid=DataGrid(e.currentTarget); //获取插入位置
var dropLoc:int=dropTarget.calculateDropIndex(e); var myData:Object=new Object(); myData=e.dragSource.dataForFormat("items")[0] as Object; dgDataProvider.addItemAt(myData,dropLoc); dgDataProvider.refresh(); //取消默认事件处理
e.prventDefault();
//在鼠标指针下方隐藏指示允许执行拖拽操作的指示符 e.currentTarget.hideDropFeedback(e);
//DataGrid没有自动排序功能 需手动排序 sortDg(); } private function sortDg():void { for(var i:int=0;i<dgDg;i++) { dgDatarovider.id=i+1; } }

 

    

posted on 2013-02-19 18:49  醒着/☆☆  阅读(775)  评论(0编辑  收藏  举报