现在的位置: 首页 > 综合 > 正文

关于flex自动拖放

2018年03月29日 ⁄ 综合 ⁄ 共 2431字 ⁄ 字号 评论关闭

所有Flash组件都具有拖放能力。不过,各个组件的拖放能力并非都是等同的。下列组件具有加强的拖放能力(enhanced
drag-and-drop capability):

    DataGrid;

    List;

    TileList;

    HorizontalList;

   Menu;

    PrintDataGrid;

    Tree。

这意味着ActionScript会为我们做好大部分的工作。可是,如果要使用其他组件,如Label,我们就需要亲自做一些编程工作。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- Main application to demonstrate TitleWindow layout container. -->
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:ns1="component.*">
  4.     <mx:Script>
  5.         <![CDATA[
  6.             import mx.managers.DragManager;
  7.             import mx.events.DragEvent;
  8.             import mx.collections.ArrayCollection;
  9.             import mx.controls.Alert;
  10.             
  11.             [Bindable]
  12.             public var STATE_ARRAY:ArrayCollection =new ArrayCollection( [{label:"Alabama", data:"Montgomery"},
  13.                 {label:"Alaska1", data:"Juneau"},
  14.                 {label:"Arkansas", data:"LittleRock"}
  15.             ]);
  16.             
  17.             [Bindable]
  18.             public var list:ArrayCollection=new ArrayCollection();
  19.             
  20.             [Bindable]
  21.             public var a1:ArrayCollection=new ArrayCollection(); 
  22.             
  23.             private function s(event:MouseEvent):void{
  24.                 list.removeAll();
  25.             } 
  26.             
  27.             private function onDragDrop(event:DragEvent):void{
  28.                 
  29.                 var row:Object=event.dragSource.dataForFormat("items");
  30.                 Alert.show(Array(row).length+"");
  31.                 list.addItem(row[1].label);
  32.                 event.preventDefault();
  33.             }
  34.             
  35.             ]]>
  36.     </mx:Script>
  37.     <mx:DataGrid allowMultipleSelection="true" dataProvider="{STATE_ARRAY}" dragEnabled="true">
  38.         <mx:columns>
  39.             <mx:DataGridColumn headerText="Column 1" dataField="label"/>
  40.             <mx:DataGridColumn headerText="Column 2" dataField="data"/>
  41.         </mx:columns>
  42.     </mx:DataGrid>
  43.     <mx:List dataProvider="{list}" dropEnabled="true" dragDrop="onDragDrop(event)"></mx:List>
  44.     
  45.     <mx:DataGrid dataProvider="{a1}" dropEnabled="true">
  46.         <mx:columns>
  47.             <mx:DataGridColumn headerText="Column 1" dataField="label"/>
  48.             <mx:DataGridColumn headerText="Column 2" dataField="data"/>
  49.         </mx:columns>
  50.         
  51.     </mx:DataGrid>
  52.     
  53.     <mx:ControlBar>
  54.         <mx:TextInput id="column1">
  55.         </mx:TextInput>
  56.         <mx:TextInput id="column2" />
  57.         <mx:Button id="addGridRow" click="s(event)" label="addGridRow" />
  58.     </mx:ControlBar>
  59. </mx:Application>

抱歉!评论已关闭.