我有一个高级数据网格的renderProvider:
<mx:rendererProviders>
<mx:AdvancedDataGridRendererProvider
depth="2"
columnIndex="1"
renderer="com.controls.GroupedTradesGrid"
columnSpan="0"/>
</mx:rendererProviders>
renderProvider是另一个DataGrid,当您单击复选框(项呈示器)时,它会调度此事件:
public function ungroupTrade():void
{
var evt:TradeEvent = new TradeEvent( 'removeTradeEvent' );
evt.trade = this.trades_dg.selectedItem;
evt.dispatch();
}
我在默认应用页面上回听该事件:
this.addEventListener( TradeEvent.REMOVE_TRADE_EVENT, removeTrade );
但事件永远不会到达那里。我不允许从renderProvider中发送事件吗?或者是其他事情还在继续?
感谢。过去几天我和ADG很难相处。
更新:我发布了Event类:
public class TradeEvent extends CairngormEvent
{
public static const REMOVE_TRADE_EVENT:String = 'removeTradeEvent';
public var trade:Object = new Object();
public function TradeEvent( type:String, bubbles:Boolean=true, cancelable:Boolean=false )
{
super( type, bubbles, cancelable );
}
解决:好吧,我只是想回答我自己的问题,但它要求我等待8个小时。在此期间......
好的,好吧......我不太清楚为什么会这样,但解决方法是使用它:
dispatchEvent( evt );
而不是:
evt.dispatch();