从datagrid向弹出框传值的问题
我在主页做了个datagrid 从数据库查询出了值 显示在那上面
我现在的要求是 点击datagrid的其中一行数据,然后就弹出一个弹出框,那个框里有一个inputtext,我要在这个文本框里显示我所点击的datagrid的值
以下是我自己的做法,但是无法娶到值
<![CDATA[
import mx.containers.TitleWindow;
import mx.events.ListEvent;
import mx.managers.PopUpManager;
private function btnOpen():void
{
var item:Object = dg.selectedItem;
var pp :pop4 = pop4(PopUpManager.centerPopUp(PopUpManager.createPopUp(this,pop4,true) as TitleWindow));
pp.rePeo.text = item.msgSender;
}
]]>
--------------------------------这个是主页的定义的点击datagrid一行数据后弹出框的代码,那个pop4就是弹出框的名字
msgSender就是我要赋过去的直,dg是datagrid的id,rePeo就是那个弹出框里的文本框的id,我的msgSender是有值的。那么pp.rePeo.text = item.msgSender;应该是可以赋给rePro.text的啊 但是为什么实际却无法娶到值呢
高手赐教
[解决办法]
pop4界面里
声明
[Bindable]
public var str:String;
pp.str = item.msgSender+"";
[解决办法]
这个问题是父窗口向子窗口传值,楼上的方法可用,通过引用子窗口对象进行赋值
[解决办法]
你的btnOpen()方法是由Itemclick事件触发么?
按照如下修改
<mx:DataGrid itemClick="btnOpen(event)">
...
</mx:DataGrid>
private function btnOpen(event:Event):void
{
var pp :pop4 = pop4(PopUpManager.centerPopUp(PopUpManager.createPopUp(this,pop4,true) as TitleWindow));
pp.rePeo.text =event.target.selectedItem.msgSender;
}