as制作可拖动单元格的菜单

 单元格是可以拖动的,并且可以在三个List之间拖动,不过没加自动滚动来着。AS相当简单,三个List组件分别是list1、list2、list3,然后把所有代码copy到第一帧就可以了。
  import fl.events.ListEvent;
  import fl.controls.List;
  import fl.controls.listClasses.ICellRenderer;
  import fl.controls.listClasses.ListData;
  //为组件添加数据
  var i:uint = 0;
  for(i = 0;i<21;i++){
  list1.addItem({label:"label" + i});
  }
  for(i = 21;i<41;i++){
  list2.addItem({label:"label" + i});
  }
  for(i = 41;i<61;i++){
  list3.addItem({label:"label" + i});
  }
  //添加侦听器
  list1.addEventListener(ListEvent.ITEM_ROLL_OVER,itemRollOverHandler);
  list2.addEventListener(ListEvent.ITEM_ROLL_OVER,itemRollOverHandler);
  list3.addEventListener(ListEvent.ITEM_ROLL_OVER,itemRollOverHandler);
  list1.addEventListener(ListEvent.ITEM_ROLL_OUT,itemRollOutHandler);
  list2.addEventListener(ListEvent.ITEM_ROLL_OUT,itemRollOutHandler);
  list3.addEventListener(ListEvent.ITEM_ROLL_OUT,itemRollOutHandler);
  stage.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler);
  stage.addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler);
  //标记的组件和相应的行
  var lastCaredList: List = null;
  var lastCaredIndex:int = -1;
  var dragedList: List = null;
  var dragedIndex:int = -1;
  var itemValue:Object = null;
  //单元格渲染器
  var cellRendererClass:Class = List.getStyleDefinition()["cellRenderer"];
  var cellRenderer:ICellRenderer = new cellRendererClass() as ICellRenderer;
  //侦听器
  function itemRollOverHandler(event: ListEvent):void{
  //标记组件和行
  lastCaredList = event.target as List;
  lastCaredIndex = event.index;
  }
  function itemRollOutHandler(event: ListEvent):void{
  //取消标记
  lastCaredList = null
  lastCaredIndex = -1;
  }
  function mouseDownHandler(event:MouseEvent):void{
  if(lastCaredList != null){
   //删除标记的行
   itemValue = lastCaredList.removeItemAt(lastCaredIndex);
   createCellRenderer();
  }
  }
  function mouseUpHandler(event:MouseEvent):void{
  if(itemValue){
   removeChild(cellRenderer as Sprite);
   stage.removeEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
   //判断,是加到新组件中还是原组件中
   if(lastCaredList){
   lastCaredList.addItemAt(itemValue,lastCaredIndex);
   }else{
   dragedList.addItemAt(itemValue,dragedIndex);
   }
   itemValue = null;
  }
  }
  function mouseMoveHandler(event:MouseEvent):void{
  //拖动渲染器
  cellRenderer.x = mouseX;
  cellRenderer.y = mouseY;
  event.updateAfterEvent();
  }
  function createCellRenderer():void{
  dragedList = lastCaredList;
  dragedIndex = lastCaredIndex;
  //拖动的渲染器
  cellRenderer.listData = new ListData(itemValue.label,itemValue.icon,lastCaredList,0,0,0);
  cellRenderer.selected = true;
  cellRenderer.setSize(lastCaredList.width,lastCaredList.rowHeight);
  cellRenderer.x = mouseX;
  cellRenderer.y = mouseY;
  addChild(cellRenderer as Sprite);
  stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
  }

时间: 2024-12-20 16:32:46

as制作可拖动单元格的菜单的相关文章

Excel2010拖动单元格设置方法过程详解

Excel2010拖动单元格设置方法 1.我们打开excel然后点击菜单上的"文件"-"选项"功能. 2.弹出"Excel选项"进入之后找到界面中的"高级"-"编辑选项"之后购选"启用填充柄和单元格拖放功能"复选框.按"确定"按钮. 3.在Excel编辑栏中输入任意一列数字,然后拖动它. 4.看看是不是直接拖到了C6∶C15了. 好了以上就是小编给各位整理的关于Exc

