Flex笔记之两个mx:List之间拖拽数据。

来源:互联网 发布:淘宝管制刀具的定义 编辑:程序博客网 时间:2024/05/17 12:01

list dataProvider(a,b,c)和list1dataProvider(a,d,e)实现list1中的数据拖拽到list中去并且检测list里面有没有这个拖拽数据,如果有则拖拽失败,没有成功拖拽。

 

 

<mx:HBox verticalAlign="middle">
      
      <mx:List id="list"  dataProvider="{npcMonArrData}" height="200"  width="100" itemRenderer="itemRender"
         dragEnabled="true"
         dropEnabled="false"
          dragMoveEnabled="true" 
         click="clickHandler(event)"   doubleClick="doubleClickHandler(event)">
       
      </mx:List>
      
      <mx:List id="list1"  dataProvider="{arrayData}"  height="250"  width="100" itemRenderer="itemRender"
         dragEnabled="true"
         dropEnabled="false"
         dragMoveEnabled="true"  dragEnter="dragEnterHandler(event);"
         
         >
       
      </mx:List>
      
     </mx:HBox>

 

 

 

protected function dragEnterHandler(evt:DragEvent):void
   {
    List(evt.target).removeEventListener(DragEvent.DRAG_ENTER,dragEnterHandler);
    var listItem:Object = evt.dragSource.dataForFormat( "items");
    var obj1:Object = listItem["0"];
    list.dropEnabled=true;
    for(var i:int=0;i<npcMonArrData.length;i++) {
     var obj:Object = npcMonArrData.getItemAt(i);
     if(obj1["npcId"]==obj["npcId"]){
      list.dropEnabled=false;
      break;
     }
    }
   }

原创粉丝点击