2009-10-14 47 views
0

我有一个网格,当我点击编辑按钮时,它会去编辑页面......但我需要网格中的值也传递给页面。在Mate Framework中调度一个变量

this.dispatchEvent(new DepManagementEvent(DepManagementEvent.EDIT_NAVI)); 

上面的代码登陆编辑页面...我怎么能移动值。

我的父母代码。

private function editForm():void { 
       var event:DepManagementEvent = new DepManagementEvent("Edit Page",true); 
       dispatchEvent(event); 
      } 

下面的编辑页面....

public function init(event:DepManagementEvent):void { 
     this.addEventListener(DepManagementEvent.EDIT_NAVI, onEditNavi);  
    } 

    public function onEditNavi(event:DepManagementEvent):void { 
     Alert.show("as"); 
    } 

我没有得到警告,当页面从父一个导航....上点击。还编辑这个代码,我怎么也可以传递变量。

回答

2

添加公共变种(称为在下面的代码“NAVI”),以这是同一类型为网格项目的DepManagementEvent,然后调度事件是这样,而不是:

var event:DepManagementEvent = new DepManagementEvent(DepManagementEvent.EDIT_NAVI); 
event.navi = grid.selectedItem; 
dispatchEvent(event); 

要收听到另一边时,你添加的事件侦听器的功能...

addEventListener(DepManagementEvent.EDIT_NAVI, onEditNavi); 

private function onEditNavi(event:DepManagementEvent):void 
{ 
    // add logic here 
} 

既然你在itemRenderer的时候,你可以派遣一个冒泡事件,这将拉升到父列表/ DataGrid中并继续冒泡到显示层次结构中的其他父视图。当您创建活动,通过第二个参数(“气泡”)是真的:

new DepManagementEvent(DepManagementEvent.EDIT_NAVI, true); 
+0

如何听在另一端的情况下,还对电网的编辑按钮在不同的页面作为itemRenderer的。 – Kevin 2009-10-14 15:12:07

+0

'function eventHandler(event:DepManagementEvent){trace(event.navi);}' – Amarghosh 2009-10-14 15:19:27

+0

在项目渲染器所在的类中侦听按钮的单击事件并从此处调度此事件。 – Amarghosh 2009-10-14 15:20:35