PureMVC下TabNavigator中的datagrid访问问题
项目使用的是PureMVC框架,结果显示页面如下所示,TabNavigator中包含若干个datagrid,这里省略了几个datagrid:
<mx:TabNavigator x="12" y="10" width="753" height="281">
<s:NavigatorContent label="错误日志" width="100%" height="100%" id="errorlog">
<mx:DataGrid x="10" y="10" width="729" height="221" id="errorDG" >
<mx:columns>
<mx:DataGridColumn headerText="错误信息" dataField="col1"/>
<mx:DataGridColumn headerText="文件名" dataField="col2"/>
</mx:columns>
</mx:DataGrid>
</s:NavigatorContent>
</mx:TabNavigator>
控制这个页面的Mediator注册如下:
facade.registerMediator(new TabResultViewerMediator(
TabResultViewerMediator.NAME,
{
errorDG:app.tabViewer.errorDG
}
));
Mediator中处理如下:
override public function handleNotification(notification:INotification):void{
switch(notification.getName())
{
case ProjectMonitorProxy.PATH_COV_YES:
var pathCovList:ArrayCollection = notification.getBody() as ArrayCollection;
(viewComponent.errorDG as DataGrid).dataProvider = pathCovList;
break;
}
}
运行的时候会报错,错误信息如下:
ypeError: Error #1009: 无法访问空对象引用的属性或方法。
at ast.view::TabResultViewerMediator/handleNotification() [E:\blazeds\tomcat\webapps\AST\src\ast\view\TabResultViewerMediator.as:55]
at Function/http://adobe.com/AS3/2006/builtin::apply()
我将datagrid外层的TabNavigator及NavigatorContent 去掉,则可以正常显示出数据,所以想请问一下,这个问题如何解决,谢谢。
另:datagrid中有两列数据要显示,希望arraycollection类型的数据显示在第二列,第一列显示标号,这个应该怎么写。
[解决办法]
我在艾睿给你回了