当前位置: 代码迷 >> Web前端 >> 拖放效能
  详细解决方案

拖放效能

热度:123   发布时间:2012-10-20 14:12:48.0
拖放功能
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	
	<mx:Script>
		<![CDATA[
			import mx.managers.DragManager;
			import mx.collections.ArrayCollection;
			import mx.core.*;
			import mx.events.DragEvent;
			import mx.controls.Alert;
			import mx.events.ListEvent;
			
			private var i:int=0;
			
			[Bindable]
			private var targetData:ArrayCollection=new ArrayCollection(); 
			
			/**
			 * 拖动Label控件
			 */
			private function dragTest(initiator:Label,myData:String,event:MouseEvent,format:String):void{
				var ds:DragSource=new DragSource();
				ds.addData(myData,format);
				mx.managers.DragManager.doDrag(initiator,ds,event);
			}
			
			/**
			 * 接受Label控件
			 */
			private function testDragEnter(event:DragEvent,format:String):void{
				mx.managers.DragManager.acceptDragDrop(IUIComponent(event.target));
			} 
			
			/**
			 * 添加Label数据到List
			 */
			private function testDragDrop(event:DragEvent,format:String):void{
				i++;
				var myData:Object=new Object();
				myData=event.dragSource.dataForFormat(format);
				listTarget.dataProvider.addItem(myData + String(i));
			}
			
			private function listTarget_changeHandler(event:ListEvent):void{
				Alert.show(String(event.target.selectedItem));
			}
		]]>
	</mx:Script>
	<mx:Label id="dragLabel" text="Drag the label" x="441" y="47" mouseDown="dragTest(dragLabel,'This is the data.',event,'StringFormat')"/>
	<mx:List id="listTarget" width="255" change="listTarget_changeHandler(event)" dataProvider="{targetData}" x="385" y="73" dragEnter="testDragEnter(event,'StringFormat')" dragDrop="testDragDrop(event,'StringFormat')"/>
</mx:Application>
  相关解决方案