为什么我不能从ADG renderProvider发送事件?

时间:2011-11-01 16:31:38

标签: actionscript-3 flex flex3

我有一个高级数据网格的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();

0 个答案:

没有答案