如何捕获flex的DataGrid表格的默认事件

来源:互联网 发布:四川地税网络申报系统 编辑:程序博客网 时间:2024/04/30 04:52

flex最常用的是表格组件DataGrid,但是如果要实现对表格的列宽,列顺序,以及列的隐藏属性就需要对表格的一些默认事件有所了解。

比如:

1)要设置表格某一列的宽度,就需要知道表格的DataGridEvent事件,DataGridEvent.COLUMN_STRETCH.COLUMN_STRETCH就是设置表格列宽度的事件type

2)要把某一列拖动到另一列的前面就需要了解IndexChangedEvent事件,IndexChangedEvent.HEADER_SHIFT.HEADER_SHIFT就是交换列的事件type

 

而然表格组件分发事件是不没设置冒泡的,如果要捕获该事件,就要在事件监听设置可以捕获,即useCapture=true,可以参考flex4.1的sdk,就明白了。

 

 public function addEventListener(type:String,
         listener:Function,
         useCapture:Boolean=false,
         priority:int=0,
         useWeakReference:Boolean=false):void
  {  }

 

当然如果自己定义事件,可以设置new SomeEvent时设置bubbles为true。(当然如果捕获时useCapture为true,就是取消冒泡阶段,只用捕获阶段)


public function SomeEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=true)
  {
   super(type,bubbles,cancelable);

  }

原创粉丝点击