excel2010怎么拖动单元格?

  excel2010怎么拖动单元格? 1.打开Excel2010,选择左上角的"文件"功能栏,然后点击"选项"功能. excel2010 2.弹出"Excel选项",点击"高级"功能栏,在"编辑选项"中选中"启用填充柄和单元格拖放功能"复选框.按"确定"按钮. excel2010 3.在Excel编辑栏中输入任意一列数字,然后拖动它. excel2010 4.就这样

Excel2010怎么设置拖动单元格

  Excel2010怎么设置拖动单元格          操作步骤 1.打开Excel2010,选择左上角的"文件"功能栏,然后点击"选项"功能. 2.弹出"Excel选项",点击"高级"功能栏,在"编辑选项"中选中"启用填充柄和单元格拖放功能"复选框.按"确定"按钮. 3.在Excel编辑栏中输入任意一列数字,然后拖动它. 4.就这样我们把刚刚输入的一列数字拖动到

Excel拖动单元格到新位置后覆盖原内容

  在使用Excel制作表格的时候,将单元格拖拽到新位置后,会覆盖原来的内容. 在拖拽到新位置后,系统会出现是否替换单元格内容的提示.如果单击"确定",原单元格内容就会被覆盖.如果单击"取消",拖动操作就取消了. 如果在拖拽的过程中,不想覆盖原单元格内容,可以先按住[Shift],同时进行拖拽,这样单元格就会插入到新位置,原来的单元格自动向下移动一格.

excel如何拖动单元格

  1.打开Excel2010,选择左上角的"文件"功能栏,然后点击"选项"功能. 2.弹出"Excel选项",点击"高级"功能栏,在"编辑选项"中选中"启用填充柄和单元格拖放功能"复选框,按"确定"按钮. 3.在Excel编辑栏中输入任意一列数字,然后拖动它. 4.就这样我们把刚刚输入的一列数字拖动到C6∶C15了.

excel2010拖动单元格设置

  在使用Excel的时候,我们经常会复制许多数据,或者是拖动数据到其它单元格,我们通常的做法是复制后粘贴.其实在Excel2010中我们可以通过对单元格的拖放功能,将单元格中的内容快速的填充到其他单元格中. 操作步骤 1.打开Excel2010,选择左上角的"文件"功能栏,然后点击"选项"功能.       2.弹出"Excel选项",点击"高级"功能栏,在"编辑选项"中选中"启用填充柄和单元格

iOS开发的UI制作中动态和静态单元格的基本使用教程_IOS

静态单元格的使用 一.实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变. 要完成上面的效果,有几种方法: (1)可以直接利用代码,返回三组,在判断每组有多少行,展示些什么数据,这样写"死"的代码建议绝不要使用. (2)稍微灵活一些的,可以把plist文件一懒加载的方式,加载到程序中,动态获取.但是观察界面结构,很容易看出这样需要进行模型嵌套,很麻烦. (3)storyboard提供了静态单元格这个功能,可

鼠标-jQuery实现类似excel一样拖动选择table单元格进行合并,如何实现?

问题描述 jQuery实现类似excel一样拖动选择table单元格进行合并,如何实现? 在任意单元格,按下鼠标后,可以选中多个行和多个列,松开鼠标后,这些单元格的背景色变化(就像是Excel拖动单元格选择似的那种) 将拖动选中的单元格进行合并 现在可以选中合并了,但我要的是点击右键菜单 合并单元格 然而 选中之后 点击右键,选中的单元格就没有了 只剩右键点击的那一个单元格.有什么解决方法吗??? 解决方案 可以试试bootstrap插件,不知道行不行 解决方案二: 这些可以实现,就用mouse

单元格区域填充柄

excel单元格填充我们在以前的案例中,小编为大家简单的介绍过,如何使用鼠标左键拖动单元格填充.其实,使用excel单元格区域填充柄则更具灵活性. 在某单元格内输入数据,按住鼠标右键沿着要填充序列的方向拖动填充柄,将会出现包含下列各项的菜单:复制单元格.以序列方式填充.以格式填充.以值填充;以天数填充.以工作日该充.以月该充.以年填充等等.此时,你可以根据需要选择一种填充方式.