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);
}