《下面实例仅适用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; } }